ftp.nice.ch/peanuts/GeneralData/Usenet/news/1993/Prog93-II

This is Prog93-II.gz in view mode; [Up]


Newsgroups: comp.sys.next.programmer From: shiva@vega.Stanford.EDU (Marcos Javier Polanco) Subject: Multiuser IXStores Message-ID: <1993Jun30.212959.21323@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: DSO, Stanford University Date: Wed, 30 Jun 93 21:29:59 GMT Hello, we are considering using the IndexingKit for multiuser access to persistent objects. My understanding is that the IXKit only supports file-based locking of the whole IXStore for writing. What have been developers' experience with this approach? Has anyone implemented record-level locking of IXStore blocks for faster multiuser access? Thanks. -marcos j. polanco -shiva@vega.stanford.edu
Newsgroups: comp.sys.next.programmer From: mike@lorax.com (Mike Ferris) Subject: Re: DBKit - works/doesn't work Message-ID: <C9Eow6.BJ@lorax.com> Sender: mike@lorax.com (Mike Ferris) Organization: Stultus Enterprises References: <C9CsHt.Fn3@sybase.com> Date: Tue, 29 Jun 1993 23:21:40 GMT In article <C9CsHt.Fn3@sybase.com> brill@sybase.com (Michael Brill) writes: >It's only bandwidth... sorry. > >Turns out that I had to hard code: > >OTHER_OFILES=/NextLibrary/Adaptors/SybaseAdaptor.adaptor/SybaseAdapt or > >in MakeFile.preamble > ><sheesh> Warning! Don't ever leave NS for more than a couple of months - >you'll forget *everything* > >...Michael By doing this you have statically linked the sybase adaptor into your app. This makes your app bigger and if Next releases a new version of the adaptor, you'll have to recompile to use it. Instead try putting the following line in your Makefile.preamble: LDFLAGS = -u libdbkit_s -u libNeXT_s -u libsys_s And the next line in your Makefile.postamble: APP_STRIP_OPTS = $(DYLD_APP_STRIP_OPTS) The postamble line makes it so strip doesn't remove some information which is essential for dynamically loaded object files to load correctly. Good luck, ____________________________________________________________ Mike Ferris Once in a while mike@lorax.com You can get shown the light Rubicon Software In the strangest of places (510) 652-2039 If you look at it right. -RH
Newsgroups: comp.sys.next.programmer From: yhe1@cc.swarthmore.edu (Ye) Subject: Urgent: keyDown:? Message-ID: <yhe1-300693172448@mac8.hicks.swarthmore.edu> Followup-To: comp.sys.next.programmer Sender: news@cc.swarthmore.edu (USENET News System) Organization: Swarthmore Collge Date: Wed, 30 Jun 1993 21:42:07 GMT Hello Everyone: I implemented a keyDown event in my subclass of view (which I made to be the first responder). The problem is that my keyDown: method doesn't recognize NX_CONTROLMASK kind of operators. The method is something like this: -keyDown: (NXEvent *)theEvent { //Investigation of values of theEvent->flags and NX_CONTROLMASK NXLogError("flag=%d mask=%d\n",theEvent->flags,NX_CONTROLMASK); if (theEvent->flags & NX_CONTROLMASK) NXlogError("control down"); else NXLogError("control not down"); return self; } The result is that when I press Control (or Alternate, or Shift), nothing happens at all (which means my pressing down of these keys was not recognized as a keyDown event?), and when I press anything else, I (of course) get "control not down" and "flag=0 mask=24301". This has been giving me a headache for hours. Could anyone out there give me a hand? Thanks alot. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Ye he@carnegie.swarthmore.edu (NeXTmail OK)
From: seawoocl@nextwork.Rose-Hulman.Edu Newsgroups: comp.sys.next.programmer Subject: NeXTStep--Changing the definition of 'point' Date: 30 Jun 1993 21:52:55 GMT Organization: News Service at Rose-Hulman Message-ID: <20t1vnINNjbc@master.cs.rose-hulman.edu> I'm in the process of writing a program that takes the y coord of a mouse down and draws a pswrap there. The problem is that the view is originally something like 300 by 300 and the size that I need varies. I set my view's drawing size, at first with [self setDrawSize:x:y]; and then with [self scale:bounds.size.width/x: bounds.size.height/y]; but when I get the mouse y coord, it still gives me a range from 100 to 400, instead of the range that I set. I even did [self convertPoint:&pt fromView:self] in my mouseDown method. Is there anyway to change the definition of a 'point' for a certain view? Christopher seawoocl@nextwork.rose-hulman.edu
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: comp.sys.next.programmer Subject: [HP/NeXT] - NeXT Hiring Software Engineers for HP Object/Enterprise Development Date: 30 Jun 1993 17:40:04 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9306302240.AA09789@toto.NeXT.COM> Please send your resume to: Avie Tevanian NeXT Inc. 900 Chesapeake Dr. Redwood City, California 94063 Email: Avadis_Tevanian@next.com NeXT Hiring Software Engineers for HP Object/Enterprise Development NeXT and Hewlett-Packard recently announced a joint marketing and development alliance called Object/Enterprise. The Object/Enterprise product suite is made up of several components including a port of NEXTSTEP to PA-RISC based computers, Portable Distributed Objects (reference port for HP-UX, portable to other operating systems) and NetInfo for HP-UX. NeXT is looking to hire several people to help implement Object/Enterprise. In particular, we are looking for individuals with strong technical backgrounds to work on porting all layers of the NEXTSTEP product, including: o compiler technology (GNU-based Objective-C compiler and debugger) o operating system (Mach/UNIX kernel, commands and libraries) o window system (Adobe's Display Postscript) o tool kits (appkit, dbkit, indexing kit, 3dkit, netinfokit, ...) o applications (Workspace, Mail, ...) We are also looking for individuals to work on the Portable Distributed Objects (PDO) reference port (targetted for HP-UX). This work includes: o GNU compiler suite integration with native HP-UX tools o portability engineering and product integration for the Objective-C runtime, foundation classes and Distributed Object runtime o general product integration of all components including the compiler, debugger, and runtime. Please send your resume to Avie Tevanian NeXT Inc. 900 Chesapeake Dr. Redwood City, California 94063 Email: Avadis_Tevanian@next.com
Newsgroups: comp.os.ms-windows.advocacy,comp.os.ms-windows.programmer.tools,comp.sys.next.advocacy,comp.sys.next.programmer From: tacchi@ccu.umanitoba.ca (Mark G. Tacchi) Subject: Re: Why is NT so slow? Message-ID: <C9GGKn.BrB@ccu.umanitoba.ca> Sender: news@ccu.umanitoba.ca Organization: University of Manitoba, Winnipeg, Canada References: <1993Jun28.182722.16463@pasteur.Berkeley.EDU> <RICE.93Jun24115622@kuwait.gdfwc3> <1993Jun24.203607.16617@CSD-NewsHost.Stanford.EDU> <RICE.93Jun28121100@kuwait.gdfwc3> <1993Jun30.051814.4858@microsoft.com> <1993Jun30.145758.27152@texhrc.uucp> Date: Wed, 30 Jun 1993 22:17:09 GMT In <1993Jun30.145758.27152@texhrc.uucp> pyeatt@Texaco.com (Larry D. Pyeatt) writes: >In article <1993Jun30.051814.4858@microsoft.com>, cliffga@microsoft.com (Clifford Garrett) writes: >|> >|> The release will be many times faster in many areas. >Which release? Version 10.0? Release? What release? Is NT really going to be shipped? I think it is just a farce. -Mark -- Mark G. Tacchi tacchi@ccu.umanitoba.ca "Medicine will cure death and government will repeal taxes before Steve will fail." -G.Kawasaki
Newsgroups: comp.sys.next.programmer From: cooldude@leland.Stanford.EDU (Imran Qureshi) Subject: Anyone know the NIB file format??? Message-ID: <1993Jun30.225922.25231@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: DSG, Stanford University, CA 94305, USA Date: Wed, 30 Jun 93 22:59:22 GMT Hi, I am wondering if anyone knows the format of a nib file. I can see that it has the name of the class, values for the objects to read and their super classes etc. But what is IBObject Data ? What other information (if any) is archived in a nib file? I am thinking of writing a program that reads a NIB file and creates objects out of it. Kinda like the NeXT OS or the INterface builder. If anyone has more information for me or hints, feel free to mail them to me. I will post a summary to the net. Also is there any documentation about which order the NEXT classes write their variables out in? e.g, Does a Window write its x axis first or y axis etc. Thanx, Imran
Newsgroups: comp.sys.next.programmer From: scott@parsec.mixcom.com (Scott Violet) Subject: Question about NXBreakArrays in the Text object Message-ID: <1993Jun30.171819.2193@parsec.mixcom.com> Organization: not really... Distribution: usa Date: Wed, 30 Jun 1993 17:18:19 GMT Hi all, I have a question regarding the use of NXBreakArrays in the Text object. The problem I'm having is that when I go through the theBreaks, most of the entries aren't true (the size part that is). Once you deterine that you have a new height, is there something special you have to do? Like skipping entries? The docs also mention that if the sign bit is set, then the descriptor is the first field of an NXHeightChange structure. How do you access an NXHeightChange structure? I haven't seem any methods, or instances variables that use them in the Text object. Any suggestions would be great. Thanks in advance, -Scott Violet (scott@smartsoft.mixcom.com)
Newsgroups: comp.sys.next.programmer From: erwin@helsinki.ks.uiuc.edu (Edgar Erwin) Subject: Mouse Event Problems Date: Wed, 30 Jun 1993 23:34:54 GMT Message-ID: <C9GK66.ErL@news.cso.uiuc.edu> Sender: usenet@news.cso.uiuc.edu (Net Noise owner) Organization: University of Illinois at Urbana Hey all you happy people! I have a problem involving a slider and a mouse. The program is doing some computations using values from sliders as parameters. Sometimes when the user changes a parameter (through a slider) the computations can blow up -- either very soon after the parameter is changed, or much later --- and the user is alerted through an AlertPanel. After the user admits to the alert panel that he did in fact make a boo-boo, the slider is reset to a more reasonable value and the computations continue. The way this is programmed looks something like this: - iterate { // iterate is called at regular intervals, beyond the control of the user .. if (fabs(X) > 3.0) { NXRunAlertPanel("Boom!", "Equations blew up: resetting.", "OK", 0, 0); B = 0.3; [myBField setDoubleValue:B]; [myBSlider setDoubleValue:B]; } .. } Usually, this works just fine. However, if the user still has his finger on the mouse button on the slider when the equations blow up, problems arise. The user will generally let go of the mouse button on the slider, move the mouse to the AlertPanel and click the "OK" button. The next time the user tries to move the slider, or in fact do just about anything else involving the mouse, he will notice the mouse acts funny. It is hard to describe exactly what happens, but my theory is that when the user presses the mouse button anywhere, the mouseDown doesn't go anywhere for the time being, but when he releases the button, the mouseUp event goes back to the place where the next-to-last mouseDown occurred, and only afterwards will the current mouseDown go where it should. This continues to cause problems until the user clicks someplace that doesn't respond to the mouseDown event which then allowins the mouseDown event to be ignored and the mouseUp event to be used, thus re-synchronizing the event queue, but the problem can arise again the next time the equations blow up. The problem obviously has something to do with trying to change the value of a slider field when the user might not have let go of the slider yet. Anyone have ideas for a solution? Is there any way to let the slider know to stop waiting for a mouseUp so that it won't be stealing mouseUp's from wherever it can find one? Suggestions that I should prevent the user from sliding the slider into a danger zone are not welcome. It isn't that easy. Thanks in advance. Ed erwin@lisboa.ks.uiuc.edu (NeXT mail without big attachments accepted)
Newsgroups: comp.sys.next.programmer Subject: Re: making a panel stay in front Message-ID: <C9GK1o.J3L@news.otago.ac.nz> From: licinda@farli.otago.ac.nz (Licinda Woudberg) Date: Wed, 30 Jun 1993 23:32:12 GMT Sender: usenet@news.otago.ac.nz (News stuff) References: <1993Jun29.113043.2818@uunet!cbmvax!xmws!kripalu> Organization: University of Otago In article <1993Jun29.113043.2818@uunet!cbmvax!xmws!kripalu> writes: :) In article <20nonp$q4v@cheltenham.cs.arizona.edu> :) kline@CS.Arizona.EDU (Nick Kline) writes: :) > :) > I have a panel which I want to stay at the front of all the windows :) in :) > my app. :) :) If you make it a "Panel" class rather than a window it will stay on :) top of all windows. :) Ahhh... No. I don't think making it a "Panel" alone will guarantee that it will stay in front, trying using this command as well: [self setFloatingPanel:YES]; Regards, Licinda. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (Miss) Licinda Woudberg | Dept. of Computer Science | "He's just an excitable boy" University of Otago | - Warren Zeon Dunedin 9001 | NEW ZEALAND | mail: licinda@otago.ac.nz | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: Re: Urgent: keyDown:? Message-ID: <C9GnKp.5Iq@news.cis.umn.edu> Sender: news@news.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota References: <yhe1-300693172448@mac8.hicks.swarthmore.edu> Date: Thu, 1 Jul 1993 00:47:06 GMT Check out the flagsChanged: information for ctl, alt, cmd and shift keys. peter Ye (yhe1@cc.swarthmore.edu) wrote: : Hello Everyone: : I implemented a keyDown event in my subclass of view (which I made to be : the first responder). The problem is that my keyDown: method doesn't : recognize NX_CONTROLMASK kind of operators. The method is something like : this: : -keyDown: (NXEvent *)theEvent : { .. : The result is that when I press Control (or Alternate, or Shift), nothing : happens at all (which means my pressing down of these keys was not : recognized as a keyDown event?), and when I press anything else, I (of : course) get "control not down" and "flag=0 mask=24301". This has been : giving me a headache for hours. Could anyone out there give me a hand? : Thanks alot. : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ : Ye : he@carnegie.swarthmore.edu (NeXTmail OK) -- -- I felt his rocket science training was inadequate. peter@tahiti.umhc.umn.edu (Peter Eisch)
Newsgroups: comp.sys.next.programmer From: chris%milo@wpa.com (Chris Cleeland) Subject: DriverKit development on black hardware? Message-ID: <1993Jul1.050645.3180@milo.UUCP> Keywords: driverkit black Sender: chris@milo.UUCP Organization: Milo Designs Distribution: na Date: Thu, 1 Jul 1993 05:06:45 GMT 'Scuse me if this is a stupid question, but is it possible to do DriverKit development on Black Hardware (running 3.1 or later, obviously)? Testing would, of course, have to be performed on the actual NS/I machine, but could the development (coding & compilation) happen on the black stuff and just cross-compile? Thanks for the help! -cj -- ------------------------------------------------------------- Chris Cleeland | Internet: chris%milo@wpa.com Consultant/NeXT Advocate | UUCP: wupost!nimno!milo!chris Milo Designs | BellNet: (314) 771-3860
Newsgroups: comp.sys.next.programmer From: harit@kripalu.com Subject: Re: DBDatabase question Message-ID: <1993Jun30.125054.4506@uunet!cbmvax!xmws!kripalu> Sender: harit@uunet!cbmvax!xmws!kripalu Organization: Kripalu Center References: <wgADZzW00WA7QpNUcm@andrew.cmu.edu> Date: Wed, 30 Jun 93 12:50:54 GMT In article <wgADZzW00WA7QpNUcm@andrew.cmu.edu> David Apfelbaum <da0g+@andrew.cmu.edu> writes: > > I'd like to use DBDatabase's method: > > - (BOOL)connectUsingString:(const unsigned char*)aString; > > to allow different users to connect to the database with different > login-strings, ideally storing those strings in the defaults-database... > > However, connectUsingString: doesn't seem to work for me. Not even with > NULL, which should result in the same thing as -connect. (Which does > work...) > > Any ideas? > > (If it helps, I'm using 3.0..) > > > -David Apfelbaum. > > P.S> It's not a total loss, the private-API method openUsingString: > seems to do *EXACTLY* what I need... But, thats private API, and I'm > _trying_ to avoid that if I can... (Trying... Not Succeeding... > *sigh*) That method is known to have bugs. Use the form that asks for the adaptor. -- Michael Allen Latta Kripalu Center harit@kripalu.com (413)448-3288
Newsgroups: comp.os.ms-windows.advocacy,comp.os.ms-windows.programmer.tools,comp.sys.next.advocacy,comp.sys.next.programmer From: tlilley@jarthur.claremont.edu (Ted) Subject: Re: Why is NT so slow? Message-ID: <C9HCv0.Cn0@news.claremont.edu> Sender: news@news.claremont.edu (The News System) Organization: Harvey Mudd College, Claremont, CA 91711 References: <RICE.93Jun28121100@kuwait.gdfwc3> <1993Jun30.051814.4858@microsoft.com> <1993Jun30.145758.27152@texhrc.uucp> Distribution: usa Date: Thu, 1 Jul 1993 09:54:35 GMT In article <1993Jun30.145758.27152@texhrc.uucp> pyeatt@Texaco.com (Larry D. Pyeatt) writes: >In article <1993Jun30.051814.4858@microsoft.com>, cliffga@microsoft.com (Clifford Garrett) writes: >|> >|> The release will be many times faster in many areas. > >Which release? Version 10.0? Yes. That's the next one, haven't you heard? ;) >Larry D. Pyeatt This article does not reflect the views >( pronounced "Johnson" ) of my employer or of myself. Any simi- >Internet : pyeatt@texaco.com larity to the views of anyone, real or >Voice : (713) 975-4056 fictional, is purely coincidental. Ted
From: ricardo@pencom.com (Ricardo Parada) Newsgroups: comp.sys.next.programmer Subject: IBConnectors Protocol example code Message-ID: <1993Jun30.170431.1652@pencom.com> Date: 30 Jun 93 17:04:31 GMT Sender: usenet@pencom.com (Usenet Pseudo User) Organization: Pencom Software Does anyone has some code that shows how to use the IBConnectors protocol of IB? I want to create a subclass of object palette that has an editor window and from there make conection (control-drag) to different objects in my nib windows. Is this possible? Thanks -- Javier Pena Pencom Software
Newsgroups: comp.sys.next.programmer From: luis@elysia.fdn.org (Luis Arias) Subject: How can I tell if a magneto-optical disk is write protected ? Message-ID: <1993Jul1.111658.18251@elysia.fdn.org> Keywords: optical scsi Sender: luis@elysia.fdn.org Organization: Elysia - Rueil_Malmaison, France. Date: Thu, 1 Jul 1993 11:16:58 GMT Hello, I recently wrote some code I do not like to test whether or not a magneto-optical disk is write-protected. What I do is open the sd driver and send low-level scsi commands to read and then try to write block 0. If the disk is write-protected, I get an appropiate error-code from the write operation. All of this is done in a daemon because you need root access to do this. Does anyone have a better way ? You must realize that I don t actually mount the disk, it is in the drive similar to if you ask for a disk s label with the disk command. I forget the exact syntax but it s something like: disk -q /dev/rsd1a for instance. You do this BEFORE inserting the disk in the drive, and NeXTSTEP will put up a panel asking you to insert the disk. Thanks for any replies (by e-mail preferably). --- Luis Arias President Elysia, Inc. 23, rue Buffon 92500 RUEIL-MALMAISON FRANCE [33] (1) 47 49 61 96 [33] (1) 47 14 99 08 fax luis@elysia.fdn.org (NeXTmail ok) -- Luis Arias President Elysia, Inc. 23, rue Buffon
From: cjp+@pitt.edu (Casimir J Palowitch) Newsgroups: comp.sys.next.programmer Subject: Re: DriverKit development on black hardware? Keywords: driverkit black Message-ID: <15608@blue.cis.pitt.edu> Date: 1 Jul 93 13:04:06 GMT References: <1993Jul1.050645.3180@milo.UUCP> Sender: news+@pitt.edu Distribution: na Organization: University of Pittsburgh In article <1993Jul1.050645.3180@milo.UUCP> chris%milo@wpa.com writes: >'Scuse me if this is a stupid question, but is it possible to do >DriverKit development on Black Hardware (running 3.1 or later, >obviously)? Testing would, of course, have to be performed on the >actual NS/I machine, but could the development (coding & compilation) >happen on the black stuff and just cross-compile? I am almost positive this is possible. Not 100%, because i haven't done it myself, but after installing the 3.1 Motorola developer kit last night and reading through the Driver Kit documentation, (kudos to NeXT on some excellent documentation work, all around!!) this is supposed to be able to be done. -- ** Casey Palowitch - cjp+@pitt.edu UWSA #570881 ** ** Networked Information Services Group / Technical Services ** ** U. of Pittsburgh Library Systems // NeXTSTEP... ** ** ...the most respected piece of software on the planet BYTE10/92 **
From: titmouse!bshirley (C. William Shirley) Newsgroups: comp.sys.next.programmer Subject: scrollers (was Re: Colored Scroller backgrounds for positioning in Edit) Message-ID: <1993Jun30.032051.274@gleap.jpunix.com> Date: Wed, 30 Jun 1993 03:20:51 GMT References: <1993Jun27.120115.11526@holli.uucp> Sender: bshirley@gleap.jpunix.com Organization: The Republic of Texas I'd like to see the ability (in all NeXT scrollers) to Alt-click in the scroller track. and have it page. - just like alt clicking on the arrows. When the scrollbar is sizeable (you've resized it to most of the screen) it's a pain in the rear to move the mouse all the way to the bottom of the area to do the opperation you desire. This is a backwards compatible change (if some goofball always holds the alt key down now when he chick's in the track he deserves to be suprised). Just a simple suggestion. -bill -- Bill Shirley (NXceptable) BShirley@GLeap.jpunix.com (home) | BShirley@atg.WilTel.com (work) ``I had so many problems, then I got me a Walkman.'' - Frank Black
Newsgroups: comp.sys.next.software,comp.sys.next.misc,comp.sys.next.programmer,comp.sys.next.advocacy From: marwood@cpsc.ucalgary.ca (David Marwood) Subject: MusicKit vs. MIDI Message-ID: <MARWOOD.93Jun30085134@fsd.cpsc.ucalgary.ca> Followup-To: comp.sys.next.software Sender: news@cpsc.ucalgary.ca (News Manager) Organization: University of Calgary Date: Wed, 30 Jun 1993 15:51:34 GMT About 3 weeks back I posted an article asking if the NeXT MusicKit was capable of generating realistic instruments with precise timing and how well the MusicKit measured up to a MIDI box. Thanks to Jim Beauchamp <beaucham@uxh.cso.uiuc.edu> and David Jaffe <david@jaffe.com> for their responses. Also, thanks to Len Manzara, our local NeXT music expert, for his help. There were no conflicting reports; all the answers more or less supported each other. The solution to producing realistic music is _not_ to record it and play it back. It's too troublesome and difficult and can result in funny problems, such as waves getting cut in half and whatnot. Realistic music is, however, very possible. I'm sure all of you have heard demo score files, and Ensemble seems to be the definitive place to play with creating instruments. The music can be generated to very precise amounts of time, restricted by the sampling rate and what David Jaffe calls "envelope break-points times." He estimates 0.0003 second response time, more than enough for my purposes. How did the MusicKit measure up to MIDI. Everyone I talked to claims the MusicKit will give equal if not better control of the sound parameters than MIDI will as well as more flexibility. The MusicKit's one failing point was that there was not a well-made well-packaged set of realistic sample instruments. Following suggestions and the MusicKit manual, the best I could find were some sample score files from which I gleaned the following instrument parameters: clarinet, cello, bell, wind, flute, drum, bass, kalimba, conga, and gong. Unfortunately, to my (admittedly untrained) ear, many did not sound much like the instrument they were named after. This was an important requirement that MIDI was able to meet, and certainly not one I expected the MusicKit to fail. Including good sample instruments in the MusicKit seemed like an obvious thing to do. So, for those of you who are willing to go to great lengths for great music, it seems the MusicKit beats out all but the high-end MIDI boxes. For those of you looking to create simple, but realistic music, the MIDI box seems to provide what you need more easily. Thanks once again for all your help. - David Marwood - marwood@cpsc.ucalgary.ca
Newsgroups: comp.sys.next.programmer From: magnus@fisher.Stanford.EDU (Magnus Nordborg) Subject: g++ and gdb work in 3.1 (good news) Message-ID: <1993Jul1.140851.11066@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: DSO, Stanford University Date: Thu, 1 Jul 93 14:08:51 GMT I just installed 3.1 on a NeXTstation and immediately tried to install gcc-2.4.5 and libg++-2.4 to see if it would work with NeXT's gdb (which is 4.7 in 3.1). The good news is that it seems to work ok, which is great, as it means that it will be possible to use a much better C++ implementation than before without giving up gdb. The second piece of good news is that gcc-2.4.5 compiles without a single warning. The not so good news is that libg++-2.4 needs some fiddling. It seems that there has been some more changes in NeXT's headers (probably for the better)... Anyway, there are lots of warnings, plus the following (which I have also sent to "bug-lib-g++@prep.ai.mit.edu": Libg++-2.4 does not build straight off using gcc-2.4.5 under NeXTstep 3.1. PROBLEM: I type configure make all CC=gcc The compilation fails at: gcc -c -g -O -nostdinc++ -I. -I../. -I. -I./../iostream -I./../src -I./../g++-include procbuf.C In file included from ioprivate.h:21, from procbuf.C:19: /../g++-include/unistd.h:145: conflicting types for `long int read (...)' /NextDeveloper/Headers/bsd/unistd.h:108: previous declaration of `int read (int, void *, long unsigned int)' /../g++-include/unistd.h:146: conflicting types for `long int write (...)' /NextDeveloper/Headers/bsd/unistd.h:121: previous declaration of `int write (int, const void *, long unsigned int)' make[2]: *** [procbuf.o] Error 1 SOLUTION: Use make all CC=gcc G_CONFIG_ARGS='ssize_t="int"' to manually tell gen-params what ssize_t is. This is of course a little bit of hack -- the script "gen-params" is supposed to check unistd.h, but misses here for some reason. It should be taught, but I couldn't figure out how. PROBLEM: make check fails at gcc -c -g -O -nostdinc++ -I. -I../../. -I. -I./../../iostream -I./../../src -I./../../g++-include directory.cc In file included from Dirent.h:9, from directory.cc:3: /../../g++-include/dirent.h:33: parse error before `*' Accord to NeXT's dirent.h changes have been made for POSIX compliance, and my guess is that is the problem. I'll be happy to email the new header files to whoever is interested. I have no solution. No program that needs dirent.h will compile, as far as I can tell. Apart from this, everything SEEMS to work ok. -Magnus -- Magnus Nordborg magnus@fisher.stanford.edu (NeXT mail preferred) Department of Biological Sciences Stanford University Stanford, CA 94305-5020 +1 (415) 723-4952 (office) P.S. No extensive tests done. P.P.S. You need, as usual, "bison" and GNU's make to get gcc to compile.
From: mcconnap@NeXTwork.Rose-Hulman.Edu (Andy McConnell) Newsgroups: comp.sys.next.programmer Subject: Help! .objc_class_name(s) in custom libs Date: 1 Jul 1993 15:10:23 GMT Organization: News Service at Rose-Hulman Message-ID: <20uuovINNnmo@master.cs.rose-hulman.edu> I'm having trouble using custom linked libraries under 2.1. When I use custom libraries, it links just fine, but I get an error like this at runtime: objc: class `ExtTextScrollView' not linked into application Is there something I need to do to my custom libraries to avoid this error? Right now, I include this sort of line in Makefile.preamble, and it works - but I don't like this solution. It doesn't seem... right: LDFLAGS = -u .objc_class_name_ExtTextScrollView Any other solutions would be really helpful! -- Andy McConnell mcconnap@nextwork.rose-hulman.edu Fluid Science Learning Center Developer Lt, USAF CS BS '93 Rose-Hulman Institute Of Technology "The beaurocratic mentality is the only constant in the universe."
Newsgroups: comp.sys.next.programmer From: lmccullo@nyx.cs.du.edu (Michael McCulloch) Subject: Administrator app for the Sybase limited server Message-ID: <1993Jul1.153003.23014@mnemosyne.cs.du.edu> Sender: usenet@mnemosyne.cs.du.edu (netnews admin account) Organization: Nyx, Public Access Unix at U. of Denver Math/CS dept. Distribution: na Date: Thu, 1 Jul 93 15:30:03 GMT I have the Sybase limited client server product upgrade for 2.0. Of course, it still works under 3.0/3.1, but I need the updated Administrator app for 3.0. I remember this being mentioned several months ago, but I cannot find a reference as far as where to obtain the updated app. Could someone Nextmail me the new Administrator app? Please contact me directly with a request to send it first, then if I reply you can go ahead and send it. If you receive no reply -- please don't send it. Also, I'm looking for a DBKit SIG. I've tried sending requests to: dbkit-request@medequity.com dbkit-request@is.com and have received no response. Any suggestions? -- Michael McCulloch mmcculloch@nebula.tbe.com (NextMail Accepted!) Huntsville, Alabama
From: brian@systemix.com (Brian Cuthie) Newsgroups: comp.sys.next.programmer Subject: Re: Help! .objc_class_name(s) in custom libs Date: 1 Jul 1993 11:59:24 -0400 Organization: Systemix Software, Inc. Message-ID: <20v1ksINN500@systemix.com> References: <20uuovINNnmo@master.cs.rose-hulman.edu> In article <20uuovINNnmo@master.cs.rose-hulman.edu> mcconnap@NeXTwork.Rose-Hulman.Edu (Andy McConnell) writes: >I'm having trouble using custom linked libraries under 2.1. > >When I use custom libraries, it links just fine, but I get an error like >this at runtime: > > objc: class `ExtTextScrollView' not linked into application > >Is there something I need to do to my custom libraries to avoid this >error? > >Right now, I include this sort of line in Makefile.preamble, and it works >- but I don't like this solution. It doesn't seem... right: > > LDFLAGS = -u .objc_class_name_ExtTextScrollView > >Any other solutions would be really helpful! > Are you actually using the library in your application or, are you only using it in something that's loaded from a bundle ? If it's from a bundle, the problem is with the linker optimizing the library out of the link becuase it can't find any references to it. When the bundle is loaded, the application suddenly needs the library which, of course, isn't there. I would just leave the LDFLAGS as you have them. Don't know if this helps, but it's a guess anyway. Cheers, brian -- Brian Cuthie Voice: (410) 290-8813 Systemix Software, Inc. Email: brian@systemix.com
Newsgroups: comp.sys.next.programmer From: samurai@binkley.cs.mcgill.ca (Darcy BROCKBANK) Subject: Re: Urgent - limitation in DPSDoUserPath ? Message-ID: <20v1ha$h52@binkley.cs.mcgill.ca> Sender: news@sifon.cc.mcgill.ca Organization: SOCS - Mcgill University, Montreal, Canada References: <20p8pg$4v@mailgzrz.TU-Berlin.DE> Date: Thu, 1 Jul 1993 15:57:30 GMT In article <20p8pg$4v@mailgzrz.TU-Berlin.DE> thomas@gurke.physik.TU-Berlin.DE (Thomas Hensel) writes: >Is there a length-limit in DPSDoUserPath, better >is there a max-number of numcoords ? >My values are: > void DPSDoUserPath( > void *coords, <- array of 16384 floats > int numCoords, <- 16384 > DPSNumberFormat numType, <- dps_float > unsigned char *ops, <- array of 8192+2 chars > int numOps, <- 8192+2 > void *bbox, <- 0,0,8194,600 (boundingbox) > int action); <- dps_ustroke >My problem is, after calling DPSDoUserPath I get 30-40 errors in my console-window >and my app dies. Decreasing numcoords-values by 6 and numOps by 3 all works fine. I think what's happening is that you're drawing outside the bounding box you've passed in. When that happens with DPSDoUserPath() the WindowServer will raise an exception. The weenie way around this is to make a huge bounding box. I don't know of any other solutions. - db -- <Here we are! Here we are! Here we are!> Stipe <I don't know.> Steve <It's never really happy for me.> Housemartins <Even a stopped clock tells the right time twice a day.> and I <A nod's as good as a wink wink to a blind man> Idle <Must be a bug in the AppKit.> Ivo + Paul
Newsgroups: comp.sys.next.programmer From: gbol@nos40nm.shell.com (Gregory B. Lampshire) Subject: Re: Colored Scroller backgrounds for positioning in Edit In-Reply-To: harit@kripalu.com's message of Tue, 29 Jun 93 11:26:23 GMT Message-ID: <GBOL.93Jul1080938@nos40nm.shell.com> Sender: usenet@shellgate.shell.com (USENET News System) Organization: Shell Offshore, Inc References: <20n4iuINNg09@golden.kaleida.com> <1993Jun29.112623.2762@uunet!cbmvax!xmws!kripalu> Date: Thu, 1 Jul 1993 13:09:37 GMT > In article <1993Jun28.011648.7520@lkba.uucp> uunet!lkba!lkb (Larry > Blische) writes: > > > > I've been thinking of a new positioning capability for Edit: > [stuff deleted] In a similar vein you could write a program that would scan a file for marker comments and present a browser then tell edit to go do a selected line number when the user selects a function from the browser. But I agree with gregory what I want is a real code browser like Smalltalk that is organized into classes and method categories and methods. The biggest problem with the smalltalk browser might be having to be backward comp. with source files. One typically makes #defines and static funcs in misc places in a source file. Where would these go? The only solution I see is to have the definition for a method and have a ``before'' and ``after'' button which allows you to place code either before or after the method declaration once the source stream needed for compilation is generated. I am doing some rapid prototyping to see what some of the concerns would be in such a browser. Would I don't like is the lack of view sensitive popup windows like smalltalk's for manipulating individual columns of group/class/category/method definition lists. I wrote a hack PopUpMenu class (on sonata) which violates every NS interface guideline but does the job, but it looks like to much trouble to have to redefine a NXBrowser class to get the menu instance variables into the act..... gregory gbol@rglnext.geol.vt.edu gbol@shell.com
Newsgroups: comp.sys.next.programmer From: greg@afs.com (Gregory H. Anderson) Subject: Re: Anyone know the NIB file format??? Message-ID: <1993Jul1.152742.2645@afs.com> Sender: greg@afs.com References: <1993Jun30.225922.25231@leland.Stanford.EDU> Date: Thu, 1 Jul 1993 15:27:42 GMT In article <1993Jun30.225922.25231@leland.Stanford.EDU> cooldude@leland.Stanford.EDU (Imran Qureshi) writes: > > I am wondering if anyone knows the format of a nib file. It's a private specification, not formally documented, has changed over time, and is subject to change again without notification in any future release if Jean-Marie gets a better idea, of which he has had plenty. I guess what I'm saying is, Don't Waste Your Time. > Also is there any documentation about which order the NEXT classes write > their variables out in? e.g, Does a Window write its x axis first or y > axis etc. In general, you can assume that the -read: and -write: methods work their way up the hierarchy from the Object class, because you always code a [super read:stream] before adding your own variables to the stream. After that, all bets are off. In our classes, we don't always write to the stream in the same order that ivars are declared in the header, and sometimes not all ivars need to be written. Plus, there's a difference between NXWriteType(stream,"s",&version); NXWriteType(stream,"s",&owner); and NXWriteTypes(stream,"ss",&version,&owner); and you never know which method an author chose. Bit-fields might be written as one big int or (the better way for architecture neutrality) a bunch of chars. Plus, world-class object writers (8^) include embedded version numbers, as in the example above, that are not represented by ivars at all. The whole idea of encapsulation is that only the class that reads and writes the data needs to know the details about this stuff. Not to mention that NXTypedStreams are thoroughly impenetrable: a private specification, not formally documented, has changed over time, and is subject to change again without notification in any future release if Paul Hegarty gets a better idea, of which he has had plenty. I guess what I'm saying is, Don't Waste Your Time. To recap, the lesson for today is: Don't Waste Your Time. -- Gregory H. Anderson | "If you've got eyes to rhythmatize Composer-in-Residence | Bring your flat hat and your ax Anderson Financial Systems | 'Cause tonight at 10 we'll be workin' again" greg@afs.com (NeXTmail OK) | -- Donald Fagen, "Teahouse on the Tracks"
Newsgroups: comp.sys.next.bugs,comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: #import not working? Organization: Primitive Software Ltd. Date: Thu, 1 Jul 1993 13:45:16 +0000 Message-ID: <1993Jul1.134516.3325@prim> Sender: usenet@demon.co.uk I've got a really wierd problem that's only just started happening. Basically, the first time I try to compile a new .m file, I get a load of errors of the type you would expect if you'd forgotten to include a #import directive. But the #import is there, and so is the header file it refers to. I'm not using precompiled headers. The header file in question was actually brought into the project as a result of dragging the class icon in Project Builder from another project's class suitcase. I'm not sure if this is related to the problem. Doing a "make depend" and a "make clean" doesn't help. The header file is there, the #import is there, but the compiler acts as though the header file is empty! The header file is not a link of any kind. Now here's the wierd part: I can make the problem go away by opening the header file in Edit and just saving it without changing it. Hey presto, the compiler now recognizes it and the problem disappears! Anyone know what could be causing this? Dave Griffiths
Newsgroups: comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Default Application distributed object? Organization: Primitive Software Ltd. Date: Thu, 1 Jul 1993 16:20:48 +0000 Message-ID: <1993Jul1.162048.3996@prim> Sender: usenet@demon.co.uk It appears that if you create a dummy application, called for example "fooBar", then you can connect to it using [NXConnection connectToName:"FooBar" onHost:NULL] even though fooBar has not performed a registerRoot with this name. Does anybody know what this connection is used for? I assume it's a bug caused by the fact that the default application Listener has registered under that name although I'm surprised it's case insensitive. Dave Griffiths
Newsgroups: comp.sys.next.programmer From: robertn@penny (Robert Nicholson) Subject: Adding buttons in the scroller of DBTableView Distribution: world Date: Thu, 1 Jul 1993 17:29:25 +0000 Message-ID: <9307011644.AA02968@penny.demon.co.uk> Sender: usenet@demon.co.uk I wish to add a number of buttons ala (scaling popups) in the hScroller of a DBTableView. This requires subclassing it. I basically require the feature to be able to connect each button for any instance of DBTableView to any target object of my choice. I would also like to be able to connect any number (within reason) of buttons preferably in IB. Is this a simple palette project?, I'm unsure how to have the DBTableView access it's buttons. I figure I can drag of a CustomView specify it's class in the "PaletteView" window like any other palette. What's the best way to get varying numbers of buttons though? In my first attempt I'm getting Jul 1 17:39:08 penny InterfaceBuilder[2109]: Unknown View class ButtonDBTableView in Interface Builder file, Errors. Is there anything special you have to do when palettizing DBKit objects?
Newsgroups: comp.sys.next.programmer From: jcr@dolphin.com (John C. Randolph) Subject: An Idea for re-organization of Objective-C source code. (RTF!) Message-ID: <1993Jul1.191755.644@houston.dolphin.com> Keywords: Version-Control Sender: jcr@houston.dolphin.com Organization: Dolphin Software Date: Thu, 1 Jul 1993 19:17:55 GMT Would any of you care to coment on the following? This is the current state of my idea of how to organize Objective-C code, Replace PB, replace Make, and make the world a happier place. Greg and Jon at AFS, Andy Stone, Glenn Ried, I'd be especially interested in what you think of it. A Modest Proposal Thoughts about a different way to organize Objective-C, Display Postscript, and other source code under NEXTSTEP. Part One: Wouldn't it be Nice If: When developing Objective C code, we could browse the classes, in the manner of HeaderViewer, and open just the method we're interested in? No hunting through the source file, no looking back through the heirarchy to find the method (if it's inherited)? or: we were able to edit a method, compile and run it, but still take back the changes we made, if something we try doesn't work? What I'd like to see when writing a class: I propose a new type of file package, which would contain the source code, documentation, and version control information for a single class. This package would have the extension ".Class" and would typically contain the following: myClass.class/ Class Package /inheritance file containing: "superClass<version Number>" /version.<original>/ Version directory /myClass.doc documentation for this class /uses Include files. /myClass.otherSources/ Common PSwraps, etc. /myClass.nibSection Window used by this class. /version.<last>/ Version directory /version.<current>/ Version directory /myClass.h Header file for external interface /myClass.private.h Header file for methods of myClass /uses Include files: supersedes the one in /version.<original> /someMethod.method/ Method Package /someMethod.m Source for one method /obj/machine/someMethod.o Compiled method /someMethod.doc Documentation of this method /someMethod.othersources Directory of other files needed by this method. /drawingCode.psw PSWrap used only by this method. This re-organization of the source code of a class brings many advantages. First of all, the directory structure allows for a very simple implementation of version control. Secondly, seperating the methods into their own .m files allows much smaller increments to be compiled and debugged. Third, the supporting files, such as .nib files or .psw files can be logically grouped with the class or method which uses them. Without going into a long discussion of version control, suffice it to say that we envision a directory (such as, perhaps "/LocalDeveloper/Classes", which can have any number of classes, and versions of those classes, with the ability for the Individual developer to branch away from the central depository at any version of the class. In addition, if one person is developing a class, and another person is developing a subclass of that class, the person working on the subclass could select a particular version of the superclass to link to, and would be unaffected by changes being made by the other developer. NeXT likes to point out that IB is aware of objects, where other user interface tools are not. However, this is not the case with the rest of the development tools. What if our compiler/editor/linker combination knew about classes? What if the editor could load the interface for the superclass, and generate skeleton methods to override the inherited methods? something like: Or, suppose we could set the compile options for each method by checking boxes in a method inspector. Now, Stepping out a bit farther, let's look at how we would arrange a project. Obviously, if we have a ".Class" package, it makes sense to apply the same idea to projects, vis: MyApp.Project/ Project Directory /version.<original>/ Version Directory /MyView.Class/ Class Package /MyOtherClass.Class/ Class Package /MyApp.nib User Interface /Other Sources Wraps, etc. /version.<current> Version directory. Items in here supersede those in /version<original> /MyApp.nib Later ideas for UI. -- NewsGrazer, a NeXTstep(tm) news reader, posting -- M>UQR=&8P7&%N<VE[7&9O;G1T8FQ<9C!<9FUO9&5R;B!/:&QF<SM<9C%<9FUO M9&5R;B!#;W5R:65R.WT*7&UA<F=L,3(P"EQM87)G<C$R,`I<<&%R9%QT>#DV M,%QT>#$Y,C!<='@R.#@P7'1X,S@T,%QT>#0X,#!<='@U-S8P7'1X-C<R,%QT M>#<V.#!<='@X-C0P7'1X.38P,%QF,%QB,%QI,%QU;&YO;F5<9G,R,%QF8S!< M8V8P(%=O=6QD(&%N>2!O9B!Y;W4@8V%R92!T;R!C;VUE;G0@;VX@=&AE(&9O M;&QO=VEN9S]<"EP*5&AI<R!I<R!T:&4@8W5R<F5N="!S=&%T92!O9B!M>2!I M9&5A(&]F(&AO=R!T;R!O<F=A;FEZ92!/8FIE8W1I=F4M0R!C;V1E+"!297!L M86-E(%!"+"!R97!L86-E($UA:V4L(&%N9"!M86ME('1H92!W;W)L9"!A(&AA M<'!I97(@<&QA8V4N7`I<"D=R96<@86YD($IO;B!A="!!1E,L($%N9'D@4W1O M;F4L($=L96YN(%)I960L($DG9"!B92!E<W!E8VEA;&QY(&EN=&5R97-T960@ M:6X@=VAA="!Y;W4@=&AI;FL@;V8@:70N7`I<"@I<9C$@7`H*7'%C7&9S,C0@ M02!-;V1E<W0@4')O<&]S86P*7&9S,C`@7`H*7'%L(%P*"EQQ8UQF<S(T(%1H M;W5G:'1S(&%B;W5T(&$@9&EF9F5R96YT('=A>2!T;R!O<F=A;FEZ92!/8FIE M8W1I=F4M0RP@7`I$:7-P;&%Y(%!O<W1S8W)I<'0L(&%N9"!O=&AE<B!S;W5R M8V4@8V]D92!U;F1E<B!.15A44U1%4"Y<"@I<<6Q<9G,R,"!<"@I<9G,R-"!0 M87)T($]N93H@5V]U;&1N)W0@:70@8F4@3FEC92!)9CI<"@I<9G,R,"`@7`H* M7&9I+3DV,%QL:3DV,"`@"5=H96X@9&5V96QO<&EN9R!/8FIE8W1I=F4@0R!C M;V1E+"!W92!C;W5L9"!B<F]W<V4@=&AE(&-L87-S97,L(&EN('1H92!M86YN M97(@;V8@2&5A9&5R5FEE=V5R+"!A;F0@;W!E;B!J=7-T('1H92!M971H;V0@ M=V4G<F4@:6YT97)E<W1E9"!I;C\@($YO(&AU;G1I;F<@=&AR;W5G:"!T:&4@ M<V]U<F-E(&9I;&4L(&YO(&QO;VMI;F<@8F%C:R!T:')O=6=H('1H92!H96ER M87)C:'D@=&\@9FEN9"!T:&4@;65T:&]D("AI9B!I="=S(&EN:&5R:71E9"D_ M7`H)"EQF:3!<;&DP(%P*"6]R.EP*"5P*"EQF:2TY-C!<;&DY-C`@"7=E('=E M<F4@86)L92!T;R!E9&ET(&$@;65T:&]D+"!C;VUP:6QE(&%N9"!R=6X@:70L M(&)U="!S=&EL;"!T86ME(&)A8VL@=&AE(&-H86YG97,@=V4@;6%D92P@:68@ M<V]M971H:6YG('=E('1R>2!D;V5S;B=T('=O<FL_7`H*7&9I,%QL:3`@7`I7 M:&%T($DG9"!L:6ME('1O('-E92!W:&5N('=R:71I;F<@82!C;&%S<SI<"EP* M22!P<F]P;W-E(&$@;F5W('1Y<&4@;V8@9FEL92!P86-K86=E+"!W:&EC:"!W M;W5L9"!C;VYT86EN('1H92!S;W5R8V4@8V]D92P@9&]C=6UE;G1A=&EO;BP@ M86YD('9E<G-I;VX@8V]N=')O;"!I;F9O<FUA=&EO;B!F;W(@82!S:6YG;&4@ M8VQA<W,N("!4:&ES('!A8VMA9V4@=V]U;&0@:&%V92!T:&4@97AT96YS:6]N M("(N0VQA<W,B(&%N9"!W;W5L9"!T>7!I8V%L;'D@8V]N=&%I;B!T:&4@9F]L M;&]W:6YG.EP*7`H*7&(@;7E#;&%S<RYC;&%S<R\*7&(P(`D)"0D)0VQA<W,@ M4&%C:V%G95P*7`H@"EQB(+PO:6YH97)I=&%N8V4*7&(P(`D)"0D)9FEL92!C M;VYT86EN:6YG.B`B<W5P97)#;&%S<SQV97)S:6]N($YU;6)E<CXB7`H@"EQB M(+PO=F5R<VEO;BX\;W)I9VEN86P^+PI<8C`@"0D)"59E<G-I;VX@9&ER96-T M;W)Y7`H@7`H)"EQB(+PO;7E#;&%S<RYD;V,*7&(P(`D)"0ED;V-U;65N=&%T M:6]N(&9O<B!T:&ES(&-L87-S7`H)"EQB(+PO=7-E<PI<8C`@(`D)"0D)26YC M;'5D92!F:6QE<RY<"@D*7&(@O"]M>4-L87-S+F]T:&5R4V]U<F-E<R\*7&(P M(`D)"4-O;6UO;B!04W=R87!S+"!E=&,N7`H)7`H)"0I<8B"\+VUY0VQA<W,N M;FEB4V5C=&EO;@D)"EQB,"!7:6YD;W<@=7-E9"!B>2!T:&ES(&-L87-S+EP* M"0E<"@I<8B`@O"]V97)S:6]N+CQL87-T/B\*7&(P(`D)"0E697)S:6]N(&1I M<F5C=&]R>5P*"EQB(""\+W9E<G-I;VXN/&-U<G)E;G0^+PI<8C`@"0D)"59E M<G-I;VX@9&ER96-T;W)Y7`H@7`H@"0I<8B"\+VUY0VQA<W,N:`I<8C`@"0D) M"4AE861E<B!F:6QE(&9O<B!E>'1E<FYA;"!I;G1E<F9A8V5<"@D*7&(@O"]M M>4-L87-S+G!R:79A=&4N:`I<8C`@"0D)2&5A9&5R(&9I;&4@9F]R(&UE=&AO M9',@;V8@;7E#;&%S<UP*"0I<8B"\+W5S97,@"EQB,"`)"0D)"4EN8VQU9&4@ M9FEL97,Z('-U<&5R<V5D97,@=&AE(&]N92!I;B`O=F5R<VEO;BX\;W)I9VEN M86P^7`H)"EQB(+PO<V]M94UE=&AO9"YM971H;V0O"EQB,"`)"0E-971H;V0@ M4&%C:V%G95P*"5P*"0D*7&(@O"]S;VUE365T:&]D+FT*7&(P(`D)"0E3;W5R M8V4@9F]R(&]N92!M971H;V1<"@D)"EQB(+PO;V)J+VUA8VAI;F4O<V]M94UE M=&AO9"YO"EQB,"`)"4-O;7!I;&5D(&UE=&AO9%P*"0D*7&(@O"]S;VUE365T M:&]D+F1O8PI<8C`@"0D)1&]C=6UE;G1A=&EO;B!O9B!T:&ES(&UE=&AO9%P* M"0D*7&(@O"]S;VUE365T:&]D+F]T:&5R<V]U<F-E<PI<8C`@"0E$:7)E8W1O M<GD@;V8@;W1H97(@9FEL97,@;F5E9&5D(&)Y('1H:7,@;65T:&]D+EP*"0E< M"@D)"0I<8B"\+V1R87=I;F=#;V1E+G!S=PI<8C`@"0E04U=R87`@=7-E9"!O M;FQY(&)Y('1H:7,@;65T:&]D+EP*"0E<"@E<"@E4:&ES(')E+6]R9V%N:7IA M=&EO;B!O9B!T:&4@<V]U<F-E(&-O9&4@;V8@82!C;&%S<R!B<FEN9W,@;6%N M>2!A9'9A;G1A9V5S+B!&:7)S="!O9B!A;&PL('1H92!D:7)E8W1O<GD@<W1R M=6-T=7)E(&%L;&]W<R!F;W(@82!V97)Y('-I;7!L92!I;7!L96UE;G1A=&EO M;B!O9B!V97)S:6]N(&-O;G1R;VPN(%-E8V]N9&QY+"!S97!E<F%T:6YG('1H M92!M971H;V1S(&EN=&\@=&AE:7(@;W=N("YM(&9I;&5S(&%L;&]W<R!M=6-H M('-M86QL97(@:6YC<F5M96YT<R!T;R!B92!C;VUP:6QE9"!A;F0@9&5B=6=G M960N(%1H:7)D+"!T:&4@<W5P<&]R=&EN9R!F:6QE<RP@<W5C:"!A<R`N;FEB M(&9I;&5S(&]R("YP<W<@9FEL97,@8V%N(&)E(&QO9VEC86QL>2!G<F]U<&5D M('=I=&@@=&AE(&-L87-S(&]R(&UE=&AO9"!W:&EC:"!U<V5S('1H96TN7`H) M7`H)5VET:&]U="!G;VEN9R!I;G1O(&$@;&]N9R!D:7-C=7-S:6]N(&]F('9E M<G-I;VX@8V]N=')O;"P@<W5F9FEC92!I="!T;R!S87D@=&AA="!W92!E;G9I M<VEO;B!A(&1I<F5C=&]R>2`H<W5C:"!A<RP@<&5R:&%P<R`B+TQO8V%L1&5V M96QO<&5R+T-L87-S97,B+"!W:&EC:"!C86X@:&%V92!A;GD@;G5M8F5R(&]F M(&-L87-S97,L(&%N9"!V97)S:6]N<R!O9B!T:&]S92!C;&%S<V5S+"!W:71H M('1H92!A8FEL:71Y(&9O<B!T:&4@26YD:79I9'5A;"!D979E;&]P97(@=&\@ M8G)A;F-H(&%W87D@9G)O;2!T:&4@8V5N=')A;"!D97!O<VET;W)Y(&%T(&%N M>2!V97)S:6]N(&]F('1H92!C;&%S<RX@26X@861D:71I;VXL(&EF(&]N92!P M97)S;VX@:7,@9&5V96QO<&EN9R!A(&-L87-S+"!A;F0@86YO=&AE<B!P97)S M;VX@:7,@9&5V96QO<&EN9R!A('-U8F-L87-S(&]F('1H870@8VQA<W,L('1H M92!P97)S;VX@=V]R:VEN9R!O;B!T:&4@<W5B8VQA<W,@8V]U;&0@<V5L96-T M(&$@<&%R=&EC=6QA<B!V97)S:6]N(&]F('1H92!S=7!E<F-L87-S('1O(&QI M;FL@=&\L(&%N9"!W;W5L9"!B92!U;F%F9F5C=&5D(&)Y(&-H86YG97,@8F5I M;F<@;6%D92!B>2!T:&4@;W1H97(@9&5V96QO<&5R+EP*"5P*"4YE6%0@;&EK M97,@=&\@<&]I;G0@;W5T('1H870@24(@:7,@87=A<F4@;V8@;V)J96-T<RP@ M=VAE<F4@;W1H97(@=7-E<B!I;G1E<F9A8V4@=&]O;',@87)E(&YO="X@($AO M=V5V97(L('1H:7,@:7,@;F]T('1H92!C87-E('=I=&@@=&AE(`I<=6P@<F5S M=`I<=6QN;VYE("!O9B!T:&4@9&5V96QO<&UE;G0@=&]O;',N("!7:&%T(&EF M(&]U<B!C;VUP:6QE<B]E9&ET;W(O;&EN:V5R(&-O;6)I;F%T:6]N(&MN97<@ M86)O=70@8VQA<W-E<S\@(%=H870@:68@=&AE(&5D:71O<B!C;W5L9"!L;V%D M('1H92!I;G1E<F9A8V4@9F]R('1H92!S=7!E<F-L87-S+"!A;F0@9V5N97)A M=&4@<VME;&5T;VX@;65T:&]D<R!T;R!O=F5R<FED92!T:&4@:6YH97)I=&5D M(&UE=&AO9',_('-O;65T:&EN9R!L:6ME.EP*"5P*"0I[7&8P>UQ.95A41W)A M<&AI8S,T-C,@OGL#_^W<V."W+B!<=VED=&@Y-C`@7&AE:6=H=#DV,`I]"JQ] M7'!A<F1<='@Y-C!<='@Q.3(P7'1X,C@X,%QT>#,X-#!<='@T.#`P7'1X-3<V M,%QT>#8W,C!<='@W-C@P7'1X.#8T,%QT>#DV,#!<9C!<8C!<:3!<=6QN;VYE M7&9S,C!<9F,P7&-F,"!<"@I<9C$@"5P*3W(L('-U<'!O<V4@=V4@8V]U;&0@ M<V5T('1H92!C;VUP:6QE(&]P=&EO;G,@9F]R(&5A8V@@;65T:&]D(&)Y(&-H M96-K:6YG(&)O>&5S(&EN(&$@;65T:&]D(&EN<W!E8W1O<BY<"EP*7`I.;W<L M(%-T97!P:6YG(&]U="!A(&)I="!F87)T:&5R+"!L970G<R!L;V]K(&%T(&AO M=R!W92!W;W5L9"!A<G)A;F=E(&$@<')O:F5C="Y<"EP*"4]B=FEO=7-L>2P@ M:68@=V4@:&%V92!A("(N0VQA<W,B('!A8VMA9V4L(&ET(&UA:V5S('-E;G-E M('1O(&%P<&QY('1H92!S86UE(&ED96$@=&\@<')O:F5C=',L('9I<SI<"@E< M"@I<8B!->4%P<"Y0<F]J96-T+PD)"0I<8C`@4')O:F5C="!$:7)E8W1O<GE< M"B`@7`H@(`I<8B"\+W9E<G-I;VXN/&]R:6=I;F%L/B\)"0I<8C`@5F5R<VEO M;B!$:7)E8W1O<GE<"EP*"EQB("`@(""\+TUY5FEE=RY#;&%S<R\)"0I<8C`@ M0VQA<W,@4&%C:V%G95P*"EQB("`@(""\+TUY3W1H97)#;&%S<RY#;&%S<R\) M"EQB,"!#;&%S<R!086-K86=E7`H*7&(@("`@(+PO37E!<'`N;FEB"0D)"EQB M,"!5<V5R($EN=&5R9F%C95P*"EQB("`@(""\+T]T:&5R(%-O=7)C97,)"0I< M8C`@5W)A<',L(&5T8RY<"@D)7`H@(`I<8B"\+W9E<G-I;VXN/&-U<G)E;G0^ M"0D*7&(P(%9E<G-I;VX@9&ER96-T;W)Y+B!)=&5M<R!I;B!H97)E('-U<&5R M<V5D92!T:&]S92!I;B"\+W9E<G-I;VX\;W)I9VEN86P^7`H)7`H@("`@"EQB L(+PO37E!<'`N;FEB"0D)"EQB,"!,871E<B!I9&5A<R!F;W(@54DN7`H*?0IB `
Newsgroups: comp.sys.next.programmer From: gpopick@fnbc.com (Glen Popick) Subject: EncodeData: and structs Message-ID: <1993Jul1.221722.29672@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA Date: Thu, 1 Jul 93 22:17:22 GMT I am trying to use encodeUsing: to encode and array of structs and am not having any luck my structure is typedef struct { double d1; double d2; } MyStruct; and what I have tried is the following: for an array of 3 structs: [stream encodeData:ptrToStruct ofType:"[3{dd}]"]; I get the following message: encodeData:ofType: can't encode struct {dd}] for 1 struct [stream encodeData:ptrToStruct ofType:"{dd}"]; I get the following message: encodeData:ofType: can't encode struct {dd} If I encode all of the doubles individually ("d") everything works fine. Any help would be appreciated. Glen gpopick@fnbc.com
Newsgroups: comp.sys.next.programmer From: harit@kripalu.com Subject: Changing hierarcies and read: Message-ID: <1993Jul1.142113.5539@uunet!cbmvax!xmws!kripalu> Sender: harit@uunet!cbmvax!xmws!kripalu Organization: Kripalu Center Date: Thu, 1 Jul 93 14:21:13 GMT It apears that changing the hierarcy of archived objects makes thoes archives unreadable. I have a paletized object that changed it's superclass and now the NIB file will not open. Using GDB on IB I found that it was not even getting to my read: method. If this is incorrect please let me know. The implications of this to paletized objects is significant. It makes me wish NIB files were structured ascii files so I caould edit one to correct this kind of problem. I do not like having a NIB refuse to load. -- Michael Allen Latta Kripalu Center harit@kripalu.com (413)448-3288
From: riedel@cs.ubc.ca (Marko Riedel) Newsgroups: comp.sys.next.programmer Subject: Nasty surprise. (DPS) Date: 2 Jul 1993 01:55:27 GMT Organization: Computer Science, University of B.C., Vancouver, B.C., Canada Distribution: world Message-ID: <2104if$81r@cs.ubc.ca> Keywords: DPS, stackoverflow I'm currently writing some code that relies quite heavily on pswraps for drawing. The program stores data in PS arrays between drawSelf invocations. It works fine, until I give it some truly monstrous image to chew on. (These aren't bitmaps, by the way. They're drawings of scheme environments, pairs, closures and the like.) I get the following error. DPS client library error: PostScript program error, DPSContext be128 %%[ Error: stackoverflow; OffendingCommand: 1 ]%% Seems pretty clear what the problem is, but how do I fix it? (I've already had a "dictoverflow" which I fixed with begin & end & a dict 384 entries long.) Thanks. Marko R, Riedel, riedel@cs.ubc.ca --- sample pswrap code included below --- --- this stuff uses DPS to store links ("arrays of points") --- -- NewsGrazer, a NeXTstep(tm) news reader, posting -- M>UQR=&8P7&%N<VE[7&9O;G1T8FQ<9C!<9FUO9&5R;B!#;W5R:65R.WT*7&UA M<F=L,3(P"EQM87)G<C$R,`I<<&%R9%QT>#DV,%QT>#$Y,C!<='@R.#@P7'1X M,S@T,%QT>#0X,#!<='@U-S8P7'1X-C<R,%QT>#<V.#!<='@X-C0P7'1X.38P M,%QF,%QB,%QI,%QU;#!<9G,R-"!<"DDG;2!C=7)R96YT;'D@=W)I=&EN9R!S M;VUE(&-O9&4@=&AA="!R96QI97,@<75I=&4@:&5A=FEL>2!O;B!P<W=R87!S M(&9O<B!D<F%W:6YG+B!4:&4@<')O9W)A;2!S=&]R97,@9&%T82!I;B!04R!A M<G)A>7,@8F5T=V5E;B!D<F%W4V5L9B!I;G9O8V%T:6]N<RY<"EP*270@=V]R M:W,@9FEN92P@=6YT:6P@22!G:79E(&ET('-O;64@=')U;'D@;6]N<W1R;W5S M(&EM86=E('1O(&-H97<@;VXN7`HH5&AE<V4@87)E;B=T(&)I=&UA<',L(&)Y M('1H92!W87DN(%1H97DG<F4@9')A=VEN9W,@;V8@<V-H96UE(&5N=FER;VYM M96YT<RP@<&%I<G,L(&-L;W-U<F5S(&%N9"!T:&4@;&EK92XI7`I<"DD@9V5T M('1H92!F;VQL;W=I;F<@97)R;W(N7`I$4%,@8VQI96YT(&QI8G)A<GD@97)R M;W(Z(%!O<W138W)I<'0@<')O9W)A;2!E<G)O<BP@1%!30V]N=&5X="!B93$R M.%P*)25;($5R<F]R.B!S=&%C:V]V97)F;&]W.R!/9F9E;F1I;F=#;VUM86YD M.B`Q(%TE)5P*7`I3965M<R!P<F5T='D@8VQE87(@=VAA="!T:&4@('!R;V)L M96T@:7,L(&)U="!H;W<@9&\@22!F:7@@:70_("A))W9E(&%L<F5A9'D@:&%D M(&$@(F1I8W1O=F5R9FQO=R(@=VAI8V@@22!F:7AE9"!W:71H(&)E9VEN("8@ M96YD("8@82!D:6-T(#,X-"!E;G1R:65S(&QO;F<N*5P*7`I4:&%N:W,N7`I< M"DUA<FMO(%(L(%)I961E;"P@<FEE9&5L0&-S+G5B8RYC85P*7`HM+2T@<V%M M<&QE('!S=W)A<"!C;V1E(&EN8VQU9&5D(&)E;&]W("TM+5P*+2TM('1H:7,@ M<W1U9F8@=7-E<R!$4%,@=&\@<W1O<F4@;&EN:W,@*")A<G)A>7,@;V8@<&]I M;G1S(BD@+2TM7`H*>WM<3D=$;V-U;65N=#<X,R!L:6YK<RYP<W<*-C(V,"!- M)UE6,#LM*E@V,R\G(3E063U08$@W+$)02#PN)R0B+2I')$)1*$A"*RU&(V!@ M8"1@,2A2+RTV*5!/)T,C"DTA2%8M)S)>2D,G)D-12%(M*"9+,$(D)R,Q3$PX M+44W.D(B)T,Q3#XJ,"@L*B<T2E1*+29#,BDL2C<\2E0*34HU+D<B15I(-"E@ M8%))3%D]*CHL1#DL)B-!5#`]7C(D+C!#(E,A3%DH+DLL*C`M(BA@0$LT6E)$ M*C<N)PI-*DE,5SU52E`J-BY'(R%,,#DL,SXD-T`F06!$,#L\*E@B-RY&,RE, M4CM+6EXL,"U"4T%`5$--12)-22TF"DU304Q70U(L(S-,+3@[*4Q9/4`T,BTM M4%8\0419.4PJ+"HT+34S(5LD.#XR3#XP+2)#2$\^/%Q'6#DP)EP*34,G8%8P M+#@T2R(M1D,H3%$X,3)(/BHD0%I-,"103%0H,R0L1U,^/%E++4Y$3#Y2-T,^ M*%([73$J259:/0I-.D\[35<[7TM@(250."Y?5%<]5C0P,U4]4#=/73DL)C56 M(4E>2CD[/2<B0D0T)50I72I&)E96*BU!-#DG"DTU)V!12#5(,#Q(055643A` M/6`E."8V.3`N*#8E8%(W04%'(5@^+S%!0F!(4"9@.#DY*")`5U%4+2--,T(* M3395+"1@,BXI.ETR6#%`3")(,D)"0T8S4"(L*#XU*U4P6#@T.4%))"<U,5!. M+C$B)B9(*#!1151/0$`C)PI-)E<A8$(R+B\I2B@H4$0X/CY)0#TU-2I.)#8X M.3XB,CE924A)3T=$0D922EXF+BXY/SA@0#%)8$LU1SU#"DTX55XE6#XN+5T_ M5#@I*550)S4D)B<T.5(V)D`K3C4W*3%513=+339!0BA(4EI"(C(B,D!943$E M)DQ'13D*34=95D8B,"HG*SA!)"E*14DT3D=$1#4Q0350/#PX6"A@*BA:0"Y% M028G*V!&6"I.1T@^*%%:249>*4Q@1@I-/5LG1DXX/C8W*"HP.5%)1EXK-#8U M-T8Z*3$X.SLJ8%E(1D@J62M'1T(W5$Y6*4U#.U\Q15DZ8"PO1TE("DU')2TH M,#99/R\H2T@[04]%148D1$E962HD/E)0*"M*65LY,2T[2D!-0UI;/E%*1DQ- M)EE4*E536EI!22<*34LL34XR/DY3*#(Y,%LU13<Y24Y@1C]56E)>/CE834A) M6%%/(D`T8"<[6#0R2D%*,#Q:.CA81E=#33,C)@I-.5]*+3PS*3H\(2<I2%$L M1%1>.DE32DM1-R,J7B4R.%%146!40%)@2B9*,")*54@V,D!/*RTK)2XC6#$E M"DU5+U$V6R9$,UY46ST[6D=?2T4G4$HP+%,V/C<A.2Q1.EI<*3,\+E502UM9 M4DXG,DPB8"Y&341"5T)",E(*33(D34LV/#XD435;63%).#)455=45#1',T\V M4CHU7DTW-BE),"Y>6DQ815Y*/4,W1$11/"M+.S%,/3DE3`I--E$U/S\J5R8G M*#](+#M`0$I643\X)B<P(B0]3C@S42915DY(-357)B4V1C`P,#\S.%TR,2@V M,515)#TW"DU;2T]7-C\T.DXN3RY-*3)7)%Q>5",H0S5<,3\H34!<425`0EU? M45HY7"TC,3Y..U%532Q*)$\W+"I?)B8*339=1RM@.U-0.DE33T%/)4E&3E\V M7B]6*E(N+#$U/"A%02=%0UU@0%)`6E)#-#Q+,DT[*558.$`H0$A&-PI-25$C M.$Y'3UE"4$$].EE*25A@*2$A4C5*-#0Z0C9)2B0U0#I$530D5$E,*SM(0C`X M34(M/$-065)*8"T["DU"*39&62$U3RL\)#-2+R(T-5LZ(4$J7%)"7BL^-B9* M6"%/1ETC6#M,/%%<+UP_/$HF*5DA,%4R.50^358*33%1-T@P-EXC+S\N0#HJ M(S<A3D<A6S`U+C)@*S9/)3I1,T-'03Q&)",P,3E-+30I0CXQ)4I)04I#5T8A M)`I-44I>.%PX34M(6%9/(TDX8"XC2"%#,C<\.#LF-C$Z7EY'+%$Y,5I+,4A' M02,L/%LQ6S=`1DDE-4Q6)F!)"DTL7S@A.$<R(TA>,TXJ*BQ2+R):+S<]2$,X M3DM5,58T*4Q)+D`L5C)13"XH.6!!5%(S.$14-C!)-UXC-BL*35$V25-#*3)# M6B@Y6"\S/EQ8,D\K*$XT.R)@,2@Z+R8P0%4K7$),*&`]7#0J03`D2S@Z2SPP M*"(Y1T)%)@I-.U=*32$M.%%:,"$F*%%$,T8^(EI%,49%0C$T7#9'+2145%-& M)D8N1%,Z7%TL0"0G6%(X53`Y8$HT2"8M"DTB/2XD-D-.*34\03A?0RHJ4S$R M1DL[65)3-S1*0R)6*D(])R%30R(G+"\P135/5DPY0U$U2CE`648F/58*32)@ M54,O7#4Y)CXZ5%PT3"M',"U3*$])+3XF*%,Q32,S2B%`3D9-(BI"0B4V.#HB M(SA.6D,T2$-:,DA$20I-,30N3"U-*2)96R0S/D8Q*$!15%9:/#Q74R4R.5(K M+DDG*#%73$5`.2@P33-&*5=8-R4B(U0^4S0B)4$H"DTZ045(33`J/%I/,C,O M3S<U-#HV6E4J.T9=*D4Q-3Y)+4<X2S4V*%=!*T9-.4A$45U),55,43Y**%Y; M1CD*32LD)5<S7B0D/%97)#,B/3Q#+6`Y2R4S,S`]8$LY43Q=434\63TA+D@H M*4,A,3Y%*24[52Y(.R%>.3(_70I-(4M/-T]-*2%'22Y%-4)#348P8$A60S8_ M/BPT,3DO52DQ0DXA6E9@4#DZ*D\J1D\X/3LK5DPE(T4J0$)6"DTJ13I8+2PD M32Q&8$HV,SQ20%A1.#(P64-")34[+30Z429#.2\^,T(L6#A2/#E=4#M@128F M5S,N3B-9+#L*33$H)%PL*D181E0H)5LX+C-22B(P+"U"4V!70%0N8#9$3CPD M+35`)"\A.R4K)UQ"/$@W0T0M.EP[5F!,-PI-7CHZ5S-&4$0I-T$Y2B576D5) M/49;*50Y)R99,TXL6UY=6U->33Y=-3`F(B-)3"M!.U14)%`Q+R-13%`O"DT_ M2#8J-4131R8O3E8S,T)&-#A.(D,Q-#9//D1`+35**4,R)U8E,5-?(CQ%0D@_ M*5H]*E-#53)!.3=0(D,*320D/3<P8"U75BHH7U]/-DA13CQ-0%Q7+C!#/"-2 M4S\A+21-3T0X)%Q744Q37CM962Y7)BQ"3U%`4"]&2@I-3BPU(EDO-#96/$$V M1T$N/40V4CPI/#0X3C,D4U8[7%E70R8N74(^.R=17E@Y0SQ;*3(Y-4HT*5<_ M048V"DU46RDX-CA!7$Y#3S5;5#M-/%A/6E-#(CY6.B=%0U@H0CTE7SXM5&`_ M3#11+$!26U0Z5R-$,%%9,5@P5TX*32A#,38W0BY",DI/1E1)1C8M)4A843M@ M4CDH1RLO+%LQ0T@K-DQ66TE:-BU?.44B0"8^5D`O7EHN*SY$(PI-)T\[,%I# M3SHD)V!`0U0[-"4C4%U$)$PO0#T_2EI;,ULK+U8F.%5>155;5U)%(2A",BU9 M3S--3B)'7"I`"DU`6DLM.DXD1"Q8,#=1,V!4*EX[.2Q",5-&+#0D.58P1S(N M)CXI,R\E6U502$Y7/T8[1R(M/%LG,3\M+#P*331%1S)#.R,A0SI7-#U22TE* M)%HE,44Y4CE(4U<X/TTY64PH6$1*6E]`2$PO0%XB)BQ>4"5(6#Q-4$$A3@I- M*%4J+$M5+T,J/DE8,D4^6C,X.ETJ8"11+"U24%<T/5%"7BU:4#0T,%4E/TTQ M2DQ*.D9252I1/2A24EQ>"DTA6SPT.#HP4S-53RU)-#Q71#Q57"-')C!@7&!) M+E`T1U0N-4HH*CQ44E)-7EPY1DE-554Y3$M&-%<^1$D*34E=7"$Z04I?0SPR M1UM/*RI.+#=$+#TJ6E0P+#XM2BPM-RQ9/B%6+SPJ7D=0-4@K+5I70R0N75=- M(R<D(PI--UU,7CPI15M8+D4B6$$K35Y72%DV7S12-EI51S=?.%DW8%%"-5$B M1D@F+%,_(C4E*BU!(B)603!@7BLL"DTH8#A56B@J(C]$.5DZ+B<R+S9+2RLT M5D=@*#<\5"8G1SLN15@X44H[-BU=5D\K0B\S458C.4TZ)BI++D4*330B.T,C M/2M+1"%-/SA075A$45HO13M:(F!+02PH,%LD-5U<,$PD8#Q95"Y?7B0O*$!( M*#A!*#A+-#PX6`I-0S9%3U$W/"='3BDK-S(A)2@D+4-*)UU>+5HR7RPU1EA4 M-4<R,"Y#5RHS7D4H)D)>3DI%.5\_54M?5#M*"DU(52=?54$[0%@Q.UHE5S]= M05<_.T%2+2A45TU?.%)>/UU`.R\E5U1>-%8L+BXC3RPM2"=&,5,R3%E72E`* M35576T\U4#E8620L03XC-$-=4UM$+3<E-$562#X]-4182$@G,B%3-#TU52LV M,5@G,SE5*RM-52A9-%=*-@I-45)(/4HG,#\J(T5#25<L2S(A7UQ%)RU.7"@E M4%0W26`V*#`W)54A4%!2(CI15T<D4#=&/B17)2U=5S!/"DT^)U<R(50X1$HG M644X*"E,-2<I.5XG-3LZ*"Q#6B-8158G62HN8#4T3"4I2BU8.T95(DTK6B@E M)2XH,2D*35HH,2=**"E%)5`L6$PG22Q>)TDE5B<E+SXE2E$H2#4T6B$D4R0G M2$(M1T%78"0X4%8D)3Y**#E`1B@Y)`I--B<X55U!-5%:)CTL25<\54(G5C9: M)UHU3B<W5%4B35XB*$%6-B<X4T(H,#\N*"%87B@F1T(B+B%>*"1""DTT6$`B M/3A"1R1`+BLR(5!2*&`N+$(H-B(M4#8Q/B@M6$XH.#TQ6#H^*BA1/%8D)D%. M*#I17BA*(SHE)5`*35PX.T],6$9$2$)26$Y@-EU6)T=,.2@V+38H.C!.*%,D M0B@P02(C-DI16#LQ+B4J.5XD4D1&)EU%0B0_(PI-5BA20SXH45-")CU3.3A> M.D$X7EDE5DQ`+"9,7B1'4SA84T]**%%*3U111DHX4D!-5%=;+%5'2"8J-E<K M"DTE2"0L+C9+7EQ'/%U01B4_/%-2-%U$5CE$1"0W-C9;/R5$.$(])B=,4B5? M5%E&5T!`1EHN53@I7R$W0TT*33E)*T0U)#M.5B@J)5E6.$4Z-EM634<W4#U# M44Y!5T-;/5,W7DU',#Q),4A;,C),)#%8+%U.-SPI251;/@I-325@*%E6-5U9 M62-((5@X7D(R+TXP0T,M+$8E-28R+#)46%DL75@W4#523D5%0C5=3%DU1"XH M43<H42E!"DU*.3<M3$=).5(R4E1,2$D^)C@Y/%XX5U%*(BE)3C0U3B(Y.TTX M1DA1+$D[+6!)/C1>*35+550T-EHG3#D*34XH42$Z-T%/158V+BHG/3I6*3$] M/2<^)$%2+5HA648_6%1,6#%9)C1*.#8N+BDM(T(R+6!,5T,B1#A>1@I-7%9* M2%!87UXB)U%?129.0DPQ1CU<,40R/$DC(5%"6R1-0#HW-4`Q3E`A1CY@,4M@ M2%90(E`V4EA*.4Y0"DU*-DP\2BE$-DHS-TQ)240W22)&2U19)$TZ.2Q18$9: M5RA&6%XV*2]'341?24E)*BA9.2<Y(2DM+"E9+SL*35XY4#0I,RA9*C=@7$HY M5%]:-%M&,CDQ4DE)5$4Y.48L6C=</E57(5Q!645`.%DX0"0I428X(4@]12(I M10I-*CA90$593ULF,TP]/2%-1"8I/3`I6B-<,C`Q-SQ:(B$J."M92CI@)#)` M,3`X5#HE7C@B)S(X)BE*,CHG"DU165M1)CA14R%97V`N*48]0CDQ+CHY7#)= M5%1`,DHI355:)D!*-T%+4"0F1%HV2S]02$<U8#%%1#PA(S4*32@Q-30H,2(F M)4%.4SPQ75\H5"Y(1#`B5SE"1BHA12%#+"%-4V`A6E9!041`.&`^65@Q54I< M-DE48"%:,PI-8#%"(F`U6%,L64M=3#HL2E@B+T!4,5]?+#4U-SE2/B5`0"HS M6$HL0$A@*B5$0TPJ1$=!)5A"(4\R0#@J"DU`*BQ:6D%<0"A$+"$L0#=*5%0\ M)2Q!8$A0*CE52D(A53))-T]@2"160$H^2$@Z/SI@,B%'(D(N)3A$3R(*32PZ M0D(T.CQ;-"$Y.#Q'1CDZ0#H[(D`I640J14PN05A3)%8Q(RE`/B9*04I98%`H M3S!8(D4B1CU'-#).6PI-+$,I)R8I2%%61DHL-D%5159*/E,U0D!'6%E*6RHR M)C9>038E2D`B)T)(/V!&.4Y/4CE.,3PZ/$=$2CY;"DT^1S9=2D%(1SQ5.R]) M0ULC6D(M4#I*4DHF254H4B93+DE%)RE%2DXN4DH_,EI#6EX^03HV*29+.4)* M1DT*35PQ-B-%2D@C3#I*(TE)8#$F)DH[*4`_+D9*+BTF2E18+$I4(SPS*"4J M,#]-5DI74DY`.DM"2E`P)C`X)@I-,CI;7B)!/"%%*CHD.DLC/"Y*7SY21"%7 M)")<+DY:/C!"0BPQ2E%*,5A","E(0&!"0#DY02Q3.5LL-UDL"DTP5DLZ130C M/"Q$3T0J03<^03,G05U:-"\N4#8^2D$Y2#0B0"A(0B-6.%,Z3U!")D5<6RQ% M1$DB.4TZ7%H*32)%,#PM*5A(64E7/R(B.$Y61ETF2BE834Y)03A:*5DG*CHH M*EE8*"PY6BD]028U0%!8/#=56S5!-5%%+PI-/#LY2$9;.4I.6SE,5ELY3EY; M.5`F6SU2+EL]5#9;/58^6SU81EL]6DY;/5Q66SU=4E-!6#(U64XX45\G"DU: M,EPD)%,A1#A6(B<^4SI1*$<Q43TH,B,V629<,$0]4BA3-5186T(N)EDK6"4R M+5PH4S5>.%8T*2@C038*348T1%A14#$F*%5<0#`C1F`J6#%!,%E=/T%$66!- M.2E+8",V3SI87C<\1C0P*5-(.3!1-2-.6%Q,/$DA.@I-5D-).F!#3E(P4TTD M/E53)5!92RHM-"]053)?)UA4*RM<4E\H7E-00S8S7S4\4U<J2E0O/EA;44D\ M1"TG"DTZ4T\S13M44EDH7S\D4U].2%(K1#14*UDL4#5,54->,"5;4")1(E9? M04DA0C!$)$XZ4BPK/2M<75!()SL*334Y)CY25E1,5CM>6$A&5RU".5,O/C4_ M,EH[,T])(4I)020I53%)*DI@.U<T*30N(S`T+BI*44LN130O,`I-230_1EI1 M.R]),5Y3+40Q-3A$,2A%8"))334Y+DDK,U@Y)B0R44A8.DE$-B5>4DP^)40Y M0T4I+%0Q3"TZ"DT])E]0348I1%4F*$HM1BQ31C1"-&!:0D!-(E$D,31".T4V M/3=27"$[-4)&3%TK-%XK)BU;,51&3#Y375H*32TD/%PM-$)@.2PP4B$D2U@N M)$A(321-4DTL,"-4/")+.28^3R4B5CPM-$PW-RPZ53TD3B%))$Y<028W10I- M/44_(S$A-SDF-%M`-$P^0#$Y541"*S0]23P\3R(Y,3<J5EPR33==+"Y<0S=6 M)4$O+E15-RQ47%%.-2(P"DTG(TDI*R0]7%,L*T@I2S=!(5@T(S4U8"<U.THN M+RE<+%DP."Y%-2E#+R9>(DLB*E(M5"D]*E4H.UI')RD*324E*#91,SLZ6CQ* M7CQ(*$PY/$I1/$PH7S4U+RA5,"DV334M)$<E-"E,)TA<*$PE(U4\-R0S)4TS M63$F6@I-+3<N42DU.34Q-3DG.R4Q*"DU.%%<+%$W)3Q7+2,L4S1++%%&034Y M,R4U+R)%,#E.63)-4$$Q-THN2BU-"DT_*DX_03Q'6T$L/BXM-4I25EPK15XU M0C8M.2XI039>05!<03@R+%XR43<V3UDX*C,S*4I"/2Q&0D0\1U@*35<E23-. M/$8F7B4I5$@U.#$A/6`C(S,W/#,B3RPS(DY6035/.D\E+EQ9-4Y9)#513#D\ M6R0A-R<L*%PD/PI-4RM12U$S4#E/*U,Q53PY12PE5$DG/"E`,%`S7BD\(SU) M-5PU)55;0UDY4"H]1S16/S8L25Y563Q9(ETG"DU91C%//45?5TE-+54Q5EM= M03TQ)T,Q."(Q1B$\2$)5,5,X(2E-1F`M74M$,2U&)%4^-3\T7CPJ(2945%,* M33LB,%5++"%'025`1C%)64A3/"Y3+50\2CE<-#XV0E%6020]-R,Q/4DM0TU+ M648M.#LZ25$U0E$F.48O.0I-73TM*UU&.2@]15DP+40K5S%&-#`U0E%`3EPA M3DLD02Y#+#E0,ST]0C5!030[)CHF0STQ64<V2TU:5CM2"D@I-C%?,SPY2S@L M."];)C5)*R1*4UDK35XH1D]')E9'62))(BE)12XP0#):+CE$(E`[-D%/8#9+ *30I@"GT*K'U]"EDK `
From: toon@moene.indiv.nluug.nl (Toon Moene) Newsgroups: comp.sys.next.programmer Subject: Re: [HP/NeXT] - NeXT Hiring Software Engineers for HP Object/Enterprise Development Message-ID: <469@moene.indiv.nluug.nl> Date: 1 Jul 93 20:08:31 GMT References: <9306302240.AA09789@toto.NeXT.COM> Sender: toon@moene.indiv.nluug.nl Organization: Moene Computational Physics, Amsterdam, The Netherlands In article <9306302240.AA09789@toto.NeXT.COM> Conrad_Geiger@NeXT.COM (Conrad Geiger) writes: > Please send your resume to: [ ... all the good stuff one comes to expect in a personnel advertisement ... ] Conrad, did you intend to distribute this question worldwide ? (Be careful, the answer might not be the obvious :-) -- Toon Moene (toon@moene.indiv.nluug.nl) Kantershof 269, 1104 GN Amsterdam, The Netherlands Phone: + 31 20 6982029; Fax: + 31 20 6003411 No Disclaimers; a NeXT@home protects against this occupational hazard. NB: Strictly black hardware here - No Intel inside :-)
Newsgroups: comp.sys.next.programmer From: bhill@physics.ucla.edu (Brian Hill) Subject: NS 3.1 c++ support for c++ beginners [Was Re: g++ and gdb work in 3.1 (good news)] In-Reply-To: magnus@fisher.Stanford.EDU's message of Thu, 1 Jul 93 14:08:51 GMT Message-ID: <BHILL.93Jul1185736@spike.physics.ucla.edu> Sender: usenet@physics.ucla.edu Organization: Dept. of Physics, UCLA References: <1993Jul1.140851.11066@leland.Stanford.EDU> Date: 1 Jul 93 18:57:36 The referenced post says: >I just installed 3.1 on a NeXTstation and immediately tried to install >gcc-2.4.5 and libg++-2.4 to see if it would work with NeXT's gdb (which is >4.7 in 3.1). The good news is that it seems to work ok, which is great, >as it means that it will be possible to use a much better C++ >implementation than before without giving up gdb. >The second piece of good news is that gcc-2.4.5 compiles without a single >warning. >The not so good news is that libg++-2.4 needs some fiddling. If you are a beginner (like me) and just want to get some example c++ programs running you don't actually have to go through those installations. NS 3.1's compiler is based on gcc-2.2.2 which has c++ support and assumes that files with a .cc extension are c++ code. You didn't get any c++ libraries with NS 3.1, but for starters, you can use the standard C libraries. For example, to use the standard C string library, you write: extern "C" { #include <string.h> }. Once you get much beyond helloWorld.cc, you'll want c++ libraries, and the author of the referenced post explained to me why you'll want to perform the installations described in his post. He said: >The logical choice [for c++ libraries] is of course >libg++. The problem is that the latest relase >will not compile under gcc-2.2.2, so if you want that, you will need >to get a newer gcc as well. You can also get a slightly older libg++ >version, and try and get it to work. In my experience, the most >efficient alternative is just to get the latest from GNU. This also >enables you to keep up with their constantly improving C++ >implementation (in contrast to the ANSI C part, which is very good >already and very stable). Since gcc is so easy to install, I think it >is worth getting. The problem till now was that NeXTstep 3.0 came >with gdb 3.x, which was very old, and didn't work with newer gcc. And >gdb, in contrast to gcc, is very difficult to port. The last two sentences are the reason why it is much easier to get going on c++ now that you have NS 3.1. It is the update of gdb more than the update of gcc that we have been waiting for. For those Objective-C programmers that haven't even looked at a c++ book yet but are thinking of doing so, may I recommend that the way to read the standard book (Stroustrup, 2nd edition, reprinted with corrections, February, 1993) is: (1) Read just enough of Chapter 1 that you understand cin, cout, << and >> because these objects and operators are used in the examples (chapter 1 was otherwise useless to me, and a considerable barrier to getting on with the book). (2) Skip to section 2.3.10 on "references" (a huge violation of C's principle of pass-by value). (3) Then skip to 3.2.6 on the "free store" (this facility helps do what the alloc: and free: methods do in Objective-C). (4) Then skip to section 4.4 which explains the extern "C" syntax noted above. (5) Finally, dive in to chapter 5, which is where the book really begins. Once you've read chapter 5, and particularly the paragraphs at the end of section 5.3.1, you'll be hoping more than ever that Objective-C survives. --Brian Hill
From: David Apfelbaum <da0g+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: Re: DBDatabase question Date: Fri, 2 Jul 1993 00:53:16 -0400 Organization: Sponsored account, Mathematics, Carnegie Mellon, Pittsburgh, PA Message-ID: <wgAvwwe00WA7NAxk1x@andrew.cmu.edu> In-Reply-To: <YgARUY_00WA70vZFIG@andrew.cmu.edu> Excerpts from netnews.comp.sys.next.programmer: 30-Jun-93 Re: DBDatabase question by David Apfelbaum@andrew.c > [dbDatabase connectUsingAdaptor:[dbDatabase defaultAdaptorName] > andLoginString:((connectString == NULL) ^^^^^^^^^^^^^^ > ? [dbDatabase defaultLoginString] > : connectString)]; That should have been: if ([dbDatabase connectUsingAdaptor:[dbDatabase defaultAdaptorName] andString:((connectString == NULL) ? [dbDatabase defaultLoginString] : (const unsigned char *)connectString)] == NO) { -connectUsingAdaptor:andLoginString: is the private-API method... -(BOOL)connectUsingAdaptor:andString: is the public-API method... Sorry for the confusion... -David. "(Caffeine != Sleep), even for >>Caffeine."
Newsgroups: comp.sys.next.programmer From: harit@kripalu.com Subject: Re: Colored Scroller backgrounds for positioning in Edit Message-ID: <1993Jul1.225717.7094@uunet!cbmvax!xmws!kripalu> Sender: harit@uunet!cbmvax!xmws!kripalu Organization: Kripalu Center References: <GBOL.93Jul1080938@nos40nm.shell.com> Date: Thu, 1 Jul 93 22:57:17 GMT In article <GBOL.93Jul1080938@nos40nm.shell.com> gbol@nos40nm.shell.com (Gregory B. Lampshire) writes: > > In article <1993Jun28.011648.7520@lkba.uucp> uunet!lkba!lkb (Larry > > Blische) writes: > > > > > I've been thinking of a new positioning capability for > Edit: > > > [stuff deleted] > In a similar vein you could write a program that would scan a file > for marker comments and present a browser then tell edit to go do a > selected line number when the user selects a function from the > browser. > > But I agree with gregory what I want is a real code browser like > Smalltalk that is organized into classes and method categories and > methods. > > > The biggest problem with the smalltalk browser might be > having to be backward comp. with source files. One typically > makes #defines and static funcs in misc places in a source > file. Where would these go? The only solution I see is > to have the definition for a method and have a ``before'' and > ``after'' button which allows you to place code either > before or after the method declaration once the source stream > needed for compilation is generated. > > > I am doing some rapid prototyping to see what some of the concerns > would be in such a browser. Would I don't like is the lack of view > sensitive popup windows like smalltalk's for manipulating individual > columns of group/class/category/method definition lists. I wrote a > hack PopUpMenu class (on sonata) which violates every NS interface > guideline but does the job, but it looks like to much trouble to have > to redefine a NXBrowser class to get the menu instance variables into > the act..... > > gregory > gbol@rglnext.geol.vt.edu > gbol@shell.com What I have seen done is to use the title as the popup button for different menus on each column. This would only require a subclass of browser and a popup menu per column. -- Michael Allen Latta Kripalu Center harit@kripalu.com (413)448-3288
Newsgroups: comp.sys.next.programmer From: bhill@physics.ucla.edu (Brian Hill) Subject: Re: NS 3.1 c++ support for c++ beginners [Was Re: g++ and gdb work in 3.1 (good news)] In-Reply-To: bhill@physics.ucla.edu's message of 1 Jul 93 18:57:36 Message-ID: <BHILL.93Jul1214004@madonna.physics.ucla.edu> Sender: usenet@physics.ucla.edu Organization: Dept. of Physics, UCLA References: <1993Jul1.140851.11066@leland.Stanford.EDU> <BHILL.93Jul1185736@spike.physics.ucla.edu> Date: 1 Jul 93 21:40:04 I now realize that although the exchange I posted pretty well completely addresses C++ support, it doesn't address how to obtain the seamless C++ and NeXT Objective-C language support that I was hoping we were going to get in NS 3.1. That is, gcc-2.4.5 probably doesn't contain NeXT's current implementation of Objective-C, so in any given module, I either don't get NeXT Objective-C or I don't get the latest and best version of gnu's C++ compiler and libraries. Someone else who read the exchange I posted put it more colorfully: > Well, I wonder what happens when you install > gcc2.4.5 (current) now that objC support is there. > I wonder if it fits seamlessly into NS or barfs when compiling > all/some NS apps. I'd certainly be interested to read compiling and linking recommendations for projects that contain both C++ and Objective-C code and comments on how well gcc-2.4.5's Objective-C does with NeXT apps. --Brian Hill
Newsgroups: comp.os.ms-windows.advocacy,comp.os.ms-windows.programmer.tools,comp.sys.next.advocacy,comp.sys.next.programmer From: kevin@pages.com (Kevin Sven Berg) Subject: Re: HAL-PC NT vs OS/2 Shoot-out Message-ID: <1993Jul1.182654.8229@pages.com> Sender: kevin@pages.com Organization: Pages Software Inc. References: <RICE.93Jun28121100@kuwait.gdfwc3> Distribution: usa Date: Thu, 1 Jul 1993 18:26:54 GMT In article <1993Jun24.203607.16617@CSD-NewsHost.Stanford.EDU> yue@loon.Stanford.EDU (Kenneth C. Yue) writes: (George Rice) writes: > I use Visual Basic because it blows the socks of an ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > other rapid prototyping language in the world. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Does anyone who has used both NeXTSTEP developement tools and Visual Basic care to comment? I have never used Visual Basic, so I don't know how it "blows the socks" of NeXT Interface Builder and AppKit. VB tightly binds code to GUI elements. You literally are able to drag out visual iterative tools (buttons, directory browsers, etc), click on them, and code the click 'method'. This gives you the freedom to re-arrange placement, but not GUI expression (i.e. associate a certain control with a slider vs. buttons). IB allows a greater degree of separation between interface and code. VB is very strong in making everything accessible in one environment. IB/PB/Edit/GDB interact fairly well through NEXTSTEP, but are not as well integrated. You must always include VB's DLLs with your app that are appropriate, although these can be shared between different applications. Same is true for any custom controls used; additional *.VBX files. NeXT shared libs come with each machine, and bundles go a long way in cleaning up excess clutter over Windows. VB 3.0 allows quick and easy support for Object-Linking and DB Access. I suppose the db access is moderately comparable to DBKit (I believe they can handle SQL back-ends). Although NeXT Object-Linking is a snap compared to OLE, VB makes it easier to implement than NeXT. Perhaps the integration level is more akin to NeXT's Services ability. Pour moi? NEXTSTEP of course :-) regards, Kevin -- Kevin Sven Berg / / / / P / a / g / e / s kevin@pages.com / / / / / / / / Pages Software Inc. / / / / / / / / San Diego, CA. . . . . . . . .
From: mcconnap@NeXTwork.Rose-Hulman.Edu (Andy McConnell) Newsgroups: comp.sys.next.programmer Subject: Help: Using PrintPanel with AccessoryView(s) Date: 2 Jul 1993 14:52:25 GMT Organization: News Service at Rose-Hulman Message-ID: <211i39INNgh@master.cs.rose-hulman.edu> I need to create a PrintPanel (like the one in Terminal) that gives the user the option to print All or just a Selection of a particular subclass of Text. I can add the accessory view and get the user's choice _easily_. But... What is the best way to override printPSCode: (or some other method) to print just a selection? I have looked at all kinds of example code and books, and I'm tired of bashing my head against a black box! -- Andy McConnell mcconnap@nextwork.rose-hulman.edu Fluid Science Learning Center Developer Lt, USAF CS BS '93 Rose-Hulman Institute Of Technology "The beaurocratic mentality is the only constant in the universe."
Newsgroups: comp.sys.next.programmer From: gbol@nos40nm.shell.com (Gregory B. Lampshire) Subject: Re: Colored Scroller backgrounds for positioning in Edit Message-ID: <GBOL.93Jul2082308@nos40nm.shell.com> Sender: usenet@shellgate.shell.com (USENET News System) Organization: Shell Offshore, Inc Date: Fri, 2 Jul 1993 13:23:08 GMT >> hack PopUpMenu class (on sonata) which violates every NS interface >> guideline but does the job, but it looks like to much trouble to have >> to redefine a NXBrowser class to get the menu instance variables into >> the act..... >> > >I'm just curious, but why would you have to re-write the NXBrowser to >do what you want? Maybe I am just confused on what you are trying to >do, but I am currently using a very un-modified browser to handle an >extreemly complex (and dynamic) data structure. >Exactly what are you trying to do here? to get context sensitive pop up menus (not buttons!). Since you cannot add instance variables via categories, you must rewrite.... gregory gbol@rglnext.geol.vt.edu gbol@shell.com
From: cc100aa@xray.gatech.edu (Ray Spalding) Newsgroups: comp.sys.next.programmer Subject: Re: Help: Using PrintPanel with AccessoryView(s) Date: 2 Jul 1993 15:24:19 GMT Organization: Georgia Institute of Technology Message-ID: <211jv4INNd8f@mephisto.gatech.edu> References: <211i39INNgh@master.cs.rose-hulman.edu> In article <211i39INNgh@master.cs.rose-hulman.edu> mcconnap@NeXTwork.Rose-Hulman.Edu (Andy McConnell) writes: >What is the best way to override printPSCode: (or some other method) to >print just a selection? printPSCode: just ends up calling drawSelf::. What you need to implement, in your subclass of View, is getRect:forPage:, in which you figure the rectangle (for the selection, or whatever) that will be passed to drawSelf::. You'll also need to override knowsPagesFirst:last: to return YES. -- Ray Spalding, Office of Information Technology Georgia Institute of Technology, Atlanta Georgia, 30332-0715 Internet: ray.spalding@oit.gatech.edu (NeXT Mail accepted)
Organization: Central Michigan University Date: Friday, 2 Jul 1993 10:37:10 EDT From: John Goggan <34II5MT@CMUVM.CSV.CMICH.EDU> Message-ID: <93183.10371134II5MT@CMUVM.CSV.CMICH.EDU> Newsgroups: comp.sys.next.programmer Subject: execv under NS 2.1 (non-standard?) Ok -- first of all, I'm just a novice C programmer -- I don't understand the actual code being used here, but I can still look it up and compare it to what I think it _should_ look like -- which is what I did... Now, most programs that I've encountered and attempted to compile on the NeXT (that weren't explicitly written for the NeXT, of course), seem to assume that execv is defined something like this: execv(name, argv) char *name, *argv[]; Now -- this is how the man page for execv says it is supposed to be defined and should therefore work fine that way. However, whenever I try to compile such code, GCC gives incompatible pointer type warnings... So, today I got sick of it and tried to locate it in the /usr/include libraries -- there, I found "libc.h" -- which is included by the program I was working on. Libc.h defines execv in this way: execv(const char *, const char **); Now, again -- I'm not familar enough with pointers to work it out myself, but I assume that there is the problem -- there seems to be a definite pointer compatibility problem there. (I also assume this is a common problem, but did not see a FAQ available... sorry if it's in there, if so just tell me to RTFfaq.) So -- is there a way to remedy this? Is that the source of my conflicting pointer problems? Why does the man pages say that it is the "standard?" way while it is actually not that way in libc.h? These questions and more will be answered on this episode of... SOAP! (wait, wrong reality...) - John...
From: anderson@sapir.cog.jhu.edu (Stephen Anderson) Newsgroups: comp.sys.next.programmer Subject: 3.1 headers and libraries; building zsh Date: 02 Jul 1993 17:05:23 GMT Organization: Dept. of Cognitive Science, The Johns Hopkins University Message-ID: <ANDERSON.93Jul2130523@sapir.cog.jhu.edu> It looks like more stuff has been done with the header and library files in 3.1. I'm sure it's all documented, but I haven't had time to read the on-line docs yet :-). It all seems to have something to do with POSIX..... Anyway, I've been trying to recompile various things under 3.1, and run into a number of problems. gcc-2.4.5 built without problems, but I can't get libg++-2.4 to build: it chokes on procbuf.C, and even using the hint posted the other day by Magnus Nordborg, I can't get it to compile that. In trying to rebuild zsh, on which I depend heavily, I found first that in version 2.3.1, which built without a whimper under 3.0, the definition of DIR wasn't getting included. I fixed that by adding a conditionalized include of <sys/.dir.h>, and got everything to compile, but the loader complained about symbols it had been able to resolve under 3.0: ld: Undefined symbols: _setpgid _waitpid _cfgetospeed _tcgetattr _tcsetattr _tcsetpgrp _tcgetpgrp *** Exit 1 Stop. When I tried to build zsh2.4 (beta), I could compile everything (again, after getting it to include <sys/dir.h>), but the loader couldn't resolve a set of symbols much like those it choked on for 2.3.1, except that _strdup was missing instead of _waitpid. Using HeaderViewer.app, I can see that at least some of this stuff is around somewhere, but probably not all of it (e.g., strdup() still seems to be absent, a problem I've encountered with a lot of software - though in 2.3.1, zsh dealt with that problem itself). Working out the logical structure of zsh.h and its dependencies on config.h is pretty complicated. Is there anyone out there who has built zsh under 3.1 (m68k, if it makes a difference) who could help me? Thanks, --Steve Anderson
From: mcconnap@NeXTwork.Rose-Hulman.Edu (Andy McConnell) Newsgroups: comp.sys.next.programmer Subject: Wanted: Example Code for custom PrintPanel Date: 2 Jul 1993 17:24:24 GMT Organization: News Service at Rose-Hulman Message-ID: <211r08INN133@master.cs.rose-hulman.edu> I'm lloking for ANY example code from folks who have added accessory views to the PrintPanel. The NeXTSTEP documentation is cryptic about this subject. Also - does anyone know how the destination for printing? e.g., when the user hits Preview, where is that information used to redirect the PS code? About as frustrated as I've been in a long time... - Andy McConnell -- Andy McConnell mcconnap@nextwork.rose-hulman.edu Fluid Science Learning Center Developer Lt, USAF CS BS '93 Rose-Hulman Institute Of Technology "The beaurocratic mentality is the only constant in the universe."
Newsgroups: comp.sys.next.programmer From: sailer@atl.hp.com (Lee Sailer) Subject: Re: 3.1 POSIX? Sender: news@hpuerca.atl.hp.com ( News admin) Message-ID: <C9Jt0s.KD1@hpuerca.atl.hp.com> Date: Fri, 2 Jul 1993 17:38:51 GMT References: <1993Jun28.182309.2528@uunet!cbmvax!xmws!kripalu> <1993Jun29.081622.2766@csus.edu> Organization: HP Atlanta Educational Services Organization Eric P. Scott (eps@futon.SFSU.EDU) wrote: > In article <1993Jun28.182309.2528@uunet!cbmvax!xmws!kripalu> > harit@kripalu.com writes: > >I REALLY need to know if 3.1 is POSIX compliant. If not will 3.2? > /NextLibrary/Documentation/NextDev/ReleaseNotes/OperatingSystem.rtf says: > In Release 3.1, building POSIX applications isn't > supported. POSIX will be supported in a future release. Of course, POSIX compliance isn't necessarily an all or none prop. I would guess that nearly all of POSIX is in fact part of NeXTstep. If you need POSIX Compliance on paper, than NS is not compliant. If all you need is to be able to write POSIX compliant apps on both a NeXT and some other box, then with some care and a little luck, you should have not problem. Luck comes in where your required feature set is concerned. If you need some feature from POSIX that NS does not contain, then you are out of luck.
Newsgroups: comp.sys.next.bugs,comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Re: #import not working? Organization: Primitive Software Ltd. References: <1993Jul1.134516.3325@prim> Date: Fri, 2 Jul 1993 13:28:44 +0000 Message-ID: <1993Jul2.132844.813@prim> Sender: usenet@demon.co.uk In article <1993Jul1.134516.3325@prim> dave@prim.demon.co.uk (Dave Griffiths) writes: > >I've got a really wierd problem that's only just started happening. Basically, >the first time I try to compile a new .m file, I get a load of errors of the >type you would expect if you'd forgotten to include a #import directive. But >the #import is there, and so is the header file it refers to. I'm not using >precompiled headers. The header file in question was actually brought into >the project as a result of dragging the class icon in Project Builder from >another project's class suitcase. I'm not sure if this is related to the >problem. Doing a "make depend" and a "make clean" doesn't help. The header >file is there, the #import is there, but the compiler acts as though the >header file is empty! The header file is not a link of any kind. > >Now here's the wierd part: I can make the problem go away by opening the >header file in Edit and just saving it without changing it. Hey presto, the >compiler now recognizes it and the problem disappears! Thanks to all the people who responded. It was none of the things you suggested unfortunately. It just happened again. This was after I did a "Save All" in Edit (I think this does something strange to the file modification time?). Once again, the compiler acts as though the file is empty. It's not: /src/Newsagent/Newsagent> touch Vessel.h /src/Newsagent/Newsagent> ls -l Vessel.h -rw-r--r-- 1 dave 661 Jul 2 14:07 Vessel.h Touching it doesn't help. And I can cat the file from the command line and verify that it's there, but still the compiler acts as though it's empty. But saving it again in Edit makes the problem go away. Very mysterious. Dave Griffiths
Newsgroups: comp.sys.next.programmer From: esky@marathon.cs.ucla.edu (Eskandar Ensafi) Subject: How do you use DPSStartWaitCursorTimer() ? Message-ID: <1993Jul2.172250.29321@cs.ucla.edu> Sender: usenet@cs.ucla.edu (Mr Usenet) Organization: UCLA CS Department, Los Angeles, CA Date: Fri, 2 Jul 93 17:22:50 GMT Hi, I am writing a program using the Subprocess object provided by NeXT in their developer examples. There are many situataions that require the app to complete an operation before continuing execution, so I tried to display the wait cursor using DPSStartWaitCursorTimer() -- nothing happened! What exactly do you have to do to successfully use this function? 1. What causes the wait cursor to stop being dsiplayed once this function is called? 2. Is their another way to do what I want -- a better way? Thank you! - Eskandar (e-mail preferred) -- ------------------------------------------------------------------------- G o d l e s s f e e l i n g i n m e B o r n o f t h e i r l i e s . . . Danzig -------------------------------------------------------------------------
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: comp.sys.next.programmer Subject: NEXTSTEP Programming Positions Available at WhiteLight Date: 2 Jul 1993 14:42:19 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9307021942.AA23755@toto.NeXT.COM> POSITIONS AVAILABLE FOR NEXTSTEP DEVELOPERS If you are a proficient NeXT programmer... If you want to advance the object-oriented state of the art... If you are interested in enterprise-wide computing... If you want your contributions to be recognized... If you like the work environment of a small, dynamic, financially-sound company... The please email, call or fax: Norman Goldfarb WhiteLight Systems, Inc. 350 Cambridge Ave., Suite 200 Palo Alto, CA 94306 (415) 321-2183 (tel) (415) 321-2083 (fax) norm@whitelight.com Competitive compensation, including equity, and benefits. Would prefer that you work in our offices, but your own location is a possibility. Our principal product is WhiteLight/Engineer, object-oriented business modeling software for financial planning, analysis and control. It addresses a fundamental problem shared by every large company: The complexity and dynamics of the business have outgrown the ability of current technology to deliver instantly the information that management needs to run the business. WhiteLight/Engineer is the first software product that enables a company's management and staff to build a shared model of the business from a common library of business objects and their computational relationships.
From: khare@cco.caltech.edu (Rohit Khare) Newsgroups: comp.sys.next.programmer Subject: UI Help: How to use horizontal scrollling with Text? Date: 2 Jul 1993 20:09:14 GMT Organization: California Institute of Technology, Pasadena Message-ID: <2124laINNg0q@gap.caltech.edu> Keywords: scrolling, Text Object To reduce the situation to its bare essentials: I have an RTFD Text object. I want the text's width limited to the size of the window (i.e. setHorizResizable:NO) I have graphics that are potentially wider than the window Q: How do I enable the horizontal scroller properly? Explanation: In Edit, there's no accomodation for this: you just have to resize the window (and therefore, the text). Here, I want the text to stay within the borders of the window (oppose: the RTF inspector in Workspace), but enable the scrollers iff there's a large picture. sizeToFit, though, just resizes the Text object to the bounding box of the _text_, it seems, ignoring the size of embedded graphics... so the scroller can't display anything that's already being clipped. What, if anything, can I do about this? 1) setHorizResizable:YES. Now, it seems to work, but that introduces a new bug: A user opens a new document, starts typing, and the sentence just keeps on going off to the right: it continuously resizes rather than wrapping. After hitting the first return, a size limit is set, and further typing will wrap appropriately. Am I misunderstanding something? 2) reset maxSize. Well, the graphics are potentially as large as full-screen size, so is that a potential bound? We can setHorizResizable:NO and get rid of 1), but now the horiz scroller doesn't adjust its elevator automatically. 3) forget it, and use the Edit solution. Is that fair to the user, esp if one of the targets is 640x480 portables? Thanks for your time. Ideally, someone out in net.land has dealt with this before, and knows a one-line solution to making the Text object take the size of its member NXGraphicCells into account. Rohit Khare Rohit Khare: Vice-Prez, Caltech and JPL Users of NeXTSTEP khare@cco.caltech.edu Class of '95 (818) 792-9114 "N e X T S T E P S h a l l M a k e Y o u F r e e"
Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin From: mleggott@cwaves.stfx.ca (Mark Leggott) Subject: Problem running Terminal from apps Message-ID: <1993Jul2.202542.6015@nstn.ns.ca> Sender: usenet@nstn.ns.ca (NNTP Entity) Organization: NSTN Network Operations Centre, Nova Scotia, Canada Date: Fri, 2 Jul 1993 20:25:42 GMT I am new to the NeXT/Objectice C environment, and have inherited an application that attempts to launch Terminal and pass a telnet command. When I try to run it I get sh: Terminal.app: cannot execute I have had trouble running Terminal sessions from other apps as well. Could there be a general parameter that is not set properly? Terminal.app runs fine if launched from the Workspace Viewer. If I try to run Terminal.app from the command line I get /NextApps/Terminal.app: Permission denied. regardless of wether I am root/su or other. Any suggestions would be appreciated. The section of code follows: ------------------------------------------------------------------- sprintf( szCommand, "Terminal.app -NXFixedPitchFontSize 14 -Shell '%s'", asthiHostInfo[iHost].command ); #ifdef ALERT NXRunAlertPanel("Alert", szCommand, "OK",NULL, NULL ); #else system( szCommand ); #endif } -------------------------------------------------------------- end of section Thanks in advance. ================================================================ Mark Leggott, NeXT Administrator / Database&Network Coordinator Angus L. MacDonald Library, St. Francis Xavier University Antigonish, Nova Scotia, E2G 1C0 Canada Voice 902-867-2242 FAX 902-867-2334 ================================================================
From: isbell@cats.ucsc.edu (Art Isbell) Newsgroups: comp.sys.next.programmer,comp.sys.next.software Subject: Sybase libraries - Sybase server incompatibities in 3.1 Date: 2 Jul 1993 20:58:05 GMT Organization: Cubic Solutions - NeXT software development and consulting Message-ID: <2127gtINNova@darkstar.UCSC.EDU> Keywords: Sybase, 3.1 Unfortunately, NeXT seems to have begun the process of dropping support for black hardware already (what happened to 1995 ?-( NeXT fixed a number of significant Sybase adaptor bugs in 3.1. However, for those of us running a Sybase server on black hardware, the new adaptor is incompatible because it is linked against v.4.6 of the Sybase DBLib library which won't run reliably against the old v.4.0 Sybase server running on black hardware. NeXT mentions this in the 3.1 release notes. This is unacceptable for those of us who are trying to deliver a product and need the bug fixes. Our customers will be running against a current Sybase server so will need the 3.1 adaptor with its later Sybase library, but we need the 3.1 adaptor linked against the 4.0 DBLib library so we don't all have to go buy an expensive HP server for our development testing (yes, we will eventually buy or lease one for final product testing, but we can't afford to have one at each of our development sites.) I haven't asked NeXT to provide this "mixed" adaptor and I really don't know whom to ask, so if enough of you are in the same boat, maybe we can get NeXT to help us. And apparently isql and who knows what other executables also are linked against the new DBLib. We've been seeing all sorts of wierdnesses since upgrading to 3.1 (we neglected to read the release notes until after the upgrade - OOPS :-) So I've just downgraded the Sybase client package back to 3.0 and hope I've gotten everything. -- Art Isbell Cubic Solutions NeXT Registered Developer #745 NEXTSTEP software development and consulting NeXTmail: isbell@cats.UCSC.EDU Voice: (408)335-1154 USmail: 95018-9442 Fax: (408)335-2515
Newsgroups: comp.sys.next.programmer From: ph@pencom.com (Patrick Hester) Subject: Re: Changing hierarcies and read: Message-ID: <1993Jul02.174028.2217@pencom.com> Sender: usenet@pencom.com (News system) Organization: Pencom Systems Incorporated References: <1993Jul1.142113.5539@uunet!cbmvax!xmws!kripalu> Distribution: usa Date: Fri, 02 Jul 1993 17:40:28 GMT In article <1993Jul1.142113.5539@uunet!cbmvax!xmws!kripalu> harit@kripalu.com writes: > It apears that changing the hierarcy of archived objects makes thoes > archives unreadable. I have a paletized object that changed it's > superclass and now the NIB file will not open. Using GDB on IB I > found that it was not even getting to my read: method. Yeah that's a pain. It's because any given read/write method first (un)archives it's super, then it's own data. Adding a new item to the R/W methods will also cause this to happen unless you set the class version and then use the version number to properly read back older archives. Depending on how much your class heirarchy changed, you may be able to play games enough to make it work. But if you've done more than remove class B from a C:B:A heirarchy, you are probably beat. One workaround is to open the nib file with the older palette, delete the offending object, save and exit. Then start IB with the newer palette and readd the new object. A hassle, but it may bail you out. Advice Of The Day: use class version numbers. -- Patrick Hester ph@pencom.com 212-513-7777 NeXT Mail OK =8(\/\) -<-@
Newsgroups: comp.sys.next.programmer From: jcr@dolphin.com (John C. Randolph) Subject: Re: [HP/NeXT] - NeXT Hiring Software Engineers for HP Object/Enterprise Development Message-ID: <1993Jul2.213513.1022@houston.dolphin.com> Sender: jcr@houston.dolphin.com Organization: Dolphin Software References: <469@moene.indiv.nluug.nl> Date: Fri, 2 Jul 1993 21:35:13 GMT This post of Avie's impressed me tremendously! It is wonderful to see a company advertising for talent, and actually giving out the name of the person making the hiring decison. Let's hear it for end-runs around personnel departments! -- John Randolph
From: glenn@rightbrain.com (Glenn Reid) Newsgroups: comp.sys.next.programmer Subject: Re: #import not working? Message-ID: <1256@rtbrain.rightbrain.com> Date: 2 Jul 93 22:58:34 GMT References: <1993Jul2.132844.813@prim> Sender: glenn@rightbrain.com Dave Griffiths writes > In article <1993Jul1.134516.3325@prim> dave@prim.demon.co.uk (Dave Griffiths) writes: [mysterious problem with files looking "empty" but they aren't] I have had this problem before. I think it has to do with the internal file cache getting corrupted in memory. In my case it was a system library file that seemed to be empty or corrupted, which scared the heck out of me. Rebooting the machine fixed it forever. Have you rebooted yet? -- Glenn Reid NeXTmail: glenn@rightbrain.com RightBrain Software 415-326-2974 (NeXTfax 326-2977) Palo Alto, California Electronic Frontier Foundation, member #054
From: glenn@rightbrain.com (Glenn Reid) Newsgroups: comp.sys.next.programmer Subject: Re: Problem running Terminal from apps Message-ID: <1257@rtbrain.rightbrain.com> Date: 2 Jul 93 23:03:06 GMT References: <1993Jul2.202542.6015@nstn.ns.ca> Sender: glenn@rightbrain.com Mark Leggott writes > > sh: Terminal.app: cannot execute > Terminal.app is a directory. You need "Terminal.app/Terminal" to execute it with the system() command or directly from the shell. -- Glenn Reid NeXTmail: glenn@rightbrain.com RightBrain Software 415-326-2974 (NeXTfax 326-2977) Palo Alto, California Electronic Frontier Foundation, member #054
Newsgroups: comp.sys.next.programmer From: wwright@shell.portal.com (Bradly William Wright) Subject: tlb_procinfo <- not in any header file? Message-ID: <C9KBnx.L1E@unix.portal.com> Sender: news@unix.portal.com Organization: Portal Communications Company Date: Sat, 3 Jul 1993 00:21:31 GMT I'm trying to compile a filter for the DeskJet and I can't find a header file with the tbl_procinfo structure. The old header file <sys/table.h> is not in the 3.1 developers kit. What is tbl_procinfo, and how can I work around this problem? Thanks in advance, Brad Wright wwright@shell.portal.com
Newsgroups: comp.sys.next.programmer From: bhill@physics.ucla.edu (Brian Hill) Subject: Re: 3.1 headers and libraries; building zsh In-Reply-To: anderson@sapir.cog.jhu.edu's message of 02 Jul 1993 17:05:23 GMT Message-ID: <BHILL.93Jul2150501@spike.physics.ucla.edu> Sender: usenet@physics.ucla.edu Organization: Dept. of Physics, UCLA References: <ANDERSON.93Jul2130523@sapir.cog.jhu.edu> Date: 2 Jul 93 15:05:01 This is the second post that says gcc-2.4.5 builds without problems. However, I noticed one error message scroll by when compiling on a turbo mono station running NS 3.1: ./fixincludes: 12101 Memory fault which appears when fixing mach/time_value.h. To compile gcc-2.4.5, I used the following script: #!/bin/sh tar -xzf gcc-2.4.5.tar.gz #requires gnu tar cd gcc-2.4.5 #self-documentation cc -v gcc -v bison --version make -v ./configure --target=m68k-next make LANGUAGES=c make stage1 make CC="stage1/xgcc -Bstage1/" CFLAGS="-g -O" exit The error is reproducible (i.e. it happened twice although the number 12101 was different the first time). I have reported the error to bug-gcc@prep.ai.mit.edu. Here are some excerpts from the script output: Reading specs from /lib/m68k/specs NeXT Computer, Inc. version cc-210.obj~2, gcc version 2.2.2 Reading specs from /lib/m68k/specs NeXT Computer, Inc. version cc-210.obj~2, gcc version 2.2.2 GNU Bison version 1.21 GNU Make version 3.64, by Richard Stallman and Roland McGrath. Linked `config.h' to `./config/m68k/xm-next.h' Linked `tm.h' to `./config/m68k/next.h' Linked `md' to `./config/m68k/m68k.md' ... [Gobs of relatively normal-looking output deleted] ... Fixed ./mach/thread_special_ports.h Fixed ./mach/thread_status.h Fixed ./mach/thread_switch.h Fixed ./mach/time_stamp.h ./fixincludes: 12101 Memory fault Fixed ./mach/time_value.h Fixed ./mach/vm_inherit.h ....
Newsgroups: comp.sys.next.programmer From: bhill@physics.ucla.edu (Brian Hill) Subject: gcc-2.4.5 fixincludes memory fault Was Re: 3.1 headers and libraries In-Reply-To: bhill@physics.ucla.edu's message of 2 Jul 93 15:05:01 Message-ID: <BHILL.93Jul2172947@spike.physics.ucla.edu> Sender: usenet@physics.ucla.edu Organization: Dept. of Physics, UCLA References: <ANDERSON.93Jul2130523@sapir.cog.jhu.edu> <BHILL.93Jul2150501@spike.physics.ucla.edu> Date: 2 Jul 93 17:29:47 In article <BHILL.93Jul2150501@spike.physics.ucla.edu> I wrote, >I noticed one error message scroll by when compiling [gcc-2.4.5] on >a turbo mono station running NS 3.1: > >./fixincludes: 12101 Memory fault > >which appears when fixing mach/time_value.h. and then I gave a script for compiling gcc-2.4.5 on a NeXT. You can reproduce this error more quickly by typing `fixincludes junkdir'. You'll also discover that the "fixed" junkdir/mach/time_value.h file is empty.
Newsgroups: comp.sys.next.programmer From: sanguish@digifix.com (Scott Anguish) Subject: Re: Wanted: Example Code for custom PrintPanel Message-ID: <1993Jul3.014616.11034@digifix.com> Sender: sanguish@digifix.com (Scott Anguish) Organization: Digital Fix Development References: <211r08INN133@master.cs.rose-hulman.edu> Date: Sat, 3 Jul 1993 01:46:16 GMT Andy McConnell writes > I'm lloking for ANY example code from folks who have added accessory views > to the PrintPanel. The NeXTSTEP documentation is cryptic about this > subject. Next has a MiniExample called PaginationLab that has an accessory view in the Page Layout Panel. It should be on sonata.... I did compile it, and it looks like I did it under 3.x... but for some reason I have it marked as not working... so let the ftp-er beware. -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
From: sspicy@stein.u.washington.edu (Misha) Newsgroups: comp.sys.next.programmer Subject: Dragging problems Date: 3 Jul 1993 09:47:37 GMT Organization: University of Washington Message-ID: <213kjp$a2q@news.u.washington.edu> I was trying to set up the icon of my app to accept files dragged onto it by registering the [NXApp appIcon] forDraggedTypes.. blah blah... and it did not work. I did the same thing to a regular window and it workred. I know that the Workspace actually own the appIcon, yet still it should work, shouldn't it? Am I missing something? _________________________________________________________________ Paget Press, Inc. 2125 Western Avenue, Suite 300 Seattle, WA 98121 Phone: (206)-448.0845 Fax: (206)-448.2350 NeXTMail: Misha_Melikov@paget.com _________________________________________________________________ Misha M. Melikov, Multimedia Development
Newsgroups: comp.sys.next.programmer From: ploeger@aplki.toppoint.de (Andreas Ploeger) Subject: Turnaround Times (was: An Idea for re-organization of Objective-C source code) Message-ID: <1993Jul2.175319.2376@aplki.toppoint.de> Sender: ploeger@aplki.toppoint.de (Andreas Ploeger) Organization: Andreas Ploeger References: <1993Jul1.191755.644@houston.dolphin.com> Date: Fri, 2 Jul 93 17:53:19 GMT In article <1993Jul1.191755.644@houston.dolphin.com> jcr@dolphin.com (John C. Randolph) writes: > This is the current state of my idea of how to organize Objective-C code, > Replace PB, replace Make, and make the world a happier place. > ... > Thoughts about a different way to organize Objective-C, > Display Postscript, and other source code under NEXTSTEP. Okay, a lot about handling the source code could be improved, but my main concern right now is: TURN-AROUND-TIMES Consider what happens when you press the Build button in Project Builder: - A shell is started, loading 122880 bytes from disk (/bin/sh). - Make is started, loading 49152 bytes from disk (/bin/sh). - Make loads 'Makefile.preamble', 'Makefile.postamble' and 'Makefile' which loads 'app.make' which loads 'common.make' - Now make begins to check the i-nodes of my 38 source files (yes it's a small project) for their modification time - Finally 'make' decides to recompile a source file, loads cc from disk, which loads tons of small header files (or a huge precompiled header) file - guess where from - yes, from disk. - Another source file has to be compiled. Again 'cc' is loaded from disk, again my 360 kByte precomplied header file is read from disk. - Lucky us, no more source files to be compiled, 106496 kByte big ld starts, reading 38 files of 60 kBytes each. You misspelled a variable name? Too bad, all over again ... Give me a break: handling only parts of my 160 kBytes of source code, producing a (stripped) executable of 180 kBytes my disk sounds as if it would soon collapse. And that after paying for 24 mBytes of RAM... Unix, especially Mach has strong interprocess communication features. Why not map my source code from Edit.app's address space to the always running compiler server, which already knows most of my header files, because this is the 27.th compilation it does for me today. I want to test the new code, click on gdb, and start the new executable that just arrived from the Linker Server without delay. Science fiction? No, have a look at your Services menu. Andreas -- -------------------------------------------------------------------- Andreas Ploeger E-Mail: ploeger@tpki.toppoint.de
Newsgroups: comp.sys.next.programmer From: b_brottier@cubx.com Subject: Re: An Idea for re-organization of Objective-C source code. (Ascii) Message-ID: <1993Jul2.141539.19851@cubx.com> Sender: news@cubx.com Organization: Cub'x Systemes - Rueil Malmaison, France. References: <1993Jul1.191755.644@houston.dolphin.com> Date: Fri, 2 Jul 1993 14:15:39 GMT In article <1993Jul1.191755.644@houston.dolphin.com> jcr@dolphin.com (John C. Randolph) writes: [deleted] A Modest Proposal [deleted] YES, 10000000 times YES !! We, as programmer, are desperately waiting for tools a la SmallTalk to write efficently ObjC code. When I was using Stepstone's ObjC browser, I was dreaming of an update with an syntaxic editor. This could be done by NeXT, a new "ClassBuilder", mixed from HeaderViewer and Edit, with build-in RTF filter for gcc, inter-class relationship (inheritance/client) automatic parser, and so on. Most important, this app should manage multi-versions of a project. This idea of a Class bundel is really a very good idea ! There is room for dev 3-party app, usable as other debugger. Such app are available on Sun, HP, why not on NeXT ? --------------------------- Bruno Brottier -- Responsable Formation -- Training Manager Societe improve sa, 41-41 bis, avenue de l'Europe - 78140 VELIZY - FRANCE Tel : (+33) (1) 30 70 60 56 Fax : (+33) (1) 30 70 89 36 E-mail: b_brottier@cubx.com -- [NeXTmail] ---------------------------
Newsgroups: comp.sys.next.programmer From: robertn@penny.demon.co.uk (Robert Nicholson) Subject: Subclassing DBTableView without losing IB functionallity Distribution: world Cc: next-prog@cpac.washington.edu Date: Fri, 2 Jul 1993 23:49:07 +0000 Message-ID: <9307022347.AA03240@penny.demon.co.uk> Sender: usenet@demon.co.uk If anybody has actually added drag and drop behaviour using the NS3.0 API to DBTableView on a per instance basis ie. subclassing AND maintained all the basic IB behaviour for DBTableView then I would dearly like to hear from you. Cheers.
Newsgroups: comp.os.ms-windows.advocacy,comp.os.ms-windows.programmer.tools,comp.sys.next.advocacy,comp.sys.next.programmer From: kdburg@incoahe.hanse.de (Klaus Dahlenburg) Subject: Re: Why is NT so slow? Message-ID: <1993Jul2.173355.2471@incoahe.hanse.de> Organization: Hanse Networking eV., Hamburg; Germany References: <RICE.93Jun28121100@kuwait.gdfwc3> <1993Jun30.051814.4858@microsoft.com> <1993Jun30.145758.27152@texhrc.uucp> <C9HCv0.Cn0@news.claremont.edu> Distribution: usa Date: Fri, 2 Jul 93 17:33:55 GMT tlilley@jarthur.claremont.edu (Ted) writes: >In article <1993Jun30.145758.27152@texhrc.uucp> pyeatt@Texaco.com (Larry D. Pyeatt) writes: >>In article <1993Jun30.051814.4858@microsoft.com>, cliffga@microsoft.com (Clifford Garrett) writes: would you all mind not to cross-post NT stuff to comp.sys.next.... !! Klaus -- Klaus Dahlenburg email : kdburg@incoahe.hanse.de P.O.Box 1267 Fax : +49 4287 676 D-21249 Tostedt Voice : +49 4287 681 Germany Timezone : GMT + 2 ++EOM++
Newsgroups: comp.sys.next.programmer From: kdburg@incoahe.hanse.de (Klaus Dahlenburg) Subject: Re: NS 3.1 c++ support for c++ beginners [Was Re: g++ and gdb work in 3.1 (good news)] Message-ID: <1993Jul3.081530.1022@incoahe.hanse.de> Organization: Hanse Networking eV., Hamburg; Germany References: <1993Jul1.140851.11066@leland.Stanford.EDU> <BHILL.93Jul1185736@spike.physics.ucla.edu> Date: Sat, 3 Jul 93 08:15:30 GMT bhill@physics.ucla.edu (Brian Hill) writes: [...] stuff deleted >Once you've read chapter 5, and particularly the paragraphs at the end of >section 5.3.1, you'll be hoping more than ever that Objective-C survives. >--Brian Hill Hmm... that may depend on: 1) real programmers did it in Assembler ... now they are doing it in C ... C++ -- the assembler for the educated. Objective-C is not 'real' C and it seems to be easier to learn and .... so they will disregard it. 2) Does the language carry any 'ANSI' label? No, then again disregard it. 3) is the language available on most if not all platforms? The perfect world is C/C++ and UNIX and one who cannot see this is blindfolded ;-) Klaus -- Klaus Dahlenburg email : kdburg@incoahe.hanse.de P.O.Box 1267 Fax : +49 4287 676 D-21249 Tostedt Voice : +49 4287 681 Germany Timezone : GMT + 2 ++EOM++
Newsgroups: comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Re: #import not working? Organization: Primitive Software Ltd. References: <1993Jul2.132844.813@prim> <1256@rtbrain.rightbrain.com> Date: Sat, 3 Jul 1993 11:14:06 +0000 Message-ID: <1993Jul3.111406.5176@prim> Sender: usenet@demon.co.uk In article <1256@rtbrain.rightbrain.com> glenn@rightbrain.com writes: >Dave Griffiths writes >> In article <1993Jul1.134516.3325@prim> dave@prim.demon.co.uk (Dave >Griffiths) writes: > >[mysterious problem with files looking "empty" but they aren't] > >I have had this problem before. I think it has to do with the internal >file cache getting corrupted in memory. In my case it was a system >library file that seemed to be empty or corrupted, which scared the heck >out of me. Rebooting the machine fixed it forever. Have you rebooted >yet? It started happening within hours of the last reboot, but I haven't rebooted since. It's pretty sporadic anyway. I agree, it does sound like a cacheing problem, but the odd thing is that I can view the file from the command line. This would appear to rule out file cache problems. (BTW, I'm not using NFS). It's almost as if the compiler itself is trying to do something clever. The last time it happened, I opened the file in vi then wrote it back - didn't help; saved it in Edit after getting the "someone has modified it" alert panel, and then the compiler recognized it again. So what does the compiler do that's different from "cat" and "vi"? Maybe it uses memory mapping rather than read? Dave Griffiths
Newsgroups: comp.sys.next.programmer From: gmecchia@hop.Princeton.EDU () Subject: how can I declare static instance variables? Message-ID: <1993Jul3.232905.7709@Princeton.EDU> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University Date: Sat, 3 Jul 1993 23:29:05 GMT How can one declare static instance variables in Ojbective-C? (i.e. also known as class variables). Basically, if class A has several variables, I want all instances of subclasses of A to share the same instances declared in A. It saves me space. Alexis Rzewski gmecchia@princeton.edu
From: theharv@csld (Brian Harvey) Newsgroups: comp.sys.next.programmer Subject: browser question Message-ID: <33650@galaxy.ucr.edu> Date: 3 Jul 93 23:53:56 GMT Sender: news@galaxy.ucr.edu Distribution: usa I'm writing a program which has browser in it. It works fine and performs like I want it to do execept when I do the following: If I click on the first item in the browser and then drag down through the browser, each item becomes highlighted and then goes back to being unhighlighted (no more than one item can be highlighted at a time). When I go to the bottom of the browser (meaning nothing is then highlighted in the browser) and then let go of the mouse button, my whole program dies. No error messages. Nothing. Anyone have any ideas on what's going on here? Brian Harvey theharv@csld.ucr.edu
Newsgroups: comp.sys.next.programmer From: joseph@daffy.tip.ameslab.gov (Joseph Reynolds) Subject: Re: how can I declare static instance variables? Message-ID: <C9M6DB.6qF@news.iastate.edu> Keywords: Objective-C, static, class variables Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA References: <1993Jul3.232905.7709@Princeton.EDU> Date: Sun, 4 Jul 1993 00:22:22 GMT <1993Jul3.232905.7709@Princeton.EDU> you wrote: > How can one declare static instance variables in Ojbective-C? > (i.e. also known as class variables). > Basically, if class A has several variables, I want all instances > of subclasses of A to share the same instances declared in A. It > saves me space. > > Alexis Rzewski > gmecchia@princeton.edu Easy. To create a variable that can be shared by all instances of ClassA and no other objects, simply declare a static variable in your ClassA.m file and no where else (in particular, not in your ClassA.h file). Then all ClassA instance methods can access the variable, and even ClassA class methods (e.g, +initialize) can access it. Here's an example: ClassA.h: ... // There is no mention of the class variable "count" ... ClassA.m: ... static int count; ... +initialize { count = 0; } ... -whateverMethod { ... count ... }
Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin From: louie@TransSys.COM (Louis A. Mamakos) Subject: Re: Problem running Terminal from apps Message-ID: <21589h$bfq@wa3ymh.transsys.com> Sender: usenet@grebyn.com Organization: TransSys, Inc. References: <1993Jul2.202542.6015@nstn.ns.ca> Date: Sun, 4 Jul 1993 00:29:37 GMT In article <1993Jul2.202542.6015@nstn.ns.ca> mleggott@cwaves.stfx.ca (Mark Leggott) writes: > sprintf( szCommand, "Terminal.app -NXFixedPitchFontSize 14 -Shell '%s'", > asthiHostInfo[iHost].command ); > /NextApps/Terminal.app is not a UNIX executable file; it is a directory, er.. app wrapper or bundle. The actual program that you want to execute is /NextApps/Terminal.app/Terminal. -- Louis A. Mamakos TransSys, Inc.
Newsgroups: comp.sys.next.programmer From: harit@kripalu.com Subject: Using libraries Message-ID: <1993Jul2.195328.7738@uunet!cbmvax!xmws!kripalu> Sender: harit@uunet!cbmvax!xmws!kripalu Organization: Kripalu Center Date: Fri, 2 Jul 93 19:53:28 GMT I get the following error when I attempt to build a project with a library of my own creation: /bin/ld: Can't locate file for: -lDBFilter.a I created the library with "ar r DBFilter.a obj/*.o" and then used "ranlib DBFilter.a". I have tried using both the ProjectBuilder libraries file list and adding "-lDBFilter.a" to OTHER_LDFLAGS. If anyone has any ideas I would like to hear them. Also if you have additions to the make files that would build the library after any of the classes in the project change I would appreciate that also. -- Michael Allen Latta Kripalu Center harit@kripalu.com (413)448-3288
Newsgroups: comp.sys.next.programmer From: brill@sybase.com (Michael Brill) Subject: The great DBKit hoax (can't display long text fields) Message-ID: <C9KF72.2Gq@sybase.com> Sender: usenet@sybase.com Organization: Sybase, Inc. Date: Sat, 3 Jul 1993 01:37:49 GMT I'm trying to retrieve text fields (Sybase type text) with DBKit. As long as the number of characters in the field is less than 100 or so, DBKit will retrieve and display the text. However, once the number of characters in the text field exceeds 100, Interface Builder (where I'm testing this) just quits. I've tried this with two different databases (and two different adaptors). Is there a real limitation that DBKit can only retrieve the first 100 characters of a field type text or am I doing something horribly wrong? Could someone verify that they can or cannot retrieve full text fields from SQL Server (under 3.0 or 3.1). If you access to a pubs2 database, then pubs2.blurbs is a good table to try this with. Note that I'm running NS/Intel. Thanks, ...Michael
Newsgroups: comp.sys.next.programmer From: anderson (Ken Anderson) Subject: Re: Using libraries Message-ID: <1993Jul4.051226.22870@biztech.com> Sender: news@biztech.com Organization: Biztech, Inc. References: <1993Jul2.195328.7738@uunet!cbmvax!xmws!kripalu> Date: Sun, 4 Jul 1993 05:12:26 GMT In article <1993Jul2.195328.7738@uunet!cbmvax!xmws!kripalu> harit@kripalu.com writes: >I get the following error when I attempt to build a project with a >library of my own creation: > >/bin/ld: Can't locate file for: -lDBFilter.a > >I created the library with "ar r DBFilter.a obj/*.o" and then used >"ranlib DBFilter.a". I have tried using both the ProjectBuilder >libraries file list and adding "-lDBFilter.a" to OTHER_LDFLAGS. > >If anyone has any ideas I would like to hear them. Also if you have >additions to the make files that would build the library after any of >the classes in the project change I would appreciate that also. >-- >Michael Allen Latta >Kripalu Center >harit@kripalu.com >(413)448-3288 Michael, First off, you should name the lib in the standard format (ie: libDBFilter.a). Second, add the library in ProjectBuilder. Lastly, if you aren't placing the library in /usr/lib or /usr/local/lib, you're going to have to add the directory where the library is to the places that are searched. Do this by adding: OTHER_LDFLAGS=-L<directory> to your Makefile.preamble. Good luck! Ken Anderson anderson@biztech.com Stamford, CT
Newsgroups: comp.sys.next.programmer From: chuston@nugget.rmNUG.ORG (Chris Huston) Subject: How much $ for NT Dev? Message-ID: <1993Jul4.083737.15389@nugget.rmNUG.ORG> Organization: Rocky Mountain NeXT Users' Group Date: Sun, 4 Jul 1993 08:37:37 GMT What would it cost to get a developer environment under Windows 3.x and Windows NT that is comparable to NeXTSTEP? That would include: Object oriented language compiler (Smalltalk, C++, Eifel...) Object oriented libraries Interface Builder Project Builder GDB Malloc Debug App Inspector Online Documentation Header Viewer Something like DBKit include any OS costs. Please respond by email: Chris@earth2.rmnug.org
Newsgroups: comp.sys.next.programmer From: joseph@daffy.tip.ameslab.gov (Joseph Reynolds) Subject: Re: how can I declare static instance variables? Message-ID: <C9novC.L6F@news.iastate.edu> Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA References: <C9M6DB.6qF@news.iastate.edu> Date: Sun, 4 Jul 1993 19:59:36 GMT In article <C9M6DB.6qF@news.iastate.edu> I wrote: > <1993Jul3.232905.7709@Princeton.EDU> you wrote: > > How can one declare static instance variables in Ojbective-C? > > (i.e. also known as class variables). [...] > > Easy. To create a variable shared by all instances of ClassA > and no other objects, simply declare a static variable in your ClassA.m > file and no where else [...] This does NOT work as expected with subclassing (as pointed out to me by email). The problem comes if you expect each subclass to inherit its own private copy of the "class variable." They does not. Instead there is a single copy of the variable shared by the class and all subclasses. Further, the subclasses do not have (direct) access to the "class variable." So if you are thinking this way you will be disappointed. To use this technique with subclassing, you'll have to redeclare your "class variables" in each subclass (Yuck!). Even then your code dealing with class variables won't inherit properly.... Joseph
Newsgroups: comp.sys.next.programmer From: greg@afs.com (Gregory H. Anderson) Subject: Re: how can I declare static instance variables? Message-ID: <1993Jul4.191435.759@afs.com> Sender: greg@afs.com References: <C9M6DB.6qF@news.iastate.edu> Date: Sun, 4 Jul 1993 19:14:35 GMT In article <C9M6DB.6qF@news.iastate.edu> joseph@daffy.tip.ameslab.gov (Joseph Reynolds) writes: > <1993Jul3.232905.7709@Princeton.EDU> you wrote: > > How can one declare static instance variables in Ojbective-C? > > (i.e. also known as class variables). > > Basically, if class A has several variables, I want all instances > > of subclasses of A to share the same instances declared in A. It > > saves me space. > > > > Alexis Rzewski > > gmecchia@princeton.edu > > Easy. To create a variable that can be shared by all instances of > ClassA and no other objects, simply declare a static variable in your > ClassA.m file and no where else (in particular, not in your ClassA.h > file). Then all ClassA instance methods can access the variable, and > even ClassA class methods (e.g, +initialize) can access it. This is correct, but let me just add my usual complaint about this approach and once again beg NeXT and/or FSF to consider enhancing the next release of Objective-C: These are not true class variables, because subclasses of ClassA will not automatically get their own copy. If you want subclasses to have the same functionality, without corrupting the values in ClassA, you need to redeclare them in the subclass's .m file. I want my, I want my, I want my class variables... -- Gregory H. Anderson | "If you've got eyes to rhythmatize Composer-in-Residence | Bring your flat hat and your ax Anderson Financial Systems | 'Cause tonight at 10 we'll be workin' again" greg@afs.com (NeXTmail OK) | -- Donald Fagen, "Teahouse on the Tracks"
Newsgroups: comp.sys.next.programmer From: dekorte@ibm19.scri.fsu.edu (Stephen L. DeKorte) Subject: windows without appkit Sender: usenet@mailer.cc.fsu.edu Organization: Supercomputer Computations Research Institute Date: Sun, 4 Jul 1993 22:02:52 GMT Message-ID: <C9nuKs.K8E@mailer.cc.fsu.edu> How can I open/close/ect. windows _without_ appkit? I've written my own ObjC appkit-like classes for GL and would like to port it to the NeXT(so apps written with it can be run on SGIs, RS-6000s and NeXTs). I would guess that there must be somekind of C lib like gl.h for the NeXT but I haven't been able to find it. Is doing windows/graphics on the NeXT even _possible_ without appkit? Thanks for any info, -Steve (Please respond by email)
From: riedel@cs.ubc.ca (Marko Riedel) Newsgroups: comp.sys.next.programmer Subject: Re: how can I declare static instance variables? Date: 4 Jul 1993 22:46:51 GMT Organization: Computer Science, University of B.C., Vancouver, B.C., Canada Distribution: world Message-ID: <217mkr$ol5@cs.ubc.ca> References: <1993Jul4.191435.759@afs.com> In article <1993Jul4.191435.759@afs.com> greg@afs.com (Gregory H. Anderson) writes: > In article <C9M6DB.6qF@news.iastate.edu> joseph@daffy.tip.ameslab.gov > (Joseph Reynolds) writes: > > <1993Jul3.232905.7709@Princeton.EDU> you wrote: > > > How can one declare static instance variables in Ojbective-C? [stuff deleted] > I want my, I want my, I want my class variables... > > -- > Gregory H. Anderson | "If you've got eyes to rhythmatize I couldn't agree more! I too am tired of bloody hacks instead of class variables, and of cluttering class methods with static variables. Count me in! Marko R. Riedel, riedel@cs.ubc.ca
From: riedel@cs.ubc.ca (Marko Riedel) Newsgroups: comp.sys.next.programmer Subject: Re: Mouse Event Problems Date: 4 Jul 1993 23:25:18 GMT Organization: Computer Science, University of B.C., Vancouver, B.C., Canada Message-ID: <217osu$opa@cs.ubc.ca> References: <C9GK66.ErL@news.cso.uiuc.edu> In article <C9GK66.ErL@news.cso.uiuc.edu> erwin@helsinki.ks.uiuc.edu (Edgar Erwin) writes: > Hey all you happy people! > [joyous message deleted] > > Thanks in advance. > > Ed erwin@lisboa.ks.uiuc.edu (NeXT mail without big attachments accepted) I had exactly the same problem once -- I was zapping a window from inside a Window method -- yikes. I obviously had to wait until the method & its callers had terminated. The fix (a reasonably elegant one in my opinion): use DPSPostEvent & a user-defined event to remind yourself of the slider reset. Catch it in your app. With the proper threshold, your app will get the event after the mouse button has been lifted. Marko R. Riedel, riedel@cs.ubc.ca
Newsgroups: comp.sys.next.programmer From: gmecchia@hop.Princeton.EDU () Subject: How are "private" methods implemented in Obj-C? Message-ID: <1993Jul4.234010.21553@Princeton.EDU> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University Date: Sun, 4 Jul 1993 23:40:10 GMT Hi, I have a method that is implemented in my .m file and not declared in my .h file. I wanted to "scope" the method as "private" to instances of the class where it is implemented (in the C++ style). If I declared the method in my .h file, then any subclass instance can invoke that method, and that is something I don't want to allow. However, I do get warning messages from the compiler: ClassName.m:92: warning: `ClassName' does not respond to `methodName:' Should I ignore these warnings, or is there another way to define "private" methods in Objective-C? Alexis Rzewski gmecchia@princeton.edu
Newsgroups: comp.sys.next.programmer From: peter@tahiti (Peter Eisch) Subject: Re: Mouse Event Problems Message-ID: <C9o0nI.CC9@news.cis.umn.edu> Sender: news@news.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota References: <C9GK66.ErL@news.cso.uiuc.edu> <217osu$opa@cs.ubc.ca> Date: Mon, 5 Jul 1993 00:12:46 GMT another reasonable way to do this is to send your object the perform:afterDelay:with:... method. peter Marko Riedel (riedel@cs.ubc.ca) wrote: : The fix (a reasonably elegant one in my opinion): use DPSPostEvent & a : user-defined event to remind yourself of the slider reset. Catch it in -- I felt his rocket science training was inadequate. peter@tahiti.umhc.umn.edu (Peter Eisch)
Newsgroups: comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: Re: Mouse Event Problems Message-ID: <Jul5.051841.53298@acs.ucalgary.ca> Date: Mon, 5 Jul 1993 05:18:41 GMT References: <C9GK66.ErL@news.cso.uiuc.edu> <217osu$opa@cs.ubc.ca> Organization: The University of Calgary, Alberta > I had exactly the same problem once -- I was zapping a window > from inside a Window method -- yikes. I obviously had to wait > until the method & its callers had terminated. The fix (a > reasonably elegant one in my opinion): use DPSPostEvent & a > user-defined event to remind yourself of the slider reset. > Catch it in your app. With the proper threshold, your app will > get the event after the mouse button has been lifted. NeXT has already done the work for you. It's easier yet to send the Application object a delayedFree: message and let it all happen automatically... -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
Newsgroups: comp.sys.next.programmer From: robertn@penny.demon.co.uk (Robert Nicholson) Subject: Should I be concerned? IB Bug? Distribution: world Cc: next-prog@cpac.washington.edu Date: Mon, 5 Jul 1993 10:11:36 +0000 Message-ID: <9307051002.AA07292@penny.demon.co.uk> Sender: usenet@demon.co.uk I am copying windows b/w NIBs. When I do this, I don't get the window icon in the destination's NIB I get a Custom Object icon instead. Is this going to cause me any problems re: Upgrading to NS3.1 shortly? We are currently using NS3.0
Newsgroups: comp.sys.next.programmer From: robertn@penny.demon.co.uk (Robert Nicholson) Subject: Should I be concerned? IB Bug? (SOLVED) Distribution: world Cc: next-prog@cpac.washington.edu Date: Mon, 5 Jul 1993 10:11:41 +0000 Message-ID: <9307051005.AA07321@penny.demon.co.uk> Sender: usenet@demon.co.uk >I am copying windows b/w NIBs. When I do this, I don't get the window icon >in the destination's NIB I get a Custom Object icon instead. Is this going >to cause me any problems re: Upgrading to NS3.1 shortly? >We are currently using NS3.0 No problem, my window was a window subclass and I hadn't parsed it into the second nib yet.
Newsgroups: comp.sys.next.programmer From: mueller@katrin.imsd.uni-mainz.de (Robert Mueller) Subject: printing appkit-boxes Message-ID: <0O1EBP5M@minnie.zdv.uni-mainz.de> Keywords: print(Smart)PSCode Sender: usenet@minnie.zdv.uni-mainz.de (USENET News System) Organization: Johannes Gutenberg-Universitaet Mainz Date: Sat, 3 Jul 1993 12:07:57 GMT SOS ... SOS I have posted the following problem last week, but there was no answer. However, I have to solve the problem, otherwise the devil ... So any hint, suggestion or idea is welcome: The following printing problem is driving me insane: By my programm (NS 2.1) I am building an NX_PLAINSTYLE-window and then add a lot of subviews to it's contentView. Some of these subviews are boxes, some are TextField-Objects ...I then send a [...setBorderType: NX_NOBORDER] - message to the boxes, and on screen the boxes have no border. When I then send the window a [... smartPrintPSCode: sender] - message, the printed boxes on paper are bordered with a very thin, dotted border, and this is quite disturbing. The textFields (configurated with [... setBordered: NO] do not have such thin borders on the paper. The borderType of the boxes immediately before printing is still NX_NOBORDER. So what is to do? I can't use printed documents with thin, dotted borders around my box-objects. Thanks in advance Your e-mails will be welcome Robert Mueller University of Mainz Germany
From: scheurer@lithnext.epfl.ch (Marco Scheurer) Newsgroups: comp.sys.next.programmer Subject: Re: how can I declare static instance variables? Date: 5 Jul 1993 13:32:43 GMT Organization: Ecole Polytechnique Federale de Lausanne Message-ID: <219ahr$gdq@disuns2.epfl.ch> References: <1993Jul4.191435.759@afs.com> In article <1993Jul4.191435.759@afs.com> greg@afs.com (Gregory H. Anderson) writes: > > I want my, I want my, I want my class variables... > > -- > Gregory H. Anderson | "If you've got eyes to rhythmatize > Composer-in-Residence | Bring your flat hat and your ax > Anderson Financial Systems | 'Cause tonight at 10 we'll be workin' again" > greg@afs.com (NeXTmail OK) | -- Donald Fagen, "Teahouse on the Tracks" YES! Class variables are badly needed. Why were they not in the language in the first place? And if possible, add category variables, too... --- Marco Scheurer scheurer@lithnext.epfl.ch (NeXTMail) Laboratoire d'Informatique Theorique Ecole Polytechnique Federale de Lausanne IN-Ecublens CH-1015 Lausanne (Switzerland) (+41) 21 693-2589
From: day@tropic.aoml.erl.gov (Kevin Day) Newsgroups: comp.sys.next.programmer Subject: bundles and other loadable code segments Date: 30 Jun 1993 17:31:40 GMT Organization: U.S. Department of Commerce, NOAA/AOML Message-ID: <20sils$7o@wave.aoml.erl.gov> Hi, I am trying to create an application that is easily expandable. The general idea is that the program will handle a large number of data points, data structures, etc... Each of these objects can have an inspector, which it knows about. Therefor, I would like to be able to query one of my objects for its inspectorView, and then insert it into my inspector. I want the code and the views for the inspectors to be independent of the application itself, and that is what is giving me headaches. I know that there is a way to do this using bundles. Unfortunately, I have never used the things before, and I am on somewhat unsteady ground when discussing them, let alone programming with them. So let me attempt to run an idea by, and if you could critique/fix/applaud/ etc... it, I would be most appreciative. (My e-mail address is different than my posting address.. sorry. Here it is: DAY@SATURN.AOML.ERL.GOV Thanks. My idea: Create a seperate bundle for each of my data objects. An example (and something that I am trying to do now), would be called WindObSet. In my appDidInit: method, I would load each of the apropriate bundles. This should load my class definitions for my WindObSet objects. (Lets rename the bundle to WindObSetBundle). I would then load the nib section containing my inspector views, etc... Now, can I control when the class definitions are loaded? And can I set up defaults in the classes when I do load them. For example, could I do something like this: open the bundle (how exactly do you do this, anyway??) open the nib section and set owner to anOwner. load the class definitions make calls to the factory: [WindObSet setInspectorView:[anOwner inspView]]; From here on out, whenever the [[WindObSet alloc] init] call is made, the factory will create instances of the object with an internal pointer to the inspectorView loaded from the nib section. I think that this will work, but I am really on shaky ground as to how to implement. The documentation I have on bundles, etc... doesn't really give me a feel for them. any help would be really really appreciated. Thanks, Kevin
From: day@tropic.aoml.erl.gov (Kevin Day) Newsgroups: comp.sys.next.programmer Subject: NXBundles, again. Date: 1 Jul 1993 22:13:33 GMT Organization: U.S. Department of Commerce, NOAA/AOML Message-ID: <20vnid$678@wave.aoml.erl.gov> Hi, a follow up to my previous post: I have a very complicated data structure that contains about twenty different types of objects. Furthermore, the ability to add new types of objects is an extreemly desirable thing. Needless to say, my class area is getting overrun with all of the class definitions, my nib file area is getting overrun with all of the.... well you get the picture. Each object has the following associated with it: The object class. An inspector controller class. An inspector owner class. An inspector nib file containing multiple views, etc... Right now, I have the thing working, but all my nibs, classes, etc... are in my working directory, and it is driving me nuts. One solution, obviously, is to just create a sub-directory for each of the object types, and keep the source code in there. BUT this doesn't lend itself to expandability, and it still won't fix my problem with overcrowded class and interface browser entries. I am sure that sub-projects are the way to go here. If I create a regular sub-project, are all of it's classes and nibs readily available to the PB compiling and linking session? If so, that takes care of my immediate problem, but I would still like to figure out how to dynamically load the class defintions. Any hints, suggestions, or examples would be appreciated. Thanks! Kevin My address is: DAY@SATURN.AOML.ERL.GOV (Sorry, no NeXT mail, I gotta do the internet stuff thru a VAX; ACK)
Newsgroups: comp.sys.next.programmer From: harit@kripalu.com Subject: Re: Using libraries Message-ID: <1993Jul5.130317.9264@uunet!cbmvax!xmws!kripalu> Sender: harit@uunet!cbmvax!xmws!kripalu Organization: Kripalu Center References: <1993Jul4.051226.22870@biztech.com> Date: Mon, 5 Jul 93 13:03:17 GMT In article <1993Jul4.051226.22870@biztech.com> anderson (Ken Anderson) writes: > In article <1993Jul2.195328.7738@uunet!cbmvax!xmws!kripalu> > harit@kripalu.com writes: > >I get the following error when I attempt to build a project with a > >library of my own creation: > > > >/bin/ld: Can't locate file for: -lDBFilter.a > > > >I created the library with "ar r DBFilter.a obj/*.o" and then used > >"ranlib DBFilter.a". I have tried using both the ProjectBuilder > >libraries file list and adding "-lDBFilter.a" to OTHER_LDFLAGS. > > > >If anyone has any ideas I would like to hear them. Also if you have > >additions to the make files that would build the library after any of > >the classes in the project change I would appreciate that also. > >-- > >Michael Allen Latta > >Kripalu Center > >harit@kripalu.com > >(413)448-3288 > > Michael, > > First off, you should name the lib in the standard format (ie: > libDBFilter.a). Second, add the library in ProjectBuilder. Lastly, if > you aren't placing the library in /usr/lib or /usr/local/lib, you're going > to have to add the directory where the library is to the places that are > searched. Do this by adding: > > OTHER_LDFLAGS=-L<directory> > > to your Makefile.preamble. > > Good luck! > > Ken Anderson > anderson@biztech.com > Stamford, CT Thanks for the reply and the same to the others that replied by mail. This solves most of the problems. The rest result from PB/ld bugs. As far as I can tell capital letters in the name do not work. PB buts in the ".a" in the name if capital letters are present. LD does not respond to names with the ".a" as documented. I would have liked PB to add the directory when it is not one of the standard ones. By using all lower case and adding the directory to my preamble I have gotten it working. -- Michael Allen Latta Kripalu Center harit@kripalu.com (413)448-3288
From: xepo@csd4.csd.uwm.edu (Scott R Violet) Newsgroups: comp.sys.next.programmer Subject: Looking for IXBTree examples Date: 5 Jul 1993 15:17:53 GMT Organization: Computing Services Division, University of Wisconsin - Milwaukee Distribution: usa Message-ID: <219gn1INN512@uwm.edu> Originator: xepo@csd4.csd.uwm.edu HI, I was just wondering if some kind soul out there would happen to have an example of creating and using a IXBTree from an IXStoreFile. If so, could you please pass it my way. Thanks, -- -Scott Violet (xepo@csd4.csd.uwm.edu)
From: xepo@csd4.csd.uwm.edu (Scott R Violet) Newsgroups: comp.sys.next.programmer Subject: cmsg cancel <219gn1INN512@uwm.edu> Control: cancel <219gn1INN512@uwm.edu> Date: 5 Jul 1993 15:39:57 GMT Organization: Computing Services Division, University of Wisconsin - Milwaukee Distribution: usa Message-ID: <219i0dINN56d@uwm.edu> References: <219gn1INN512@uwm.edu> Originator: xepo@csd4.csd.uwm.edu This message was cancelled from within rn. -- -Scott Violet (xepo@csd4.csd.uwm.edu)
From: eric@skatter.USask.Ca (Eric Norum) Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin Subject: MouseX server causes unbounded swapfile expansion? Date: 5 Jul 1993 16:40:31 GMT Organization: University of Saskatchewan, Saskatoon, Canada Distribution: world Message-ID: <219lhv$ikv@access.usask.ca> Keywords: MouseX,swapfile First of all, I'd like to extend my thanks to all those who made an X server for the NeXT freely available. I'm using Xfe and the the Mouse-X server on my NeXTstation color running NeXTStep 3.0. The Info panel for Xfe says that it is version 2.3. Everything seems to work o.k. except that something seems to grab a bunch of swap space and never let it go -- even after all X processes have terminated. For example: Before running MouseX: -rw------t 1 root 16777216 Jul 5 10:17 swapfile -rw------t 1 root 2981888 Jul 5 10:17 swapfile.front After running MouseX: -rw------t 1 root 16777216 Jul 5 10:20 swapfile -rw------t 1 root 16138240 Jul 5 10:20 swapfile.front After running MouseX again: -rw------t 1 root 16777216 Jul 5 10:22 swapfile -rw------t 1 root 18120704 Jul 5 10:22 swapfile.front And again: -rw------t 1 root 16777216 Jul 5 10:24 swapfile -rw------t 1 root 24387584 Jul 5 10:24 swapfile.front I used `ps' after each of these runs to make sure that there were no X server or client processes still running after MouseX shut down. So where's the memory leak? I don't use X a lot (thank heavens), but I still have to reboot every couple of days to get my swapfile back to size. The /etc/swaptab file on my machine looks like: /private/vm/swapfile lowat=16777216 # 16 Meg low water mark -- Eric Norum eric@skatter.usask.ca Saskatchewan Accelerator Laboratory University of Saskatchewan Saskatoon, Canada. NeXTMail accepted.
From: fahller@harmac.ppc.ubc.ca (Bjorn Fahller) Newsgroups: comp.sys.next.programmer Subject: Adding classes at runtime? Date: 5 Jul 1993 17:19:28 GMT Organization: The University of British Columbia Message-ID: <219nr0INN8i4@iskut.ucs.ubc.ca> What I want to do is to create objects, whose class are unknown at compile time. The .o files reside on HD. What I want to do is much the same as the interface builder does when you add new View decendants to it. It reads them from HD and from then on knows how to handle them. How can I do this? I've tried various combinations of objc_addClass, objc_loadModules, objc_getClass, objc_lookUpClass and [Application loadNibFile:::...], so far without a sign of success. _ /Bjorn. -- UBC Pulp & Paper Centre 4549 W. 11th Street A Swede in 2385 East Mall Vancouver, B.C. temporary Vancouver, B.C. Canada V6R 2M5 exile. Canada V6T 1Z4 Tel: +1 604/822-8567 Tel: +1 604/222-4952
Newsgroups: comp.sys.next.programmer From: greg@afs.com (Gregory H. Anderson) Subject: Re: How are "private" methods implemented in Obj-C? Message-ID: <1993Jul5.164250.1093@afs.com> Sender: greg@afs.com References: <1993Jul4.234010.21553@Princeton.EDU> Date: Mon, 5 Jul 1993 16:42:50 GMT In article <1993Jul4.234010.21553@Princeton.EDU> gmecchia@hop.Princeton.EDU writes: > Hi, > > I have a method that is implemented in my .m file and not declared in my > .h file. I wanted to "scope" the method as "private" to instances of > the class where it is implemented (in the C++ style). If I declared the > method in my .h file, then any subclass instance can invoke that method, > and that is something I don't want to allow. Objective-C offers no way of making a method private, regardless of whether you include it in your .h file. At runtime, any method can be dispatched at the request of any other object (not necessarily even a subclass). It's enough to know the name and arguments, much of which can be learned through judicious use of AppInspector. NeXT puts an underscore in the front of private method names, to highlight their status and discourage you from calling them. That doesn't mean you can't use them if you really want to. However, you do so at your own risk, because private methods can go away, change arguments, etc. > However, I do get warning messages from the compiler: > > ClassName.m:92: warning: `ClassName' does not respond to `methodName:' > > Should I ignore these warnings, or is there another way to define > "private" methods in Objective-C? You can get rid of the warnings by prototyping the methods at the top of your .m file, or putting them near the top. -- Gregory H. Anderson | "If you've got eyes to rhythmatize Composer-in-Residence | Bring your flat hat and your ax Anderson Financial Systems | 'Cause tonight at 10 we'll be workin' again" greg@afs.com (NeXTmail OK) | -- Donald Fagen, "Teahouse on the Tracks"
Newsgroups: comp.sys.next.software,comp.sys.next.programmer From: arrouye@imag.fr (Yves Arrouye) Subject: Help! DPS pb with WideScreen 0.5 on NS 3.1 (Intel) Message-ID: <1993Jul5.140701.18491@imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Mon, 5 Jul 1993 14:07:01 GMT I have compiled WideScreen 0.5 with the 3.x 1.1. patch, but it does not run and hang instead, after a DPS serever error. I would like help from someone who did run it, or has some time to try and investigate (I'm new to NS). Thanks in advance, Yves. Here is a gdb session running the executable: (gdb) run Starting program: /me/arrouye/WideScreen-V0.5/WideScreen.app/WideScreen DPS client library error: PostScript program error, DPSContext dc44c %%[ Error: rangecheck; OffendingCommand: window ]%% DPS client library error: PostScript program error, DPSContext dc44c %%[ Error: undefined; OffendingCommand: num ]%% DPS client library error: PostScript program error, DPSContext dc44c %%[ Error: typecheck; OffendingCommand: currentwindowdict ]%% DPS client library error: PostScript program error, DPSContext dc44c %%[ Error: invalidid; OffendingCommand: currentwindowdict ]%% DPS client library error: PostScript program error, DPSContext dc44c %%[ Error: invalidid; OffendingCommand: windowdeviceround ]%% DPS client library error: PostScript program error, DPSContext dc44c %%[ Error: typecheck; OffendingCommand: setgstate ]%% DPS client library error: PostScript program error, DPSContext dc44c %%[ Error: typecheck; OffendingCommand: currentgstate ]%% DPS client library error: PostScript program error, DPSContext dc44c %%[ Error: invalidid; OffendingCommand: currentwindowdict ]%% DPS client library error: PostScript program error, DPSContext dc44c %%[ Error: typecheck; OffendingCommand: setgstate ]%% DPS client library error: PostScript program error, DPSContext dc44c %%[ Error: invalidid; OffendingCommand: flushgraphics ]%% DPS client library error: PostScript program error, DPSContext dc44c %%[ Error: invalidid; OffendingCommand: currentwindowlevel ]%% DPS client library error: Invalid tag in returned object, DPSContext dc44c, data 945888 DPS client library error: Invalid tag in returned object, DPSContext dc44c, data 945904 DPS client library error: Invalid tag in returned object, DPSContext dc44c, data 945920 DPS client library error: Invalid tag in returned object, DPSContext dc44c, data 945936 ^C Program received signal 2, Interrupt 0x5007d3c in msg_receive_trap () (gdb) Note that there is no explicit call to the window operator in the sources... -- With one processor, we verify that the time spent Yves Arrouye in controlling parallelism is not too long. arrouye@mistral.imag.fr arrouye@imag.imag.fr -- Yannick Tre'molet, LMC (33) 76 57 48 61
Newsgroups: comp.sys.next.programmer From: eugene@nshade.uah.ualberta.ca (Eugene Mah) Subject: Displaying 16 bit image data Message-ID: <1993Jul5.170104.17927@kakwa.ucs.ualberta.ca> Sender: news@kakwa.ucs.ualberta.ca Organization: University Of Alberta, Edmonton Canada Date: Mon, 5 Jul 1993 17:01:04 GMT I'm going to try this again, since it doesn't look like my original post made it out alive... I've got a bunch of image files that I'd like to try to display on my NeXT. The problem is, the data is stored as 16 bit SHORT INTs. I thought I might be able to do it using NXImage, but it wants CHARs. Can anyone out there tell me what methods I need to override in NXImage, or some such object, to display these images? Or how I might begin to write my own routine to display these things? Many thanks! Replies can be sent to the address below. -- ------------------------------------------------------------------ Eugene Mah ----> eugene@uaneuro.uah.ualberta.ca (NeXT-Mail) grad student/sys admin "For I am a Bear of Very Department of Radiology Little Brain, and University of Alberta Hospitals long words bother me." Edmonton, Alberta, Canada Winnie the Pooh
Newsgroups: comp.sys.next.programmer From: Boris <Boris@Dylan.demon.co.uk> Subject: HELP! NEED HELP - WONT BOOT Message-ID: <C9pBpu.1sA@demon.co.uk> Sender: news@demon.co.uk Organization: BorMak Tech (Software consultants & Network Specialists) Date: Mon, 5 Jul 1993 17:10:41 GMT Hiya Folks, I need YOUR help. We just got hold of a Next Cube but we can't get it to work.(thats why it was given to us!) As far as we know, the machine is basically okay inside, just we need the boot disks!(simple enough) The machine specs are as follows; Model N1000 Cude System Release 1.0 System Software Mach/Unix It has one of them natty likkle optical drives in it, for booting I guess. The machine worked once a few months ago but died for no apparent reason. It was sitting in a store room for 3 years, brought into the world thorgh idle curiosity, died, shelved, scrapped (redirected to yours truly). It would be a sin to let the machine rot. PLEASE, SOMEBODY, HELP ME TO GET IT TO WORK! ANY HELP/HINTS/POINTERS(HANDLES?)>???? Where do I get system software? Can I get copies...send them to me...I'll pay charges obviously. HELP! HELP HELP HELP HELP! Lots of Peace, Love and Good Happiness Stuff Boris XXXxxxXXX
Newsgroups: comp.sys.next.programmer From: marcel@nice.usergroup.ethz.ch (Marcel Waldvogel) Subject: Re: 3.1 POSIX? Message-ID: <C9pGr0.qx@bernina.ethz.ch> Sender: news@bernina.ethz.ch (USENET News System) Organization: NiCE - NeXT User Group, Zurich, Switzerland References: <1993Jun28.182309.2528@uunet!cbmvax!xmws!kripalu> <1993Jun29.081622.2766@csus.edu> Date: Mon, 5 Jul 1993 18:59:23 GMT In article <1993Jun29.081622.2766@csus.edu> eps@cs.sfsu.edu writes: >In article <1993Jun28.182309.2528@uunet!cbmvax!xmws!kripalu> > harit@kripalu.com writes: >>I REALLY need to know if 3.1 is POSIX compliant. If not will 3.2? > >/NextLibrary/Documentation/NextDev/ReleaseNotes/OperatingSystem.rtf says: > In Release 3.1, building POSIX applications isn't > supported. POSIX will be supported in a future release. Some serial I/O code compiled just nicely when I #defined _POSIX_SOURCE_ (or something the like), which it didn't do neither before nor on a 3.0 NeXT), so some POSIX functions are now available, but, as the docs say, it isn't officially supported yet. -Marcel
Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin From: marcel@nice.usergroup.ethz.ch (Marcel Waldvogel) Subject: Re: Problem running Terminal from apps Message-ID: <C9pHrx.16n@bernina.ethz.ch> Sender: news@bernina.ethz.ch (USENET News System) Organization: NiCE - NeXT User Group, Zurich, Switzerland References: <1993Jul2.202542.6015@nstn.ns.ca> <21589h$bfq@wa3ymh.transsys.com> Date: Mon, 5 Jul 1993 19:21:32 GMT In article <21589h$bfq@wa3ymh.transsys.com> louie@TransSys.COM (Louis A. Mamakos) writes: >In article <1993Jul2.202542.6015@nstn.ns.ca> mleggott@cwaves.stfx.ca (Mark Leggott) writes: >> sprintf( szCommand, "Terminal.app -NXFixedPitchFontSize 14 -Shell '%s'", >> asthiHostInfo[iHost].command ); > >/NextApps/Terminal.app is not a UNIX executable file; it is a >directory, er.. app wrapper or bundle. The actual program that you >want to execute is /NextApps/Terminal.app/Terminal. And you even don't want to launch multiple Terminal.apps. Take Stuart (it's the better choice) and have a look at the StuartSpeaker Object or do a system("soil ..."). Then you will only get one Stuart but with multiple windows for multiple sessions. This is far more memory- and launch-time-effective. -Marcel
From: ramesh@bodhi.esys.cwru.edu (Ramesh Dodamani) Newsgroups: comp.sys.next.programmer Subject: DBKit: Need Help... Date: 5 Jul 1993 22:36:42 GMT Organization: Case Western Reserve University, Cleveland, Ohio (USA) Message-ID: <21aadq$gvj@usenet.INS.CWRU.Edu> Keywords: DBKit,DBRecordList Hi The "addRetrieveOrder: for:" method of the DBRecordList just doesn't seem to work. Has anybody else been using it? If anybody have been successful in making it work, I would appreciate if you could send me an example of the same. I may be missing something. Would like to know what. Thanks Ramesh
From: David Apfelbaum <da0g+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: Re: Using libraries Date: Mon, 5 Jul 1993 18:32:21 -0400 Organization: Sponsored account, Mathematics, Carnegie Mellon, Pittsburgh, PA Message-ID: <cgC_jpu00WA7Fcarsn@andrew.cmu.edu> In-Reply-To: <1993Jul5.130317.9264@uunet!cbmvax!xmws!kripalu> Excerpts from netnews.comp.sys.next.programmer: 5-Jul-93 Re: Using libraries by harit@kripalu.com > This solves most of the problems. The rest result from PB/ld bugs. > As far as I can tell capital letters in the name do not work. PB > buts in the ".a" in the name if capital letters are present. LD does > not respond to names with the ".a" as documented. I would have liked > PB to add the directory when it is not one of the standard ones. Hmm. Thats odd. It works fine for me... I have a library "libDBKitExtensionsPalette.a", which is located inside my project's source-directory... So I just dragged it into ProjectBuilder's Libraries section and added a -L. to my Makefile.preamble 's OTHER_LDFLAGS. Of course, the library inside ProjectBuilder's Libraries' list appears as "DBKitExtensionsPalette", as it should.... And when compiling I see the -L. and -lDBKitExtensionsPalette flags as I would expect... It *would* help to use libDBFilter.a instead of DBFilter.a... Also, I've found it useful (but by no means essential) to use "ar q <obj-files>", as I have extremely long filenames that tend to collide and override each other... Of course, this kills updating portions of the library -- I have to rebuild it completely each time... But that's fairly fast... And, as long as we're on the subject, has anyone tried writing a libIB.a yet? Some sort of template-class definitions so we don't have to worry about filtering out all the IBInspector, etc classes from (IB) Palettes when we go to build libraries for those Palettes? Just a thought. -David. (Still Using NS3.0. *sigh*)
Newsgroups: comp.sys.next.programmer From: gbol@nos40nm.shell.com (Gregory B. Lampshire) Subject: NXBrowser woes Message-ID: <GBOL.93Jul3174150@nos40nm.shell.com> Sender: usenet@shellgate.shell.com (USENET News System) Organization: Shell Offshore, Inc Date: Sat, 3 Jul 1993 22:41:50 GMT WOE I. I am attempting to get edit the strings in NXBrowserCells with a certain behavior. Behav. desired: a double click begins the edit with the cursor at the end of the cell's title. Here is what I was trying to do: static id ctext; static id ecell; // the following is the action message sent from a browser double click - editCodeName:sender // only enabled cells can be edited ??? { NXRect r; NXEvent *e; ecell = [browser selectedCell]; if(ecell==nil) return self; [ecell setEditable:YES]; [ecell setEnabled:YES]; if((ctext=[window getFieldEditor:YES for:self])==nil) [window endEditingFor:self]; [ecell getTitleRect:&r]; e = [NXApp currentEvent]; [ecell edit:&r inView: [browser matrixInColumn:[browser selectedColumn]] editor:ctext delegate:self event:e]; [ctext setSel:0 :[ctext textLength]]; return self; } - textDidEnd:sender endChar:(unsigned short)reason { [ecell endEditing:ctext]; [ecell setEditable:NO]; [ecell setEnabled:YES]; return self; } But it seems that it requires three clicks to get into editing the cell's title and afterwards, the cell is stuck in eternal editing (the cursor is always an I-beam when over the cell's rect). WOE II. [aBrowser setPath:"/mammal/duck"] doesn't seem to work properly in all circumstances. I wish to add a new column off an entry in the leftmost column leaf. First, the leftmost column entry is selected, then the data is added to the delegate, and the [.. setPath:"/left/right"] is called to select the newly created data in the left and adjoining column but the right cell is not selected nor is the new column even loaded. What is strange is 1) using the debugger, I can setPath: to another layered data path and have that selected just fine before exiting the data addition method 2) if I setPath:"/bogus/path" then setPath: to the correct path it works just fine! You figure! Just before the setPath: I do a reloadColumn on the left column so that it will properly reflect the hier. data with the pullright triangle (it changes from a leaf to a non-leaf cell). If the right column already has data in it, then everything works as it is suppose to. Any hints and code frags. would be helpful. Thanks, gregory gbol@rglnext.geol.vt.edu gbol@shell.com
From: tyfung@uclink.berkeley.edu (Tin-Yau Fung) Newsgroups: comp.sys.next.programmer Subject: Czeh Scheme for NeXT? Date: 6 Jul 1993 05:15:27 GMT Organization: University of California, Berkeley Distribution: world Message-ID: <21b1pf$ct6@agate.berkeley.edu> Hi, I'm looking for Czeh Scheme for the motorola NeXT. Does any one where I could obtain a copy? Thanks.
Newsgroups: comp.sys.next.programmer From: abell@netcom.com (Steven T. Abell) Subject: Re: Czeh Scheme for NeXT? Message-ID: <abellC9qEp4.6xE@netcom.com> Organization: Netcom Online Communications Services (408-241-9760 login: guest) References: <21b1pf$ct6@agate.berkeley.edu> Date: Tue, 6 Jul 1993 07:12:39 GMT tyfung@uclink.berkeley.edu (Tin-Yau Fung) writes: >I'm looking for Czeh Scheme for the motorola NeXT. >Does any one where I could obtain a copy? Thanks. It's spelled Chez Scheme, made by Cadence. They're someplace in Indiana, probably Bloomington. Steve abell@netcom.com
From: andrew@cubetech.com (Andrew Loewenstern) Newsgroups: comp.sys.next.programmer Subject: Re: Multiuser IXStores Date: 3 Jul 1993 08:42:47 -0500 Organization: Cube Technologies, Inc Message-ID: <2142cn$64d@valinor.cubetech.com> References: <1993Jun30.212959.21323@leland.Stanford.EDU> In article <1993Jun30.212959.21323@leland.Stanford.EDU> shiva@vega.Stanford.EDU (Marcos Javier Polanco) writes: > >Hello, we are considering using the IndexingKit for multiuser access to >persistent objects. My understanding is that the IXKit only supports >file-based locking of the whole IXStore for writing. What have been >developers' experience with this approach? Has anyone implemented >record-level locking of IXStore blocks for faster multiuser access? When you open an IXStoreFile it locks the file, but you can have many threads accessing it simultanously. If you use distributed objects you can have multiple remote processes accesing it. Make sure you implement the encoding and decoding protocols and pass the objects you want to store and retrieve bycopy! andrew -- andrew@cubetech.com | "We cannot dwell in the time that is to come, Andrew Loewenstern | lest we lose our now for a phantom of our Cube Technologies, Inc. | own design." - Erendis FYEO Public Key: 0000000701B61D1ADF0DFC9C16185CEA055200000007EB4A9FEB1922065D471A89E905B5
From: croehrig@cs.ubc.ca (Chris Roehrig) Newsgroups: comp.sys.next.programmer Subject: Re: Adding classes at runtime? Date: 6 Jul 1993 17:04:10 GMT Organization: Computer Science, University of B.C., Vancouver, B.C., Canada Message-ID: <21cbaa$6s7@cs.ubc.ca> References: <219nr0INN8i4@iskut.ucs.ubc.ca> In article <219nr0INN8i4@iskut.ucs.ubc.ca> fahller@harmac.ppc.ubc.ca (Bjorn Fahller) writes: > What I want to do is to create objects, whose class are unknown at > compile time. The following (adapted from a yacc grammar) works for me: id class; char object[40], dbg[40], *filelist[2]; class = objc_lookUpClass( $4->name ); if( !class ){ /* load the class */ sprintf( object, "%s.o", $4->name ); sprintf( dbg, "%s.o.dbg", $4->name ); filelist[0] = object; filelist[1] = NULL; if( objc_loadModules(filelist, NULL, NULL, NULL, dbg) != 0 ){ yyerror( "unable to load %s", object ); return 1; } class = objc_lookUpClass( $4->name ); } objc_lookUpClass is not found in Release 2.1. The following hack duplicates it: static id objc_lookUpClass( STR aClassName ) /* * Duplicates the routine found in NEXTSTEP 3.0. */ { NXHashTable *classes; NXHashState state; Class class; char *name; classes = objc_getClasses(); state = NXInitHashState(classes); while( NXNextHashState( classes, &state, (void **)&class ) ){ name = object_getClassName( (id)class ); if( strcmp(name, aClassName) == 0 ){ return (id)class; } } return nil; } Chris Roehrig (croehrig@cs.ubc.ca) Small Neural Systems Group Dept. of Computer Science, University of British Columbia, Canada
From: hacker@access.digex.net (Dark Hacker) Newsgroups: comp.sys.next.programmer Subject: How to perform periodic tasks in NXApp? Date: 6 Jul 1993 15:08:37 -0400 Organization: Express Access Online Communications, Greenbelt, MD USA Message-ID: <21cijl$64d@access.digex.net> I have an application which is mostly compute-oriented (COMPUTATION!) as opposed to user/interactive. In other words, instead of responding to user events, my program performs a number of computations inside a loop. This is how to works on traditional machines like Suns, Macs, etc. Well how to perform this periodic set of tasks on the NeXT? Somehow I have to have my subroutine calls initiated by NXApp. Should I subclass NXApp in some or perhaps have these tasks subclassed from a periodic tasking class (don't know what that would be on the NeXT)? Ideally I would like to have a "controller" which actually does the controlling as opposed to being driven by events. Thanks for your advice! - Hacker -- Dark Hacker @ Black Silicon, Fortress Of Computation hacker@black-silicon.mclean.va.us "Life itself is... COMPUTATION!"
From: sean@digaudio.byu.edu (Sean Luke) Newsgroups: comp.sys.next.programmer Subject: Re: [HP/NeXT] - NeXT Hiring Software Engineers for HP Object/Enterprise Development Followup-To: comp.sys.next.programmer Date: 6 Jul 1993 19:13:05 GMT Organization: BYU Distribution: world Message-ID: <sean-060793131415@rm2221m2.cs.byu.edu> References: <469@moene.indiv.nluug.nl> <1993Jul2.213513.1022@houston.dolphin.com> In article <1993Jul2.213513.1022@houston.dolphin.com>, jcr@dolphin.com (John C. Randolph) wrote: > > This post of Avie's impressed me tremendously! It is wonderful to see a > company advertising for talent, and actually giving out the name of the > person making the hiring decison. > > Let's hear it for end-runs around personnel departments! NeXT? Having a personnel department? :-) Sean Luke sean@digaudio.byu.edu
From: apl@doc.ic.ac.uk (Ari P Laakkonen) Newsgroups: comp.sys.next.programmer Subject: driverkit in next 3.1 Date: 6 Jul 1993 19:27:01 GMT Organization: Department of Computing, Imperial College, University of London, UK. Distribution: world Message-ID: <21cjm5INNlgk@frigate.doc.ic.ac.uk> Keywords: drivers frustration help 3.1 NS486 Originator: apl@santos.doc.ic.ac.uk I'm interested in writing a driver for my graphics card, an Orchid Fahrenheit 1280D, for nextstep/486. The trouble is, documentation on writing drivers is particularly lousy. I've even resorted to examining disassembled tseng4000 drivers (which came with the system)... If there is anyone out there who knows about the topic, I'd appreciate answers or pointers to answers to some of the following problems which have been vexing me: (a) which driver gets loaded by the system? Is it the one in /usr/Devices or the one with the .psdrv extension in another device driver directory? Or is it both? If both, how do they interact? Why does the boot process seem to try to load about 3 different video drivers? (b) I understand the cursor-related calls, and the console stuff. What I can't figure out is how a reference in the kernel windowing routines to some position in the frame buffer gets translated to a call to reference video memory. (c) Why do the tseng drivers register themselves with the event driver? (d) Where are globals such as kmId to be found? This seems to be used in the driver with Objective-C routines, but I can't find it in the include files. Nor can I find routines such as NXRegisterScreen, which are used in the .psdrv driver. (e) Most of all, I would like to know, is writing a video driver at all possible in this release. Or have I just been wasting my time. Any help on these topics would be greatly appreciated... even from anyone at NeXT. Thanks, Ari PS. I like my graphics card. You may have guessed. Seems however silly to pay 300 pounds for a new card when this one will still do. And yes, the 300 pounds would be from my pocket which motivates me a great deal..
Newsgroups: comp.sys.next.programmer From: lloyd@world.std.com (Chris Lloyd) Subject: Re: Adding classes at runtime? Message-ID: <C9rExy.Mqy@world.std.com> Organization: The World Public Access UNIX, Brookline, MA References: <219nr0INN8i4@iskut.ucs.ubc.ca> <21cbaa$6s7@cs.ubc.ca> Date: Tue, 6 Jul 1993 20:15:33 GMT In article <21cbaa$6s7@cs.ubc.ca> croehrig@cs.ubc.ca (Chris Roehrig) writes: >objc_lookUpClass is not found in Release 2.1. The following hack >duplicates it: > >static id objc_lookUpClass( STR aClassName ) >/* > * Duplicates the routine found in NEXTSTEP 3.0. > */ >{ > NXHashTable *classes; > NXHashState state; > Class class; > char *name; > > classes = objc_getClasses(); > state = NXInitHashState(classes); > while( NXNextHashState( classes, &state, (void **)&class ) ){ > name = object_getClassName( (id)class ); > if( strcmp(name, aClassName) == 0 ){ > return (id)class; > } > } > return nil; >} static id objc_lookUpClass( STR aClassName ) { struct objc_class cstruct; cstruct.name=aClassName; return NXHashGet(objc_getClasses(),&cstruct); } shrug, -- :: Christopher Lloyd :: Yrrid Incorporated :: lloyd@world.std.com :: :: LOUDER...LOUDER... ::
Newsgroups: comp.sys.next.programmer From: dekorte@ibm19.scri.fsu.edu (Stephen L. DeKorte) Subject: Windows WITH appkit? Sender: usenet@mailer.cc.fsu.edu Organization: Supercomputer Computations Research Institute Date: Tue, 6 Jul 1993 19:49:22 GMT Message-ID: <C9rDqA.LIB@mailer.cc.fsu.edu> I'm trying to write the simplest program possible, that can open a window, without using IB, and only using NeXT's Window class. Can anyone figure out what's wrong with the following?: ----------------------------------------------------- #import <stdio.h> #import <appkit/appkit.h> #import <appkit/Form.h> void main() { int i; id window =[Window new]; [window init]; [window setTitle:"Ack!"]; [window display]; for (i=0;i<10000000;i++) {i++;i--;} printf("Done\n"); } -------------------------------------------------- It compiles, but when run, no window shows up on the screen. Thanks for any help, - Steve
From: blake015@mc.duke.edu (Denise Blakeley) Newsgroups: comp.sys.next.programmer Subject: Creating fat binary outside of PB; also, where is the "arch" kept? Message-ID: <17360@news.duke.edu> Date: 6 Jul 93 21:13:28 GMT Sender: news@news.duke.edu Question #1: I have a Unix (GNU, even) utility that has been running on our black hardware. We're changing to some white hardware this week, so now I need to make it a fat binary. If it was a NeXT app I could make the designation from within PB. But it's not. What must I specify in the Makefile to make this work? Question #2: As far as I can tell, "-arch" is an _undocumented_ option of the NeXT 3.1 C compiler! Has anyone figured out what variable(?) PB examines to set this option in Makefile? Denise -- Denise Blakeley | PROGRAM, tr. v., An activity similar Duke Med Center Info Systems | to banging one's head against a wall, Durham, NC | but with fewer opportunities for (919) 282-6468 W | reward. blake015@mc.duke.edu |
From: mkrogers@unix.amherst.edu (Michael Rogers) Newsgroups: comp.sys.next.programmer Subject: Re: Windows WITH appkit? Date: 6 Jul 1993 17:30:25 -0400 Organization: Amherst College, Amherst MA, USA Message-ID: <21cqth$523@amhux3.amherst.edu> References: <C9rDqA.LIB@mailer.cc.fsu.edu> Stephen L. DeKorte (dekorte@ibm19.scri.fsu.edu) wrote: : I'm trying to write the simplest program possible, that can open : a window, without using IB, and only using NeXT's Window class. : Can anyone figure out what's wrong with the following?: : ----------------------------------------------------- : #import <stdio.h> : #import <appkit/appkit.h> : #import <appkit/Form.h> : void main() : { : int i; : id window =[Window new]; : [window init]; : [window setTitle:"Ack!"]; : [window display]; : for (i=0;i<10000000;i++) {i++;i--;} : printf("Done\n"); : } You need to create a connection with the window server. Try calling "[Application new]" before doing anything else. I'm assuming that the default rectangle used in the -init Window method results in a visible window (ie, that it's big enough and on the screen).
From: alexk@infmuc (Alexander Koerner) Newsgroups: comp.sys.next.programmer Subject: Re: The great DBKit hoax (can't display long text fields) Message-ID: <1993Jul5.103721.4494@informix.com> Date: 5 Jul 93 10:37:21 GMT References: <C9KF72.2Gq@sybase.com> Sender: news@informix.com (Usenet News) Organization: Informix Software, Inc. In article <C9KF72.2Gq@sybase.com> brill@sybase.com (Michael Brill) writes: > I'm trying to retrieve text fields (Sybase type text) with DBKit. As long > as the number of characters in the field is less than 100 or so, DBKit will > retrieve and display the text. However, once the number of characters in > the text field exceeds 100, Interface Builder (where I'm testing this) > just quits. I've tried this with two different databases (and two different > adaptors). Is there a real limitation that DBKit can only retrieve the > first 100 characters of a field type text or am I doing something horribly > wrong? Could someone verify that they can or cannot retrieve full text > fields from SQL Server (under 3.0 or 3.1). If you access to a pubs2 > database, then pubs2.blurbs is a good table to try this with. I just tried with an Informix adaptor connected to a remote Informix-OnLine 5.0 via I-Net and retrieved the Informix TEXT type w/o any problems running a 3.1 PR on NeXT hardware. The retrieved TEXT had 12668 characters... Maybe a limit in the Sybase adaptor ??? Greetings from a hot & sunny Munich, Alexander -- Alexander Koerner @ Informix Germany Oskar-Messter-Str. 25, D-8045 Ismaning Tel.: +49 89 960 980 Fax: +49 89 960 98 500 Email: alexk@infmuc.informix.com (NeXTmail accepted!)
Newsgroups: comp.sys.next.programmer From: erwin@helsinki.ks.uiuc.edu (Edgar Erwin) Subject: Re: Windows WITH appkit? Date: Tue, 6 Jul 1993 22:21:26 GMT Message-ID: <C9rKrq.4qF@news.cso.uiuc.edu> References: <C9rDqA.LIB@mailer.cc.fsu.edu> Sender: usenet@news.cso.uiuc.edu (Net Noise owner) Organization: University of Illinois at Urbana Stephen L. DeKorte writes > I'm trying to write the simplest program possible, that can open > a window, without using IB, and only using NeXT's Window class. > Can anyone figure out what's wrong with the following?: > ----------------------------------------------------- .. > -------------------------------------------------- > It compiles, but when run, no window shows up on the screen. > > Thanks for any help, > - Steve The main thing is you need to send the message [window orderFront:nil] message. However, you'll still be getting a pretty ugly window. It won't have all the pretty features of a normal window and you have no idea where on the screen it will be. A slightly better solution is the following: NXRect aRect; id window; NXSetRect(&aRect, 100.0, 100.0, 200.0, 300.0); // or whatever size you want window = [Window alloc]; [window initContent:&aRect style:NX_TITLEDSTYLE backing:NX_BUFFERED buttonMask:NX_CLOSEBUTTONMASK defer:NO]; [window setTitle:"Ack!"]; [window orderFront:nil]; .... You'll probably want to use different values for some parameters Ed erwin@lisboa.ks.uiuc.edu
Newsgroups: comp.sys.next.programmer From: erwin@helsinki.ks.uiuc.edu (Edgar Erwin) Subject: Re: Mouse Event Problems Date: Tue, 6 Jul 1993 22:25:56 GMT Message-ID: <C9rKz9.4uH@news.cso.uiuc.edu> References: <217osu$opa@cs.ubc.ca> Sender: usenet@news.cso.uiuc.edu (Net Noise owner) Organization: University of Illinois at Urbana Hi, By combining suggestions from several people, I came up with the following solution: - iterate { .. if (fabs(X) > 3.0) { NXEvent event = *[NXApp currentEvent]; event.type = NX_LMOUSEUP; NXRunAlertPanel("Boom!", "Equations blew up: resetting.", "OK", 0, 0); DPSPostEvent(&event, YES); [self perform:@selector(resetParameters:) with: self afterDelay:0 cancelPrevious:YES]; return nil; // nil signals that there was a problem } .. } - resetParameters:sender { .. B = 0.3; [myBField setDoubleValue:B]; [myBSlider setDoubleValue:B]; return self; } Some notes: I use [NXApp currentEvent] rather than [NXApp getNextEvent:...] because there sometimes is no NextEvent to get, since the error can occur while the mouse is moving the slider, or at some other time. I run the alert panel immediately so the user knows there is a problem. I reset the parameters only after the mouse event has been taken care of so that the mouse event doesn't go to the slider and change its value. I make sure the event is out of the way before proceeding by using the method perform:with:afterDelay:... with a delay of 0. I still find the solution quite ugly, but it seems to work. Thanks for your suggestions, Ed erwin@lisboa.ks.uiuc.edu
Newsgroups: comp.sys.next.programmer From: brill@sybase.com (Michael Brill) Subject: DBKit hoax - no text fields Message-ID: <C9rB7r.GBx@sybase.com> Sender: usenet@sybase.com Organization: Sybase, Inc. Date: Tue, 6 Jul 1993 18:55:02 GMT As a follow-up to a previous post, DBKit appears to be incapable of dealing with fields type Sybase "text" - this is using the adaptor that comes with NS3.1 (Intel) and a Sun-based SQL Server 4.9. The version of isql that comes with NS3.1 works fine (i.e., it can retrieve text fields with >100 characters in them) which probably means that the problem is in the Sybase adaptor. Has anyone (1) experienced this show-stopping problem, (2) have any workaround (besides coding C-based DBLib calls) or (3) know how I can get some feedback from NeXT without spending $$$. Thanks, ...Michael
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: comp.sys.next.programmer Subject: Ten Open NEXTSTEP Positions with NorthStar (New York City) Date: 6 Jul 1993 18:30:30 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9307062329.AA07570@toto.NeXT.COM> If you match any of these profiles, please contact us: NorthStar Technologies, Inc. 15 Maiden Lane, Suite 803 New York, New York 10038 Attention: Morris Gartenberg Phone: 212-267-4100 extension 135 Fax: 212-267-4468 e-mail: gartenb@northstar.com NorthStar Technologies, Inc. is a small software development and consulting firm based in New York City specializing in the use of object-oriented and client-server technologies. We provide innovative software solutions for financial institutions and other businesses. We are enlarging our staff due to an influx of new business and seek employees that match the following profiles: 1) Two senior managers - BSCC or equivalent, MS preferred - 7 to 9 years of software engineering experience - Mastery of object-oriented design and development techniques - Mastery of client-server techniques - Extensive knowledge and ability using C++ and other object-oriented languages - Extensive knowledge of UNIX - Extensive knowledge of Sybase, both the Open Client library (API) as well as the server. Knowledge of other RDBMS products in commercial use a plus - Good working knowledge with GUIs including Motif - Knowledge of the financial business a strong plus - Good working knowledge of NeXTstep a strong plus - Consulting experience preferred, especially technical leadership and account management 2) Five senior software engineers/consultants - BSCC or equivalent - 3 to 5 years of software engineering experience - Good working knowledge of object-oriented design and development techniques - Good working knowledge of client-server techniques - Good working knowledge of C++ - Good working knowledge of UNIX - Good working knowledge of Motif (OpenLook experience a plus) - Good working knowledge of the Sybase Open Client library (API) - Good working knowledge of NeXTstep a strong plus - Consulting experience a strong plus - Knowledge of the financial business a strong plus 3) Two NeXTstep software engineers - BSCC or equivalent - More than a year's experience with NEXTSTEP application development - Extensive knowledge of the NeXTstep appkit - Good working knowledge of Objective C - Good working knowledge of UNIX - Experience with the Sybase Open Client library (API) and other commercial RDBMS application programming a strong plus - Knowledge of C++ a plus 4) A UNIX system administrator - BSCC or equivalent - Significant experience with heterogeneous UNIX network environments - Good working knowledge of UNIX system administration tools - Commercial RDBMS installation and maintenance - Significant experience with hardware purchasing, installation, configuration and maintenance - Good working knowledge of NeXTstep a strong plus - C, C++ or Objective C experience a plus - Consulting experience a plus If you match any of these profiles, please contact us: NorthStar Technologies, Inc. 15 Maiden Lane, Suite 803 New York, New York 10038 Attention: Morris Gartenberg Phone: 212-267-4100 extension 135 Fax: 212-267-4468 e-mail: gartenb@northstar.com
From: alex@cs.umd.edu (Alex Blakemore) Newsgroups: comp.sys.next.programmer Subject: Eval service provider works under NS 3.1 Message-ID: <69046@mimsy.umd.edu> Date: 6 Jul 93 23:00:56 GMT Sender: news@mimsy.umd.edu Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Glen Diener's nice Eval tool, a service provider that evaluates Obj-C and Postscript, works under NS 3.1 (with simple mods - i.e. modify the path to import defaults.h) I never got it to work with Obj-C under NS 3.0, but it works fine with 3.1 just in case anyone else gave up on it, you may want to give it a second glance. its at CCRMA somewhere, probably ftp.ccrma.stanford.edu -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted -------------------------------------------------------------- "Without an engaged and motivated human being at the keyboard, the computer is just another dumb box." William Raspberry
From: heynen@igd.fhg.de (Patrick Heynen) Newsgroups: comp.sys.next.programmer Subject: Experience with NXRecordStreams?? Date: 6 Jul 1993 22:15:42 GMT Organization: IGD Distribution: world Message-ID: <21ctie$3d3@korfu.igd.fhg.de> Keywords: SoundKit, Recording, multithreading Does anyone out there in Netland have some experience using the NXRecordStreams to do dynamic recording? I am writing an app which tries to continuously record sound from the microphone by continously enqueuing packets as follows: if ([self OKtoSend]) // Check precondition for sending for (tags=0;tags<bufferCount;tags++) { result = [self recordSize: bufferSize tag: tags]; if (result != NX_SoundDeviceErrorNone) { mutex_lock(printlock); printf("We had a sound error!!\n"); mutex_unlock(printlock); // Other stuff to handle errors should go here... looping = NO; break; } Problem is, even though I'm not getting any errors, nothing seems to be happening (ie, no reply messages are being sent to the delegate with the recorded data). I have set the NXSoundDevice to use a seperate thread. The documentation is relatively sparse on this new-fangled soundkit in 3.0, so if anyone out there has any thoughts, comments or an example of the correct use of this beast, please let me know! Thanks in advance! P.S. Please email me, as that gets to me orders of magnitude faster than news does over here. --------- Patrick Heynen Ex NeXT-CC (Cornell University) On Temp Assignment: ZGDV, Darmstadt Germany NeXTMail: heynen@igd.fhg.de
From: fahller@harmac.ppc.ubc.ca (Bjorn Fahller) Newsgroups: comp.sys.next.programmer Subject: Must be an FAQ, but... Date: 7 Jul 1993 00:19:56 GMT Organization: The University of British Columbia Message-ID: <21d4rcINNfjn@iskut.ucs.ubc.ca> Hi again, I must be missing something fundamental, since I can't find the solution to this one. I want to dynamically put descendants of View on a window, and then be able to move them around with the mouse. Putting the views there is simple, but how can the Window (or Application) be notified when I click on the view with the mouse? As it is, the view takes care of the mouse event, and I never know what happens. Rewriting the Views' descendants so that they don't care about the mouse is not an option. What I've tried so far, is to make the window the first responder, and that way steal the mouse events. No success. This must be possible, but how? _ /Bjorn. -- UBC Pulp & Paper Centre 4549 W. 11th Street A Swede in 2385 East Mall Vancouver, B.C. temporary Vancouver, B.C. Canada V6R 2M5 exile. Canada V6T 1Z4 Tel: +1 604/822-8567 Tel: +1 604/222-4952
Newsgroups: comp.sys.next.programmer From: davis@sonata.cc.purdue.edu (Robert Davis) Subject: Re: how can I declare static instance variables? Message-ID: <C9rq2B.1J5@mentor.cc.purdue.edu> Sender: news@mentor.cc.purdue.edu (USENET News) Organization: Purdue University References: <1993Jul4.191435.759@afs.com> <219ahr$gdq@disuns2.epfl.ch> Date: Wed, 7 Jul 1993 00:15:47 GMT In article <219ahr$gdq@disuns2.epfl.ch> scheurer@lithnext.epfl.ch writes: > >YES! >Class variables are badly needed. Why were they not in the language in the >first place? > >And if possible, add category variables, too... > Isn't a category with variables called a subclass? Rob -- | Robert Davis davis@sonata.cc.purdue.edu | "Look up, Hannah." NeXT Mail accepted --
Newsgroups: comp.sys.next.programmer From: Paul_Kunz@slac.stanford.edu (Paul Kunz) Subject: Re: Creating fat binary outside of PB; also, where is the "arch" kept? Message-ID: <C9rqoE.53G@unixhub.SLAC.Stanford.EDU> Sender: news@unixhub.SLAC.Stanford.EDU Organization: Stanford Linear Accelerator Center References: <17360@news.duke.edu> Date: Wed, 7 Jul 1993 00:29:02 GMT In article <17360@news.duke.edu> blake015@mc.duke.edu (Denise Blakeley) writes: > Question #1: I have a Unix (GNU, even) utility that has been running on our > black hardware. We're changing to some white hardware this week, so now I need > to make it a fat binary. If it was a NeXT app I could make the designation > from within PB. But it's not. What must I specify in the Makefile to make > this work? > > Question #2: As far as I can tell, "-arch" is an _undocumented_ option of the > NeXT 3.1 C compiler! Has anyone figured out what variable(?) PB examines to > set this option in Makefile? > Answer: -arch m68k -arch i386 as part of the $(CFLAGS) will compile and/or link fat. -- Paul F. Kunz Paul_Kunz@slac.stanford.edu (NeXT mail ok) Stanford Linear Accelerator Center, Stanford University Voice: (415) 926-2884 (NeXT) Fax: (415) 926-3587
From: ramesh@bodhi.esys.cwru.edu (Ramesh Dodamani) Newsgroups: comp.sys.next.programmer Subject: Problems with ProAudio Spectrum- Help! Date: 7 Jul 1993 00:44:51 GMT Organization: Case Western Reserve University, Cleveland, Ohio (USA) Message-ID: <21d6a3$pjo@usenet.INS.CWRU.Edu> Hi everybody I am trying to install the Pro Audio 16 card in my 486 system. With a DMA/IRQ setting of 3/5 or 7/5, it seems to be conflicting with the SMC Ethernet card and the COM1 port to which the mouse is connected. The SMC card has the standard settings as specified by NeXT. When I try to configure the PAS card for DMA7 using its 'Install' program in DOS, it says, DMA7 and 6 are not available. Has anybody faced these problems? Would like to hear about your experiences. Every card that I put into the machine comes with its own challenges :) :) Thanks in advance. Ramesh
Newsgroups: comp.sys.next.programmer Subject: Order of #imports != order of preprocessing! Message-ID: <C9s2An.Dns@news.otago.ac.nz> From: alastair@farli.otago.ac.nz (Alastair Thomson) Date: Wed, 7 Jul 1993 04:39:59 GMT Sender: usenet@news.otago.ac.nz (News stuff) Organization: University of Otago Keywords: cc pre-processing Hi there, We have an odd problem. We have a largish project, with lots of header files that #import other header files, including some that #import each other. We have had no problem with this until now. We have something like this. wibble.m #import "wibble.h" @implementation wibble @end wibble.h #import "wingle.h" #import "wungle.h" @interface wibble:Object { id fred; } @end wungle.h #import "wibble.h" #import "wingle.h" @interface wungle:Object { wibble *banana; } @end wingle.h #import "wungle.h" @interface wingle:Object { id SomeStuff; } @end Confused? Just wait.... The real situation is pretty complex, but this gives the gist of it. The odd thing is that when we compile say, wibble.m, we would expect that the class 'wibble' would be defined by the time the definition of banana is reached in wingle.h. Sure we are recursively #import'ing, but I would have thought that the first #import happens, sets a flag and then doesn't try to import again so the recursion stops. Unfortunately this isn't the case. It appears that the pre-processor doesn't immediately send to imported (or #inclued either) file to the output, it seems to output them in a strange order, it looks like it puts them onto a stack, then works out that they are recursive, then unwinds the stack. The result of preprocessing is seen below ( cc -E wibble.m ). Even though wibble.h is the first imported file, it is actually imported last, result is a complaint that wibble is undefined in wungle.h # 1 "wibble.m" # 1 "wibble.h" 1 # 1 "wingle.h" 1 # 1 "wungle.h" 1 @interface wungle:Object { wibble *banana; } @end # 1 "wingle.h" 2 @interface wingle:Object { List *SomeStuff; } @end # 1 "wibble.h" 2 @interface wibble:Object { id fred; } @end # 1 "wibble.m" 2 @implementation wibble @end Whew! Any suggestions, reasons etc would be much appreciated! Alastair -- Alastair Thomson, | Phone +64-3-479-8347 Chief Programmer, | Fax +64-3-479-8529 The Black Albatross Project, | e-mail: University of Otago, | alastair@farli.otago.ac.nz Dunedin, New Zealand | NeXTmail Welcome
Newsgroups: comp.sys.next.programmer From: blanford@spf.trw.com (Ronald P. Blanford) Subject: Re: DBKit addRetrieveOrder:for: Message-ID: <2C3A6804.1D7F@deneva.sdd.trw.com> Sender: news@deneva.sdd.trw.com Organization: TRW Inc., Redondo Beach, CA References: <21aadq$gvj@usenet.INS.CWRU.Edu> Date: Wed, 7 Jul 93 06:06:59 GMT Ramesh Dodamani writes > > The "addRetrieveOrder: for:" method of the DBRecordList just > doesn't seem to work. Has anybody else been using it? If > anybody have been successful in making it work, I would > appreciate if you could send me an example of the same. I may > be missing something. Would like to know what. I found that this only works if invoked in the fetchGroupWillFetch: delegate method just before the fetch. It most definitely did _not_ work when invoked as part of the appDidInit: method. - fetchGroupWillFetch:fetchGroup { [[fetchGroup recordList] addRetrieveOrder:DB_AscendingOrder for:[[fetchGroup entity] propertyNamed:"CASE_ID_NUM"]]; return self; } (Of course you must have the fetchGroup's delegate pointed to your own object.) This appears to generate just a single ORDER BY clause no matter how many times the fetch is executed. -- Ron
Newsgroups: comp.sys.next.programmer From: blanford@spf.trw.com (Ronald P. Blanford) Subject: Re: Subclassing DBTableView without losing IB functionallity Message-ID: <2C3A6AEE.1E43@deneva.sdd.trw.com> Sender: news@deneva.sdd.trw.com Organization: TRW Inc., Redondo Beach, CA References: <9307022347.AA03240@penny.demon.co.uk> Date: Wed, 7 Jul 93 06:19:25 GMT Robert Nicholson writes > If anybody has actually added drag and drop behaviour using > the NS3.0 API to DBTableView on a per instance basis ie. > subclassing AND maintained all the basic IB behaviour for > DBTableView then I would dearly like to hear from you. In our project we subclass DBTableView and at runtime replace all references to that class with the subclass using a poseAs: [[myTableView class] poseAs:[DBTableView class]] This way we are able to do the IB linking as usual using ordinary DBTableViews and still get all the functionality of the subclass. The poseAs must be invoked _very_ early in the application initialization; we do it in the +initialize for a basic controller class. -- Ron
Newsgroups: comp.sys.next.programmer From: wave@pixar.com (Michael B. Johnson) Subject: Re: How to perform periodic tasks in NXApp? Message-ID: <1993Jul7.054052.12223@pixar.com> Sender: news@pixar.com (Usenet Newsmaster) Organization: Pixar -- Point Richmond, California References: <21cijl$64d@access.digex.net> Date: Wed, 7 Jul 1993 05:40:52 GMT In article <21cijl$64d@access.digex.net> hacker@access.digex.net (Dark Hacker) writes: > > I have an application which is mostly compute-oriented (COMPUTATION!) > as opposed to user/interactive. In other words, instead of responding > to user events, my program performs a number of computations inside > a loop. This is how to works on traditional machines like Suns, Macs, > etc. > > Well how to perform this periodic set of tasks on the NeXT? Look at DPSAddTimedEntry(). Works for me... -- --> Michael B. Johnson -- wave@media.mit.edu, wave@pixar.com --> MIT Media Lab -- Computer Graphics & Animation Group --> P*I*X*A*R -- IceMan Group (for the summer)
Newsgroups: comp.sys.next.programmer From: giltner@pogo.Colorado.EDU (Jon Giltner) Subject: Re: 3.1 POSIX? Message-ID: <giltner.741974013@pogo.Colorado.EDU> Sender: news@ucsu.Colorado.EDU (USENET News System) Organization: University of Colorado, Boulder References: <1993Jun28.182309.2528@uunet!cbmvax!xmws!kripalu> <1993Jun29.081622.2766@csus.edu> <C9Jt0s.KD1@hpuerca.atl.hp.com> Date: Tue, 6 Jul 1993 15:53:33 GMT sailer@atl.hp.com (Lee Sailer) writes: >Eric P. Scott (eps@futon.SFSU.EDU) wrote: >> In article <1993Jun28.182309.2528@uunet!cbmvax!xmws!kripalu> >> harit@kripalu.com writes: >> >I REALLY need to know if 3.1 is POSIX compliant. If not will 3.2? >> /NextLibrary/Documentation/NextDev/ReleaseNotes/OperatingSystem.rtf says: >> In Release 3.1, building POSIX applications isn't >> supported. POSIX will be supported in a future release. > Of course, POSIX compliance isn't necessarily an all or none prop. >I would guess that nearly all of POSIX is in fact part of NeXTstep. Supported or not, I'm having problems with POSIX source that the man pages suggest will work. POSIX routines that there are man pages for are not found at link time. In particular waitpid() and setsid(). I can't find a POSIX library anywhere. How do I link to these? -- Jon Giltner Computing and Network Services University of Colorado (giltner@spot.Colorado.EDU) Boulder
From: david@postman.gr.osf.org (David George) Newsgroups: comp.sys.next.programmer Subject: Re: [HP/NeXT] - NeXT Hiring Software Engineers for HP Object/Enterprise Development Date: 7 Jul 1993 12:34:59 GMT Organization: OSF RI Grenoble Distribution: world Message-ID: <21eftj$47p@paperboy.osf.org> References: <469@moene.indiv.nluug.nl> <1993Jul2.213513.1022@houston.dolphin.com> <sean-060793131415@rm2221m2.cs. byu.edu> In article <sean-060793131415@rm2221m2.cs.byu.edu>, sean@digaudio.byu.edu (Sean Luke) writes: |> In article <1993Jul2.213513.1022@houston.dolphin.com>, jcr@dolphin.com |> (John C. Randolph) wrote: |> > |> > This post of Avie's impressed me tremendously! It is wonderful to see a |> > company advertising for talent, and actually giving out the name of the |> > person making the hiring decison. |> > |> > Let's hear it for end-runs around personnel departments! |> |> NeXT? Having a personnel department? :-) I just figured that Avie's name was part of the advert... Hey guys, you won't be working for Nasty NeXT and the Suits but for Avadis Tevanian, Jr. All the resumes probably get screened first anyway. Guess Avie didn't find anyone at the recent MachNIX conference then.... David.
Newsgroups: comp.sys.next.programmer From: freimer@cs.cornell.edu (Robert Freimer) Subject: Icon.app under NS3.1? Message-ID: <1993Jul7.131848.23987@cs.cornell.edu> Organization: Cornell Univ. CS Dept, Ithaca NY 14853 Date: Wed, 7 Jul 1993 13:18:48 GMT Has anyone run Icon.app under 3.1? I tried to use my 3.0 patched version and received the console messages: Icon: Pasteboard lookup failed on host XXXX: (Netnameserver: name not checked in) Icon: Invalid default font name: Helvetica and then the program died. -Robert Freimer -- -Robert
Newsgroups: comp.sys.next.programmer From: freimer@cs.cornell.edu (Robert Freimer) Subject: Allegro CL 3.1 under NS 3.1? Message-ID: <1993Jul7.132821.24447@cs.cornell.edu> Organization: Cornell Univ. CS Dept, Ithaca NY 14853 Date: Wed, 7 Jul 1993 13:28:21 GMT When I tried to rebuild Allegro CL 3.1 so that it would use the new shared libraries and work under NS3.1, the /bin/ld command abborted with the error that _alloca is an undefined symbol. This seems to be due to the change from gcc 1.? to 2.2.2, since alloca is now a built-in function. Does anyone have any ideas on a fix? One possibility might be the kludge of patching ucl.o to use the old shared libraries, like the 3.0 fix for Icon.app. I may try this tonight. -Robert Freimer -- -Robert
From: chris@its.COM (Chris Cuilla) Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy Subject: Could Microsoft be right on target? YES! (LONG) Date: 7 Jul 1993 10:49:05 -0400 Organization: The Ohio State University Sender: daemon@magnus.acs.ohio-state.edu Message-ID: <9307071423.AA10933@its.com> Here we go... I just finished reading a short article in Open Systems Today (July 5, 1993) announcing Microsoft's intent to use Visual BASIC as the basis for their application macro/scripting language. Nothing TERRIBLY new here, MS has had a love affair with BASIC for some time. The thing that jumped out at me was how MS is putting together the pieces (Windows/Windows NT, OLE, Visual BASIC, Visual C++, etc.) to enable (read that as EMPOWER) end-users/power-users to be able to integrate/customize/organize/objectize their environment to suit their needs and to solve their problems! While we can argue 'til the end of time about how slick Microsoft's implementation is, and whether they have a system that is truly object-oriented in the classical sense (polymorphism, encapsulation, abstraction, and on, and on). The REAL point is (isn't it) that they are attempting to develop the infrastructure to EMPOWER people and organizations to solve problems. What I'd like to know, is why, on the NEXTSTEP platform (object-oriented as it may or may not be) haven't we broached this subject with more force? Certainly Athena Design w/Mesa deserve credit for providing a number of ways to use Mesa (MScript, MOLI, etc.) But where are the others? Glenn (Reid), if you're there, is PasteUp (and will) ExactlyWrite be as open and as easy to customize as Mesa? What about Pages (Bruce Webster might be able to answer this.)? Appsoft (are you still in business?) what about Image, Draw, Write, Solution? What about Andrew (Stone) and Create, DataPhile, etc. What is everyone doing to take advantage of the smallness of the NeXT community in order to provide the same (or hopefully, 10-times better) capability that Microsoft is attempting? We should all be looking to the young OPN (Open Protocols fro NEXTSTEP) organization, as an independent effort to coordinate such activities and discussions. Furthermore, while object-oriented design & programming in the Objective-C/C++/Smalltalk/etc. sense of things is exciting, profound and has terrific implications for developers, we MUST be thinking about "Application-level Object-orientation". That is, enabling users (power or otherwise) to think of applications as objects. Or perhaps, the application is not the right model, but something in between a sub-class of Object and a 6000-feature application. Let's get this thing going! (to quote a line from one of my daughter's "Sing-Along" videos), "Let's get together...ooohoooo". Let's take advantage of the smallness of the NeXT community to create (hopefully) some bigness, before Microsoft takes advantage of their bigness and everyone else (especially us) is relegated to smallness! --- Chris Cuilla ITSolutions, Inc. --------------------------------------------------------------------- NeXTMail: chris@its.com Phone: 312.587.2000 --------------------------------------------------------------------- My opinions are...(who cares!) --------------------------------------------------------------------- "There's no such thing as a 'part-time perfectionist'." ---------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: alastair@hecate.phy.queensu.ca (A.B. McLean) Subject: Graph Palettes Message-ID: <C9sv10.Dwy@knot.ccs.queensu.ca> Keywords: Plotting Graph Pallettes Sender: news@knot.ccs.queensu.ca (Netnews control) Organization: Queen's University, Kingston Date: Wed, 7 Jul 1993 15:00:36 GMT - I would appreciate any information on the availability of Pallettes for the plotting of scientific data. - If you have used any palettes for graphing, I would be interested in your experiences. - In connection with this. Has anyone got nxyPalette 1.2 working under system 3.0. Thanks in advance Alastair McLean, Physics, Queen's University, Ontario. alastair@hecate.phy.queensu.ca
From: alex@cs.umd.edu (Alex Blakemore) Newsgroups: comp.sys.next.programmer Subject: Re: How to perform periodic tasks in NXApp? Message-ID: <69071@mimsy.umd.edu> Date: 7 Jul 93 14:59:25 GMT References: <21cijl$64d@access.digex.net> Sender: news@mimsy.umd.edu Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 In article <21cijl$64d@access.digex.net> hacker@access.digex.net (Dark Hacker) writes: > how to perform [sic] this periodic set of tasks on the NeXT? Somehow > I have to have my subroutine calls initiated by NXApp. Should I > subclass NXApp in some or perhaps have these tasks subclassed > from a periodic tasking class you might want to look at timed entries. see the BreakApp example app and check out the topic in concepts and the general reference. -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted -------------------------------------------------------------- "Without an engaged and motivated human being at the keyboard, the computer is just another dumb box." William Raspberry
From: dont_even_think_of_replying_to_me.com Newsgroups: comp.sys.next.programmer Subject: Re: Help! .objc_class_name(s) in custom libs Date: 2 Jul 1993 14:42:11 GMT Organization: NeXT, Inc. Message-ID: <211hg3$2iq@rosie.next.com> References: <20uuovINNnmo@master.cs.rose-hulman.edu> Andy, Instead of explicitly bringing in the reference with -u objc_whatever, you can make sure that all of your classes are linked in with the -ObjC linker flag or you can make sure that all global symbols are linked in with the -all_load linker flag (do a 'man ld' or look in the release notes for 'all_load' for more info). The problem is that the linker by default only links in symbols that are present in your application from your libraries (this is usually good). With dynamic loading or with calls like objc_lookUpClass("MyClass") it is possible to need symbols that were not statically linked into the application. The above two flags help remedy this situation. If you are doing dynamic loading the -all_load flag is a good idea in that you might not be able to anticipate what symbols the dynamically loaded code will need. Hope this helps... ... jeff In article <20uuovINNnmo@master.cs.rose-hulman.edu> mcconnap@NeXTwork.Rose-Hulman.Edu (Andy McConnell) writes: > I'm having trouble using custom linked libraries under 2.1. > > When I use custom libraries, it links just fine, but I get an error like > this at runtime: > > objc: class `ExtTextScrollView' not linked into application > > Is there something I need to do to my custom libraries to avoid this > error? > > Right now, I include this sort of line in Makefile.preamble, and it works > - but I don't like this solution. It doesn't seem... right: > > LDFLAGS = -u .objc_class_name_ExtTextScrollView > > Any other solutions would be really helpful! > > -- > Andy McConnell mcconnap@nextwork.rose-hulman.edu > Fluid Science Learning Center Developer > Lt, USAF CS BS '93 Rose-Hulman Institute Of Technology > "The beaurocratic mentality is the only constant in the universe."
Newsgroups: comp.sys.next.programmer From: thf@zelator.in-berlin.de (Thomas Funke) Subject: Re: MouseX server causes unbounded swapfile expansion? Message-ID: <1993Jul6.225747.1408@gamelan> Sender: thomas@gamelan (thomas) Organization: Disorganization References: <219lhv$ikv@access.usask.ca> Date: Tue, 6 Jul 1993 22:57:47 GMT In article <219lhv$ikv@access.usask.ca> eric@skatter.USask.Ca (Eric Norum) writes: > swap space and never let it go -- even after all X processes have terminated. > > For example: > > Before running MouseX: > -rw------t 1 root 16777216 Jul 5 10:17 swapfile > -rw------t 1 root 2981888 Jul 5 10:17 swapfile.front > > After running MouseX: > -rw------t 1 root 16777216 Jul 5 10:20 swapfile > -rw------t 1 root 16138240 Jul 5 10:20 swapfile.front Your swapfile has indeed the same size, 16777216. swapfile.front is NOT the real swapfile but just some virtual thing, it actually sums up swapping activity and does NOT exist on disk. -- ------------------------------------------------------------------ Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de The nice thing about standards is that there are so many of them to choose from. -- Andrew S. Tanenbaum
Newsgroups: comp.sys.next.programmer From: spagiola@frinext.stanford.edu (Stefano Pagiola) Subject: Re: Icon.app under NS3.1? Message-ID: <1993Jul7.172532.7257@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: DSO, Stanford University References: <1993Jul7.131848.23987@cs.cornell.edu> Date: Wed, 7 Jul 93 17:25:32 GMT Robert Freimer writes > Has anyone run Icon.app under 3.1? I tried to use my 3.0 patched > version and received the console messages: > > Icon: Pasteboard lookup failed on host XXXX: (Netnameserver: > name not checked in) > Icon: Invalid default font name: Helvetica > > and then the program died. Ditto here. I poste about this last week, but got no responses. -- - Stefano Pagiola Food Research Institute, Stanford University spagiola@frinext.stanford.edu (NeXTMail encouraged) spagiola@FRI-nxt-Pagiola.stanford.edu (NeXTMail encouraged)
Newsgroups: comp.sys.next.programmer From: jgg@proforma.com (J. G. Gregory) Subject: How to parse "foo-3.5" as "foo - 3.5" instead of "foo -3.5" Message-ID: <1993Jul7.144913.636@proforma.com> Keywords: lex, yacc Sender: jgg@proforma.com Organization: LoftTech Incorporated Date: Wed, 7 Jul 1993 14:49:13 GMT This is not NeXT-specific, but there is no comp.lang.yacc or equivalent group, and since I am using the NeXT-provided tools, it is my best choice. The problem is simple enough: I want to parse "foo-3.5" as the binary expression "foo - 3.5". But the -3.5 is captured by my lexer as a negative constant, and my parser dies 'cause a symbol followed by a numeric constant is not a valid expression. I don't want to force the user to use spaces in this case. If anyone could point me to an answer, that would be great. NeXT's Graph application, which I have used as an example for many lex/yacc issues, has exactly the same problem. Thanks in advance, --J Gregory
Newsgroups: comp.sys.next.programmer From: tyler@black_market (Tyler Gingrich) Subject: Re: DBKit addRetrieveOrder: for: Message-ID: <1993Jul7.150855.5917@il.us.swissbank.com> Sender: root@il.us.swissbank.com (Operator) Organization: Swiss Bank Corporation CM&T Division References: <2C3A6804.1D7F@deneva.sdd.trw.com> Date: Wed, 7 Jul 1993 15:08:55 GMT Ronald P. Blanford writes > Ramesh Dodamani writes > > > > The "addRetrieveOrder: for:" method of the DBRecordList just > > doesn't seem to work. Has anybody else been using it? If > > anybody have been successful in making it work, I would > > appreciate if you could send me an example of the same. I may > > be missing something. Would like to know what. > > I found that this only works if invoked in the > fetchGroupWillFetch: delegate method just before the fetch. It > most definitely did _not_ work when invoked as part of the > appDidInit: method. > > - fetchGroupWillFetch:fetchGroup > { > [[fetchGroup recordList] addRetrieveOrder:DB_AscendingOrder > for:[[fetchGroup entity] propertyNamed:"CASE_ID_NUM"]]; > return self; > } > > (Of course you must have the fetchGroup's delegate pointed to > your own object.) > > This appears to generate just a single ORDER BY clause no matter > how many times the fetch is executed. > This is because the binder resets many times during dbkit code execution and when it resets it takes the retreive order information (plus some other stuff -- like the property list) and drops it in the bit bucket. Therefore, the solution is (as noted above) is to override the fetchGroupWillFetch: delegate method & rebuild your retreive order stuff in that code. I haven't (yet) figured out why NeXT messes around with dbkit's internal DBBinder instances so much, but there MUST be a reason. :-) Tyler Gingrich Vanguard Software, Corp. PS: This binder nonsense might be fixed in dbkit 3.1 BUT I haven't found any "copious spare time" lying around to verify much about dbkit 3.1. :-( DISCLAIMER: Any opinions expressed in this posting are mine and don't necessarily reflect those of Vanguard Software, Corp. or Swiss Bank Corporation.
From: npratt@gecko.modsys (Nevin Pratt) Newsgroups: comp.sys.next.programmer Subject: Re: How are "private" methods implemented in Ob Date: 7 Jul 1993 16:54:12 GMT Organization: Sun Microsystems, Inc. Distribution: world Message-ID: <21ev3k$t77@cnn.sim.es.com> References: <1993Jul4.234010.21553@Princeton.EDU> In article 21553@Princeton.EDU, gmecchia@hop.Princeton.EDU () writes: > Hi, > > I have a method that is implemented in my .m file and not declared in my .h file. I wanted to "scope" the method as "private" to instances of the class where it is implemented (in the C++ style). If I declared the method in my .h file, then any subclass instance can invoke that method, and that is something I don't want to allow. > > However, I do get warning messages from the compiler: > > ClassName.m:92: warning: `ClassName' does not respond to `methodName:' > > Should I ignore these warnings, or is there another way to define "private" methods in Objective-C? > > Alexis Rzewski > gmecchia@princeton.edu It doesn't matter whether you declare the method in the '.h' file or not. If you have a method in the '.m' file, it will be just as accessable as any other method. By not declaring the method in the '.h' file, you will get the compiler warning you mention, but this has no effect on the "invoke-ability" of the method-- it's just another instance method, and works exactly like all the other instance methods (try it if you don't believe me!). This means that there is no such thing as "private" methods in Objective-C. I tried the same thing you tried to achieve "private" methods, but I didn't like the result since any user of the class is instantly informed (by the compiler) of the existence of the "private" method, and they can still invoke those methods anyway if they choose. My final solution was to explicitly extend the class via a <private> category, and have the interface information for the <private> category contained in the ".m" file. This solution explicitly marks the methods as private (useful for future maintence of the class), without revealing the existence of the "private" methods in the '.h' file for the class, and without the compiler revealing their existence either. However, even this is still just an approximation, since if anybody does decide to send one of the "private" messages (or, I should say, a message that invokes a "private" method) to an instance of the class, it will still be executed just as any other method would be. Another alternative might be to use a <private> category, but go ahead and put the interface information for the <private> category in the '.h' file, thus documenting to the world that these are "private" methods, and trusting that users of the class will respect the "private-ness" of the methods and not directly invoke them. Nevin
Newsgroups: comp.sys.next.bugs,comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: perform: with:afterDelay:cancelPrevious: doesn't work from threads Organization: Primitive Software Ltd. Date: Wed, 7 Jul 1993 17:01:42 +0000 Message-ID: <1993Jul7.170142.4824@prim> Sender: usenet@demon.co.uk I think this is a bug, if it's something I'm doing wrong please let me know. As the subject line says, this method doesn't work properly when called from a thread. What happens is that the requests get queued up until the next user event occurs. I've tried delays of 0, 1 and 1000. It's a pity because I wanted to use this method from a thread in order to safely use appkit objects (in this case [window setTitle:]). Is there any way round this other than using distributed objects? Dave Griffiths
From: efc@wonder.mit.edu (Eric Celeste) Newsgroups: comp.sys.next.programmer Subject: Terminal via Speaker/Listener Date: 7 Jul 1993 18:30:12 GMT Organization: Massachvsetts Institvte of Technology Message-ID: <21f4nk$uk@senator-bedfellow.MIT.EDU> Keywords: terminal speaker listener Before I waste hours reinventing this... Does anyone have information about how to communicate with Terminal via Speaker/Listener. Project Builder seems to do this when running a debugging version of an app, and I feel certain I've read about how to do this somewhere, I just can't dig it out. I'd like to send Terminal some text that it should "type" into its main window. I've tried the method "msgPaste:" without any luck. Any sample code out there? Or advice? Thanks! ..Eric -------------------------------------------------------------------- Eric Celeste / MIT Libraries / 14E-210A / 617-253-0633 / efc@mit.edu --------------------------------------------------------------------
From: gbrown@raven.ctr.columbia.edu (Glenn Brown) Newsgroups: comp.sys.next.programmer Subject: Can one replace the 'Window' class? Date: 7 Jul 1993 19:01:45 GMT Organization: Columbia University Center for Telecommunications Research Message-ID: <21f6ip$jfk@sol.ctr.columbia.edu> Okay, okay, I know nobody in his right mind would want to do this because he could use delegation to do just about anything within the NEXTSTEP user interface guidelines... BUT, a friend of mine is doing his doctoral thesis on graphical user interfaces and is considering doing his work under NEXTSTEP. To do so, however, he would need to modify the window class (so all applications would use his modified windows). Is this possible? Thanks, --Glenn
Newsgroups: comp.sys.next.programmer From: fedor@hopper.Colorado.EDU (Adam Fedor) Subject: Problems subclassing NXBitmapImageRep Message-ID: <1993Jul7.192413.10821@colorado.edu> Originator: fedor@hopper.Colorado.EDU Sender: news@colorado.edu (The Daily Planet) Organization: University of Colorado, Boulder Distribution: na Date: Wed, 7 Jul 1993 19:24:13 GMT I subclassed NXBitmapImageRep for a project of mine, and then told NXImage about it via the message [NXImage registerImageRep:[MyBitmapImageRep class]]; The problem is that when I do a newImage = [[NXImage alloc] initFromFile:filename]; NXImage apparently recognizes that my class can read this filename (with [myBitmapImageRep canLoadFromStream:], but when it actually loads in the file, I noticed (using gdb), that NXImage messages NXBitmapImageRep (NOT myBitmapImageRep) with the message [NXBitmapImageRep newListFromFile:zone:]; which calls its own -initFromFile method (NOT the initFromFile method that MyBitmapImageRep overrides). I can get around this easily by overriding +newListFromFile:zone (and +newListFromFile, +newListFromStream:, etc), but this seems kind of silly. Am I doing something wrong? -- Adam Fedor. CU, Boulder | Fudd's Law of Opposition: Push something fedor@boulder.colorado.edu (W) | hard enough and it will fall over. adam@bastille.rmnug.org (H,NeXTMail)|
Newsgroups: comp.sys.next.programmer From: brill@sybase.com (Michael Brill) Subject: Re: The great DBKit hoax (can't display long text fields) Message-ID: <C9szvI.L3D@sybase.com> Sender: usenet@sybase.com Organization: Sybase, Inc. References: <C9KF72.2Gq@sybase.com> <1993Jul5.103721.4494@informix.com> Date: Wed, 7 Jul 1993 16:45:17 GMT >I just tried with an Informix adaptor connected to a remote Informix-OnLine >5.0 via I-Net and retrieved the Informix TEXT type w/o any problems running >a 3.1 PR on NeXT hardware. >The retrieved TEXT had 12668 characters... Indeed the problem appears to be in the Sybase adaptor. There are a number of bug reports in on the problem. For obvious reasons a functioning Informix adaptor won't do me much good :-). ...Michael
Newsgroups: comp.sys.next.programmer From: ych@rintintin (Yann Chevrel) Subject: Re: DBKit: Need Help... Message-ID: <1993Jul7.143749.6174@metasoft.fdn.org> Sender: news@metasoft.fdn.org Organization: Metasoft - Rennes, France. References: <21aadq$gvj@usenet.INS.CWRU.Edu> Date: Wed, 7 Jul 1993 14:37:49 GMT In article <21aadq$gvj@usenet.INS.CWRU.Edu> ramesh@bodhi.esys.cwru.edu (Ramesh Dodamani) writes: > > Hi > > The "addRetrieveOrder: for:" method of the DBRecordList just doesn't > seem to work. Has anybody else been using it? If anybody have been > successful in making it work, I would appreciate if you could send me an > example of the same. I may be missing something. Would like to know > what. This method seems to work with the Sybase Adaptor. Here s an example of using "addRetrieveOrder: for:" method. In the delegate of the DBModule, just implement this method : - fetchGroupWillFetch:fetchGroup { DBRecordList *recList; recList = [[customerModule rootFetchGroup] recordList]; [recList addRetrieveOrder:DB_AscendingOrder for:[[customerModule entity] propertyNamed:"Name"]]; return self; } I suppose that customerModule attribute is declared in the .h of this class and refers to the customer DBModule you link in InterfaceBuilder. --------------------------------------------------------------------- Yann Chevrel ych@metasoft.fdn.org Metasoft S.A. 4 place des Colombes Tel: + 33 99 31 68 00 35000 Rennes, France Fax: + 33 99 35 00 45
Newsgroups: comp.sys.next.programmer Subject: Text object & std(in/out) Message-ID: <1993Jul7.225840.100473@embl-heidelberg.de> From: tuparev@EMBL-Heidelberg.DE (Georg Tuparev) Date: 7 Jul 93 22:58:39 +0100 Hi NS programmers! I have the following problem: there is an old F77 program (~300000 lines) that I want to run om our NeXT computers. I wish to have nice GUI and graphics, so I'm mixing f77 & Obj-C (it works good). I want to redirect the stdin & stdout to a Text Object, but I have not the slightest idea haw to do it. I wrote some code like: .... DPSAddFD(fromFile[0],commander,self, NX_BASETHRESHOLD); .... where the commander is my monitor function, but it doesn't work! Any suggestions? Thanks in advance -- georg -- tuparev@embl-heidelberg.de
From: xepo@csd4.csd.uwm.edu (Scott R Violet) Newsgroups: comp.sys.next.programmer Subject: How to trap Text key events, and pass them on Date: 7 Jul 1993 22:31:48 GMT Organization: Computing Services Division, University of Wisconsin - Milwaukee Distribution: usa Message-ID: <21fiskINN9ob@uwm.edu> Originator: xepo@csd4.csd.uwm.edu Hi all, I am writing a program in which I need to trap and pre-process each key event that is being to sent to a subclass of Text. The problem happens when I go to pass the event to the Text's instance super, or Text. The problem being that if the user presses the keys fast enough, super seems to catch them and not let the subclass get them. Would anyone know a way of getting around this? Or perhaps what exactly does Text do when it catches a keyDown. Thanks, -- -Scott Violet (xepo@csd4.csd.uwm.edu)
Newsgroups: comp.sys.next.programmer From: Tony Zamora <azamora@hexagon.cs.indiana.edu> Subject: Re: How to parse "foo-3.5" as "foo - 3.5" instead of "foo -3.5" Message-ID: <9307072321.AA18427@hexagon.cs.indiana.edu> Keywords: lex, yacc Organization: Computer Science, Indiana University References: <1993Jul7.144913.636@proforma.com> Date: Wed, 7 Jul 93 18:21:06 -0500 In article <1993Jul7.144913.636@proforma.com> jgg@proforma.com (J. G. Gregory) writes: >This is not NeXT-specific, but there is no comp.lang.yacc or >equivalent group, and since I am using the NeXT-provided tools, it is >my best choice. comp.compilers is also a good choice. >The problem is simple enough: I want to parse "foo-3.5" as the >binary expression "foo - 3.5". But the -3.5 is captured by my lexer >as a negative constant, and my parser dies 'cause a symbol followed >by a numeric constant is not a valid expression. One way to solve this is to have the lexer not recognize negative constants and let -3.5 be parsed as a unary minus operation. If you're worried about effiency, you can have the parser recognize the special case of unary minus applied to a constant and replace it with a negative constant. Tony
Newsgroups: comp.sys.next.programmer From: bhill@physics.ucla.edu (Brian Hill) Subject: Re: gcc-2.4.5 fixincludes memory fault Was Re: 3.1 headers and libraries In-Reply-To: bhill@physics.ucla.edu's message of 2 Jul 93 17:29:47 Message-ID: <BHILL.93Jul7152533@spike.physics.ucla.edu> Sender: usenet@physics.ucla.edu Organization: Dept. of Physics, UCLA References: <ANDERSON.93Jul2130523@sapir.cog.jhu.edu> <BHILL.93Jul2150501@spike.physics.ucla.edu> <BHILL.93Jul2172947@spike.physics.ucla.edu> Date: 7 Jul 93 15:25:33 In article <BHILL.93Jul2172947@spike.physics.ucla.edu> I wrote: >I noticed one error message scroll by when compiling [gcc-2.4.5] on >a turbo mono station running NS 3.1: >./fixincludes: 12101 Memory fault >which appears when fixing mach/time_value.h. This error has been traced to GNU sed version 1.08. Installing the latest version of GNU sed (version 1.18) eliminates the error. --Brian Hill
From: blake015@mc.duke.edu (Denise Blakeley) Newsgroups: comp.sys.next.programmer,comp.sys.next.misc Subject: Message to Benjamin Cline (others please ignore) Message-ID: <17419@news.duke.edu> Date: 8 Jul 93 00:36:47 GMT Sender: news@news.duke.edu Followup-To: comp.sys.next.programmer Benjamin-- Your e-mail to me got mangled together with someone else's message; I not only didn't get the message body, I didn't even get your e-mail address! Please re-send. Denise -- Denise Blakeley | PROGRAM, tr. v., An activity similar Duke Med Center Info Systems | to banging one's head against a wall, Durham, NC | but with fewer opportunities for (919) 282-6468 W | reward. blake015@mc.duke.edu |
From: zmonster@athena.mit.edu (Eric M Hermanson) Newsgroups: comp.sys.next.programmer Subject: Help with NIB files, instance variables, etc! Date: 8 Jul 1993 01:37:53 GMT Organization: Massachusetts Institute of Technology Distribution: world Message-ID: <21ftph$8i9@senator-bedfellow.MIT.EDU> I am trying to program something for my research, and being a semi-novice programmer, I am boggled by the following: I have a separate nib file to handle setting preferences. I want values from a form object to be input into a EquationController class. Therefore, I instantiated an EquationController object in the preferences nib, and I am having the form object send its values directly to the EquationController via a setConstants:sender method. This seems to work, and I am able to set various constants (which are instance variables in EquationController). HOWEVER, these values DO NOT STAY SET! When the setConstants:sender method ends, the values that were set (confirmed by using gdb) are not "stored"permanently. These values (instance variables in EquationController) only stay "set" WHILE the setConstants:sender method is in use. After it finishes, the old constant values (i.e. before setConstants:sender was called) get set. 1. Shouldn't instance variables for a class STAY SET to a certain value once they are changed??? Why in this case do the variables change only temporarily? 2. Another question I had was, what happens if you instantiate a class object in two or more nibs? I instantiated the EquationController class in the preferences nib and the main controller nib. If I make a connection in one of the nibs, will the class know about the connection even if it doesn't show up in the other nib? Thanks, Eric
Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin From: iwelch@agsm.ucla.edu (Ivo Welch) Subject: C++ Library Message-ID: <1993Jul7.170643.21433@news.mic.ucla.edu> Organization: UCLA, Anderson Graduate School Of Management Date: 7 Jul 93 17:06:42 PDT The latest version of NeXT C++ is based on gcc 2.2.2. Unfortunately, I need to use some third-party programs which require the iostream library. Has anyone managed to get the gnu libg++-2.3 libraries to work? gcc (a link to cc) choked on vanilla libg++-2.3 from prep.ai.mit.edu with ./configure next. [In any case, libg++ docs claims I need a libg++ version lower than the compiler. Problem is, only 2.3 and 2.4 (other than a REAL OLD 1.3 version) seem to be available.] /ivo welch
Newsgroups: comp.sys.next.programmer From: joseph@daffy.tip.ameslab.gov (Joseph Reynolds) Subject: Re: How to parse "foo-3.5" as "foo - 3.5" instead of "foo -3.5" Message-ID: <C9tsHy.EI7@news.iastate.edu> Keywords: parsing, yacc, negative numbers problem Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA References: <1993Jul7.144913.636@proforma.com> Date: Thu, 8 Jul 1993 03:03:33 GMT Hi. In article <1993Jul7.144913.636@proforma.com> jgg@proforma.com (J. G. Gregory) writes: > [...] > The problem is simple enough: I want to parse "foo-3.5" as the > binary expression "foo - 3.5". But the -3.5 is captured by my lexer > as a negative constant [...] > Thanks in advance, > --J Gregory You might try posting to comp.compilers (it's moderated, send mail to compilers@iecc.com, also known as compilers@iecc.uucp or iecc!compilers). They cover parsing questions. The solution: don't allow negative constants. Instead put a unary minus in your grammar. This is how the "commercial" parsers I've seen do it.... Good luck, Joseph
Newsgroups: comp.sys.next.programmer From: joseph@daffy.tip.ameslab.gov (Joseph Reynolds) Subject: Re: How are "private" methods implemented in Ob Message-ID: <C9tswI.EwF@news.iastate.edu> Keywords: Objective-C. private, static Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA References: <21ev3k$t77@cnn.sim.es.com> Date: Thu, 8 Jul 1993 03:12:17 GMT Hi. In article <21ev3k$t77@cnn.sim.es.com> npratt@gecko.modsys (Nevin Pratt) writes: > In article 21553@Princeton.EDU, gmecchia@hop.Princeton.EDU () writes: > > [...] > > I have a method that is implemented in my .m file and not declared in my .h file. I wanted to "scope" the method as "private" to instances of the class where it is implemented (in the C++ style). If I declared the method in my .h file, then any subclass instance can invoke that method, and that is something I don't want to allow. > > Alexis Rzewski > > gmecchia@princeton.edu > > [...] > This means that there is no such thing as "private" methods in > Objective-C. [...] > > My final solution was [...] > Another alternative might be [...] > Nevin Or (you won't like this) don't implement your private methods as methods; make them plain C code and use the static qualifier. Does anyone know if the static qualifier works for methods? @implementation [...] - (static id) myPrivateMethod:sender [...] @end If this works, it would solve our problems... Joseph
Newsgroups: comp.sys.next.bugs,comp.sys.next.programmer From: lloyd@world.std.com (Chris Lloyd) Subject: Re: perform: with:afterDelay:cancelPrevious: doesn't work from threads Message-ID: <C9u12D.13v@world.std.com> Organization: The World Public Access UNIX, Brookline, MA References: <1993Jul7.170142.4824@prim> Date: Thu, 8 Jul 1993 06:08:36 GMT In article <1993Jul7.170142.4824@prim> dave@prim.demon.co.uk (Dave Griffiths) writes: > >I think this is a bug, if it's something I'm doing wrong please let me know. >As the subject line says, this method doesn't work properly when called from a >thread. What happens is that the requests get queued up until the next user >event occurs. I've tried delays of 0, 1 and 1000. It's a pity because I wanted >to use this method from a thread in order to safely use appkit objects (in >this. case [window setTitle:]). Is there any way round this other than using >distributed objects? Gerp. The AppKit isn't thread safe, live with it. Keywords: ports, msg_send/recv, DPSAddPort. Have fun! -- :: Christopher Lloyd :: Yrrid Incorporated :: lloyd@world.std.com :: :: LOUDER...LOUDER... ::
Newsgroups: comp.sys.next.programmer Subject: NeXTTime & Wavelets Message-ID: <C9u35F.6MJ@news.otago.ac.nz> From: licinda@farli.otago.ac.nz (Licinda Woudberg) Date: Thu, 8 Jul 1993 06:53:39 GMT Sender: usenet@news.otago.ac.nz (News stuff) Organization: University of Otago Keywords: Wavelets Hello. I am interested in the workings of NeXTTime. There have been rumours that it uses wavelets - and thats the part that I'm interested in. Could someone out there 'in-the-know' contact me please. Regards, Licinda ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (Miss) Licinda Woudberg Dept. of Computer Science Say 'How D'you Do' and Shake Hands University of Otago and State Your Name and Business Dunedin 9001 - Alice in Wonderland NEW ZEALAND mail: licinda@otago.ac.nz (NeXT mail Welcome) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ iss) Licinda Woudberg Dept. of Computer Science Say 'How D'you Do' and Shake Hands University of Otago and State Your Name and Business Dunedin 9001
Newsgroups: comp.sys.next.programmer From: kent@infoserv.com Subject: Re: Icon.app under NS3.1? Message-ID: <C9u3zp.2I2@infoserv.com> Sender: kent@infoserv.com (Kent L. Shephard) Organization: K. L. Shephard Consulting References: <1993Jul7.131848.23987@cs.cornell.edu> Distribution: na Date: Thu, 8 Jul 1993 07:11:48 GMT In article <1993Jul7.131848.23987@cs.cornell.edu> freimer@cs.cornell.edu (Robert Freimer) writes: #Has anyone run Icon.app under 3.1? I tried to use my 3.0 patched #version and received the console messages: # #Icon: Pasteboard lookup failed on host XXXX: (Netnameserver: name not checked in) #Icon: Invalid default font name: Helvetica # #and then the program died. Mine runs fine, or well like it did under 3.0. No additional problems under 3.1 Kent -- /* K.L. Shephard Consulting is my company. Infoserv only delivers my mail. */ /* Please direct mail to kent@infoserv.com other adresses may not work. */
Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy From: christal@imag.imag.fr (Michel Christaller) Subject: sources of MachOS used by NextStep / Intel Message-ID: <C9uCGB.LKs@imag.fr> Sender: news@imag.fr (Administration des news) Organization: IMAG-LGI, Universite de Grenoble, France Date: Thu, 8 Jul 1993 10:14:35 GMT I'am searching the sources of the Mach kernel used by NextStep 3.1. Could anyone mail me the (good) email address of Next ? -- ----------------------------------------------------------------------- Christaller michel, christal@phoenix.imag.fr Laboratoire de Genie Informatique tel : (33)-76-57-48-42 fax : (33)-76-57-47-17 46, Avenue F. Viallet - 38031 - Grenoble cedex - France
TRY LINUX ! A FULL UNIX SYSTEM FOR FREE ! thanks to all those who contributed #######################################################################
From: marc@ecu.unice.fr (Marc Monticelli) Newsgroups: comp.sys.next.programmer Subject: Is ANDI dead ? Date: 8 Jul 1993 13:18:55 GMT Organization: University of Nice Sophia-Antipolis Message-ID: <21h6rv$oc5@taloa.unice.fr> Hi, I subscribe for my site to ANDI at NeXTWORLD Expo in may. I post several mails to have information at bill@andi.com, the only contact we have But no responses. We are a french physical institute works on simulation, communication and multimedia, and we have not technical informations or Developper supports in France. These are for these reason that we register to ANDI. But since 1 month I've just received their first electronic letter. Is it the only service that ANDI can do for 1000 $ ? Is someone can help us? How can we turn-on the services from ANDI ? Thanks for yours answer. French developers site exists and don't want turn to NT. -- | Monticelli Marc marc@ecu.unice.fr | | Institut Non Lineaire de Nice | | Universite de Nice - Sophia Antipolis | | Parc Valrose, 06108 Nice Cedex 2, France | | Tel (33)93.52.98.36, Fax 93.52.98.48 |
Newsgroups: comp.sys.next.programmer From: jgg@proforma.com (J. G. Gregory) Subject: Summary: Parsing "foo-3.5" Message-ID: <1993Jul8.131056.289@proforma.com> Keywords: lex, yacc Sender: jgg@proforma.com Organization: LoftTech Incorporated Date: Thu, 8 Jul 1993 13:10:56 GMT Wow! I was slammed with many replies for my little parsing query. The most common advice was to take the sign out of the lexer side, and have the yacc side do the signs. In my example: current: foo-3.5 => <ID> <NUM> => "parse error" proposed: foo-3.5 => <ID> '-' <NUM> => accepted The only required change is a slight adjustment of what a <NUM> is. All the other yacc stuff to manage unary operations is already in place. Thanks to all. --J Gregory
Newsgroups: comp.sys.next.programmer,comp.graphics.animation From: provine@enel.ucalgary.ca (Joseph Provine) Subject: Help with Animation in NeXTSTEP WITHOUT using Display Postscript Message-ID: <Jul08.154401.20278@acs.ucalgary.ca> Date: Thu, 08 Jul 1993 15:44:01 GMT Organization: ECE Department, U. of Calgary, Calgary, Alberta, Canada Keywords: animation,NeXTSTEP, objective-C,Software Kits,Postscript I am a new to NeXTSTEP. I would like to get some pointers/suggestions on animation in NeXTSTEP WITHOUT using display postscript. Could you please point me to the appropriate software kit bundled with NS3.0? I would appreciate any piece of information in this regard. Please send your replies to: provine@enel.ucalgary.ca Thanks in advance! Joseph. provine@enel.ucalgary.ca PS: I shall post a summary if there are enough responses and interest.
From: isbell@cats.ucsc.edu (Art Isbell) Newsgroups: comp.sys.next.programmer,comp.sys.next.software Subject: Re: Sybase libraries - Sybase server incompatibities in 3.1 Date: 8 Jul 1993 16:04:46 GMT Organization: Cubic Solutions - NeXT software development and consulting Message-ID: <21hgiuINNrae@darkstar.UCSC.EDU> References: <2127gtINNova@darkstar.UCSC.EDU> Keywords: Sybase, 3.1 In article <2127gtINNova@darkstar.UCSC.EDU> isbell@cats.ucsc.edu (Art Isbell) writes: > >Unfortunately, NeXT seems to have begun the process of dropping support for >black hardware already (what happened to 1995 ?-( > >NeXT fixed a number of significant Sybase adaptor bugs in 3.1. However, for >those of us running a Sybase server on black hardware, the new adaptor is >incompatible because it is linked against v.4.6 of the Sybase DBLib library >which won't run reliably against the old v.4.0 Sybase server running on black >hardware. NeXT mentions this in the 3.1 release notes. I have received private correspondence from NeXT indicating that my interpretation of the 3.1 release notes was not what NeXT intended. NeXT intended to warn against using new Sybase 4.6 features against a Sybase 4.0 database and states that the 3.1 Sybase adaptor is backward-compatible with Sybase 4.0 database servers. So NeXT has not begun dropping support for black hardware as it appeared. Therefore, the problems we have experienced should be considered bugs, not lack of support. However, the bottom line remains: the 3.1 Sybase adaptor cannot be reliably used with Sybase 4.0 database servers in our experience. Try these simple tests to determine whether you will have the same problems as we have seen: - Insert a new record with a duplicate key into a table on which a unique index exists on the key. After Sybase reports a "duplicate key" error, try to refetch data. Our experience is that the client app will then hang and must be killed. - Insert more than 256 characters into a Sybase text datatype data column. Repeatedly fetch this data. The client app should crash either on the save or on one of the subsequent fetches. The crash can occur immediately, or it may take several repeated fetches, but our experience indicates that crashing will eventually occur thus making the client app pretty unusable. - We have seen the following occur at 2 sites on 2 different occasions, but have not been able to reliably reproduce it. Run the 3.1 isql or possibly any other app linked against the Sybase 4.6 client libraries against a Sybase 4.0 database server. Concurrently, run a DBKit client app using the 3.1 Sybase adaptor against the same server. As long as another 4.6 app is running, data cannot be fetched using the DBKit app. As I indicated, I don't know the exact sequence of events or circumstances that leads to this problem, but if you suddenly cannot fetch data using your DBKit app, check whether any other 4.6 apps are accessing the server. We have produced a simple NEXTSTEP app (and sent it to NeXT) that demonstrates the first 2 bugs. By merely rerunning the same app using the 3.0 Sybase adaptor, the problems disappear. NeXT claims to have had only one other complaint about this apparent incompatibility between the 3.1 Sybase adaptor and the 4.0 Sybase server. If you experience similar problems (or any problems that you suspect result from this incompatibility), please report it to bug_next@next.com using BugNeXT.app so that NeXT can come up with a fix ASAP. -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: isbell@cats.UCSC.EDU Voice: (408)335-1154 USmail: 95018-9442 Fax: (408)335-2515
Newsgroups: comp.sys.next.programmer From: anderson (Ken Anderson) Subject: Re: Can one replace the 'Window' class? Message-ID: <1993Jul8.152540.5405@biztech.com> Sender: news@biztech.com Organization: Biztech, Inc. References: <21f6ip$jfk@sol.ctr.columbia.edu> Date: Thu, 8 Jul 1993 15:25:40 GMT In article <21f6ip$jfk@sol.ctr.columbia.edu> gbrown@raven.ctr.columbia.edu (Glenn Brown) writes: >Okay, okay, I know nobody in his right mind would want to do this because >he could use delegation to do just about anything within the NEXTSTEP user >interface guidelines... > >BUT, a friend of mine is doing his doctoral thesis on graphical user >interfaces and is considering doing his work under NEXTSTEP. To do so, >however, he would need to modify the window class (so all applications >would use his modified windows). > >Is this possible? > >Thanks, >--Glenn Glenn, There are a number of ways your friend could accomplish what he wishes. 1) If he simply wants to add methods, he could create a category to the Window class and include the source file in his project. He could also add instance variables in a clever manner that was mentioned on the net not too long ago. 2) He could create a new class that archives in the same manner as the Window class, and have his own class 'poseAs' the Window class. His class still needs to be a subclass of Window, but there are a few less limitations with poseAs than with categories. 3) Write his own! There's no reason that I can think of that he couldn't write his own Window class. Now THAT would be fun! Ken Anderson anderson@biztech.com Stamford, CT
Newsgroups: comp.sys.next.programmer From: anderson (Ken Anderson) Subject: Re: Help with NIB files, instance variables, etc! Message-ID: <1993Jul8.153452.5465@biztech.com> Sender: news@biztech.com Organization: Biztech, Inc. References: <21ftph$8i9@senator-bedfellow.MIT.EDU> Date: Thu, 8 Jul 1993 15:34:52 GMT Eric, From what I can gather from your message (not copied because of size), I would bet that you're reloading the nib file everytime you bring up preferences. I could be TOTALLY off on this one, but it's the only explanation I can think of for the behavior you're seeing. Basically, when you instantiate an object in a nib file, it's already instantiated, and gets freeze-dried into the nib file. When you load the nib, that instantiation becomes live again...the way the instance variables were set inside IB. Of course, if the object was the SAME instance that you sent the setConstants: messages to, the variables should definitely stick. When you check the variables afterwards, check to see that the address if the object is still the same. You must realize that your preference settings won't be carried in the object from one execution to another. To accomplish this, you should probably use the defaults database. Search on NXDefaultsVector to get an idea of how to use this. If you're still stuck, send me mail. Good luck! Ken Anderson anderson@biztech.com Stamford, CT
Newsgroups: comp.sys.next.programmer From: gr1@cec1.wustl.edu (Gopalakrishna Raman) Subject: HELP PLEASE ! Distr. Objects Message-ID: <1993Jul8.162456.2866@wuecl.wustl.edu> Sender: usenet@wuecl.wustl.edu (News Administrator) Organization: Washington University, St. Louis MO Date: Thu, 8 Jul 1993 16:24:56 GMT Hi, Consider a client that gets a proxy to a server object using server = [NXConnection connectToName:] and sends its own `self' id to the server object in a subsequent message. Question :CAN THE SERVER NOW CALL METHODS IN THE CLIENT ANY TIME ? My experiments suggest that it is not possible. This is extremely restrictive. The only time that the server can invoke client methods seems to be when the client is awaiting a reply to a method that it has invoked on the server. I tried running the client's connection to the `server' object as [[server connectionForProxy] run] but when the server calls a client method it prints the message : "[NXConnection run] - tossing reply message" and continues to wait for the method to return. PLEASE HELP & I SHALL POST A SUMMARY OF REPLIES.
Newsgroups: comp.sys.next.programmer Subject: Re: DBKit hoax - no text fields Message-ID: <1993Jul8.005109.58@ids.net> From: ronalday@ids.net Date: 8 Jul 93 00:51:09 EST References: <C9rB7r.GBx@sybase.com> Organization: IDS World Network, (401) 884-9002 <data>, ids.net [155.212.1.2] In article <C9rB7r.GBx@sybase.com>, brill@sybase.com (Michael Brill) writes: > [Does anyone] (3) know how I can > get some feedback from NeXT without spending $$$. The same way you can get feedback (or anything) from Sybase without spending $$$. :-) Sorry, I could not help that remark... Ronald
Newsgroups: comp.sys.next.bugs,comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: ThreadKit to the rescue! Message-ID: <Jul8.201308.46520@acs.ucalgary.ca> Date: Thu, 8 Jul 1993 20:13:08 GMT References: <1993Jul7.170142.4824@prim> <C9u12D.13v@world.std.com> Organization: The University of Calgary, Alberta > > I think this is a bug, if it's something I'm doing wrong > > please let me know. As the subject line says, this method > > doesn't work properly when called from a thread. What happens > > is that the requests get queued up until the next user event > > occurs. I've tried delays of 0, 1 and 1000. It's a pity > > because I wanted to use this method from a thread in order to > > safely use appkit objects (in this. case [window setTitle:]). > > Is there any way round this other than using distributed > > objects? > Gerp. The AppKit isn't thread safe, live with it. > > Keywords: ports, msg_send/recv, DPSAddPort. Until now! Making world safe for threads it's... ThreadKit! Send a message to any AppKit object safely from any thread! Well. Soon anyway. An EARLY version of ThreadKit (it works just fine, but frills are few and far between) will be uploaded on cs.orst.edu into the submissions directory by the end of the day. I'm looking for feedback et al to turn it into a polished product. -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
Newsgroups: comp.sys.next.programmer From: gordie@cyclesoft.com (Gordie Freedman) Subject: Re: Help with NIB files, instance variables, etc! Message-ID: <1993Jul8.192954.11485@netcom.com> Sender: gordie@netcom.com Organization: Cyclesoft Media Works References: <21ftph$8i9@senator-bedfellow.MIT.EDU> Date: Thu, 8 Jul 1993 19:29:54 GMT In article <21ftph$8i9@senator-bedfellow.MIT.EDU> zmonster@athena.mit.edu (Eric M Hermanson) writes: > I am trying to program something for my research, and being a semi-novice > programmer, I am boggled by the following: > > 2. Another question I had was, what happens if you instantiate a class > object in two or more nibs? I instantiated the EquationController class > in the preferences nib and the main controller nib. If I make a connection > in one of the nibs, will the class know about the connection even if it > doesn't show up in the other nib? > > Thanks, > Eric > > Since you have two EqautionControllers, you are setting the instance variables in one, and than seeing the old instance variables in the other. You shouldn't instantiate two EquationController objects - you should instantiate it once (in the main nib most likely), and than set the "File Owner"'s class in the preferences nib to EquationController. When you load the .nib file for the preferences (with LoadNibSection), have the owner: parameter passed in as the EquationController you instantiated in the other .nib (usually by having the prefs button send a message to the EquationController object - set this up in interface Builder - and have that method do the LoadNibSection). -- >>> Gordie Freedman -> gordie@cyclesoft.com NeXTMail Yes! >>> Thou shalt not inline functions more complicated than 20
Newsgroups: comp.sys.next.programmer From: yanik@planon.qc.ca (Yanik Crepeau) Subject: Re: How to perform periodic tasks in NXApp? Message-ID: <1993Jul8.155859.16854@CAM.ORG!planon> Sender: yanik@CAM.ORG!planon References: <21cijl$64d@access.digex.net> Date: Thu, 8 Jul 1993 15:58:59 GMT In article <21cijl$64d@access.digex.net> hacker@access.digex.net (Dark Hacker) writes: | | I have an application which is mostly compute-oriented (COMPUTATION!) | as opposed to user/interactive. In other words, instead of responding | to user events, my program performs a number of computations inside | a loop. This is how to works on traditional machines like Suns, Macs, | etc. | | Well how to perform this periodic set of tasks on the NeXT? Somehow | I have to have my subroutine calls initiated by NXApp. Should I | subclass NXApp in some or perhaps have these tasks subclassed | from a periodic tasking class (don't know what that would be on the | NeXT)? | | Ideally I would like to have a "controller" which actually does the | controlling as opposed to being driven by events. | | Thanks for your advice! | | - Hacker | -- There is three (3) ways. 1) You can use "Timer event". With the function NXBeginTimer(), you instruct your program to add an event at any given interval. That technique is used when you want to track a certain condition during a loop. When you take care of a "MouseDown" event, you could start a stream of timed event to check if something has changed during the time the user keep the mouse down. You stop the stream with you get a "mouseUp" event. 2) You can use DPSAddTimedEntry() to instruct your program to call a C function at any interval. You can have many timed entries active at the same time. If you want to make call to an object from within the timed function, you must provide such an object with the userData parameter of the function. 3) In the object additions, there is a very nice method named - perform:with:afterDelay:cancelPrevious: A method can call itself using the following technique: - myMethod:sender { [self perform:@selector(myMethod:) with:sender afterDelay:1000 //in miliseconds cancelPrevious:YES]; /* ... other stuff here! */ return self; } To intitiate the stream, just call "myMethod:" from -appDidInit: or -awakeFromNib. In the -free method of that class, add the following call to be sure that "MyMethod:" won't be called after the object is freed: - free { [self perform:@selector(myMethod:) with:self afterDelay:-1 //-1 won't be executed cancelPrevious:YES]; return [super free]; } -- Yanik Crepeau Programmer Planon Telexpertise E-Mail: yanik@planon.qc.ca (NeXT)
From: jimb@access.digex.net (Jim Brooking) Newsgroups: comp.sys.next.programmer Subject: Changing DBTableView Font Date: 8 Jul 1993 18:37:58 -0400 Organization: Object oriented Distribution: usa Message-ID: <21i7k6$j2@access.digex.net> How would I change the font for all the vectors in a DBTableView? When I ask the formatters to change fonts, they ignore me on screen, even though a look at their font objects indicate they've changed. Thanks -- jimb@access.digex.com | NeXTSTEP Developer | MARRC Cornerworker '93 GSX600FP Katana | Bethesda, Maryland | Summit Point Raceway, WV ----------------------+----------------------------+-------------------------- "Relax, Don't Worry, Have a Homebrew"
Newsgroups: comp.sys.next.programmer From: shiva@vega.Stanford.EDU (Marcos Javier Polanco) Subject: setName - induced compiler warnings. Message-ID: <1993Jul8.225338.28830@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: DSO, Stanford University Date: Thu, 8 Jul 93 22:53:38 GMT Hello, I'm sure many of you are familiar with: Main.m:142: warning: multiple declarations for method `setName:' /NextDeveloper/Headers/appkit/NXImage.h:59: using `-(BOOL)setName:(const char *)string' User.h:50: also found `-setName:(const char *)theName' /NextDeveloper/Headers/soundkit/Sound.h:111: also found `-setName:(const char *)theName' NeXT's own definitions of setName: conflict! How do I get rid of the compiler warnigns telling me this? As an aside, my -setName call returns self, yet when this value is returned it suddenly becomes a random pointer. What gives? -marcos j. polanco -shiva@vega.stanford.edu
Newsgroups: comp.sys.next.programmer From: shiva@vega.Stanford.EDU (Marcos Javier Polanco) Subject: Re: setName - induced compiler warnings. Message-ID: <1993Jul8.235046.1212@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: DSO, Stanford University References: <1993Jul8.225338.28830@leland.Stanford.EDU> Date: Thu, 8 Jul 93 23:50:46 GMT In article <1993Jul8.225338.28830@leland.Stanford.EDU> shiva@vega.Stanford.EDU (Marcos Javier Polanco) writes: > > Hello, > > I'm sure many of you are familiar with: > > Main.m:142: warning: multiple declarations for method `setName:' > /NextDeveloper/Headers/appkit/NXImage.h:59: using `-(BOOL)setName:(const > char *)string' > User.h:50: also found `-setName:(const char *)theName' > /NextDeveloper/Headers/soundkit/Sound.h:111: also found `-setName:(const > char *)theName' > > NeXT's own definitions of setName: conflict! How do I get rid of the > compiler warnigns telling me this? > As an aside, my -setName call returns self, yet when this value is > returned it suddenly becomes a random pointer. What gives? Casting the receiver to the type I want solves most of this problem. However, I still get warnings because the class declaration still conflict with NeXT's. (How could they not?) -marcos j. polanco -shiva@vega.stanford.edu
Newsgroups: comp.sys.next.bugs,comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Not so smart pre-processor Organization: Primitive Software Ltd. References: <1993Jul1.134516.3325@prim> Date: Wed, 7 Jul 1993 19:31:12 +0000 Message-ID: <1993Jul7.193112.6474@prim> Sender: usenet@demon.co.uk In article <1993Jul1.134516.3325@prim> dave@prim.demon.co.uk (Dave Griffiths) writes: > >I've got a really wierd problem that's only just started happening. Basically, >the first time I try to compile a new .m file, I get a load of errors of the >type you would expect if you'd forgotten to include a #import directive. But >the #import is there, and so is the header file it refers to. I'm not using >precompiled headers. The header file in question was actually brought into >the project as a result of dragging the class icon in Project Builder from >another project's class suitcase. I'm not sure if this is related to the >problem. Doing a "make depend" and a "make clean" doesn't help. The header >file is there, the #import is there, but the compiler acts as though the >header file is empty! The header file is not a link of any kind. > >Now here's the wierd part: I can make the problem go away by opening the >header file in Edit and just saving it without changing it. Hey presto, the >compiler now recognizes it and the problem disappears! > >Anyone know what could be causing this? Take a look at this: /src/Newsagent/Newsagent> /lib/cpp-precomp -v -lang-objc -D__OBJC__ -D__GNUC__= 2 -D__GNU__ -Dmc68000 -Dm68k -DNeXT -Dunix -D__MACH__ -D__BIG_ENDIAN__ -D__ARCH ITECTURE__="m68k" -D__mc68000__ -D__m68k__ -D__NeXT__ -D__unix__ -D__MACH__ -D_ _BIG_ENDIAN__ -D__ARCHITECTURE__="m68k" Controller.m /usr/tmp/cc006349.cpp NeXT CPP 3.0 /src/Newsagent/Newsagent> grep Vessel /usr/tmp/cc006349.cpp #1 "Vessel.h" 1 @interface Vessel:Object vessel = [Vessel alloc]; /src/Newsagent/Newsagent> /lib/cpp-precomp -smart -v -lang-objc -D__OBJC__ -D__ GNUC__=2 -D__GNU__ -Dmc68000 -Dm68k -DNeXT -Dunix -D__MACH__ -D__BIG_ENDIAN__ - D__ARCHITECTURE__="m68k" -D__mc68000__ -D__m68k__ -D__NeXT__ -D__unix__ -D__MAC H__ -D__BIG_ENDIAN__ -D__ARCHITECTURE__="m68k" Controller.m /usr/tmp/cc006349.c pp NeXT CPP 3.0 /src/Newsagent/Newsagent> grep Vessel /usr/tmp/cc006349.cpp vessel = [ Vessel alloc ] ; /src/Newsagent/Newsagent> cd So this is clearly a compiler problem. The "smart" keyword screws it up. Dave Griffiths
Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy From: robertn@penny (Robert Nicholson) Subject: NeXTSTEP: Quantify it's gains. Distributions: world Date: Wed, 7 Jul 1993 22:46:49 +0000 Message-ID: <9307072046.AA01905@penny.demon.co.uk> Sender: usenet@demon.co.uk I am not one to fall for the hype. ie. building applications in IB only etc etc. I believe that the power of NeXTSTEP from a development perspective is the functionality provide in the kits/DPS and IB and how you can use the kits functionality to extend the functionality of IB. Not to mention all the MACH IPCing etc Pastebord, DRAG AND DROP, DO's etc etc. But removing IB from the equation where do people feel that NeXTSTEP's strengths lie from a development perspective and how do you think you would pitch this to someone evaluating NT? (The bean factor)
Newsgroups: comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: ThreadKit Now Available Message-ID: <Jul9.055640.47962@acs.ucalgary.ca> Date: Fri, 9 Jul 1993 05:56:40 GMT Organization: The University of Calgary, Alberta ... on both the sonata.cc.purdue.edu and cs.orst.edu in the /pub/next/submissions directory as "ThreadKit-0.1.tar.Z". Note that despite the early version number, the kit seems quite robust, just a little feature-shy and less than friendly to install. I'm looking for feedback on the kit, so let me know what you think and I'll try to turn it into a professional (and inexpensive) kit. WARNING: The 0.1 version has been uploaded as a Multi-Architecture library, but has only been tested on black hardware under 3.1. It should work fine on the NS/fip 3.1, but the library is unusable under 3.0. I'll be putting out a 0.11 version that includes single-architecture libraries for motorola hardware later this evening. ---- *** Seriously Preliminary ThreadKit Release Notes *** 1. Log in as (or su to) root 2. Type gnutar -Pxvf ThreadKit.tar 3. Type ranlib /usr/local/lib/libThreadKit.a Note that the file /LocalDeveloper/Headers/ThreadedApplication.h is indeed a duplicate of the definition in the threadkit subdirectory. This is necessary because ProjectBuilder can't handle Application subclasses defined in subdirectories properly. --- The ThreadKit consists of three classes: ThreadedApplication The core of the kit, it adds mechanisms necessary to allow threads to access non-thread safe (eg: AppKit user interface) objects with impunity. Any thread that needs to access an object that wasn't originally designed with thread-safety in mind can do so by locking the entire appkit thread through the "lockAppKit" method. When done with processing, the thread can be unlocked via the "unlockAppKit" method. It also asks the objective-C runtime mechanism to become thread-safe on your behalf. ThreadedMessage A mechanism for spawning autonomous threads, sending an "initFor:performing:" message to a newly created ThreadedMessage spawns another thread and sends the specified message to the specified object. Note: Once the ThreadedMessage object is activated via this message it should be left alone. It will free itself when the message is complete, and sending it further requests in the interim will have unpredictable results. Anytime a new thread is desired, just create a new instance. ThreadedObject A subclass of object that provides an inherent locking mechanism. Sending the "lock" and "unlock" messages surrounding any atomic actions performed on the object will keep things rolling smoothly... --- This version of the ThreadKit is a very early step in trying to make multithreaded NeXTSTEP programming a little less arcane. It is intended to be released as a commercial product at a very reasonable price when complete. This early version expires July 22. The simple example included demonstrates use of two of the three classes, more examples will be forthcoming... Feel free to write with comments, suggestions, criticisms. Whatever. Blake Stone 219 Edgevalley Mews N.W. Calgary, Alberta, Canada T3A-5E5 bstone@acs.ucalgary.ca -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
From: dillon@moonshot.west.oic.com (Matthew Dillon) Newsgroups: comp.sys.next.programmer Subject: SLIP on NS486 boxes Date: 8 Jul 1993 22:30:12 -0700 Organization: Homeless Electron Distribution: world Message-ID: <21ivp4$mqm@moonshot.west.oic.com> Has anyone had any luck getting any of the slip/ppp drivers working on a 486 box? A while back I took the ppp kernel-loadable server source that was on sonata and successfully ripped it up into a slip driver which runs just fine on my slab (read: no crashes). When compiled on a NS486 machine, though, it loads into the kernel just fine but crashes almost instantly. Being in a kernel, it's a !@#$ to debug :-( If anybody has had experience in this department I'd appreciate an email ring. It seems silly to not be able to run SLIP (or PPP for that matter). This stuff is trivial on SUNs... <sigh>. I'm deathly afraid that NeXT did something wierd in the tty-related kernel calls. -Matt
Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs From: hsr@cs.Stanford.EDU (Scott Roy) Subject: No file descriptions in Librarian.app Message-ID: <1993Jul9.081453.714@CSD-NewsHost.Stanford.EDU> Sender: news@CSD-NewsHost.Stanford.EDU Organization: CS Department, Stanford University, California, USA Date: Fri, 9 Jul 1993 08:14:53 GMT The helpful file descriptions for the man page entries seem to have disappeared in version 3.1. Worse, ixbuild seems to ignore the -g flag. Has anyone gotten ixbuild to include the descriptions? Scott Roy Department of Computer Science Stanford University
Newsgroups: comp.sys.next.programmer From: harit@kripalu.com Subject: Re: perform: with:afterDelay:cancelPrevious: doesn't work from threads Message-ID: <1993Jul8.113732.321@uunet!cbmvax!xmws!kripalu> Sender: harit@uunet!cbmvax!xmws!kripalu Organization: Kripalu Center References: <1993Jul7.170142.4824@prim> Date: Thu, 8 Jul 93 11:37:32 GMT In article <1993Jul7.170142.4824@prim> dave@prim.demon.co.uk (Dave Griffiths) writes: > > I think this is a bug, if it's something I'm doing wrong please let me know. As > the subject line says, this method doesn't work properly when called from a > thread. What happens is that the requests get queued up until the next user > event occurs. I've tried delays of 0, 1 and 1000. It's a pity because I wanted > to use this method from a thread in order to safely use appkit objects (in this > case [window setTitle:]). Is there any way round this other than using > distributed objects? > > Dave Griffiths This method is implemented as part of the main event loop. Unfortunately AppKit is NOT thread safe. The main thread is the only place this method will work. You will need to send a mach message to the main thread, delay, then send one back, or keep a queue of your own in the run loop of your thread. -- Michael Allen Latta Kripalu Center harit@kripalu.com (413)448-3288
Newsgroups: comp.sys.next.programmer From: gbol@nos40nm.shell.com (Gregory B. Lampshire) Subject: I am writing a class browser (codebuilder) but need some help.... Message-ID: <GBOL.93Jul8121300@nos40nm.shell.com> Sender: usenet@shellgate.shell.com (USENET News System) Organization: Shell Offshore, Inc Date: Thu, 8 Jul 1993 17:13:00 GMT I am in the midst of writing a class browser similar to Smalltalk's class browser but I am in need of some help. I am mostly done with the code for a rough interface and classes for managing the code hierarchy. I need a function which can parse objc interface files. I have looked into the parser with gcc but simply don't have time to delve into it (I am getting severenced from my company soon). Can anybody supply me with a function that can parse objc interface files and return lists of strings that I can then use to insert that interface into my class browser? Eventually, I am after something which can chop up an implementation file... gregory gbol@rglnext.geol.vt.edu gbol@shell.com
Newsgroups: comp.sys.next.programmer From: louie@TransSys.COM (Louis A. Mamakos) Subject: Re: SLIP on NS486 boxes Message-ID: <21js3o$8tm@wa3ymh.transsys.com> Sender: usenet@grebyn.com Organization: TransSys, Inc. References: <21ivp4$mqm@moonshot.west.oic.com> Date: Fri, 9 Jul 1993 13:33:44 GMT In article <21ivp4$mqm@moonshot.west.oic.com> dillon@moonshot.west.oic.com (Matthew Dillon) writes: > When compiled on a NS486 machine, though, it loads into the kernel just >fine but crashes almost instantly. The 3.1PR1 kernel did ttys in the same fashion as 3.0, 2.2, 2.1, etc., at least on Motorola platforms. It's anyone's guess what's different on Intel platforms. NeXT has actively discouraged the ability to write user-loadable line disciplines. In 3.0, for example, header files which used to document installing line discipline just disappeared. It may be that some interfaces have changed on the Intel box. On the other hand, you just be seeing the broken serial driver bug, manifested in a different way. It may be pointless to continue until that issue is resolved. It's pretty much a show-stopper for me. > Being in a kernel, it's a !@#$ to debug :-( You bet. In the network software that I'm working on and testing now, I do all the interesting stuff in user code, with an absolute minimum amount of code in the kernel. The new software doesn't use any new line disciplines; it just open /dev/cufa and puts it into raw mode like UUCP, kermit or other programs. > If anybody has had experience in this department I'd appreciate an >email ring. It seems silly to not be able to run SLIP (or PPP for that matter). >This stuff is trivial on SUNs... <sigh>. I'm deathly afraid that NeXT did >something wierd in the tty-related kernel calls. Who knows *what* has been going on in there. There are non-trivial differences between the Intel and Motorola kernels (other than the obvious!). Since the Intel-based kernel support the DriverKit, it may be that other interface have changed as well. You may have to resort to the standard NeXT documentation tools: strings and otool to find out what's really going on. -- Louis A. Mamakos TransSys, Inc.
Newsgroups: comp.sys.next.programmer From: arrouye@cosmos.imag.fr (Yves Arrouye) Subject: how to make the App delegate awake first? Message-ID: <ARROUYE.93Jul9150229@mistral.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Fri, 9 Jul 1993 14:02:29 GMT Hi, I am writing an application whose interface is built with IB, and consists of a Window with a custom View inside it. The Aplication has a delegate which manages the defaults for the app. My problem is that the custom View uses the defaults in order to initialize itself, but it receives an initFrame: message before the delegate receives its init: message! How can I make sure that the first object to be unarchived from the NIB file is my app. delegate? Yves -- With one processor, we verify that the time spent Yves Arrouye in controlling parallelism is not too long. arrouye@mistral.imag.fr arrouye@imag.imag.fr -- Yannick Tre'molet, LMC (33) 76 57 48 61
From: dwight@toolucky.llnl.gov ( Dwight Shih ) Newsgroups: comp.sys.next.programmer Subject: Re: Summary: Parsing "foo-3.5" Date: 9 Jul 93 09:25:38 Organization: Lawrence Livermore National Laboratory Message-ID: <DWIGHT.93Jul9092538@toolucky.llnl.gov> References: <1993Jul8.131056.289@proforma.com> <1261@rtbrain.rightbrain.com> In-reply-to: glenn@rightbrain.com's message of 9 Jul 93 00:00:39 GMT In article <1261@rtbrain.rightbrain.com> glenn@rightbrain.com (Glenn Reid) writes: From: glenn@rightbrain.com (Glenn Reid) References: <1993Jul8.131056.289@proforma.com> J. G. Gregory writes > The most common advice was to take the sign out of the lexer side, > and have the yacc side do the signs. In my example: > current: > foo-3.5 => <ID> <NUM> => "parse error" > proposed: > foo-3.5 => <ID> '-' <NUM> => accepted > The only required change is a slight adjustment of what a <NUM> is. It seems to me that this proposed solution will work for the example you give "foo-3.5" but will break for others, like "foo * -3.5". Am I missing something? the - parses to a unary operator with high precedence so that foo * -3.5 parses to: <ID> <binary operator> <unary operator> <number> it's not difficult to define the grammar so that the unary minus operator - can be distinguished from the subtraction operator - contextually. BTW, let me insert a plug for one of my favorite UNIX books, "The UNIX Programming Environment", by Kernighan and Pike. It's a bit dated, but IMHO it still captures the essence of UNIX programming (good or bad). Plus it has an example of a High Order Calculator (hoc) in yacc, minor digression into lex, and discussion of the use of make.
From: jholm@jholm.dc.shl.com (Julie Holm) Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs Subject: DBTableView printing problem. Date: 9 Jul 1993 19:50:14 GMT Organization: SHL Systemhouse Inc. Message-ID: <21ki5mINNknu@technet1.shl.com> I would appreciate some help from you NeXT gurus. One of the programmers here is having a problem printing headers on a report. As Manny puts it: QUESTION> How do you print a DBTableView with column headings included? Using the code below just gives me the . . [myDBTableView printPSCode:nil]; . . rows without headings in the postcript image generated. Please respond to my mailbox or to eericta@dc.shl.com. Thanks. P.S. This is black box 3.0. -- ------------------------------------------------------------------------------- Julie Holm | Some day I will actually think of something to put here. jholm@dc.shl.com | 9617 Verdict Dr. | Vienna, VA 22181| (703)-938-0435 | -------------------------------------------------------------------------------
From: campb001@casey.mc.duke.edu (Jim Campbell) Newsgroups: comp.sys.next.programmer Subject: problems building fat sybperl Keywords: perl sybperl fat Message-ID: <17496@news.duke.edu> Date: 9 Jul 93 20:08:14 GMT Sender: news@news.duke.edu I am trying to build a fat version of sybperl. I had to mess around with the make file a bit, but finally got a clean build. The problem is that some (but not all) of our scripts work fine on black gear but fail on the white. Here's the scoop: We built a fat perl which passes all the regression tests. We built a fat uperl.a (not the uperl.o the sybperl makefile wants). We used libtool against the perl *.o files that uperl.o depends on in the perl makefile. We then linked sybperl.o with this archive file to create the sybperl executable. When we run sbex.pl (the sybperl test strap) on the black hardware it runs fine. On the white hardware we get: $dbproc parameter is NULL or the connection to the server has been closed. at sbex.pl line 34 This is the first call to dbnextrow in the test strap. Running in the debugger shows a valid return from dblogin and sp_who from isql shows we have a good connection prior to this call. We can execute dbnextrow interactively in the debugger, and other scripts are successful with it. As far as I can tell, sbex.pl differs mainly in that a call to dbopen is used to generate second dbprocess. Our one other script that does this (a hacked version of sbex.pl) also fails on it's first call to dbnextrow. Running interactively in the debugger on the white hardware we can call dbopen add nauseum without problem. setenv in the shells executing the scripts shows the same values for DSQUERY,DSLISTEN,and SYBASE on both black and white gear. Any suggestions would be much appreciated? Jim -- Jim Campbell Duke Univ. Med. Center Info. Systems campb001@mc.duke.edu (NeXT Mail ok)
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: marshall@software.org (Eric Marshall) Subject: Subclassing Matrix to use different sized cells? Message-ID: <1993Jul9.200752.20386@software.org> Sender: usenet@software.org (Usenet News/Mail Support) Organization: Software Productivity Consortium, Herndon, Virginia Date: Fri, 9 Jul 1993 20:07:52 GMT Has anyone out there subclassed Matrix to use different sized cells? I'd appreciate code samples of this :-) Thanks in advance. Eric Marshall Software Productivity Consortium SPC Building 2214 Rock Hill Road Herndon, VA 22070 (703) 742-7153 marshall@software.org
Newsgroups: comp.sys.next.programmer From: greg@afs.com (Gregory H. Anderson) Subject: Re: Can one replace the 'Window' class? Message-ID: <1993Jul8.203045.2656@afs.com> Sender: greg@afs.com References: <1993Jul8.152540.5405@biztech.com> Date: Thu, 8 Jul 1993 20:30:45 GMT > In article <21f6ip$jfk@sol.ctr.columbia.edu> > gbrown@raven.ctr.columbia.edu (Glenn Brown) writes: > > > >BUT, a friend of mine is doing his doctoral thesis on graphical user > >interfaces and is considering doing his work under NEXTSTEP. To do so, > >however, he would need to modify the window class (so all applications > >would use his modified windows). To which Ken Anderson replied: > 3) Write his own! There's no reason that I can think of that he > couldn't write his own Window class. Now THAT would be fun! We have differing ideas of "fun." As a friend once wrote: I'd rather grab high tension wire Eat Ex-Lax all day long Stick my tongue into a fan Get f**ked by old King Kong Get a life! Move out of your parents' basement! 8^) -- Gregory H. Anderson | "If you've got eyes to rhythmatize Composer-in-Residence | Bring your flat hat and your ax Anderson Financial Systems | 'Cause tonight at 10 we'll be workin' again" greg@afs.com (NeXTmail OK) | -- Donald Fagen, "Teahouse on the Tracks"
From: david@drq.lbl.gov (David Quarrie) Newsgroups: comp.sys.next.programmer Subject: How to get the OpenPanel to allow directories to be accessed Date: 10 Jul 1993 02:38:37 GMT Organization: Lawrence Berkeley Laboratory, Berkeley CA Distribution: world Message-ID: <32239@dog.ee.lbl.gov> -------------------------------------------------------------------------- | Please use DRQuarrie@LBL.gov as the address for any reply | -------------------------------------------------------------------------- I have an application that needs to allow the user to open either an existing file or an empty directory which it can use to create a new project (not ideal I know, but I'm porting an existing program and that's what it expects). Any idea whether I can get the OpenPanel (or a subclass thereof) to enable the OK button when a directory is specified? Nothing I've tried so far seems to have done the trick. Thanks in advance. (I'm posting this over a SLIP line - hence the request to use my "real" address above). David R. Quarrie Lawrence Berkeley Lab MS 50B-3238 (NeXTmail ok) 1 Cyclotron Road Internet: DRQuarrie@LBL.gov Berkeley, CA 94720
From: riedel@cs.ubc.ca (Marko Riedel) Newsgroups: comp.sys.next.programmer Subject: Re: NX_ls ? Date: 10 Jul 1993 03:41:43 GMT Organization: Computer Science, University of B.C., Vancouver, B.C., Canada Message-ID: <21ldpn$j6@cs.ubc.ca> References: <1993Jul9.235748.10086@leland.Stanford.EDU> Keywords: world In article <1993Jul9.235748.10086@leland.Stanford.EDU> xinwei@otter.Stanford.EDU (Sha Xin Wei) writes: [where is NX_ls?] > Sha Xin Wei, Stanford ASD I don't think there's anything but the "old-fashioned" Unix opendir(). Here's some code that reads a directory into a matrix -- should be usable except for the insertion sort (arrgh!); it would obviously be better to grab the entries first and qsort them before putting them into the matrix. Marko R. Riedel, riedel@cs.ubc.ca /* get goodies */ if((theDir=opendir(path))==NULL){ cellCount=0; [gMatrix sizeToCells]; [gMatrix display]; return [self indicateNoGoodiesFound]; } for(theEnt=readdir(theDir), cnt=0; theEnt!=NULL; theEnt=readdir(theDir)){ curExt=rindex(theEnt->d_name, '.'); if(curExt!=NULL && !strcmp(curExt+1, ext)){ for(rPos=0; rPos<cnt; rPos++) if(strcasecmp(theEnt->d_name, [[gMatrix cellAt:rPos :0] title])<0){ [gMatrix insertRowAt:rPos]; [[gMatrix cellAt:rPos :0] setTitle:theEnt->d_name]; cnt++; break; } if(rPos==cnt){ [gMatrix addRow]; [[gMatrix cellAt:(cnt++) :0] setTitle:theEnt->d_name]; } } } closedir(theDir); if(!cnt) return [self indicateNoGoodiesFound];
Newsgroups: comp.sys.next.programmer From: Zacharias J. Beckman <zac@dolphin.com> Subject: Dolphin Kit 3.1 FIP Ships July 30! (PR) Message-ID: <1993Jul9.212637.2550@dolphin.com> Sender: zac@dolphin.com Organization: Dolphin Software Distribution: usa Date: Fri, 9 Jul 1993 21:26:37 GMT Press Release Dolphin Technologies Inc. Announces Dolphin Kit Object Library Contact: Zacharias J. Beckman Dolphin Technologies Inc. 10329 Viretta Lane Beverly Glen, CA 90077 July 1, 1993--Dolphin Technologies Inc. announced the availability of the Dolphin Kit NeXTSTEP compatible class library, version 3.1, for NeXTSTEP (available for both Intel and Motorola hardware). The kit is a set of classes which run in the NeXTSTEP environment and focus on common functionality that many applications require. The classes expand upon the existing NeXTSTEP API and deliver new objects not formerly available. The Dolphin Kit provides a comprehensive set of tools, classes, and protocols for building applications that use a high-level object oriented approach to many common needs in application development. The kit provides services that include: Simple string and "sentence" storage and manipulation. Encapsulated use of Mach files and devices (i.e.: flat files). Management of C Threads and multitasking. Extensions to several standard NeXTSTEP API classes. New container classes. Facilities for generating NeXTMAIL. Part of the functionality of the Dolphin Kit is a set of tools for building more robust applications. Most applications make use of memory to store strings or other blocks of data. Dolphin's String class can be used to greatly simplify direct use of memory. For example, calls to memory allocation and free functions are encapsulated. By encapsulating the use of memory in a robust library, many problems in the area of memory management and memory overrun are prevented. The Dolphin Kit helps by providing: Several String classes for containment of a block of memory (typically used to store terminated character strings, read only strings, and an ErrorString class to encapsulate error handling). A Parser to provide greater flexibility in manipulation of character strings. This makes it possible to manipulate such strings without danger of memory overruns and other miscalculations. Classes for the encapsulation of Mach file and device manipulation and use of multiprocessing via C Threads. Tight integration between the File, Process and String class make an excellent tool for execution and reporting on Mach command line operations. A NodeTree for storage and manipulation of data which can be stored in a tree. Subclasses of List for sorted storage and delegate notification in the event of changes to the container contents. A simple but very handy encapsulation of memory allocation using NXZone's. The Memory class makes using zones and blocks of memory a little bit less tedious and much more reliable. An interface to creating authentic NeXTMAIL, including attachments and rich text, via Mailer. C++ wraps around those Dolphin Kit classes that benefit most from C++ features. The Dolphin Kit version 3.1 will be available July 30, 1993, for a purchase price of $249.00 US. For detailed information on the kit, send electronic mail to <info@dolphin.com> or contact Dolphin Technologies Inc. at 10329 Viretta Lane, Beverly Glen, CA 90077. Facsimile can be sent to 310-441-9041 and voice calls are accepted at 800-843-0328. -- END -- -- Zacharias J. Beckman - Dolphin Technologies Inc. - zac@dolphin.com - NeXTMAIL! To be "matter of fact" about the world is to blunder into fantasy.... and dull fantasy at that, as the real world is strange and wonderful. --- R. A. Heinlen Those opinions I express herein are my own, I'm fairly sure. --- Z. J. Beckman
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: NX_ls ? Message-ID: <1993Jul10.081216.23516@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Jul9.235748.10086@leland.Stanford.EDU> <21ldpn$j6@cs.ubc.ca> Date: Sat, 10 Jul 1993 08:12:16 GMT In article <21ldpn$j6@cs.ubc.ca> riedel@cs.ubc.ca (Marko Riedel) writes: >I don't think there's anything but the "old-fashioned" Unix opendir(). Try man 3 scandir -=EPS=-
Newsgroups: comp.sys.next.programmer From: mike@lorax.com (Mike Ferris) Subject: Re: Adding classes at runtime? Message-ID: <C9wpIG.8v8@lorax.com> Sender: mike@lorax.com (Mike Ferris) Organization: Stultus Enterprises References: <C9rExy.Mqy@world.std.com> Date: Fri, 9 Jul 1993 16:51:51 GMT Hi, Unless you have some reason to go down so low, I would recommend using bundles for your dynamic loading needs. Read the class doc for NXBundle in the Common classes chapter of the General Ref. ____________________________________________________________ Mike Ferris Ever drifting in the stream-- mike@lorax.com Lingering in the golden gleam-- Rubicon Software Life, What is it but a dream? (510) 652-2039 -Lewis Carroll
Newsgroups: comp.sys.next.programmer From: mike@lorax.com (Mike Ferris) Subject: Re: how can I declare static instance variables? Message-ID: <C9wqI1.8y2@lorax.com> Sender: mike@lorax.com (Mike Ferris) Organization: Stultus Enterprises References: <C9rq2B.1J5@mentor.cc.purdue.edu> Date: Fri, 9 Jul 1993 17:13:11 GMT Hello, Just thought I'd mention this. WARNING: I am not claiming this technique is pretty or that it is an acceptable substitute for real class variables. That said, you can simulate a real class variable (but only if all access goes through a set of class methods). The technique is to declare a HashTable instead of the variable you want. The key for the has table will be the class name. The value will be the value of your "classs variable" for that class name. You must then write +classVariable and +setClassVariable methods which manage the HashTable properly. In this way, you can encapsulate the class variable where it belongs and avoid the problem with subclasses. Like I said, it's not pretty. But you'll only have to write the code once. ____________________________________________________________ Mike Ferris mike@lorax.com (Fnord) Rubicon Software (510) 652-2039
Newsgroups: comp.sys.next.programmer From: jjfeiler@relief.com (John Jay Feiler) Subject: Re: Order of #imports != order of preprocessing! Message-ID: <1993Jul10.062415.29692@relief.com> Sender: jjfeiler@relief.com Organization: relief consulting References: <C9s2An.Dns@news.otago.ac.nz> Date: Sat, 10 Jul 1993 06:24:15 GMT In article <C9s2An.Dns@news.otago.ac.nz> writes: > > Hi there, > We have an odd problem. We have a largish project, with lots of > header files that #import other header files, including some that > #import each other. We have had no problem with this until now. We > have something like this. [munch] I believe that your problems will be solved if you use the @class directive to reference other classes in your *.h files, and then #import the *.h files for the needed classes in the *.m file. That allows you to avoid circular imports of *.h files, and All Will Be Well (TM). John > -- > Alastair Thomson, | Phone +64-3-479-8347 > Chief Programmer, | Fax +64-3-479-8529 > The Black Albatross Project, | e-mail: > University of Otago, | alastair@farli.otago.ac.nz > Dunedin, New Zealand | NeXTmail Welcome -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!! Edmonds, WA 98026-4433 Independent NeXTSTEP Developer
Newsgroups: comp.sys.next.programmer From: chris@celine.fdn.org (Christophe Verdier) Subject: Managing Event outside standart NeXT App Message-ID: <1993Jul9.080704.1325@celine.fdn.org> Sender: chris@celine.fdn.org Organization: Independant NeXT Developer- Mantes, France. Date: Fri, 9 Jul 1993 08:07:04 GMT Hi, I m currently porting a graphics object oriented lisp (Tlisp) on NS, and I need to manage events by myself. But I want to keep NeXT window style. In fact, I need to know what method run from the Application class exactly do. The only way I found is to instanciate an Application and a window, to make a event filter (with DPSsetEventFunc) and to activate all in a pseudo loop by calling [NXApp runModalSession:&aSession] (I create a modal session for each displayed window). This is not a nice solution, because the windows are hidding all other windows (they are modals). Does anybody have a clean solution for doing this ? -- NewsGrazer, a NeXTstep(tm) news reader, posting -- M>UQR=&8P7&%N<VE[7&9O;G1T8FQ<9C!<9FUO9&5R;B!#;W5R:65R.WT*7&UA M<F=L,3(P"EQM87)G<C$R,`I<<&%R9%QT>#$Q-3)<='@R,S`T7'1X,S0U-EQT M>#0V,#A<='@U-S8P7'1X-CDQ,EQT>#@P-C1<='@Y,C$V7'1X,3`S-CA<='@Q M,34R,%QF,%QB,%QI,%QU;&YO;F5<9G,R-%QF8S!<8V8P($AI+%P*7`I)J6T@ M8W5R<F5N=&QY('!O<G1I;F<@82!G<F%P:&EC<R!O8FIE8W0@;W)I96YT960@ M;&ES<"`H5&QI<W`I(&]N($Y3+"!A;F0@22!N965D('1O(&UA;F%G92!E=F5N M=',@8GD@;7ES96QF+B!"=70@22!W86YT('1O(&ME97`@3F585"!W:6YD;W<@ M<W1Y;&4N7`I<"DEN(&9A8W0L($D@;F5E9"!T;R!K;F]W('=H870@;65T:&]D M(*ER=6ZI(&9R;VT@=&AE($%P<&QI8V%T:6]N(&-L87-S(&5X86-T;'D@9&\N M7`I<"E1H92!O;FQY('=A>2!)(&9O=6YD(&ES('1O(&EN<W1A;F-I871E(&%N M($%P<&QI8V%T:6]N(&%N9"!A('=I;F1O=RQ<"G1O(&UA:V4@82!E=F5N="!F M:6QT97(@*'=I=&@@1%!3<V5T179E;G1&=6YC*2!A;F0@=&\@86-T:79A=&4@ M86QL(&EN(&$@<'-E=61O(&QO;W`@8GD@8V%L;&EN9R!;3EA!<'`@<G5N36]D M86Q397-S:6]N.B9A4V5S<VEO;ET@*$D@8W)E871E(&$@;6]D86P@<V5S<VEO M;B!F;W(@96%C:"!D:7-P;&%Y960@=VEN9&]W*2X@5&AI<R!I<R!N;W0@82!N M:6-E('-O;'5T:6]N+"!B96-A=7-E('1H92!W:6YD;W=S(&%R92!H:61D:6YG M(&%L;"!O=&AE<B!W:6YD;W=S("`H=&AE>2!A<F4@;6]D86QS*2Y<"EP*1&]E M<R!A;GEB;V1Y(&AA=F4@82!C;&5A;B!S;VQU=&EO;B!F;W(@9&]I;F<@=&AI *<R`_7`I<"@I]"FAA ` -- Christophe VERDIER /* Small NeXT Mail */ email :chris@celine.fdn.org 27 rue max. Robespierre /* Accepted */ tel :(voice) 30 98 42 94 78200 MANTES-LA-VILLE /* (+-50Ko) */ FRANCE
Newsgroups: comp.sys.next.bugs,comp.sys.next.programmer From: robertn@penny.demon.co.uk (Robert Nicholson) Subject: DL Bugs? Distribution: world Cc: nextanswers@next.com Date: Fri, 9 Jul 1993 22:06:53 +0000 Message-ID: <9307092203.AA08623@penny.demon.co.uk> Sender: usenet@demon.co.uk This is an NS3.0 question. Has DL got a retutation for not recognising indexes in a network environment? The .index.store files are there as plain as day but for some reason DL reports that nothing it indexed and I cannot do any searching not even sequential searches.
From: jholm@jholm.dc.shl.com (Julie Holm) Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs Subject: Printing Problems for DBTable View Date: 10 Jul 1993 14:19:27 GMT Organization: SHL Systemhouse Inc. Message-ID: <21mj5fINNd1d@technet1.shl.com> Please Excuse me if this gets posted twice. We were having some problems with our connection, and I don't think the first posting went out! I would appreciate some help from you NeXT gurus. One of the programmers here is having a problem printing headers on a report. As Manny puts it: QUESTION> How do you print a DBTableView with column headings included? Using the code below just gives me the . . [myDBTableView printPSCode:nil]; . . rows without headings in the postcript image generated. Please respond to my mailbox or to eericta@dc.shl.com. Thanks. P.S. This is black box 3.0. -- ------------------------------------------------------------------------------- Julie Holm | Some day I will actually think of something to put here. jholm@dc.shl.com | 9617 Verdict Dr. | Vienna, VA 22181| (703)-938-0435 | -------------------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: nico@imani.cam.org (Nicolas Dore) Subject: Re: MouseX server causes unbounded swapfile expansion? Message-ID: <1993Jul10.161707.455@imani.cam.org> Sender: nico@imani.cam.org References: <1993Jul6.225747.1408@gamelan> Date: Sat, 10 Jul 1993 16:17:07 GMT In article <1993Jul6.225747.1408@gamelan> thf@zelator.in-berlin.de (Thomas Funke) writes: > In article <219lhv$ikv@access.usask.ca> eric@skatter.USask.Ca (Eric > Norum) writes: > > swap space and never let it go -- even after all X processes have > terminated. > > > > For example: > > > > Before running MouseX: > > -rw------t 1 root 16777216 Jul 5 10:17 swapfile > > -rw------t 1 root 2981888 Jul 5 10:17 swapfile.front > > > > After running MouseX: > > -rw------t 1 root 16777216 Jul 5 10:20 swapfile > > -rw------t 1 root 16138240 Jul 5 10:20 swapfile.front > > Your swapfile has indeed the same size, 16777216. swapfile.front is NOT > the real swapfile but just some virtual thing, it actually sums up > swapping activity and does NOT exist on disk. Sorry to interrupt, but I was told, some time ago, that if you didn't have "nocompress" in your swap.tab, you'd get the "swapfile.front" file, wich is a compressed version of swapfile, and thus replaces swapfile. Therefore, in the situation above, "swapfile.front" is actually the working swapfile, while swapfile is "just some virtual thing". Please, do correct me if I'm wrong. Confused. Ciao > -- > ------------------------------------------------------------------ > Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de > > The nice thing about standards is that there are so many of them to > choose from. > -- Andrew S. Tanenbaum -- Nicolas Dore nico@imani.cam.org - - - - - - - - - CAREFUL! POLITICAL COMMENT ZONE!! - - - - - - - - - > "If I can't dance, I don't want to be in your revolution!" < > Emma Goldman (to Vladimir Ilitch Oulianov [Lenin], 1917) <
Newsgroups: comp.infosystems.gopher,comp.sys.next.programmer From: cowboy@hobby.nl (Joe Rosenfeld) Subject: Troubles compiling -DCAPFILES into Gopher+1.2b4 Message-ID: <1993Jul10.173255.14726@news.csuohio.edu> Sender: news@news.csuohio.edu (USENET News System) Organization: Cleveland State University Date: Sat, 10 Jul 1993 17:32:55 GMT I have a neXTStation Turbo running 3.0 on it. I have no troubles compiling the normal gopher+1.2b4 distribution, but am unable to compile the older .cap file capabilities, using the -DCAPFILES define. Here is what I get: cc -O2 -DDATA_DIRECTORY=\"/gopher+data\" -DDOMAIN_NAME=\"\" -DGOPHER_PORT=4444 - DNEXTSEARCH -DWAISSEARCH -DCAPFILES -I../object -I.. -I../ir -I../ui -DCONF_FIL E=\"/usr/local+/etc/gopherd.conf\" -c gopherd.c gopherd.c: In function `GDfromUFS': gopherd.c:1599: `sidename' undeclared (first use this function) gopherd.c:1599: (Each undeclared identifier is reported only once gopherd.c:1599: for each function it appears in.) gopherd.c:1599: warning: assignment of integer from pointer lacks a cast gopherd.c:1602: `Gopherp' undeclared (first use this function) make[1]: *** [gopherd.o] Error 1 make[1]: Leaving directory `/src/gopher+1.2b4/gopherd' make: *** [gopherd/gopherd] Error 1 I would appreciate any assistance in surmounting this obstacle. TIA, Joe -- | Joe Rosenfeld cowboy@trans.csuohio.edu | CSU Law Library j.rosenfeld@csuohio.edu
Newsgroups: comp.sys.next.programmer From: eran@whammo.media.mit.edu (Eran Egozy) Subject: Browsers for editing lists Message-ID: <1993Jul10.185759.22469@news.media.mit.edu> Sender: news@news.media.mit.edu (USENET News System) Organization: MIT Media Laboratory Date: Sat, 10 Jul 1993 18:57:59 GMT Hi. I need a little help bootstrapping. I need to make an editing panel that will read and write lists of fields, e.g., foo.tex | Mike | 24.3 | 22.1 | hello bar.tex | Joe | 43.2 | .02 | ahem I should be able to click on a field, cut copy, and paste entries, or click on a whole line for moving / copying blocks around. Any apps/sources around that do something close to this? Thanks, Eran
Newsgroups: comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: Re: perform: with: afterDelay:cancelPrevious: doesn't work from threads Message-ID: <Jul10.204055.57408@acs.ucalgary.ca> Date: Sat, 10 Jul 1993 20:40:55 GMT References: <1993Jul7.170142.4824@prim> <1993Jul8.113732.321@uunet!cbmvax!xmws!kripalu> Organization: The University of Calgary, Alberta > > It's a pity because I wanted to use this method from a thread > > in order to safely use appkit objects (in this case [window > > setTitle:]). Is there any way round this other than using > > distributed objects? > > > > Dave Griffiths > This method is implemented as part of the main event loop. > Unfortunately AppKit is NOT thread safe. The main thread is > the only place this method will work. You will need to send a > mach message to the main thread, delay, then send one back, or > keep a queue of your own in the run loop of your thread. One more time... there IS any easy way around it. ThreadKit version 0.11 (don't let the low version number or the small size of the kit fool you, it's robust and well tested) lets you send any message you want to the appkit from any thread. In the above example, all you'd have to do is execute the following code from your thread after replacing the Application object with a ThreadedApplication object: [ NXApp lockAppKit ] ; [ myWindow setTitle: "A New Title!" ] ; [ NXApp unlockAppKit ] ; If you've ever wanted to do multi-threaded AppKit programming, please give ThreadKit a try. I'm looking for instant feedback so I can polish it through a few more versions ASAP. The file ThreadKit-0.11.tar.Z on sonata.cc.purdue.edu and cs.orst.edu in /pub/next/submissions contains both a fat library for 3.1 and a thinned library for 3.0. (Sorry for those of you getting tired of the ThreadKit announcements, but it is SUCH a relief to be able to do this stuff. I'm just a little overexcited). -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
From: alex@cs.umd.edu (Alex Blakemore) Newsgroups: comp.sys.next.programmer,comp.sys.next.software Subject: Re: Subclassing Matrix to use different sized cells? Message-ID: <69196@mimsy.umd.edu> Date: 11 Jul 93 03:17:28 GMT References: <1993Jul9.200752.20386@software.org> Sender: news@mimsy.umd.edu Followup-To: comp.sys.next.programmer Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 In article <1993Jul9.200752.20386@software.org> marshall@software.org (Eric Marshall) writes: > Has anyone out there subclassed Matrix to use different > sized cells? I'd appreciate code samples of this :-) Hi Eric, You may wish to check out the free VarMatrix class on sonata: from the README "The VarMatrix class is a subclass of Matrix that allows variable sized columns and rows. However the overall shape of the matrix has to be a rectangle." I think there may be a mini example about this too, but cant remember, -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted -------------------------------------------------------------- "Without an engaged and motivated human being at the keyboard, the computer is just another dumb box." William Raspberry
Newsgroups: comp.sys.next.programmer From: nathan@laplace.csb.yale.edu (Nathan F. Janette) Subject: Re: Dolphin Kit 3.1 FIP Ships July 30! (PR) Message-ID: <1993Jul11.034225.12887@cs.yale.edu> Sender: news@cs.yale.edu (Usenet News) Organization: Yale University, Department of Computer Science, New Haven, CT References: <1993Jul9.212637.2550@dolphin.com> Distribution: usa Date: Sun, 11 Jul 1993 03:42:25 GMT In article <1993Jul9.212637.2550@dolphin.com> Zacharias J. Beckman <zac@dolphin.com> writes: > Press Release Please do not post advertisements to this group. The announce group is working great, thanks to the efforts of Scott Anguish. Announcements are being posted with a 24 hour max turn-around. Use it! Just a reminder: my lab boycotts any vendor that posts advertisements in any group except the announce group. I suspect others do as well, perhaps it's time they pipe up. Sorry to post this flame, private email doesn't always work. -- Nathan "USENET" Janette PPP link from hilbert.csb.yale.edu Please reply to: nathan@laplace.csb.yale.edu (NeXT)
From: ruppert@next1.rz.fh-heilbronn.de (Michael Ruppert) Newsgroups: comp.sys.next.programmer Subject: Oracle: Need Data Access Layer Help !!! Date: 9 Jul 1993 13:47:34 GMT Organization: FH Heilbronn (Rechenzentrum) News Message-ID: <21jstm$h1f@risc1.rz.fh-heilbronn.de> Help please!! Are there some more Oracel Database Kid demos on the net. Or has somebody an Oracle Demo that uses the Data Access Layer. I tried the "normal" Oracle Demo. But it does not give me anything, because it is only High Level. What I am looking for is an demo that shows how to search .... with low level routines. Thanks In deepest awaiting and hope on any answer Michael Ruppert
From: thor@sushi.uib.no Newsgroups: comp.dcom.modems,comp.sys.next.sysadmin,comp.sys.next.programmer,comp.sys.next.hardware Subject: Registering CallerID on a ZyXEL with NXFax??? Message-ID: <1993Jul11.171341.24992@alf.uib.no> Date: 11 Jul 93 17:13:41 GMT Sender: usenet@alf.uib.no (Bergen University Newsaccount) Organization: University of Bergen, Norway Hi. I have a ZyXEL U1496E and NXFax, and wondered about a few things. NXFax currently does not support Caller ID function of the ZyXEL, but I would like to register which numbers have called my modem. The standard NXFax log gives only information for calls which are successful (i.e. it gets the fax number of the calling machine from the remote machine). I don't have an answering machine (I have am, but too bad it doesn't work with NXFax :-( but registering the Caller ID would be almost as useful for me. Additionally, I suspect (my paranoia :-) someone has been calling the machine trying to log in... I know, I could just turn off data calls, but I use it, and I would like to catch this individual, if it is really happening. Below is the `standard' NXFax log. How hard would it be to write a script or daemon that went to the modem and got the caller ID info after such an entry was logged, and logged it in a file? For a non-programmer... I know the modem command AT*T returns the last Caller ID. Could a small script watch over the ZyXEL log, and upon seeing the `ring 3' string (maybe `call complete' would be more appropriate) wait some seconds, establish a connection with the modem, issue AT*T and save the resulting string into a file with a date/timestamp? Would it maybe be better to find some way to log the Caller ID info directly from the modem/program while NXFax is answering/looking for a remote fax? As a non-programmer, I assume that the above is certainly perhaps the most difficult way to accomplish what I want, so if anyone (who knows what they are talking about :-) has any suggestions or tips, I would welcome them. BTW - NXFax is an incredible program - I am 100% pleased with their product, service, and support! %> NXFax: ZyXEL modem %> NXFax: U1496E V 6.01 M %> NXFax: wait for incoming call %> NXFax: activity on port Tue Jun 22 15:30:17 1993 ----------NXFax Driver Version 1.03a---------- %> NXFax: Tue Jun 22 15:30:19 1993 %> NXFax: incoming call %> NXFax: wait for connect %> NXFax: ring 2 %> NXFax: ring 3 %> NXFax: carrier not found on line %> NXFax: call complete --------------------------------------------- Regards, -- Thor Legvold | "This is the strangest life NorNeXT User Group leader | I've ever known..." University of Bergen | -Jim Morrison, The Doors NORWAY | edmtl@edb.uib.no
From: iwelch@agsm.ucla.edu (Ivo Welch) Newsgroups: comp.sys.next.programmer Subject: Re: C++ Library --- SUMMARY Date: 11 Jul 1993 21:01:21 GMT Organization: UCLA, Anderson Graduate School Of Management Message-ID: <21pv31$e0k@news.mic.ucla.edu> Thanks for everyone who responded. The general consensus was that it is worthwhile (simple) to install the latest version of gcc (2.4.5). I used as my configure: configure i386-next and it "just worked." Most important, NeXT's latest version of gdb works with output files generated by 2.4.5. With gcc 2.4.5 installed, the latest incarnation of libg++ was installable. With the same configure, the installation worked---almost. There was one compile problem. Magnus Nordborg gave the nicest explanation of how to work around it, and it follows this message. Subsequent installation of other software (e.g., oleo) revealed some odd problems with the dir.h and dirent.h files, but nothing that was not solved by handcoded include statements. So, in general, I now seem to have the latest gnu compiler+libraries on my NS-FIP, even though I am everything but a gnu/compiler guru. Thanks, FSF. [Yet, I am wondering exactly what the newer release of gcc took from NeXT's header files. I believe the gnu installation does not touch anything in NeXT's directories, but sets up everything under /usr/local/lib (even the include files). So, if I ever need to try the original version, I just have to rename /usr/local to /usr/unlocal temporarily). Anybody know more about this?] /ivo welch
Newsgroups: comp.sys.next.programmer From: cooldude@amy12.Stanford.EDU (Imran Qureshi) Subject: Get list of objects from [NXApp loadNib:] Message-ID: <1993Jul11.215044.18887@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: DSO, Stanford University Date: Sun, 11 Jul 93 21:50:44 GMT Hi all, I'm reading a nib file using [NXApp loadNib:] Is it possible to get a list of the objects the nib file contained. For example if the nib file contained a window and an object called MyObject, I could get a list containing pointers to these two objects. Thanx, Ciao, imran
Newsgroups: comp.sys.next.programmer,comp.sys.next.hardware From: Jim_Brownfield@radical.com (Jim Brownfield) Subject: How do you set two stop bits on a serial port? Message-ID: <1993Jul11.212340.314@Radical.Com> Sender: jbrow@Radical.Com Organization: Radical System Solutions, Inc. Date: Sun, 11 Jul 1993 21:23:40 GMT This is probably a really stupid question (at least I hope it is), but I haven't been able to find a solution. How can you set a serial port on NS/FIP for two stop bits (CSTOPB in POSIX/System 7)? There are POSIX calls to do it (tcsetattr), but there is no way to build a POSIX application in 3.1 (at least according to the release notes, and I can't find a library with this call - also, there doesn't seem to be a way to set stop bits in 3.1's expanded ioctl's). The device I'm talking to has no adjustments and requires 8 bits/two stop bits (so there's no faking it with 7 bits and a bogus 8th bit). I can't believe there wouldn't be a way to set this, but I can't find it. And I don't mind feeling really stupid when someone points out the obvious answer :-). Thanks, in advance, for your help. -- Jim Brownfield (Jim_Brownfield@Radical.Com) NeXTmail accepted Radical System Solutions, Inc. rad i cal \'rad-i-kel\ n -- a basic principle: FOUNDATION
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: brill@sybase.com (Michael Brill) Subject: Re: Sybase libraries - Sybase server incompatibities in 3.1 Message-ID: <CA0qrG.8Bz@sybase.com> Keywords: Sybase, 3.1 Sender: usenet@sybase.com Organization: Sybase, Inc. References: <2127gtINNova@darkstar.UCSC.EDU> <21hgiuINNrae@darkstar.UCSC.EDU> Date: Sun, 11 Jul 1993 21:09:16 GMT isbell@cats.ucsc.edu (Art Isbell) writes: >However, the bottom line remains: the 3.1 Sybase adaptor cannot be reliably >used with Sybase 4.0 database servers in our experience. Don't just assume that the problems are between the 3.1 adaptor and SQL Server 4.0... I've run into a number of these problems (and more) using the adaptor with 4.9.x of SQL Server. It seems that very few people have actually reported bugs with DBKit in 3.1 - this is not a good thing as there are bugs. Since not many folks are actually going to put out production apps in 3.1, it's not such a bad thing. If DBKit is as buggy in 3.2, I'd imagine that quite a few people will be honing up their NT development skills :(. So, in support of Art's posting, if you do DBKit-based development, please do some testing with DBKit in 3.1 and report bugs to bug_next@next.com - either that or bone up on your DBLib skills! ...Michael
Newsgroups: comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: ThreadKit 0.5 Message-ID: <Jul12.002505.50180@acs.ucalgary.ca> Date: Mon, 12 Jul 1993 00:25:05 GMT Distribution: na Organization: The University of Calgary, Alberta To start with: My apologies for being so enthusiastic about my pet project. I just can't leave this puppy alone. After another weekend of tuning and extending, ThreadKit 0.5.tar.Z is now on cs.orst.edu and sonata.cc.purdue.edu in the /pub/next/submissions directory. If you've ever tried to do multithreaded programming on the NeXT, you know what a pain it can be. ThreadKit to the rescue! --- *** Preliminary ThreadKit Release Notes *** The ThreadKit consists of four classes and a category: * TKApplication The core of the kit, it adds mechanisms necessary to allow threads to access non-thread safe (eg: AppKit user interface) objects with impunity. Any thread that needs to access an object that wasn't originally designed with thread-safety in mind can do so by locking the entire appkit thread through the "threadLock" method. When done with processing, the thread can be unlocked via the "threadUnlock" method. * TKThread A mechanism for spawning autonomous threads, sending an "initFor:perform:" message to a newly created ThreadedMessage spawns another thread and sends the specified message to the specified object. * TKObject A subclass of Object that provides an inherent locking mechanism. Sending the "threadLock" and "threadUnlock" messages surrounding any atomic actions performed on the object will keep things rolling smoothly... * TKResource A subclass of TKObject that manages named resources * Object(ThreadLocking) A category of object that extends TKObject's locking semantics to all objects --- This version of the ThreadKit is an early step in trying to make multithreaded NeXTSTEP programming a little less arcane. It is intended to be released as a commercial product at a very reasonable price when complete. This early version expires July 31. Two simple examples included demonstrate ThreadKit use, more to come... --- If you haven't already unpacked the ThreadKit, do so now with the following commands, where <ParentDirectory> is the directory containing the ThreadKit-0.5.tar.Z file: 1. Type cd <ParentDirectory> 2. Type gnutar -xzf ThreadKit-0.5.tar.Z Now install the ThreadKit files into the appropriate places with these commands, where <ParentDirectory> is the directory containing the ThreadKit directory: 1. Log in as (or su to) root 2. Type cd <ParentDirectory>/ThreadKit 3. Type ./install This installs the actual ThreadKit files in /LocalDeveloper/Headers/threadkit, /LocalDeveloper/Libraries and /LocalDeveloper/Documentation/ThreadKit. Sybolic links are created from /LocalDeveloper/Headers (to overcome a limitation in ProjectBuilder) and /usr/local/lib (to allow the linker to find the kit). --- Planned future changes - Fewer API changes to existing classes (Apologies to early adopters) - Proper .pkg installation process - More examples - A mechanism for locking ALL threads to ensure integrity of REALLY dangerous actions (eg: dynamic linking of new classes) - Implementation of bright suggestions from the Internet community! Changes in 0.5: - WARNING: The size of the TKApplication and TKObject classes has changed, any subclasses need to be recompiled - WARNING: For consistency between the growing number of ThreadKit classes and a desire to avoid naming conflicts, all locking and unlocking methods have been renamed "threadLock" and "threadUnlock" respectively - WARNING: For consistency with AppKit methods, the TKThread method "initFor:performing:" has been renamed "initFor:perform:" - Trying to lock the appkit from the main thread is now harmless - Added locking semantics to ALL objects through the Object(ThreadLocking) category - Added named resource locking via the TKResource class - The "tryThreadLock" method has been added to all classes in order to attempt locking with non-blocking semantics Changes in 0.2: - Class names changed to shorten names and prefix all ThreadKit classes with "TK" - More robust error checking (now only the thread that locked the AppKit can unlock it!) - Threads are discarded properly when finished - Nested locking of TKApplication is now supported - Real documentation written & included - The Objective-C runtime is now made thread-safe only when more than one thread is running - Changes to the "SortingInAction" example code to use the ThreadKit are supplied. See ThreadKit/Samples/SortingInAction/README for details - Beta period extended to July 31 Changes in 0.11: - Now supplied in single-architecture as well as multi-architecture form for those running 3.0 --- Feel free to write with comments, suggestions, criticisms. Whatever. Blake Stone 219 Edgevalley Mews N.W. Calgary, Alberta, Canada T3A-5E5 bstone@acs.ucalgary.ca -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
From: jfosback@darmok.uoregon.edu (Jason Fosback) Newsgroups: comp.sys.next.programmer Subject: NS/FIP device driver examples? Date: 12 Jul 1993 06:12:52 GMT Organization: University of Oregon Network Services Message-ID: <21qvd5$ot5@pith.uoregon.edu> Does anyone have any example code for a NS/FIP device driver? I'm interested in writing a video driver as well as a hard disk driver. Could someone please send me (via NeXTmail) an example, or could you point me to an FTP site? Thanks! -jason _________________________________________________________________ Jason Fosback, User Support Analyst | No sir, I didn't like it ---- University of Oregon ---- | -R&S Internet: jfosback@oregon.uoregon.edu | Star Trek: NeXT mail: jfosback@darmok.uoregon.edu | The NeXT Generation...
From: kline@CS.Arizona.EDU (Nick Kline) Newsgroups: comp.sys.next.programmer,comp.dcom.modems,comp.unix.bsd,comp.unix.programmer Subject: exit pgm w/o hanging up phone Followup-To: comp.sys.next.programmer Date: 12 Jul 1993 00:31:45 -0700 Organization: University of Arizona CS Department, Tucson AZ Message-ID: <21r411$2dj@cheltenham.cs.arizona.edu> I am wondering how my program can keep from hanging up the modem after it exits. I have a NeXT 040 cube running os release 3.0. I have a zyxel modem. For those in other newsgroups, this runs a bsd 4.3 / mach 2.x combo. If there is a way to do this in bsd, then it should work here. Looking at the man pages and the ioctl header file (joy joy), I have found 3 suggestive calls: #define TIOCHPCL _IO('t',2) /* hang up on last close */ #define TIOCEXCL _IO('t',13) /* set exclusive use of tty */ #define TIOCNXCL _IO('t',14) /* reset exclusive use of tty */ So, there doesn't seem to be an opposing call to TIOCHPCL which would not hangup on last close. If I leave all 3 of these out of the open, then it hanges up when I close. If I put the exclusive use of tty in there it still hangs up. I think I have used as least one program on the next which didn't hang up after it died. Mail me or post and I will summerize. thanks, nick kline kline@cs.arizona.edu
From: kline@CS.Arizona.EDU (Nick Kline) Newsgroups: comp.sys.next.programmer Subject: Re: perform: with:afterDelay:cancelPrevious: doesn't work from threads Date: 12 Jul 1993 00:40:01 -0700 Organization: University of Arizona CS Department, Tucson AZ Message-ID: <21r4gh$2i2@cheltenham.cs.arizona.edu> References: <1993Jul7.170142.4824@prim> <1993Jul8.113732.321@uunet!cbmvax!xmws!kripalu> In article <1993Jul8.113732.321@uunet!cbmvax!xmws!kripalu> harit@kripalu.com writes: >This method is implemented as part of the main event loop. >Unfortunately AppKit is NOT thread safe. The main thread is the only >place this method will work. You will need to send a mach message to >the main thread, delay, then send one back, or keep a queue of your >own in the run loop of your thread. > I know that it is not safe to call the appkit from threads. I am aware of the (most certainly) wonderful pgm that makes writing to the appkit threadsafe. What what about DPSAddTimedEntry? This add's a C function that is called periodically. The docs seem to suggest that this is between event servicing, thus it is safe to call the appkit here. Also, DPSAddFD is the same way. it seems to be threadsafe, in that it's okay to call things from here which call the appkit. any comments? thanks, nick
From: ruppert@sun1.rz.fh-heilbronn.de (ruppert) Newsgroups: comp.sys.next.programmer Subject: once more Oracle: Need Data Access Layer Help !!! Date: 12 Jul 1993 08:41:41 GMT Organization: Fachhochschule Heilbronn Distribution: world Message-ID: <21r845$d6g@risc1.rz.fh-heilbronn.de> References: <21jstm$h1f@risc1.rz.fh-heilbronn.de> Help please!! Are there some more Oracel Database Kid demos on the net. Or has somebody an Oracle Demo that uses the Data Access Layer. I tried the "normal" Oracle Demo. But it does not give me anything, because it is only High Level. What I am looking for is an demo that shows how to search .... with low level routines. Thanks In deepest awaiting and hope on any answer Michael Ruppert
Newsgroups: comp.sys.next.programmer From: agabagli@iiic.ethz.ch (Adriano Gabaglio) Subject: Command/Alternate Key pressed? Message-ID: <1993Jul12.094038.5996@neptune.inf.ethz.ch> Originator: agabagli@a12 Sender: news@neptune.inf.ethz.ch (Mr News) Organization: Dept. Informatik, Swiss Federal Institute of Technology (ETH) Date: Mon, 12 Jul 1993 09:40:38 GMT Is there an easy way to detect if a Command or Alternate key is currently pressed (like PSbuttondown for the left mouse button)? -- -- Adriano Gabaglio, Brunnmattstr. 22a, CH-6010 Kriens, Switzerland e-mail: agabagli@iiic.ethz.ch, adriano@nice.usergroup.ethz.ch (NeXTmail)
Newsgroups: comp.sys.next.programmer From: cdb@codex.com.au (Cameron Bromley) Subject: Terminating an app after n minutes of inactivity Message-ID: <1993Jul12.091222.22667@codex.oz.au> Sender: cdb@codex.oz.au Organization: Codex Software Development Pty Ltd Date: Mon, 12 Jul 93 09:12:22 GMT Hi, I need to terminate my app if there has been no activity (mouse clicks, key clicks) for 10 minutes. My first stab at this involved setting up a timed entry which then called peekNextEvent. Basically, the following method gets called once per minute by a timed entry. If the peekNextEvent method returns NULL, we have waited for an event for the defined timeout period, so it's time to signal the appropriate handler via target/action. - doTimedEntry { NXEvent dummyEvent; if ([NXApp peekNextEvent:[self eventMask] into:&dummyEvent waitFor:[self timeout] threshold:NX_BASETHRESHOLD] == NULL) { // we timed out! [NXApp sendAction:[self action] to:[self target] from:self]; } return self; } This works - sort of. It does everything I need, but there are two problems. One, calling peekNeXTEvent chews a lot of CPU (evident using a CPU monitor such as TimeMon). The other problem is that the system changes over to the wait cursor while peekNextEvent is waiting. This can confuse users who have not used the app for more than a minute, but go to do something before the timeout period has finished. So, has anybody done this sort of thing? I have though of subclassing Application and over-riding getNeXTEvent, etc, but I can see ugliness down that path. The other possibility is setting up a separate thread to call peekNeXTEvent and signalling the main thread, but there are app-kit multi-thread issues here (or are there?) Anybody have any advice? Thanks, Cameron. -- --------------------------------------------------------------- Cameron Bromley Internet: cdb@codex.com.au Codex Software Development Pty. Ltd. Fax +61-3-696-6757 PO Box 293, Albert Park, VIC, 3206 Australia
From: lisag@ac.dal.ca Newsgroups: comp.sys.next.programmer Subject: HDF FILE..numbertypes and SD's Message-ID: <1993Jul12.100812.14924@ac.dal.ca> Date: 12 Jul 93 13:08:12 GMT Organization: Dalhousie University, Halifax, Nova Scotia, Canada HI.... I have a problem. I'm designing a program that involves displaying , manipulating and handling HDF data..BUT I was wondering if anyone has any suggestions on how to deal with the 8 different number types for scientific data types. Right now I have to used 8 case statements to determine the data type when I want to do something with the data..This route is proving to be very long...and wasteful. Any ideas would be appreciated... THANKS Anthony Grandy Lisag@ac.dal.ca (VAX)...sorry ..no next mail
Newsgroups: comp.sys.next.programmer From: dwboyce@acsu.buffalo.edu (Doug Boyce) Subject: AppKit and NeXT stdio questions Message-ID: <CA218u.Bp2@acsu.buffalo.edu> Sender: nntp@acsu.buffalo.edu Organization: University at Buffalo Date: Mon, 12 Jul 1993 13:53:17 GMT 1) When doing a long computation in a 1 thread/task app is it possible to have the appkit dispatch the next event(mainly mousedown: on buttons)? Or is the only way to grab events periodically to see if there was a mousedown: on my button? (I'd rather not convert this into a multi-threaded app) 2) What new standard required that fputs not append a newline to the output stream(3.1)? -- Doug Boyce dwboyce@acsu.buffalo.edu
Newsgroups: comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: Re: perform: with: afterDelay:cancelPrevious: doesn't work from threads Message-ID: <Jul12.142030.48125@acs.ucalgary.ca> Date: Mon, 12 Jul 1993 14:20:30 GMT Distribution: na References: <1993Jul7.170142.4824@prim> <1993Jul8.113732.321@uunet!cbmvax!xmws!kripalu> <21r4gh$2i2@cheltenham.cs.arizona.edu> Organization: The University of Calgary, Alberta > I know that it is not safe to call the appkit from threads. > > I am aware of the (most certainly) wonderful pgm that makes > writing to the appkit threadsafe. > > What what about DPSAddTimedEntry? It works just fine... subject to limitations (see below). > This add's a C function that is called periodically. The docs > seem to suggest that this is between event servicing, thus it > is safe to call the appkit here. Yes. Note that your application is on hold and won't respond to user events until you are finished processing the timed entry. It works well for non-time critical code that doesn't take long to execute, but it doesn't solve the problem normally approached by multi-threaded applications. > Also, DPSAddFD is the same way. it seems to be threadsafe, in > that it's okay to call things from here which call the appkit. Watch out for your definition of "threadsafe". Yes, you can do things in your handling routine with the appkit... but again, they don't run concurrently with the rest of your application. If by calling it thread-safe, you mean that you would like to call DPSAddFD or DPSAddTimedEntry from within a thread... Watch out! The AppKit just plain isn't thread-safe! This will at worst be disasterous, and at best result in a file handling / timed entry that interrupts your MAIN thread between events, not the thread that called the routine. -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
Message-ID: <2q$@byu.edu> Date: Mon, 12 Jul 93 08:52:50 MDT From: yackd@idaho.et.byu.edu (Don Yacktman) Newsgroups: comp.sys.next.programmer Distribution: world References: <1993Jul7.170142.4824@prim> <1993Jul8.113732.321@uunet!cbmvax!xmws!kripalu> <21r4gh$2i2@cheltenham.cs.arizona.edu> Organization: Brigham Young University, Provo UT USA Subject: Re: perform: with:afterDelay:cancelPrevious: doesn't work from threads In article <21r4gh$2i2@cheltenham.cs.arizona.edu>, kline@CS.Arizona.EDU (Nick Kline) writes: >I know that it is not safe to call the appkit from threads. > >I am aware of the (most certainly) wonderful pgm that makes writing to the >appkit threadsafe. > >What what about DPSAddTimedEntry? > >This add's a C function that is called periodically. The docs seem to >suggest that this is between event servicing, thus it is safe to call the >appkit here. Actually, I think it generates an event which then causes the function to be called. (Empirical observation from experience would support this notion; a loaded event queue can delay these guys...) >Also, DPSAddFD is the same way. it seems to be threadsafe, in that it's >okay to call things from here which call the appkit. > >any comments? Sure, these all work as an alternative to threads. They are not separate threads, however. The true benefit of multiple threads is seen on a multi- processor system. On an MP, the threads can be run on different CPUs, thus improving the throughput of your code. The methods you suggest are much simpler and do not require locking because they are all in the same thread and therefore are synchronized by definition. But on an MP, by virtue of all being in the same thread, they won't allow for concurrency that might otherwise be exploited. Of course, until you can get NS for MP machines, this is a much simpler way to write your code. If you want to plan for the future, though, take the dive into threads... (Of course, I'd hope to see finer grained parallelism, too, sommeday...but threads are a reasonable tradeoff at this point for some applications.) I'm sure there's plenty more that could (and will) be said about this... Later, Don_Yacktman@byu.edu -- Don_Yacktman@byu.edu Nepotism is a relative thing.
Newsgroups: comp.sys.next.programmer From: greg@afs.com (Gregory H. Anderson) Subject: Re: Command/Alternate Key pressed? Message-ID: <1993Jul12.143524.4091@afs.com> Sender: greg@afs.com References: <1993Jul12.094038.5996@neptune.inf.ethz.ch> Date: Mon, 12 Jul 1993 14:35:24 GMT In article <1993Jul12.094038.5996@neptune.inf.ethz.ch> agabagli@iiic.ethz.ch (Adriano Gabaglio) writes: > Is there an easy way to detect if a Command or Alternate key is > currently pressed (like PSbuttondown for the left mouse button)? ([NXApp currentEvent]->flags & CONSTANT_FOR_DESIRED_KEY) See the dpsclient/event.h include file for full details on constants. -- Gregory H. Anderson | "If you've got eyes to rhythmatize Composer-in-Residence | Bring your flat hat and your ax Anderson Financial Systems | 'Cause tonight at 10 we'll be workin' again" greg@afs.com (NeXTmail OK) | -- Donald Fagen, "Teahouse on the Tracks"
Newsgroups: comp.sys.next.programmer From: bsz@ubszh.net.ch(Binding Carl ) Subject: Re: HELP PLEASE ! Distr. Objects Message-ID: <CA236v.46x@ubszh.net.ch> Sender: usenet@ubszh.net.ch (news) Organization: Union Bank of Switzerland References: <1993Jul8.162456.2866@wuecl.wustl.edu> Date: Mon, 12 Jul 1993 14:35:19 GMT In article <1993Jul8.162456.2866@wuecl.wustl.edu> gr1@cec1.wustl.edu (Gopalakrishna Raman) writes: > > Hi, > Consider a client that gets a proxy to a server object using > server = [NXConnection connectToName:] > and sends its own `self' id to the server object in a subsequent message. > > Question :CAN THE SERVER NOW CALL METHODS IN THE CLIENT ANY TIME ? > > My experiments suggest that it is not possible. This > is extremely restrictive. The only time that the server can > invoke client methods seems to be when the client is awaiting > a reply to a method that it has invoked on the server. > > I tried running the client's connection to the `server' object > as [[server connectionForProxy] run] but when the server > calls a client method it prints the message : > "[NXConnection run] - tossing reply message" > and continues to wait for the method to return. > > PLEASE HELP & I SHALL POST A SUMMARY OF REPLIES. Make sure that the client too is "running" the connection it establishes to the server. If you're interested I can send you sample code of a tick program in which a ticker (the server) sends ticks invocations to the client. (I do admit, it took me a days worth of hacking to get the set up straight...) Regards, CArl -- Carl Binding LHIS/LHDD-BSZ Union Bank of Switzerland Flurstrasse 68 CH-8048 Zurich Switzerland
From: theharv@csld (Brian Harvey) Newsgroups: comp.sys.next.programmer Subject: browser problems Message-ID: <33955@galaxy.ucr.edu> Date: 12 Jul 93 16:04:51 GMT Sender: news@galaxy.ucr.edu Distribution: usa I'm having a problem. I have a browser and each item in the browser has a tag that I set. I want to get the tag of a selected browser item but I can't seem to. Here's the statement I tried to use to get it: [[[sender matrixInColumn:0] selectedCell] tag]; This ALWAYS returns -1 (I looked it up in Librarian and it says it's supposed to). Is there another way I can get the tag value of a selected item in a browser? Any help would be greatly appreciated! --- Brian Harvey * theharv@csld.ucr.edu University of California, Riverside * brian@cs.ucr.edu UOB 221 Ext. 2842 * theharv@watserv.ucr.edu C.S.L.D. System Administrator (NeXT Mail preferred everywhere!) Systems Group - College of Engineering -----------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: thf@zelator.in-berlin.de (Thomas Funke) Subject: Re: I am writing a class browser (codebuilder) but need some help.... Message-ID: <1993Jul11.150057.6617@gamelan> Sender: thomas@gamelan (thomas) Organization: Disorganization References: <GBOL.93Jul8121300@nos40nm.shell.com> Date: Sun, 11 Jul 1993 15:00:57 GMT In article <GBOL.93Jul8121300@nos40nm.shell.com> gbol@nos40nm.shell.com (Gregory B. Lampshire) writes: > > > I am in the midst of writing a class browser similar > to Smalltalk's class browser but I am in need of some help. > > I am mostly done with the code for a rough interface > and classes for managing the code hierarchy. I need > a function which can parse objc interface files. I have > looked into the parser with gcc but simply don't have time > to delve into it (I am getting severenced from my company > soon). > > Can anybody supply me with a function that can parse > objc interface files and return lists of strings that > I can then use to insert that interface into my class browser? > Eventually, I am after something which can chop up an > implementation file... > Get a book about 'yacc' (yet another compiler-compiler). If you have some knowledge about context free grammars, you task should be done in one day or so. -- ------------------------------------------------------------------ Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de Talk sense to a fool and he calls you foolish. -- Euripides ------------------------------------------------------------------
From: amunoz Newsgroups: comp.sys.next.programmer Subject: How i could access a config file for my app??? Date: 12 Jul 1993 08:56:34 -0600 Organization: ITESM, Campus Monterrey Sender: root@mtecv2.mty.itesm.mx Distribution: alt Message-ID: <21ru32$18qh@mtecv2.mty.itesm.mx> i'm working with an application that needs to read a config file when it starts. The problem is that i don't know where to put this file, because i try putting it in my Library folder and it doesn't work, i move it to my Apps folder and it does not work neither. what can i do? i need to put it in some special place, it is important because it suposses that it should run from the dock. thanks for any help. =-AML-=
From: grant@Manticore.COM (Grant J. Munsey) Newsgroups: comp.sys.next.programmer Subject: Adobe Acrobat files? Message-ID: <386@gouche.UUCP> Date: 12 Jul 93 16:51:36 GMT Sender: grant@gouche.UUCP Anyone have any Adobe Acrobat files out there that I could get a copy of? Thanks, ---- Grant Munsey, Mainticore, Inc., (408)252-1135, fax: (408)446-9355 grant@manticore.com or uunet!ub-gate!gouche!grant
From: hacker@access.digex.net (Dark Hacker) Newsgroups: comp.sys.next.programmer Subject: Thanks for your responses (but I have another question) Date: 12 Jul 1993 13:20:35 -0400 Organization: Express Access Online Communications, Greenbelt, MD USA Message-ID: <21s6h3$hui@access.digex.net> Thanks for your responses to my questions! I have just one more though. It's a quicky... I want to open a file from my NeXT app. Should I just use good old C open() or should I use some kind of NeXT thing? I've found openFile however this method doesn't seem to do what I want and returns no "file descriptor" or object that I can use to access data in the file. So how does one iterate through files in a folder and open each file up automagically? - Hacker -- Dark Hacker @ Black Silicon, Fortress Of Computation hacker@black-silicon.mclean.va.us "Life itself is... COMPUTATION!"
Newsgroups: comp.sys.next.programmer From: harit@kripalu.com Subject: Re: Terminating an app after n minutes of inactivity Message-ID: <1993Jul12.135710.827@uunet!cbmvax!xmws!kripalu> Sender: harit@uunet!cbmvax!xmws!kripalu Organization: Kripalu Center References: <1993Jul12.091222.22667@codex.oz.au> Date: Mon, 12 Jul 93 13:57:10 GMT In article <1993Jul12.091222.22667@codex.oz.au> cdb@codex.com.au (Cameron Bromley) writes: > Hi, > > I need to terminate my app if there has been no activity (mouse clicks, key > clicks) for 10 minutes. > > My first stab at this involved setting up a timed entry which then called > peekNextEvent. Basically, the following method gets called once per minute by > a timed entry. If the peekNextEvent method returns NULL, we have waited for an > event for the defined timeout period, so it's time to signal the appropriate > handler via target/action. > > - doTimedEntry > { > NXEvent dummyEvent; > > if ([NXApp peekNextEvent:[self eventMask] into:&dummyEvent > waitFor:[self timeout] threshold:NX_BASETHRESHOLD] == NULL) > { > // we timed out! > [NXApp sendAction:[self action] to:[self target] from:self]; > } > > return self; > } > > This works - sort of. It does everything I need, but there are two problems. > One, calling peekNeXTEvent chews a lot of CPU (evident using a CPU monitor such > as TimeMon). The other problem is that the system changes over to the wait > cursor while peekNextEvent is waiting. This can confuse users who have not > used the app for more than a minute, but go to do something before the timeout > period has finished. > > > So, has anybody done this sort of thing? I have though of subclassing > Application and over-riding getNeXTEvent, etc, but I can see ugliness down that > path. > > The other possibility is setting up a separate thread to call peekNeXTEvent and > signalling the main thread, but there are app-kit multi-thread issues here (or > are there?) > > Anybody have any advice? > > Thanks, > > Cameron. > > -- > --------------------------------------------------------------- > Cameron Bromley Internet: cdb@codex.com.au > Codex Software Development Pty. Ltd. Fax +61-3-696-6757 > PO Box 293, Albert Park, VIC, 3206 Australia What I would do is: [NXApp perform: terminate with: nil afterDelay: timeout cancelPrevious: YES] at the start of each event processing method or in your peek loop. -- Michael Allen Latta Kripalu Center harit@kripalu.com (413)448-3288
Newsgroups: comp.sys.next.programmer From: drew@fnbc.com (Drew Davidson) Subject: Re: Terminating an app after n minutes of inactivity Message-ID: <1993Jul12.161241.18610@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA References: <1993Jul12.091222.22667@codex.oz.au> Date: Mon, 12 Jul 93 16:12:41 GMT In article <1993Jul12.091222.22667@codex.oz.au> cdb@codex.com.au (Cameron Bromley) writes: > Hi, > > I need to terminate my app if there has been no activity (mouse clicks, key > clicks) for 10 minutes. [munch] One way to count the events and check them for "interesting" things is to put your own event filter into the chain of command: /* * Somewhere in my code... */ - (int)eventFilter:(NXEvent *)anEvent { if (anEvent->type == NX_MOUSEDOWN) mousedowns++; return(1); } static id eventFilterObject = nil; /* * Return 1 if all is well and you want the event to continue to * be processed else 0 */ int eventFilter(NXEvent *anEvent) { if (!eventFilterObject) return(1); return([eventFilterObject eventFilter:anEvent]); } /* * Start filtering events... */ void *ptr; /* Set event filter to self */ eventFilterObject = self; ptr = DPSSetEventFunc([NXApp context],(DPSEventFilterFunc)eventFilter); /* * Do some modal processing...chugga-chugga-chugga */ /* Reset event filter to old value */ DPSSetEventFunc([NXApp context],ptr); Of course, you might want to do the setup in appDidInit: or somesuch and dispense with the reset step. > -- > --------------------------------------------------------------- > Cameron Bromley Internet: cdb@codex.com.au > Codex Software Development Pty. Ltd. Fax +61-3-696-6757 > PO Box 293, Albert Park, VIC, 3206 Australia -- +--------------------------------+-------------------------------------------+ | Drew Davidson | "Never ask a programmer if he'll have | | Software Guy | another cup of coffee because it's | | First National Bank of Chicago | nobody's damn business how much he's | | drew@fnbc.com (NeXTmail) | already had!" - me | +--------------------------------+-------------------------------------------+
From: apl@doc.ic.ac.uk (Ari P Laakkonen) Newsgroups: comp.sys.next.programmer Subject: Re: NS/FIP device driver examples? Date: 12 Jul 1993 17:34:09 GMT Organization: Department of Computing, Imperial College, University of London, UK. Distribution: world Message-ID: <21s7ahINN9aj@frigate.doc.ic.ac.uk> References: <21qvd5$ot5@pith.uoregon.edu> Originator: apl@santos.doc.ic.ac.uk In article <21qvd5$ot5@pith.uoregon.edu>, jfosback@darmok.uoregon.edu (Jason Fosback) writes: |> Does anyone have any example code for a NS/FIP device driver? I'm |> interested in writing a video driver as well as a hard disk driver. |> Could someone please send me (via NeXTmail) an example, or could you |> point me to an FTP site? |> |> Thanks! |> |> -jason |> _________________________________________________________________ |> Jason Fosback, User Support Analyst | No sir, I didn't like it |> ---- University of Oregon ---- | -R&S |> Internet: jfosback@oregon.uoregon.edu | Star Trek: |> NeXT mail: jfosback@darmok.uoregon.edu | The NeXT Generation... |> I too am interested in these. The only "sources" that I've been able to get so far are those achieved with the traditional documenting tool, "otool". I.e. disassembly. So far everyone at next seems to have been very helpful without actually imparting any hard information. Plea: If anyone discovers how a window server request to write a pixel on the screen is translated to a segmented video device driver function call, I'd be very happy if they could kindly tell me. There are some updated docs on the nextanswers system, but they don't cover this aspect of the system, or other questions that crop up. It's hard to search for this info for weeks without getting slightly cynical about the whole system, so please excuse me if I try hard not to flame anything. Ari
Newsgroups: comp.sys.next.programmer From: esky@marathon.cs.ucla.edu (Eskandar Ensafi) Subject: How can I manually initiate the WAIT CURSOR? Message-ID: <1993Jul12.170552.1367@cs.ucla.edu> Sender: usenet@cs.ucla.edu (Mr Usenet) Organization: UCLA CS Department, Los Angeles, CA Date: Mon, 12 Jul 93 17:05:52 GMT Hello, I need to display the wait cursor under situations where the system does NOT automatically do it for me (i.e., when waiting for output from a UNIX subprocess, etc...). How can I do it? I tried DPSStartWaitCursorTimer but it didn't work! What is the proper way to start the wait cursor, have the program finish a certain operation before accepting any further input from the user, and finallystop the wait cursor and return control to the user? Thanks! (e-mail preferred) - Eskandar -- "Dance with the dead in my dreams Listen to their hollowed screams The dead have taken my soul Temptation's lsot all control" (Dead Skin Mask) - Slayer
From: fahller@harmac.ppc.ubc.ca (Bjorn Fahller) Newsgroups: comp.sys.next.programmer Subject: loading an IB palette? Date: 12 Jul 1993 19:23:58 GMT Organization: The University of British Columbia Message-ID: <21sdoeINNe1k@iskut.ucs.ubc.ca> Just me again, I want to load an Interface Builder palette into my application. Can I use NXBundle for that (dox doesn't say I can, nor that I can't), or must I decipher the palette.table file in the .palette directory myself and use low level functions from there on? _ /Bjorn. -- UBC Pulp & Paper Centre 4549 W. 11th Street A Swede in 2385 East Mall Vancouver, B.C. temporary Vancouver, B.C. Canada V6R 2M5 exile. Canada V6T 1Z4 Tel: +1 604/822-8567 Tel: +1 604/222-4952
Newsgroups: comp.sys.next.programmer From: ploeger@aplki.toppoint.de (Andreas Ploeger) Subject: gdb: avoiding symbols from shared libraries Message-ID: <1993Jul12.112115.652@aplki.toppoint.de> Sender: ploeger@aplki.toppoint.de (Andreas Ploeger) Organization: Andreas Ploeger Date: Mon, 12 Jul 93 11:21:15 GMT Hi, When I invoke GDB to debug my program, tons of symbols are loaded from the shared libraries: >gdb Test.app Reading symbol data from Test.app...done. Reading symbol data from /usr/shlib/libMedia_s.A.shlib...done. Reading symbol data from /usr/shlib/libNeXT_s.C.shlib...done. Reading symbol data from /usr/shlib/libsys_s.B.shlib...done. I'm not interested in these symbols (e.g. I never need to set a breakpoint at 'printf') and would like to avoid this to speed things up. Obviously GDB decides to load the symbols when it notices that the application needs theses libraries. I didn't find any switch in GDB to prevent this. Any ideas? Thanks, Andreas -- -------------------------------------------------------------------- Andreas Ploeger E-Mail: ploeger@tpki.toppoint.de
Newsgroups: comp.sys.next.programmer From: aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) Subject: RE: Adding classes at runtime? Message-ID: <12JUL93.22281416@enh.nist.gov> Sender: news@dove.nist.gov Organization: NIST References: <219nr0INN8i4@iskut.ucs.ubc.ca> Date: Tue, 13 Jul 1993 03:28:14 GMT Could you please let me know of any success you had with dynamically loaded classes? I am trying to do the same thing using bundles, and am running into little snags.. thanks, Kevin
From: jeff@vela.acs.oakland.edu (Jeff Marraccini) Newsgroups: comp.sys.next.programmer Subject: Need DSP utilities for a NeXTstation Date: 12 Jul 1993 18:30:07 -0400 Organization: Oakland University, Rochester, Michigan, U.S.A. Message-ID: <jeff.742516108@vela.acs.oakland.edu> Greetings, Does anyone have any hints on where to find programming utilities for the built in DSP chip in NeXTstation? We'd like to obtain the debugger, the assembler, and the header files that don't appear to be on the CD-ROM distribution from NeXT. If you know a source for these files, please respond via electronic mail to jeff@oakland.edu. Your assistance is greatly appreciated. Thank you, Jeff -- Jeff Marraccini jeff@vela.acs.oakland.edu <- Work Senior Computing Resource Administrator jdm@msen.com Oakland University +1 313 370-4542 Rochester, MI USA 48309-4401 "The Computer is your Friend." -- Paranoia
Newsgroups: comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: Re: Terminating an app after n minutes of inactivity Message-ID: <Jul13.000909.28072@acs.ucalgary.ca> Date: Tue, 13 Jul 1993 00:09:09 GMT References: <1993Jul12.091222.22667@codex.oz.au> <1993Jul12.135710.827@uunet!cbmvax!xmws!kripalu> Organization: The University of Calgary, Alberta > I need to terminate my app if there has been no activity (mouse > clicks, key clicks) for 10 minutes. My first stab at this > involved setting up a timed entry which then called > peekNextEvent. Basically, the following method gets called > once per minute by ... Whoa. It could be a LOT simpler than that. Do you need to quit after 10 minutes of no activity whatsoever or no activity in your application? The call "NXAutoDimTime" (See /NextLibrary/Documentation/NextDev/ ReleaseNotes/EventStatusDriver.rtf for details) allows you to "see into" the screen dimming mechanism to find out how long it will be until the screen is dimmed. If you want to be simplistic, you can check this in your timed entry to see if the screen is dimmed and quit if it is. Each individual could then adjust the time through the Preferences panel. If you don't want this, you can STILL use this mechanism. Just keep track of the maximum value returned (it measures minutes to autodim) and any time it returns 10 less than the largest value you've seen, quit. -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
Newsgroups: comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: Re: NS/FIP device driver examples? Message-ID: <Jul13.002051.71222@acs.ucalgary.ca> Date: Tue, 13 Jul 1993 00:20:51 GMT References: <21qvd5$ot5@pith.uoregon.edu> <21s7ahINN9aj@frigate.doc.ic.ac.uk> Organization: The University of Calgary, Alberta > Plea: If anyone discovers how a window server request to write > a pixel on the screen is translated to a segmented video device > driver function call, I'd be very happy if they could kindly > tell me. No screen drawing is ever "translated into a function call" to the device driver under NeXTSTEP. All device drivers are responsible for setting up a linear frame buffer at a fixed location that NeXTSTEP can write into directly. Have a look at the disassembled ATI, QVision and JAWS drivers. That's ALL they do. Just setup and cleanup... except... (emote twinkle in eye here). --- BEGIN SPECULATION --- If you REALLY want to write a driver for a board that can't map all of it's memory but can only open a limited window to it, you could get quite sneaky. If you know the virtual memory system well, you could create a map that looks like flat, linear video space to a user process, but uses page faults to swap the correct information into place in a limited video buffer and then maps the faulted page to the buffer and protects all invalid pages to allow for the same trick when NeXTSTEP tries to write outside the limited buffer again. I would suspect that this is the technique used for VGA and SVGA drivers, but don't quote me on it... --- END SPECULATION --- Anybody able to confirm the above? I'm not as well versed in Mach device driver coding as I'd like to be, but it seems reasonable. -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
Newsgroups: comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: Re: NS/FIP device driver examples? Message-ID: <Jul13.002932.63679@acs.ucalgary.ca> Date: Tue, 13 Jul 1993 00:29:32 GMT Distribution: na References: <21qvd5$ot5@pith.uoregon.edu> <21s7ahINN9aj@frigate.doc.ic.ac.uk> <Jul13.002051.71222@acs.ucalgary.ca> Organization: The University of Calgary, Alberta Appologies if this appears twice. Just wrestling with the news system... > Plea: If anyone discovers how a window server request to write > a pixel on the screen is translated to a segmented video device > driver function call, I'd be very happy if they could kindly > tell me. No screen drawing is ever "translated into a function call" to the device driver under NeXTSTEP. All device drivers are responsible for setting up a linear frame buffer at a fixed location that NeXTSTEP can write into directly. Have a look at the disassembled ATI, QVision and JAWS drivers. That's ALL they do. Just setup and cleanup... except... (emote twinkle in eye here). --- BEGIN SPECULATION --- If you REALLY want to write a driver for a board that can't map all of it's memory but can only open a limited window to it, you could get quite sneaky. If you know the virtual memory system well, you could create a map that looks like flat, linear video space to a user process, but uses page faults to swap the correct information into place in a limited video buffer and then maps the faulted page to the buffer and protects all invalid pages to allow for the same trick when NeXTSTEP tries to write outside the limited buffer again. I would suspect that this is the technique used for VGA and SVGA drivers, but don't quote me on it... --- END SPECULATION --- Anybody able to confirm the above? I'm not as well versed in Mach device driver coding as I'd like to be, but it seems reasonable. -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
Newsgroups: comp.sys.next.programmer From: hauert@itp.unibe.ch (Christoph Hauert) Subject: IB doesn't connect...!? Message-ID: <1993Jul13.000510.8162@aragorn.unibe.ch> Keywords: Interface Builder Sender: news@aragorn.unibe.ch Organization: University of Berne, Switzerland Date: Tue, 13 Jul 1993 00:05:10 GMT hi netters, currently i am writting an app including (among other things) a multiview preference panel. therefore i have a scratch pad containing all three views of the preference panel. each view is surrounded by a grouping-box containing several buttons, forms and textfields. now when i start the app everything looks fine and get initialized correctly, except that the pointers to two forms aren't set to point to their form instance. these two variables of type id still point to NULL, when all the other pointers got set correctly after the loadFromNib call. that means i can't send anything (say methods, to be more specific) to these forms. i double checked all IB connections and of course my code too - but no way, the .app and .nib files just keep their communicational problem. On this subject i am really feeling like a donkey in front of a hill (swiss-german proverb). Any help, hints and tips appreciated! thanks, and greetings from the Heidi-Land! chris BTW: my e-mail address is hauert@itp.unibe.ch
From: msodhi@agsm.ucla.edu (Mohan Sodhi) Newsgroups: comp.sys.next.programmer Subject: WANTED: Comparison Multitreaded OS/2 vs. NS/I Date: 13 Jul 1993 01:31:50 GMT Organization: UCLA Microcomputer Support Office Message-ID: <21t3a6$590@news.mic.ucla.edu> Summary: Seeking comparisons on multithreaded programming: OS/2 vs. NeXTStep Keywords: OS/2, multithreaded programming I need to implement some multi-threaded programs for my dissertation, and would like to choose between OS/2 2.x and NS/I 3.x to write these programs. If you have experience with both operating systems in programming multithreaded applications, please email your comments to me. I will post a summary if I get more than two responses. Mohan Sodhi msodhi@agsm.ucla.edu
From: brill@sybase.com (Michael Brill) Newsgroups: comp.sys.next.programmer Subject: Timeline-based charting (Gantt charts) Message-ID: <CA2Jso.6E8@sybase.com> Date: 12 Jul 93 20:33:59 GMT Sender: usenet@sybase.com Organization: Sybase, Inc. A few weeks ago someone posted an announcement of an object (palette) they had developed that plotted time-based bar charts (like Gantt charts). Anyone know who has developed this? Thanks, ...Michael
Newsgroups: comp.sys.next.programmer Subject: 24bit printing Message-ID: <CA2yHI.909@news.otago.ac.nz> From: licinda@farli.otago.ac.nz (Licinda Woudberg) Date: Tue, 13 Jul 1993 01:51:18 GMT Sender: usenet@news.otago.ac.nz (News stuff) Organization: University of Otago Hello.... I am trying to print an NXImage in 24bit RGB format (to reduce dithering). NXImage itself does not resp ond to printPSCode: , only view & window. So the NXImgae has to be displayed in a View either on or off screen. View & Window get their depth from the display device used (ie the screen - 12bit RGB). I have tried setting the window depth to NX_TwentyFourBitRGBDepth, and the NXImage cache depth, but this has not made any difference. Any Ideas? Licinda -- NewsGrazer, a NeXTstep(tm) news reader, posting -- M>UQR=&8P7&%N<VE[7&9O;G1T8FQ<9C!<9FUO9&5R;B!#;W5R:65R.WT*7&UA M<F=L,3(P"EQM87)G<C$R,`I<<&%R9%QT>#$Q-3)<='@R,S`T7'1X,S0U-EQT M>#0V,#A<='@U-S8P7'1X-CDQ,EQT>#@P-C1<='@Y,C$V7'1X,3`S-CA<='@Q M,34R,%QF,%QB,%QI,%QU;&YO;F5<9G,R-%QF8S!<8V8P(%P*2&5L;&\N+BXN M7`I<"DD@86T@=')Y:6YG('1O('!R:6YT(&%N($Y826UA9V4@:6X@,C1B:70@ M4D="(&9O<FUA="`H=&\@<F5D=6-E(&1I=&AE<FEN9RDN7`I<"DY826UA9V4@ M:71S96QF(&1O97,@;F]T(')E<W!O;F0@=&\@<')I;G104T-O9&4Z("P@;VYL M>2!V:65W("8@=VEN9&]W+B`@4V\@=&AE($Y826UG864@:&%S('1O(&)E(&1I M<W!L87EE9"!I;B!A(%9I97<@96ET:&5R(&]N(&]R(&]F9B!S8W)E96XN("!6 M:65W("8@5VEN9&]W(&=E="!T:&5I<B!D97!T:"!F<F]M('1H92!D:7-P;&%Y M(&1E=FEC92!U<V5D("AI92!T:&4@<V-R965N("T@,3)B:70@4D="*2X@($D@ M:&%V92!T<FEE9"!S971T:6YG('1H92!W:6YD;W<@9&5P=&@@=&\@3EA?5'=E M;G1Y1F]U<D)I=%)'0D1E<'1H+"!A;F0@=&AE($Y826UA9V4@8V%C:&4@9&5P M=&@L(&)U="!T:&ES(&AA<R!N;W0@;6%D92!A;GD@9&EF9F5R96YC92Y<"EP* <06YY($ED96%S/UP*7`I,:6-I;F1A7`I<"@I]"GD@ `
From: hacker@access.digex.net (Dark Hacker) Newsgroups: comp.sys.next.programmer,comp.sys.next.hardware Subject: Re: How do you set two stop bits on a serial port? Date: 12 Jul 1993 22:16:24 -0400 Organization: Express Access Online Communications, Greenbelt, MD USA Message-ID: <21t5to$3lt@access.digex.net> References: <1993Jul11.212340.314@Radical.Com> In article <1993Jul11.212340.314@Radical.Com> Jim_Brownfield@Radical.Com writes: > >This is probably a really stupid question (at least I hope it is), but I >haven't been able to find a solution. > >How can you set a serial port on NS/FIP for two stop bits (CSTOPB in >POSIX/System 7)? There are POSIX calls to do it (tcsetattr), but there is no >way to build a POSIX application in 3.1 (at least according to the release >notes, and I can't find a library with this call - also, there doesn't seem to Can't this be done by pumpping physical strings into the port and letting the driver change its settings. As I recall to change the parity and stop bits for UUCP I send something like "NO_PARITY" into the port and the driver acts accordingly. Wierd. I don't recall where its documented if at all. - Hacker -- Dark Hacker @ Black Silicon, Fortress Of Computation hacker@black-silicon.mclean.va.us "Life itself is... COMPUTATION!"
Newsgroups: comp.sys.next.programmer From: greg@afs.com (Gregory H. Anderson) Subject: Re: browser problems Message-ID: <1993Jul12.213944.4455@afs.com> Sender: greg@afs.com References: <33955@galaxy.ucr.edu> Distribution: usa Date: Mon, 12 Jul 1993 21:39:44 GMT In article <33955@galaxy.ucr.edu> theharv@csld (Brian Harvey) writes: > > I'm having a problem. I have a browser and each item in the browser > has a tag that I set. I want to get the tag of a selected browser > item but I can't seem to. > Here's the statement I tried to use to get it: > > [[[sender matrixInColumn:0] selectedCell] tag]; > > This ALWAYS returns -1 (I looked it up in Librarian and it says > it's supposed to). > > Is there another way I can get the tag value of a selected > item in a browser? You have to subclass BrowserCell and add an ivar. The 'tag' and 'setTag:' methods are prototyped in the Cell class, but subclasses are responsible for allocating the storage to remember tag values. Here's the code: ------ begin AfsBrowserCell.h ------ #import <appkit/NXBrowserCell.h> @interface AfsBrowserCell:NXBrowserCell { int tag; } - setTag:(int)aTag; - (int)tag; @end ------- end AfsBrowserCell.h ------- ------ begin AfsBrowserCell.m ------ #import <afskit/AfsBrowserCell.h> @implementation AfsBrowserCell - setTag:(int)aTag { tag = aTag; return self; } - (int)tag { return tag; } @end ------- end AfsBrowserCell.m ------- Then in code, before loading the browser, you just say: [theBrowser setCellClass:[AfsBrowserCell class]]; -- Gregory H. Anderson | "If you've got eyes to rhythmatize Composer-in-Residence | Bring your flat hat and your ax Anderson Financial Systems | 'Cause tonight at 10 we'll be workin' again" greg@afs.com (NeXTmail OK) | -- Donald Fagen, "Teahouse on the Tracks"
From: zmonster@athena.mit.edu (Eric M Hermanson) Newsgroups: comp.sys.next.programmer Subject: Trouble with IB Palettes Date: 13 Jul 1993 03:19:38 GMT Organization: Massachusetts Institute of Technology Distribution: world Message-ID: <21t9ka$9k8@senator-bedfellow.MIT.EDU> I created an IB palette which plots the progress of time as a bar graph. In my main program, I put this palette in my interface with IB. Then in my code, I accessed one of the palettes methods, called setTheColor:(NXColor)theColor. When I compiled the code I got an error saying: Could not find method setTheColor:..... I was boggled by this because I DID include the palettes object file (.o) in project builder. To solve this problem, I simply copied one of the palette's header files which contained the setTheColor: method. I put this file into the project directory (I didn't even add it to project builder, I just copied it into the project directory). Then when I compiled the code, it worked. QUESTION: Why should you have to include a header file from a palette? I thought palettes were supposed to be portable, with only the palette itself plus the palette's object libraries needing to be distributed? Why did I have to copy the palette header file into my project directory for it to compile properly? Is there a way to avoid this so I don't need to distribute source code if I choose one day to give the palette to someone? Thanks, Eric
Newsgroups: comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Using the buffer from NXGetMemoryBuffer() Organization: Primitive Software Ltd. Date: Mon, 12 Jul 1993 16:57:43 +0000 Message-ID: <1993Jul12.165743.12608@prim> Sender: usenet@demon.co.uk Two questions about NXGetMemoryBuffer: 1) If the stream was opened with NXMapFile, can the stream be closed with NXCloseMemory(NX_SAVEBUFFER) and the buffer from NXGetMemoryBuffer continue to be used? If so, how should the buffer be freed? 2) A lot of the time the file opened with NXMapFile is an ascii character stream and you want it NULL terminated. Is it safe to store a NULL just past the end of the buffer allocated with NXGetMemoryBuffer? (It would be nice if NeXT have implemented it like that). Thanks, Dave Griffiths
Newsgroups: comp.sys.next.programmer From: abell@netcom.com (Steven T. Abell) Subject: NXBrowser - acceptArrowKeys:andSendActionMessages: Message-ID: <abellCA3Bp6.3K2@netcom.com> Organization: NETCOM On-line Communication Services (408 241-9760 guest) Distribution: na Date: Tue, 13 Jul 1993 06:36:42 GMT Regarding NXBrowser - acceptArrowKeys:andSendActionMessages: Does this method work? Is there something else that must be done first? My browsers work fine, but I can't get the arrow keys to do anything. Steve abell@netcom.com
Newsgroups: comp.sys.next.programmer From: abell@netcom.com (Steven T. Abell) Subject: Re: NXBrowser - acceptArrowKeys:andSendActionMessages: Message-ID: <abellCA3E6u.881@netcom.com> Organization: Netcom Online Communications Services (408-241-9760 login: guest) References: <abellCA3Bp6.3K2@netcom.com> Distribution: na Date: Tue, 13 Jul 1993 07:30:30 GMT I wrote: >Regarding NXBrowser - acceptArrowKeys:andSendActionMessages: >Does this method work? Is there something else that must be done first? >My browsers work fine, but I can't get the arrow keys to do anything. Yes, it does work, but you have to be sure your browser is first responder. I had assumed that clicking in the browser would make it so. *WRONG* If there are other things in the same window that can be first responder, they may not let go easily. If you run into this, see Window - makeFirstResponder: Putting this into your browser's target's action method will fix things. Steve abell@netcom.com
From: ernest@pundit.cithep.caltech.edu (Ernest Prabhakar) Newsgroups: comp.sys.next.programmer Subject: Hints for compiling libg++2.4 under NeXTSTEP 3.1 Date: 13 Jul 1993 06:19:33 GMT Organization: California Institute of Technology, Pasadena Distribution: world Message-ID: <21tk5lINN76@gap.caltech.edu> Hello, Well, after pounding on it for several hours, I have finally gotten libg++ 2.4 to compile. I've had to redo parts several times, so I am not sure what all I did and what order things need to be done in, but I figure these lessons might be helpful to others. Note that compiling GNU software is not for the faint of heart or limited of disk, so be warned. 1) Build gcc 2.4.5 You can't use old G++ with a new libg++ 2) Get and unpack the libg++2.4 3) Configure next libg++ recognizes next. (some GNU things, like GDB, do not :-() 4) Now, make the following changes: a) Change the Makefile to use CC=gcc (this is more important for the support libraries, not libg++ itself) b) Add "-DSTDC_HEADERS" to the CFLAGS variable c) In the _G_config.h file in the libg++ directory, modify the following two variables to "1" from "0": #define _G_NAMES_HAVE_UNDERSCORE 1 #define _G_DOLLAR_IN_LABEL 1 Hope this helps. GNU only has 'bsd-next-m68k' (and intel, possibly), so I'm not sure if these things vary with release number, or how to tell GNU about how to change it. -enp -- Ernest N. Prabhakar Caltech High Energy Physics Member, League for Programming Freedom (league@prep.ai.mit.edu) CaJUN President NeXTMail:ernest@pundit.cithep.caltech.edu "...and ourselves, your servants for Jesus sake." - II Cor 4:5b #import <std/disclaimer.h>
From: kiwi@cs.tu-berlin.de (Axel Habermann) Newsgroups: comp.sys.next.programmer Subject: appIcon as dest. for dragging? (setting the delegate of appIcon) Date: 13 Jul 1993 09:24:25 GMT Organization: Technical University of Berlin, Germany Message-ID: <21tv09$58q@news.cs.tu-berlin.de> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 8bit Summary: How to make appIcon the destination for a dragging operation Keywords: appIcon, dragging, delegate Hi! I tried to make the appIcon the destination for a dragging operation with the following statements: - appDidInit:sender { ... [[NXApp appIcon] setDelegate:self] [[NXApp appIcon] registerForDraggedTypes:&NX_FilenamePBoard_Type count:1] ... } The problem seems to be that, while the registration works, the delegate stays at the value <nil> (as I found out using AppInspector). Can anyone please give me a hint how to set the delegate of the appIcon to anything other than <nil> (I tried to set the delegate at other places in my code, but it simply doesn't change anything) (I used the same come for a normal window and it just worked). Thanx Axel -- Axel Habermann \\|// FaxFon: +49 30 4543046 Fehmarnerstr. 4 )o o( eMail: kiwi@cs.tu-berlin.de 13353 Berlin (Wedding) \ | / "Wenn Du nicht weisst Germany \~/ was du tust, mach's mit Eleganz!"
Newsgroups: comp.sys.next.programmer From: arrouye@cosmos.imag.fr (Yves Arrouye) Subject: Best way to implement multiform pref. panels? Message-ID: <ARROUYE.93Jul13092504@mistral.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Tue, 13 Jul 1993 08:25:04 GMT Hi, I would like to know what you think is the best way to implement a multiform Preferences... panel. I would like to have a panel with a set of icons at the top (in order to switch panels), and soem buttons at the button. The buttons will be labeled the same, but perform actions specific to the displayed panel. Of course, I would like to use IB for a maximum of the implementation... Thanks in advance, Yves P.S.: NS 3.1 -- With one processor, we verify that the time spent Yves Arrouye in controlling parallelism is not too long. arrouye@mistral.imag.fr arrouye@imag.imag.fr -- Yannick Tre'molet, LMC (33) 76 57 48 61
Newsgroups: comp.sys.next.programmer From: arrouye@cosmos.imag.fr (Yves Arrouye) Subject: Window Server questions... Message-ID: <ARROUYE.93Jul13093445@mistral.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Tue, 13 Jul 1993 08:34:45 GMT Hi, I have some questions regarding the window server of NS 3.1. If some of you could help me... 1. Is it possible to know the name of an application knowing its DPS context number? Also, what other informations are available given that? 2. Where can I find *complete* documentation about the DPS and server functions? The Red Book has no list of these functions, the DPS ref manuals on the Adobe FTP are for X, and in the NEXT reference (volume 2) there are some functions missing, like fillwindow which is used by Winfo. So, where did the author get this info? 3. How can I ask (in postscript) a window to reproduce its contents so I can put it in an NXImage. This should be easy because grab does it. Thanks in advance, Yves -- With one processor, we verify that the time spent Yves Arrouye in controlling parallelism is not too long. arrouye@mistral.imag.fr arrouye@imag.imag.fr -- Yannick Tre'molet, LMC (33) 76 57 48 61
Newsgroups: comp.sys.next.programmer From: rongut@au-bon-pain.lcs.mit.edu (Ron Gut) Subject: Removing picComments from PICT resources Message-ID: <RONGUT.93Jul11014430@au-bon-pain.lcs.mit.edu> Sender: news@mintaka.lcs.mit.edu Organization: MIT Lab for Computer Science, Cambridge, Mass. Date: Sun, 11 Jul 1993 06:44:30 GMT How does one go about removing the picComments from PICT resources? A lot of programs use those picComments to store postscript code which takes up precious disk space. Please reply by email, as I do not read this group very often. If there is sufficient interest, I will post a summary. Thanks in advance, Ron rongut@abp.lcs.mit.edu
From: louie@sayshell.umd.edu (Louis A. Mamakos) Newsgroups: comp.sys.next.programmer Subject: Re: How do you set two stop bits on a serial port? Date: 13 Jul 1993 12:41:21 GMT Organization: University of Maryland, College Park Message-ID: <21uahh$l8q@ni.umd.edu> References: <1993Jul11.212340.314@Radical.Com> <21t5to$3lt@access.digex.net> In article <21t5to$3lt@access.digex.net> hacker@access.digex.net (Dark Hacker) writes: >In article <1993Jul11.212340.314@Radical.Com> Jim_Brownfield@Radical.Com writes: >> >>This is probably a really stupid question (at least I hope it is), but I >>haven't been able to find a solution. >> >>How can you set a serial port on NS/FIP for two stop bits (CSTOPB in >>POSIX/System 7)? There are POSIX calls to do it (tcsetattr), but there is no >>way to build a POSIX application in 3.1 (at least according to the release >>notes, and I can't find a library with this call - also, there doesn't seem to Using the V7-compatible tty driver in NS 3.1 and previous versions, there is no way to select 2 stop bits. I believe that if you select 110 baud, you'll usually get 1.5 stop bits. >Can't this be done by pumpping physical strings into the port and letting >the driver change its settings. As I recall to change the parity and stop >bits for UUCP I send something like "NO_PARITY" into the port and the driver >acts accordingly. Wierd. I don't recall where its documented if at all. This has NEVER been the case. The uucico program will interpret specific strings in its send/expect dialog as commands to modify the state of the tty driver. The driver itself doesn't act on those strings. The short answer is: you can't set 2 stop bit right now. Perhaps with the POSIX compatible tty driver if its actually in there, and you can build applications that can use the POSIX interface. Louis Mamakos University of Maryland
From: basil@hurricane.cs.odu.edu (Keith Basil) Newsgroups: comp.sys.next.programmer Subject: putenv for NeXT... Date: 13 Jul 1993 15:30:31 GMT Organization: Old Dominion University, Norfolk, Va Distribution: world Message-ID: <21uken$9j0@xanth.cs.odu.edu> Can someone please email me source to putenv.c, so i can include it in a few of my programs? thanks. keith basil@cs.odu.edu
From: borzilda@NeXTwork.Rose-Hulman.Edu (David A Borzillo) Newsgroups: comp.sys.next.programmer Subject: Rotating NXImages Date: 13 Jul 1993 16:05:49 GMT Organization: Rose-Hulman Institute of Technology Message-ID: <21umgt$j52@master.cs.rose-hulman.edu> I'm working with some neat animation (as those of you may already know because you've helped me greatly -- thank you all). Anyway, I now have another dilema. I have this instance of an NXImage class. It's a picture of a small ruler. Basically it's a gauge for a balance (the kind that measures weights of different object). example: [in .h file:] id valGaugeImage; //The NXImage used to draw the background of the gauge. [in .m file:] valGaugeImage = [valGauge backgroundImage]; Imagine if you will a balance (to measure mass) and on this balance is a gauge. As the balance is tipped one way or the other, the scale is oriented with the same angle as well (the gauge is mounted on the "main airm" of the balance). How do I rotate the view of the guage (or more specifically, an NXImage)? I know it's possible to flip them, and it's possible to rotate the coordinate of the window (or is it view?). Anyway, on top of all of this, the weight on top of the scale will have to be rotated and positioned as well. [softly] help! ----------------------------------------------------------- David A. Borzillo Mechanical Engineering Junior Software Developer, Fluid Science Learning Center Rose-Hulman Institute of Technology Terre Haute, IN borzilda@nextwork.rose-hulman.edu
Newsgroups: comp.sys.next.programmer From: thf@zelator.in-berlin.de (Thomas Funke) Subject: Re: MouseX server causes unbounded swapfile expansion? Message-ID: <1993Jul12.110413.620@gamelan> Sender: thomas@gamelan (thomas) Organization: Disorganization References: <1993Jul10.161707.455@imani.cam.org> Date: Mon, 12 Jul 1993 11:04:13 GMT In article <1993Jul10.161707.455@imani.cam.org> nico@imani.cam.org (Nicolas Dore) writes: > > Therefore, in the situation above, "swapfile.front" is actually > the working swapfile, while swapfile is "just some virtual thing". > > Please, do correct me if I'm wrong. Yes, you're wrong. 'swapfile' is the real swapfile, either compressed (in this case you'll see swapfile.front, too) or uncompressed. -- ------------------------------------------------------------------ Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de Talk sense to a fool and he calls you foolish. -- Euripides ------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: gordie@cyclesoft.com (Gordie Freedman) Subject: Re: appIcon as dest. for dragging? (setting the delegate of appIcon) Message-ID: <1993Jul13.180352.21225@netcom.com> Sender: gordie@netcom.com Organization: Cyclesoft Media Works References: <21tv09$58q@news.cs.tu-berlin.de> Date: Tue, 13 Jul 1993 18:03:52 GMT In article <21tv09$58q@news.cs.tu-berlin.de> kiwi@cs.tu-berlin.de (Axel Habermann) writes: > Hi! > > I tried to make the appIcon the destination for a dragging operation > with the following statements: > > - appDidInit:sender > { > ... > > [[NXApp appIcon] setDelegate:self] > [[NXApp appIcon] registerForDraggedTypes:&NX_FilenamePBoard_Type count:1] > > ... > } > > The problem seems to be that, while the registration works, the delegate > stays at the value <nil> (as I found out using AppInspector). > Can anyone please give me a hint how to set the delegate of the appIcon to > anything other than <nil> (I tried to set the delegate at other places > in my code, but it simply doesn't change anything) > (I used the same come for a normal window and it just worked). > > Thanx > > Axel > I had the same problem, there's a quick hack to do what you want, and a 3.x way to do this. The quick and dirty hack is to set the delegate manually, bypassing Objc encapsulation and directly messing with the icon window's instance var for delegate. Warning - I am a little rusty on these so proceed with a grain of salt. ----------Cut here for hack 2.x way that still worked at least on 3.0-------- static NXAtom* pboardType = &NXFilenamePboardType; - appDidInit:sender { id iconWindow = [NXApp appIcon]; struct windowDef { @defs(Window) } *public; public = (struct windowDef*) iconWindow; public->delegate = self; [iconWindow registerForDraggedTypes:pboardType count:1]; // Other init stuff ... } // Then, as you probably already know, implement these // Tell workspace (or whatever) we will accept drag'n'drop - (NXDragOperation)draggingEntered:sender { return NX_DragOperationGeneric; } - (BOOL)performDragOperation:sender; { id pasteboard = [sender draggingPasteboard]; char* data; int length; id rc; rc = [pasteboard readType:NXFilenamePboardType data:&data length:&length]; if (rc == nil) { fprintf (stderr, "YourAppNameHere - can't get pasteboard\n"); return NO; } // Do something [pasteboard deallocatePasteboardData:data length:length]; return YES; } ----------------------------------------------------------------------------- This is the new 3.x way to do this (note that this won't work when the program is launched from gdb <project builder debug>, and that when launched normally you will have to press the command key as you drop the icon). It also has the advantage that Workspace will launch your program if it is not running when the drag and drop is done. This is how apps like Edit.app accept dropped file icons, so it is more consistent with the NeXTSTEP UI guidelines. // This is used to avoid hanging the workspace for the duration // of whatever would be called out of the app:openFile // I probably could have used perform:with:afterDelay as well ... void iconReleasedHandler (DPSTimedEntry tag, double now, void* user) { id self = (id) user; // Do whatever you want (filename saved in path instance var) ... DPSRemoveTimedEntry (tag); } // Implement this so that WorkSpace knows you are willing // to accept files dropped over your app icon - (BOOL) appAcceptsAnotherFile:sender { return YES; } // This gets called when the item is actually dropped. Don't do // anything time consuming, as the workspace is hung waiting // for this method to exit. I set a DPSTimedEntry to do the actual // work, releasing the workspace before doing any work. - (int) app:sender openFile:(const char*)fileName type:(const char*)fileType { // path is an instance var, this saves a little // processing if the fileName is the same as last time if ((!path) || (strcmp (path, fileName))) { if (path) { NX_FREE (path); } NX_MALLOC (path, char, strlen (fileName) + 1); strcpy (path, fileName); } // Set a DPS time event to do the dirty work if (DPSAddTimedEntry (0.0, iconReleasedHandler, (void*) self, NX_MODALRESPTHRESHOLD) == (DPSTimedEntry) -1) { fprintf (stderr, "Your App Name Here - could not set DPSTimedEntry\n"); return NO; } return YES; } -- >>> Gordie Freedman -> gordie@cyclesoft.com NeXTMail Yes! >>> Thou shalt not inline functions more complicated than 20
Newsgroups: comp.sys.next.programmer From: aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) Subject: NXBrowser as delegate for self Message-ID: <13JUL93.18013523@enh.nist.gov> Sender: news@dove.nist.gov Organization: NIST Date: Tue, 13 Jul 1993 23:01:35 GMT I am working with an NXBrowser, and it would be very nice (and tidy) if the delegate could just be my sub-class of the NXBrowser... when I do this, using [self setDelegate:self]; in my initFrame: method, the delegate is, indeed, set to itself. Now, however, the browser doesn't behave properly (i.e. the fillBrowser... method is never called). Does this have something to do with the fact that I have the browser set up as its own delegate? Kevin
From: pierce@cantrell.tamu.edu (Pierce Cantrell) Newsgroups: comp.sys.next.programmer Subject: Re: How do you set two stop bits on a serial port? Date: 13 Jul 1993 18:31:41 GMT Organization: Texas A&M University, College Station, TX Distribution: world Message-ID: <21uv2d$1qi@tamsun.tamu.edu> References: <21uahh$l8q@ni.umd.edu> > The short answer is: you can't set 2 stop bit right now. > Perhaps with the POSIX compatible tty driver if its > actually in there, and you can build applications that > can use the POSIX interface. > But why would anyone want to set 1.5 or 2 stop bits unless the output is going to a KSR33? Every UART chip that I am aware of will be perfectly happy with one stop bit. The configuration for sending stop bits only affects the transmitter portion of the UART not the receiver. -pierce -- Pierce E. Cantrell | cantrell@ee.tamu.edu Department of Electrical Engineering | Texas A&M University | tel: (409) 845-7441 College Station, Texas 77843-3128 | fax: (409) 845-6259
Newsgroups: comp.sys.next.programmer From: erik@ensuing.com (Erik Kraft) Subject: Re: gdb: avoiding symbols from shared libraries Message-ID: <CA3vyL.xr@ensuing.com> Keywords: GDB, symbols Sender: erik@ensuing.com (Erik Kraft) Organization: Ensuing Technologies Inc. References: <1993Jul12.112115.652@aplki.toppoint.de> Date: Tue, 13 Jul 1993 13:54:18 GMT In article <1993Jul12.112115.652@aplki.toppoint.de> ploeger@aplki.toppoint.de (Andreas Ploeger) writes: > Hi, > > When I invoke GDB to debug my program, tons of symbols are loaded from > the > shared libraries: > > >gdb Test.app > Reading symbol data from Test.app...done. > Reading symbol data from /usr/shlib/libMedia_s.A.shlib...done. > Reading symbol data from /usr/shlib/libNeXT_s.C.shlib...done. > Reading symbol data from /usr/shlib/libsys_s.B.shlib...done. > > I'm not interested in these symbols (e.g. I never need to set a > breakpoint at > 'printf') and would like to avoid this to speed things up. > This typically only takes a few seconds (~8) on my machine. Just enough time to take a sip of soda. > Any ideas? > These symbols are also needed when you use backtrace to get a (hopefully more) accurate picture of the call stack. If you didn't have these symbols loaded, and your software was to crash somewhere in printf (to use your example) the backtrace of the running program would incorrectly show that the program crashed in one of your functions or methods. There is a way, but it won't be faster. Follow this (<progname> is your program's name). 1. type "gdb <progname>" (starts gdb) 2. type "symbol-file" (erases the symbol table) 3. at the prompt, type "y" (but it asks you first) 4. type "add <progname>" (adds your program's symbols) 5. do whatever you want an example follows: oghma:projects/BlackJack/BlackJack.app>gdb BlackJack GDB is free software and you are welcome to distribute copies of it under certain conditions; type "show copying" to see the conditions. There is absolutely no warranty for GDB; type "show warranty" for details. GDB 4.7 (NeXT 3.1), Copyright 1992 Free Software Foundation, Inc... Reading symbols from /u/erik/projects/BlackJack/BlackJack.app/BlackJack...done. Reading symbols from /usr/shlib/libMedia_s.A.shlib...done. Reading symbols from /usr/shlib/libNeXT_s.C.shlib...done. Reading symbols from /usr/shlib/libsys_s.B.shlib...done. (gdb) symbol-file Discard symbol table from `/u/erik/projects/BlackJack/BlackJack.app/BlackJack'? (y or n) y No symbol file now. (gdb) add BlackJack Reading symbols from BlackJack...done. (gdb) break printf Function "printf" not defined. (gdb) break color Reading in symbols for Card.m...done. Breakpoint 1 at 0x3cdc: Card.m:21. (gdb) quit > Thanks, You're welcome. > > Andreas > -------------------------------------------------------------------- > Andreas Ploeger E-Mail: ploeger@tpki.toppoint.de -- Erik Kraft e-mail: erik@ensuing.com (NeXT-Mail preferred) I don't talk or post for Ensuing, they don't talk or post for me. NeXT: I STILL believe in the vision and live for the quest.
Newsgroups: comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Re: Worries about the speed of Distributed Objects Organization: Primitive Software Ltd. References: <1993Jul13.131904.17365@prim> Date: Tue, 13 Jul 1993 16:15:58 +0000 Message-ID: <1993Jul13.161558.19541@prim> Sender: usenet@demon.co.uk Ermm... please ignore the whole of that article. The slow times I was experiencing were due to a "feature" in my code. I'd forgotten that I was using a modified version of FullCopyList which fixes the problem with multiple copies of the same object being instantiated on the receiver side. I do this with hash tables at either side and pass only a pointer to the object if it is already in the hash table. I was sending the pointer using encodeData:&object ofType:"@". Changing this to ofType:"i" resulted in a similar speed up. I can understand it making a small difference, but not quite sure why it made it 10 times slower. Dave Griffiths
Newsgroups: comp.sys.next.programmer From: shill@ccsi.com (Sean L. Hill) Subject: incorrect version of precompiled headers. Message-ID: <1993Jul13.140053.559@ccsi.com> Sender: shill@ccsi.com Organization: Crystal Computer Systems, Inc. Date: Tue, 13 Jul 1993 14:00:53 GMT Does anyone know why this would be happening? Has anyone else experienced this with 3.1? I have installed and reinstalled 3.1 developer and have even run the script that rebuilds all of the include files manually. But anytime I compile I get the following: warning: could not use precomp /NextDeveloper/Headers/appkit/appkit.p (incorrect version) /NextDeveloper/Headers/objc/HashTable.h:13: warning: could not use precomp /NextDeveloper/Headers/objc/Object.p (incorrect version) /NextDeveloper/Headers/sound/accesssound.h:10: warning: could not use precomp /NextDeveloper/Headers/mach/cthreads.p (incorrect version) /NextDeveloper/Headers/mach/cthreads.h:10: warning: could not use precomp /NextDeveloper/Headers/mach/mach.p (incorrect version) /NextDeveloper/Headers/appkit/nextstd.h:14: warning: could not use precomp /NextDeveloper/Headers/bsd/libc.p (incorrect version) warning: could not use precomp /NextDeveloper/Headers/3Dkit/3Dkit.p (incorrect version) It seems particularly weird that I recompile the headers and still get the incorrect version error. Thanks for any info... -- Sean L. Hill Ergo Science Incorporated shill@ccsi.com Compuserve: 73667,3355
Newsgroups: comp.sys.next.programmer From: abell@netcom.com (Steven T. Abell) Subject: Code for Object - perform:with:with:with: Message-ID: <abellCA4tBH.9Au@netcom.com> Organization: NETCOM On-line Communication Services (408 241-9760 guest) Distribution: na Date: Wed, 14 Jul 1993 01:54:52 GMT The Object class provides perform:, perform:with:, and peform:with:with:. Does anyone out there have code for peform:with:with:with:? Steve abell@netcom.com
From: zmonster@athena.mit.edu (Eric M Hermanson) Newsgroups: comp.sys.next.programmer,comp.sys.next.misc Subject: Neural Network Palettes or Classes? Date: 14 Jul 1993 04:48:30 GMT Organization: Massachusetts Institute of Technology Distribution: world Message-ID: <22036u$7q3@senator-bedfellow.MIT.EDU> I am thinking about incorporating neural network computing in my research. Does anyone know of any public domain or commercial neural network programming palettes or classes? Thanks, Eric
From: David Apfelbaum <da0g+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: Re: Rotating NXImages Date: Wed, 14 Jul 1993 00:50:21 -0400 Organization: Sponsored account, Mathematics, Carnegie Mellon, Pittsburgh, PA Message-ID: <YgEt2B200WA7AM4thL@andrew.cmu.edu> In-Reply-To: <21umgt$j52@master.cs.rose-hulman.edu> Excerpts from netnews.comp.sys.next.programmer: 13-Jul-93 Rotating NXImages by David A Borzillo@NeXTwor > airm" of the balance). How do I rotate the view of the guage (or more > specifically, an NXImage)? I know it's possible to flip them, and it's > possible to rotate the coordinate of the window (or is it view?). Anyway, > on top of all of this, the weight on top of the scale will have to be > rotated and positioned as well. I (literally) just finished dealing with this... (I needed to cache a rotated/scaled NXBitmapImage inside a NXImage for (fast) display inside a ScrollView... *whew*) Try: if ([myNXImage lockFocus]) { PSscale((float)Sx, (float)Sy); PStranslate((float)Tx, (float)Ty); PSrotate((float)degrees); [myNXImage unlockFocus]; } Keep in mind your rotating about the point (0,0), so if you want to rotate about the center of your image you might try translating first, and then correcting it back afterwards... -David.
From: David Apfelbaum <da0g+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: Re: appIcon as dest. for dragging? (setting the delegate of appIcon) Date: Wed, 14 Jul 1993 00:56:41 -0400 Organization: Sponsored account, Mathematics, Carnegie Mellon, Pittsburgh, PA Message-ID: <UgEt89m00WA7IM4ucd@andrew.cmu.edu> In-Reply-To: <1993Jul13.180352.21225@netcom.com> Excerpts from netnews.comp.sys.next.programmer: 13-Jul-93 Re: appIcon as dest. for dr.. by Gordie Freedman@cyclesof > id iconWindow = [NXApp appIcon]; > > struct windowDef { > @defs(Window) > } *public; > > public = (struct windowDef*) iconWindow; > public->delegate = self; Bletch. #import <objc/Object.h> object_setInstanceVariable([NXApp appIcon], "delegate", (void *)self); -David.
Newsgroups: comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: ThreadKit 0.8 Message-ID: <Jul14.054036.76812@acs.ucalgary.ca> Date: Wed, 14 Jul 1993 05:40:36 GMT Distribution: na Organization: The University of Calgary, Alberta For those interested, ThreadKit is now up to 0.8 and has been placed on cs.orst.edu and sonata.cc.purdue.edu. This version implements all of the functionality I'd envisioned for version 1.0 and finally fixes a lingering bug that's been in the kit since the beginning. However, I would REALLY like some feedback from the net on the usefulness / desirability of the product before I put the final polish on it. Are there that few of you out there that are interested in writing a multithreaded application? Or am I just impatient :-) Since the beginning of time there seem to have been two major complaints about the AppKit: The Text object and the lack of thread-safety. I'm not brave enough to tackle the Text object just yet, but the thread-safety issue has been bugging me long enough that I'd just like to get the complaint safely behind us and move on. -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
From: nico@imani.cam.org (Nicolas Dore) Newsgroups: comp.sys.next.programmer Subject: Re: MouseX server causes unbounded swapfile expansion? Message-ID: <1993Jul14.025517.1089@imani.cam.org> Date: 14 Jul 93 02:55:17 GMT References: <1993Jul12.110413.620@gamelan> Sender: nico@imani.cam.org In article <1993Jul12.110413.620@gamelan> thf@zelator.in-berlin.de (Thomas Funke) writes: > In article <1993Jul10.161707.455@imani.cam.org> nico@imani.cam.org > (Nicolas Dore) writes: > > > > Therefore, in the situation above, "swapfile.front" is actually > > the working swapfile, while swapfile is "just some virtual thing". > > > > Please, do correct me if I'm wrong. > > Yes, you're wrong. 'swapfile' is the real swapfile, either compressed (in > this case you'll see swapfile.front, too) or uncompressed. O.K. (This is getting fun!) So, let's talk scenarios here: In case of nocompress, swapfile is _THE_ swap file. Simple. In case of no nocompress, swapfile.front is _the_ swap file, while swapfile is the _compressed_ swap file. Right so far? (It's what I understand from your post) Now, what I read about compressing the swapfile, it does one thing: reduce the amount of stuff you need to access in the swapfile by compressing it, therefore speeding the machine up. This makes sense if swapfile.front _replaces_ swapfile (i.e. it is just let to sit there until it is needed. Otherwise, you would have to write to both swapfiles, thus _adding_ to the data sent/received, and slowing things down. This does _NOT_ make sense to me. This would also explain, to me, that the swapfile does not grow in the exemple given earlier in this thread. It stays at 16 Megs, while swapfile.front grows to more than 28 Megs. Either it is being left alone, or Mach/Unix manages to squeeze it into half it's size using some (I guess) highly speed-optimized compression algorithm. Very good. Almost too good to be true. (one way to test this would be to grow the swap file to some _huge_ size, just to see how files react when you _CAN'T LOGICALLY_ compress into the lowat [ something like 60 Megs for the 16 Megs loat. Don't have the HD space on hand to try. Sob... 8^)) So, what's up? Am I _THAT_ lost in the woods? Ciao > -- > ------------------------------------------------------------------ > Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de > > Talk sense to a fool and he calls you foolish. ^^^^ "You talkin' to me, feller?" 8^)) > -- Euripides > ------------------------------------------------------------------ -- Nicolas Dore nico@imani.cam.org - - - - - - - - - CAREFUL! POLITICAL COMMENT ZONE!! - - - - - - - - - > "If I can't dance, I don't want to be in your revolution!" < > Emma Goldman (to Vladimir Ilitch Oulianov [Lenin], 1917) <
Newsgroups: comp.sys.next.programmer From: robertn@penny.demon.co.uk (Robert Nicholson) Subject: Unique key generation with the DBKit Distribution: world Cc: next-prog@cpac.washington.edu Date: Tue, 13 Jul 1993 11:57:29 +0000 Message-ID: <9307131153.AA03124@penny.demon.co.uk> Sender: usenet@demon.co.uk I'm trying to understand what I want to do in DBKit and how DBKit will support the functionallity that I am seeking. Basically, i'm trying to come up with a scheme for unique key generation. All keys are derived from a table that looks like the following. ENTITY HIGHEST KEY currently the highest key for this entity. Now, I'm thinking about how things will work in a multiuser environment. I'm trying decide exactly when I make changes to the database. eg. One person gets an id for a "lead" whilst another person is also creating a new "lead" I want to ensure that two people get different new lead id's. So I'm thinking I will generate the new lead id from the contents of highest key so I must change "physically" this area of the database before a "dirty" read occurs. This sounds pretty simple but what do I do if the first person decides they no longer wishes to create the lead and back out of the transaction. All subsequent leads are out by one now. So I guess I can just accept that I will not have an arithmetic sequence of lead id's and be done with it? How are you guys generating your keys under DBKit?
Newsgroups: comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Worries about the speed of Distributed Objects Organization: Primitive Software Ltd. Date: Tue, 13 Jul 1993 13:19:04 +0000 Message-ID: <1993Jul13.131904.17365@prim> Sender: usenet@demon.co.uk I used to think the average time of 50ms per remote method call was pretty good. Now I'm not so sure. The program I'm writing will quite often be reading over 1000 objects "across the wire" (bycopy). I've just done some experiments, and reading across 1130 objects each of which encodes a unique character string (about 40 bytes each) takes 62.5 seconds. That's quite a while for a user to wait. As a benchmark, I tried archiving the same list of objects using NXWriteRootObject() to a file. Although this involves a similar operation, it only took 2.5 seconds! Multiply that by two for unarchiving on the other side and it suggests that there is at least the possibility for DO copies to be 10 times faster than they are at the moment. (I'm only concerned here with local connections on the same machine). 6 seconds for 1000 objects is acceptable. 60 seconds isn't. So what can be done? [At this point I went and tried another experiment]. Well sorry to waste bandwidth answering my own question, but other people may be interested in what I've just discovered. The 1130 objects in question were being copied across using FullCopyList which is an example in the DO docs. Now this encodes each object separately using encodeObjectBycopy:. I had reason to believe that each of these objects was being copied across one at a time rather than all at once. So I modified FullCopyList to send each object the encodeUsing: message itself and include the name of the class of all the objects so that they could be allocated the other side by using objc_lookUpClass(). This new way only took 3 seconds! Dave Griffiths
Newsgroups: comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Re: NS/FIP device driver examples? Organization: Primitive Software Ltd. References: <21qvd5$ot5@pith.uoregon.edu> <21s7ahINN9aj@frigate.doc.ic.ac.uk> <Jul13.002051.71222@acs.ucalgary.ca> Date: Tue, 13 Jul 1993 10:12:44 +0000 Message-ID: <1993Jul13.101244.16560@prim> Sender: usenet@demon.co.uk So what does the DriverKit do for you? Does it give you for example an abstract "hard disk driver" superclass that you can subclass your driver from? OK, it's pretty unlikely we're going to have drivers written in Obj-C! So what _is_ DriverKit? Dave Griffiths
Newsgroups: comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Re: browser problems Organization: Primitive Software Ltd. References: <33955@galaxy.ucr.edu> <1993Jul12.213944.4455@afs.com> Distribution: usa Date: Tue, 13 Jul 1993 10:19:01 +0000 Message-ID: <1993Jul13.101901.16624@prim> Sender: usenet@demon.co.uk In article <1993Jul12.213944.4455@afs.com> greg@afs.com writes: >In article <33955@galaxy.ucr.edu> theharv@csld (Brian Harvey) writes: >> >> I'm having a problem. I have a browser and each item in the browser >> has a tag that I set. I want to get the tag of a selected browser >> item but I can't seem to. >> Here's the statement I tried to use to get it: >> >> [[[sender matrixInColumn:0] selectedCell] tag]; >> >> This ALWAYS returns -1 (I looked it up in Librarian and it says >> it's supposed to). >> >> Is there another way I can get the tag value of a selected >> item in a browser? > >You have to subclass BrowserCell and add an ivar. The 'tag' and 'setTag:' >methods are prototyped in the Cell class, but subclasses are responsible >for allocating the storage to remember tag values. Here's the code: In fact using tags or an associated object pointer is so common with NXBrowserCell that NeXT should consider adding the capability themselves. Dave Griffiths
Newsgroups: comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Re: perform: with: afterDelay:cancelPrevious: doesn't work from threads Organization: Primitive Software Ltd. References: <1993Jul8.113732.321@uunet!cbmvax!xmws!kripalu> <21r4gh$2i2@cheltenham.cs.arizona.edu> <2q$@byu.edu> Date: Tue, 13 Jul 1993 10:05:49 +0000 Message-ID: <1993Jul13.100549.16498@prim> Sender: usenet@demon.co.uk In article <2q$@byu.edu> yackd@idaho.et.byu.edu (Don Yacktman) writes: >In article <21r4gh$2i2@cheltenham.cs.arizona.edu>, kline@CS.Arizona.EDU (Nick Kline) writes: >>What what about DPSAddTimedEntry? >> >>This add's a C function that is called periodically. The docs seem to >>suggest that this is between event servicing, thus it is safe to call the >>appkit here. > >Sure, these all work as an alternative to threads. They are not separate >threads, however. The true benefit of multiple threads is seen on a multi- >processor system. On an MP, the threads can be run on different CPUs, thus >improving the throughput of your code. The methods you suggest are much >simpler and do not require locking because they are all in the same thread >and therefore are synchronized by definition. But on an MP, by virtue of >all being in the same thread, they won't allow for concurrency that might >otherwise be exploited. Of course, until you can get NS for MP machines, >this is a much simpler way to write your code. If you want to plan for the >future, though, take the dive into threads... (Of course, I'd hope to see >finer grained parallelism, too, someday...but threads are a reasonable >tradeoff at this point for some applications.) > >I'm sure there's plenty more that could (and will) be said about this... You get benefits from threads even without a MP. If you've only got one application active with one thread, when you do I/O it has to wait and those CPU cycles are wasted. With multiple threads, when one thread blocks for I/O, another one can continue using the CPU. But the main advantage of threads, at least in NeXTSTEP apps, is that they allow the main thread to continue responding to user events while some heavy processing takes place in the background. Dave Griffiths
From: Uwe Hoffmann Newsgroups: comp.sys.next.programmer Subject: Problems with setPath: in NXBrowser Date: 14 Jul 1993 13:09:27 GMT Organization: Forschungszentrum Informatik (FZI), Karlsruhe, Germany Message-ID: <2210i7$agb@gate.fzi.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Keywords: setPath,NXBrowser Need some help with the following problem: The workspace browser creates a new folder and selects the path to that new folder, when you type <command> - <n>. I need a browser with essentially the same behaviour. When you type, say <command> - <+> the browser should make the selected cell a branch (if it's not a branch already), then add a child cell to the selected cell and select the child cell. The underlying data structure is a tree. The browser should help manipulate the tree. The method setPath: (called to select the newly added cell) fails if the cell is in a column with no previous cells (i.e. the column was not loaded before); it works when the column was loaded and has cells. thanks uwe....................................the jungle V.I.P.
Newsgroups: comp.sys.next.programmer From: brisinda@cpsc.ucalgary.ca (Dale Brisinda) Subject: PostScript: Instance Drawing Contexts Message-ID: <BRISINDA.93Jul13132401@fsd.cpsc.ucalgary.ca> Sender: news@cpsc.ucalgary.ca (News Manager) Organization: University of Calgary Date: Tue, 13 Jul 1993 20:24:01 GMT I have an interesting problem. I have 2 views in an application each performing instance drawing at regular intervals via timed-entries. For example, I may be drawing a blinking cursor or something in each view. Is there some way to create multiple instance drawing "contexts" so invocation of [self lockFocus]; PSinstance(YES); PSnewinstance(); // drawing code PSinstance(NO); [self unlockFocus]; does not erase ALL previous instance drawing in the current window but only instance drawing that occurred in the focused view in which PSnewinstance() was invoked? Thanks for any information. --- Dale Brisinda dale@pegasus.cuc.ab.ca (NeXTmail Welcome) brisinda@cpsc.ucalgary.ca
Newsgroups: comp.lang.objective-c,comp.sys.next.programmer From: marshall@software.org (Eric Marshall) Subject: Detecting all messages to an object Message-ID: <1993Jul14.134232.21389@software.org> Sender: usenet@software.org (Usenet News/Mail Support) Organization: Software Productivity Consortium, Herndon, Virginia Date: Wed, 14 Jul 1993 13:42:32 GMT Is there a way to detect all the messages that an object is sent? This includes messages that the object is not going to handle directly, but the run-time will pass along to its superclass. Thanks in advance. Eric Marshall Software Productivity Consortium SPC Building 2214 Rock Hill Road Herndon, VA 22070 (703) 742-7153 marshall@software.org
From: marcos@kaleida.com (Paul Marcos) Newsgroups: comp.sys.next.programmer Subject: Re: Rotating NXImages Date: 14 Jul 1993 14:59:45 GMT Organization: Kaleida Labs, Inc. Distribution: world Message-ID: <221711INNcs1@golden.kaleida.com> References: <YgEt2B200WA7AM4thL@andrew.cmu.edu> In article <YgEt2B200WA7AM4thL@andrew.cmu.edu> David Apfelbaum <da0g+@andrew.cmu.edu> writes: > I (literally) just finished dealing with this... (I needed to cache a > rotated/scaled NXBitmapImage inside a NXImage for (fast) display inside > a ScrollView... *whew*) > > Try: > if ([myNXImage lockFocus]) { > PSscale((float)Sx, (float)Sy); > PStranslate((float)Tx, (float)Ty); > PSrotate((float)degrees); > [myNXImage unlockFocus]; > } > I too just finished dealing with this. Another approach, I suspect slower but simpler, is to rotate the View's drawing coordinates and tell the image rep to draw in a specific rectangle. I use: [self setDrawRotation: tempAngle]; [[theNXImageObject bestRepresentation] drawIn: &imageRect]; The only caveat to this is that you can't do it with an NXCachedImageRep because that doesn't have enough information to redraw itself properly. I've only used this with NXBitmapImageReps and it works REALLY well. I use it to draw a hand of cards that can be fanned out as if you were holding them in your hand. Along with this, as the previous poster mentioned, you may need to do translation of the origin using setDrawOrigin: to get the appropriate results. Paul ................................................................... Paul Marcos NeXTMail appreciated Kaleida Labs, Inc. marcos@kaleid.com ...................................................................
Newsgroups: comp.sys.next.programmer From: prail@doc.tip.ameslab.gov (Joel Prail) Subject: DriverKit Message-ID: <CA5u9o.H70@news.iastate.edu> Keywords: DriverKit, Examples Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA Date: Wed, 14 Jul 1993 15:12:59 GMT Two questions: 1. Where is the example source code for drivers??? Hey, all I need is a simple driver that reads to and writes to a single hardware port. Simple interrupt capabilities would be nice... Has anyone tried writing a driver yet? I don't even care if a driver works -- I would really like to see some of your code!!! 2. Supposing my needs for hardware control are minimal (a simple DAC), can I just use inw() and outw() from my appkit program to mess with hardware? Can I get fancy and even include some interrupt support and maybe even DMA jazz later??? My guess is that the answer will be "wait for 3.2 or 4.5 or ???.???" Thanks! Joel Prail, Computer Engineer Ames Laboratory, Iowa State University
From: alex@cs.umd.edu (Alex Blakemore) Newsgroups: comp.sys.next.programmer Subject: Re: Neat Apps to do Text File Conversion and UUDecode Message-ID: <69288@mimsy.umd.edu> Date: 14 Jul 93 15:33:49 GMT References: <21v22d$2tn@menudo.uh.edu> Sender: news@mimsy.umd.edu Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 In article <21v22d$2tn@menudo.uh.edu> glover@uh.edu (John Glover) writes: > I am looking for two programs that I know must exist in a thousand incarnations: > 1. A program to convert between text files for Unix, DOS, and Macintosh, > converting the end-of-line characters as necessary. you want Rosetta.app from sonata. its free and has a nice drag & drop interface. -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted -------------------------------------------------------------- "Without an engaged and motivated human being at the keyboard, the computer is just another dumb box." William Raspberry
Newsgroups: comp.sys.next.programmer From: ivor@binkley.cs.mcgill.ca (Ivo ROTHSCHILD) Subject: NXHost dock App Message-ID: <2219ni$kok@binkley.cs.mcgill.ca> Sender: news@sifon.cc.mcgill.ca Organization: SOCS - Mcgill University, Montreal, Canada Date: Wed, 14 Jul 1993 15:45:54 GMT Since many apps are not available as fat binaries yet (if ever), it would be really nice to have the following app: - It would run on a NeXTStation NXHost'ed to an Intel box. - It would be a dock of apps or a file browser. - Double clicking on an app would launch it on the NeXT machine NXHost'ing it to the Intel machine. This wouldn't be very difficult at all but unfortunately I don't have the time to write it right now. So, could someone (with a little free time) please write it? I'm sure it would make a lot of people happy. Maybe there's something already like this available. If so, where can I get it? -ivo ivor@binkley.cs.mcgill.ca
Newsgroups: comp.sys.next.programmer From: aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) Subject: Problems removing a button from its superview... Message-ID: <14JUL93.16403550@enh.nist.gov> Sender: news@dove.nist.gov Organization: NIST Date: Wed, 14 Jul 1993 21:40:35 GMT Hi, a quick question: I am trying to have a button that is capable of removing itself from its superView when it is clicked. The problem, is that I am getting: "Assertion failed: You removed a View from the View hierarchy that had been lockFocus'ed" This really wont affect my app too much, I will just leave the button on the screen, but it would be nice if it would be able to remove itself. I think the problem stems from the fact that the button sends its action message BEFORE it changes its display back to un-pressed. Is there a style of button that sends its message afterwards? I am not really interested in subclassing button to do this. Thanks for your help. My E-Mail address is : day@spot.aoml.erl.gov Kevin
Newsgroups: comp.sys.next.programmer From: bkr@drdhh.hanse.de (Bjoern Kriews) Subject: mouseMoved vs. TimedEntry (pls help !) Message-ID: <1993Jul14.042557.2228@drdhh.hanse.de> Organization: Digital Island Date: Wed, 14 Jul 1993 04:25:57 GMT Hello Netland ! I am desperately hacking on my first real application and I stumbled in a 'experience' problem: The App is an raster-oriented drawing program for working templates where the user depends on seeing the actual position everytime. Holding shift to see them temporarily is not applicable. So I started implementing a Coord-Display. My first approach were mouseMoved-Events that checked if the change was more than one grid-step and then updated the display. After looking at an idle-meter when moving around the mouse a bit, (0% idle) I decided that this was not the way to go. I have not found any example doing such stuff, so I tried another effort: A DPSTimedEntry: static void trackhandler(DPSTimedEntry tracktimer,double now,void *userdata) { DrawView *tmpview = (DrawView *) userdata; NXPoint pt; [tmpview->window getMouseLocation: &pt]; [tmpview convertPoint:&pt fromView:nil]; [tmpview->posDisplay setX: pt.x Y: pt.y]; } set off for every 0.1 seconds. This one is better (constantly 15-20% system performance) but I think there must be a better way. (I know there is DPScurrentmouse, but it is not documented [2.1]). Please, if anyone has implemented such a display before, can you please give me a hint or send me some piece of code ? The resulting app will be GNU-licensed. Please reply by mail since our newsfeed seems to be drunk. Greetings and thanks for your time, Bjoern -- bkr@drdhh.hanse.de - Bjoern Kriews - Stormsweg 6 - D-2000 Hamburg 76 - FRG In the global village, everywhere has got to be a local call. (P. Chapman)
Newsgroups: comp.sys.next.programmer From: pasqua@adobe.com Subject: Re: NS/FIP device driver examples? Message-ID: <1993Jul14.163223.10076@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <1993Jul13.101244.16560@prim> Date: Wed, 14 Jul 1993 16:32:23 GMT In article <1993Jul13.101244.16560@prim> dave@prim.demon.co.uk (Dave Griffiths) writes: > So what does the DriverKit do for you? Does it give you for example an > abstract "hard disk driver" superclass that you can subclass your driver > from? OK, it's pretty unlikely we're going to have drivers written in Obj-C! > So what _is_ DriverKit? > > Dave Griffiths DriverKit is both a class hierarchy and runtime environment for writing device drivers (yes, you write them in Objective C). DriverKit has a base class (IODevice) that you subclass to write new drivers. The kit also contains subclasses of IODevice for various classes of device such as disks, displays, & ethernet cards. If you are writing a driver for one of these, you subclass the appropriate kit class and go from there. For example, if you are writing a device driver for a new framebuffer based display card, you would subclass IOFrameBufferDisplay and override about three methods and you're done. These drivers are dynamically bound into the kernel. The other major thing DriverKit gives you is a change in the way you handle interrupts. Instead of fielding interrupts directly in your driver, your driver can register interest in a particular interrupt and then wait for messages. DriverKit fields interrupts and dispatches messages to the registered driver thread. This allows the driver to be written without worrying about what it can and can't do in the interrupt routine. Of course, DriverKit does allow a driver to service interrupts directly if necessary. The model there is that the driver has a low level interrupt handler that does time critical work associated with the interrupt and dispatches a message to the device thread when some higher level processing needs to be done. For instance, the interrupt routine could read bytes from a device with a shallow buffer (avoiding overflows) and queue them in a higher level data structure. When that structure is getting full it would post a message that the high level device thread would recieve and process. This is a very high level overview of DriverKit and is by no means complete. I think some of the most interesting aspects of DriverKit are yet to come. The framework is there for some neat features in the future. Joe Pasqua
From: marcel@cs.tu-berlin.de (Marcel Weiher) Newsgroups: comp.sys.next.programmer Subject: Re: NS/FIP device driver examples? Date: 14 Jul 1993 16:36:26 GMT Organization: Technical University of Berlin, Germany Message-ID: <221cma$7dh@news.cs.tu-berlin.de> References: <21qvd5$ot5@pith.uoregon.edu> <21s7ahINN9aj@frigate.doc.ic.ac.uk> <Jul13.002051.71222@acs.ucalgary.ca> <1993Jul13.101244.16560@prim> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit dave@prim.demon.co.uk (Dave Griffiths) writes: >So what does the DriverKit do for you? Does it give you for example an >abstract "hard disk driver" superclass that you can subclass your driver >from? OK, it's pretty unlikely we're going to have drivers written in Obj-C! Unlikely but true. Marcel
From: ramani@uarc.eecs.umich.edu (Lakshmi Ramani Penmetsa) Newsgroups: comp.sys.next.programmer Subject: Appending text to a Scroll Text Obj w/o making it a firstResponder ? Date: 14 Jul 1993 17:03:53 GMT Organization: University of Michigan EECS Dept. Distribution: world Message-ID: <221e9p$qit@zip.eecs.umich.edu> hi, Does anyone know to append to a text object without making it a firstResponder? (with out using [test replaceSelection...]) I have two scroll texts in a window, one to enter a string (editScrollText) and the other to receive messages(messageScrollText). I want to be able to display messages in the messageScrollText without it becoming the first responder. Right now, whenever a message gets appended to the message window while the editScrollText is being edited, the messageScrollText becomes the first responder and the user has to click the edit window to continue editing. Is there any way to get around this? Can we somehow append to messageScrollText without making it the first responder?. I cant seem to find a way of doing it without using "setSel::","selectAll:", etc all of which make the scroll text the first responder. Or is there just no way you can do this? thank you, ramani -- NewsGrazer, a NeXTstep(tm) news reader, posting -- M>UQR=&8P7&%N<VE[7&9O;G1T8FQ<9C!<9FUO9&5R;B!#;W5R:65R.WT*7&UA M<F=L,3(P"EQM87)G<C$R,`I<<&%R9%QT>#$Q-3)<='@R,S`T7'1X,S0U-EQT M>#0V,#A<='@U-S8P7'1X-CDQ,EQT>#@P-C1<='@Y,C$V7'1X,3`S-CA<='@Q M,34R,%QF,%QB,%QI,%QU;&YO;F5<9G,R-%QF8S!<8V8P(%P*:&DL(%P*7`I$ M;V5S(&%N>6]N92!K;F]W('1O(&%P<&5N9"!T;R!A('1E>'0@;V)J96-T('=I M=&AO=70@;6%K:6YG(&ET(&$@7`IF:7)S=%)E<W!O;F1E<C\@*'=I=&@@;W5T M('5S:6YG(%MT97-T(')E<&QA8V5396QE8W1I;VXN+BY=*2`@7`I<"DD@:&%V M92!T=V\@<V-R;VQL('1E>'1S(&EN(&$@=VEN9&]W+"!O;F4@=&\@96YT97(@ M82!S=')I;F<@*&5D:7138W)O;&Q497AT*2!A;F0@=&AE(&]T:&5R('1O(')E M8V5I=F4@;65S<V%G97,H;65S<V%G95-C<F]L;%1E>'0I+B!)('=A;G0@=&\@ M8F4@86)L92!T;R!D:7-P;&%Y(&UE<W-A9V5S(&EN('1H92!M97-S86=E4V-R M;VQL5&5X="!W:71H;W5T(&ET(&)E8V]M:6YG('1H92!F:7)S="!R97-P;VYD M97(N(%P*7`I2:6=H="!N;W<L('=H96YE=F5R(&$@;65S<V%G92!G971S(&%P M<&5N9&5D('1O('1H92!M97-S86=E('=I;F1O=R!W:&EL92!T:&4@961I=%-C M<F]L;%1E>'0@:7,@8F5I;F<@961I=&5D+"!T:&4@;65S<V%G95-C<F]L;%1E M>'0@8F5C;VUE<R!T:&4@9FER<W0@<F5S<&]N9&5R(&%N9"!T:&4@=7-E<B!H M87,@=&\@8VQI8VL@=&AE(&5D:70@=VEN9&]W('1O(&-O;G1I;G5E(&5D:71I M;F<N7`I<"DES('1H97)E(&%N>2!W87D@=&\@9V5T(&%R;W5N9"!T:&ES/R!# M86X@=V4@<V]M96AO=R!A<'!E;F0@=&\@;65S<V%G95-C<F]L;%1E>'0@=VET M:&]U="!M86MI;F<@:70@=&AE(&9I<G-T(')E<W!O;F1E<C\N($D@8V%N="!S M965M('1O(&9I;F0@82!W87D@;V8@9&]I;F<@:70@=VET:&]U="!U<VEN9R`B M<V5T4V5L.CHB+")S96QE8W1!;&PZ(BP@971C(&%L;"!O9B!W:&EC:"!M86ME M('1H92!S8W)O;&P@=&5X="!T:&4@9FER<W0@<F5S<&]N9&5R+EP*7`I/<B!I M<R!T:&5R92!J=7-T(&YO('=A>2!Y;W4@8V%N(&1O('1H:7,_(%P*7`I<"G1H 586YK('EO=2Q<"G)A;6%N:5P*"GT* `
Newsgroups: comp.sys.next.programmer From: pete@ohm.york.ac.uk (Pete French) Subject: 16 bit TIFF files Message-ID: <1993Jul14.125347.12174@ohm.york.ac.uk> Organization: Electronics Department, University of York, UK Date: Wed, 14 Jul 93 12:53:47 GMT Simple question - how do I mage the NXBitmapImageRep object take 16 bit greyscale data ? I wish to write out an area of 16 bit data as a TIFF for importing into another program. This is _not_ an image, it is simply a convenient way of transfering a matrix of 16 bit numbers between programs. Unfortunately the object won't gtake 16 as a valid number of bits-per-sample for some reason. Does anyone have any good ideas on how I can do this ? -bat. PS: It has to be a TIFF - that is what the other program accepts. -- -Pete French. (the -bat. ) -+ Me copula... ailuropoda melaolenca est ! Adaptive Systems Engineering | +- Aithneoinn aigneoig amhain aigneoig eile.
From: sean@digaudio.byu.edu (Sean Luke) Newsgroups: comp.sys.next.programmer Subject: Re: Adding classes at runtime? Followup-To: comp.sys.next.programmer Date: 14 Jul 1993 17:56:40 GMT Organization: Brigham Young University Distribution: world Message-ID: <sean-140793175715@rm2221m6.cs.byu.edu> References: <219nr0INN8i4@iskut.ucs.ubc.ca> <12JUL93.22281416@enh.nist.gov> In article <12JUL93.22281416@enh.nist.gov>, aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) wrote: > > Could you please let me know of any success you had with dynamically loaded > classes? I am trying to do the same thing using bundles, and am running into > little snags.. I've had no problems. What do you need? Sean Luke sean@digaudio.byu.edu
From: Xiaotie Jiang <xj22+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: ftp server for the Mac Date: Wed, 14 Jul 1993 13:59:46 -0400 Organization: Masters student, Public Policy and Management, Carnegie Mellon, Pittsburgh, PA Message-ID: <ggF4aG200iVE89_VtP@andrew.cmu.edu> I have an interesting question. Currently, I am working on a project which is to detect the free disk space in MAC. The problem is that I have the size of message which needs to be sent to a receiver, a Mac machine. If the Mac machine has enough space to receive this message, I just go ahead and send this message. Otherwise, I will return this message to the sender. Somebody else told me that maybe I can use ftp server for the Mac. It might have a disk space free command. Can somebody tell me the address of the ftp server for the Mac ? Do you have any suggestions of how to start this project? Thank you in advance for your help. Frank Jiang
From: apl@doc.ic.ac.uk (Ari P Laakkonen) Newsgroups: comp.sys.next.programmer Subject: Re: DriverKit Date: 14 Jul 1993 19:07:19 GMT Organization: Department of Computing, Imperial College, University of London, UK. Sender: apl@doc.ic.ac.uk Message-ID: <221lh7INNg81@frigate.doc.ic.ac.uk> References: <CA5u9o.H70@news.iastate.edu> Keywords: DriverKit, Examples In article <CA5u9o.H70@news.iastate.edu> prail@doc.tip.ameslab.gov (Joel Prail) writes: >Two questions: > >1. Where is the example source code for drivers??? Hey, all I need is a >simple driver that reads to and writes to a single hardware port. Simple >interrupt capabilities would be nice... Has anyone tried writing a driver >yet? I don't even care if a driver works -- I would really like to see >some of your code!!! - I haven't seen any source code examples. I asked Next, but they said wait for 3.2. I wanted to write a video driver and a sound card driver. You could, if you were determined enough, use otool and disassemble a few drivers. The problem with that is the undocumented calls. Have you looked at regular unix device drivers, like under Linux? Sounds like most of your stuff could be done using those as skeletons, but I'd bet that there would still be a few problems.. > >2. Supposing my needs for hardware control are minimal (a simple DAC), >can I just use inw() and outw() from my appkit program to mess with >hardware? Can I get fancy and even include some interrupt support and >maybe even DMA jazz later??? > >My guess is that the answer will be "wait for 3.2 or 4.5 or ???.???" > - Naturally the answer is "wait for 3.2". Or use Linux :-). > >Thanks! > >Joel Prail, Computer Engineer >Ames Laboratory, Iowa State University - Other drivers that people would probably be keen to see are real serial port drivers that e.g. control serial port #3. Not all machines have 2 serial ports. And a generic segmented VGA driver... are we hoping for too much? Ari (apl@doc.ic.ac.uk)
From: isbell@cats.ucsc.edu (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: 3.1 DBKit and Sybase adaptor Date: 14 Jul 1993 20:42:28 GMT Organization: Cubic Solutions - NeXT software development and consulting Distribution: world Message-ID: <221r3kINNfur@darkstar.UCSC.EDU> Summary: How does one make triggers errors detectable by the adaptor? The 3.1 release notes state that the following has been fixed in 3.1: Reference: 30417 Problem: Sybase adaptor ignores trigger-generated errors. Description: Errors that are signalled by Sybase triggers aren't detected by the Sybase adaptor. This was a 3.0 bug that we depended on being fixed, but under 3.1, trigger-generated errors still don't seem to be recognized by the Sybase adaptor. This is probably due to my lack of knowledge of Sybase trigger errors. How does one properly signal an error in a Sybase trigger such that the Sybase adaptor detects it? I'm using the "raiserror" SQL command in my triggers which does display an Alert panel, but the UI continues along as if the transaction completed successfully (i.e., the FetchGroup no longer has unsaved changes). "rollback transaction" doesn't seem to work and doesn't seem applicable because I'm not using a user-defined transaction. Any help would be appreciated. -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: isbell@cats.UCSC.EDU Voice: (408)335-1154 USmail: 95018-9442 Fax: (408)335-2515
From: moose@svcdudes.com Newsgroups: comp.sys.next.programmer Subject: Re: How do you set two stop bits on a serial port? Message-ID: <1993Jul14.005259.4053@svcdudes.com> Date: 14 Jul 93 00:52:59 GMT References: <1993Jul11.212340.314@Radical.Com> Sender: news@svcdudes.com Distribution: na Organization: Software Ventures, Inc. In article <1993Jul11.212340.314@Radical.Com> Jim_Brownfield@radical.com (Jim Brownfield) writes: > > How can you set a serial port on NS/FIP for two stop bits (CSTOPB in > POSIX/System 7)? There are POSIX calls to do it (tcsetattr), but there is no > way to build a POSIX application in 3.1 (at least according to the release > notes, and I can't find a library with this call - also, there doesn't seem to > be a way to set stop bits in 3.1's expanded ioctl's). The device I'm talking > to has no adjustments and requires 8 bits/two stop bits (so there's no faking > it with 7 bits and a bogus 8th bit). > 1> You can't deal with serial ports at all right now on NS/FIP 2> Even if you could deal with serial ports, you can't do anything but a 10 bit data frame. 3> Supposedly, you can write something with the driver kit, but I wouldn't hold my breath. -- Michael Rutman | moose@svcdudes.com Cubist | makes me a NeXT programmer Software Ventures | maker of MicroPhone Pro #include <std.disclaimer> | really offensive political statement
Newsgroups: comp.sys.next.programmer From: Bob_Vadnais@pdh.com (Bob Vadnais) Subject: Re: browser problems Message-ID: <CA64qJ.LAr@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. References: <1993Jul13.101901.16624@prim> Date: Wed, 14 Jul 1993 18:59:07 GMT In article <1993Jul13.101901.16624@prim> dave@prim.demon.co.uk (Dave Griffiths) writes: > > In fact using tags or an associated object pointer is so common > with NXBrowserCell that NeXT should consider adding the capability > themselves. What do you mean "should consider"? 8-) As with many other wheels I and surely others have reinvented, a tagged browser cell class already covertly lives in the shared library that constitutes most of the AppKit. It would be nice if NeXT published some of the more useful classes that they have developed. Don't get me wrong: I don't think NeXT should have to document, test, and support every class and method used in the AppKit (or any other kit). That's the main point of encapsulation, right? Internal classes are encapsulation at the kit or library level. Below is an #import'able header that should enable you to use the NXTaggedBrowserCell class in /usr/shlib/libNeXT_s.C.shlib. Disclaimer: only tested under 3.0, subject to change without notice, etc. @interface NXTaggedBrowserCell: NXBrowserCell { void *data; } - free; - reallyFree; - setTag:(int) aTag; - (int) tag; - setList:aList; - list; - initTag:(int) aTag; - init; - (BOOL) isActive; - setActive:(BOOL) active; - setTextAttributes:textObject; @end Cheers, Bob -- Bob_Vadnais@pdh.com (NeXT Mail welcome) PDH Inc., 2635 North First Street Suite 224, San Jose, CA 95134-2034 Voice: (408)428-9596 Fax: (408)428-9599
Newsgroups: comp.sys.next.programmer From: cooldude@leland.Stanford.EDU (Imran Qureshi) Subject: Re: Code for Object - perform:with:with:with: Message-ID: <1993Jul14.223625.5301@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: DSG, Stanford University, CA 94305, USA References: <abellCA4tBH.9Au@netcom.com> Distribution: na Date: Wed, 14 Jul 93 22:36:25 GMT In article <abellCA4tBH.9Au@netcom.com>, abell@netcom.com (Steven T. Abell) writes: |> The Object class provides perform:, perform:with:, and peform:with:with:. |> Does anyone out there have code for peform:with:with:with:? |> |> Steve abell@netcom.com I seem to remember there is something called performv: which lets you specify as many arguments as you want. Laters, Imran
Newsgroups: comp.sys.next.programmer From: jon@afs.com Subject: Re: NS/FIP device driver examples? Message-ID: <1993Jul14.160019.2101@afs.com> Sender: jon@afs.com References: <1993Jul13.101244.16560@prim> Date: Wed, 14 Jul 1993 16:00:19 GMT In article <1993Jul13.101244.16560@prim> dave@prim.demon.co.uk (Dave Griffiths) writes: | So what does the DriverKit do for you? Does it give you for example an | abstract "hard disk driver" superclass that you can subclass your driver | from? OK, it's pretty unlikely we're going to have drivers written in Obj-C! | So what _is_ DriverKit? | Yes, the drivers are in ObjC. These are headers for the Objective-C driverkit base classes. jon@fugue> ls - /NextDeveloper/Headers/driverkit IOAddressRanger.h IOLogicalDisk.h generalFuncs.h IOConfigTable.h IONetbufQueue.h i386/ IODevice.h IONetwork.h interruptMsg.h IODeviceDescription.h IOSCSIController.h kernelDiskMethods.h IODeviceInspector.h IOVideoDeviceInspector.h kernelDriver.h IODeviceMaster.h align.h return.h IODirectDevice.h debugging.h scsiTypes.h IODisk.h debuggingMsg.h tokendefs.h IODiskPartition.h devsw.h tokensr.h IOEthernet.h driverTypes.h There is only one example. Unfortunately, it doesn't do anything but say it's loaded and respond to probes. Hence the name: "NullDriver". -- Jon Hendry It's a thousand classes, give or take a few, <jon@afs.com> I'll be writing more in a week or two. I can make it deeper if you like the style, I can change it round and I want to be an ObjectWare Writer
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: balu@jensen.cc.brandeis.edu (t balasubramanian) Subject: Help Subprocess Message-ID: <1993Jul15.002926.13197@news.cs.brandeis.edu> Sender: news@news.cs.brandeis.edu (USENET News System) Organization: Brandeis University Date: Thu, 15 Jul 1993 00:29:26 GMT Hi, This is probably a very simple question about the Subprocess program in \NextDeveloper\Examples\Unix\Subprocess. I am interested in including a button in the main NibFile ; when I click this button I want a command to be sent to the scroll window ( for example some text like ls). It should then execute that command like it does when one types the command in the scroll window. With my minimal amount of programming knowledge I tried all I can do and can't make this to work. Can someone who is more knowledgeable - please let me know how to do this and preferably send me a sample code. Thanks very much T. Balu
Newsgroups: comp.sys.next.programmer From: Bob_Vadnais@pdh.com (Bob Vadnais) Subject: Re: Code for Object - perform:with:with:with: Message-ID: <CA6K3I.1Fs@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. References: <abellCA4tBH.9Au@netcom.com> Date: Thu, 15 Jul 1993 00:30:52 GMT In article <abellCA4tBH.9Au@netcom.com> abell@netcom.com (Steven T. Abell) writes: > > The Object class provides perform:, perform:with:, and > peform:with:with:. Does anyone out there have code for > peform:with:with:with:? #import <objc/Object.h> @interface Object(PerformExtentions) - perform:(SEL) aSel with:snap with:crackle with:pop; @end @implementation Object(PerformExtentions) - perform:(SEL) aSel with:snap with:crackle with:pop { return objc_msgSend(self, aSel, snap, crackle, pop); } @end Cheers, Bob -- Bob_Vadnais@pdh.com (NeXT Mail welcome) PDH Inc., 2635 North First Street Suite 224, San Jose, CA 95134-2034 Voice: (408)428-9596 Fax: (408)428-9599
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Window Palettes Date: 14 Jul 1993 20:04:45 -0700 Message-ID: <222hgd$su4@ursula.ee.pdx.edu> Summary: Is threre a way to setContentView a window palette? I probably should have thought this through more but.. I'd like to have a window palette that uses a different superview. Interface Builder uses some kinda of meta-class for window objects (WindowTemplate) and I'm wondering if it is possible (and if it is possible, not a totally recklessly stupid thing to do). I tried some method coercing, but no luck. Also, in the content of palettes, does anyone know a way to programitically create a window that IB can deal with? I can get it to register the window I create, but it has no title and the window inspector doesn't work. ??
From: blake015@mc.duke.edu (Denise Blakeley) Newsgroups: comp.sys.next.programmer Subject: Help--getting document icon to display (Pre-3.0) Message-ID: <17716@news.duke.edu> Date: 15 Jul 93 03:53:33 GMT Sender: news@news.duke.edu I have an app (say, Foo.app) which was written by someone else before NeXTSTEP 3.0; it handles several different file types. It has an icon for each of these file types, so that whenever I click on a file in the Workspace with that extension, Foo.app's icon for it shows. I'm trying to extend Foo.app to handle yet another file type: .foo. I am not supposed to have to recompile, so I haven't. I've put the file extension (without the period) in the iconheader, and dropped the new icon into the image suitcase in IB. If I fire up Foo.app and drop a .foo file into it, it works beautifully. Foo.app resides in /LocalApps. Now for the problem. In the Workspace the .foo file shows up with the generic document icon and if I double-click on it it's opened by Edit. If I pull up the Inspector, Foo.app is not displayed as an option for opening the file. How can I get the new icon to display in the Workspace for a .foo file? Like I said, no compiling is supposed to be necessary so I can't use PB. (Besides, I tried that already and PB did major surgery on the app!) Any help is appreciated! I'm sure there's an easy answer but I can't dig it out of Digital Librarian or NeXTAnswers. Denise -- Denise Blakeley | PROGRAM, tr. v., An activity similar Duke Med Center Info Systems | to banging one's head against a wall, Durham, NC | but with fewer opportunities for (919) 282-6468 W | reward. blake015@mc.duke.edu |
Newsgroups: comp.sys.next.programmer From: abell@netcom.com (Steven T. Abell) Subject: Re: Code for Object - perform:with:with:with: Message-ID: <abellCA6HMt.7ME@netcom.com> Organization: Netcom Online Communications Services (408-241-9760 login: guest) References: <abellCA4tBH.9Au@netcom.com> <1993Jul14.223625.5301@leland.Stanford.EDU> Distribution: na Date: Wed, 14 Jul 1993 23:37:39 GMT cooldude@leland.Stanford.EDU (Imran Qureshi) writes: >abell@netcom.com (Steven T. Abell) writes: >> The Object class provides perform:, perform:with:, and peform:with:with:. >> Does anyone out there have code for peform:with:with:with:? >I seem to remember there is something called performv: which lets you specify >as many arguments as you want. The Object docs say not to do this, for various reasons that seem legitimate. I'd prefer something a little safer. Steve abell@netcom.com
Newsgroups: comp.sys.next.programmer From: greg@afs.com (Gregory H. Anderson) Subject: Re: Detecting all messages to an object Message-ID: <1993Jul14.192019.5985@afs.com> Sender: greg@afs.com References: <1993Jul14.134232.21389@software.org> Date: Wed, 14 Jul 1993 19:20:19 GMT In article <1993Jul14.134232.21389@software.org> marshall@software.org (Eric Marshall) writes: > Is there a way to detect all the messages that an object > is sent? This includes messages that the object is not going to > handle directly, but the run-time will pass along to its superclass. Not without hacking the runtime system to inform you of all cases where the first intended receiver of a message is the object (address) in question. Only objc_msgSend() and objc_msgSendv() know for sure, because the compiler converts all messaging source code into one of those two forms. (There is also objc_msgSendSuper(), but that would always be nested inside a previous call to one of the other two.) -- Gregory H. Anderson | "If you've got eyes to rhythmatize Composer-in-Residence | Bring your flat hat and your ax Anderson Financial Systems | 'Cause tonight at 10 we'll be workin' again" greg@afs.com (NeXTmail OK) | -- Donald Fagen, "Teahouse on the Tracks"
Newsgroups: comp.sys.next.programmer From: jon@afs.com Subject: Re: NXHost dock App Message-ID: <1993Jul14.210807.1078@afs.com> Sender: jon@afs.com References: <2219ni$kok@binkley.cs.mcgill.ca> Date: Wed, 14 Jul 1993 21:08:07 GMT In article <2219ni$kok@binkley.cs.mcgill.ca> ivor@binkley.cs.mcgill.ca (Ivo ROTHSCHILD) writes: | Since many apps are not available as fat binaries yet (if ever), it | would be really nice to have the following app: | | - It would run on a NeXTStation NXHost'ed to an Intel box. | - It would be a dock of apps or a file browser. | - Double clicking on an app would launch it on the NeXT machine | NXHost'ing it to the Intel machine. NeXTSTEP3.1 comes with an app called OpenSesame. With it, you can set a default NXHost host. Once that's done, you can NXHost an app in a few ways- - From inside OpenSesame's GUI. - As a service- (select app icon, choose service) - Drag app icon onto running OpenSesame icon. in each case, the app will be run on the other machine and NXHost back to yours. If using the Service interface, you can specify other machines to be the host. (Run on bach, Run on escher, Run on godel, for Example) -- Jon Hendry It's a thousand classes, give or take a few, <jon@afs.com> I'll be writing more in a week or two. I can make it deeper if you like the style, I can change it round and I want to be an ObjectWare Writer
From: arrigo@cube.sublink.org (Arrigo Benedetti) Newsgroups: comp.sys.next.software,comp.sys.next.programmer,comp.windows.x Subject: Problems compiling X program on NeXT Message-ID: <1993Jul14.183216.178@cube.sublink.org> Date: 14 Jul 93 18:32:16 GMT Sender: arrigo@cube.sublink.org Organization: Arrigo Benedetti I have some troubles compiling xtexcad 1.2 on my NeXT cube running 3.0 and MouseX X11R5. The sources compiles with a lot of warnings but the linker says: /arrigo/tex/texcad% make -f Makefile.std cad cc -s -o xtexcad oberfl.o ereignis.o file_sel.o pickedit.o graphics.o io_trans.o yyscan.o -lXaw -lXmu -lXt -lXext -lX11 -lm -ll /bin/ld: Undefined symbols: __XExtensionErrorFunction *** Exit 1 Stop. I did not find any reference of the __XExtensionErrorFunction symbol in the sources, and, as I'm not an X wizard, I'm giving up. Does anyone know what's the problem? If I come to compile it succesfully I will post the patches and/or upload it to the archives. Thanks, Arrigo Benedetti -- Arrigo Benedetti e-mail: arrigo@cube.sublink.org (preferred) University of Bologna benedett@deis01.cineca.it Tel: (home) +39 59 224929 (office) +39 59 216688 (fax) +39 59 220727 - I WILL DESIGN CHIPS FOR FOOD! -
Newsgroups: comp.sys.next.programmer From: drew@fnbc.com (Drew Davidson) Subject: Re: Code for Object - perform:with:with:with: Message-ID: <1993Jul14.165307.6140@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA References: <abellCA4tBH.9Au@netcom.com> Distribution: na Date: Wed, 14 Jul 93 16:53:07 GMT In article <abellCA4tBH.9Au@netcom.com> abell@netcom.com (Steven T. Abell) writes: > The Object class provides perform:, perform:with:, and peform:with:with:. > Does anyone out there have code for peform:with:with:with:? > > Steve abell@netcom.com either (1) - perform:(SEL)aSelector with:obj1 with:obj2 with:obj3 { return(objc_msgSend(self,aSelector,obj1,obj2,obj3)); } or (2) (since you aren't supposed to call objc_msgSend() yourself), - perform:(SEL)aSelector with:obj1 with:obj2 with:obj3 { IMP funcForMethod = [self methodFor:aSelector]; return((funcForMethod)(self,aSelector,obj1,obj2,obj3)); } -- +--------------------------------+-------------------------------------------+ | Drew Davidson | "Never ask a programmer if he'll have | | Software Guy | another cup of coffee because it's | | First National Bank of Chicago | nobody's damn business how much he's | | drew@fnbc.com (NeXTmail) | already had!" - me | +--------------------------------+-------------------------------------------+
Newsgroups: comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: Re: Compressed swap Message-ID: <Jul15.065724.10664@acs.ucalgary.ca> Date: Thu, 15 Jul 1993 06:57:24 GMT Distribution: na References: <1993Jul12.110413.620@gamelan> <1993Jul14.025517.1089@imani.cam.org> Organization: The University of Calgary, Alberta > In case of nocompress, swapfile is _THE_ swap file. Simple. > > In case of no nocompress, swapfile.front is _the_ swap file, > while swapfile is the _compressed_ swap file. Right so far? > (It's what I understand from your post). Well... "swapfile" is ALWAYS the physical swapfile. The size of this file tells you how much disk is being used by the swapfile. If you are using the standard paging mechanism then "swapfile" is also the logical swapfile. If you're using the "swaptomizer" to compress the swap then "swapfile.front" is the logical swapfile. In this case the size reported for "swapfile.front" is only the logical size of the file. It does NOT exist in that form on the disk, only in compressed form inside the physical swapfile. > Now, what I read about compressing the swapfile, it does one > thing: reduce the amount of stuff you need to access in the > swapfile by compressing it, therefore speeding the machine up. > This makes sense if swapfile.front _replaces_ swapfile (i.e. it > is just let to sit there until it is needed. > > Otherwise, you would have to write to both swapfiles, thus > _adding_ to the data sent/received, and slowing things down. > This does _NOT_ make sense to me. No no no. As mentioned above, swapfile.front doesn't actually exist. It's just a logical mapping for an uncompressed version of the the swapfile. > This would also explain, to me, that the swapfile does not grow > in the exemple given earlier in this thread. It stays at 16 > Megs, while swapfile.front grows to more than 28 Megs. Either > it is being left alone, or Mach/Unix manages to squeeze it into > half it's size using some (I guess) highly speed-optimized > compression algorithm. The latter is actually true. Impressive, no? And REALLY useful for people with fast processors and slow drives. > Very good. Almost too good to be true. (one way to test this > would be to grow the swap file to some _huge_ size, just to see > how files react when you _CAN'T LOGICALLY_ compress into the > lowat [ something like 60 Megs for the 16 Megs loat. Don't have > the HD space on hand to try. Sob... 8^)) Very good, and very true. You could always trust the word of the engineers that wrote the thing. I've never heard of another UNIX that compresses its swapfile and was most impressed with the effectiveness. > So, what's up? Am I _THAT_ lost in the woods? Not really, just a little off the path :-) -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
Newsgroups: comp.sys.next.programmer Subject: signaling, curses and NeXT - please help Message-ID: <1993Jul15.080837.27664@urz.unibas.ch> From: frank@ifi.unibas.ch (Robert Frank) Date: Thu, 15 Jul 1993 08:08:37 GMT Sender: news@urz.unibas.ch (USENET News System) Organization: Institut fuer Informatik Hi everybody, I'm stuck again. I'm trying to create a very simple multiplatform program using curses. I've successfully compiled and run the code under Ultrix (Dec unix) but fail to do so on the NeXT. First, I have very little documentation and have read what I have. I am using NeXTSTEP 3.0 on black hardware. The two things I'm puzzled about are: - setting a signal function to intercept an interrupt. According to the examples, this ought to be something like: #include <signal.h> trap(sig) int sig; { endwin(); exit(sig); } /* trap */ and the call to install the function: (void) signal(SIGINT, trap); (This will give me a compiler warning about incompatible pointers; I havn't yet figured out what the declaration must be in order to avoid this.) As I said, this works fine under Ultrix, but bombs on the NeXT (bus error). What am I doing wrong? - the implementation and use of curses. According to the manuals, I should issue 'initscr()' before the first use of any curses library and 'endwin()' after the last. The NeXT doesn't seem to have 'endwin()'! Is this correct? In order to read a character through the current window, I should use something like (action is an int): action = wgetch(window); but here the compiler claims that I am not ignoring a void 'return value' - if wgetch() doesn't return any value, where do I get the character read from? Any help greatly apreciated. Thanks, Robert -- Robert Frank tel. + (061) 321 99 67 Institut fuer Informatik fax + (061) 321 99 15 University of Basel, Switzerland Mittlere Strasse 142 rfc822: frank@ifi.unibas.ch (NeXT mail accepted) CH-4056 Basel X400: S=frank;OU=ifi;O=unibas;P=switch;A=arcom;C=ch ( if all fails try frank@urz.unibas.ch )
Newsgroups: comp.sys.next.programmer From: kunal@passion.pilot.dmg.ml.com (Kunal Singh) Subject: MEMORY-MAPPED FILES Message-ID: <CA5u9v.7F5@tigadmin.ml.com> Sender: kunal@passion (Kunal Singh) Organization: Merrill Lynch Debt Markets Group Date: Wed, 14 Jul 1993 15:13:06 GMT Does anyone know why NeXTSTEP doesn't allow writing to memory-mapped files ? Has this been changed in later releases i.e. 3.1 ?
From: li@csgrad.cs.vt.edu (Wei Li) Newsgroups: comp.sys.next.programmer Subject: how to use cc++ in NeXTStep Message-ID: <4787@creatures.cs.vt.edu> Date: 15 Jul 93 03:30:59 GMT Sender: usenet@creatures.cs.vt.edu Distribution: usa Organization: VPI&SU Computer Science Department, Blacksburg, VA I just tried to use "cc++" under "/bin". It is the "hello" program with just one "cout" statement. The linker told me that "cout" is undefined. I went to "/usr/include" directory and could not find "cout" in any .h files. Could someone enlight me of what I am missing here. Please send advise to my email accout to help the trafic on the net. Thanks. -wei,
Newsgroups: comp.sys.next.programmer From: luke@research.canon.oz.au (Luke Kendall) Subject: How are devices named under NeXTstep? Message-ID: <CA54sp.M3q@research.canon.oz.au> Sender: news@research.canon.oz.au Organization: Canon Information Systems Research Australia Date: Wed, 14 Jul 1993 06:02:48 GMT I've just spent an hour (without success), trying to find where NeXT document their naming conventions for devices. In particular, for devices that can be mounted as a filesystem. Does anyone know where this is documented, or are you just expected to `know' that `fd' means floppy, `od' means optical discs, and so on? I'm writing a utility that determines, from a full pathname, what type of file system the file is on (whether it's removable, the volume label if it is, and so on). Luke Kendall, Senior Software Engineer. | Net: luke@research.canon.oz.au Canon Information Systems Research Australia | Phone: +61 2 805 2982 P.O. Box 313 North Ryde, NSW, Australia 2113 | Fax: +61 2 805 2929 -- Luke Kendall, Senior Software Engineer. | Net: luke@research.canon.oz.au Canon Information Systems Research Australia | Phone: +61 2 805 2982 P.O. Box 313 North Ryde, NSW, Australia 2113 | Fax: +61 2 805 2929
Newsgroups: comp.sys.next.programmer Subject: Re: signaling, curses and NeXT - please help Message-ID: <1993Jul15.112534.1828@urz.unibas.ch> From: frank@ifi.unibas.ch (Robert Frank) Date: Thu, 15 Jul 1993 11:25:34 GMT Sender: news@urz.unibas.ch (USENET News System) References: <1993Jul15.080837.27664@urz.unibas.ch> Organization: Institut fuer Informatik In article <1993Jul15.080837.27664@urz.unibas.ch> frank@ifi.unibas.ch (Robert Frank) writes: > Hi everybody, > > I'm stuck again. I'm trying to create a very simple multiplatform program using > curses. I've successfully compiled and run the code under Ultrix (Dec unix) but > fail to do so on the NeXT. > > First, I have very little documentation and have read what I have. I am using > NeXTSTEP 3.0 on black hardware. > > - the implementation and use of curses. > According to the manuals, I should issue 'initscr()' before the first use of > any curses library and 'endwin()' after the last. The NeXT doesn't seem to have > 'endwin()'! Is this correct? Oops, my mistake. I forgot to declare the function external. > In order to read a character through the current window, I should use something > like (action is an int): > action = wgetch(window); > but here the compiler claims that I am not ignoring a void 'return value' - if > wgetch() doesn't return any value, where do I get the character read from? Again, my fault. This time it was an incorrect external declaration. The signal registration error remains, though. -Robert -- Robert Frank tel. + (061) 321 99 67 Institut fuer Informatik fax + (061) 321 99 15 University of Basel, Switzerland Mittlere Strasse 142 rfc822: frank@ifi.unibas.ch (NeXT mail accepted) CH-4056 Basel X400: S=frank;OU=ifi;O=unibas;P=switch;A=arcom;C=ch ( if all fails try frank@urz.unibas.ch )
Newsgroups: comp.sys.next.programmer From: harit@kripalu.com Subject: Re: 3.1 DBKit and Sybase adaptor Message-ID: <1993Jul15.112421.2628@uunet!cbmvax!xmws!kripalu> Sender: harit@uunet!cbmvax!xmws!kripalu Organization: Kripalu Center References: <221r3kINNfur@darkstar.UCSC.EDU> Date: Thu, 15 Jul 93 11:24:21 GMT In article <221r3kINNfur@darkstar.UCSC.EDU> isbell@cats.ucsc.edu (Art Isbell) writes: > > > The 3.1 release notes state that the following has been fixed in 3.1: > > Reference: 30417 > > Problem: Sybase adaptor ignores trigger-generated errors. > > Description: Errors that are signalled by Sybase triggers aren't detected by > the Sybase adaptor. > > This was a 3.0 bug that we depended on being fixed, but under 3.1, > trigger-generated errors still don't seem to be recognized by the Sybase > adaptor. This is probably due to my lack of knowledge of Sybase trigger > errors. How does one properly signal an error in a Sybase trigger such that > the Sybase adaptor detects it? I'm using the "raiserror" SQL command in my > triggers which does display an Alert panel, but the UI continues along as if > the transaction completed successfully (i.e., the FetchGroup no longer has > unsaved changes). > > "rollback transaction" doesn't seem to work and doesn't seem applicable because > I'm not using a user-defined transaction. > > Any help would be appreciated. > -- > > Art Isbell Cubic Solutions > NeXT Registered Developer NEXTSTEP software development and consulting > NeXTmail: isbell@cats.UCSC.EDU Voice: (408)335-1154 > USmail: 95018-9442 Fax: (408)335-2515 Does your delegate support the error detection method? Ours does and we do not have the problems you state even in 3.0. We are notified of the errors DBKit does detect and we choose to discard changes or not at that time. I do not remember the default behavior. -- Michael Allen Latta Kripalu Center harit@kripalu.com (413)448-3288
Newsgroups: comp.sys.next.programmer From: andrew@stone.com (Andrew Stone) Subject: Re: Problems removing a button from its superview... Message-ID: <1993Jul15.115030.288@stone.com> Sender: andrew@stone.com Organization: Stone Design Corp References: <14JUL93.16403550@enh.nist.gov> Date: Thu, 15 Jul 1993 11:50:30 GMT In article <14JUL93.16403550@enh.nist.gov> aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) writes: > Hi, a quick question: > > I am trying to have a button that is capable of removing itself from its > superView when it is clicked. The problem, is that I am getting: > "Assertion failed: You removed a View from the View hierarchy that had been > lockFocus'ed" > > This really wont affect my app too much, I will just leave the button on the > screen, but it would be nice if it would be able to remove itself. > > I think the problem stems from the fact that the button sends its action > message BEFORE it changes its display back to un-pressed. Is there a style > of button that sends its message afterwards? I am not really interested in > subclassing button to do this. > > Thanks for your help. > > My E-Mail address is : day@spot.aoml.erl.gov > > Kevin We all eventually run into this! Just call perform:with:afterDelay:cancelPrevious: inside the method that the button calls, handing in the real method you want called that actually does the view hierarchy rearranging. Example: - extendedFind:sender { [self perform:@selector(setModeToFind:) with:self afterDelay:1 cancelPrevious:YES]; return self; } - setModeToFind:sender { // in this method, actually swap the views... return self; } -- ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>|| !! Andrew Stone !! (505) 345-4800 !! !! andrew@stone.com <> Stone Design Corp !! ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>||
Newsgroups: comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: Re: DriverKit Message-ID: <Jul15.161509.83082@acs.ucalgary.ca> Date: Thu, 15 Jul 1993 16:15:09 GMT Distribution: na References: <CA5u9o.H70@news.iastate.edu> Organization: The University of Calgary, Alberta Keywords: DriverKit, Examples > Two questions: > > 1. Where is the example source code for drivers??? /NextLibrary/Documentation/NextDev/Examples? Is this a trick question? > Hey, all I need is a simple driver that reads to and writes to > a single hardware port. Simple interrupt capabilities would be > nice... Has anyone tried writing a driver yet? I don't even > care if a driver works -- I would really like to see some of > your code!!! I'd like to second this. I'll probably be doing a driver myself in the near future. > 2. Supposing my needs for hardware control are minimal (a > simple DAC), can I just use inw() and outw() from my appkit > program to mess with hardware? Yes. > Can I get fancy and even include some interrupt support and > maybe even DMA jazz later??? Yes. > My guess is that the answer will be "wait for 3.2 or 4.5 or > ???.???" No no... it's all supported, it's all documented. Please please please READ the documentation. It is soooo unrealistic to think that you're going to be able to write a device-driver for a real operating system without doing so. Driver writing will NEVER be a totally trivial task, so roll up your sleeves and start into: /NextLibrary/Documentation/NextDev/OperatingSystem/Part3_DriverKit -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
From: borzilda@NeXTwork.Rose-Hulman.Edu (David A Borzillo) Newsgroups: comp.sys.next.programmer Subject: NXImage Rotating (PartII) Date: 15 Jul 1993 16:25:24 GMT Organization: Rose-Hulman Institute of Technology Message-ID: <2240dk$57j@master.cs.rose-hulman.edu> I'm still having trouble rotating an image. In the initFrame:: method of my view classed object I create an image: valGauge = [[ValuatorGauge alloc] initFrame:&gaugeFrame]; valGaugeImage = [valGauge backgroundImage]; Now, in another method which is not drawSelf:: I use (in the <myview>.m file): NXPoint zero; float degrees; .... degrees = 45; zero = (NXPoint){0,0}; .... [valGaugeImage lockFocus]; PSrotate(degrees); [valGaugeImage composite:NX_COPY toPoint:&zero]; [valGaugeImage unlockFocus]; So I should see this ruler-like image rotated 45 deg. and composited at (0,0) of the view. How come I'm not seeing anything? I even tried putting [valGaugeImage composite:NX_COPY toPoint:&zero]; after [valGaugeImage unlockFocus]; and still nothing happened. -- ----------------------------------------------------------- David A. Borzillo Mechanical Engineering Junior Software Developer, Fluid Science Learning Center
Newsgroups: comp.sys.next.programmer From: muehlhau@en.ecn.purdue.edu (John Muehlhausen) Subject: 3D Routines Needed Message-ID: <1993Jul15.160508.21335@en.ecn.purdue.edu> Organization: Purdue University Engineering Computer Network Date: Thu, 15 Jul 93 16:05:08 GMT ******** 3D CODE AND INFO NEEDED ******** Hello all... I do not understand the concepts behind 3D transformations, although I would like to. Right now though I need a quick fix. If you know how I can get the following specific code, PLEASE TELL ME! If you know where I can get a reference that will explain very clearly how to write the following code, PLEASE TELL ME! I need the fastest algorithms known to date. I am programming with the djgpp port of GCC for protected mode in DOS, so code written assuming a UNIX GCC ANSI compiler would be perfect. If it requires many trig functions and other such calculations I would prefer that it look them up from a table rather than calculate them. Memory usage is not an issue - SPEED IS! If there is a better way to lay out the data, feel free. In the finished application, I would like to be able to drag around the directional vector tip (with viewing coords in tow) while specifying what is "up" as an angle from the Z axis. I would like as much of it as possible to be integer math, of course. The Transform() function just takes viewing data and a 3D triangle and spits out the 2D triangle coords... Data types: typedef struct { double x[3]; /* X coordinates of 3D triangle */ double y[3]; /* Y... */ double z[3]; /* Z... */ } 3d; typedef struct { short x[3]; /* X coordinates of 2D triangle */ short y[3]; /* Y... */ } 2d; typedef struct { /* Positive Z is up */ double x; /* X coordinate of eye */ double y; /* Y... */ double z; /* Z... */ double to_x; /* Vector tip in viewing direction */ double to_y; /* Y... */ double to_z; /* Z... */ double up; /* Angle offset from Z for "up" (radians) */ short dist; /* Pixel distance from eye to screen */ short width; /* Screen width */ short height; /* Screen height */ } loc; Function prototype: 2d Transform(3d panel, loc view); Please mail any responses! Thank you! John Muehlhausen muehlhau@ecn.purdue.edu
From: charlie@snowflake.az.stratus.com Newsgroups: comp.sys.next.programmer Subject: Dragging from app to WorkSpace Date: 15 Jul 1993 17:25:01 GMT Organization: Stratus Computer Inc, Marlboro MA Message-ID: <2243td$28k@transfer.stratus.com> Anyone have a pointer to a MiniExample that does this? I'm trying to get it to work and I may be missing something. I'm providing the NXFilenamePboardType in the drag (but it's not the first one) and the Workspace doesn't seem to want to pick up the file. My code works dragging between a couple of windows in either the same app or 2 different apps (using my own PboardType for those). On a related question, if I have dragged a file to the Workspace and the file was created in /tmp, how can I get notification that WS has finished copying the file so that it may be deleted by my app? Thanks for any code or pointers. -- Charles Spitzer charlie@snowflake.az.stratus.com NextMail accepted Telecom Customer Assistance Center Stratus Computer, Inc. Phoenix, AZ 85018
Newsgroups: comp.sys.next.programmer From: arrouye@cosmos.imag.fr (Yves Arrouye) Subject: Centering a box in a view? Message-ID: <ARROUYE.93Jul15191656@mistral.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Thu, 15 Jul 1993 18:16:56 GMT Hi, I have a Box grouping a custom View and some buttons, and I would like to center this box in another view. I wanted to do in my view something like [aBox moveTo:bounds.origin.x :bounds.origin.y]; // Get the box here [aBox sizeTo:bounds.size.width :bounds.size.height]; // Center but I can't find any spring combinations for the box and its enclosed view to make it work. Any idea? Yves -- With one processor, we verify that the time spent Yves Arrouye in controlling parallelism is not too long. arrouye@mistral.imag.fr arrouye@imag.imag.fr -- Yannick Tre'molet, LMC (33) 76 57 48 61
Newsgroups: comp.sys.next.programmer From: arrouye@cosmos.imag.fr (Yves Arrouye) Subject: Pb with performClick: not sending message Message-ID: <ARROUYE.93Jul15191939@mistral.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Thu, 15 Jul 1993 18:19:39 GMT Hi, I have a Matrix of ButtonCell objects in a Nib file. The buttons act like radio-buttons and one of them is highlighted. It is the one which is returned by the Matrix selectedCell method. What I want to do is make this button perform its action after loading the Nib file (this will bring a view in the panel), but if I write - awakeFromNib { [[myMatrix selectedCell] performClick:myMatrix]; return self; } the message is not sent. Why? (It is the same wit performClick:self). Please help me... Thanks, Yves -- With one processor, we verify that the time spent Yves Arrouye in controlling parallelism is not too long. arrouye@mistral.imag.fr arrouye@imag.imag.fr -- Yannick Tre'molet, LMC (33) 76 57 48 61
Newsgroups: comp.sys.next.programmer From: drew@fnbc.com (Drew Davidson) Subject: Re: How are devices named under NeXTstep? Message-ID: <1993Jul15.163537.574@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA References: <CA54sp.M3q@research.canon.oz.au> Date: Thu, 15 Jul 93 16:35:37 GMT In article <CA54sp.M3q@research.canon.oz.au> luke@research.canon.oz.au (Luke Kendall) writes: [munch] > > I'm writing a utility that determines, from a full pathname, > what type of file system the file is on (whether it's removable, > the volume label if it is, and so on). > > > Luke Kendall, Senior Software Engineer. | Net: luke@research.canon.oz.au > Canon Information Systems Research Australia | Phone: +61 2 805 2982 > P.O. Box 313 North Ryde, NSW, Australia 2113 | Fax: +61 2 805 2929 If your utility is on the NeXT exclusively then you could use the AppKit and Workspace! See /usr/include/appkit/workspaceRequest.h wrt: - (BOOL)getInfoForFile:(const char *)fullPath application:(char **)appName type:(NXAtom *)type; - (BOOL)getInfoForFileSystemAt:(const char *)fullPath isRemovable:(BOOL *)removableFlag isWritable:(BOOL *)writableFlag isUnmountable:(BOOL *)unmountableFlag description:(char **)description type:(char **)fileSystemType; -- +--------------------------------+-------------------------------------------+ | Drew Davidson | "Never ask a programmer if he'll have | | Software Guy | another cup of coffee because it's | | First National Bank of Chicago | nobody's damn business how much he's | | drew@fnbc.com (NeXTmail) | already had!" - me | +--------------------------------+-------------------------------------------+
Newsgroups: comp.sys.next.programmer From: imagine.com!michael (Michael Ellis) Subject: a problem with freeing vended objects Message-ID: <1993Jul6.142654.1004@imagine.com> Keywords: Distributed Objects, NeXTStep Sender: michael@imagine.com Organization: Imagine Multimedia, Inc., Ann Arbor, MI, USA Date: Tue, 6 Jul 1993 14:26:54 GMT I have a client-server situation where a client calls a server method and asks for a reference to an object, the server's method allocates the object and returns it to the client. The client frees the object by sending a free message to the object's proxy. So far so good, everything works fine. However, when I look at the server using MallocDebug the object allocation shows up as a memory leak, i.e. the server's object isn't being freed! According to the D.O. documentation, the server's object should be deallocated when the reference count on the object drops to zero. I have checked the reference count immediately before calling free and it is 1. So what gives? Why isn't the REAL object being freed? It is easy to reproduce this problem. Try the following: Write a server with a "- doit" method that returns an NXData instance by reference. Write a client program that connects to the server, calls "- doit" twice, each time freeing the NXData instance immediately. You have to call the server's method twice in order for MallocDebug to register the first allocation as a leak. This error occurs for all classes I have tried not just NXData. It also occurs on both Black HW running 3.0 and on White HW running 3.1 Pointers?
From: dyu@chaos.ee.ufl.edu (David Yu) Newsgroups: comp.sys.next.programmer Subject: dsp Array processing Date: 15 Jul 1993 18:24:02 GMT Organization: University of Florida Message-ID: <2247c2INN8nt@no-names.nerdc.ufl.edu> Does anyone have examples of stacking DSP array processing routines?
Newsgroups: comp.sys.next.programmer From: kloubek@fraser.sfu.ca (Bill Kloubek) Subject: SoundKit question Message-ID: <kloubek.742763932@sfu.ca> Summary: accessing SoundKit sound info Keywords: sound volume contents Sender: news@sfu.ca Organization: Simon Fraser University, Burnaby, B.C., Canada Date: Thu, 15 Jul 1993 19:18:52 GMT I'm attempting to write a small program which will listen for sounds from the microphone; and if it detects "noise" - will remind the individual to keep it quiet. (Modelled after a Macintosh application...) I can record easily enough; using an instance of the Sound object. What I want to know is how I can figure out how much VOLUME was recorded. NOT the actual volume level of the system; but rather the amplitude of the recorded data. I've been looking through all the online references; to no avail. My first queestion: Is there way to query the CONTENTS to find the min/max amplitude encountered while recording? Another question I have is that the method 'status:' always returns the value '2' - regardless of whether a sound is running or not. (I was under the impression that this method is to return whether a sound is currently playing or not..) My second question: Is there a way to querying to see if a sound is currently being reproduced... I'm using NS2.1 on a NeXTstation. (Please don't give me any 3.1 specific solutions to my problems; it won't help me at present..)
Newsgroups: comp.sys.next.programmer From: aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) Subject: RE: Centering a box in a view? Message-ID: <15JUL93.20302401@enh.nist.gov> Sender: news@dove.nist.gov Organization: NIST References: <ARROUYE.93Jul15191656@mistral.imag.fr> Date: Fri, 16 Jul 1993 01:30:24 GMT About centering: This is not really supported in the IB... if you were a true glutton for punishment, you could allways sub-class box (or view would be better), and add to the - superViewResized: method... Of course that would be a pain in the but... Another thing that you could do would be to create a category to overwrite the -superViewResized: method. This might be nicer. If you are worried about keeping everything kosher, choose a "spring" configuration that you would never use: i.e. all springs on. Then inside your - superviewSizeChanged: method (this is the actual name, I was working from memory above), you could look at the variable ... Well, shoot, I can't find the variable name, but it is the one set by the: setAutosizing: method. Anyway, look at the variable and compare it to all of the masks ORed together. If it is that one, do your own resizing, otherwise send the message on to super. I realize that this is sketchy, but it is actually a really good exercise in using classes and categories. Kevin
From: lisag@ac.dal.ca Newsgroups: comp.sys.next.programmer Subject: First Responder Hell Message-ID: <1993Jul15.165424.15006@ac.dal.ca> Date: 15 Jul 93 16:54:24 -0300 Organization: Dalhousie University, Halifax, Nova Scotia, Canada Hi, I've got a problem. My program has a main menu, with a save option. This button isn't enabled until a display object is create,but the display object is created by a handler object which is created by the data object which is created by the application object ( the home of my main menu ). Are you confused yet. My point is I want the 'save' method in the display class, ie receive the message from the main menu. I've tried using the First Responder, but I can't seem to get it to work. I've seen the F.R. work for GRAPH, but that's save's method was in the object created by the home of the main menu. If you understand what I just wrote, any suggestions would be a big help to this NeXT newbie. Thanks, Anthony Grandy lisag@ac.dal.ca (vax) Sorry NO NeXT mail
Newsgroups: comp.sys.next.programmer From: aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) Subject: Creating a directory for a bundle... Message-ID: <15JUL93.22172386@enh.nist.gov> Sender: news@dove.nist.gov Organization: NIST Date: Fri, 16 Jul 1993 03:17:23 GMT I am trying to have my application create a bundle. Right now, I have to use the mkdir() function to do this, and I really would rather use something that would be considered NeXT: i.e. error messages if the directory doesn't exist, etc... The SavePanel does it somehow, and I would be dissapointed if I couldn't use that for myself... Thanks, Kevin I suppose I should ask my question: anyone know how its done? k. NeXTMail address: day@spot.aoml.erl.gov Thanks
Newsgroups: comp.sys.next.programmer From: kelley@kiwi.ATMOS.ColoState.Edu (Kelley Wittmeyer) Subject: passing a c routine to fortran... HELP! Sender: news@yuma.ACNS.ColoState.EDU (News Account) Message-ID: <Jul15.222958.53746@yuma.ACNS.ColoState.EDU> Date: Thu, 15 Jul 1993 22:29:58 GMT Organization: Colorado State University, Fort Collins, CO 80523 gosh life is fun. i am calling a routine, part of a software package, which takes as one of it's arguments, a subroutine, or function. i am calling it from c, as part of an application. the routine was written in fortran and was compiled w/ the absoft compiler with the appropriate options (-s, -k, -N9, -f). the routine passed as an argument was written by me in c. everything compiles and links. it runs and i get a segmentation fault somewhere in this fortran routine. the thing is, if i write a fortran shell and pass a fortran subroutine as an argument to this package routine, everything is fine. it's just when i call it in c that it blows up. any ideas? thank you for any help! by the way, the fortran package is ncar graphics... kelley wittmeyer dept of atmospheric science colorado state university
Control: cancel <RONGUT.93Jul11014430@au-bon-pain.lcs.mit.edu> Newsgroups: comp.sys.next.programmer From: rongut@au-bon-pain.lcs.mit.edu (Ron Gut) Subject: cancel <RONGUT.93Jul11014430@au-bon-pain.lcs.mit.edu> Message-ID: <RONGUT.93Jul15220645@au-bon-pain.lcs.mit.edu> Sender: news@mintaka.lcs.mit.edu Organization: MIT Lab for Computer Science, Cambridge, Mass. Date: Fri, 16 Jul 1993 03:06:45 GMT
From: kline@CS.Arizona.EDU (Nick Kline) Newsgroups: comp.sys.next.programmer,comp.dcom.modems,comp.unix.bsd,comp.unix.programmer Subject: cmsg cancel <2252fm$c65@cheltenham.cs.arizona.edu> Control: cancel <2252fm$c65@cheltenham.cs.arizona.edu> Date: 15 Jul 1993 19:07:21 -0700 Organization: University of Arizona CS Department, Tucson AZ Message-ID: <2252gp$c6c@cheltenham.cs.arizona.edu> <2252fm$c65@cheltenham.cs.arizona.edu> was cancelled from within trn.
From: kline@CS.Arizona.EDU (Nick Kline) Newsgroups: comp.sys.next.programmer,comp.dcom.modems,comp.unix.bsd,comp.unix.programmer Subject: resolved: how to exit pgm w/o hanging up phone Followup-To: comp.sys.next.programmer Date: 15 Jul 1993 19:10:47 -0700 Organization: University of Arizona CS Department, Tucson AZ Message-ID: <2252n7$c9p@cheltenham.cs.arizona.edu> References: <21r411$2dj@cheltenham.cs.arizona.edu> <2252fm$c65@cheltenham.cs.arizona.edu> The question was answered. Here was the orginal posting: <21r411$2dj@cheltenham.cs.arizona.edu> kline@CS.Arizona.EDU writes: > > >I am wondering how my program can keep from hanging up the modem after >it exits. > >I have a NeXT 040 cube running os release 3.0. I have a zyxel modem. >For those in other newsgroups, this runs a bsd 4.3 / mach 2.x combo. >If there is a way to do this in bsd, then it should work here. I received several basic solutions: 1. change the modem config so that it ignores dtr (which is cleared when you exit a pgm). But: I wanted a modem independent way. 2. many ioctl's take a 3rd parameter which is 0 or 1 which turns that off or on. #define TIOCHPCL _IO('t',2) /* hang up on last close */ But: TIOCHPCL ignores that 3rd parameter (and it's not documented that way). 3. The correct solution was to open /dev/tty* such as ttyfa instead of cufa. This works. it doesn't hangup the phone after exiting. - thanks for the info. He also added: |>>However, you will have difficulty sharing with any concurrent subprocesses. |>>--- Bruce Gingery bruce@TotSysSoft.com Total System Software - |>>---- -- -- the makers of DFax I don't believe I've ever read about opening /dev/ttyf* anywhere. It works correctly. -nick ps isn't the net great? probably if I had called up atari and had my credit
Newsgroups: comp.sys.next.programmer From: shill@ccsi.com (Sean L. Hill) Subject: Example bundle code Message-ID: <1993Jul15.203009.297@ccsi.com> Sender: shill@ccsi.com Organization: Crystal Computer Systems, Inc. Date: Thu, 15 Jul 1993 20:30:09 GMT Does anyone have some example code for using bundles to load custom code and interface files? Thanks very much. -- Sean L. Hill Ergo Science Incorporated shill@ccsi.com Compuserve: 73667,3355
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Code for Object - perform: with:with:with: Message-ID: <1993Jul16.034459.19744@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <abellCA4tBH.9Au@netcom.com> <CA6K3I.1Fs@pdh.com> Date: Fri, 16 Jul 1993 03:44:59 GMT In article <CA6K3I.1Fs@pdh.com> Bob_Vadnais@pdh.com (Bob Vadnais) writes: >- perform:(SEL) aSel with:snap with:crackle with:pop >{ > return objc_msgSend(self, aSel, snap, crackle, pop); >} Close, but it's really - perform:(SEL)aSelector with:object1 with:object2 with:object3 { return aSelector ? objc_msgSend(self, aSelector, object1, object2, object3) : [self error:"method %s given invalid selector %s", sel_getName(_cmd), aSelector]; } [Yeah, it looks fishy...] -=EPS=-
From: michaell@swdev.research.otc.com.au Newsgroups: comp.sys.next.programmer Subject: NXBrowser examples Date: 16 Jul 1993 02:51:46 GMT Organization: Technical Development Group, Telstra International Sender: michaell@swdev.research.otc.com.au (Michael Lofquist) Distribution: world Message-ID: <225542$hh9@turin.research.otc.com.au> - Does anybody know of some good source code examples so that I can get a listing to look like the Workspace managers file listing (long listing), i.e. ordered in columns and with resizable columns. ?? Any reference to code on ftp sites or examples by email would be a big help. Thanks Michael
Newsgroups: comp.sys.next.programmer From: anderson (Ken Anderson) Subject: Re: Problems removing a button from its superview... Message-ID: <1993Jul15.185905.20014@biztech.com> Sender: news@biztech.com Organization: Biztech, Inc. References: <14JUL93.16403550@enh.nist.gov> Date: Thu, 15 Jul 1993 18:59:05 GMT In article <14JUL93.16403550@enh.nist.gov> aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) writes: >Hi, a quick question: > >I am trying to have a button that is capable of removing itself from its >superView when it is clicked. The problem, is that I am getting: >"Assertion failed: You removed a View from the View hierarchy that had been >lockFocus'ed" > >This really wont affect my app too much, I will just leave the button on the >screen, but it would be nice if it would be able to remove itself. > >I think the problem stems from the fact that the button sends its action >message BEFORE it changes its display back to un-pressed. Is there a style >of button that sends its message afterwards? I am not really interested in >subclassing button to do this. > >Thanks for your help. > >My E-Mail address is : day@spot.aoml.erl.gov > >Kevin Kevin, A common way to accomplish what you require is to do a perform:with:afterDelay:cancelPrevious: during the target method of your button. This will cause the secondary target method to be called the next time through the event loop, therefore AFTER the mouseDown: method has completed. Ken Anderson anderson@biztech.com Stamford, CT
Newsgroups: comp.sys.next.programmer From: emarinos@marcon.ka.sub.org (Evstathios Marinos) Subject: Re: Help Subprocess Message-ID: <1993Jul16.060321.509@marcon.ka.sub.org> Sender: emarinos@marcon.ka.sub.org (Evstathios Marinos) Organization: Marinos EDV - Consulting Date: Fri, 16 Jul 1993 06:03:21 GMT In comp.sys.next.programmer article <1993Jul15.002926.13197@news.cs.brandeis.edu> you wrote: \\ Hi, \\ This is probably a very simple question about the Subprocess program \\ in \NextDeveloper\Examples\Unix\Subprocess. I am interested in including a \\ button in the main NibFile ; when I click this button I want a command to \\ be sent to the scroll window ( for example some text like ls). It should \\ then execute that command like it does when one types the command in the \\ scroll window. With my minimal amount of programming knowledge I tried all \\ I can do and can't make this to work. Can someone who is more \\ knowledgeable - please let me know how to do this and preferably send me \\ a sample code. \\ \\ Thanks very much \\ \\ T. Balu I send a solution directly to T. Balu via e-mail. He asked to post to c.s.n.p too. Ok, here a possible solution: Add one method to the CommandScroll class. in the .h file : - addCommand:(char *)buffer; in the .mfile : - addCommand:(char *)buffer { [docView setSel:[docView textLength] :0]; [docView setSelFont:userFont]; [docView replaceSel:buffer]; [docView setSel:[docView textLength] :0]; [docView setSelFont:userFont]; [docView replaceSel:"\n"]; [docView scrollSelToVisible]; lastTextCount = [docView textLength]; if (delegate && [delegate respondsTo:@selector(userEntered:)]) { [delegate perform:@selector(userEntered:) with:(void *)buffer]; [delegate perform:@selector(userEntered:) with:(void *)"\n"]; } return self; } Add the following to the method Coordinator class in the .h file : - sendActionToSubProcess:sender; in the .m file : - sendActionToSubProcess:sender { const char *buffer = [[sender selectedCell]title]; [commandView addCommand:(char *)buffer]; return self; } You have to import Button and Matrix in the Coordinator .m file #import <appkit/Matrix.h> #import <appkit/Button.h> In Interface Builder parse the Coordinator class, so that sendActionToSubProcess appears in the list of methods. Make the window larger and drag a button to it. Make a matrix of buttons. Now you set the button titles to the commands you want to send to the subprocess. Connect the matrix to the Coordinator Instance with the sendActionToSubProcess: method. If you click one of the buttons, the command (Button title ) is send to the subprocess and executed. if you have just on button, not a matrix you have to make a change in the sendActionToSubProcess:sender method. Change in the first line const char *buffer = [[sender selectedCell]title]; to const char *buffer = [sender title]; ok, I hope this helps you a little. Greetings Stathis -- Marinos EDV - Consulting | NEXTSTEP Software and Consulting Services Evstathios Marinos | Phone : +49 721 37 71 78 Gartenstr. 2 | Fax : +49 721 37 71 79 76133 Karlsruhe (GERMANY) | E-Mail: emarinos@marcon.ka.sub.org
Newsgroups: comp.sys.next.programmer From: Jim_Brownfield@radical.com (Jim Brownfield) Subject: Re: How do you set two stop bits on a serial port? Message-ID: <1993Jul15.223345.804@Radical.Com> Sender: jbrow@Radical.Com Organization: Radical System Solutions, Inc. References: <21uv2d$1qi@tamsun.tamu.edu> Date: Thu, 15 Jul 1993 22:33:45 GMT Pierce Cantrell writes > > But why would anyone want to set 1.5 or 2 stop bits unless the output is going > to a KSR33? Every UART chip that I am aware of will be perfectly happy with one > stop bit. The configuration for sending stop bits only affects the transmitter > portion of the UART not the receiver. > > -pierce > -- > Pierce E. Cantrell I was writing code to talk to a pole display (like you would use with a cash register). The manufacturer was adamant that the display required two stop bits, and I sure couldn't get it to work with any of the other settings (parity, etc). The behavior was consistant with incorrect stop bits (a couple of characters would print ok, and then it would loose sync with some characters recognizable and others not. I could certainly believe, however, that the pole display is a POS (NOT meaning Point of Sale), and the manufacturer was full of it (but the documentation with the display also said it required two stop bits). Thanks to all who replied via posting and email. It would appear that I am indeed SOL, and I'll have to find another display. :-? -- Jim Brownfield (Jim_Brownfield@Radical.Com) NeXTmail accepted Radical System Solutions, Inc. rad i cal \'rad-i-kel\ n -- a basic principle: FOUNDATION
Newsgroups: comp.sys.next.programmer From: cdb@codex.com.au (Cameron Bromley) Subject: Summary: Terminating an app after n minutes of inactivity Message-ID: <1993Jul16.051218.22656@codex.oz.au> Sender: cdb@codex.oz.au Organization: Codex Software Development Pty Ltd Date: Fri, 16 Jul 93 05:12:18 GMT Thanks for all the responses. The original problem: coding an application which will cleanly terminate itself if no mouse clicks or keyboard events have occured for 10 minutes. Many variations were submitted, however the award for most elegant solution goes to Gideon King: Begin forwarded message: From: Gideon King <gideon@farli.otago.ac.nz> Date: Fri, 16 Jul 93 08:58:36 +1200 To: Cameron Bromley <cdb@codex.com.au> Subject: Re: Terminating an app after n minutes of inactivity Reply-To: gideon@farli.otago.ac.nz Create a subclass of application, and implement the following: - sendEvent:(NXEvent *)theEvent { [self perform:@selector(terminate:) with:self afterDelay:(10000) cancelPrevious:YES]; return [super sendEvent:theEvent]; } This will be reset whenever one of the events in your event mask gets picked up - you probably want to add at least a mousemoved to your event mask using: [window addToEventMask:NX_MOUSEMOVEDMASK]; or you could subclass Window, add this method, and make all your windows the new class. Hope this helps. Gideon. -- --------------------------------------------------------------- Cameron Bromley Internet: cdb@codex.com.au Codex Software Development Pty. Ltd. Fax +61-3-696-6757 PO Box 293, Albert Park, VIC, 3206 Australia
Newsgroups: comp.sys.next.programmer From: Eric Noyau <e_noyau@cubx.com> Subject: Re: NXHost dock App Message-ID: <1993Jul15.202930.17477@pelane.cubx.com> Sender: noyau@pelane.cubx.com Organization: Cub'x systemes References: <2219ni$kok@binkley.cs.mcgill.ca> Date: Thu, 15 Jul 1993 20:29:30 GMT Ivo ROTHSCHILD writes > Since many apps are not available as fat binaries yet (if ever), it > would be really nice to have the following app: > > - It would run on a NeXTStation NXHost'ed to an Intel box. > - It would be a dock of apps or a file browser. > - Double clicking on an app would launch it on the NeXT machine > NXHost'ing it to the Intel machine. > > [...] Try OpenSesame.app in /NextDeveloper/Demo...(only in NS 3.1). Not really the same, but it does the job. Eric -- % e_noyau@cubx.com (Eric Noyau) Small NeXTMail ok % /d{def}def/i{add d}d/Z{rand 2147483647 div mul d}d 99 -2 9{-1 1/X 500 Z/Y 700 Z/C .3 Z{C setgray/r exch d X Y r 0 360 arc fill/X X .5 i/Y Y .6 i/C C 1 C sub r div i}for}for showpage % Be carefull ! I'm a .signature virus...
Newsgroups: comp.sys.next.programmer From: joe@FreemanSoft.com (Joe Freeman) Subject: Re: How are devices named under NeXTstep? Message-ID: <1993Jul15.231905.7443@FreemanSoft.com> Sender: jfreeman@FreemanSoft.com Organization: FreemanSoft Inc. References: <CA54sp.M3q@research.canon.oz.au> Distribution: usa Date: Thu, 15 Jul 1993 23:19:05 GMT You could ask the workspace manager for information about the device a file is on. The message is described in the WorkspaceRequestProtocol as [[NXApp workspace] getInfoForFileSystemAt: isRemovable: isWritable: isUnmountable: description: type: ] In article <CA54sp.M3q@research.canon.oz.au> luke@research.canon.oz.au (Luke Kendall) writes: > I've just spent an hour (without success), trying to find where NeXT > document their naming conventions for devices. In particular, for > devices that can be mounted as a filesystem. I doubt if its documented. The ones that I know about are sd od fd -- Joe Freeman FreemanSoft Inc. A NEXTSTEP software and consulting services company. Electronic Mail: Joe@FreemanSoft.com (NeXT Mail) Voice: 919.783.7033
Newsgroups: comp.sys.next.programmer From: chuck@benatong.com (Charles G. Bennett) Subject: Re: NXHost dock App Message-ID: <1993Jul15.133335.9128@cypher.cmhnet.org> Sender: chuck@cypher.cmhnet.org Organization: BenaTong, inc. References: <2219ni$kok@binkley.cs.mcgill.ca> Date: Thu, 15 Jul 1993 13:33:35 GMT In article <2219ni$kok@binkley.cs.mcgill.ca> ivor@binkley.cs.mcgill.ca (Ivo ROTHSCHILD) writes: > Since many apps are not available as fat binaries yet (if ever), it > would be really nice to have the following app: > > - It would run on a NeXTStation NXHost'ed to an Intel box. > - It would be a dock of apps or a file browser. > - Double clicking on an app would launch it on the NeXT machine > NXHost'ing it to the Intel machine. > > This wouldn't be very difficult at all but unfortunately I don't have > the time to write it right now. > So, could someone (with a little free time) please write it? I'm sure > it would make a lot of people happy. > > Maybe there's something already like this available. If so, where can I > get it? > > -ivo ivor@binkley.cs.mcgill.ca > I comes with Intel 3.1 Developer in /NeXTDeveloper/Demos and is called OpenSesame.app Chuck -- Chuck Bennett Karnak the Great: "The answer is Rin Tin Tin, Lassie, Windows NT" The Question is, "Name two movie stars and a Dog.." chuck@benatong.com
Newsgroups: comp.sys.next.programmer From: irving@Happy-Man.com (Irving_Wolfe) Subject: Beginner's Question - Matrix of Radio Buttons Message-ID: <1993Jul16.052630.16265@Happy-Man.com> Organization: Happy Man Corp, 4410 Pt Robinson, Vashon, WA 98070 206/463-9399 Date: Fri, 16 Jul 1993 05:26:30 GMT I have a matrix of radio buttons that work fine when clicked. The program does the right thing, the new setting lights up, and the old setting loses its highlighting. I added code to control them with keyboard input, too, using [button performClick:self]. Here also, the program does the right thing and the new setting lights up -- but the old one does NOT lose its highlighting. Two radio buttons are lighted at once with performClick, but only the new one with a real click. I've solved the problem, of course, by sending a display message to the matrix, but I'm curious why using performClick and clicking are so different, and where else I'll find this. Thanks! - Irving -- Irving_Wolfe@Happy-Man.com 206/463-9399 x101 fax 206/463-9255 Happy Man Corp. 4410 SW Pt. Robinson Rd., Vashon, WA 98070-7399 We publish SOLID VALUE for the intelligent investor. NextMail OK Info. packet free. Send POSTAL address: Solid-Value@Happy-Man.com
Message-ID: <js$@byu.edu> Date: Fri, 16 Jul 93 08:14:25 MDT From: pmarc@wyoming.et.byu.edu (Paul M. Cardon) Newsgroups: comp.sys.next.programmer Distribution: world Organization: Brigham Young University, Provo UT USA Subject: gcc Cross Compiling I am trying to install gcc 2.4.5 on my Turbo. Ideally, I would like to be able to use it to cross-compile code for both m68k and i386 architectures. If anybody has succesfully done this, please send me the procedure you followed, or at least the procedure for just m68k. Thank you. Paul Cardon
From: louie@sayshell.umd.edu (Louis A. Mamakos) Newsgroups: comp.sys.next.programmer Subject: Re: How do you set two stop bits on a serial port? Date: 16 Jul 1993 15:19:40 GMT Organization: University of Maryland, College Park Message-ID: <226guc$qah@ni.umd.edu> References: <21uv2d$1qi@tamsun.tamu.edu> <1993Jul15.223345.804@radical.com> In article <1993Jul15.223345.804@radical.com> Jim_Brownfield@Radical.Com writes: >I was writing code to talk to a pole display (like you would use with a cash >register). The manufacturer was adamant that the display required two stop >bits, and I sure couldn't get it to work with any of the other settings >(parity, etc). The behavior was consistant with incorrect stop bits (a couple >of characters would print ok, and then it would loose sync with some characters >recognizable and others not. I could certainly believe, however, that the pole >display is a POS (NOT meaning Point of Sale), and the manufacturer was full of >it (but the documentation with the display also said it required two stop >bits). This is a really gross solution, but it the actual output rate isn't that critical (that is, you don't have a lot of data to move), then there is a work-around. Just send stuff out the serial port one character at a time with a very small delay between characters. This will give you plenty of idle/mark time on the serial port before the start bit of the next character. It may be that if you just do write() systems calls, with one character at a time that you'll get enough delay. Alternatively, something like this may work for you: void slow_puts(int ttyfd, char *s) { struct timeval tv; while (*s) { (void) write(ttyfd, s, 1) != 1) { tv.tv_sec = 0; tv.tv_usec = 1000; /* 10 milliseconds */ (void) select(0, (fd_set *)0, (fd_set *)0, (fd_set *)0, &tv); ++s; } } Of course, you'd need to add error checking, etc.. The use of select() for doing a delay may not strictly be correct, since it won't be restarted if its interrupted by a signal. On the other hand, you'll probably still get enough delay. Louis Mamakos University of Maryland
From: charlie@snowflake.az.stratus.com Newsgroups: comp.sys.next.programmer Subject: Invoking Mail from within an app Date: 16 Jul 1993 15:16:15 GMT Organization: Stratus Computer Inc, Marlboro MA Message-ID: <226gnv$760@transfer.stratus.com> Does anyone have the 3.1 API for Mail.app? -- Charles Spitzer charlie@snowflake.az.stratus.com NextMail OK Telecom Customer Assistance Center Stratus Computer, Inc. Phoenix, AZ 85018
Newsgroups: comp.sys.next.programmer Subject: a c++ compiler problem on NeXT Message-ID: <226fue$fhk@parsifal.umkc.edu> From: dmedhi@cstp.umkc.edu (Deep Medhi,4747 Troost 207,(816) 235-2006,(913) 341-0462) Date: 16 Jul 1993 15:02:38 GMT Organization: University of Missouri - Kansas City I was compiling a code written in c++ on my NeXTstation running 2.1 and got the following error for printf call: /bin/ld: Undefined symbols: _printf__FPCce Am I missing some library? I did include -lc++ without any success. (The same code compiles fine on ultrix OS when g++ is used.) Any help would be appreciated. Deep Medhi Univ of Missouri-Kansas City dmedhi@cstp.umkc.edu
Newsgroups: comp.sys.next.programmer From: xinwei@otter.Stanford.EDU (Sha Xin Wei) Subject: number of records in dbmodule without fetchAllRecords Message-ID: <1993Jul16.161354.3374@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: DSO, Stanford University References: <9307131153.AA03124@penny.demon.co.uk> Date: Fri, 16 Jul 93 16:13:54 GMT How can I find out simply the number of rows in a table, given the DBModule, without a fetchAllRecords, and without resorting to (Sybase) adaptor-dependent code? Xin Wei ASD
From: strauss@aero.org (Daryll Strauss) Newsgroups: comp.sys.next.programmer Subject: Re: a c++ compiler problem on NeXT Date: 16 Jul 1993 17:02:12 GMT Organization: The Aerospace Corporation, El Segundo, CA Distribution: world Message-ID: <226muk$q6f@news.aero.org> References: <226fue$fhk@parsifal.umkc.edu> In article <226fue$fhk@parsifal.umkc.edu> writes: > > I was compiling a code written in c++ on my NeXTstation running 2.1 > and got the following error for printf call: > > /bin/ld: Undefined symbols: > _printf__FPCce > > > Am I missing some library? I did include -lc++ without any success. > (The same code compiles fine on ultrix OS when g++ is used.) This is a common C++ question. C++ does name mangling. If it sees a definition of a function it assumes that the function is in C++ has it's name mangled. So when C++ reads stdio.h it sees: extern int printf(const char *format, ...); assumes it is a C++ function, and tells the loader to look for the mangled name: _printf_FPCce. Unfortunetly, that's not what you want since printf is a C function not a C++ function. The solution is to tell C++ that it is a C function by doing: extern "C" { #include <stdio.h> } This says that everything in stdio.h is actually C not C++. That leaves the question of why it worked on <fill-in-the-blank> other computer. The answer to that is that they have probably modified the headers to add the extern "C" for you. Some vendors have started modifying their headers to say: #ifdef __cplusplus extern "C" { #endif <<< regular stuff in here >>> #ifdef __cplusplus } #endif Which makes the header work transparently for either C++ or C, but NeXT hasn't done that yet.
Newsgroups: comp.sys.next.programmer From: thf@zelator.in-berlin.de (Thomas Funke) Subject: Re: putenv for NeXT... Message-ID: <1993Jul15.111445.1504@gamelan> Sender: thomas@gamelan (thomas) Organization: Disorganization References: <21uken$9j0@xanth.cs.odu.edu> Date: Thu, 15 Jul 1993 11:14:45 GMT In article <21uken$9j0@xanth.cs.odu.edu> basil@hurricane.cs.odu.edu (Keith Basil) writes: > > > Can someone please email me source to putenv.c, so i can include > it in a few of my programs? > > thanks. > > keith > > basil@cs.odu.edu > #include <ctype.h> #define NULL 0 /* Define putenv for machines the don't have it in the standard library. */ int putenv(s) char *s; { int nlen; char *cptr; char **nenv, **eptr; extern char **environ; /* First see if there is an existing 'name=value' with the * same name as s. */ for (cptr = s; *cptr != '=' && *cptr != '\0'; cptr++) ; if (*cptr == '=' && cptr > s) { nlen = cptr - s + 1; for (eptr = environ; *eptr != NULL; eptr++) { if (strncmp(*eptr, s, nlen) == 0) { *eptr = s; return 0; } } } /* New name, so must change environ. */ for (eptr = environ; *eptr != NULL; eptr++) ; nenv = (char **) malloc((eptr - environ + 2) * sizeof(char *)); if (nenv == NULL) return -1; eptr = environ; environ = nenv; while ((*nenv = *eptr) != NULL) nenv++, eptr++; *nenv = s; nenv[1] = NULL; return 0; } -- ------------------------------------------------------------------ Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de Talk sense to a fool and he calls you foolish. -- Euripides ------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: blanford@spf.trw.com (Ronald P. Blanford) Subject: Re: Unique key generation with the DBKit Message-ID: <2C463E47.23EA@deneva.sdd.trw.com> Sender: news@deneva.sdd.trw.com Organization: TRW Inc., Redondo Beach, CA References: <9307131153.AA03124@penny.demon.co.uk> Date: Fri, 16 Jul 93 05:36:07 GMT Robert Nicholson writes > Basically, i'm trying to come up with a scheme for unique key generation... > > How are you guys generating your keys under DBKit? DBKit has nothing to do with it. The server database must support this capability explicitly. We use Oracle sequences, which work just fine: SELECT KEY_SEQUENCE.NEXTVAL FROM DUAL It's a little bit tricky to do this under DBKit. DBDatabase and the Oracle adaptor will not generate the right SQL even if you manage to create a model with an entity DUAL and attribute KEY_SEQUENCE.NEXTVAL (they insist on aliasing DUAL as t0). It is easier in any case to drop down to the binder level, where half a dozen DBKit calls will do it for you: id database = [DBDatabase findDatabaseNamed:"X" connect:YES]; id binder = [[DBBinder alloc] init]; id propertyList = [[List alloc] init]; id keyValue; int uniqueKey; [binder setDatabase:database]; [binder evaluateString:"SELECT KEY_SEQUENCE.NEXTVAL FROM DUAL"]; [binder setNext]; [binder getProperties:propertyList]; keyValue = [binder valueForProperty:[propertyList objectAt:0]]; uniqueKey = [keyValue intValue]; [binder cancelFetch]; [propertyList free]; [binder free]; [database free]; And there you have it. Sorry, I don't know if Sybase has anything analogous to Oracle sequences. -- Ron
Newsgroups: comp.sys.next.programmer From: Karl_Kraft@ensuing.com Subject: Re: NXImage Rotating (PartII) Message-ID: <CA81v6.2rA@ensuing.com> Sender: karl@ensuing.com (Karl Kraft) Organization: Ensuing Technologies Inc. References: <2240dk$57j@master.cs.rose-hulman.edu> Date: Thu, 15 Jul 1993 19:52:15 GMT In article <2240dk$57j@master.cs.rose-hulman.edu> borzilda@NeXTwork.Rose-Hulman.Edu (David A Borzillo) writes: > I'm still having trouble rotating an image. > > [valGaugeImage lockFocus]; > PSrotate(degrees); > [valGaugeImage composite:NX_COPY toPoint:&zero]; > [valGaugeImage unlockFocus]; > > How come I'm not seeing anything? the compostite operator is not affected by the rotation of a postscript coordinate system. -- _________ Karl Kraft Karl_Kraft@ensuing.com (NeXT mail)
From: glenn@rightbrain.com (Glenn Reid) Newsgroups: comp.sys.next.programmer Subject: Re: Beginner's Question - Matrix of Radio Buttons Message-ID: <1270@rtbrain.rightbrain.com> Date: 16 Jul 93 19:13:26 GMT References: <1993Jul16.052630.16265@Happy-Man.com> Sender: glenn@rightbrain.com Irving_Wolfe writes > I have a matrix of radio buttons that work fine when clicked. > The program does the right thing, the new setting lights up, > and the old setting loses its highlighting. > > I added code to control them with keyboard input, too, using > [button performClick:self]. Here also, the program does the > right thing and the new setting lights up -- but the old one > does NOT lose its highlighting. Two radio buttons are lighted > at once with performClick, but only the new one with a real > click. I think the problem is that when you click, the Matrix is actually processing the click, not the underlying button. The matrix takes care of highlighting one and unhighlighting the other (assuming that the matrix is in "radio" mode, that is). When you grab the button underneath, it doesn't know it's in a matrix (thanks to OOP), so it just does what it thinks it's supposed to do when clicked, which is to change state. You should use the matrix method for setting the button you want highlighted, rather than getting the ID of the button and doing "performClick:" Something like one of these: [myMatrix selectCellWithTag:YOUR_TAG_HERE]; [matrix selectCellAt:yourRow :yourCol]; That should work a bit better. -- Glenn Reid NeXTmail: glenn@rightbrain.com RightBrain Software 415-326-2974 (NeXTfax 326-2977) Palo Alto, California Electronic Frontier Foundation, member #054
Newsgroups: comp.sys.next.programmer From: jon@afs.com Subject: Librarian Indexes & Indexing Kit Message-ID: <1993Jul16.181034.782@afs.com> Sender: jon@afs.com Date: Fri, 16 Jul 1993 18:10:34 GMT How difficult would it be to write an app that reads Librarian indexes? Is it possible with the Indexing Kit? -- Jon Hendry It's a thousand classes, give or take a few, <jon@afs.com> I'll be writing more in a week or two. I can make it deeper if you like the style, I can change it round and I want to be an ObjectWare Writer
From: jayh@panix.com (Jay Hardesty) Newsgroups: comp.sys.next.programmer Subject: postcript code to group icons together? Date: 16 Jul 1993 20:58:10 -0400 Organization: PANIX Public Access Internet and Unix, NYC Distribution: world Message-ID: <227ir2$j9l@panix.com> I seem to remember that a good while back someone posted some postscript code that could be used to clean up the icons that get scattered along the bottom of the screen. Does anyone have that code, or know of some other way to achieve this? (By 'cleaning up icons' I mean getting them to group together starting at the bottom left corner of the screen without any gaps between the icons. thanks for any help. jayh@panix.com jayh@woof.music.columbia.edu
From: slv0y@cc.usu.edu Newsgroups: comp.sys.next.software,comp.sys.next.programmer Subject: CMYK tiffs & Color Separation...HELP! Message-ID: <1993Jul16.164100.70100@cc.usu.edu> Date: 16 Jul 93 16:41:00 MDT Organization: Utah State University Is anyone creating negatives on the NeXT and outputting CMYK color separated negatives? If so, what application(s) are you using? I am currently using Virtuoso, but it does not separate RGB Tiff files correctly. It will take a CMYK Tiff file and do that O.K., but now I have to find a program that will output a CMYK tiff. Image will do it, but I have yet to get a good tiff from it. The separation options do not appear to be doing what they say they are, and viewing the different CMYK channels only sometimes shows what is really in that color. A CMYK file saved from Image appears correct on the screen, but when I run a color proof, or negatives and make a color key, it is terrible. It is WAY dark, and changing the separation preferences does not seem to have any effect. Is anyone out there outputting color separated stuff from the NeXT successfully? I need something that can do this, like, yesterday. This job is scheduled to go on the press tuesday... It would be great if Virtuoso would fix it...(Are you listening Lorin. ;-) But in the mean-time...HELP! Your help is greatly appreciated! John Zollinger slv0y@cc.usu.edu
Newsgroups: comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Re: NS/FIP device driver examples? Organization: Primitive Software Ltd. References: <1993Jul13.101244.16560@prim> <1993Jul14.163223.10076@adobe.com> Date: Thu, 15 Jul 1993 10:07:14 +0000 Message-ID: <1993Jul15.100714.27766@prim> Sender: usenet@demon.co.uk In article <1993Jul14.163223.10076@adobe.com> pasqua@adobe.com writes: >In article <1993Jul13.101244.16560@prim> dave@prim.demon.co.uk (Dave Griffiths) >writes: >> So what does the DriverKit do for you? Does it give you for example an >> abstract "hard disk driver" superclass that you can subclass your driver >> from? OK, it's pretty unlikely we're going to have drivers written in Obj-C! >> So what _is_ DriverKit? >> >> Dave Griffiths > >DriverKit is both a class hierarchy and runtime environment for writing device >drivers (yes, you write them in Objective C). DriverKit has a base class >(IODevice) that you subclass to write new drivers. The kit also contains >subclasses of IODevice for various classes of device such as disks, displays, & >ethernet cards. If you are writing a driver for one of these, you subclass the >appropriate kit class and go from there. It sounds excellent. Congratulations to NeXT for having the courage to do it this way. Drivers are a hacked-up afterthought on most Unix systems. Dave Griffiths
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: postcript code to group icons together? Message-ID: <1993Jul17.064031.19857@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <227ir2$j9l@panix.com> Date: Sat, 17 Jul 1993 06:40:31 GMT In article <227ir2$j9l@panix.com> jayh@panix.com (Jay Hardesty) writes: >I seem to remember that a good while back someone posted some >postscript code that could be used to clean up the icons that >get scattered along the bottom of the screen. Does anyone have >that code, or know of some other way to achieve this? Upgrade to NEXTSTEP 3.1? -=EPS=-
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Invoking Mail from within an app Message-ID: <1993Jul17.073747.22689@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <226gnv$760@transfer.stratus.com> Date: Sat, 17 Jul 1993 07:37:47 GMT In article <226gnv$760@transfer.stratus.com> charlie@snowflake.az.stratus.com writes: >Does anyone have the 3.1 API for Mail.app? Try this... #include <stdio.h> #import <mach/mach.h> #import <appkit/Listener.h> #import <appkit/Speaker.h> main() { port_t p; Speaker *m; int win; if (!(p=NXPortFromName("Mail", ""))) { (void)fputs("Can't obtain Mail port\n", stderr); exit(1); } (void)port_deallocate(task_self(), p); if (!(p=NXPortNameLookup("MailSendDemo", ""))) { (void)fputs("Can't obtain MailSendDemo port\n", stderr); exit(1); } m=[[Speaker alloc] init]; [m setSendPort:p]; // open a new Send window, obtain magic cookie for subsequent calls (void)[m selectorRPC:"openSend:" paramTypes:"I", &win]; // fill in the blanks (void)[m selectorRPC:"setTo:inWindow:" paramTypes:"ci", "charlie@snowflake.az.stratus.com", win]; (void)[m selectorRPC:"setSubject:inWindow:" paramTypes:"ci", "test message", win]; #ifdef NOTDEF (void)[m selectorRPC:"setCc:inWindow:" paramTypes:"ci", "sjobs@next.com", win]; #endif (void)[m selectorRPC:"setBody:inWindow:" paramTypes:"ci", "hello, world\n", win]; // force delivery (this is optional) (void)[m selectorRPC:"deliver:" paramTypes:"i", win]; [m free]; (void)port_deallocate(task_self(), p); exit(0); } (You could also msgwrap a MailSpeaker) -=EPS=-
Newsgroups: comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: Re: First Responder Hell Message-ID: <Jul17.152637.59782@acs.ucalgary.ca> Date: Sat, 17 Jul 1993 15:26:37 GMT Distribution: na References: <1993Jul15.165424.15006@ac.dal.ca> Organization: The University of Calgary, Alberta > Hi, I've got a problem. My program has a main menu, with a save > option. This button isn't enabled until a display object is > create, but the display object is created by a handler object > which is created by the data object which is created by the > application object ( the home of my main menu ). Are you > confused yet. My point is I want the 'save' method in the > display class, ie receive the message from the main menu. I've > tried using the First Responder, but I can't seem to get it to > work. I've seen the F.R. work for GRAPH, but that's save's > method was in the object created by the home of the main menu. > If you understand what I just wrote, any suggestions would be a > big help to this NeXT newbie. First of all, the information I'm presenting comes from: /NextLibrary/Documentation/NextDev/Concepts/Pre3.0_Concepts/ 07_ProgDynam.rtfd ... where you can read up on the subject at leisure. In order for a view to receive messages directed at the first responder, it must first BE the first responder (oversimplification, see below). A view will, by default, not become the first responder when the user clicks on it. In order to change this behaviour, the view should implement the following method: - (BOOL)acceptsFirstResponder { return YES; } Now, clicking on the view and sending messages to the first responder should work. HOWEVER: From reading your documentation, I don't think this is what you wanted. (I could be REALLY wrong). The problem with the mechanism described is that if the user selects a window containing the view without selecting the view, your save: method won't do anything. The actual path of action message in the reponder chain is described the aforementioned documentation as follows: When the target of an action message is nil, the Control that's about to send the message must look for an appropriate receiver. It conducts its search in a prescribed order: - It begins with the first responder in the current key window and follows nextResponder links up the responder chain to the Window object. After the Window object, it tries the Window's delegate. - If the main window is different from the key window, it then starts over with the first responder in the main window and works its way up the main window's responder chain to the Window object and its delegate. - Next, it tries the Application object, NXApp, and finally the Application object's delegate. NXApp and its delegate are the receivers of last resort. You probably want to implement it in your window's delegate (heck, you may just want to make your view or its controlling object the window's delegate and get it over with). I hope that helps! -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: First Responder Hell Message-ID: <1993Jul17.112515.935@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <1993Jul15.165424.15006@ac.dal.ca> Date: Sat, 17 Jul 1993 11:25:15 GMT In article <1993Jul15.165424.15006@ac.dal.ca> lisag@ac.dal.ca writes: -> Hi, I've got a problem. My program has a main menu, with a save option. This -> button isn't enabled until a display object is create,but the display object -> is created by a handler object which is created by the data object which -> is created by the application object ( the home of my main menu ). Are you -> confused yet. My point is I want the 'save' method in the display class, ie -> receive the message from the main menu. I've tried using the First Responder, [snip] Often the easiest way is to utilize a delegate of the display object (or its window superview) and merely ask the window what it's delegate is. Bruce
Newsgroups: comp.sys.next.hardware,comp.sys.next.programmer From: optadm7@watserv1.uwaterloo.ca (J.Cassidy - Optometry) Subject: Frame Grabber availability? Message-ID: <CABKnC.EI6@watserv1.uwaterloo.ca> Sender: news@watserv1.uwaterloo.ca Organization: University of Waterloo Distribution: na Date: Sat, 17 Jul 1993 17:30:48 GMT I am searching for any company that produces a low end frame grabber for Intel machines running NeXTSTEP. If anyone knows of such a company (or perhaps on that produces one for the NeXT that might also be planning one for Intel boxes) I would be greatful if they could send me their phone number. It doesn't have to be some special multimedia type board just something to allow some NeXTSTEP apps I am writing do some video analysis. On another issue, does NS/FIP 3.1 support DeskJet printers, or is that not until 3.2? Thanks in advance! Jim. ========================================================================= Jim Cassidy jcassidy@focus.uwaterloo.ca University of Waterloo optadm7@watserv1.uwaterloo.ca 200 University Ave. VE3RTS Waterloo, Ontario, Canada N2L 3G1 (519) 885-1211 ext. 6240
Newsgroups: comp.text,comp.text.desktop,comp.text.frame,comp.text.interleaf,comp.text.sgml,comp.text.tex,comp.os.msdos.programmer,comp.os.ms-windows.programmer.misc,comp.os.os2.programmer.misc,comp.sys.amiga.programmer,comp.sys.mac.programmer,comp.sys.next.programmer,comp.unix.programmer,gnu.misc.discuss From: dhosek@jarthur.claremont.edu (D Hosek) Subject: API for spell-checking Message-ID: <CABKGx.n0z@news.claremont.edu> Followup-To: comp.text Sender: news@news.claremont.edu (The News System) Organization: Quixote Digital Typography, Claremont, CA 91711 Date: Sat, 17 Jul 1993 17:26:54 GMT In preparation for a major project which will require a spell-checking component, I am putting together an API for spell-checking. This API would be public domain with the hopes that we might finally see an end to the "and another 20M for *our* spell checker" feature of a lot of software available today. If there were a widely available cross-platform spell-check API with adequate features, a spell-check client could determine at install time if there's already a compatible spell checker available and avoid installing its own spelling checker. There would obviously be some administrative calls: load_spell_checker unload_spell_checker find_spell_checker [install-time] etc. And actual use calls should be fairly straightforward as well: set_language check_word etc. Some data structures will need to be defined, etc. It would be nice if there was the potential for context-sensitive spell-checking, but I'm not sure if that's possible in a generic environment. Perhaps if the calling application were to provide words on paragraph at a time (that would be a reasonably small lexical object which the application could be assumed to understand. Sentences are notoriously difficult to isolate because of the overloading of the period--that sort of parsing would be up to such a "smart" spell checker). The API would consist of a system-independent (or as nearly so as possible) header file plus stub routines to convert API calls into the appropriate form for each operating system. Any suggestions/comments would be welcome. The newsgroups line is lengthy so I've redirected follow-ups to comp.text. Of the groups listed I read only one or two so I would recommend making sure that that's where follow-ups end up. E-mail responses should go to dhosek@hmcvax.claremont.edu. At present, I don't imagine that this will be too terribly complex (unless I've overlooked something which is always possible) so I'd expect that such an API could exist before summer's end. -dh Don Hosek Quixote Digital Typography 909-621-1291 dhosek@hmcvax.claremont.edu
Newsgroups: comp.sys.next.programmer From: thf@zelator.in-berlin.de (Thomas Funke) Subject: Re: MouseX server causes unbounded swapfile expansion? Message-ID: <1993Jul16.103822.937@gamelan> Sender: thomas@gamelan (thomas) Organization: Disorganization References: <1993Jul14.025517.1089@imani.cam.org> Date: Fri, 16 Jul 1993 10:38:22 GMT In article <1993Jul14.025517.1089@imani.cam.org> nico@imani.cam.org (Nicolas Dore) writes: > > Now, what I read about compressing the swapfile, it does one > thing: reduce the amount of stuff you need to access in the > swapfile by compressing it, therefore speeding the machine > up. This makes sense if swapfile.front _replaces_ swapfile > (i.e. it is just let to sit there until it is needed. > > Otherwise, you would have to write to both swapfiles, thus > _adding_ to the data sent/received, and slowing things down. > This does _NOT_ make sense to Try the command 'df' and you'll see the disk space available. Now do some swapping (e.g. start mathematica or other big stuff). Your swapfile.front looks as if it has increased. But the 'df' command still shows the same space available. So what ? BTW: Any time you swap, you 'swapfile' will get a new date (ls -l). This shows that actual swapping still takes place into this file. This is independent from compression. Anyway it wouldn't make sense using a second swapfile for compressed swaps. Would be a big waste of disk-space leaving the other swapfile unused ... -- ------------------------------------------------------------------ Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de Talk sense to a fool and he calls you foolish. -- Euripides ------------------------------------------------------------------
Newsgroups: comp.text,comp.text.desktop,comp.text.frame,comp.text.interleaf,comp.text.sgml,comp.text.tex,comp.os.msdos.programmer,comp.os.ms-windows.programmer.misc,comp.os.os2.programmer.misc,comp.sys.amiga.programmer,comp.sys.mac.programmer,comp.sys.next.programmer,comp.unix.programmer,gnu.misc.discuss From: dhosek@jarthur.claremont.edu (D Hosek) Subject: Re: API for spell-checking Message-ID: <CABry6.4L8@news.claremont.edu> Sender: news@news.claremont.edu (The News System) Organization: Quixote Digital Typography, Claremont, CA 91711 References: <CABKGx.n0z@news.claremont.edu> Date: Sat, 17 Jul 1993 20:08:21 GMT I apparently need to make a point of clarification: I'm _not_ intending to write a spell checker. For one thing I wouldn't know _how_. The intention is to create a standard application interface to spell checkers. ispell will be made available as a client spell checker for at least the operating systems which I develop. -dh
Newsgroups: comp.sys.next.programmer From: uwe@orchide.stgt.sub.org Subject: DB-KIit Adaptor for Dbase or FoxBase available? Message-ID: <1993Jul16.133022.179@orchide.novalis.public.sub.org> Sender: uwe@orchide.novalis.public.sub.org Date: Fri, 16 Jul 1993 13:30:22 GMT Subject says it all. -- | Tiff from yourself (64x64) welcome! __o | Uwe Kraul, Calw, Black-Forest, Germany _ \<,_ | uwe@orchide.stgt.sub.org (NeXT-Mail accepted) (_)/ (_) |________________________________________________________________ __________|The place where trees can safely grow...
Control: cancel <CAC2s4.E86@mentor.cc.purdue.edu> Newsgroups: comp.sys.next.programmer From: davis@sonata.cc.purdue.edu (Robert Davis) Subject: cmsg cancel <CAC2s4.E86@mentor.cc.purdue.edu> Message-ID: <CAC2wx.EC9@mentor.cc.purdue.edu> Sender: news@mentor.cc.purdue.edu (USENET News) Organization: Purdue University References: <226gnv$760@transfer.stratus.com> <1993Jul17.073747.22689@csus.edu> <CAC2s4.E86@mentor.cc.purdue.edu> Date: Sun, 18 Jul 1993 00:05:21 GMT <CAC2s4.E86@mentor.cc.purdue.edu> was cancelled from within rn. -- | Robert Davis davis@sonata.cc.purdue.edu | "Look up, Hannah." NeXT Mail accepted --
From: bill@alamut.cognet.ucla.edu (William M. Eldridge) Newsgroups: comp.sys.next.programmer Subject: More probs w/ libg++-2.4 using gcc-2.4.5 on Turbo Date: 17 Jul 1993 17:44:05 -0700 Organization: UCLA Cognitive Science Research Program Message-ID: <22a6cl$kjm@alamut.cognet.ucla.edu> I had orginally installed libg++ 2.4 w/ gcc 2.3.3 without any problems on a Next, but I just installed 2.4.5, and went to recompile the g++ libs. No go. I followed the 1) compile w/ gcc -O -DSTDC_HEADERS, & 2) changing _G_config.h's NAMES & DOLLAR things to 1. Actually, I get the same error with different configurations (using CC=cc as well, etc.): procbuf.C: In method 'int procbuf::sys_close ()': procbuf.C:102: incompatible pointer types for argument 1 of 'int wait (union wait*) ' Anyone have any other ideas? Thanks. Bill -- Bill Eldridge bill@cognet.ucla.edu 310-206-3960 (3987 fax) More! Better! Faster! (80's motto) x x x x Hot, Toxic, and Shallow! (90's motto) x xx x x Free Rorschach Sig! (interpretation extra) x xx xx x
From: kehoe@fortuity.sf.ca.us (Daniel Miles Kehoe) Newsgroups: comp.sys.next.programmer Subject: How do you use HeaderViewer? (writing documentation) Date: 18 Jul 1993 02:01:48 GMT Organization: CERFnet Distribution: world Message-ID: <22aauc$oc0@news.cerf.net> Keywords: HeaderViewer documentation I am writing documentation for HeaderViewer, since it seems to be greatly desired. I'd appreciate any comments you have that would help novices get the most out of the HeaderViewer app. I'm particularly interested in offering suggestions for how to use HeaderViewer. So far, I've come up with the following list: Examining an Example Application Finding Imported Header Files Determining the Methods of a Class Determining the Messages that Invoke a Method Using Header Viewer in Creating New Classes Comparing Methods of a Class and Subclass Finding Constants Using Header Viewer While Debugging Please email me if you've done any or all of these things with HeaderViewer (I'd like to gauge how developers are using the app). Also, along these lines, let me know what other neat things you use HeaderViewer for. And, what problems have you had using HeaderViewer (not bugs, but things that need better explanation?). Thanks. This could help out everybody. Daniel Miles Kehoe 415-488-9142 office kehoe@fortuity.sf.ca.us
Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy From: Zacharias J. Beckman <zac@dolphin.com> Subject: Re: Strings (was: Why NeXTSTEP is buggy) Message-ID: <1993Jul18.005642.879@dolphin.com> Keywords: String, localization, NeXTSTEP, safe Sender: zac@dolphin.com Organization: Dolphin Software References: <ls$@byu.edu> Date: Sun, 18 Jul 1993 00:56:42 GMT Don Yacktman writes: > mihe@gordon.enea.se (Mike Henry) writes: > >Instead of implementing strings directly in C why not instead > >implement a safe string object in Obj-C or C++? This seams to me to be > >The Better Choice (tm). Thinking about it, why don't you take a look > >at libg++'s String.h implementation of "safe" strings? That might do > >the trick for you... > > Using this as a nice opener, I would like to remind the net that there > IS a publically available Obj-C string class. It tries to do things > "right". This _includes_ keeping track of string length as well as the > string itself, and protecting against calling a string function with > a NULL pointer, amongst many other useful and handy features... > > Interestingly, just after I released my String class, another string class > (a reference counting string class, GNU license) was released. It's a > very well done class, too, and you would do very well to check it out > as well. The main thing that it supports, which I do not yet do, is > regular expression matching. (Probably a future feature, though.) There is yet ANOTHER String class available. It also supports safe strings, takes advantage of NeXTSTEP features such as localization (NXStringTables), and provides complete error checking. Related classes also available are ReadOnlyString and ErrorString. This library is available from Dolphin Technologies... if interested, send a reqeust for information or for a copy of the online documentation for the entire library to <info@dolphin.com>. -- Zacharias J. Beckman - Dolphin Technologies Inc. - zac@dolphin.com - NeXTMAIL! To be "matter of fact" about the world is to blunder into fantasy.... and dull fantasy at that, as the real world is strange and wonderful. --- R. A. Heinlen Those opinions I express herein are my own, I'm fairly sure. --- Z. J. Beckman
Newsgroups: comp.sys.next.programmer From: dlw@netcom.com (David L. Williams) Subject: Porting from Sun to Next include file mapping? Message-ID: <dlwCACAsG.n53@netcom.com> Organization: NETCOM On-line Communication Services (408 241-9760 guest) Date: Sun, 18 Jul 1993 02:55:27 GMT I'd like to begin a port of our companies product which runs on Sun, HP, IBM, & SGI unix platforms. I've noticed that NeXT has done some strange things in terms of the placement of include files under 3.0. I've been wondering if anyone has attempted re-engineering some of the major and minor include files/libraries that inhabit the Sun environment. I would think it would make it much easier for folks to port from Sun et al to NeXT if include files like unistd.h and others to facilitate this. What do you folks think? Would this be a "good" thing for NeXT to spend a little time providing to make life simpler for their developers? David Williams
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Porting from Sun to Next include file mapping? Message-ID: <1993Jul18.052540.5883@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <dlwCACAsG.n53@netcom.com> Date: Sun, 18 Jul 1993 05:25:40 GMT In article <dlwCACAsG.n53@netcom.com> dlw@netcom.com (David L. Williams) writes: >I'd like to begin a port of our companies product which runs on >Sun, HP, IBM, & SGI unix platforms. I've noticed that NeXT has done >some strange things in terms of the placement of include files under >3.0. That can be dealt with. The real problem is with critical files that disappeared between 2.x and 3.0--not rearranged, but *removed*. >I've been wondering if anyone has attempted re-engineering some of the >major and minor include files/libraries that inhabit the Sun environment. I see no need. I've written a lot of "portable" code (and I've been using NeXTs pretty intensely for over 4 1/2 years) and I'd never run into any nontrivial problems prior to the stupidities introduced in 3.0. Until then, I found the NeXT to be an outstanding development environment, particularly because the compiler and runtime system were so intolerant of bozo code. Now I find myself spending a lot more time using SunOS 4.1.3, and find it very difficult to recommend NEXTSTEP to anyone in the UNIX market looking for a single-platform solution. >I would think it would make it much easier for folks to port from Sun et al >to NeXT if include files like unistd.h and others to facilitate this. It's that kind of misguided logic that got us into trouble in the first place. Better someone would put together some guidelines on how to port code to the NeXT--or, better still, how to make it "NeXT-friendly" from Day 1. You'd be amazed how many people don't know about cc -bsd and go through amazing gyrations trying to get "code that works fine everywhere else" to function under the bogus pseudo-ANSI paradigm. The growing POSIX infection is only going to confuse matters further. >What do you folks think? Would this be a "good" thing for NeXT to spend a >little time providing to make life simpler for their developers? I think NeXT should spend a little time taking what they have and making it work, and less time kissing up to the "checklist" mentality. If you want things "to work like Sun intended," buy a Sun! Buy thousands of them! Stop trying to fix what ain't broke. -=EPS=-
Newsgroups: comp.sys.next.programmer From: wei@wucs1.wustl.edu (Wei Chen) Subject: Re: How are "private" methods implemented in Ob Message-ID: <1993Jul18.052927.14064@wuecl.wustl.edu> Keywords: Objective-C. private, static Sender: usenet@wuecl.wustl.edu (News Administrator) Organization: Washington University, St. Louis MO References: <21ev3k$t77@cnn.sim.es.com> <C9tswI.EwF@news.iastate.edu> Date: Sun, 18 Jul 1993 05:29:27 GMT Any private methods are anti-OO and thus should be avoided. Just take look at SmallTalk. All the source codes are published.
Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer From: Zacharias J. Beckman <zac@dolphin.com> Subject: Re: Strings (was: Why NeXTSTEP is buggy) Message-ID: <1993Jul18.051037.1274@dolphin.com> Followup-To: comp.sys.next.programmer Sender: zac@dolphin.com Organization: Dolphin Software References: <CA8nyJ.EJ2@molly.uucp> Distribution: usa Date: Sun, 18 Jul 1993 05:10:37 GMT Jim Vlcek writes > mrc@Ikkoku-Kan.Panda.COM (Mark Crispin) writes: > > #define STRING struct _STRING > > STRING { > > char *s; > > size_t i; > > }; > > This is OK, but you no longer have the (very useful) aliasing between "char > *" and "STRING". > > Hasn't anyone heard of strncpy(3)? How about malloc_size()? Using this you don't really need to keep a copy of the size in a separate data type, since the data pointer carries with it the ability to find the size of the memory block... (PS... changing the followup into c.s.n.p, 'cause this is getting Very Technical). -- Zacharias J. Beckman - Dolphin Technologies Inc. - zac@dolphin.com - NeXTMAIL! To be "matter of fact" about the world is to blunder into fantasy.... and dull fantasy at that, as the real world is strange and wonderful. --- R. A. Heinlen Those opinions I express herein are my own, I'm fairly sure. --- Z. J. Beckman
Newsgroups: comp.sys.next.programmer From: abell@netcom.com (Steven T. Abell) Subject: Re: How are "private" methods implemented in Ob Message-ID: <abellCACLFA.5E5@netcom.com> Keywords: Objective-C. private, static Organization: Netcom Online Communications Services (408-241-9760 login: guest) References: <21ev3k$t77@cnn.sim.es.com> <C9tswI.EwF@news.iastate.edu> <1993Jul18.052927.14064@wuecl.wustl.edu> Date: Sun, 18 Jul 1993 06:45:09 GMT wei@wucs1.wustl.edu (Wei Chen) writes: >Any private methods are anti-OO and thus should be avoided. Just take >look at SmallTalk. All the source codes are published. Dogma and poppycock. There are often things you need to do repeatedly within an object's body of code that are peculiar to the implementation that object and don't need exposure. Since the only way to functionalize in Smalltalk is to create a method, some kind of private status is *desirable* to maintain the abstract interface and prevent abusive coding by people who don't know enough to stay away from the implementation details. The situation isn't as bad in C++ or ObjC, since you can always write a static function instead of a method, but I think the public/protected/private trichotomy is one of the things that's *right* about C++. As for Smalltalk source being published, well, it's pretty hard to prevent decompilation of Smalltalk in a development environment, so the source is provided because everybody's going to get it anyway. Steve abell@netcom.com
From: kline@CS.Arizona.EDU (Nick Kline) Newsgroups: comp.sys.next.programmer,comp.unix.bsd Subject: detecting carrier for ttyfa Followup-To: comp.sys.next.programmer Date: 18 Jul 1993 03:28:39 -0700 Organization: University of Arizona CS Department, Tucson AZ Message-ID: <22b8ko$a7j@cheltenham.cs.arizona.edu> I can't reliably detect whether the carrier is on when I am using /dev/ttyfa. I use the call: int carrier(int ttyNum) { int result; if(ioctl(ttyNum,TIOCMGET,&result) < 0) { printf("bad ioctl\n"); return 0; } else { printf("result is %x\n",result); return result & TIOCM_CD; } } when the carrier is on, the bit for 64 should be set. it is usually, but not always. when the carrier is not on, it usually, but not always says that this bit is off. any suggestions which this wouldn't work? if I haven't used the modem lately, and i call someplace, then the carrier is initially correctly shown to be off. then if i call some place, the carrier is usually correctly shown on. if i log out, and then test the carrier bit again, it says it's still on. Is there something that needs to be done to 'flush' the state, other than redoing the ioctl? -nick
Newsgroups: comp.sys.next.programmer From: thf@zelator.in-berlin.de (Thomas Funke) Subject: Re: MEMORY-MAPPED FILES Message-ID: <1993Jul17.132137.853@gamelan> Sender: thomas@gamelan (thomas) Organization: Disorganization References: <CA5u9v.7F5@tigadmin.ml.com> Date: Sat, 17 Jul 1993 13:21:37 GMT In article <CA5u9v.7F5@tigadmin.ml.com> kunal@passion.pilot.dmg.ml.com (Kunal Singh) writes: > Does anyone know why NeXTSTEP doesn't allow writing to memory-mapped > files ? Has this been changed in later releases i.e. 3.1 ? > At least on 3.0 you can use the mmap() system call. Its not documented but works. Get a man-page from some other system (sun, aix). Does anybody know about 3.1 ? How about Intel-machines ? -- ------------------------------------------------------------------ Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de Brook's Law: Adding manpower to a late software project makes it later ------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: charuhas@virtual12.harvard.edu (Thomas Charuhas) Subject: BUG in NeXTSTEP Intel Message-ID: <1993Jul18.160058.29454@das.harvard.edu> Originator: charuhas@virtual12 Sender: usenet@das.harvard.edu (Network News) Organization: Aiken Computation Lab, Harvard University Date: Sun, 18 Jul 1993 16:00:58 GMT I submittted the following bug to bug_next@next.com. I'm sure everyone will agree, that this kind of bug should not occur under NeXTSTEP Intel, especially if it is brought out by a program as frequently used as Draw.app. BugVersion: 6 Topic: Draw Title: Intel specific bug in getNextEvent in Draw.app. (Causes postscript error) Severity: Unavoidable Bug Architecture: General Reported_Version: thunder4h Submitter: charuhas Sites: Harvard Univ. Div of Applied Sciences Description: To recreate the bug: 1. Compile Draw.app (i386 only) (The problem does not occur on my black box) 2. Start drawing polygons. 3. After about 3 to 5 polygons you cannot draw them anymore. The following appears on the console log: PostScript program error, DPSContext 3cc958 Jun 23 10:47:52 virtualpc2 Draw[3101]: %%[ Error: undefinedresult; OffendingCommand: bin obj seq, type=129, elements=10, size=93 ]%% I narrowed it down to the getNextEvent in the modal loop of the file Polygon.m. Line #182 if (!done) { while (event->type != NX_MOUSEUP) { p = event->location; [view convertPoint:&p fromView:nil]; [view grid:&p]; [view drawSelf:&r :1]; getRectFromBBox(&r, p.x, p.y, last.x, last.y); [view scrollPointToVisible:&p]; NXInsetRect(&r, -2.0, -2.0); [self draw]; PSmoveto(last.x, last.y); PSlineto(p.x, p.y); PSstroke(); [window flushWindow]; ----> event = [NXApp getNextEvent:POLYGON_MASK]; } if (fabs(p.x-start.x) <= grid && fabs(p.y-start.y) <= grid) { done = YES; closepath = YES; } } This is a serious problem for me, since I have created a program based on draw (for configuring network topologies) and I use some of the polygon code with equally bad results. Hardware Configuration: Processor: I386 (Intel 486) Primary memory: 32.00 MB Machine Name Other Intel-based System; ... Software Configuration: NeXT Mach 3.1: Thu Apr 29 23:44:40 PDT 1993; root(rcbuilder):Objects/mk-149.22.3.obj~2/RELEASE_I386 The reply stated that the bug was known, that they didn't have a workaround or a planned fix, and that I should ask on the newgroups. IF ANYBODY knows what the real cause of this is and what a possible workaround or patch would be, PLEASE let me know. I will be eternally grateful. Thomas Charuhas charuhas@das.harvard.edu NeXTmail accepted
From: stickler@klaava.Helsinki.FI (Patric M Stickler) Newsgroups: comp.text,comp.text.desktop,comp.text.frame,comp.text.interleaf,comp.text.sgml,comp.text.tex,comp.os.msdos.programmer,comp.os.ms-windows.programmer.misc,comp.os.os2.programmer.misc,comp.sys.amiga.programmer,comp.sys.mac.programmer,comp.sys.next.programmer,comp.unix.programmer,gnu.misc.discuss Subject: Re: API for spell-checking Date: 18 Jul 1993 18:46:05 +0300 Organization: University of Helsinki Message-ID: <22br7t$32f@klaava.Helsinki.FI> References: <CABKGx.n0z@news.claremont.edu> <CABry6.4L8@news.claremont.edu> As a minimum, the API should include IMHO facilities for either multiple lexicons or multiple spelling checkers (or instances of the same using different lexicons), and from the SGML perspective the ability to have at least element specific "context sensitivity" so that one can specify which spelling checker or lexicon is to be used with the contents of which elements. Without this functionality, the API will not be able to be (flexibly/easily) used in multilingual environments, much less with multilingual texts. ///////////////////////////////////////////////////////////////////////// Patrick M. Stickler OH2LUV, KC4YYY The comments contained herein WSOY - Information Systems Division do not necessarily reflect the Helsinki, FINLAND (psti@wsoy.fi) official views of my employer. /////////////////////////////////////////////////////////////////////////
Newsgroups: comp.sys.next.programmer From: mbparker@netcom3.com (Michael Benjamin Parker) Subject: Is there an DBKit adaptor for Indexing Kit? Message-ID: <MBPARKER.93Jul18090419@netcom3.com> Sender: mbparker@netcom.com (Michael Benjamin Parker) Organization: Netcom Online Communications Service Distribution: comp Date: Sun, 18 Jul 1993 17:04:19 GMT Does anyone know of a DBKit adaptor for Indexing Kit, like the DBKit adaptors for Oracle and Sybase? Since Indexing Kit comes within reasonable range of an SQL database, this idea appears reasonable. Is it? Anyone know how difficult it would be to design & write such a thing? I would think a Indexing Kit DBKit Adaptor would allow you to use Interface Builder to quickly throw together databases and, in particular, database interfaces using the Indexing Kit engine bundled with the NeXT, without having to buy & install a big, 3rd party database such as Sybase or Oracle. Thanks for your info, -- Michael B. Parker email MBParker@MIT.Edu (no NeXTmail yet); fax 415-325-8604; P.O. Box 4009, Menlo Park, CA 94026-4009; 24hr voice 415-325-4451. -- Michael B. Parker email MBParker@MIT.Edu (no NeXTmail yet); fax 415-325-8604; P.O. Box 4009, Menlo Park, CA 94026-4009; 24hr voice 415-325-4451.
Newsgroups: comp.sys.next.bugs,comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Class-name parameter-name collisions Message-ID: <1993Jul18.123824.3163@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software Date: Sun, 18 Jul 1993 12:38:24 GMT Submitted to Bug-NeXT as either a documentation or compiler bug... #import <objc/Object.h> @interface MyClass : Object { } - doSomething; - doSomething:withSomething; - doSomething:withSomething MyClass:(BOOL)someTest @end Compiler barfs on the second usage of the Class name in the method declaration, stopping its parsing BEFORE the Class name. Why would one WANT to use it there? Obviously, to select in or out the usage of the class as a potential target of message forwarding. Not necessary, just in-code documentation. Bruce Gingery bruce@TotSysSoft.com Total System Software the makers of DFax
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: detecting carrier for ttyfa Message-ID: <1993Jul18.124450.3270@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <22b8ko$a7j@cheltenham.cs.arizona.edu> Date: Sun, 18 Jul 1993 12:44:50 GMT In article <22b8ko$a7j@cheltenham.cs.arizona.edu> kline@CS.Arizona.EDU (Nick Kline) writes: -> -> I can't reliably detect whether the carrier is on when I am using -> /dev/ttyfa. -> -> I use the call: -> -> int carrier(int ttyNum) -> { -> int result; -> -> if(ioctl(ttyNum,TIOCMGET,&result) < 0) { -> printf("bad ioctl\n"); -> return 0; -> } -> else { -> printf("result is %x\n",result); -> return result & TIOCM_CD; -> } -> } -> -> -> when the carrier is on, the bit for 64 should be set. it is usually, but [snip] Nick, Try this... - (BOOL)is_connected:(int)openModemDevice { char statusByte; ioctl( openModemDevice, TIOCMODG, &statusByte ); return(( statusByte & TIOCM_CAR ) == TIOCM_CAR ); } I think you'll find it returns Carrier Detect. --- Bruce Gingery bruce@TotSysSoft.com Total System Software the makers of DFax
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: How do you use HeaderViewer? (writing documentation) Message-ID: <1993Jul18.125821.3373@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <22aauc$oc0@news.cerf.net> Date: Sun, 18 Jul 1993 12:58:21 GMT In article <22aauc$oc0@news.cerf.net> kehoe@fortuity.sf.ca.us (Daniel Miles Kehoe) writes: -> I am writing documentation for HeaderViewer, since it -> seems to be greatly desired. [snip] -> And, what problems have you had using HeaderViewer -> (not bugs, but things that need better explanation?). -> -> Thanks. This could help out everybody. Daniel, I'd say one thing is a CAUTION. Don't add a whole slug of new headers to a project (particularly library .h files) at one time. In many cases, the import links from the standard C library are followed quite nicely if only libc.p is imported as resident. I made that mistake one night and the next morning (exaggeration)... I found that nearly all of the imported h files had been placed pre-compiled in my now enormous swap file. Bruce Gingery bruce@TotSysSoft.com Total System Software -- the makers of DFax
Newsgroups: comp.text,comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: API for spell-checking Message-ID: <1993Jul18.134011.3523@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <CABKGx.n0z@news.claremont.edu> Date: Sun, 18 Jul 1993 13:40:11 GMT In article <CABKGx.n0z@news.claremont.edu> dhosek@jarthur.claremont.edu (D Hosek) writes: -> In preparation for a major project which will require -> a spell-checking component, I am putting together an -> API for spell-checking. This API would be public -> domain with the hopes that we might finally see -> an end to the "and another 20M for *our* spell -> checker" feature of a lot of software available today. -> If there were a widely available cross-platform -> spell-check API with adequate features, a spell-check -> client could determine at install time if there's -> already a compatible spell checker available and -> avoid installing its own spelling checker. -> -> There would obviously be some administrative calls: -> load_spell_checker -> unload_spell_checker -> find_spell_checker [install-time] -> etc. -> Until I re-read your message, I assumed you were referring to relying upon NEXTSTEP support, (as opposed to all OS's and systems) :).. The spell checker should fetch the user's default language (ir any) BUT be re-setable from the client application for alternate languages. The spell checker should run on an abbreviated database with encoded pre-suffixes, produce a BOOLEAN return for FOUND exact spelling, and have a list of similarly SOUNDING words available once the lookup fails. All returns should reference the call in some way so that multiple parallel calls may be sorted out by client tasks. Norton TeXTRA (MS-DOS application) has an excellent spell checker for DOS for anyone who learned to spell in the last 20 years or so (phonetic as opposed to rote memorization). Under NEXTSTEP, it should accept Mach calls and also be able to efficiently work on a list from disk or passed out-of-line as data (i.e. mapped to an NXStream). Under any BSD system it should accept Piped stdin/stdout. It should receive hyphenated words for check as either a strung-together construct, single or many worded end-of-line style and allow for broken (hyphenated) words as well, and preferably define both an optional and forced hyphen character. Under NEXTSTEP (and probably Mac and Windows?) it should accept single inquiries via Pasteboard server as well. On multitasking systems, it should be properly multi-threaded so that calls from multiple programs, or even multiple calls from the same program -- or multiple calls from multiple users could be received and replied to in reasonable time without garbling the results, or just being ``unavailable'' under heavy usage. Unloading should be system-dependant. On fast-load VM based systems, with core-image memory re-loading, it should unload whenever it has no client services in process. On others, it may require a separate load/unload. NEXTSTEP, services can merely summon it when called for, for example, the OS loading it to perform an advertised service. A secondary task should be able to format lists of words and manage handing that list to the server API task. If implemented under non-multitasking sytems such as MS-DOS, it could require a shell-to-DOS or separate launch of this secondary program. It should be possible to specify virtually any number of look-up databases. It MUST provide an efficent method of adding to these databases, or building new- efficient- to-use databases, before ANY shutdown except forced system shutdowns. It should have a scratchpad so as to not lose such additions in case of forced shutdown or system crash while servicing other requests, having not yet updated the additions. There are probably other things :-P Bruce Gingery bruce@TotSysSoft.com Total System Software -- the makers of DFax
Newsgroups: comp.sys.next.programmer From: magnus@fisher.Stanford.EDU (Magnus Nordborg) Subject: Re: More probs w/ libg++-2.4 using gcc-2.4.5 on Turbo Message-ID: <1993Jul18.185239.29859@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: DSO, Stanford University References: <22a6cl$kjm@alamut.cognet.ucla.edu> Date: Sun, 18 Jul 93 18:52:39 GMT In article <22a6cl$kjm@alamut.cognet.ucla.edu> bill@alamut.cognet.ucla.edu (William M. Eldridge) writes: > > > I had orginally installed libg++ 2.4 w/ gcc 2.3.3 without > any problems on a Next, but I just installed 2.4.5, and > went to recompile the g++ libs. No go. I followed > the 1) compile w/ gcc -O -DSTDC_HEADERS, & 2) changing > _G_config.h's NAMES & DOLLAR things to 1. Actually, I > get the same error with different configurations (using > CC=cc as well, etc.): > > > procbuf.C: In method 'int procbuf::sys_close ()': > procbuf.C:102: incompatible pointer types for argument 1 of 'int wait (union wait*) ' > > Anyone have any other ideas? > > Thanks. > Bill > > > -- > Bill Eldridge bill@cognet.ucla.edu 310-206-3960 (3987 fax) > More! Better! Faster! (80's motto) x x x x > Hot, Toxic, and Shallow! (90's motto) x xx x x > Free Rorschach Sig! (interpretation extra) x xx xx x I repost this since the question has come up repeatedly. There is no need to edit _G_config.h. Using a correctly installed gcc-2.4.5, libg++-2.4 builds without problem (under 3.1) as follows: configure make all CC=gcc G_CONFIG_ARGS='ssize_t="int"' That's ALL (the kluge above takes care of the definition problem encountered by the original poster). There are more problems relating to the headers (which have been changed again in 3.1 to make them more POSIX compliant). Thus "make check" does not work completely; everything but gcc -c -g -O -nostdinc++ -I. -I../../. -I. -I./../../iostream -I./../../src -I./../../g++-include directory.cc In file included from Dirent.h:9, from directory.cc:3: /../../g++-include/dirent.h:33: parse error before `*' works. This is due to changed header files and is probably not hard to fix for someone who knows what they are doing. -Magnus -- Magnus Nordborg magnus@fisher.stanford.edu (NeXT mail preferred) Department of Biological Sciences Stanford University Stanford, CA 94305-5020 +1 (415) 723-4952 (office)
From: jfosback@darmok.uoregon.edu (Jason Fosback) Newsgroups: comp.sys.next.programmer Subject: Help with "enterLinearMode" for NS/FIP! Date: 18 Jul 1993 20:19:49 GMT Organization: University of Oregon Network Services Message-ID: <22cb95$qn4@pith.uoregon.edu> I'm attempting to hack my way through the Beta DriverKit docs so that I can write a display driver. I notice that to create a device driver, you need to implement: * initFromDeviceDescription: * enterLinearMode * revertToVGAMode Well, it says that the memory must be linearly addressable. Does this mean that the card *must not* use paging? Specifically, my card (an S3 86C911) has a 64K window starting at 0x0A0000H. Does this mean it's unusable? (Incidentally, this is the chipset immediately _before_ the S3 805 chipset driver included with NS/FIP) There is also a method described in IOFrameBufferDisplay called "mapFrameBufferAtPhysicalAddress:length:" which leads me to belive that it is possible to get away with a "window" into the video card memory. Does anyone have any ideas as to: 1) Is it possible to write a driver for this card? 2) Must the video card _not_ use paging? Thanks! -jason _________________________________________________________________ Jason Fosback, User Support Analyst | No sir, I didn't like it ---- University of Oregon ---- | -R&S Internet: jfosback@oregon.uoregon.edu | Star Trek: NeXT mail: jfosback@darmok.uoregon.edu | The NeXT Generation...
Newsgroups: comp.text,comp.text.desktop,comp.text.frame,comp.text.interleaf,comp.text.sgml,comp.text.tex,comp.os.msdos.programmer,comp.os.ms-windows.programmer.misc,comp.os.os2.programmer.misc,comp.sys.amiga.programmer,comp.sys.mac.programmer,comp.sys.next.programmer,comp.unix.programmer,gnu.misc.discuss From: isis@netcom.com (Mike Cohen) Subject: Re: API for spell-checking Message-ID: <isisCADo95.GCF@netcom.com> Followup-To: comp.text,comp.text.desktop,comp.text.frame,comp.text.interleaf,comp.text.sgml,comp.text.tex,comp.os.msdos.programmer,comp.os.ms-windows.programmer.misc,comp.os.os2.programmer.misc,comp.sys.amiga.programmer,comp.sys.mac.programmer,comp.sys.next.programmer,comp.unix.programmer,gnu.misc.discuss Organization: ISIS International References: <22br7t$32f@klaava.Helsinki.FI> Date: Sun, 18 Jul 1993 20:43:52 GMT Patric M Stickler (stickler@klaava.Helsinki.FI) wrote: > As a minimum, the API should include IMHO facilities for either > multiple lexicons or multiple spelling checkers (or instances of > the same using different lexicons), and from the SGML perspective > the ability to have at least element specific "context sensitivity" > so that one can specify which spelling checker or lexicon is to > be used with the contents of which elements. Without this > functionality, the API will not be able to be (flexibly/easily) used > in multilingual environments, much less with multilingual texts. > ///////////////////////////////////////////////////////////////////////// > Patrick M. Stickler OH2LUV, KC4YYY The comments contained herein > WSOY - Information Systems Division do not necessarily reflect the > Helsinki, FINLAND (psti@wsoy.fi) official views of my employer. > ///////////////////////////////////////////////////////////////////////// I strongly suggest looking at Working Sofware's AppleEvent suite for text services. It defines a very nice protocol which lets applications request spell checking & other services via AppleEvents. Apple has included samples & documentation on their developer CD, so I assume they endorse it. _______________________________________________________________________________ Mike Cohen isis@netcom.com
From: apl@doc.ic.ac.uk (Ari P Laakkonen) Newsgroups: comp.sys.next.programmer Subject: Re: Help with "enterLinearMode" for NS/FIP! Date: 18 Jul 1993 21:41:04 GMT Organization: Department of Computing, Imperial College, University of London, UK. Sender: apl@doc.ic.ac.uk Message-ID: <22cg1gINNpqn@frigate.doc.ic.ac.uk> References: <22cb95$qn4@pith.uoregon.edu> In article <22cb95$qn4@pith.uoregon.edu> jfosback@darmok.uoregon.edu (Jason Fosback) writes: >Well, it says that the memory must be linearly addressable. Does this >mean that the card *must not* use paging? Specifically, my card (an S3 >86C911) has a 64K window starting at 0x0A0000H. Does this mean it's >unusable? (Incidentally, this is the chipset immediately _before_ the >S3 805 chipset driver included with NS/FIP) > >There is also a method described in IOFrameBufferDisplay called >"mapFrameBufferAtPhysicalAddress:length:" which leads me to belive that >it is possible to get away with a "window" into the video card memory. > >Does anyone have any ideas as to: > > 1) Is it possible to write a driver for this card? > 2) Must the video card _not_ use paging? > I too wanted to write a driver for my Orchid Fahrenheit 1280, which is an S3 86C911. After two weeks of hunting through explanations and trying to get help on this, I got a quote from NeXT that: "Third-party developers should not try to subclass the IODisplay class directly and should only subclass the IOFrameBufferDisplay class. A new class to provide possibilities for writing segmented VGA drivers might be in 3.2" As the frame buffer display class only does support adapters that can map their entire display memory into a linear CPU memory space, that ended my efforts. I had tried to disassemble the tseng4000 drivers to see how they were doing it, but it's very difficult. For a start, there are two tseng4000 drivers. I would guess that they have some unpublished protocol.. There has been some speculation on how it could be done. One method is to use page faults on a virtual memory range to swap video pages. However, this method is not all optimal for the S3-911, as it has relatively slow direct memory access times. It's much faster if you could use the hardware fills, copies, and scrolls. But I can't see anything like that coming along. At most we might be able to use the hardware cursor. It's strange that I've used my orchid card under windows and NT with no problems, in 1024x768x256 mode. Now I should use 640x480x2. The "alternative" is buying another card. sigh. I hope I'm wrong about this and that it really is possible to write a driver for the 911. If so, can someone please tell me, and the rest of us with "obsolete" video cards too. Ari
From: kline@CS.Arizona.EDU (Nick Kline) Newsgroups: comp.sys.next.programmer Subject: Re: detecting carrier for ttyfa Date: 18 Jul 1993 16:16:16 -0700 Organization: University of Arizona CS Department, Tucson AZ Message-ID: <22clk0$qba@cheltenham.cs.arizona.edu> References: <22b8ko$a7j@cheltenham.cs.arizona.edu> <1993Jul18.124450.3270@totsyssoft.com> In article <1993Jul18.124450.3270@totsyssoft.com> bruce@TotSysSoft.com (Bruce): > >- (BOOL)is_connected:(int)openModemDevice >{ > char statusByte; > > ioctl( openModemDevice, TIOCMODG, &statusByte ); > return(( statusByte & TIOCM_CAR ) == TIOCM_CAR ); >} > > Thanks again Bruce. You seem to know all the answers. Is there a reference to point me to? (Other than the zs(4), tty(4), ioctl.h include file). strangely enought, the above always returns 0 for me. and I checked the return from ioctl and it wasn't -1. TIOCMODG always sets the statusByte to a 0 (and works the same for an int). I figured out the behavior of my code. It wouldn't detect a change during the running of the program. It preserved the value of those status bits from when you ran the program. You would have to exit the program and re-run it to get it to update the modem status bits. The solution was to reopen the port, read the status bits from the new tty, and then close it. The strange thing was that after doing this, the next time I read the status bits from the old port they would be correct. Has anyone seen this? (Note that I tried reading it twice without reopening the port and this didn't fix the problems). here's my code that works. - (BOOL)carrierDetect { int result; int temp_tty; ioctl(ttyNum,TIOCMGET,&result); /* old tty, never changes */ printf("oldtty: %o\n",result); temp_tty = open(portString,O_RDWR|O_NDELAY,0); /* open temp tty */ ioctl(temp_tty,TIOCMGET,&result); /* get new status bits */ close(temp_tty);/* close port */ printf("newtty: %o\n",result); return (result & TIOCM_CD) == TIOCM_CD; } Strangely, as I said above, the first time I call this, the oldtty reports the conditions when I first ran the program. but, after opening and closing the port, the next time the old reports the correct info. It seems that the port must be opened and closed for this info to be updated. Perhaps that has something to do with the way that I opened the port (same as above, open("/dev/ttyfa",O_RDWR|O_NDELAY,0); ) -nick
Newsgroups: comp.sys.next.programmer From: sxurcb@fnma.com(Rodney Blake) Subject: Static linking of libs into a bundle Message-ID: <1993Jul18.150929.1403@almserv.uucp> Sender: usenet@almserv.uucp Organization: Fannie Mae Date: Sun, 18 Jul 1993 15:09:29 GMT We are having problems when bringing our NXBundle into the application. The app knows nothing about the static linked classes in the dynamic library. I know I could statically link the libraries in the application, but we thought it would be less of a burden on the application programmer in using our library. I have been told by a few NeXT programmers that I need to provide a flag option when compiling either the bundle class or the application. To the effect that the application will know something about the symbol table of the static linked classes (I not to sure about the correctness of this statement, but this what has been babbled to me). They can not seem to find the answer in their notes or code. Does anybody know about the flag option or is there an alternative, better way to provide static libraries within your NXBundle ? Thanks in advance, Rodney Blake [sxurcb@fnma.com (NeXT Mail Okay)] Mail Stop: 4H-4S:03 Federal National Mortgage Association (Fannie Mae) 3900 Wisconsin Ave., NW Washington, DC 20016 (202) 752-3705
Newsgroups: comp.sys.next.programmer From: gr1@cec1.wustl.edu (Gopalakrishna Raman) Subject: Distributed Objects Message-ID: <1993Jul19.001947.4666@wuecl.wustl.edu> Sender: usenet@wuecl.wustl.edu (News Administrator) Organization: Washington University, St. Louis MO Date: Mon, 19 Jul 1993 00:19:47 GMT My question relates to the Network Naming Service that the Distributed Objects (DO) package uses. I register an object *)using [NXConnection registerRoot:<myobj> withName:<myname>]. *)The returned NXConnection is run as [<myconn> runInNewThread]. The object implements NXReference protocol (I have problems with this too !); Another process connects to the root object *) using [NXConnection connectToName:<myname>]. The shared object responds to messages, but I have PROBLEMS FREEING IT. This is what I do while freeing : 1. The client (remote app) frees its proxy first using [<myproxy] free] 2. The server frees the object subsequently using [<myobj> free]. Now, I expect that the object as well as the NXConnection over which it was vended are freed ; I also expect that I can register a new instance of the class WITH THE SAME NAME <myname>. However THIS DOES NOT HAPPEN. The client process gets a return value of nil when [NXConnection registerRoot:<newinstance> withName:<myname>] is called. Why should this be so ? Does the name not get purged from the nameserver tables ? I've TRIED EVERYTHING (almost :-)). I did a [NXConnection removeObject:<myobject>] in the server's free method. I did a [<myconn> free] in the server's free method. I even tried [<myconn> deallcate] because the docs for NXInvalidation Notifier class says that only deallocate REALLY frees an NXConnection Only when the server process exits, is another process able to use the name <myname> to register an instance. So I feel the problem is to do with the process that first uses a name to register an object with the nameserver. The proxies I think are getting freed. BTW, the docs say that a class method (+removeObject of NXConnection) returns self ? Is this possible. Is DO in 3.0 NeXTStep BUGGY ? I'm at my wit's end (again). ANYONE HELP ... -gopal
Newsgroups: comp.sys.next.programmer From: louie@TransSys.COM (Louis A. Mamakos) Subject: Re: detecting carrier for ttyfa Message-ID: <22ctqb$3as@wa3ymh.transsys.com> Sender: usenet@grebyn.com Organization: TransSys, Inc. References: <22b8ko$a7j@cheltenham.cs.arizona.edu> <1993Jul18.124450.3270@totsyssoft.com> Date: Mon, 19 Jul 1993 01:36:11 GMT In article <22b8ko$a7j@cheltenham.cs.arizona.edu> kline@CS.Arizona.EDU (Nick Kline) writes: >-> >-> I can't reliably detect whether the carrier is on when I >am using >-> /dev/ttyfa. >-> >-> I use the call: >-> >-> int carrier(int ttyNum) >-> { >-> int result; >-> >-> if(ioctl(ttyNum,TIOCMGET,&result) < 0) { >-> printf("bad ioctl\n"); >-> return 0; >-> } >-> else { >-> printf("result is %x\n",result); >-> return result & TIOCM_CD; >-> } >-> } >-> >-> >-> when the carrier is on, the bit for 64 should be set. >it is usually, but In article <1993Jul18.124450.3270@totsyssoft.com> bruce@TotSysSoft.com (Bruce Gingery) writes: > Try this... > >- (BOOL)is_connected:(int)openModemDevice >{ > char statusByte; > > ioctl( openModemDevice, TIOCMODG, &statusByte ); > return(( statusByte & TIOCM_CAR ) == TIOCM_CAR ); >} Hmmm... From <sys/ioctl.h>, given that #define TIOCM_CAR 0100 /* carrier detect */ #define TIOCM_CD TIOCM_CAR makes both these piece of code effectively the same, I think there's something missing here, somewhere. Anyway, to add my two cents, I use the same approach mentioned in the two (basically identical) examples above, EXCEPT that I use TIOCMGET. It seems to work OK for me. Note that I'm using this on /dev/cuf?, for whatever difference that might make. I don't recall right now why I choose TIOCMGET rather than TIOCMODG other than that's all that was there when I wrote the code. The code is exactly: if (ioctl(dialfout, TIOCMGET, &modemstat) < 0) syslog(LOG_ERR, "makecall: Can't TIOCMGET, %m"); else if ((modemstat & TIOCM_CD) == 0) { syslog(LOG_NOTICE, "makecall: Outbound interface \"%s\": lost carrier", device); hangup(0); /*NOTREACHED*/ } Actually, one interesting difference is that the first code fragment does ioctl(foo, TIOCMODG, &integervar) and the other does ioctl(foo, TIOCMODG, &charvar) I would expect that the first example would be the correct one, since this ioctl is defined to take an (int *) as a parameter rather than a (char *). I think that I see byte order brokeness potential looming here... -- Louis A. Mamakos TransSys, Inc.
From: rick@badboy-jr.hq.af.mil (Rick Weldon) Newsgroups: comp.sys.next.programmer Subject: Re: exit pgm w/o hanging up phone Message-ID: <27457@hq.hq.af.mil> Date: 19 Jul 93 02:25:37 GMT References: <21r411$2dj@cheltenham.cs.arizona.edu> Sender: news@Pt.hq.af.mil Organization: 7CG United States Air Forc In article <21r411$2dj@cheltenham.cs.arizona.edu>, kline@CS.Arizona.EDU (Nick Kline) writes: |> |> I am wondering how my program can keep from hanging up the modem after |> it exits. |> |> I have a NeXT 040 cube running os release 3.0. I have a zyxel modem. |> For those in other newsgroups, this runs a bsd 4.3 / mach 2.x combo. |> If there is a way to do this in bsd, then it should work here. |> |> Looking at the man pages and the ioctl header file (joy joy), |> |> I have found 3 suggestive calls: |> Maybe I missed something but can't you just force carrier detect "on" on the modem? I do this for my slip and tip connections etc... Maybe it is brute force, but it works!!! A gander at the modem manual should tell you how to do this. Unless of course there is some strong reason for not doing it this way. Rick
Newsgroups: comp.sys.next.programmer From: andrew@stone.com (Andrew Stone) Subject: Re: CMYK tiffs & Color Separation...HELP! Message-ID: <1993Jul19.015950.3386@stone.com> Sender: andrew@stone.com Organization: Stone Design Corp References: <1993Jul16.164100.70100@cc.usu.edu> Date: Mon, 19 Jul 1993 01:59:50 GMT In article <1993Jul16.164100.70100@cc.usu.edu> slv0y@cc.usu.edu writes: > Is anyone creating negatives on the NeXT and outputting CMYK color separated > negatives? If so, what application(s) are you using? > > I am currently using Virtuoso, but it does not separate RGB Tiff files > correctly. It will take a CMYK Tiff file and do that O.K., but now I have to > find a program that will output a CMYK tiff. Image will do it, but I have yet > to get a good tiff from it. The separation options do not appear to be doing > what they say they are, and viewing the different CMYK channels only sometimes > shows what is really in that color. A CMYK file saved from Image appears > correct on the screen, but when I run a color proof, or negatives and make a > color key, it is terrible. It is WAY dark, and changing the separation > preferences does not seem to have any effect. > > Is anyone out there outputting color separated stuff from the NeXT > successfully? I need something that can do this, like, yesterday. This job is > scheduled to go on the press tuesday... It would be great if Virtuoso would > fix it...(Are you listening Lorin. ;-) But in the mean-time...HELP! > > Your help is greatly appreciated! > > John Zollinger > slv0y@cc.usu.edu We have not seen a NeXT app which does decent CMYK conversions. Our solution: Save Tiffs as 24 bit RGB on NeXT. Sneakernet to Mac, or get an ethernet card for you mac and drag over. Using PhotoShop 2.5, convert image to CMYK.eps Blast to Imagesetter. I'd love to have a NeXT solution, it's a guaranteed hot seller! andrew > -- ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>|| !! Andrew Stone !! (505) 345-4800 !! !! andrew@stone.com <> Stone Design Corp !! ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>||
Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs From: louie@TransSys.COM (Louis A. Mamakos) Subject: Re: detecting carrier for ttyfa - mystery solved? Message-ID: <22d3s7$3gk@wa3ymh.transsys.com> Followup-To: comp.sys.next.programmer Sender: usenet@grebyn.com Organization: TransSys, Inc. References: <22b8ko$a7j@cheltenham.cs.arizona.edu> <1993Jul18.124450.3270@totsyssoft.com> <22clk0$qba@cheltenham.cs.arizona.edu> Date: Mon, 19 Jul 1993 03:19:35 GMT In article <22clk0$qba@cheltenham.cs.arizona.edu> kline@CS.Arizona.EDU (Nick Kline) writes: >In article <1993Jul18.124450.3270@totsyssoft.com> bruce@TotSysSoft.com (Bruce): >> >>- (BOOL)is_connected:(int)openModemDevice >>{ >> char statusByte; >> >> ioctl( openModemDevice, TIOCMODG, &statusByte ); >> return(( statusByte & TIOCM_CAR ) == TIOCM_CAR ); >>} >> >> > >Thanks again Bruce. You seem to know all the answers. Is there a reference >to point me to? (Other than the zs(4), tty(4), ioctl.h include file). > >strangely enought, the above always returns 0 for me. and I checked the return >from ioctl and it wasn't -1. TIOCMODG always sets the statusByte to a 0 >(and works the same for an int). This is just weird. After my previous posting, I decide to go investigate just what TIOCMODG and TIOCMGET are and how they differ. The tty(4) man page on the NeXT is silent on these. I then consulted the various bibles on these sorts of matters: Leffler, McKusick, Karels, Quarterman, "The Design and Implementation of the 4.3BSD UNIX Operating System", Stevens, "Advanced Programming in the UNIX Environment" Stevens, "UNIX Network Programming" these were also lacking in helpful advice in this area. Now, having just watched the Star Wars trilogy on the SciFi channel on cable, I recalled the hacker's motto: "Use the source, Luke." I then grepped the source for NET2 and NetBSD (derivitive from 386BSD which is derivitive from NET2). This is a likely path to pursue given that the non-pure Mach part of the kernel appears to be something close to the NET2 BSD code. (At least if you match up the bugs and features). I think I have gotten to the bottom of what's going on. For those of you that don't skip to the last page of mystery novels to see "who did it", read on. Or skip to the end if you're bored by kernel drivers, etc. [Begin long digression into the kernel-level implementation of tty drivers] The BSD sources were somewhat more helpful. There is, of course, no code in the tty.c module since these are likely functions implemented by the hardware drivers rather than the higher level drivers. Happily, in the NET2 code there are drivers for 386 standard ISA COM port serial ports. There are also drivers for a few HP serial drivers. Both of these implement TIOCMGET to return something useful; neither had any code to implement TIOCMODG. For example, the i386 COM port driver has code like this: comioctl(dev, cmd, data, flag) dev_t dev; caddr_t data; { register struct tty *tp; register int unit = UNIT(dev); register com; register int error; tp = &com_tty[unit]; error = (*linesw[tp->t_line].l_ioctl)(tp, cmd, data, flag); if (error >= 0) return (error); error = ttioctl(tp, cmd, data, flag); if (error >= 0) return (error); com = com_addr[unit]; switch (cmd) { [...] case TIOCMSET: (void) commctl(dev, *(int *)data, DMSET); break; case TIOCMBIS: (void) commctl(dev, *(int *)data, DMBIS); break; case TIOCMBIC: (void) commctl(dev, *(int *)data, DMBIC); break; case TIOCMGET: *(int *)data = commctl(dev, 0, DMGET); break; [...] } Looking at commctl.. commctl(dev, bits, how) dev_t dev; int bits, how; { register com; register int unit; int s; unit = UNIT(dev); com = com_addr[unit]; s = spltty(); switch (how) { case DMSET: outb(com+com_mcr, bits | MCR_IENABLE); break; case DMBIS: outb(com+com_mcr, inb(com+com_mcr) | bits | MCR_IENABLE); break; case DMBIC: outb(com+com_mcr, inb(com+com_mcr) & ~bits | MCR_IENABLE); break; case DMGET: bits = inb(com+com_msr); break; } (void) splx(s); return(bits); } We see that it indeed grabs some bits off the com port control register, which presumably map one-to-one with the various TIOCM_* definitions. I've seen other drivers where there is a mapping function betwixt the TIOCM_* bit and what the hardware returns. This preserves the model of the virtual DH/DM-11 hardware (UNIBUS, anybody? :-) --- begin tangent --- In the NET2 code, interestingly enough, if you look at the hardware bits and the ioctl.h definitions, you don't see too many matches! Ooops! From i386/isa/comreg.h: /* modem status register */ #define MSR_DCD 0x80 #define MSR_RI 0x40 #define MSR_DSR 0x20 #define MSR_CTS 0x10 #define MSR_DDCD 0x08 #define MSR_TERI 0x04 #define MSR_DDSR 0x02 #define MSR_DCTS 0x01 From sys/ioctl.h: #define TIOCM_LE 0001 /* line enable */ #define TIOCM_DTR 0002 /* data terminal ready */ #define TIOCM_RTS 0004 /* request to send */ #define TIOCM_ST 0010 /* secondary transmit */ #define TIOCM_SR 0020 /* secondary receive */ #define TIOCM_CTS 0040 /* clear to send */ #define TIOCM_CAR 0100 /* carrier detect */ #define TIOCM_CD TIOCM_CAR #define TIOCM_RNG 0200 /* ring */ #define TIOCM_RI TIOCM_RNG #define TIOCM_DSR 0400 /* data set ready */ --- end tangent --- [End of kernel diversion..] "The Chase" In any case, I don't see any reference to the TIOCMODG ioctl. Perhaps this was meant to be defined to return a "generic" representation of the device status bits, rather than (what appears to be) a direct set 'o bits right off the hardware that TIOCMGET returns. Now, I don't know what the NeXT actually does with the TIOCMODG ioctl(), it appears to do the "right thing" with TIOCMGET mapping at least the bit that corresponds to the hardware DCD signal to TIOCM_CD. I have code that seems to successfully use TIOCMGET and checks against TIOCM_CD; it does this once per minute and it seems to do the ``right thing.'' So, I hacked up this silly program: #include <sys/ioctl.h> main(int argc, char **argv) { int fd = open (argv[1], 0); int foo; if (fd < 0) { perror(argv[1]); exit(1); } if (ioctl(fd, TIOCMODG, &foo) < 0) { perror("TIOCMODG"); } else { printf("TIOCMODG: 0x%x\n", foo); } if (ioctl(fd, TIOCMGET, &foo) < 0) { perror("TIOCMGET"); } else { printf("TIOCMGET: 0x%x\n", foo); } } and ran it on a 3.0 system: louie[146] $ a.out /dev/cub TIOCMODG: 0x0 TIOCMGET: 0x66 louie[147] $ a.out /dev/ttyb TIOCMODG: 0x0 TIOCMGET: 0x66 louie[148] $ a.out /dev/ttydb TIOCMODG: 0x0 TIOCMGET: 0x66 and on a 3.1 system: # ./a.out /dev/cub TIOCMODG: 0x0 TIOCMGET: 0x46 # ./a.out /dev/ttyb TIOCMODG: 0x0 TIOCMGET: 0x46 # ./a.out /dev/ttydb TIOCMODG: 0x0 TIOCMGET: 0x46 I conclude from this experiment that TIOCMODG really isn't doing much of anything. The values we get back 0x66 == 0146 == <TIOCM_CAR,TIOCM_CTS,TIOCM_RTS,TIOCM_DTR> and 0x46 == 0106 == <TIOCM_CAR,TIOCM_RTS,TIOCM_DTR> are consistant with an open line (with nothing plugged in for 0x66 and the device turned off for 0x46). Thus, I assert that TIOCMGET looks like its returning plausable values. What I think is going on here is a kernel bug that's biting us: the TIOCMODG ioctl is probably failing, but the error status is not being returned to the user. This could be a bug that I reported in a October 1991 where a user-installed line discipline (e.g., SLIP) can't return an error on an ioctl() that it implements. The zs serial driver would always return a 0. > To: bug_next@next.com > Subject: User-installed line disciplines can't return an error from ioctl() > Date: Sun, 20 Oct 91 11:51:48 -0400 > From: "Louis A. Mamakos" <louie> > > > I discovered that it seems to be impossible to return an error from a > user installed kernel driver that uses a line discipline. It seems > that the zs kernel driver will always return a 0, rather then > preserving the return value from ld_ioctl function in the line > discipline switch table. > > > louie To continue the experiment to test this theory, I modified the silly program above to: #include <sys/ioctl.h> #define TIOCBOGUS _IOR('t', 55, int) /* unused bogus ioctl */ main(int argc, char **argv) { int fd = open (argv[1], 0); int foo; if (fd < 0) { perror(argv[1]); exit(1); } foo = 0x1234; if (ioctl(fd, TIOCMODG, &foo) < 0) { perror("TIOCMODG"); } else { printf("TIOCMODG: 0x%x\n", foo); } if (ioctl(fd, TIOCMGET, &foo) < 0) { perror("TIOCMGET"); } else { printf("TIOCMGET: 0x%x\n", foo); } if (ioctl(fd, TIOCBOGUS, &foo) < 0) { perror("TIOCBOGUS"); } else { printf("TIOCBOGUS: 0x%x\n", foo); } } This version will attempt to perform a bogus, unimplemented TTY ioctl (of the "return data to user" type) to see what happens. And now I get this: $ ./a.out /dev/cub TIOCMODG: 0x0 TIOCMGET: 0x46 TIOCBOGUS: 0x0 It appears that any random, bogus TTY ioctl will return a 0 in the parameter passed by reference in the third argument of the ioctl. I therefor conclude and assert that TIOCMODG is actually unimplemented and doesn't do anything useful. [It's because of diversions like this that the new Intel version of SLIP isn't ready yet, sigh.] -- Louis A. Mamakos TransSys, Inc.
Newsgroups: comp.sys.next.programmer From: harit@kripalu.com Subject: PB Question Message-ID: <1993Jul18.144247.386@uunet!cbmvax!xmws!kripalu> Sender: harit@uunet!cbmvax!xmws!kripalu Organization: Kripalu Center Date: Sun, 18 Jul 93 14:42:47 GMT Does anyone know how to get a message to show in PB during a build like those that come out from compiles, links, and copies? I tried an echo but that only shows in the bottom text area not in the space at the top of the window. -- Michael Allen Latta Kripalu Center harit@kripalu.com (413)448-3288
Newsgroups: comp.sys.next.programmer From: mbparker@netcom3.com (Michael Benjamin Parker) Subject: What large or serious Indexing Kit apps are there? Message-ID: <MBPARKER.93Jul18214834@netcom3.com> Sender: mbparker@netcom.com (Michael Benjamin Parker) Organization: Netcom Online Communications Service Distribution: comp Date: Mon, 19 Jul 1993 05:48:34 GMT What large or serious database applications are there out there which use Indexing Kit for the database? Did Indexing Kit turn out to be robust? Was it fast in comparsion to standard relational databases as Sybase and Oracle, especially for large amounts of data? I'm building a large database app based on Indexing Kit and am finding it difficult, possibly due to bugs and limitations with Indexing Kit. I really appreciate your feedback. -Mike P. Also, for Indexing Kit experts only, two important technical questions: To use Indexing Kit to store a network of Objective-C objects, normally connected to by virtual memory ``id'' pointers, will I have to manually (in code) translate every id (instance variable) to Indexing Kit ``handles'' where ever I would want to load an object and NOT immediately load everything it points to until it is needed? (An NXTypedStream would load everything an object pointed to, I believe.) I don't suppose there's a proxy mechanism for this lazy loading, similar to Distributed Objects' proxy mechanism, say? I take it Indexing Kit doesn't have full relational join support? To do a relational join between two or more ``tables'' of objects, will I have to set this up myself manually, using IXPostingCursors I suppose? E.g., suppose each employee record had a ``boss'' field pointing to the employee who was his/her boss, and I wanted to process the query, ``List each employee and for each, all the employees under him/her''. Thanks very much, -- Michael B. Parker email MBParker@MIT.Edu (no NeXTmail yet); fax 415-325-8604; P.O. Box 4009, Menlo Park, CA 94026-4009; 24hr voice 415-325-4451. -- Michael B. Parker email MBParker@MIT.Edu (no NeXTmail yet); fax 415-325-8604; P.O. Box 4009, Menlo Park, CA 94026-4009; 24hr voice 415-325-4451.
From: david@postman.gr.osf.org (David George) Newsgroups: comp.sys.next.programmer Subject: Re: NS/FIP device driver examples? Date: 19 Jul 1993 09:53:56 GMT Organization: OSF RI Grenoble Distribution: world Message-ID: <22dqvk$p1g@paperboy.osf.org> References: <1993Jul13.101244.16560@prim> <1993Jul14.163223.10076@adobe.com> <1993Jul15.100714.27766@prim> In article <1993Jul15.100714.27766@prim>, dave@prim.demon.co.uk (Dave Griffiths) writes: |> In article <1993Jul14.163223.10076@adobe.com> pasqua@adobe.com writes: |> > |> >DriverKit is both a class hierarchy and runtime environment for writing device |> >drivers (yes, you write them in Objective C). DriverKit has a base class |> >(IODevice) that you subclass to write new drivers. The kit also contains |> >subclasses of IODevice for various classes of device such as disks, displays, & |> >ethernet cards. If you are writing a driver for one of these, you subclass the |> >appropriate kit class and go from there. |> |> It sounds excellent. Congratulations to NeXT for having the courage to do it |> this way. Drivers are a hacked-up afterthought on most Unix systems. I expect the core drivers on NeXTSTEP fit this model too. A lot of driver's such as HD, Tape and Ethernet drivers are very time critical, too much latency and you miss events (such as the next sector) and you introduce a long delay (such as a disk rotation). If you have 'core' drivers in the system which do this your system performance goes out the window. If you're running NeXTSTEP with NFS or AFS (I do) you want 105% performance from your network driver. Yes, this kit sounds really good for all those strange devices like scanners, digital cameras etc that people need to hook up but I think we're going to suffer from 'hacked-up' drivers for a while to come. David.
Newsgroups: comp.sys.next.programmer From: chuck@benatong.com (Charles G. Bennett) Subject: Re: How do you set two stop bits on a serial port? Message-ID: <1993Jul18.133228.13999@cypher.cmhnet.org> Sender: chuck@cypher.cmhnet.org Organization: BenaTong, inc. References: <1993Jul15.223345.804@Radical.Com> Date: Sun, 18 Jul 1993 13:32:28 GMT In article <1993Jul15.223345.804@Radical.Com> Jim_Brownfield@radical.com (Jim Brownfield) writes: > Pierce Cantrell writes > > > > But why would anyone want to set 1.5 or 2 stop bits unless the output is > going > > to a KSR33? Every UART chip that I am aware of will be perfectly happy with > one > > stop bit. The configuration for sending stop bits only affects the > transmitter > > portion of the UART not the receiver. > > > > -pierce > > -- > > Pierce E. Cantrell > > I was writing code to talk to a pole display (like you would use with a cash > register). The manufacturer was adamant that the display required two stop > bits, and I sure couldn't get it to work with any of the other settings > (parity, etc). The behavior was consistant with incorrect stop bits (a couple > of characters would print ok, and then it would loose sync with some characters > recognizable and others not. I could certainly believe, however, that the pole > display is a POS (NOT meaning Point of Sale), and the manufacturer was full of > it (but the documentation with the display also said it required two stop > bits). > > Thanks to all who replied via posting and email. It would appear that I am > indeed SOL, and I'll have to find another display. :-? > > -- > Jim Brownfield (Jim_Brownfield@Radical.Com) NeXTmail accepted > Radical System Solutions, Inc. > rad i cal \'rad-i-kel\ n -- a basic principle: FOUNDATION WARNING: This is not elegant. You can't do it directly BUT for low speed devices like the POS your talking about how about sending the characters one at a time with a small usleep(..) between them. Stop bits can be thought of as the "normal" marking (idle) state in rs232 so having a delay between characters is just like adding stop bit to them.. Chuck -- Chuck Bennett Karnak the Great: "The answer is Rin Tin Tin, Lassie, Windows NT" The Question is, "Name two movie stars and a Dog.." chuck@benatong.com
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: detecting carrier for ttyfa Message-ID: <1993Jul19.074130.276@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <22clk0$qba@cheltenham.cs.arizona.edu> Date: Mon, 19 Jul 1993 07:41:30 GMT In article <22clk0$qba@cheltenham.cs.arizona.edu> kline@CS.Arizona.EDU (Nick Kline) writes: -> In article <1993Jul18.124450.3270@totsyssoft.com> bruce@TotSysSoft.com (Bruce): -> > -> >- (BOOL)is_connected:(int)openModemDevice -> >{ -> > char statusByte; -> > -> > ioctl( openModemDevice, TIOCMODG, &statusByte ); -> > return(( statusByte & TIOCM_CAR ) == TIOCM_CAR ); -> >} -> > -> > -> -> Thanks again Bruce. You seem to know all the answers. -> Is there a reference to point me to? (Other than the -> zs(4), tty(4), ioctl.h include file). Nick, I dug that out of ioctl.h many months ago, but it's clearly a generic thing. Maybe 25 years in computers and programming has something to do with it. :-) Bruce Gingery bruce@TotSysSoft.com Total System Software -- the makers of DFax
Newsgroups: comp.sys.next.programmer From: westner@picasso.pst.informatik.uni-muenchen.de (Dominik Westner) Subject: Reading Audio Data with CDrom Sender: news@informatik.uni-muenchen.de (News System) Message-ID: <CAEvL0.644@informatik.uni-muenchen.de> Date: Mon, 19 Jul 1993 12:19:48 GMT Organization: Institut fuer Informatik der Universitaet Muenchen Keywords: CD ROM, Audio CD Hi, I'm planning to write a small app to be able to read data from an audio CD. Especially to get all the information out of the subchannels. My problem is that I don't have the slightest idea on how an audio disc is formatted. Does anybody now where to get information about it or has anybody done this before? I already had a look at the examples. But they don't really provide any information about the format. Any suggestions? -- Dominik Westner "Everything is possible in an infinite universe" ______________________________________________________Willi, the painter Dominik Westner Muenchen-Germany westner@informatik.uni-muenchen.de [NeXTMail welcome]
Newsgroups: comp.sys.next.programmer From: harit@kripalu.com Subject: Re: Class-name parameter-name collisions Message-ID: <1993Jul19.104233.634@uunet!cbmvax!xmws!kripalu> Sender: harit@uunet!cbmvax!xmws!kripalu Organization: Kripalu Center References: <1993Jul18.123824.3163@ToTSySSoft.com> Date: Mon, 19 Jul 93 10:42:33 GMT In article <1993Jul18.123824.3163@ToTSySSoft.com> bruce@TotSysSoft.com (Bruce Gingery) writes: > Submitted to Bug-NeXT as either a documentation or compiler > bug... > > #import <objc/Object.h> > > @interface MyClass : Object > { > } > > - doSomething; > - doSomething:withSomething; > - doSomething:withSomething MyClass:(BOOL)someTest > @end > > Compiler barfs on the second usage of the Class name in > the method declaration, stopping its parsing BEFORE the > Class name. > Why would one WANT to use it there? Obviously, to > select in or out the usage of the class as a potential > target of message forwarding. Not necessary, just in-code > documentation. > > Bruce Gingery bruce@TotSysSoft.com > Total System Software the makers of DFax The third line is not valid syntax. Either remove the space before the class name or make it a comment. -- Michael Allen Latta Kripalu Center harit@kripalu.com (413)448-3288
Newsgroups: comp.sys.next.programmer From: arrouye@cosmos.imag.fr (Yves Arrouye) Subject: Re: Trouble with IB Palettes In-Reply-To: zmonster@athena.mit.edu's message of 13 Jul 1993 03:19:38 GMT Message-ID: <ARROUYE.93Jul19154748@mistral.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France References: <21t9ka$9k8@senator-bedfellow.MIT.EDU> Date: Mon, 19 Jul 1993 14:47:48 GMT In article <21t9ka$9k8@senator-bedfellow.MIT.EDU> zmonster@athena.mit.edu (Eric M Hermanson) writes: QUESTION: Why should you have to include a header file from a palette? I thought palettes were supposed to be portable, with only the palette itself plus the palette's object libraries needing to be distributed? Why did I have to copy the palette header file into my project directory for it to compile properly? No. The only way the compiler can tell it knows a method is by reading its interface in a .h or .p file. however, if you don't, you will get a warning and the compiler assumes the return type for your method is id. (Note that the compiler is stupid too because even if it knows prototypes it does not correctly promotes type sometimes, but that's another thing). Is there a way to avoid this so I don't need to distribute source code if I choose one day to give the palette to someone? No and yes. You can't avoid distributing your interface if you want people to use it. But you're not distributing the source code, only the .h and the .o file, not the .c which is the only thing you want to protect. Remember that a .h is just advertising the capabilities of the class, but it does not get a clue about how the class is implemented (well, it should not). What about NeXT supplying all the libraries without a single .h file? It would be the same. You don't have to worry about distributing a .h file, it does not say anything about what you are wanting to protect. Yves. -- With one processor, we verify that the time spent Yves Arrouye in controlling parallelism is not too long. arrouye@mistral.imag.fr arrouye@imag.imag.fr -- Yannick Tre'molet, LMC (33) 76 57 48 61
Newsgroups: comp.sys.next.programmer From: marshall@software.org (Eric Marshall) Subject: Matrix with TextFieldCell bug in 3.1? Message-ID: <1993Jul19.135451.14204@software.org> Sender: usenet@software.org (Usenet News/Mail Support) Organization: Software Productivity Consortium, Herndon, Virginia Date: Mon, 19 Jul 1993 13:54:51 GMT When I pass in [TextFieldCell class] as the cell prototype for [Matrix initFrame: ... prototype: ...], I get a message that TextFieldCell doesn't respond to +calcCellSize. I couldn't find any references to this factory method anywhere, but plenty of references to -calcCellSize. Is this a bug in Matrix? If I use the cellClass version of initFrame everything works fine. I'm running on NS Black 3.1. Thanks in advance. Eric Marshall Software Productivity Consortium SPC Building 2214 Rock Hill Road Herndon, VA 22070 (703) 742-7153 marshall@software.org
Newsgroups: comp.sys.next.programmer From: marshall@software.org (Eric Marshall) Subject: my ScrollView knobs are flickering Message-ID: <1993Jul19.140901.14670@software.org> Sender: usenet@software.org (Usenet News/Mail Support) Organization: Software Productivity Consortium, Herndon, Virginia Date: Mon, 19 Jul 1993 14:09:01 GMT The knobs on my ScrollView are flicking and I just don't like it one bit :-) I have a Matrix of TextFieldCell's inside my ScrollView and every time I move the ScrollView knob the knob flickers. If I construct the same thing in IB, the knobs don't flicker at all (I'm doing mine programmatically). Anyone have any ideas on how to get the knobs to move more smoothly? Thanks in advance. Eric Marshall Software Productivity Consortium SPC Building 2214 Rock Hill Road Herndon, VA 22070 (703) 742-7153 marshall@software.org
From: stickler@klaava.Helsinki.FI (Patric M Stickler) Newsgroups: comp.text,comp.text.desktop,comp.text.frame,comp.text.interleaf,comp.text.sgml,comp.text.tex,comp.os.msdos.programmer,comp.os.ms-windows.programmer.misc,comp.os.os2.programmer.misc,comp.sys.amiga.programmer,comp.sys.mac.programmer,comp.sys.next.programmer,comp.unix.programmer,gnu.misc.discuss Subject: Re: API for spell-checking Date: 19 Jul 1993 20:46:25 +0300 Organization: University of Helsinki Message-ID: <22emlh$1d7@klaava.Helsinki.FI> References: <22br7t$32f@klaava.Helsinki.FI> <isisCADo95.GCF@netcom.com> In article <isisCADo95.GCF@netcom.com> isis@netcom.com (Mike Cohen) writes: >Patric M Stickler (stickler@klaava.Helsinki.FI) wrote: > >> As a minimum, the API should include IMHO facilities for either >> multiple lexicons or multiple spelling checkers (or instances of >> the same using different lexicons), and from the SGML perspective >> the ability to have at least element specific "context sensitivity" >> so that one can specify which spelling checker or lexicon is to >> be used with the contents of which elements. Without this >> functionality, the API will not be able to be (flexibly/easily) used >> in multilingual environments, much less with multilingual texts. > > >> ///////////////////////////////////////////////////////////////////////// >> Patrick M. Stickler OH2LUV, KC4YYY The comments contained herein >> WSOY - Information Systems Division do not necessarily reflect the >> Helsinki, FINLAND (psti@wsoy.fi) official views of my employer. >> ///////////////////////////////////////////////////////////////////////// > > >I strongly suggest looking at Working Sofware's AppleEvent suite for text >services. It defines a very nice protocol which lets applications request >spell checking & other services via AppleEvents. Apple has included samples >& documentation on their developer CD, so I assume they endorse it. >_______________________________________________________________________________ >Mike Cohen isis@netcom.com > This might be nice on Apple boxes, but wouldn't do much for cross system portability. My understanding is that the API should be a generic and portable definition, which automatically rules out proprietory functionality (however good) such as AppleEvent's. ///////////////////////////////////////////////////////////////////////// Patrick M. Stickler OH2LUV, KC4YYY The comments contained herein WSOY - Information Systems Division do not necessarily reflect the Helsinki, FINLAND (psti@wsoy.fi) official views of my employer. /////////////////////////////////////////////////////////////////////////
Newsgroups: comp.sys.next.programmer From: zundel@cc.gatech.edu (Eric Zundel Ayers) Subject: File locking and NFS (using fcntl())) Message-ID: <1993Jul19.183716.24880@cc.gatech.edu> Sender: news@cc.gatech.edu Organization: Georgia Institute of Technology Date: Mon, 19 Jul 1993 18:37:16 GMT I am trying to do some file locking incorporating lockd so that I can do file locking over and NFS mount. Unfortuantly, my calls to lockf() and fcntl() do not seem to work properly. They continuously return the error EINVAL (Invalid Argument.) This same code will compile on a Sun (after including <unistd.h>) Is there any other reliable way to lock files over and NFS mount, or does anyone have an example of some code that uses fcntl or lockf that works properly on a NeXT? I compiled ELM on my machine, but it reported that locking with fcntl was unavailable. I don't want to believe that right now. Thanks, Eric. Eric Z. Ayers zundel@cc.gatech.edu Graphics, Visualization, and Usability Center (GVU) Georgia Institute of Technology, Atlanta, GA 30213 USA
Newsgroups: comp.sys.next.programmer From: greg@afs.com (Gregory H. Anderson) Subject: Re: Matrix with TextFieldCell bug in 3.1? Message-ID: <1993Jul19.172026.2499@afs.com> Sender: greg@afs.com References: <1993Jul19.135451.14204@software.org> Date: Mon, 19 Jul 1993 17:20:26 GMT In article <1993Jul19.135451.14204@software.org> marshall@software.org (Eric Marshall) writes: > > When I pass in [TextFieldCell class] as the cell prototype > for [Matrix initFrame: ... prototype: ...], I get a message that > TextFieldCell doesn't respond to +calcCellSize. I couldn't find > any references to this factory method anywhere, but plenty of references > to -calcCellSize. Is this a bug in Matrix? If I use the cellClass > version of initFrame everything works fine. [TextFieldCell class] is not a prototype. [[TextFieldCell alloc] init] is a prototype. -- Gregory H. Anderson | "If you've got eyes to rhythmatize Composer-in-Residence | Bring your flat hat and your ax Anderson Financial Systems | 'Cause tonight at 10 we'll be workin' again" greg@afs.com (NeXTmail OK) | -- Donald Fagen, "Teahouse on the Tracks"
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: DistributedObjects and UNIX fork() Message-ID: <CAFE3r.28F@news.cis.umn.edu> Summary: DO don't like eating with forks Keywords: Distributed Objects fork UNIX Sender: news@news.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Date: Mon, 19 Jul 1993 18:58:22 GMT I'd appreciate a little insight to why this doesn't work or if someone can positively say that it's a bug. Background: The program is a daemon that would typically be launched from rc.local on boot. It registers an object and runs there forever. Problem: If I check to see if someone is already registered with my name, I can't use DistributedObjects after a fork. More specifically, if I try to connect to an object, even if it returns nil as it can't find a vended object of that name, I can't register an object with that name. Goal: The design needs a daemon to run reliably. It needs to be updated occasionally for various circumstances. As an example, a part of an important database may need to be taken off-line for a period of time so a different program (a 'placebo') that ignores the part of the database being serviced. The 'placebo' in it's launching connects to the running server, tells it to quit, and then registers itself with the appropriate name. Design: The daemon begins by processing it's commandline arguments, if any, and initializes its defaults database from the appropriate file. If initialization happens correctly, then we try to find the running server. If we get a proxy back for that name, then we tell it to quit. If all goes well at this point, we fork() and continue execution in the child. We first ioctl the tty then close the stdio fd's before vending our object. Once vended, we simply let it -run. Results: If anything is done with DO before the fork(), it renders my vending as useless (returns nil). Whether I connect to the running vended object or not this is the result. Further, it has nothing to do with registering the same name (I've tried bogus, contrived names before the fork that couldn't possibly match the intended name to be registered under). For what it's worth: The object that I'd like to vend is created before fork() and still behaves (as you'ld expect) after the fork(). code in a nutshell: main() { // optarg and intialization stuff while (server = [NXConnection connectToName:"bogusPonens"]) { [[Console new] logf:"%s found running..", defaultName]; [server goAway]; [[server connectionForProxy] free]; } switch (fork()) { case 0: break; case -1: [[Console new] logf:"Couldn't fork...exiting."]; printf("Couldn't fork...exiting.\n"); [logger free]; [[Console new] free]; exit(4); break; default: [[Console new] logf:"parent exiting."]; exit(0); /* parent goes away quietly */ break; } // tty, stdio stuff server = [NXConnection registerRoot:logger withName:defaultName]; if (!server) { [[Console new] logf:"Can't register \"%s\" with name \"%s\"?", [logger name], defaultName]; [logger free]; } [server run]; // proper freeing stuff } Thanks, peter -- I felt his rocket science training was inadequate. peter@tahiti.umhc.umn.edu (Peter Eisch)
Newsgroups: comp.sys.next.programmer From: fugue!william (William Wei) Subject: testing software... Message-ID: <1993Jul19.200606.2638@imagine.com> Sender: william@imagine.com Organization: Imagine Multimedia, Inc., Ann Arbor, MI, USA Distribution: usa Date: Mon, 19 Jul 1993 20:06:06 GMT Does anyone know any testing software that allow me to do progression tests as batch jobs? It has to handle NEXTSTEP apps' GUI EVENT. I'm looking for all kinds of testing solutions for NEXTSTEP apps. Thanks William -- +-----------------------------------------------------------------+ |William Wei Imagine Multimedia | | | |Ann Arbor, Michigan william@imagine.com |
Newsgroups: comp.sys.next.programmer From: dse@cbnewsi.cb.att.com (donald.s.eaves) Subject: Simson's Licensing Software? Organization: AT&T Distribution: usa Date: Mon, 19 Jul 1993 21:24:40 GMT Message-ID: <CAFKt6.Iy1@cbnewsi.cb.att.com> Hi, I've heard that Simson Garfinkel had placed some licensing software on one of the net servers. Does anyone know were this software is located, or, if it is no longer on a server, how I may obtain a copy of it. Thanks, Don
Newsgroups: comp.text,comp.text.desktop,comp.text.frame,comp.text.interleaf,comp.text.sgml,comp.text.tex,comp.os.msdos.programmer,comp.os.ms-windows.programmer.misc,comp.os.os2.programmer.misc,comp.sys.amiga.programmer,comp.sys.mac.programmer,comp.sys.next.programmer,comp.unix.programmer,gnu.misc.discuss From: dhosek@jarthur.claremont.edu (D Hosek) Subject: Re: API for spell-checking Message-ID: <CAFLv7.1HE@news.claremont.edu> Followup-To: comp.text Sender: news@news.claremont.edu (The News System) Organization: Quixote Digital Typography, Claremont, CA 91711 References: <22br7t$32f@klaava.Helsinki.FI> <isisCADo95.GCF@netcom.com> Date: Mon, 19 Jul 1993 21:47:28 GMT PLEASE, make sure that follow-ups are going to comp.text only. This is the appropriate news group and it's a low-enough volume group that you won't be inundated with messages if you try to follow it there. In article <isisCADo95.GCF@netcom.com> isis@netcom.com (Mike Cohen) writes: >Patric M Stickler (stickler@klaava.Helsinki.FI) wrote: >> As a minimum, the API should include IMHO facilities for either >> multiple lexicons or multiple spelling checkers (or instances of >> the same using different lexicons), and from the SGML perspective >> the ability to have at least element specific "context sensitivity" >> so that one can specify which spelling checker or lexicon is to >> be used with the contents of which elements. Without this >> functionality, the API will not be able to be (flexibly/easily) used >> in multilingual environments, much less with multilingual texts. >I strongly suggest looking at Working Sofware's AppleEvent suite for text >services. It defines a very nice protocol which lets applications request >spell checking & other services via AppleEvents. Apple has included samples >& documentation on their developer CD, so I assume they endorse it. I've not had a chance to look at the Working Software API, but I should clarify at least one thing about how I would envision the API which I'd like to see working: the calling program is responsible for parsing the text and determining things like "is this a word?" "what language is it?" etc. This means that many present-day applications which do not make distinctions between languages will either not be able to do a multilingual document or will need to be extended. The spell checker only needs to worry about tasks like determining if word X is spelled correctly and being able to supply alternate spellings for word X (the latter task should be doable on any word so that I could type in fiend and get suggestions of friend, find and fend as well as an indication that fiend is a valis word. There should be the possibility to do both spell-check the whole document as well as check the current word. Or only one of the two depending on the application at hand. An SGML parser would deal with determining what's text and what's not. The spell checker would see nothing more than words, spaces and maybe punctuation. Thanks, by the way to people who've indicated the existence of APIs already available. I intend to look at these as well. -dh
Newsgroups: comp.sys.next.programmer From: cowboy@trans.csuohio.edu (Joe Rosenfeld) Subject: Need help with pid_t Message-ID: <1993Jul19.233629.16799@news.csuohio.edu> Sender: news@news.csuohio.edu (USENET News System) Organization: Cleveland State University Date: Mon, 19 Jul 1993 23:36:29 GMT Hello. I have been trying to get a patch for a gopher client to compile on a NeXTStation Turbo running NS 3.0. My first problem is that it wants to see termio.h, which I commneted out, however the second problem appears more severs--I need to be able to define pid_t and make the following code work. I can REALLY use a hand in thisa, so if you can, please email me with your ideas. Here is the corresponding code I need assistance with: #include <sys/ioctl.h> #include <termio.h> void do_localexec(ZeGopher) GopherStruct *ZeGopher; { char sMessage1[128]; char sLocalComm[128]; char sGopherPath[128]; char *command,*args,*EXECargs; char sCommand[128]; char sArgs[128]; char ch; pid_t pid; struct termio ter_des; clear(); strcpy(sGopherPath,GSgetPath(ZeGopher)); command = strrchr(sGopherPath + 5, ':'); if (command == NULL) { sprintf(sMessage1, "Gopher Error: Could not understand local command: %s", command); CURcenterline(CursesScreen,sMessage1,LINES/2 -1); CURcenterline(CursesScreen,"Press return to continue: ",LINES-1); refresh(); while (ch=CURgetch(CursesScreen)) { if (ch=='\n') return; } } args = sGopherPath+5; *command = '\0'; command++; strcpy(sCommand,command); strcpy(sArgs,sGopherPath+5); CURexit(CursesScreen); if ((pid=fork())==-1) { CURenter(CursesScreen); sprintf(sMessage1, "Gopher Error: Could not execute local script (fork): %s",strerror(errno)); CURcenterline(CursesScreen,sMessage1,LINES/2 -1); CURcenterline(CursesScreen,"Press return to continue: ",LINES-1); refresh(); while (ch=CURgetch(CursesScreen)) { if (ch=='\n') return; } The place where the errors occur is at the pid_t and the include, which I have removed, as previously explained. TIA! Joe -- | Joe Rosenfeld cowboy@trans.csuohio.edu | CSU Law Library j.rosenfeld@csuohio.edu | "If you always do what you always did, you will always get | what you always got!" B.S.
Newsgroups: comp.sys.next.programmer From: nitani@hob.eecs.wsu.edu (Nadi Itani - EECS (EE596)) Subject: modal responder loops Message-ID: <1993Jul19.222059.29989@serval.net.wsu.edu> Keywords: modal responder loops Sender: news@serval.net.wsu.edu (USENET News System) Organization: Washington State University Date: Mon, 19 Jul 93 22:20:59 GMT I have a question about using autoscroll within a modal responder loop. In the NeXT step reference book it talks about using the autoscroll method to scroll a view when the cursor is dragged to a position outside its superview. It also says you should invoke this method from within a modal responder loop to cause scrolling to continue while the cursor is outside the View's superview. I have implemented the autoscroll without the modal responder loop, but the problem is that scolling isn't continuous while the cursor is outside the View's superview. The view only scrolls each time the mouse is dragged. Can anyone tell me how to implement a modal responder loop. I've looked in the reference book at Application class methods. Some of these methods are used for modal responder loops but there use is not explaned well. Nadi Itani nitani@eecs.wsu.edu
Newsgroups: comp.sys.next.programmer From: jon@afs.com Subject: .z, .Z filter for Digital Librarian Message-ID: <1993Jul19.221423.523@afs.com> Sender: jon@afs.com Date: Mon, 19 Jul 1993 22:14:23 GMT I've decided to attempt to write a filter for Digital Librarian which will let it read compressed files, decompressing as needed. (Assuming, of course, I understand the filter concept correctly, and can get it working.) If anybody has some experience with writing filters (especially Librarian/IXKit filters) and can send some tips my way, I'd really appreciate it. I have the IFF filter example. One specific question:The Docs for IXAttributeParser mention an NXCreateTypedFileName() function and an NXCreateTypedFileContents() functions. These aren't documented anywhere. Does anybody have the scoop on these? When (if?) I get this done and working, I plan on making it freeware and placing it on the archives. Thanks, Jon -- Jon Hendry It's a thousand classes, give or take a few, <jon@afs.com> I'll be writing more in a week or two. I can make it deeper if you like the style, I can change it round and I want to be an ObjectWare Writer
Newsgroups: comp.sys.next.programmer From: yhe1@cc.swarthmore.edu (-Ye) Subject: IBinspector, how to use it? Message-ID: <yhe1-200793012716@mac1.roberts.swarthmore.edu> Followup-To: comp.sys.next.programmer Sender: news@cc.swarthmore.edu (USENET News System) Organization: Swarthmore College Date: Tue, 20 Jul 1993 05:31:24 GMT Hello Everyone, I need an IBinspector-like inspector for each of my tools (each represented by an icon) so when the users double clicks on an icon or chooses it from the menu, the inspector would appear, showing all the parameters and connections associated with that tool. Does anyone know how to do this? Thanx alot for your help in advance. Please respond to he@carnegie.swarthmore.edu (NeXTmail welcome) -Ye
Newsgroups: comp.sys.next.programmer From: jacob@nugget.rmNUG.ORG (Jacob Gore) Subject: DBKit and Oracle -- are they just supposed to chat? Message-ID: <1993Jul20.065217.5004@nugget.rmNUG.ORG> Organization: Rocky Mountain NeXT Users' Group Date: Tue, 20 Jul 1993 06:52:17 GMT I have an Oracle database running on an SCO machine, with SCO's TCP/IP option and Oracle's SQLNet installed. When I try to connect to it with the OracleDemo application in NextDeveloper/Demos (of 3.1 on Intel), I can't get past the ORACLE login panel: I enter the correct information, hit return, and get a beep and the panel reappears. The database on Oracle does have the scott/tiger demo. What's interesting is that even in debug mode, the oracle server does not record even an attempt to access it! I could not find what TCP/IP port the adapter talks to -- is 1525 always right? Jacob -- Jacob Gore Jacob@Gore.Com csn!gore!jacob Member of the League for Programming Freedom (LPF)
Control: cancel <1993Jul20.065101.4933@nugget.rmNUG.ORG> Newsgroups: comp.sys.next.programmer From: jacob@nugget.rmNUG.ORG (Jacob Gore) Subject: cancel <1993Jul20.065101.4933@nugget.rmNUG.ORG> Message-ID: <1993Jul20.065327.5061@nugget.rmNUG.ORG> Organization: Rocky Mountain NeXT Users' Group Date: Tue, 20 Jul 1993 06:53:27 GMT Article cancelled from within tin
Newsgroups: comp.sys.next.programmer Subject: Re: Need help with pid_t Message-ID: <1993Jul20.004044.5865@nic.csu.net> From: eps@futon.SFSU.EDU (Eric P. Scott) Date: 20 Jul 93 00:40:43 PDT References: <1993Jul19.233629.16799@news.csuohio.edu> Organization: San Francisco State University In article <1993Jul19.233629.16799@news.csuohio.edu> cowboy@trans.csuohio.edu (Joe Rosenfeld) writes: > pid_t pid; > if ((pid=fork())==-1) { pid_t is the type returned by fork(), getpid(), etc. % bm fork /usr/include/bsd/libc.h extern int vfork(void); extern int fork(void); Therefore #ifdef NeXT typedef int pid_t; #endif [A better question is what a curses program is doing messing around with termio, since curses is supposed to insulate the programmer from the underlying tty paradigm. I haven't looked at UNIX gopher for a while, but I remember it being truly godawful code requiring a great deal of hacking to compile on *any* system. I hope things have improved in the last year...] -=EPS=-
Newsgroups: comp.sys.next.programmer From: abell@netcom.com (Steven T. Abell) Subject: Basic Network Name Server information Message-ID: <abellCAGBxp.I6t@netcom.com> Organization: NETCOM On-line Communication Services (408 241-9760 guest) Distribution: na Date: Tue, 20 Jul 1993 07:10:36 GMT I'm poking around in the docs regarding the Network Name Server. There are several things I want to know that I haven't been able to find out. 1) Is the Network Name Server a single entity running on a particular host in a network, or is it some kind of cooperative epiphenomenon? 2) If it is a single entity, how is its location chosen, how is its location specified, and how can a program running on some particular host learn where it is? 3) If it is cooperative, how are the boundaries of the cooperative set established? 4) How can a program obtain a list of all hosts in the cooperative set? Although I'm an experienced programmer, I know little about networks or about Unix. Any help you can offer will be appreciated. Steve abell@netcom.com
Newsgroups: comp.sys.next.programmer From: marcel@nice.usergroup.ethz.ch (Marcel Waldvogel) Subject: Re: CMYK tiffs & Color Separation...HELP! Message-ID: <CAGIK9.7vn@bernina.ethz.ch> Sender: news@bernina.ethz.ch (USENET News System) Organization: NiCE - NeXT User Group, Zurich, Switzerland References: <1993Jul16.164100.70100@cc.usu.edu> <1993Jul19.015950.3386@stone.com> Date: Tue, 20 Jul 1993 09:33:44 GMT In article <1993Jul19.015950.3386@stone.com> andrew@stone.com writes: >In article <1993Jul16.164100.70100@cc.usu.edu> slv0y@cc.usu.edu writes: >> Is anyone creating negatives on the NeXT and outputting CMYK color >separated >> negatives? If so, what application(s) are you using? [...] >We have not seen a NeXT app which does decent CMYK conversions. As far as I have heard, TIFFany should do the job quite nicely (haven't seen that feature myself, but since the rest of TIFFany is so great, I wouldn't doubt it). In the not too far future, you will even be able to edit your images directly in CMYK. -Marcel
From: zryx0376@awssg7.rus.uni-stuttgart.de (Markus Wenzel (Hiwi bei R.Rabenseifner)) Newsgroups: comp.sys.next.programmer Subject: Re: making gzip Date: 20 Jul 1993 10:54:44 GMT Organization: Visualization Group Comp.Center (RUS) U of Stuttgart, FRG Message-ID: <22gitk$b1u@info2.rus.uni-stuttgart.de> References: <1993Jul14.175919.265@sunova.ssc.gov> <22b52a$ok8@info2.rus.uni-stuttgart.de> <1993Jul20.084743.18989@csus.edu> In article <1993Jul20.084743.18989@csus.edu> eps@cs.sfsu.edu writes: >In article <22b52a$ok8@info2.rus.uni-stuttgart.de> > zryx0376@awssg6.rus.uni-stuttgart.de B > (Markus Wenzel (Hiwi bei R.Rabenseifner)) writes: >>Add a -D_POSIX_SOURCE. > >Bad advice! > >You should NEVER attempt to define _POSIX_SOURCE, __STRICT_BSD__, >etc. yourself. These are set automatically when certain compiler >options are used, and treating them as anything other than read- >only will cause inconsistent (and incorrect) behavior. You are right, I did not obey this point. But I don't think gzip works improperly that way, gzip was just searching in the wrong include files for utime declaration. (I.e. my gzip works as it should.) Regards, Markus. -- /dev Markus Wenzel, University of Stuttgart /usr/spool/mail wenzel@rus.uni-stuttgart.de ~/.ircrc/nick Marsu /etc/motd NeXTSTEP for Intel - Come on and join!
From: kkoym@pencom.com Newsgroups: comp.sys.next.programmer Subject: .DXF ->.rib conversion ??? Keywords: .dxf .rib conversion Message-ID: <1993Jul20.013042.11265@pencom.com> Date: 20 Jul 93 01:30:42 GMT Sender: usenet@pencom.com (Usenet Pseudo User) Organization: Pencom Software Has anyone seen a .dxf -> .rib conversion utility? NEXTSTEP is prefered, but running on any platform that you know of would be of interest. Please respond to me directly at kkoym@pencom.com, and I will post a summary. Thanks, Kevin Koym Pencom Software
Newsgroups: comp.sys.next.programmer From: Bob_Vadnais@pdh.com (Bob Vadnais) Subject: Re: Window Palettes Message-ID: <CAG8tt.21t@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. References: <222hgd$su4@ursula.ee.pdx.edu> Date: Tue, 20 Jul 1993 06:03:29 GMT In article <222hgd$su4@ursula.ee.pdx.edu> marcus@ursula.ee.pdx.edu (Marcus Daniels) writes: > > Interface Builder uses some kinda of meta-class for window objects > (WindowTemplate) and I'm wondering if it is possible (and if it is > possible, not a totally recklessly stupid thing to do). Unfortunately, NeXT has not documented the WindowTemplate class (nor DBModuleTemplate), so you cannot easily implement what you describe. A side effect of this fact is that you cannot write an inspector for your window subclass. I've worked around this annoyance by using another object in conjunction with my window. While this is not the most elegant solution in the world, there's little else I could do without using undocumented classes and methods. I posed the following question to the NeXT engineers present at the NeXTWORLD Expo developer session titled 'Meet the Engineers': "Why is the WindowTemplate class undocumented and do you plan on fixing it?". Jean-Marie Hullot (the primary author of IB) replied that he didn't really know why and didn't seem to think it was too important an issue. <whine on> I agree it's not too big of a problem in the scheme of things, but I have been frustrated several times by the use of undocumented classes in the AppKit and DBKit. I get the impression that other developers have done a bit of headbanging in this department as well. As I've mentioned before, undocumented classes are not inherently evil, but when their use in a kit prevents you from accomplishing reasonable things (such as providing an inspector for a Window subclass), I get a bit peeved. <whine off> > Also, in the content of palettes, does anyone know a way to > programitically create a window that IB can deal with? I > can get it to register the window I create, but it has no > title and the window inspector doesn't work. You're trying too hard. 8-) Just instantiate a window in IB, change its class to your subclass, and create an outlet to it and its representative view on the palette window (for the sake of this discussion, call these outlets windowOutlet and paletteRepresentation, respectively). Then in your palette's finishInstantiate method, do the following: [self associateObject:windowOutlet type:IBWindowPboardType with:paletteRepresentation]; Cheers, Bob -- Bob_Vadnais@pdh.com (NeXT Mail welcome) PDH Inc., 2635 North First Street Suite 224, San Jose, CA 95134-2034 Voice: (408)428-9596 Fax: (408)428-9599
Newsgroups: comp.sys.next.programmer From: freimer@cs.cornell.edu (Robert Freimer) Subject: Using Allegro Common Lisp 3.1.20 under NeXTSTEP 3.1 Message-ID: <1993Jul20.140859.25540@cs.cornell.edu> Organization: Cornell Univ. CS Dept, Ithaca NY 14853 Date: Tue, 20 Jul 1993 14:08:59 GMT When I upgraded my cube to 3.1, I discovered that ACL no longer worked. I tried rebuilding and received an error that _alloca was undefined. This is caused by the switch from GNU C 1.93 to 2.2.2. alloca() is no longer in the system library and now is an internal function to the C compiler. The fix is to rebuild with the non-shared versions of the 3.0 libraries. The following procedure for fixing a virgin Allegro Common Lisp is modified from a comp.sys.next.programmer article by Bill Vrotney. You should find all of the files mentioned here on your ACL distribution. I refer to the top level directory of this distribution as ACL/ and the build directory ACL/build. For upgrading from a system that worked with 3.0, follow steps 3, 4, and 6. Warning!!! (from Franz Inc.) This procedure results in creating a new ucl.o binary file. You may distribute this method but not the resulting ucl.o file. 1. Install the MusicKit_3.1.pkg available by anonymous ftp from ccrma-ftp.stanford.edu. The Music and DSP libraries are no longer supported by NeXT. This package includes the 3.1 version of libdsp. The other option is to drop -ldsp from the LIBRARIES statement in step 4 below. 2. First look at the byte size of the file ACL/build/ucl.o, if the size is 612364 bytes then skip to step 3. Otherwise look at the file ACL/dumplispPatch. This is a shell archive that will patch ucl.o with the "dump lisp" patch. More precisely cd ACL cp dumplispPatch build cd build /bin/sh dumplispPatch /bin/sh install_patch.sh Now ucl.o should be 612364 bytes long. Tthe original ucl.o will be saved in a file called ucl_orig.o. 3. Create symbolic links from the 3.0 non-shared libraries on CDROM. This saves space on your hard disk, since the libraries should not be needed, except when rebuilding ACL. Another option is to copy the libraries. ln -s /NeXTSTEP_3.0/lib/libsys_p.a /lib/libsys3.0_p.a ln -s /NeXTSTEP_3.0/usr/lib/libNeXT_p.a /usr/lib/libNeXT3.0_p.a 4. Edit the file ACL/build/config. You might want to save the orginal <config file. Replace the following lines LIBRARIES = -lNeXT_s -ldsp_s -lsys_s USYMS = -u libsys_s -u libNeXT_s -u libdsp_s with: LIBRARIES = -lNeXT3.0_p -ldsp -lsys3.0_p USYMS = 5. Edit the new binary file ACL/build/ucl.o in emacs and save the results. Go to ACL/build directory, run emacs and find-file ucl.o replace-string _rld _jld replace-string __bcopy _bcopy^@ save-buffer The ^@ above is the null character (000 byte) and can be entered in emacs using C-q C-<space> and will look in an emacs buffer as a single character ^@ and NOT two characters. 6. Finally reinstall ACL as usual. You do this by going to the ACL/build directory and /bin/sh config 7. The online version of the manual (cl-manual.tar.Z) is available by anonymous ftp from sonata.cc.purdue.edu, under /pub/next/docs. Also grab fi-gnu-clman.tar.Z, which contain the emacs lisp code to index the manual. -- -Robert
From: hyongsop@saturn.eecs.umich.edu (Hyong S. Shim) Newsgroups: comp.sys.next.programmer Subject: Capturing Window Image ... HELP! Date: 20 Jul 1993 15:19:21 GMT Organization: University of Michigan EECS Dept. Message-ID: <22h2dp$6jh@zip.eecs.umich.edu> Hi all, For the past week, I've been looking into ways to capture a window image (that is all the views inside a window, such as a button, slider etc. excluding custom views) into an image object or offscreen buffer, but unsuccessful! Does anyone know how to do this? Does anyone know how to capture PostScript dump? Thanks, --Hyong Shim (hyongsop@engin.umich.edu)
Newsgroups: comp.sys.next.software,comp.sys.next.programmer From: nathan@laplace.csb.yale.edu (Nathan F. Janette) Subject: Current NEXTSTEP EMACS front-end? Message-ID: <1993Jul20.162205.6813@cs.yale.edu> Sender: news@cs.yale.edu (Usenet News) Organization: Yale University, Department of Computer Science, New Haven, CT Date: Tue, 20 Jul 1993 16:22:05 GMT I grabbed something called "Emacs" off an archive site (readme shown below), but it dies when I try to compile it on a 3.0 system. 1. What's the fix for the bugs NeXT created when they moved the header files around in /usr/include? 2. If there an updated version of "Emacs"? > This directory contains the NeXTstep front-end to GNU Emacs. This > is the README for version 2.1. > > _.John G. Myers > jgm@fed.expres.cs.cmu.edu > > Emacs 2.1 Changes were written by J. Gregory (jgg@proforma.com) using > a Nextcube, 68040, running release 2.1 of the NeXTstep system. -- Nathan Janette Systems Manager, Axel T. Brunger Lab Internet: nathan@laplace.csb.yale.edu Voice: 203 432 5065 Fax: 203 432 3923
Newsgroups: comp.sys.next.programmer From: Bob_Vadnais@pdh.com (Bob Vadnais) Subject: Re: number of records in dbmodule without fetchAllRecords Message-ID: <CAG9Jw.24p@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. References: <1993Jul16.161354.3374@leland.Stanford.EDU> Date: Tue, 20 Jul 1993 06:19:07 GMT In article <1993Jul16.161354.3374@leland.Stanford.EDU> xinwei@otter.Stanford.EDU (Sha Xin Wei) writes: > > How can I find out simply the number of rows in a table, > given the DBModule, without a fetchAllRecords, and > without resorting to (Sybase) adaptor-dependent code? I don't know of an adaptor independent way of doing what you mention. The DBKit classes provide a means of fetching data from a source (optionally using a qualifier) and accessing that data, but no sort of stat(2) equivalent for a data source. Anyone disagree? I would try using a DBBinder instance and have it evaluateString: "select count(*) from tablename". At least this would work with adaptors that interface with SQL based databases. Cheers, Bob -- Bob_Vadnais@pdh.com (NeXT Mail welcome) PDH Inc., 2635 North First Street Suite 224, San Jose, CA 95134-2034 Voice: (408)428-9596 Fax: (408)428-9599
Newsgroups: comp.sys.next.programmer From: Bob_Vadnais@pdh.com (Bob Vadnais) Subject: Re: Matrix hastles Message-ID: <CAG9w5.26n@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. References: <20q1iu$5bk@cheltenham.cs.arizona.edu> Date: Tue, 20 Jul 1993 06:26:29 GMT In article <20q1iu$5bk@cheltenham.cs.arizona.edu> kline@CS.Arizona.EDU (Nick Kline) writes: > > This works, but it looks funny. You can see the resizing going > on. It resizes and moves in steps, instead of doing everything > and letting the user see the change. Perhaps the methods should > be reordered or perhaps I need to turn off updates to the window > or something. > > Any ideas? Sure. A useful technique in situations where you manipulate a Window's views (such as your example) is: [[myView window] disableFlushWindow]; // munge myView here [[[myView window] reenableFlushWindow] flushWindowIfNeeded]; Cheers, Bob -- Bob_Vadnais@pdh.com (NeXT Mail welcome) PDH Inc., 2635 North First Street Suite 224, San Jose, CA 95134-2034 Voice: (408)428-9596 Fax: (408)428-9599
Newsgroups: comp.sys.next.programmer From: Bob_Vadnais@pdh.com (Bob Vadnais) Subject: Re: How are "private" methods implemented in Obj-C? Message-ID: <CAGD3w.2nA@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. References: <1993Jul5.164250.1093@afs.com> Date: Tue, 20 Jul 1993 07:35:55 GMT In article <1993Jul5.164250.1093@afs.com> greg@afs.com (Gregory H. Anderson) writes: > > In article <1993Jul4.234010.21553@Princeton.EDU> > gmecchia@hop.Princeton.EDU writes: > >> Hi, >> >> I have a method that is implemented in my .m file and not >> declared in my .h file. I wanted to "scope" the method as >> "private" to instances of the class where it is implemented >> (in the C++ style). If I declared the method in my .h file, >> then any subclass instance can invoke that method, and that >> is something I don't want to allow. > > Objective-C offers no way of making a method private, regardless of > whether you include it in your .h file. At runtime, any method can be > dispatched at the request of any other object (not necessarily even a > subclass). It's enough to know the name and arguments, much of which can > be learned through judicious use of AppInspector. While it's true Objective C does not provide language support for private methods, the Objective C runtime allows you to roll your own support quite painlessly if you choose to be fascist about it. 8-) Suppose class Green contains instance methods it does not want to publish to its subclasses. Besides implementing these methods with a category, not announcing their presence in a header file, etc., you can preface each such private method with the following snippet: if (! [self isMemberOf:[Green class]]) [self doesNotRecognize:_cmd]; While you still must ensure that subclasses do not implement methods that will override Green's private ones, this potential pitfall is safely avoided using decent method naming conventions. I believe language support for private methods (and while we're at it, class variables) would be a nicer solution. After all, it's possible to do OO flavored programming with ANSI C and a decent runtime library. One of the nicest things about Objective C is that it cleanly extends C (i.e without mutilating it ala C++) to support inheritance, encapsulating, dynamic binding, etc. ObjC provides the down in the weeds runtime support quite transparently. Just my $0.02 on this issue. Cheers, Bob -- Bob_Vadnais@pdh.com (NeXT Mail welcome) PDH Inc., 2635 North First Street Suite 224, San Jose, CA 95134-2034 Voice: (408)428-9596 Fax: (408)428-9599
Newsgroups: comp.sys.next.programmer From: Bob_Vadnais@pdh.com (Bob Vadnais) Subject: Re: Code for Object - perform: with:with:with: Message-ID: <CAGDE0.2wv@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. References: <1993Jul16.034459.19744@csus.edu> Date: Tue, 20 Jul 1993 07:41:59 GMT In article <1993Jul16.034459.19744@csus.edu> eps@futon.SFSU.EDU (Eric P. Scott) writes: > > > Close, but it's really > > - perform:(SEL)aSelector with:object1 with:object2 with:object3 > { > return aSelector ? > objc_msgSend(self, aSelector, object1, object2, object3) : > [self error:"method %s given invalid selector %s", > sel_getName(_cmd), aSelector]; > } > > [Yeah, it looks fishy...] What's fishy about it? While I concede Eric's method works like NeXT's implementation of Object's perform: style instance methods, I submit he cheated. 8-) (I checked this too). Object's class sheet says nothing about bailing if the selector passed in is nil. Cheers, Bob -- Bob_Vadnais@pdh.com (NeXT Mail welcome) PDH Inc., 2635 North First Street Suite 224, San Jose, CA 95134-2034 Voice: (408)428-9596 Fax: (408)428-9599
Newsgroups: comp.sys.next.programmer From: greg@afs.com (Gregory H. Anderson) Subject: Re: File locking and NFS (using fcntl())) Message-ID: <1993Jul20.145712.2902@afs.com> Sender: greg@afs.com References: <1993Jul19.183716.24880@cc.gatech.edu> Date: Tue, 20 Jul 1993 14:57:12 GMT In article <1993Jul19.183716.24880@cc.gatech.edu> zundel@cc.gatech.edu (Eric Zundel Ayers) writes: > I am trying to do some file locking incorporating lockd so that I can > do file locking over and NFS mount. Unfortuantly, my calls to > > lockf() and fcntl() > > do not seem to work properly. They continuously return the error EINVAL > (Invalid Argument.) This same code will compile on a Sun (after > including <unistd.h>) > > Is there any other reliable way to lock files over and NFS mount, or > does anyone have an example of some code that uses fcntl or lockf that > works properly on a NeXT? I compiled ELM on my machine, but it reported > that locking with fcntl was unavailable. I don't want to believe that > right now. Nope, these calls have never worked in NEXTSTEP, and at this point I doubt they ever will. In the past, NeXT has claimed they don't work reliably in SunOS either, which is why they didn't bother. Something about stale file handles on NFS mounts, because file stats aren't updated real-time. -- Gregory H. Anderson | "If you've got eyes to rhythmatize Composer-in-Residence | Bring your flat hat and your ax Anderson Financial Systems | 'Cause tonight at 10 we'll be workin' again" greg@afs.com (NeXTmail OK) | -- Donald Fagen, "Teahouse on the Tracks"
From: Kathy_Walrath@NeXT.COM (Kathy Walrath) Newsgroups: comp.sys.next.programmer Subject: Re: NS/FIP device driver examples? Date: 19 Jul 1993 17:54:39 GMT Organization: NeXT, Inc. Distribution: world Message-ID: <22en4v$jnf@rosie.next.com> References: <22dqvk$p1g@paperboy.osf.org> David George writes In article <1993Jul15.100714.27766@prim>, dave@prim.demon.co.uk (Dave Griffiths) writes: |> In article <1993Jul14.163223.10076@adobe.com> pasqua@adobe.com writes: |> > |> >DriverKit is both a class hierarchy and runtime environment for writing device |> >drivers (yes, you write them in Objective C). DriverKit has a base class |> >(IODevice) that you subclass to write new drivers. The kit also contains |> >subclasses of IODevice for various classes of device such as disks, displays, & |> >ethernet cards. If you are writing a driver for one of these, you subclass the |> >appropriate kit class and go from there. |> |> It sounds excellent. Congratulations to NeXT for having the courage to do it |> this way. Drivers are a hacked-up afterthought on most Unix systems. I expect the core drivers on NeXTSTEP fit this model too. A lot of driver's such as HD, Tape and Ethernet drivers are very time critical, too much latency and you miss events (such as the next sector) and you introduce a long delay (such as a disk rotation). If you have 'core' drivers in the system which do this your system performance goes out the window. If you're running NeXTSTEP with NFS or AFS (I do) you want 105% performance from your network driver. Yes, this kit sounds really good for all those strange devices like scanners, digital cameras etc that people need to hook up but I think we're going to suffer from 'hacked-up' drivers for a while to come. David. Actually, all the core drivers are Driver Kit based. It really works. --Kathy
From: jdoenias@next.com (Josh Doenias) Newsgroups: comp.sys.next.programmer Subject: Re: BUG in NeXTSTEP Intel Date: 20 Jul 1993 06:21:00 GMT Organization: NeXT, Inc. Message-ID: <22g2sc$k51@rosie.next.com> References: <1993Jul18.160058.29454@das.harvard.edu> In article <1993Jul18.160058.29454@das.harvard.edu> charuhas@virtual12.harvard.edu (Thomas Charuhas) writes: >I submittted the following bug to bug_next@next.com. >I'm sure everyone will agree, that this kind of bug should not occur >under NeXTSTEP Intel, especially if it is brought out by a program >as frequently used as Draw.app. > Calm down. This is not a bug in NeXTSTEP. It is a bug in Draw. It has probably always been there, but it has just now shown itself. There is nothing wrong with getNextEvent (at least, not in this context :-)). The reason that you see the postscript errors at the call to getNextEvent is because that is when messages (including error messages) are received from the WindowServer. The PS error actually occured sometime earlier. The bug is the following. In that modal event loop, a drawSelf:: message is sent with an uninitialized rectangle. Most of the time, the uninitialized rect has innocuous values, and nothing bad happens. However, on occassion, some bad values get in the rect (whatever was on the stack) and a bunch of NaNs get sent to the Windowserver in a call to PScomposite(). The WindowServer doesn't take too kindly to that. I did the following, and it seemed to fix it for me. I changed the declaration of that rect to the following in Polygon.m (at line #110) : - (BOOL)create:(NXEvent *)event in:view { float *pptr; ---> NXRect r = {.0,.0,.0,.0}; NXRect viewBounds; NXPoint start, last, p; Hopefuly, this will fix things for you. If not, we can dig a little deeper and see what other muck we can uncover. -- josh Joshua Doenias Holistic Software Development Group, NeXT Computer, Inc.
From: Jeff_Martin@NeXT.com (Jeff Martin) Newsgroups: comp.sys.next.programmer Subject: Re: Capturing Window Image ... HELP! Date: 20 Jul 1993 15:47:06 GMT Organization: NeXT, Inc. Message-ID: <22h41q$kfm@rosie.next.com> References: <22h2dp$6jh@zip.eecs.umich.edu> Hyong, There are two straight forward ways to do this: 1. The bit way: - getImageForWindow:aWindow { NXRect contentBounds; id myRep, myImage; [[aWindow contentView] getVisibleRect:&contentBounds]; [[aWindow contentView] lockFocus]; myRep = [[NXBitmapImageRep alloc] initData:NULL fromRect:&contentBounds]; myImage = [[[NXImage alloc] initSize:&contentBounds.size] useRepresentation:myRep]; [[aWindow contentView] unlockFocus]; return myImage; } 2. The Postscript way (my personal favorite): - getImageForWindow:aWindow { NXRect contentBounds; NXStream *stream = NXOpenMemory(NULL, 0, NX_READWRITE); id myRep, myImage; [[aWindow contentView] getBounds:&contentBounds]; [[aWindow contentView] copyPSCodeInside:&contentBounds to:stream]; NXSeek(stream, 0 , NX_FROMSTART); myRep = [[NXEPSImageRep alloc] initFromStream:stream]; myImage = [[[NXImage alloc] initSize:&contentBounds.size] useRepresentation:myRep]; NXCloseMemory(stream, NX_FREEBUFFER); return myImage; } Hope this helps... ... jeff In article <22h2dp$6jh@zip.eecs.umich.edu> hyongsop@saturn.eecs.umich.edu (Hyong S. Shim) writes: > Hi all, > > For the past week, I've been looking into ways to capture a window image > (that is all the views inside a window, such as a button, slider etc. > excluding custom views) into an image object or offscreen buffer, but > unsuccessful! > > Does anyone know how to do this? Does anyone know how to capture > PostScript dump? > > Thanks, > > --Hyong Shim > (hyongsop@engin.umich.edu)
Newsgroups: comp.sys.next.programmer From: Scott Byer <byer@mv.us.adobe.com> Subject: Re: Current NEXTSTEP EMACS front-end? Message-ID: <1993Jul20.165231.16027@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <1993Jul20.162205.6813@cs.yale.edu> Date: Tue, 20 Jul 1993 16:52:31 GMT Nathan F. Janette writes > 2. If there an updated version of "Emacs"? I have version 3.0; I'm not sure if it's the latest. I think I got it off cs.orst.edu. Lots of improvements over 2.1! -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: pasqua@adobe.com Subject: Re: Help with "enterLinearMode" for NS/FIP! Message-ID: <1993Jul20.172934.18132@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <22cg1gINNpqn@frigate.doc.ic.ac.uk> Date: Tue, 20 Jul 1993 17:29:34 GMT NS/FIP display drivers are all subclasses of IODisplay. Any display card that supports a framebuffer as a contiguous region of randomly accessible memory (i.e. not a small window on a larger framebuffer) can be supported by subclassing IOFrameBufferDisplay (which is a subclass of IODisplay). As mentioned in previous messages, you need only override a few methods in IOFrameBufferDisplay to implement a new class. SVGA style cards (such as ET4000 and Cirrus based boards) are not implemented as subclasses of IOFrameBufferDisplay. To write drivers for this type of card you need to subclass a not-yet-public class. When this class is made available, writing these drivers will not be much more difficult than those mentioned above (no need to play with page fault handling to do bank switching as has been suggested). Note that in the current architecture the WindowServer does most of the work, and much of the work of the device driver is handled generically by superclasses. That's why NeXT advised an earlier poster: > "Third-party developers should not try to subclass the IODisplay > class directly and should only subclass the IOFrameBufferDisplay > class. A new class to provide possibilities for writing segmented VGA > drivers might be in 3.2" One last note, 8 bit color is not currently supported. This means that while you can use SVGA cards in 1024x768x8 mode, it can only be as grayscale (which by the way looks quite nice given a decent DAC). Joe Pasqua
Newsgroups: comp.sys.next.programmer From: tyler@gandalf.dbkit.com (Tyler Gingrich) Subject: Re: DBKit and Oracle -- are they just supposed to chat? Message-ID: <1993Jul20.174735.5449@oar.net> Sender: news@oar.net (Usenet) Organization: Ohio Academic Resources Network References: <1993Jul20.065217.5004@nugget.rmNUG.ORG> Date: Tue, 20 Jul 1993 17:47:35 GMT In article <1993Jul20.065217.5004@nugget.rmNUG.ORG> jacob@nugget.rmNUG.ORG (Jacob Gore) writes: > I have an Oracle database running on an SCO machine, with SCO's TCP/IP > option and Oracle's SQLNet installed. When I try to connect to it with > the OracleDemo application in NextDeveloper/Demos (of 3.1 on Intel), I > can't get past the ORACLE login panel: I enter the correct information, > hit return, and get a beep and the panel reappears. > > The database on Oracle does have the scott/tiger demo. What's > interesting is that even in debug mode, the oracle server does not > record even an attempt to access it! I could not find what TCP/IP port > the adapter talks to -- is 1525 always right? > You need to add orasrv as a service in your Netinfo database. Run NetInfoMangler. Open the root domain. Add a New Sub-directory under the root level and change the name property to "services". Then add a Sub-directory under the services directory -- change it's name property to orasrv. Add two new properties and add 1 value under each property. Change the first property to port and it's value to 1525, change the 2nd property to protocol and it's value to tcp. Save this stuff in your netinfo database. Oracle dbkit stuff should work fine. Tyler Gingrich Vanguard Software
From: Dirk Schwarzhans Newsgroups: comp.sys.next.programmer Subject: Preventing DBTableView from selecting columns? Date: 20 Jul 1993 18:37:57 GMT Organization: TUBerlin/ZRZ Message-ID: <22he25$9q7@mailgzrz.TU-Berlin.DE> Keywords: DBTableView columns selection Reply-To: dirk@kalium.physik.TU-Berlin.DE Hello, is there a possibility to prevent the user from selecting columns in a DBTableView. In my application selecting columns makes no sense. Thanks in advance, Dirk Schwarzhans
From: Dirk Schwarzhans Newsgroups: comp.sys.next.programmer Subject: Printing "Text" object with page numbers and page headers? Date: 20 Jul 1993 18:38:37 GMT Organization: TUBerlin/ZRZ Message-ID: <22he3d$9q8@mailgzrz.TU-Berlin.DE> Keywords: printing text headers page numbers Reply-To: dirk@kalium.physik.TU-Berlin.DE Hello, is there an example source code for printing a "Text" object with page numbers and page headers. I think the solution can't be too simple because even "Edit" can't do this though it would be very useful. Any hints are appreciated. Thanks in advance, Dirk Schwarzhans
Newsgroups: comp.sys.next.programmer From: scott@parsec.mixcom.com (Scott Violet) Subject: Problem opening FD controller on Intel machines Message-ID: <1993Jul20.135552.1218@parsec.mixcom.com> Organization: not really... Distribution: usa Date: Tue, 20 Jul 1993 13:55:52 GMT HI all, I am wondering if this is a bug, or if something was set up wrong on the machine that I tried the following on. The following snipet returns errno == 6, "No such device or address". open("/dev/fdc0", O_RDONLY, 0); I tried this is as root on the Intel machine and it didn't work. I also verified that /dev/fdc0 did indeed exist. The above line works fine on the NeXT's here, but then on the Intel machine I tried it barfed. Does this work for other people on Intels? Thanks in advance,
Newsgroups: comp.sys.next.programmer From: peter@tahiti.umhc.umn.edu (Peter Eisch) Subject: Re: DistributedObjects and UNIX fork() Message-ID: <CAH9Cx.4Kt@news.cis.umn.edu> Sender: news@news.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota, Twin Cities References: <CAFE3r.28F@news.cis.umn.edu> Date: Tue, 20 Jul 1993 19:11:03 GMT A little further investigation found a little more detail. It is possible to connect to a host AFTER the fork() regardless of what you did before the fork(). BUT you can't vend an object after fork() if you called any of the connectToName:... or registerRoot:... class methods in NXConnection before the fork(). To make sure I wasn't losing my moments of sanity, I checked (one by one) the other class methods to see if it was something more obvious. All these methods can be called before fork() without incident: +defaultZone +messagesReceived +setDefaultTimeout: +connections: +setDefaultZone: (I created a new zone with vm_page_size args & YES.) but beware of the rest. peter --- I felt his rocket science training was inadequate. peter@tahiti.umhc.umn.edu (Peter Eisch)
Newsgroups: comp.sys.next.programmer From: cleelacj@agedwards.com (Chris Cleeland) Subject: Re: DistributedObjects and UNIX fork() Message-ID: <CAH832.198@agedwards.com> Date: Tue, 20 Jul 1993 18:45:02 GMT References: <CAFE3r.28F@news.cis.umn.edu> Organization: A. G. Edwards & Sons, Inc. Keywords: Distributed Objects fork UNIX peter@corsica (Peter Eisch) writes: >I'd appreciate a little insight to why this doesn't work or if >someone can positively say that it's a bug. > >Results: If anything is done with DO before the fork(), it renders >my vending as useless (returns nil). Whether I connect to the >running vended object or not this is the result. Further, it has >nothing to do with registering the same name (I've tried bogus, >contrived names before the fork that couldn't possibly match the >intended name to be registered under). I'm no expert on DO or Mach, but at the Expo session on DO, it was clearly stated that DO uses Mach ports. My guess is that the Mach port used for DO *does not* live across the fork(), and thus you have a problem. >For what it's worth: The object that I'd like to vend is created >before fork() and still behaves (as you'ld expect) after the fork(). Why can't you do the vending in the child? >code in a nutshell: >main() >{ >// optarg and intialization stuff > while (server = [NXConnection connectToName:"bogusPonens"]) { > [[Console new] logf:"%s found running..", defaultName]; > [server goAway]; > [[server connectionForProxy] free]; > } > switch (fork()) { > case 0: > break; > case -1: > [[Console new] logf:"Couldn't fork...exiting."]; > printf("Couldn't fork...exiting.\n"); > [logger free]; > [[Console new] free]; > exit(4); > break; > default: > [[Console new] logf:"parent exiting."]; > exit(0); /* parent goes away quietly */ > break; > } >// tty, stdio stuff > server = [NXConnection registerRoot:logger withName:defaultName]; > if (!server) { > [[Console new] logf:"Can't register \"%s\" with name \"%s\"?", > [logger name], defaultName]; > [logger free]; > } > [server run]; >// proper freeing stuff >} >Thanks, >peter >-- >I felt his rocket science training was inadequate. >peter@tahiti.umhc.umn.edu (Peter Eisch) -- ============================================================================== Chris Cleeland | Internet: cleelacj@agedwards.com BOS Dev. Team | USnail: 3878 Connecticut St. Louis 63116 | BellNet: (314) 289-5372
From: daugher@cs.tamu.edu(Walter C. Daugherity) Newsgroups: comp.sys.next.programmer Subject: Re: CMYK tiffs & Color Separation...HELP! Date: 20 Jul 1993 19:52:44 GMT Organization: Texas A&M University, College Station, TX Distribution: world Message-ID: <22hiec$sl3@tamsun.tamu.edu> References: <CAGIK9.7vn@bernina.ethz.ch> Keywords: Virtuoso In article <CAGIK9.7vn@bernina.ethz.ch> marcel@nice.usergroup.ethz.ch (Marcel Waldvogel) writes: | In article <1993Jul19.015950.3386@stone.com> andrew@stone.com writes: | >In article <1993Jul16.164100.70100@cc.usu.edu> slv0y@cc.usu.edu writes: | >> Is anyone creating negatives on the NeXT and outputting CMYK color | >separated | >> negatives? If so, what application(s) are you using? | [...] | >We have not seen a NeXT app which does decent CMYK conversions. | Have you tried Virtuoso from Altsys Corporation? Their phone number is (214)680-2060 (in Dallas, Texas). -- Walter C. Daugherity Internet, NeXTmail: daugher@cs.tamu.edu Texas A & M University uucp: uunet!cs.tamu.edu!daugher College Station, TX 77843-3112 BITNET: DAUGHER@TAMVENUS ---Not an official document of Texas A&M---
From: glenn@rightbrain.com (Glenn Reid) Newsgroups: comp.sys.next.programmer Subject: Re: BUG in NeXTSTEP Intel Message-ID: <1275@rtbrain.rightbrain.com> Date: 20 Jul 93 19:40:56 GMT References: <22g2sc$k51@rosie.next.com> Sender: glenn@rightbrain.com Josh Doenias writes > Calm down. This is not a bug in NeXTSTEP. It is a bug in Draw. It has > probably always been there, but it has just now shown itself. > I did the following, and it seemed to fix it for me. > I changed the declaration of that rect to the following in Polygon.m (at > line #110) : [bug fix omitted] Hey, I just wanted to say thanks to Josh publicly for posting this. It's really great to see people from NeXT posting such helpful stuff. Thanks, Josh! -- Glenn Reid NeXTmail: glenn@rightbrain.com RightBrain Software 415-326-2974 (NeXTfax 326-2977) Palo Alto, California Electronic Frontier Foundation, member #054
Newsgroups: comp.sys.next.programmer From: mcmahon@ny.shl.com (Michael McMahon) Subject: Career Opportunity - Systemhouse seeks Object Oriented professional. Message-ID: <CAHB5t.LzG@ny.shl.com> Keywords: jobs, offered, wanted Sender: usenet@ny.shl.com (Net News) Organization: SHL Systemhouse Inc. Date: Tue, 20 Jul 1993 19:51:28 GMT Systemhouse, a $800 million Systems Integration firm, is recognized as the industry leader in client/server technology. Systemhouse employs over 4,000 people worldwide and maintains a large heterogeneous network of workstations including more than 100 NeXT machines. We are putting together the best NeXT expertise available. Since November we have hired a core group in New York and Boulder, Colorado, and by September expect to be up to a staff of approximately 100. We are executing concepts that others are still only talking about - Reusable Object Library - Standard Certification of Objects - Distributed Development - etc. Furthermore we have established an Object Technology Center(OTC) for applied Object Oriented methodologies and development techniques. The OTC in Boulder, is a research and development facility exploring the cutting edge of the relatively new object technology. The charter of the Center is two-fold: to explore and understand all hardware and software related to the object-oriented development industry; and to establish itself as a focal point where companies in diverse verticals markets can join together to leverage OTC's research and experience. Leading the OTC is Vince Jordan, recently of WilTel Advanced Technology Center and recognized in the NeXT community as a pacesetter in the object-oriented development revolution. We need bright, enthusiastic experienced people!!! The following opportunities exist in various U.S. locations: - Object Oriented Programmers (Position C101) * 2+ years Object Oriented Programming (C++/Objective C/SmallTalk) * 2+ years database design and database applications * 5 years UNIX/C application development * 2+ years RDBMS (SYBASE preferred) * 1+ years NeXTSTEP applications development * AppKit, DBKit, NeXTSTEP 3.0, OOD * GUI and Porting experience - Senior Applications Development Engineers (Position C102) * 5-7 years UNIX/C applications development * Financial trading applications * 1+ years NeXT/NeXTSTEP/AppKit/DBKit/Objective C * Sun, SYBASE/C++ a plus - Software Engineers (Position C103) * NeXT/UNIX application software development * Strong NeXTSTEP, AppKit, Interface Builder, DBKit * High level design, rapid prototyping in NeXT * Strong Objective C or C++ * 3 to 5 years experience - Database Specialists (Position C104) * 3+ years database design and database applications development (ORACLE/SYBASE preferred) * 3 years UNIX/C application development * 3 years RDBMS experience using an SQL-based RDBMS * 1+ year NeXTSTEP applications a plus * AppKit, DBKit, NeXTSTEP 3.0, OOD, Objective C a plus For more information about these exciting opportunities, call or send your resume to: Steve Green - Manager, Human Resources SHL Systemhouse Inc. 885 Third Avenue, 25th Floor New York, New York, U.S.A. 10022-4834 Telephone: 212-303-5500 Fax: 212-303-5595 E-Mail: Steve_Green@ny.shl.com
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: ba.jobs.offered,comp.sys.next.marketplace,comp.sys.next.programmer,misc.jobs.offered,ne.jobs Subject: SHL Seeks Object Oriented Programmers (United States) Date: 20 Jul 1993 16:00:12 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9307202028.AA06874@seawolf.next.com> SHL Seeks Object Oriented Programmers (United States) Systemhouse, a $800 million Systems Integration firm, is recognized as the industry leader in client/server technology. Systemhouse employs over 4,000 people worldwide and maintains a large heterogeneous network of workstations including more than 100 NeXT machines. We are putting together the best NeXT expertise available. Since November we have hired a core group in New York and Boulder, Colorado, and by September expect to be up to a staff of approximately 100. We are executing concepts that others are still only talking about - Reusable Object Library - Standard Certification of Objects - Distributed Development - etc. Furthermore we have established an Object Technology Center(OTC) for applied Object Oriented methodologies and development techniques. The OTC in Boulder, is a research and development facility exploring the cutting edge of the relatively new object technology. The charter of the Center is two-fold: to explore and understand all hardware and software related to the object-oriented development industry; and to establish itself as a focal point where companies in diverse verticals markets can join together to leverage OTC's research and experience. Leading the OTC is Vince Jordan, recently of WilTel Advanced Technology Center and recognized in the NeXT community as a pacesetter in the object-oriented development revolution. We need bright, enthusiastic experienced people!!! The following opportunities exist in various U.S. locations: - Object Oriented Programmers (Position C101) * 2+ years Object Oriented Programming (C++/Objective C/SmallTalk) * 2+ years database design and database applications * 5 years UNIX/C application development * 2+ years RDBMS (SYBASE preferred) * 1+ years NEXTSTEP applications development * AppKit, DBKit, NEXTSTEP 3.0, OOD * GUI and Porting experience For more information about these exciting opportunities, call or send your resume to: Steve Green - Manager, Human Resources SHL Systemhouse Inc. 885 Third Avenue, 25th Floor New York, New York, U.S.A. 10022-4834 Telephone: 212-303-5500 Fax: 212-303-5595 E-Mail: Steve_Green@ny.shl.com
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: ba.jobs.offered,comp.sys.next.marketplace,comp.sys.next.programmer,misc.jobs.offered,ne.jobs Subject: SHL Seeks NEXTSTEP Software Engineers (United States) Date: 20 Jul 1993 16:00:13 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9307202028.AA06880@seawolf.next.com> SHL Seeks NEXTSTEP Software Engineers (United States) Systemhouse, a $800 million Systems Integration firm, is recognized as the industry leader in client/server technology. Systemhouse employs over 4,000 people worldwide and maintains a large heterogeneous network of workstations including more than 100 NeXT machines. We are putting together the best NeXT expertise available. Since November we have hired a core group in New York and Boulder, Colorado, and by September expect to be up to a staff of approximately 100. We are executing concepts that others are still only talking about - Reusable Object Library - Standard Certification of Objects - Distributed Development - etc. Furthermore we have established an Object Technology Center(OTC) for applied Object Oriented methodologies and development techniques. The OTC in Boulder, is a research and development facility exploring the cutting edge of the relatively new object technology. The charter of the Center is two-fold: to explore and understand all hardware and software related to the object-oriented development industry; and to establish itself as a focal point where companies in diverse verticals markets can join together to leverage OTC's research and experience. Leading the OTC is Vince Jordan, recently of WilTel Advanced Technology Center and recognized in the NeXT community as a pacesetter in the object-oriented development revolution. We need bright, enthusiastic experienced people!!! The following opportunities exist in various U.S. locations: - Software Engineers (Position C103) * NeXT/UNIX application software development * Strong NEXTSTEP, AppKit, Interface Builder, DBKit * High level design, rapid prototyping in NeXT * Strong Objective C or C++ * 3 to 5 years experience For more information about these exciting opportunities, call or send your resume to: Steve Green - Manager, Human Resources SHL Systemhouse Inc. 885 Third Avenue, 25th Floor New York, New York, U.S.A. 10022-4834 Telephone: 212-303-5500 Fax: 212-303-5595 E-Mail: Steve_Green@ny.shl.com
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: ba.jobs.offered,comp.sys.next.marketplace,comp.sys.next.programmer,misc.jobs.offered,ne.jobs Subject: SHL Seeks Senior Applications Development Engineers (United States) Date: 20 Jul 1993 16:00:24 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9307202028.AA06886@seawolf.next.com> SHL Seeks Senior Applications Development Engineers (United States) Systemhouse, a $800 million Systems Integration firm, is recognized as the industry leader in client/server technology. Systemhouse employs over 4,000 people worldwide and maintains a large heterogeneous network of workstations including more than 100 NeXT machines. We are putting together the best NeXT expertise available. Since November we have hired a core group in New York and Boulder, Colorado, and by September expect to be up to a staff of approximately 100. We are executing concepts that others are still only talking about - Reusable Object Library - Standard Certification of Objects - Distributed Development - etc. Furthermore we have established an Object Technology Center(OTC) for applied Object Oriented methodologies and development techniques. The OTC in Boulder, is a research and development facility exploring the cutting edge of the relatively new object technology. The charter of the Center is two-fold: to explore and understand all hardware and software related to the object-oriented development industry; and to establish itself as a focal point where companies in diverse verticals markets can join together to leverage OTC's research and experience. Leading the OTC is Vince Jordan, recently of WilTel Advanced Technology Center and recognized in the NeXT community as a pacesetter in the object-oriented development revolution. We need bright, enthusiastic experienced people!!! The following opportunities exist in various U.S. locations: - Senior Applications Development Engineers (Position C102) * 5-7 years UNIX/C applications development * Financial trading applications * 1+ years NeXT/NEXTSTEP/AppKit/DBKit/Objective C * Sun, SYBASE/C++ a plus For more information about these exciting opportunities, call or send your resume to: Steve Green - Manager, Human Resources SHL Systemhouse Inc. 885 Third Avenue, 25th Floor New York, New York, U.S.A. 10022-4834 Telephone: 212-303-5500 Fax: 212-303-5595 E-Mail: Steve_Green@ny.shl.com
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: ba.jobs.offered,comp.sys.next.marketplace,comp.sys.next.programmer,misc.jobs.offered,ne.jobs Subject: SHL Seeks Database Specialists (United States) Date: 20 Jul 1993 16:00:27 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9307202028.AA06892@seawolf.next.com> SHL Seeks Database Specialists (United States) Systemhouse, a $800 million Systems Integration firm, is recognized as the industry leader in client/server technology. Systemhouse employs over 4,000 people worldwide and maintains a large heterogeneous network of workstations including more than 100 NeXT machines. We are putting together the best NeXT expertise available. Since November we have hired a core group in New York and Boulder, Colorado, and by September expect to be up to a staff of approximately 100. We are executing concepts that others are still only talking about - Reusable Object Library - Standard Certification of Objects - Distributed Development - etc. Furthermore we have established an Object Technology Center(OTC) for applied Object Oriented methodologies and development techniques. The OTC in Boulder, is a research and development facility exploring the cutting edge of the relatively new object technology. The charter of the Center is two-fold: to explore and understand all hardware and software related to the object-oriented development industry; and to establish itself as a focal point where companies in diverse verticals markets can join together to leverage OTC's research and experience. Leading the OTC is Vince Jordan, recently of WilTel Advanced Technology Center and recognized in the NeXT community as a pacesetter in the object-oriented development revolution. We need bright, enthusiastic experienced people!!! The following opportunities exist in various U.S. locations: - Database Specialists (Position C104) * 3+ years database design and database applications development (ORACLE/SYBASE preferred) * 3 years UNIX/C application development * 3 years RDBMS experience using an SQL-based RDBMS * 1+ year NEXTSTEP applications a plus * AppKit, DBKit, NeXTSTEP 3.0, OOD, Objective C a plus For more information about these exciting opportunities, call or send your resume to: Steve Green - Manager, Human Resources SHL Systemhouse Inc. 885 Third Avenue, 25th Floor New York, New York, U.S.A. 10022-4834 Telephone: 212-303-5500 Fax: 212-303-5595 E-Mail: Steve_Green@ny.shl.com
Newsgroups: comp.sys.next.programmer From: bebeada@elof.iit.edu(Adam Beberg) Subject: Opener.app for NS v3.1 Message-ID: <1993Jul20.221841.14822@iitmax.iit.edu> Sender: news@iitmax.iit.edu (News) Organization: Illinois Institute of Technology / Academic Computing Center Date: Tue, 20 Jul 93 22:18:41 GMT Greetings... Has anyone out there modified Opener.app to work under 3.1? I seems the FTP sites only have 2.1?? source... I would like to add gzip and a couple other formats but a cannot get the unmodified code to compile... Just trying to avoid duplicating what someone else has already done... P.S. don't suppose you could submit it to the FTP sites.... Later... - Adam Beberg. Golden Sphinx (tm) bebeada@elof.iit.edu NeXTMail Welcome. ))) In Sterio Where Available (((
From: hacker@access.digex.net (Dark Hacker) Newsgroups: comp.sys.next.programmer Subject: Use a palette? A bundle? To mass produce objects... Date: 20 Jul 1993 18:23:10 -0400 Organization: Express Access Online Communications, Greenbelt, MD USA Message-ID: <22hr8e$57o@access.digex.net> Hey everyone! I decided to build myself an "address book" app yesterday. So I have a window and in each window I want to create (on demand) an "address" which consists of a group of text objects that represent name, address, variou sphone numbers, info field, etc. Might even have some buttons in there. So... I built a palette of all these objects in the hopes of quickly and simply stamping the group of objects out everytime a new address is required. But now I'm not so sure that this is the right approach. Is a palette the right thing to do? I certainly don't want to create the objects in code (yuk!). That's what's so great about IB! But I don't really know how to create one of these things from a palette. LoadNibSection? Naw. What's the right approach? - Hacker -- Dark Hacker @ Black Silicon, Fortress Of Computation hacker@black-silicon.mclean.va.us "Life itself is... COMPUTATION!"
Newsgroups: comp.sys.next.programmer From: aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) Subject: Error: cc: Internal compiler error: program cc1obj got fatal signal 10 Message-ID: <20JUL93.22341836@enh.nist.gov> Sender: news@dove.nist.gov Organization: NIST Date: Wed, 21 Jul 1993 03:34:18 GMT Hi, I have a co-worker who is writing an object. He has a small test application and we can get it to compile fine on the black machines. It is, however, exhibiting strange behavior: printf's are not puting output to the console, IB connections are not working, and then work for seemingly no reason... So I tried to bring the mini-app over to my system (intel). When I went to build the application, I got an error message that says: cc: Internal compiler error: program cc1obj got fatal signal 10 I, of course, can find nothing wrong with the source code, and this problem is really driving me nuts! If anyone out there has had a similar experience, can tell me where to find out what a "fatal signal 10" is, or could take a quick look at the app (I will e-mail it to interested parties), I would be very grateful! My e-mail address is : day@spot.aoml.erl.gov Thanks alot!!!! Kevin (As an aside, the quicker we get this solved, the quicker we can start working again... so please help!!)
From: fischedj@ NeXTwork.Rose-Hulman.Edu (David J. Fischer) Newsgroups: comp.sys.next.programmer Subject: Re: Use a palette? A bundle? To mass produce objects... Date: 20 Jul 1993 23:46:40 GMT Organization: Rose-Hulman Institute of Technology Message-ID: <22i050$iog@master.cs.rose-hulman.edu> References: <22hr8e$57o@access.digex.net> In article <22hr8e$57o@access.digex.net> hacker@access.digex.net (Dark Hacker) writes: > > Hey everyone! I decided to build myself an "address book" app yesterday. > So I have a window and in each window I want to create (on demand) an > "address" which consists of a group of text objects that represent name, > address, variou sphone numbers, info field, etc. Might even have some > buttons in there. > > So... I built a palette of all these objects in the hopes of quickly > and simply stamping the group of objects out everytime a new address > is required. But now I'm not so sure that this is the right approach. > > - Hacker > hacker@black-silicon.mclean.va.us Offhand, I don't know the best way, but a palette object, per se, is not the best approach. Palettes are great for designing interfaces and doing awesome "Test Interface" demos to wow friends and families. However, a palette object won't help you stamp these dudes onto the screen programatically. I suggest two approaches: 1) Make a "stamp" object which will stamp these widgets onto the screen for you. 2) Create a subclass of box which has the appropriate items inside itself and then stamp these box subclasses all over the place. These two notions involve about the same work: programmatically instantiating (can you say that 10 times fast?) a bunch of items, and then adding them as subviews of some view. The exact implementation depends on how you want to abstract this "stamping" process. -- David J. Fischer : fischedj@nextwork.rose-hulman.edu "What's more important, the plays of Shakespeare or the quill he used to write them down? If he'd used a mission critical custom quill with built-in spell checker, would his plays have been any better? " -- Dave Griffiths (in response to a NeXT advocate on c.s.n.m)
From: glenn@rightbrain.com (Glenn Reid) Newsgroups: comp.sys.next.programmer Subject: Re: Printing "Text" object with page numbers and page headers? Message-ID: <1277@rtbrain.rightbrain.com> Date: 21 Jul 93 00:08:10 GMT References: <22he3d$9q8@mailgzrz.TU-Berlin.DE> Sender: glenn@rightbrain.com Dirk Schwarzhans writes > is there an example source code for printing a "Text" object > with page numbers and page headers. > I think the solution can't be too simple because even "Edit" > can't do this though it would be very useful. It's not simple at all, but I agree it would be useful! Our forthcoming word processor, ExactlyWrite, is based on the NeXT Text object, but enhanced to provide headers, footers, page numbers, and other features. It will retail for only $129 and should be shipping within a couple of months. We have heard over and over (and thought ourselves) that if only Edit had page numbering, headers, footers, and page breaks, it would be a great word processor. So that's just what we're doing! -- Glenn Reid NeXTmail: glenn@rightbrain.com RightBrain Software 415-326-2974 (NeXTfax 326-2977) Palo Alto, California Electronic Frontier Foundation, member #054
Newsgroups: comp.sys.mac.programmer,comp.sys.mac.oop.misc,comp.lang.smalltalk,comp.lang.dylan,comp.lang.lisp.mcl,comp.lang.forth,comp.lang.ada,comp.lang.clos,comp.lang.c++,comp.lang.eiffel,comp.lang.lisp,comp.lang.scheme,comp.sys.next.programmer,comp.lang.objective-c,comp.object From: Eric M. Berdahl <eric_berdahl@taligent.com> Subject: MADACON '94 Call for Papers Message-ID: <CAHHwu.2zu@taligent.com> Sender: usenet@taligent.com (More Bytes Than You Can Read) Organization: Taligent, Inc. Date: Tue, 20 Jul 1993 22:17:18 GMT ************************* News Release ************************* Subject: MADA ANNOUNCES 1994 DEVELOPER'S CONFERENCE, CALL FOR PRESENTERS Contact: Steve Mann, MADA Managing Director (408) 253-2765 MADA is pleased to announce that their fifth annual developer's conference, MADACON '94, will be held at the Atlanta Airport Hilton in Atlanta, Georgia, February 28-March 5. The recently constructed Hilton, which has been awarded both the Mobil Four Star and AAA Four Diamond Awards, includes 30,000 square feet of state-of-the-art facilities perfectly suited for a technology-oriented conference. MADA is seeking authoritative speakers to present topics of interest to software developers that create desktop applications using object-oriented technology, including: o frameworks such as MacApp, the Think Class Library, Microsoft Foundation Classes, Bedrock, and the Common Lisp Object System; o languages such as C++, Smalltalk, Lisp, and visual development environments; o component libraries, compilers, view creators, and other developer tools; o cross-platform techniques and solutions; and o object-oriented design and development methodologies. Potential presenters are invited to send a brief proposal to MADA at MADA@APPLELINK.APPLE.COM. We welcome case studies, in-depth tutorials, and surveys from vendors and third parties. There are also a limited number of student intern and volunteer positions available. MADA, incorporated in 1988, is an independent nonprofit organization dedicated to promoting the use of object-oriented technology. MADA is a primary source for information on the latest developments in object-oriented programming, and acts as a clearing house for object libraries, utilities, and development tools. The organization offers information and assistance to developers and publishes a bimonthly technical journal FrameWorks.
Newsgroups: comp.sys.next.programmer From: greg@afs.com (Gregory H. Anderson) Subject: Re: How are "private" methods implemented in Obj-C? Message-ID: <1993Jul20.210655.3670@afs.com> Sender: greg@afs.com References: <CAGD3w.2nA@pdh.com> Date: Tue, 20 Jul 1993 21:06:55 GMT In article <CAGD3w.2nA@pdh.com> Bob_Vadnais@pdh.com (Bob Vadnais) writes: > While it's true Objective C does not provide language support > for private methods, the Objective C runtime allows you to > roll your own support quite painlessly if you choose to be > fascist about it. 8-) > > [munch solution including these statements at top of protected methods] > > if (! [self isMemberOf:[Green class]]) > [self doesNotRecognize:_cmd]; Wow! What a great solution! There's only one problem. Even if the caller tries to protect itself from IOT traps by checking with "respondsTo:", this will trip it up. I would suggest returning nil instead of bouncing into signal Hell. Anyone else share this opinion? -- Gregory H. Anderson | "If you've got eyes to rhythmatize Composer-in-Residence | Bring your flat hat and your ax Anderson Financial Systems | 'Cause tonight at 10 we'll be workin' again" greg@afs.com (NeXTmail OK) | -- Donald Fagen, "Teahouse on the Tracks"
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: making gzip Message-ID: <1993Jul21.030752.28208@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Jul14.175919.265@sunova.ssc.gov> <22b52a$ok8@info2.rus.uni-stuttgart.de> <1993Jul20.084743.18989@csus.edu> <22gitk$b1u@info2.rus.uni-stuttgart.de> Date: Wed, 21 Jul 1993 03:07:52 GMT In article <22gitk$b1u@info2.rus.uni-stuttgart.de> zryx0376@awssg7.rus.uni-stuttgart.de (Markus Wenzel (Hiwi bei R.Rabenseifner)) writes: >You are right, I did not obey this point. But I don't think gzip >works improperly that way, gzip was just searching in the wrong >include files for utime declaration. (I.e. my gzip works as it >should.) Even if compiling one program under NS 3.n seems to work, there's no guarantee that will still be true under NS 3.{n+1}. Compiler options like -bsd and -posix don't merely define preprocessor macros--they can have radical effects on which headers are searched, which libraries are used, etc. It's almost as if you were compiling on completely different systems. If you use the headers from one with the object files from another, you are begging for trouble. Things get worse with POSIX. +----------+ +----------+ | NEXTSTEP | | NEXTSTEP | | +-------+-----+ | +-------+-----+ +-----+ | | UNIX | | | UNIX | |POSIX| +--+-------------+-------+ +--+-------------+--------+-----+ | MACH | | MACH | +------------------------+ +-------------------------------+ Where we are Where we're headed The problem with gzip is that the maintainer doesn't have access to a NeXT, and its configure script is just plain broken. Unfortunately, it is now *impossible* (before, it was merely difficult) for any "generic UNIX" configure script to behave properly without having a NEXTSTEP-specific component. The next gzip release should be more "NeXT-friendly." -=EPS=-
Newsgroups: comp.sys.next.programmer Subject: comp.sys.next.programmer Message-ID: <1993Jul20.203553.5876@nic.csu.net> From: eps@futon.SFSU.EDU (Eric P. Scott) Date: 20 Jul 93 20:35:52 PDT References: <1993Jul16.034459.19744@csus.edu> <CAGDE0.2wv@pdh.com> Organization: San Francisco State University In article <CAGDE0.2wv@pdh.com> Bob_Vadnais@pdh.com (Bob Vadnais) writes: >> objc_msgSend(self, aSelector, object1, object2, object3) : >> [self error:"method %s given invalid selector %s", >> sel_getName(_cmd), aSelector]; >> [Yeah, it looks fishy...] > >What's fishy about it? Using %s with an id? I say it should be %p (historically, %u). >While I concede Eric's method works like NeXT's implementation of >Object's perform: style instance methods, I submit he cheated. 8-) You're right. I guess I should have written SELNAME() instead of sel_getName()? >(I checked this too). That's called "independent verification." :-) >Object's class sheet says nothing about bailing if the selector >passed in is nil. You read the documentation. I read the _un_documentation. -=EPS=-
From: cjp+@pitt.edu (Casimir J Palowitch) Newsgroups: comp.sys.next.programmer Subject: Garfinkel & Mahoney PolygonViewDemo behavior Message-ID: <16924@blue.cis.pitt.edu> Date: 21 Jul 93 04:04:27 GMT Sender: news+@pitt.edu Organization: University of Pittsburgh Originator: cjp@unixd1.cis.pitt.edu Has anyone encountered this behavior in this application (Chapter 15): After a fresh build and run, moving the horizontal slider (controlling size of polygon) to its minimum value (set in IB to be zero) causes the sliders to suddenly be unresponsive to mouse events. Running NS3.1 user and developer, Turbo Slab Help or pointers appreciated. -- ** Casey Palowitch - cjp+@pitt.edu UWSA #570881 ** ** Networked Information Services Group / Technical Services ** ** U. of Pittsburgh Library Systems // NeXTSTEP... ** ** ...the most respected piece of software on the planet BYTE10/92 **
From: meo@pencom.com (Miles O'Neal) Newsgroups: comp.sys.next.software,comp.sys.next.programmer,comp.windows.x Subject: Re: Problems compiling X program on NeXT Message-ID: <1993Jul20.201324.5175@pencom.com> Date: 20 Jul 93 20:13:24 GMT References: <1993Jul14.183216.178@cube.sublink.org> Sender: usenet@pencom.com (Usenet Pseudo User) Organization: Pencom Software In article <1993Jul14.183216.178@cube.sublink.org>, arrigo@cube.sublink.org (Arrigo Benedetti) writes: | I have some troubles compiling xtexcad 1.2 on my NeXT cube running 3.0 | and MouseX X11R5. The sources compiles with a lot of warnings but the | linker says: | | /arrigo/tex/texcad% make -f Makefile.std cad | cc -s -o xtexcad oberfl.o ereignis.o file_sel.o pickedit.o graphics.o | io_trans.o yyscan.o -lXaw -lXmu -lXt -lXext -lX11 -lm -ll | /bin/ld: Undefined symbols: | __XExtensionErrorFunction Try moving -lXext after -lX11 and see what happens.
Newsgroups: comp.sys.next.programmer From: titmouse!bshirley (C. William Shirley) Subject: Re: .z, .Z filter for Digital Librarian Message-ID: <1993Jul21.023119.19234@gleap.jpunix.com> Sender: bshirley@gleap.jpunix.com Organization: The Republic of Texas References: <1993Jul19.221423.523@afs.com> Date: Wed, 21 Jul 1993 02:31:19 GMT In article <1993Jul19.221423.523@afs.com> jon@afs.com writes: > > I've decided to attempt to write a filter for Digital Librarian which will let > it read compressed files, decompressing as needed. (Assuming, of course, I > understand the filter concept correctly, and can get it working.) > > If anybody has some experience with writing filters (especially Librarian/IXKit > filters) and can send some tips my way, I'd really appreciate it. I have the > IFF filter example. > > Jon > -- > Jon Hendry It's a thousand classes, give or take a few, > <jon@afs.com> I'll be writing more in a week or two. > I can make it deeper if you like the style, > I can change it round and I want to be an ObjectWare Writer I think this is a great idea, but I think the file filters are just for images, or does IXKit do something i am unaware of? -bill -- Bill Shirley (NXceptable) BShirley@GLeap.jpunix.com (home) | BShirley@atg.WilTel.com (work) ``I had so many problems, then I got me a Walkman.'' - Frank Black
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: It's not your fault (was Re: Need help with pid_t) Message-ID: <1993Jul21.073251.9121@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Jul19.233629.16799@news.csuohio.edu> <1993Jul20.004044.5865@nic.csu.net> Date: Wed, 21 Jul 1993 07:32:51 GMT In article <1993Jul20.004044.5865@nic.csu.net> I wrote: > I haven't looked > at UNIX gopher for a while, but I remember it being truly > godawful code requiring a great deal of hacking to compile on > *any* system. I hope things have improved in the last year... I grabbed the latest "official" release (1.12). I'm sorry to report that it's in even worse shape. I think I spent about an hour and a half before giving up in total frustration. After getting it to the point where it compiled with "only" a dozen warnings, it runs for a minute or so, and then dies horribly (leaving the terminal settings screwed up, grr). Most of the time the diagnostic is memory allocation error: attempt to free or realloc space not in heap bad zone but I also managed to trigger a seemingly unrelated Segmentation fault. The gopher code obviously has severe problems, and I have neither the patience nor the interest to pursue this further. -=EPS=-
Newsgroups: comp.sys.next.programmer From: afm@vogon.mathi.uni-heidelberg.de (Andreas Mueller) Subject: Re: Opener.app for NS v3.1 Message-ID: <1993Jul21.121041.29933@sun0.urz.uni-heidelberg.de> Sender: news@sun0.urz.uni-heidelberg.de (NetNews) Organization: Matlab, University of Heidelberg References: <1993Jul20.221841.14822@iitmax.iit.edu> Date: Wed, 21 Jul 93 12:10:41 GMT In article <1993Jul20.221841.14822@iitmax.iit.edu> bebeada@elof.iit.edu(Adam Beberg) writes: >Greetings... > >Has anyone out there modified Opener.app to work under 3.1? >I seems the FTP sites only have 2.1?? source... Well, I don't know about 3.1, but I have a working version for 3.0. It seems this question has come up fairly frequently lately, so here is what helped me. At least the binary I got this way unpacks my files correctly. So read on at Your own risk. in files Controller.h and DefaultHandler.m: replace #import <appkit/defaults.h> by #import <defaults/defaults.h> in file Controller.m delete the following 3 lines _after_ '@implementation Controller' #include <ctype.h> extern int access(), free(), system(); extern char *malloc(), *getenv(); and insert the following _before_ '@implementation Controller': #include <ctype.h> #import <sys/file.h> #import <stdlib.h> then use make to compile. There still remain a couple of warnings I didn't get rid of, but it works anyway. Of course, if You want gzip support, You will also want to modify Opener.table and Opener.iconheader, but I guess You knew that. Hope this helps Andreas -- ------------------------------------------------- Dr. Andreas Mueller <afm@mathi.uni-heidelberg.de> Mathematisches Institut der Univeristaet Im Neuenheimer Feld 288 D - 69120 Heidelberg
Newsgroups: comp.sys.next.programmer From: jmh@hamming (Jean-Marc Heneman) Subject: QuickBASE anyone? Message-ID: <1993Jul21.125210.7214@vlsi.polymtl.ca> Sender: news@vlsi.polymtl.ca (USENET News System) Organization: Ecole Polytechnique de Montreal Date: Wed, 21 Jul 1993 12:52:10 GMT Hi folks, I'm comtemplating buying QuickBase for a project... I would like to know if you have comments (bad or good) to do. thanks, jean-marc heneman jmh@info.polymtl.ca :w B A -- jmh
From: blake015@mc.duke.edu (Denise Blakeley) Newsgroups: comp.sys.next.programmer Subject: Re: Opener.app for NS v3.1 Message-ID: <17979@news.duke.edu> Date: 21 Jul 93 13:56:16 GMT References: <1993Jul20.221841.14822@iitmax.iit.edu> Sender: news@news.duke.edu Adam Beberg writes > > Has anyone out there modified Opener.app to work under 3.1? > I seems the FTP sites only have 2.1?? source... > > I would like to add gzip and a couple other formats but a cannot > get the unmodified code to compile... > > Just trying to avoid duplicating what someone else has already done... > > P.S. don't suppose you could submit it to the FTP sites.... If you can be patient for just a few more days, Subrata Sircar (ssircar@canon.com) and I have collaborated to do exactly this and I am preparing to submit it to the archives, hopefully by the end of this week. I want to run it by the original author, Michael Hawley, first. Michael is busy working on his dissertation right now. We have added only gzip to Opener's utilities. If you'll NeXTMail the other utility(ies) and associated icon(s) to me, I might get it/them stuffed in there real quick, too! Denise -- Denise Blakeley | PROGRAM, tr. v., An activity similar Duke Med Center Info Systems | to banging one's head against a wall, Durham, NC | but with fewer opportunities for (919) 282-6468 W | reward. blake015@mc.duke.edu |
Newsgroups: comp.sys.next.programmer From: jon@afs.com Subject: Re: .z, .Z filter for Digital Librarian Message-ID: <1993Jul21.133650.3172@afs.com> Sender: jon@afs.com References: <1993Jul21.023119.19234@gleap.jpunix.com> Date: Wed, 21 Jul 1993 13:36:50 GMT In article <1993Jul21.023119.19234@gleap.jpunix.com> titmouse!bshirley (C. William Shirley) writes: | I think this is a great idea, but I think the file filters are just for | images, or does IXKit do something i am unaware of? | IXKit, when attempting to index files, will check the type of each file. If it doesn't automatically know how to read it, it will try to convert it to a readable format (ascii, rtf, etc) with the available filters. So I basically need to write a decompression filter which returns the decompressed file on the pasteboard as either rtf or ascii. This will allow DL to index compressed files. This should be possible to do without decompressing the actual file being indexed (by decompressing to stdout or something). There is still the issue of how to open the compressed files. How DL does this isn't clear to me yet. If you search the docs and click on one of the returned filenames, will it use a filter to open a decompressed file or will it open the file as is? There is also a question of how to handle .rtfd's. -- Jon Hendry It's a thousand classes, give or take a few, <jon@afs.com> I'll be writing more in a week or two. I can make it deeper if you like the style, I can change it round and I want to be an ObjectWare Writer
From: marcos@kaleida.com (Paul Marcos) Newsgroups: comp.sys.next.programmer Subject: Who wants their floating login panel back!!! Date: 19 Jul 1993 00:09:16 GMT Organization: Kaleida Labs, Inc. Distribution: world Message-ID: <22concINN2js@golden.kaleida.com> It's not that I don't like NeXT's new screen saver with the cube and the hostname, but I miss my floating login panel! So I hacked the loginwindow app and the ScreenSaver.bundle to find out how it all works. It's really very simple and I suspect that in 3.2 it will become a public interface so that people can write screen savers. Actually it would make more sense to adapt BackSpace to provide the screen savers. I guess time will tell what NeXT will do with it. Anyway, to write a screen saver bundle all you have to do is implement a class called ScreenSaver in a bundle that gets installed at /usr/lib/NextStep/loginwindow.app/ScreenSaver.bundle. The ScreenSaver class has to, at least, responds to 2 methods: startScreenSaver and stopScreenSaver. Everything else is up to the ScreenSaver.bundle. The bundle gets loaded dynamically by name and is then sent the start and stop messages at the appropriate times. One tricky thing is that the startScreenSaver message gets sent at regular intervals based on what the TimeToDim default is. That is, if you have a TimeToDim default set to 60 (seconds), your ScreenSaver class will get called EVERY 60 seconds. This just means that you have to manage some state within the ScreenSaver class to tell whether you should really do anything or not in response to this message. That's it. Pretty simple, huh? It really looks like this stuff was only half way implemented when 3.1 shipped. NeXT should do a couple things to make this a usable interface: 1. Use a default to specify what screen saver to load. 2. Use NXBundle's 'primaryClass' method to determine the controlling class, so you can guarantee no class name conflicts 3. Document it! On cs.orst.edu and nova.cc.purdue.edu, I've submitted MovingLoginPanel.compressed. It contains the ScreenSaver.bundle and the source to this simple screen saver. To install it, rename your existing ScreenSaver.bundle to something else and copy the bundle into /usr/lib/NextStep/loginwindow.app. Adjust you TimeToDim default to whatever you want and make sure that you have ScreenSaverEnabled set to YES. You'll have to restart the loginwindow app so log out of the WorkSpace and type exit for the user name, that should do it. Enjoy! Paul ................................................................... Paul Marcos NeXTMail appreciated Kaleida Labs, Inc. marcos@kaleid.com ...................................................................
Newsgroups: comp.sys.next.programmer From: zkessin@chaos.cs.brandeis.edu (Zach K) Subject: Some basic Questions Message-ID: <zkessin.743268168@chaos.cs.brandeis.edu> Sender: news@news.cs.brandeis.edu (USENET News System) Organization: Brandeis University Date: Wed, 21 Jul 1993 15:22:48 GMT I am looking for some help for a NeXT project that I am doing. I need to take a text stream that has post script code and be able to modify it and display in a panel or on the printer. If anyone can point me in the right directions let me know. Thanks a 10^6 --Zach Zkessin@cs.brandeis.edu There are worlds out there where the sky is burning. The sea's asleep, and the rivers dream. People made of smoke and cities made of sound. Somewhere there's danger. Somewhere there's injustice. Somewhere else the tea's getting cold. Come on Ace, we've got work to do." -The Doctor "Survival"
From: msb@its.COM (Michael S. Barthelemy) Newsgroups: comp.sys.next.programmer Subject: Building fat from the command line Date: 21 Jul 1993 13:34:53 -0400 Organization: The Ohio State University Sender: daemon@magnus.acs.ohio-state.edu Message-ID: <9307211701.AA06831@its.com> How does one build a fat application from the command line under 3.1? Mike Barthelemy msb@its.com
Newsgroups: comp.sys.next.programmer From: blanford@spf.trw.com (Ronald P. Blanford) Subject: DBKit single row save and revert Message-ID: <2C4B8D42.3B43@deneva.sdd.trw.com> Sender: news@deneva.sdd.trw.com Organization: TRW Inc., Redondo Beach, CA Date: Tue, 20 Jul 93 06:14:24 GMT Question: Using DBKit I have constructed and executed a query which returns multiple rows. I have browsed through the resulting rows making changes at random. Now how can I do the following? 1. Save just one of the rows back to the database when more than one have been modified. 2. Revert just one of the rows to its original state after more than one have been modified. Analysis: I have some thoughts but no solution. 1. During an ordinary save operation, DBKit iterates through the rows saving each changed one individually. I suspect there is a private method like _saveChangesAt:(int)index. Can someone confirm or refute this from experience? I fully understand the dangers of calling private methods. 2. During the course of a save, DBKit performs a locking query prior to updating the database. Somehow it is able to determine whether there has been another update since the original query. This would seem to imply that the original data is still present somewhere, and might be used to revert the changed record. In truth, I fear that only some sort of checksum is kept around. True? Answers or possible avenues of investigation would be greatly appreciated. -- Ron
From: zmonster@athena.mit.edu (Eric M Hermanson) Newsgroups: comp.sys.next.programmer Subject: Conflicting Command Key Equivalents Date: 21 Jul 1993 18:19:43 GMT Organization: Massachusetts Institute of Technology Distribution: world Message-ID: <22k1bv$9ct@senator-bedfellow.MIT.EDU> I noticed that some Services menu items have command key equivalents. Since Services is a dynamic menu, what happens if a Services item has the same command key equivalent as a menu item in the main menu? This is bound to happen if there are a large number of Services menu items with command key equivalents. -Eric
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Adding methods to FirstRepsonder Message-ID: <1993Jul21.173041.2791@afs.com> Sender: Michael_Pizolato@afs.com Date: Wed, 21 Jul 1993 17:30:41 GMT I know how to add methods to FirstResponder once I'm already in IB. But those methods are specific to the nib I add them to. What I want to do is add methods to FirstRepsonder that appear whenever I create a new nib, in addition to the methods already there. For example, there's a default FirstResponder method called showHelpPanel:. Every app has an info panel, so I think there should be a showInfoPanel: method in FirstResponder. How do I add it so that every FirstResponder in every nib I ever create automatically gets a showInfoPanel: method? Thanx, Michael -- Michael Pizolato gnihtyreve noitseuq michael_pizolato@afs.com NeXTMail appreciated
From: marcel@cs.tu-berlin.de (Marcel Weiher) Newsgroups: comp.sys.next.programmer Subject: Re: .z, .Z filter for Digital Librarian Date: 21 Jul 1993 20:18:34 GMT Organization: Technical University of Berlin, Germany Message-ID: <22k8ar$bjd@news.cs.tu-berlin.de> References: <1993Jul19.221423.523@afs.com> <1993Jul21.023119.19234@gleap.jpunix.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit titmouse!bshirley (C. William Shirley) writes: >I think this is a great idea, but I think the file filters are just for >images, or does IXKit do something i am unaware of? Not IXKit, but Librarian. From NeXTAnswer #1114: ... A: In Release 3, the indexing code uses the new filter services to convert documents to ASCII before parsing them. Therefore, if you install a filter service which converts your format to ASCII or RTF you will reap the benefits of being able to index your documents, as well as let others filter them for other uses. ... Marcel
Newsgroups: comp.sys.next.programmer From: t_pascal@oxy.edu (Wilson) Subject: Re: Opener.app for NS v3.1 Message-ID: <1993Jul21.185935.23966@cheshire.oxy.edu> Sender: usenet@cheshire.oxy.edu (System Account) Organization: Occidental College, Los Angeles, CA. USA References: <17979@news.duke.edu> Distribution: usa Date: Wed, 21 Jul 1993 18:59:35 GMT In article <17979@news.duke.edu> blake015@mc.duke.edu (Denise Blakeley) writes: >Adam Beberg writes >> >>Has anyone out there modified Opener.app to work under 3.1? >>I seems the FTP sites only have 2.1?? source... >> >If you can be patient for just a few more days, Subrata Sircar >(ssircar@canon.com) and I have collaborated to do exactly this and I am >preparing to submit it to the archives, hopefully by the end of this week. I >want to run it by the original author, Michael Hawley, first. Michael is busy >working on his dissertation right now. > >We have added only gzip to Opener's utilities. If you'll NeXTMail the other >utility(ies) and associated icon(s) to me, I might get it/them stuffed in there >real quick, too! > This is nice, but can we have assurances that it will not send unauthorised mail, as an old version was wont to do? Even with assurances, I'm going to be checking the sources for suspicious behaviour :) :) --------- T. Pascal, King of Pascal | "He travels fastest who travels alone, 1600 Campus Road, Box 829 | but not when the frost drops below zero Los Angeles, CA 90041 | fifty degrees or more." | -Old eskimo saying
From: npratt@gecko.modsys (Nevin Pratt) Newsgroups: comp.sys.next.programmer Subject: Re: What large or serious Indexing Kit apps are Date: 21 Jul 1993 16:55:59 GMT Organization: Sun Microsystems, Inc. Distribution: world Message-ID: <22jsev$qer@cnn.sim.es.com> References: <MBPARKER.93Jul18214834@netcom3.com> In article 93Jul18214834@netcom3.com, mbparker@netcom3.com (Michael Benjamin Parker) writes: > What large or serious database applications are there out there which use > Indexing Kit for the database? I believe Stone Design's "Dataphile" product uses the Indexing Kit. > I'm building a large database app based on Indexing Kit and am finding it > difficult, possibly due to bugs and limitations with Indexing Kit. I too am considering using the Indexing Kit for a major product-- mainly because it is a "free" DBMS (of sorts). So far, I've only been thinking about the problems and their solutions-- no code has been written yet. I would find it extremely informative if you would post your experiences with it. Are you using NS 3.0 or NS 3.1? Indexing Kit in NS 3.0 was somewhat buggy. Just prior to NS 3.1's release, we had been told that all known bugs to the kit had been corrected for NS 3.1. In this light, and due to the fact that 3.1 has been out now for a couple of months, I don't think I would even consider using Indexing Kit in 3.0-- I would upgrade to 3.1 immediately. Nevin
Newsgroups: comp.sys.next.programmer From: lmccullo@nyx.cs.du.edu (Michael McCulloch) Subject: libg++.pkg from ftp.next.com Message-ID: <1993Jul21.232153.9223@mnemosyne.cs.du.edu> Sender: usenet@mnemosyne.cs.du.edu (netnews admin account) Organization: Nyx, Public Access Unix at U. of Denver Math/CS dept. Date: Wed, 21 Jul 93 23:21:53 GMT I downloaded the libg++.pkg from NeXT's ftp site twice, and both times I got the error: Installing libg++.pkg into / ... **** directory checksum error (0 != 2454) **** There were errors while installing libg++.pkg. ... errors. It occurs whether I install for NeXT, or NeXT and Intel. Is this package truly corrupted? -- Michael McCulloch mmcculloch@nebula.tbe.com (NextMail Accepted!) Huntsville, Alabama
Newsgroups: comp.sys.next.programmer From: uli@zoodle.robin.de (Ulrich Grepel) Subject: Re: Reading Audio Data with CDrom Message-ID: <CAHIoI.1s6@zoodle.robin.de> Sender: uli@zoodle.robin.de (Ulrich Grepel) Organization: meow!!! References: <CAEvL0.644@informatik.uni-muenchen.de> Date: Tue, 20 Jul 1993 22:33:52 GMT In article <CAEvL0.644@informatik.uni-muenchen.de> westner@picasso.pst.informatik.uni-muenchen.de (Dominik Westner) writes: > Hi, > > I'm planning to write a small app to be able to read data from an audio > CD. Especially to get all the information out of the subchannels. The problem with that is that most CD-ROM drives just do not give you the digital sound data via the SCSI port. Subchannels are beyond dreams. Some very few newer CD-ROM drives are supposed to ignore the "don't copy me digitally" bit in the TOC (table of contents) of most (all?) audio CDs. The only other way is to use some CD player with digital out and an interface for this port to your computer. The interface is called AES-IBU (EBU?). Of course there aren't any subchannel informations there. If you want to know more about CD formats you should consider those colorful books (red book, orange book, etc.). There's a good article (series?) in the German magazine C't about the various CD-ROM formats. It should be less than a year old. Bye, Uli
From: tjhendry@mcs.drexel.edu (Jonathan Hendry) Newsgroups: comp.sys.next.programmer Subject: Re: .z, .Z filter for Digital Librarian Message-ID: <1993Jul22.002534.2787@netnews.noc.drexel.edu> Date: 22 Jul 93 00:25:34 GMT References: <1993Jul19.221423.523@afs.com> <1993Jul21.023119.19234@gleap.jpunix.com> <22k8ar$bjd@news.cs.tu-berlin.de> Sender: news@netnews.noc.drexel.edu Organization: Drexel University, Dept. of Math. and Comp. Sci. Marcel Weiher (marcel@cs.tu-berlin.de) wrote: : titmouse!bshirley (C. William Shirley) writes: : >I think this is a great idea, but I think the file filters are just for : >images, or does IXKit do something i am unaware of? : Not IXKit, but Librarian. From NeXTAnswer #1114: Ah, but in the Docs for IXAttributeParser: "Failing this, the parser will attempt to convert the text into one of the parsable formats using the filtering services provided by the Application Kit." Parry-dodge-thrust-spin :) -- Jonathan W. Hendry It's a hundred classes, give or take a few, Drexel University I'll be writing more in a week or two. CIS I can make it deeper if you like the style, I can change it round and I want to be an ObjectWare writer, ObjectWare Writer!
Newsgroups: comp.sys.next.programmer From: ken@phys.titech.ac.jp (Ken-ichiro Aoki) Subject: Re: Opener.app for NS v3.1--> how bout TS? In-Reply-To: bebeada@elof.iit.edu's message of Tue, 20 Jul 93 22:18:41 GMT Message-ID: <KEN.93Jul22111511@ieyasu.phys.titech.ac.jp> Sender: news@phys.titech.ac.jp (Usenet News System) Organization: Dept. of Physics, Tokyo Institute of Technology References: <1993Jul20.221841.14822@iitmax.iit.edu> Date: Thu, 22 Jul 1993 02:15:11 GMT In article <1993Jul20.221841.14822@iitmax.iit.edu> bebeada@elof.iit.edu(Adam Beberg) writes: Has anyone out there modified Opener.app to work under 3.1? I seems the FTP sites only have 2.1?? source... I would like to add gzip and a couple other formats but a cannot get the unmodified code to compile... Since this kind of topic appears quite often, I will post this. Other people have already mentioned fixes. Not exactly what you asked for, but how about using TickleServices? It is NOT free, $30 shareware, but it's worth it. With the supplied script, (Archive.ts) you just go services->archive->archive and off you go. Customizing is also easy, looking at archive.ts without any prior knowledge, I just added a few lines so that it will also now (un)archive .tgz extension (3 letter extension for dropping onto DOS disks); utterly trivial. I am a unix type of person, so I always used the terminal for archiving (rather than a full app) but I gotta to say that TS is neat. To me, using a full blown app to unarchive rather than just a one line command at the terminal, feels like a overkill. Of course, archive.ts, is just one of the sample scripts that is supplied with TS, and you can write your own. I am by no means an expert, I just figured out how to use it and decided to buy it a couple of nites ago. I gotta to add that TS is the most original NS app I have seen in a long time. -- Kenichiro Aoki (ken@phys.titech.ac.jp), Department of Physics, Tokyo Institute of Technology, Oh-okayama, Meguro-ku, Tokyo, JAPAN $@@DLZ7r0lO:!$El5~9)6HBg3XM}3XItJ*M}3X2J!$El5~ETL\9u6hBg2,;3(J
From: isbell@cats.ucsc.edu (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: DBKit single row save and revert Date: 22 Jul 1993 06:46:15 GMT Organization: Cubic Solutions - NeXT software development and consulting Message-ID: <22ld3nINN34k@darkstar.UCSC.EDU> References: <2C4B8D42.3B43@deneva.sdd.trw.com> In article <2C4B8D42.3B43@deneva.sdd.trw.com> blanford@spf.trw.com (Ronald P. Blanford) writes: >Using DBKit I have constructed and executed a query which >returns multiple rows. I have browsed through the resulting >rows making changes at random. Now how can I do the following? >1. Save just one of the rows back to the database when more than >one have been modified. >2. Revert just one of the rows to its original state after more >than one have been modified. I force users to either save or discard changes to a modified record before changing to another record using tableView{Will,Did}ChangeSelection:. This prevents confusion over which change failed should a failure occur and avoids the problems you mention. With a well-designed interface, this approach isn't too onerous. I've implemented a simple undo that discards changes and refetches setting the selected row to the previously-selected row. It's not ideal when a large number of records must be refetched, but I found it difficult to make changes to a RecordList's contents without the FetchGroup thinking something had changed even when I was restoring things to their original values. -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: isbell@cats.UCSC.EDU Voice: (408)335-1154 USmail: 95018-9442 Fax: (408)335-2515
Newsgroups: comp.sys.next.programmer From: jjfeiler@relief.com (John Jay Feiler) Subject: Re: File locking and NFS (using fcntl())) Message-ID: <1993Jul22.075331.1961@relief.com> Sender: jjfeiler@relief.com Organization: relief consulting References: <1993Jul20.145712.2902@afs.com> Date: Thu, 22 Jul 1993 07:53:31 GMT In article <1993Jul20.145712.2902@afs.com> greg@afs.com (Gregory H. Anderson) writes: > In article <1993Jul19.183716.24880@cc.gatech.edu> zundel@cc.gatech.edu > (Eric Zundel Ayers) writes: > > I am trying to do some file locking incorporating lockd so that I can > > do file locking over and NFS mount. Unfortuantly, my calls to > > > > lockf() and fcntl() > > > > do not seem to work properly. They continuously return the error EINVAL > > (Invalid Argument.) This same code will compile on a Sun (after > > including <unistd.h>) > > > > Is there any other reliable way to lock files over and NFS mount, or > > does anyone have an example of some code that uses fcntl or lockf that > > works properly on a NeXT? I compiled ELM on my machine, but it reported > > that locking with fcntl was unavailable. I don't want to believe that > > right now. > > Nope, these calls have never worked in NEXTSTEP, and at this point I doubt > they ever will. In the past, NeXT has claimed they don't work reliably in > SunOS either, which is why they didn't bother. Something about stale file > handles on NFS mounts, because file stats aren't updated real-time. > > -- > Gregory H. Anderson | "If you've got eyes to rhythmatize > Composer-in-Residence | Bring your flat hat and your ax > Anderson Financial Systems | 'Cause tonight at 10 we'll be workin' again" > greg@afs.com (NeXTmail OK) | -- Donald Fagen, "Teahouse on the Tracks" The "Official" answer is in Nextanswer #1233_file_locking.rtf John -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!! Edmonds, WA 98026-4433 Independent NeXTSTEP Developer
Newsgroups: comp.sys.next.programmer From: cowboy@trans.csuohio.edu (Joe Rosenfeld) Subject: Re: It's not your fault (was Re: Need help with pid_t) Message-ID: <1993Jul22.113941.12104@news.csuohio.edu> Sender: news@news.csuohio.edu (USENET News System) Organization: Cleveland State University References: <1993Jul19.233629.16799@news.csuohio.edu> <1993Jul20.004044.5865@nic.csu.net> <1993Jul21.073251.9121@csus.edu> Date: Thu, 22 Jul 1993 11:39:41 GMT Eric P. Scott (eps@futon.SFSU.EDU) wrote: : I grabbed the latest "official" release (1.12). I'm sorry to : report that it's in even worse shape. I think I spent about : an hour and a half before giving up in total frustration. : After getting it to the point where it compiled with "only" a : dozen warnings, it runs for a minute or so, and then dies : horribly (leaving the terminal settings screwed up, grr). : Most of the time the diagnostic is : memory allocation error: attempt to free or realloc space not in heap : bad zone : but I also managed to trigger a seemingly unrelated Segmentation : fault. : The gopher code obviously has severe problems, and I have neither : the patience nor the interest to pursue this further. : -=EPS=- Eric. Thanks for your fix, but it only helped for a single line. I need to get past the use of "ter" also, and one of the lines will not permit another typedef for ter sionce the ter has a period after it in one of the lines I posted. As for your problem, yes, there is an easy way out of it. Get the gopher1.2b4+.tar.z and use the compatible.c and compatible.h from that distribution. Gopher compiles after that and you will be able to get away from the bad allocation of RAM. Also, egrep for /tmp/moo and change it to /tmp. Hope this helps you. What in heck is "ter" anyway? Regards- Joe -- | Joe Rosenfeld cowboy@trans.csuohio.edu | CSU Law Library j.rosenfeld@csuohio.edu | "If you always do what you always did, you will always get | what you always got!" B.S. BTW: this patch, if we can get it working, allows for expect scripts to be called from the Unix gopher client, so you can script all your internet sessions, a worthy aim, in my opinion!
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: loading bundles on the fly Date: 22 Jul 1993 06:13:39 -0700 Message-ID: <22m3q3$50i@ursula.ee.pdx.edu> Summary: Looking for info on overriding methods in CustomView Keywords: bundles dynamic linking customview For a project I'm working on, and just out of a general principle (the desire to avoid linking for Palette classes), I'd like to put a particular set of classes in bundles-- and have a way to have applications and palettes alike load them in as necessary. For now, my interest in specifically with CustomViews (by that I mean the proxy-view archiving-initialzation, not a `CustomView' per se). In IB, I've had success loading class objects using bundles, although it isn't clear to me whether this capability is supported. I'm wondering if it would be possible to override, using categories(?), the initialization method(s), so that when the CustomView was being initialized it, the modified CustomView, could scan a set of bundles for the desired class and load it on the fly, and then proceed with the normal alloc/init. What information is available on the workings of `CustomView'? This seems like an obvious thing to do, I must be just missing a more elegant approach. Am I?
From: phil@cnam.cnam.fr (Philippe Provost) Newsgroups: comp.sys.next.programmer Subject: NXDataLink : URGENT ! Date: 22 Jul 1993 16:24:59 +0200 Organization: Conservatoire National des Arts et Metiers, Paris, France Distribution: world Message-ID: <22m7vr$714@cnam.cnam.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Keywords: help, source, DataLink Hello, I need to use the NXDataLink object in my app. I want to link pieces of Text between documents created by my apps. I looked at the Draw source but the more i read the more complexe it is. Draw is definitely NOT a good tutorial app.(well that s my advice). QUESTIOn: Does one of you implemented the NXdataLink object ? and would he accept to share its code ? it s really urgent now, and i think i waste my time reading Draw . Thank you to reply to phil@cnam.cnam.fr. i will make a post in two weeks. a Desasperate NeXTer. Phil -- ============================================================================= Provost Philippe phil@cnam.cnam.fr NeXT Registered developper " La vie est tellement extraordinaire lorsque l'Amour est sa compagne"
Newsgroups: comp.sys.next.programmer From: aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) Subject: Categories, archiving classes, etc... Message-ID: <22JUL93.15560813@enh.nist.gov> Sender: news@dove.nist.gov Organization: NIST Date: Thu, 22 Jul 1993 20:56:08 GMT I have need to archive a hash table which keys integers to Classes (not objects). Obviously, the Class itself shouldn't be saved to a stream, but it would be very nive if the class would save its name, and then, when asked to unarchive, would return the object given by : objc_getClass(). The problem here (if it wasn't obvious before), is that I am not entirely sure how the Object class goes about its -read and -write methods. From looking at the inards of an archived file, it would seem that object first writes its class name. When reading, it reads the class name, uses the function mentioned above, alloc's that's object, and sends it a -read: message. So the question is: Can I do anything about implementing +read: and +write: methods (perhaps in a category of the object class), that would do nothing except return the class... I have a feeling that I would have to actually create my own NXWriteClass((NXStream *)aStream, (Class) aClass)), and NXReadClass functions to do this... and oh, it just becomes a mess.. In the meantime I have created an object that is capable of hashing integers to Classes, and archives them.... but it is such a rig that I thought I would try to do it correctly. Any suggestions? Kevin My NeXT address is: day@spot.aoml.erl.gov .
Newsgroups: comp.sys.next.programmer From: inmcoop@bnr.ca (Dennis Pejcha) Subject: Re: Reading Audio Data with CDrom In-Reply-To: uli@zoodle.robin.de's message of Tue, 20 Jul 1993 22:33:52 GMT References: <CAEvL0.644@informatik.uni-muenchen.de> <CAHIoI.1s6@zoodle.robin.de> Sender: news@bcarh54a.bnr.ca (ZOONEWS News) Organization: Bell-Northern Research, Ottawa, ONT Date: Thu, 22 Jul 1993 13:57:31 GMT Message-ID: <INMCOOP.93Jul22095731@bcarh4ce.world> Does anybody know which of the newer CD-ROM drives are supposed to ignore the "don't copy" bit? I've heard that the Toshiba 3401 drives have this capability, but I could be wrong... I too would like some information about how to read the music from a CD using one of these drives. Anybody got some sample code? -Dennis ----------------------------------+---------------------------------- My undergraduate identity: | My current co-op identity ----------------------------------+---------------------------------- Dennis Pejcha | Dennis Pejcha University of Waterloo | Bell Northern Research, Ottawa Faculty of Mathematics | Carling Labs, Lab 3 Comp. Sci. Major | Integrated Node Mtce, Co-op dpejcha@cantor.math.uwaterloo.ca | inmcoop@bnr.ca ('til Aug/93) ----------------------------------+---------------------------------- If the University of Waterloo, Bell Northern Research, or anyone else for that matter, shares my opinions, that's their problem, not mine --------------------------------------------------------------------- In article <CAHIoI.1s6@zoodle.robin.de> uli@zoodle.robin.de (Ulrich Grepel) writes: In article <CAEvL0.644@informatik.uni-muenchen.de> westner@picasso.pst.informatik.uni-muenchen.de (Dominik Westner) writes: > Hi, > > I'm planning to write a small app to be able to read data from an audio > CD. Especially to get all the information out of the subchannels. The problem with that is that most CD-ROM drives just do not give you the digital sound data via the SCSI port. Subchannels are beyond dreams. Some very few newer CD-ROM drives are supposed to ignore the "don't copy me digitally" bit in the TOC (table of contents) of most (all?) audio CDs. [munch] Uli
From: blake015@mc.duke.edu (Denise Blakeley) Newsgroups: comp.sys.next.programmer Subject: Re: Opener.app for NS v3.1 Message-ID: <18044@news.duke.edu> Date: 22 Jul 93 15:10:41 GMT References: <1993Jul21.185935.23966@cheshire.oxy.edu> Sender: news@news.duke.edu Distribution: usa Wilson writes > This is nice, but can we have assurances that it will not send unauthorised > mail, as an old version was wont to do? Even with assurances, I'm going to > be checking the sources for suspicious behaviour :) :) > --------- > T. Pascal, King of Pascal | "He travels fastest who travels alone, > 1600 Campus Road, Box 829 | but not when the frost drops below zero > Los Angeles, CA 90041 | fifty degrees or more." > | -Old eskimo saying You'll have to run that request by Michael Hawley (mike@media-lab.mit.edu), the original author; I haven't presumed to change any of Opener's original functionality! You do realize, I hope, that the "unauthorized mail" was sent only upon first use of the app. So installing a new version will not send any additional mail, because your defaults database still has the first-used date/time in it. Denise -- Denise Blakeley | PROGRAM, tr. v., An activity similar Duke Med Center Info Systems | to banging one's head against a wall, Durham, NC | but with fewer opportunities for (919) 282-6468 W | reward. blake015@mc.duke.edu |
Newsgroups: comp.sys.next.programmer From: ivor@binkley.cs.mcgill.ca (Ivo ROTHSCHILD) Subject: Re: Building fat from the command line Message-ID: <22me9t$rfi@binkley.cs.mcgill.ca> Sender: news@sifon.cc.mcgill.ca Organization: SOCS - Mcgill University, Montreal, Canada References: <9307211701.AA06831@its.com> Date: Thu, 22 Jul 1993 16:12:45 GMT In article <9307211701.AA06831@its.com> msb@its.COM (Michael S. Barthelemy) writes: > >How does one build a fat application from the command line under 3.1? > >Mike Barthelemy >msb@its.com In the compile line use the -arch flag with either m68k and/or i386. Or use -arch all. For multiples you can do -arch m68k -arch i386. With a PB generated makefile, use the following: make "RC_CFLAGS= -arch m68k -arch i386" "RC_ARCHS= m68k i386" "RC_m68k=YES" "RC_i386=YES" These are the exact flags that PB uses. -ivo
Newsgroups: comp.sys.next.programmer From: kathys@jpl-devvax.jpl.nasa.gov (Kathy Sturdevant) Subject: No Core File Message-ID: <1993Jul22.170046.12176@jpl-devvax.jpl.nasa.gov> Followup-To: kathys@jpl-devvax.jpl.nasa.gov Organization: Jet Propulsion Laboratory (NASA) Date: Thu, 22 Jul 1993 17:00:46 GMT We're developing an application in objective-c on a NeXT cube using gnumake and cc (which I've been told is the gnu cc compiler on the NeXT) . The application never writes a core file when it crashes. Do we have to do something special to get core files, or do they not appear on the NeXT? (My development background is using C on Suns). I'm trying to debug a window server death error. When using gdb or profiling, the error either goes away or does not occur with the same frequency. A core file would greatly help with debugging. Thanks in advance for your help/suggestions. kathy email: kathys@jpl-devvax.jpl.nasa.gov NeXT: kathys@mojave.jpl.nasa.gov
Newsgroups: comp.sys.next.programmer From: michaelh@uhunix.uhcc.Hawaii.Edu (Michael A. Hoffhines) Subject: gnats on next? Message-ID: <CAKqMr.38C@news.Hawaii.Edu> Sender: news@news.Hawaii.Edu Organization: University of Hawaii Date: Thu, 22 Jul 1993 16:18:27 GMT If you have information on getting gnats (GNU's bug tracking system) to work on a next, I'd appriciate hearing from you. If there is interest, I'll post a summary. So far, here are the items that I've tracked down that cause my next to trip: 1. no waitpid() - used in queue-pr 2. no cut - used by send-pr 3. bad type in entry_comp() 4. bad type in gnats.[ch] get_next_field 5. sendmail doesn't care for aliases to pipes? Thanks in advance, Mike --------------------------------------------------------------------------- Michael Hoffhines | michaelh@Hawaii.Edu University of Hawaii | Nomen est numen!? NOT! ---------------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: bkr@drdhh.hanse.de (Bjoern Kriews) Subject: Re: BUG in NeXTSTEP Intel Message-ID: <1993Jul22.021743.3449@drdhh.hanse.de> Organization: Digital Island References: <22g2sc$k51@rosie.next.com> <1275@rtbrain.rightbrain.com> Date: Thu, 22 Jul 1993 02:17:43 GMT glenn@rightbrain.com (Glenn Reid) writes: >Hey, >I just wanted to say thanks to Josh publicly for posting this. It's >really great to see people from NeXT posting such helpful stuff. >Thanks, Josh! I do fully agree. And I please the net: Often it seems like any NeXTee posting here becomes a target for everyones questions and flames. Please don't overload NeXT employees posting here until they explicitly declare that they will take it - otherwise they will disappear as fast as they appeared. Perhaps NeXT could help by extending the NeXTanswers/Developer into a fast and organized USENET forum ? Some moderated newsgroup where actual questions are brought up and answered by competetent NeXT-personnel or comp.sys.next.gurus (in cooperation with the NeXT moderator). Greetings, Bjoern -- bkr@drdhh.hanse.de - Bjoern Kriews - Stormsweg 6 - D-2000 Hamburg 76 - FRG In the global village, everywhere has got to be a local call. (P. Chapman)
Newsgroups: comp.text,comp.text.desktop,comp.text.frame,comp.text.interleaf,comp.text.sgml,comp.text.tex,comp.os.msdos.programmer,comp.os.ms-windows.programmer.misc,comp.os.os2.programmer.misc,comp.sys.amiga.programmer,comp.sys.mac.programmer,comp.sys.next.programmer,comp.unix.programmer,gnu.misc.discuss From: dhosek@jarthur.claremont.edu (D Hosek) Subject: API for spell-checking--Summary of existing work Message-ID: <CAKyr4.87C@news.claremont.edu> Followup-To: comp.text Summary: List of other APIs which people have informed me about Sender: news@news.claremont.edu (The News System) Organization: Quixote Digital Typography, Claremont, CA 91711 References: <CABKGx.n0z@news.claremont.edu> <CABry6.4L8@news.claremont.edu> <22br7t$32f@klaava.Helsinki.FI> Date: Thu, 22 Jul 1993 19:13:51 GMT [This will be the last widely-posted notice on the spell-check API topic. If you're interested in following this, please read comp.text. If you post a follow-up message, be sure that your newsgroups line contains _only_ comp.text. My main reason for wide-posting is to take care of the assorted please post a summary to me messages.] In assorted messages, I have learned that three platform-specific APIs exist for spell checking: Writing Tools for DOS/Windows developed by a consortium led by WordPerfect. WritesWell AppleEvent Suite for the Mac developed by Working Software. Nextstep has a built-in spell-check API. This is the information as well-distilled as I could get it from the assorted posts. Many of those replying didn't seem to realize that I was posting to numerous groups and looking for cross-platform support, so some of the information was scanty and none of the above platforms fall under the list of my top-priority development platforms so how useful this information will be, I don't know. I will be attempting to get the docs on each of these in the coming week. If anyone has contact information about where I can obtain these, I'd appreciate it. I've been told where to get the WritesWell stuff in a Mac-specific format (not much use to me) and how to get the Next info by loggin into a Next (not much use to me). Hardcopy is preferred, but I'm not particularly interested in buying a $50 book for 10 pages of info if it can be avoided. -dh
Newsgroups: comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: Re: Use a palette? A bundle? To mass produce objects... Message-ID: <Jul22.200853.73539@acs.ucalgary.ca> Date: Thu, 22 Jul 1993 20:08:53 GMT References: <22hr8e$57o@access.digex.net> Organization: The University of Calgary, Alberta > Hey everyone! I decided to build myself an "address book" app > yesterday. So I have a window and in each window I want to > create (on demand) an "address" which consists of a group of > text objects that represent name, address, variou sphone > numbers, info field, etc. Might even have some buttons in > there. > > So... I built a palette of all these objects in the hopes of > quickly and simply stamping the group of objects out everytime > a new address is required. But now I'm not so sure that this > is the right approach. Chances are it isn't. You almost certainly want to create another .NIB file with your "address book" interface and instantiate a new copy of the interface every time you create a new address. > Is a palette the right thing to do? I certainly don't want to > create the objects in code (yuk!). That's what's so great > about IB! But I don't really know how to create one of these > things from a palette. Right. > LoadNibSection? Naw. What's the right approach? Why did you discard the "loadNibSection:" approach? (Given that as far as I can tell from your description, it's the right answer). For a decent example of this approach, check the file: /NextLibrary/Documentation/NextDev/DevTools/17_TextApp/TextApp.rtfd ... it may be in a different location if you aren't running 3.x, but it's been around since 1.x and does what you want. -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
Newsgroups: comp.sys.next.programmer From: lmccullo@nyx.cs.du.edu (Michael McCulloch) Subject: Re: libg++.pkg from ftp.next.com Message-ID: <1993Jul22.205932.1241@mnemosyne.cs.du.edu> Sender: usenet@mnemosyne.cs.du.edu (netnews admin account) Organization: Nyx, Public Access Unix at U. of Denver Math/CS dept. References: <1993Jul21.232153.9223@mnemosyne.cs.du.edu> Date: Thu, 22 Jul 93 20:59:32 GMT In article <1993Jul21.232153.9223@mnemosyne.cs.du.edu> lmccullo@nyx.cs.du.edu (Michael McCulloch) writes: >I downloaded the libg++.pkg from NeXT's ftp site twice, and both times I >got the error: > >Installing libg++.pkg into / ... >**** directory checksum error (0 != 2454) >**** There were errors while installing libg++.pkg. >... errors. > >It occurs whether I install for NeXT, or NeXT and Intel. > >Is this package truly corrupted? NeXT has renamed the package to broken_1237_libg++.pkg.compressed, however, the following suggestion fixed the problem for me. This should work for anyone needing the package now. Begin forwarded message: From: Matt_Watson@next.com (Matt Watson) Date: Wed, 21 Jul 93 19:38:25 -0700 To: lmccullo@nyx.cs.du.edu (Michael McCulloch) Subject: Re: libg++.pkg from ftp.next.com The libg++.info file in the package is incorrect. Change the line which says: LongFilenames YES to LongFilenames NO and try installing... matt. -- Matt Watson NeXT Computer, Inc. -- Michael McCulloch mmcculloch@nebula.tbe.com (NextMail Accepted!) Huntsville, Alabama
From: rasmussn@jupiter.eecs.umich.edu (Craig E Rasmussen) Newsgroups: comp.sys.next.programmer Subject: Distributing Text objects Date: 22 Jul 1993 21:32:42 GMT Organization: University of Michigan EECS Dept. Message-ID: <22n11q$dsm@zip.eecs.umich.edu> Keywords: distributed objects I have run into a problem distributing Text objects. The following code fails to work: protocol Dert - (oneway void) acceptMessage:(bycopy in id)textObject; @end - (void) acceptMessage:textObject { char str[64]; int length = [textObject textLength]; [textObject getSubstring:str start:0 length:length]; } The length of the text is correct but the text within the text object is incorrect (Null string). Furthermore, I get the following error when I pass the text object to clients via a server: Jul 22 16:33:54 jupiter Graph[2489]: can't determine size of struct: stream_functions}^v}16 (not from protocol?) As I understand it, Text uses streams to hold data. My guess as to the problem is that a copy of the text object can't be made because the connection doesn't can't figure out the size of the object to copy. Has anyone tried distributing Text objects? Any ideas on how to fix the problem? Thanks for your responses Craig Rasmussen
Newsgroups: comp.sys.next.programmer From: harit@kripalu.com Subject: Re: Adding methods to FirstRepsonder Message-ID: <1993Jul22.111912.2111@uunet!cbmvax!xmws!kripalu> Sender: harit@uunet!cbmvax!xmws!kripalu Organization: Kripalu Center References: <1993Jul21.173041.2791@afs.com> Date: Thu, 22 Jul 93 11:19:12 GMT In article <1993Jul21.173041.2791@afs.com> Michael_Pizolato@afs.com (Michael Pizolato) writes: > I know how to add methods to FirstResponder once I'm already in IB. > But those methods are specific to the nib I add them to. What I > want to do is add methods to FirstRepsonder that appear whenever I > create a new nib, in addition to the methods already there. For > example, there's a default FirstResponder method called showHelpPanel:. > Every app has an info panel, so I think there should be a showInfoPanel: > method in FirstResponder. How do I add it so that every FirstResponder > in every nib I ever create automatically gets a showInfoPanel: > method? > > Thanx, > Michael > > -- > Michael Pizolato gnihtyreve noitseuq > > michael_pizolato@afs.com > NeXTMail appreciated You might be able to create a palette that really just uses IB methods to add the selectors to the definitions of the first responder "class". I have not looked closely but this is the only option I can see. -- Michael Allen Latta Kripalu Center harit@kripalu.com (413)448-3288
Newsgroups: comp.sys.next.programmer From: aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) Subject: Wierd problem with a running application... Message-ID: <22JUL93.22090255@enh.nist.gov> Sender: news@dove.nist.gov Organization: NIST Date: Fri, 23 Jul 1993 03:09:02 GMT It seems like the further along I get, the more pidly my problems become... but these are the problems that I can't answer, and they prevent me from working, so..... I have an application that has (lets say) two objects. Object 1 implements: - setX:(float) x Y:(float) y in:aCoordSystem { printf("X=%f, Y=%f, CoordSystemObject = %p\n", x, y, aCoordSystem); return self; } Object 2 implements: - aMethod { [myObject1 setX:5.0 Y:6.76 in:nil]; . . return self; } Seems straightforward? Nope. The variables are not getting sent correctly. My x and y float values are wierd (x is always 0, and y is between 2.125... and 3.589...., depending on what x is sent to it). Further, the aCoordSystem varibale has a value!! 0x80000000 which is certainly not nil. To confuse things even more: I created a tiny app to test my object (which is a little more robust than shown above). I still got the errors with the passing of x and y, but the id was passing correctly. So I changed the methods from accepting floats, to accepting float pointers. Then everything worked fine. I am working on both black and white hardware, and the error is consistent. I am thinking that maybe some of the optimization code is screwing things up, but I don't know how to do a make without the optimization on... Does anyone have any suggestions? I would be happy to mail you my "baby app " so you can see for yourself. Tearing my hair out, Kevin Once again, my NeXT address is : day@spot.aoml.erl.gov
Newsgroups: comp.sys.next.programmer From: greg@afs.com (Gregory H. Anderson) Subject: Re: No Core File Message-ID: <1993Jul22.201656.5798@afs.com> Sender: greg@afs.com References: <1993Jul22.170046.12176@jpl-devvax.jpl.nasa.gov> Date: Thu, 22 Jul 1993 20:16:56 GMT In article <1993Jul22.170046.12176@jpl-devvax.jpl.nasa.gov> kathys@jpl-devvax.jpl.nasa.gov (Kathy Sturdevant) writes: > We're developing an application in objective-c on a > NeXT cube using gnumake and cc (which I've been told > is the gnu cc compiler on the NeXT) . The application > never writes a core file when it crashes. Do we have to > do something special to get core files, or do they not > appear on the NeXT? From DevTools/09_Debugger/_DebuggingCoreFiles.rtf: NeXT has extended GDB to allow debugging of NeXT core files, which are in the Mach-O file format. These files are very large, so they aren't generated by default. In order for core files to be generated, you must raise your core file limit by typing one of the following commands at the UNIX prompt: unlimit core limit core 5m The first command allows core files of any size to be created. The second command only allows core files less than 5 megabytes to be created. The maximum core file size is up to you. Note that because of the way core files are created under Mach, even a small application can create a core file of several megabytes. Core files are generated in the /cores directory, if it exists; otherwise, they're generated in the current working directory. -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
Newsgroups: comp.sys.next.programmer From: jon@afs.com Subject: getRect: forPage: and printing swapviews Message-ID: <1993Jul22.205910.507@afs.com> Sender: jon@afs.com Date: Thu, 22 Jul 1993 20:59:10 GMT I'm still experiencing difficulties with printing our "Swap views". Basically, we've got a panel with a popUpList on it. The popUpList controls which view is visible in the swapView- like an inspector. We want to be able to print each view when the panel is printed, rather than just the one visible. To do this, in the panel's getRect:forPage: method we swap a new panel in for each page. This mostly works fine. But there's a problem. In a test print of nine views, some of the middle pages exhibited some strange behavior. One page had printed normally, except there were some text fields from the next page printed "on top" of what shoulf have been there. Another page was normal, but had a browser from the next page printed on top of it. In each case, whatever was printed wrongly on on page appeared in its proper place on its own page, also. This is similar to what I have seen if there is a [fooView display]; inside of the getRect:forPage: or in any methods called from inside it. The page being printed is overwritten with the image from the following page. It seems that my problem is being causd by a display of the offending parts, but our code doesn't do that anywhere. Another strange element is that if printing the whole bunch, the same pages are messed up. But if we print a smaller range which contains those pages, the pages are fine. Has anybody experienced this? Does anyone have an idea about what's going on? -- Jon Hendry I'm not a real programmer, <jon@afs.com> But I play one on co-op.
Newsgroups: comp.sys.next.programmer From: abell@netcom.com (Steven T. Abell) Subject: Does setProtocolForProxy: work? Message-ID: <abellCAL9JB.6Mr@netcom.com> Organization: NETCOM On-line Communication Services (408 241-9760 guest) Distribution: na Date: Thu, 22 Jul 1993 23:06:46 GMT The setProtocolForProxy: method is supposed to inform a DO proxy what shape the messages it will pass will have. This is to prevent having to ask the receiver at run time. I have evidence that it doesn't work. I'm writing an ObjC program that isn't an app and defines its own ObjC root class. I instantiate one of the damn things, then put it up for distribution using registerRoot:withName:. Along the way, I discovered I had to implement forward::, from which I've learned some interesting things. One interesting thing is that a message called methodSignature:fromZone: is sent to my object for any message not of the form - (oneway)xxx even if the sender has been informed by setProtocolForProxy: what the message looks like. But the docs for setProtocolForProxy: imply that this won't happen if the message is in the protocol. Furthermore, methodSignature:fromZone: is undocumented. Running 3.0. Any knowledge to share out there? Steve abell@netcom.com
Newsgroups: comp.sys.next.programmer From: abell@netcom.com (Steven T. Abell) Subject: Re: Does setProtocolForProxy: work? Message-ID: <abellCAL9zE.6nz@netcom.com> Organization: Netcom Online Communications Services (408-241-9760 login: guest) References: <abellCAL9JB.6Mr@netcom.com> Distribution: na Date: Thu, 22 Jul 1993 23:16:24 GMT A correction to the previous post: methodSignature:FromZone: gets sent for *all* incoming messages to the receiving distribject. But if the message isn't of the form - (oneway)xxx, the *sender* will encounter Unknown error code 11003 in NXReportError Steve abell@netcom.com
From: fischedj@ NeXTwork.Rose-Hulman.Edu (David J. Fischer) Newsgroups: comp.sys.next.programmer Subject: How to change class of a palette object Date: 23 Jul 1993 00:46:51 GMT Organization: Rose-Hulman Institute of Technology Message-ID: <22ncdr$7di@master.cs.rose-hulman.edu> I am using NS2.1 I have a bizarre problem, and I would like to know if there is a solution. I created a set of palette objects which are subclasses of Control, like this: Control -> ExtendedInput -> ViscousInput -> ConverterInput It then became apparent that things would work better if I rearranged my hierarchy. So, I made a new subclass of Control (TinyInput), moved things around, and made various modifications so that the hierarchy is now: Control -> TinyInput -> ExtendedInput -> ViscousInput -> ConverterInput Unfortunately, several apps in development already use the original objects extensively. I want to know if there is a way to modify the object's code so that I can load up a nib with the original classes, and save them out as the new classes. I don't mind if the process involves several steps/stages/palettes/etc. I have tried a couple of approaches already. If someone suggests them, I will explain why they didn't work, otherwise I'll be quiet. Thank you for any help. -- David J. Fischer : fischedj@nextwork.rose-hulman.edu "What's more important, the plays of Shakespeare or the quill he used to write them down? If he'd used a mission critical custom quill with built-in spell checker, would his plays have been any better? " -- Dave Griffiths (in response to a NeXT advocate on c.s.n.m)
From: doug@foxtrot.ccmrc.ucsb.edu (Douglas Scott) Newsgroups: comp.sys.next.programmer Subject: Re: Problems compiling X program on NeXT -- SOLUTION Date: 22 Jul 1993 22:54:40 GMT Organization: University of California, Santa Barbara Distribution: world Message-ID: <22n5rg$4b6@ecifs2.ucsb.edu> References: <1993Jul20.201324.5175@pencom.com> In article <1993Jul20.201324.5175@pencom.com> meo@pencom.com (Miles O'Neal) writes: ] In article <1993Jul14.183216.178@cube.sublink.org>, arrigo@cube.sublink.org (Arrigo Benedetti) writes: ] | I have some troubles compiling xtexcad 1.2 on my NeXT cube running 3.0 ] | and MouseX X11R5. The sources compiles with a lot of warnings but the ] | linker says: ] | ] | /arrigo/tex/texcad% make -f Makefile.std cad ] | cc -s -o xtexcad oberfl.o ereignis.o file_sel.o pickedit.o graphics.o ] | io_trans.o yyscan.o -lXaw -lXmu -lXt -lXext -lX11 -lm -ll ] | /bin/ld: Undefined symbols: ] | __XExtensionErrorFunction ] ] Try moving -lXext after -lX11 and see what happens. No. The solution is to do 'ranlib -c -s /usr/lib/libX*.a' to update the X libraries after they are installed. This *is* in the README, by the way! You *must* use the -c and -s flags, by the way. -- Douglas Scott (805)893-8352 Center for Computer Music Research and Composition University of California, Santa Barbara Internet: (NeXTMail ok) <doug@foxtrot.ccmrc.ucsb.edu>
Newsgroups: comp.sys.next.programmer From: wave@pixar.com (Michael B. Johnson) Subject: I want a NXShaderPanel & NXShaderList & NXShaderWell... Message-ID: <1993Jul23.015128.8497@pixar.com> Sender: news@pixar.com (Usenet Newsmaster) Organization: Pixar -- Point Richmond, California Date: Fri, 23 Jul 1993 01:51:28 GMT I'm about to hack something together, and thought I'd toss the idea out here first to see if anybody has any good feedback: Well, I've been playing with all the various 3D apps available under NEXTSTEP, as well as writing my own stuff, and I'm finally sick of it. I know the 3DKit folks are probably busy with other (more important) things, so I thought I'd bring my gripe to the Net. a few caveats: if you don't know what a shader is, read the doc before posting a question (with regard to this particular thread I want to start). I'd rather we kept this particular discussion at a high S/N ratio. so, take a deep breath, put on your 3D cap, and let's go: One way to think about RenderMan shaders is that they're similar to typefaces or colors. They actually have attributes more of Multiple Master Adobe fonts, where you have a given set of parameters that you frob. From a NEXTSTEP programmer point of view, the shader-as-font-or-color analogy holds in many ways, with one glaring exception: we've got a FontPanel and a NXColorPanel, but no ShaderPanel. As random folks have pointed out over the years, the FontPanel is less than ideal, since it doesn't allow you to have your own groups of fonts (i.e. it enforces the Font family hierarchy on you) or give you any sort of shelf to put commonly used fonts. I believe there is some 3rd party app which does this better, but I've never seen it. You really want things like FontWells FontSwatches and such. I think Mesa has something like this. The NXColorPanel, on the other hand, is a much more completely implemented thang. You can make named lists of colors, keep color chips around, save out your named list of colors, etc. Any NeXTSTEP app which uses color (pretty much all of them, right?) uses the NXColorPanel. This makes it persistent over applications, and "It just works." On the 3D side of things, however, things are nowhere near as developed. All the 3D apps I use on a semi-regular basis (3DReality, FrontFace, Intuitiv'3d, my own weird stuff) all have their own solution to this problem. They all handle it basically the same (incompatible) way: they scan some known locations for all the .slo files, and present the user with a list of shader names. They also look in various places for a tiff file which corresponds to that shader. Some of the apps help the user make this image, some just specify a known location to stick an image of the correct size with a given name. None of them do it the same way. I've got well over a hundred shaders. Now, I know, I know, I'm weird, but remember when you only had 10 typefaces? Now how many do you have? It won't be that long, especially if NSI takes off in universities this fall, before you have tons of shaders too. Right now, it takes a *long* time for each of these apps to scan the various places to get the info it needs about all these shaders. Sometimes, I want to see all my shaders, but most of the time, I would rather group them and have it read info about a given group (the same way I can do for colors on the NXColorPanel). I also want to have these lists of shaders be persistent across apps. As we get more 3D apps on NEXTSTEP, and as more apps start including 3D capabilities, this problem will become more acute. The next problem is that when you write a shader, you tend to write it in a very general way. Sometimes, too generally. Also, sometimes you get a commercial shader (i.e. from the Valis Group), and it's great, but it's got too many parameters. In other words, you want to be able to associate an arbitrary interface with a given .slo file, so you can strictly control which parameters of the underlying shader are frobbable. PIXAR sells a product on the MAC and PC which does exactly this: it's called Glimpse. Under NEXTSTEP, you could imagine making a NIB file which gets loaded in which only allows certain parameters to be manipulated in certain ways (i.e. constrain floating point values, give you an intuitive interface to specifying some vector, constraining color choice to some known set, etc.) So here's what I'm gonna do: for my system (WavesWorld) I'll be writing a couple of objects: WWShaderPanel, WWShaderList, WWShaderWell, and WWShaderInspector. The WWShaderPanel will look like what you see when you bring up the colors panel and click on the Pantone button. You will have a popup list of WWShaderLists at the top, and a ScrollView showing the shaders in the currently selected WWShaderList. You'll be able to add and delete shaders from a given WWShaderList, and read in and write out WWShaderLists. (now comes some handwaving, this is what I'd like some feedback on) When you double click on a given shader, it instances a N3DShader and inits it from that slo file. It also loads in nib file stored in some canonical place (like ~/Library/Shaders/English.lproj) with a canonical name (xxx.nib where xxx.slo is the shader file). This nib file will be owned by a WWShaderInspector, and it will mediate between the user and the particular instance of the shader. (end handwaving) The WWShaderPanel will have a matrix of NXShaderSwatches, which will allow thumbnails of a given shader instance be able to be dropped into a WWShaderWell, the same way you can drop a color into a NXColorWell. Also, clicking on the edge of the WWShaderWell should bring up the WWShaderPanel, of which there is always only one instance. Anyway, I'm going to be implementing this stuff sometime in the next month or so (hopefully), and if anyone has any brainstorms, let me know. As long as I get the code finished before I'm back at the Media Lab, I'll probably make it available, so it's in your best interest to advise early and often... -- --> Michael B. Johnson -- wave@media.mit.edu, wave@pixar.com --> MIT Media Lab -- Computer Graphics & Animation Group --> P*I*X*A*R -- IceMan Group (for the summer)
Newsgroups: comp.sys.next.programmer From: jjfeiler@relief.com (John Jay Feiler) Subject: Re: libg++.pkg from ftp.next.com Message-ID: <1993Jul23.020144.3798@relief.com> Sender: jjfeiler@relief.com Organization: relief consulting References: <1993Jul21.232153.9223@mnemosyne.cs.du.edu> Date: Fri, 23 Jul 1993 02:01:44 GMT In article <1993Jul21.232153.9223@mnemosyne.cs.du.edu> lmccullo@nyx.cs.du.edu (Michael McCulloch) writes: > I downloaded the libg++.pkg from NeXT's ftp site twice, and both times I > got the error: > > Installing libg++.pkg into / ... > **** directory checksum error (0 != 2454) > **** There were errors while installing libg++.pkg. > ... errors. > > It occurs whether I install for NeXT, or NeXT and Intel. > > Is this package truly corrupted? > -- > Michael McCulloch > mmcculloch@nebula.tbe.com (NextMail Accepted!) > Huntsville, Alabama I think there's something wrong with something in the installer files, but the tar.Z is fine. Just install the tar.Z by hand from / and All Is Well (TM). John -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!! Edmonds, WA 98026-4433 Independent NeXTSTEP Developer
Newsgroups: comp.sys.next.programmer From: jhall@barbados.umhc.umn.edu (Jeff Hallgren) Subject: Re: Distributing Text objects Message-ID: <CALMBu.9MH@news.cis.umn.edu> Keywords: Distributed NXData archive Sender: news@news.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota, Twin Cities References: <22n11q$dsm@zip.eecs.umich.edu> Date: Fri, 23 Jul 1993 03:41:35 GMT In article <22n11q$dsm@zip.eecs.umich.edu> rasmussn@jupiter.eecs.umich.edu (Craig E Rasmussen) writes: > I have run into a problem distributing Text objects. > > The length of the text is correct but the text within the text object is > incorrect (Null string). > > Thanks for your responses > Craig Rasmussen Although this method might be "overkill" it should handle any object that can be archived and I think Text objects archive nicely (big though especially if you have a bunch on a List...). Distributed Objects doesn't recursively de-reference pointers and has some difficulty with structures. Good luck, Jeff @protocol Dert - (oneway void)acceptMessage:(bycopy id)object; @end - someMethodWith:textObject { int len = 0; char *buf; id theTransObj; /* make the transportable object */ buf = NXWriteRootObjectToBuffer(textObject, &len); theTransObj = [[NXData alloc] initWithData:buf size:(unsigned)len dealloc:YES]; [remote acceptMessage:theTransObj]; NXFreeObjectBuffer(buf, len); [theTransObj free]; } Then pick up the object in the other app like this: - (void)acceptMessage:(NXData *)dataObj { char str[64]; int length; id textObject; /* get a pointer to the buffer and size to make the object */ textObject = NXReadObjectFromBuffer([dataObj data], [dataObj size]); length = [textObject textLength]; [textObject getSubstring:str start:0 length:length]; } -- Fake .sig jhall@tahiti.umhc.umn.edu (Jeff Hallgren)
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: It's not your fault (was Re: Need help with pid_t) Message-ID: <1993Jul23.033755.29655@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Jul19.233629.16799@news.csuohio.edu> <1993Jul20.004044.5865@nic.csu.net> <1993Jul21.073251.9121@csus.edu> <1993Jul22.113941.12104@news.csuohio.edu> Date: Fri, 23 Jul 1993 03:37:55 GMT In article <1993Jul22.113941.12104@news.csuohio.edu> cowboy@trans.csuohio.edu (Joe Rosenfeld) writes: >As for your problem, yes, there is an easy way out of it. Get the >gopher1.2b4+.tar.z and use the compatible.c and compatible.h from that >distribution. Gopher compiles after that and you will be able to get >away from the bad allocation of RAM. Also, egrep for /tmp/moo and >change it to /tmp. That helps a lot, but still doesn't fix everything. Hit a couple of 'd's, '^'s, '='s, <RETURN>s, and 'u's (not necesarily in that order) and you'll get a Segmentation fault within seconds. (I also tried a public gopher client running on an Ultrix system, and the same keystrokes blew it away as well. This is bad code, pure and simple.) -=EPS=-
Newsgroups: comp.sys.next.programmer From: rbird@socrates.physics.indiana.edu Subject: Redrawing View object From Interface Builder Palette Message-ID: <CALoEn.HvF@usenet.ucs.indiana.edu> Keywords: view interface builder palette draw Sender: news@usenet.ucs.indiana.edu (USENET News System) Organization: Indiana University Distribution: usa Date: Fri, 23 Jul 1993 04:27:59 GMT I have designed several sophisticated palettes, but I have one important (but seemingly simple) question: If a drag an subclass of View from the palette window into an application, and I change it with a custom inspector, how do I reliably get the View object to redisplay? [An example would be a custom slider which allows the background color to be selected with a NXColorWell in an inspector window.] You may try to use something like this in the inspector class: - setBackgroundColorFromColorWell:sender { [object setBackgroundColor:[sender color]]; if ([object lockFocus]) { [object display]; [[object window] flushWindow]; [object unlockFocus]; } return [self ok:self]; } but this does not work. I thought that perhaps the object's window had its display or flushing turned off, but that is not the case. In fact, Interface Builder places each view from a palette into its own off-screen window and uses compositing to draw it onto the on-screen window. Not even [object setNeedsDisplay:YES] will make Interface Builder re-draw it. I must resize the object with the mouse to have it re-drawn. I tried to send redrawObject: messages to the active document, but (apparently) since I am not using editors, it does not redraw it at all. I know that I am probably overlooking something really simple in the documentation, but, if not, this would seem to be a serious design error in Interface Builder. Could any one offer any suggestions on this problem? By the way, I thought I read somewhere that NeXT abandoned NeXT Answers. They set up a mail server to answer specific questions. Could anyone tell me something about this? Thanks a lot, Randall B. Bird Indiana University Physics Department rbird@socrates.physics.indiana.edu
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: Conflicting Command Key Equivalents Message-ID: <1993Jul23.055526.1297@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <22k1bv$9ct@senator-bedfellow.MIT.EDU> Date: Fri, 23 Jul 1993 05:55:26 GMT In article <22k1bv$9ct@senator-bedfellow.MIT.EDU> zmonster@athena.mit.edu (Eric M Hermanson) writes: -> I noticed that some Services menu items have command -> key equivalents. Since Services is a dynamic menu, -> what happens if a Services item has the same command -> key equivalent as a menu item in the main menu? This -> is bound to happen if there are a large number of -> Services menu items with command key equivalents. -> -> -Eric From what I've observed so far, the Services option looses it's hotkey... Bruce Gingery bruce@TotSysSoft.com
Newsgroups: comp.sys.next.programmer From: rbird@socrates.physics.indiana.edu (Randall B. Bird) Subject: Redisplaying a View in IB from a palette Message-ID: <CALMLG.Cv6@usenet.ucs.indiana.edu> Keywords: view palette display Interface Builder Sender: news@usenet.ucs.indiana.edu (USENET News System) Organization: Indiana University Date: Fri, 23 Jul 1993 03:48:51 GMT I have designed several sophisticated palettes, but I have one important (but seemingly simple) question: If a drag an subclass of View from the palette window into an application, and I change it with a custom inspector, how do I reliably get the View object to redisplay? [An example would be a custom slider which allows the background color to be selected with a NXColorWell in an inspector window.] You may try to use something like this in the inspector class: - setBackgroundColorFromColorWell:sender { [object setBackgroundColor:[sender color]]; if ([object lockFocus]) { [object display]; [[object window] flushWindow]; [object unlockFocus]; } return [self ok:self]; } but this does not work. I thought that perhaps the object's window had its display or flushing turned off, but that is not the case. In fact, Interface Builder places each view from a palette into its own off-screen window and uses compositing to draw it onto the on-screen window. Not even [object setNeedsDisplay:YES] will make Interface Builder re-draw it. I must resize the object with the mouse to have it re-drawn. I tried to send redrawObject: messages to the active document, but (apparently) since I am not using editors, it does not redraw it at all. I know that I am probably overlooking something really simple in the documentation, but, if not, this would seem to be a serious design error in Interface Builder. Could any one offer any suggestions on this problem? By the way, I thought I read somewhere that NeXT abandoned NeXT Answers. They set up a mail server to answer specific questions. Could anyone tell me something about this? Thanks a lot, Randall B. Bird Indiana University Physics Department rbird@socrates.physics.indiana.edu
Newsgroups: comp.sys.next.programmer From: arrouye@cosmos.imag.fr (Yves Arrouye) Subject: Getting color encoding of a NXColor? (to save/restore colors) Message-ID: <ARROUYE.93Jul22112110@mistral.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Thu, 22 Jul 1993 10:21:10 GMT I am writing an application which needs to manipulate colors in its defaults database, and I would like to save the colors in strings. However, I don)t know how to know if a color was encoded as RGB, CMYK etc... in order to save it in the same representations. And I can)t use NXWriteColor because I am not sure that ther will be no 0 char in the resulting stream, so I can)t write it as a string. Anyone can help me? I really need this one now. Thanks, Yves -- With one processor, we verify that the time spent Yves Arrouye in controlling parallelism is not too long. arrouye@mistral.imag.fr arrouye@imag.imag.fr -- Yannick Tre'molet, LMC (33) 76 57 48 61
From: eric@skatter.usask.ca Newsgroups: comp.sys.next.programmer Subject: A couple of questions about `Performance Checklist' Date: 23 Jul 1993 14:32:16 GMT Organization: University of Saskatchewan Message-ID: <22ospg$c0v@tribune.usask.ca> I'm trying to squeeze the last bit of performance out of an application that provides ``real time'' graphic displays of data acquired from the control system of our lab's linear accelerator. The application is working well, but I am a bit obsessive about performance and I want to make sure I've done everything right. I had a look at the Concepts/Performance/Checklist.rtf that came with NeXTStep 3.0, but that just confused me: 1) Under the heading `Window Server Memory Usage' there is an item that says, ``No windows with alpha channel on screen (check with Winfo app''. I can't find anything like Winfo.app anywhere on my machine or on sonata.cc.purdue.edu or cs.orst.edu. How do I check to ensure that none of my applications windows, views, NXImages, etc. have had alpha creep into them? 2) Under the heading ``Images'' there is an item that says, ``Don't composite with NX_COPY, use NX_SOVER (doesn't allocate alpha channel)''. This seems exactly backwards to me. It also contradicts the ``Compositing'' section in the Concepts/Performance/ ImprovingDrawingPerformance.rtf section of the on-line documentation. Any clarification of these points would be greatly appreciated. -- Eric Norum eric@skatter.usask.ca Saskatchewan Accelerator Laboratory University of Saskatchewan Saskatoon, Canada. NeXTMail accepted.
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: Adding methods to FirstRepsonder Message-ID: <1993Jul23.140135.1715@afs.com> Sender: Michael_Pizolato@afs.com References: <1993Jul21.173041.2791@afs.com> Date: Fri, 23 Jul 1993 14:01:35 GMT I write >I know how to add methods to FirstResponder once I'm already in >IB. But those methods are specific to the nib I add them to. >What I want to do is add methods to FirstRepsonder that appear >whenever I create a new nib, in addition to the methods already >there. For example, there's a default FirstResponder method called >showHelpPanel:. Every app has an info panel, so I think there >should be a showInfoPanel: method in FirstResponder. How do I >add it so that every FirstResponder in every nib I ever create >automatically gets a showInfoPanel: method? I discovered a file in /NextDeveloper/Apps/InterfaceBuilder.app called firstResponder.table. It is a list of all the method names that appear in gray in the FirstResponder class inspector in IB. If you add method names to that list, they appear in new nibs just like the regular defaults. This solution isn't optimal, however, because any upgrade that includes a new IB could potentially blow away the changes unless the installer is aware of them. At my site the installer is always me, so either I'll remember or I'll have no one to blame but myself :-), but at sites where the owner of the machine is not the person responsible for doing upgrades it could be a problem. Another way is to create a header file called FirstResponder.h in the project directory and parse that file in IB every time you create a new nib. The problem with that is that if you forget to include any of the original methods from firstResponder.table the usual firstResponder connections may be messed up. The following script creates a good header file and insures that all the default methods are included: #!/bin/csh cat <<ENDHEADER #import <objc/Object.h> @interface FirstResponder:Object { } ENDHEADER (cat /NextDeveloper/Apps/InterfaceBuilder.app/firstResponder.table; \ cat ~/Developer/Data/firstResponderExtraMethods.table) | \ sed -e 's/\"/\- /' -e 's/\"/sender/' -e 's/\/.*//' | sort echo @end Note that output is to stdout. I call this script 'mfr' (make first responder) and keep it in ~/Unix/bin. My file 'firstResponderExtraMethods.table' uses the same format as firstResponder.table in the IB app wrapper. It contains this: /* Additional First Responder Actions */ "showInfoPanel:"; "showPreferencesPanel:"; Of course, any action methods can be included. The script is also not an optimal solution because you have to remember to create the header for each new project, and you have to remember to parse the header for every new nib. If anyone has a more automatic way to do this, I'd appreciate hearing about it. Thanx, Michael -- Michael Pizolato gnihtyreve noitseuq michael_pizolato@afs.com NeXTMail appreciated
From: randyc@panix.com (David Bookstaber) Newsgroups: comp.sys.next.programmer Subject: PROBLEM: Project Builder and C++ Date: 23 Jul 1993 12:24:03 -0400 Organization: PANIX Public Access Internet and Unix, NYC Message-ID: <22p3b3$o5@panix.com> Please post or E-Mail solutions to this problem: When using Project Builder ver. 3.0, a .c file gets added to a project by placing it in the directory (Other sources). How can I include a C++ (.cc) file in a project with C (.c) and get the Builder to recognize the difference? When I just do it this way, the Builder says it doesn't know how to make filename.o Thanks for any help.
From: strauss@aero.org (Daryll Strauss) Newsgroups: comp.sys.next.programmer Subject: Re: A couple of questions about `Performance Checklist' Date: 23 Jul 1993 16:53:18 GMT Organization: The Aerospace Corporation, El Segundo, CA Distribution: world Message-ID: <22p51u$9da@news.aero.org> References: <22ospg$c0v@tribune.usask.ca> Keywords: Compositing, Alpha Channel In article <22ospg$c0v@tribune.usask.ca> eric@skatter.usask.ca writes: > I had a look at the Concepts/Performance/Checklist.rtf that came with > NeXTStep 3.0, but that just confused me: > 1) Under the heading `Window Server Memory Usage' there is an item > that says, ``No windows with alpha channel on screen (check with > Winfo app''. I can't find anything like Winfo.app anywhere on > my machine or on sonata.cc.purdue.edu or cs.orst.edu. > How do I check to ensure that none of my applications windows, > views, NXImages, etc. have had alpha creep into them? Winfo is an application in the MiniExamples. The MiniExamples seems to have appeared on ftp.next.com as part of NeXTAnswers so take a look there. Winfo is kind of a neat application. What it does is show you a miniture picture of your DPS environment, all the windows on or off screen. For each window it tells you its size, depth, etc. > 2) Under the heading ``Images'' there is an item that says, ``Don't > composite with NX_COPY, use NX_SOVER (doesn't allocate alpha > channel)''. This seems exactly backwards to me. It also > contradicts the ``Compositing'' section in the Concepts/Performance/ > ImprovingDrawingPerformance.rtf section of the on-line > documentation. The problem with using COPY is that it copies all the bits of the source image into the destination. That means that if your source image has alpha you have copied the alpha on the screen. Alpha on the screen doesn't do you any good. It is only used in compositing operations, so copying it to the screen just promotes the depth of your window unnecessarily and wastes memory. Using SOVER causes a compositing operation to occur. It is like taking your source as a sheet of plastic (transparency) where your source is at least semi-clear you will see the destination, where your source is opaque you will only see source. Once the operation is completed the alpha will be gone from the destination. The alpha is only used to calculate what the destination should look like. So, what you want to do most of the time is to keep all the alpha off your screen. That saves memory. When you need to use alpha you create an NXImage and you put the alpha image in there. That window will be deep, because it has alpha, but is hopefully short lived or small so it doesn't waste much memory. Then you want to overlay a transparent object over some part of a window on the screen. At that point you composite the NXImage using SOVER.
Newsgroups: comp.sys.next.programmer From: charuhas@das.harvard.edu (Thomas Charuhas) Subject: Re: BUG in NeXTSTEP Intel Message-ID: <1993Jul23.171613.26938@das.harvard.edu> Sender: usenet@das.harvard.edu (Network News) Organization: Aiken Computation Lab, Harvard University References: <1993Jul18.160058.29454@das.harvard.edu> <22g2sc$k51@rosie.next.com> Date: Fri, 23 Jul 1993 17:16:13 GMT Josh Doenias writes: >Hopefuly, this will fix things for you. If not, we can dig a little >deeper and see what other muck we can uncover. Thanks a million. It worked perfectly. Thomas
Newsgroups: comp.sys.next.programmer From: joseph@daffy.tip.ameslab.gov (Joseph Reynolds) Subject: Re: Printing "Text" object with page numbers and page headers? Message-ID: <CAMvz6.7Iy@news.iastate.edu> Keywords: Text object, printing, page numbers, page headers Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA References: <22he3d$9q8@mailgzrz.TU-Berlin.DE> Date: Fri, 23 Jul 1993 20:09:06 GMT Hi. In article <22he3d$9q8@mailgzrz.TU-Berlin.DE> Dirk Schwarzhans writes: > is there an example source code for printing a "Text" object > with page numbers and page headers. > I think the solution can't be too simple because even "Edit" > can't do this though it would be very useful. I think this problem is harder than it first appears.... Try sending your Text object a firstTextBlock message. The NXTextBlock structure is defined in <appkit/Text.h>. That structure *looks* like it has line break information. You would have to go through that to count line spacings and insert page breaks and page numbers (etc.) where appropriate. Cheers, Joseph
Newsgroups: comp.sys.next.programmer From: joseph@daffy.tip.ameslab.gov (Joseph Reynolds) Subject: Re: Error: cc: Internal compiler error: program cc1obj got fatal signal 10 Message-ID: <CAMwFM.8Ar@news.iastate.edu> Keywords: gcc error, cc1obj error, optimization, const Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA References: <20JUL93.22341836@enh.nist.gov> Date: Fri, 23 Jul 1993 20:18:57 GMT Hi. In article <20JUL93.22341836@enh.nist.gov> aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) writes: > [...] I got an error message that says: > cc: Internal compiler error: program cc1obj got fatal signal 10 > I, of course, can find nothing wrong with the source code > [...] > Kevin This exact thing happened to me too. Fortunately, I had made only a few changes and was able to find the problem in only a few hours. In one of my header files I had a function returning a pointer to a constant: const char *foo(void); The compiler crashed when wrote code to call foo. I turned off optimization, and the compiler did not crash. Hmmm.... I solved the problem by removing the "const" from the header file. Good luck, Joseph P.S. You might try posting to one of the comp.compilers groups or to a gnu group if you haven't already.... I would have written up this and submitted a bug report, except when I isolated the code, the problem went away!
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: ba.jobs.offered,comp.sys.next.programmer,comp.sys.next.sysadmin,ne.jobs,tx.jobs Subject: Pencom Seeks 23 NeXTSTEP Object-Oriented Engineers & Managers (CA, TX, NE) Date: 23 Jul 1993 15:45:10 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9307231709.AA02293@seawolf.next.com> For more information, contact: Clint Tomlinson - Manager, NeXT/OOP Recruiting Pencom 9050 Capital of Texas Highway North Austin, Texas 78759 Fax: 512-346-6444 E-Mail: clint@pencom.com Pencom Seeks 23 NeXT/OOP Engineers for Internal and External Projects for our distinguished list of clients. AUSTIN, TEXAS - July 23, 1993 - Pencom Software's team of NeXT engineers are dedicated to providing services to developers and end user organizations equipped with workstations and software from NeXT Incorporated. A NeXT-authorized systems integrator as well as a registered NeXT software developer, Pencom provides a full range of services to support users and vendors in adopting this revolutionary technology. Pencom continues to be the leader in NeXT/OO software development and consulting services, and has the largest staff of NeXT engineers outside of NeXT themselves. Pencom Software is a division of Pencom Systems Incorporated, a New York-based firm providing software engineering and manpower resources to Fortune 500 companies and leading computer firms since 1973. Currently the largest recruiting firm specializing in the UNIX/Open Systems market, Pencom employs over 500 people and maintains a large heterogeneous network of workstations including more than 80 NeXT machines. The following permanent and contract positions require NO LESS than 2 years industry experience, and permanent positions require permanent residence. Thank you for your cooperation. If you are interested in being kept informed about positions but are not actively seeking employment, please email contract information in confidence to clint@pencom.com. CALIFORNIA 3 - NeXT System Administrator * NeXT/UNIX/HP system administration experience * Network Management background * Objective C or C++ experience * Background in a heterogeneous systems environment a must 6 - NeXT Software Engineers * NeXT/UNIX application software development * Strong NEXTSTEP, AppKit, Interface Builder experience * High level design, rapid prototyping in NeXT environment * Ability to work in a dynamic team environment * Strong Objective C or C++ programming experience * Ability to transfer NeXT technology to engineers * 5 to 6 years experience 2 - Director of Software Engineering * 8-10 years industry experience * Strong management skills * Hands on development UNIX/NeXT/OOP * Project scheduling, planning, budgeting * Product development * RDBMS or DBKIT 1 - Director of Support * 8-10 years industry experience * Strong customer support experience * Strong management experience * Director level experience * 4 management reports * 37 indirect reports 1 - Manager of Support * 7-9 years industry experience * Strong management skills * Account management * Contract negotiation, proposals, P&L * UNIX/NeXT environment * 8 direct reports 1 - Senior Database Specialist * 5+ years database design and database applications development experience * 3 years application development experience in a UNIX environment * 2 years DBMS experience using an SQL-based DBMS * 1+ year applications experience in the NEXTSTEP environment * Experience with AppKit, DBKit, NEXTSTEP 3.0, OOD, C++, Objective C TEXAS 2 - OOP Software Engineers * NEXTSTEP/Smalltalk programming * Relational database design and database applications development (DBKit/ORACLE/SYBASE preferred) * 2 years UNIX/C application development * 2 years RDBMS experience using an SQL-based RDBMS * Interface Builder, VisualWorks * Technology transfer * Willing to travel 1 - NeXT Software Engineers * Strong NEXTSTEP applications development * Strong UNIX, Objective-C, C++ * AppKit, Interface Builder, DBKit required * Strong RDBMS * Transfer of NeXT technology * Software training or teaching experience * 4 to 6 years experience NORTHEAST 3 - Systems Engineers * 4+ years industry experience * 2+ years OOP (NeXT/C++) * RDBMS (ORACLE/SYBASE/DBKit) * Applications development * Sales/Marketing experience * Strong interpersonal skills * Willing to travel 2 - OOP Software Engineers * 2+ years Object Oriented Programming (C++/Objective C,Smalltalk) * 2+ years Object Oriented analysis/design * 1+ years NEXTSTEP applications development * Strong RDBMS, ORACLE, SYBASE, DBKit * 3-4 years industry experience 1 - NeXT System Administrator * NeXT/UNIX/HP system administration experience * Network Management background * Objective C or C++ experience * Background in a heterogeneous systems environment a must For more information, contact: Clint Tomlinson - Manager, NeXT/OOP Recruiting Pencom 9050 Capital of Texas Highway North Austin, Texas 78759 Fax: 512-346-6444 E-Mail: clint@pencom.com More positions soon...
Newsgroups: comp.sys.next.programmer From: aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) Subject: Problem getting app to behave solved! Message-ID: <23JUL93.20375570@enh.nist.gov> Sender: news@dove.nist.gov Organization: NIST Date: Sat, 24 Jul 1993 01:37:55 GMT Thanks to everyone who helped me. Apparently this is a problem that is not isolated... A summary: The problem came from the fact that I was attempting to pass floats in my method call. My application is very large, and sometimes the headers do not load for the correct .m files (programmer error here). Because the compiler did not know what my method definition really was, it made an educated guess and decided it would default to double's. When my actualy method received what it thought were floats, it was really getting doubles, which messed up the address space, and caused all of my variables to have screwy values. The lesson learned: Make sure that all of your definitions are loaded into the .m files that are going to be using them. thanks again for the help! Kevin
Newsgroups: comp.sys.next.programmer From: mcgowan@emerald.physics.utoronto.ca (Patrick McGowan) Subject: crummy spheres in 3D kit Message-ID: <CAMyCt.Iz7@helios.physics.utoronto.ca> Sender: news@helios.physics.utoronto.ca (News Administrator) Organization: University of Toronto Physics/Astronomy/CITA Date: Fri, 23 Jul 1993 21:00:28 GMT Perhaps I am being a bit lazy (i.e. not reading deep enough into the Renderman stuff), but I don't seem to be able to find how to make better a sphere than that which RiSphere() creates (it has only five latitude parallels)! These are ugly.....what am I doing wrong? Is there some other attribute setting I need to tweek, or is this just the resolution of the RiSphere call in QuickRenderman? Patrick Please respond by e-mail to: mcgowan@emerald.physics.utoronto.ca
From: garyc@eecs.nwu.edu (Gary I. Chang) Newsgroups: comp.sys.next.programmer Subject: 3.1 Project Builder with compresshelp Date: 24 Jul 1993 03:03:21 GMT Organization: Northwestern University, Evanston, IL USA Message-ID: <22q8pp$6g@news.acns.nwu.edu> Hi, Is the PB smart enough to validate of the Help.store file only when needed? It seems to me that PB compresshelp the Help dir everytime the project is rebuilt regardless of any changes to the Help were made or not. Did I miss anything? Thanks, -- +----------------+ | Gary I. Chang | +----------------+ Northwestern Univ. E-Mail: garyc@eecs.nwu.edu (NeXT-Mail O.K.)
Newsgroups: comp.sys.next.programmer From: lloyd@world.std.com (Chris Lloyd) Subject: jenny - 3.x fat to 2.x thin... Message-ID: <CAnJt0.1CC@world.std.com> Organization: The World Public Access UNIX, Brookline, MA Date: Sat, 24 Jul 1993 04:43:47 GMT If you have 2.x code and want to provide fat binaries while maintaining 2.x runnability, and don't want to distribute two seperate binaries (2.x & 3.x) then.. Where: cs.orst.edu:/pub/next/submissions/jenny1.0.c.Z sonata.cc.purdue.edu:/pub/next/submissions/jenny1.0.c.Z This allows you to create a single fat executeable which has the properties: - 3.x executeable on Intel/Moto, et al. - 2.x executeable on Moto when jennied. Basically: - Build for Moto under 2.x - Build for Intel under 3.x. - Combine them for fat use under 3.x. - Provide jenny to strip for 2.x use. There is a better description in the comments. It's all pretty trivial. Have fun! -- :: Christopher Lloyd :: Yrrid Incorporated :: lloyd@world.std.com :: :: LOUDER...LOUDER... ::
Newsgroups: comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Re: No Core File Organization: Primitive Software Ltd. References: <1993Jul22.170046.12176@jpl-devvax.jpl.nasa.gov> <1993Jul22.201656.5798@afs.com> Date: Fri, 23 Jul 1993 08:58:29 +0000 Message-ID: <1993Jul23.085829.4896@prim> Sender: usenet@demon.co.uk In article <1993Jul22.201656.5798@afs.com> greg@afs.com writes: >From DevTools/09_Debugger/_DebuggingCoreFiles.rtf: > >NeXT has extended GDB to allow debugging of NeXT core files, which are in >the Mach-O file format. These files are very large, so they aren't >generated by default. In order for core files to be generated, you must >raise your core file limit by typing one of the following commands at the >UNIX prompt: > >unlimit core >limit core 5m > >The first command allows core files of any size to be created. The >second command only allows core files less than 5 megabytes to be created. >The maximum core file size is up to you. Note that because of the way >core files are created under Mach, even a small application can create >a core file of several megabytes. Core files are generated in the >/cores directory, if it exists; otherwise, they're generated in the >current working directory. Well that sounded useful (especially collecting core files in /cores) so I just tried it and got "unlimit: command not found". I'm using bash and it appears that limit/unlimit are built in to csh. From reading the manual page, it looks as though these limits only apply to processes inherited from the csh you give the command to. We need them to apply to applications launched from WM. Has the behaviour with regard to core files changed between 2.x and 3.0? I used to get core files often under 2.x but haven't seen many (if any) since upgrading. Dave Griffiths
Newsgroups: comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: How to unravel a method argument frame? Organization: Primitive Software Ltd. Date: Fri, 23 Jul 1993 09:48:17 +0000 Message-ID: <1993Jul23.094817.4973@prim> Sender: usenet@demon.co.uk Does anybody have the source code to objc_msgSendv() and Object's performv:: method that they could mail me please? I think they're part of the gcc run time library. I want to implement forward:: in such a way that it calls the method function (obtained with methodFor:) directly. This requires somehow setting up the stack frame from the method argument frame. (I'm actually trying to implement the class swizzling trick suggested by someone a while back to detect which methods an object calls. The problem with switching isa in forward:: and then calling [self performv::] is that it only works the first time - any subsequent methods called by that method will reach their true destination). Dave Griffiths
From: mow@marsu.tynet.sub.org (Markus Wenzel) Newsgroups: comp.sys.next.programmer Subject: Re: Opener.app for NS v3.1 Date: 22 Jul 1993 09:05:55 -0000 Organization: Palumbian Research Labs Message-ID: <22ll9j$9d@marsu.tynet.sub.org> References: <1993Jul20.221841.14822@iitmax.iit.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8bit bebeada@elof.iit.edu(Adam Beberg) writes: >Greetings... >Has anyone out there modified Opener.app to work under 3.1? >I seems the FTP sites only have 2.1?? source... >I would like to add gzip and a couple other formats but a cannot >get the unmodified code to compile... >Just trying to avoid duplicating what someone else has already done... >P.S. don't suppose you could submit it to the FTP sites.... I'm interested in a 3.1 version with gzip support for Intel... Please compile fat, if you get your hands on it. Regards, Markus. -- /dev Markus Wenzel, University of Stuttgart /usr/spool/mail mow@marsu.tynet.sub.org ~/.ircrc/nick Marsu /etc/motd 'Linux' is no trademark of AT&T.
Newsgroups: comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: Re: libg++.pkg from ftp.next.com Message-ID: <Jul24.064221.45018@acs.ucalgary.ca> Date: Sat, 24 Jul 1993 06:42:21 GMT Distribution: na References: <1993Jul21.232153.9223@mnemosyne.cs.du.edu> Organization: The University of Calgary, Alberta > I downloaded the libg++.pkg from NeXT's ftp site twice, and > both times I got the error: > > Installing libg++.pkg into / ... > **** directory checksum error (0 != 2454) > **** There were errors while installing libg++.pkg. > ... errors. > > It occurs whether I install for NeXT, or NeXT and Intel. > > Is this package truly corrupted? I had no problems installing it on a black 3.1 machine. -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: How to unravel a method argument frame? Message-ID: <1993Jul24.081112.393@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Jul23.094817.4973@prim> Date: Sat, 24 Jul 1993 08:11:12 GMT In article <1993Jul23.094817.4973@prim> dave@prim.demon.co.uk (Dave Griffiths) writes: >Does anybody have the source code to objc_msgSendv() and Object's performv:: objc_msgSendv() is architecture-dependent. - performv:(SEL)sel:(marg_list)args { unsigned int s; if (!self) return nil; return (s=[self methodArgSize:sel])==0 ? [self doesNotRecognize:sel] : objc_msgSendv(self, sel, s, args); } // this method is *undocumented* - (unsigned int)methodArgSize:(SEL)sel { Method m; if (!(m=class_getInstanceMethod(self->isa, sel))) return 0; return method_getSizeOfArguments(m); } Valid for 2.1 Valid for 3.1 -=EPS=-
From: Zach.K@f236.n104.z1.FIDONET.ORG (Zach K) Newsgroups: comp.sys.next.programmer Subject: SOME BASIC QUESTIONS Message-ID: <4774.2C5025D0@paranet.FIDONET.ORG> Date: 22 Jul 93 21:04:00 GMT Sender: ufgate@paranet.FIDONET.ORG (newsout1.26) Organization: FidoNet node 1:104/236 - MacCircles, Genesee CO Patricia, there's been NO messages today - any echo. Any reason? -- Zach K - via ParaNet node 1:104/422 UUCP: !scicom!paranet!User_Name INTERNET: Zach.K@f236.n104.z1.FIDONET.ORG
From: andrew@stone.com (Andrew Stone) Newsgroups: comp.sys.next.programmer Subject: Re: 3.1 Project Builder with compresshelp Message-ID: <1993Jul24.130015.1080@stone.com> Date: 24 Jul 93 13:00:15 GMT Article-I.D.: stone.1993Jul24.130015.1080 References: <22q8pp$6g@news.acns.nwu.edu> Sender: andrew@stone.com Organization: Stone Design Corp In article <22q8pp$6g@news.acns.nwu.edu> garyc@eecs.nwu.edu (Gary I. Chang) writes: > Hi, > > Is the PB smart enough to validate of the Help.store file only > when needed? It seems to me that PB compresshelp the Help dir everytime > the project is rebuilt regardless of any changes to the Help were made or > not. > > Did I miss anything? > > Thanks, > > -- > +----------------+ > | Gary I. Chang | > +----------------+ > Northwestern Univ. E-Mail: garyc@eecs.nwu.edu (NeXT-Mail O.K.) You didn't miss anything, it's a bug which will be fixed in 3.2. Until that time, add this line to your top level Makefile.preamble: # This keeps Help from rebuilding each time: VPATH_POSTAMBLE = :$(PRODUCT_ROOT)/$(LANGUAGE).lproj andrew -- ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>|| !! Andrew Stone !! (505) 345-4800 !! !! andrew@stone.com <> Stone Design Corp !! ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>||
Newsgroups: comp.sys.next.programmer Subject: Help on help Message-ID: <5993204.79475.10290@kcbbs.gen.nz> From: David_Boyle@kcbbs.gen.nz (David Boyle) Date: 24 Jul 93 22:04:35 GMT Organization: Kappa Crucis Unix BBS, Auckland, New Zealand Hi, We have a large application whic we split into bundles. Each bundle provides a set of related screens (35 bundles). We have a single menu provided by the main bundle, which means that from anywhere the same menu is provided and any screen can be called up. We wish to attach help to UI objects, but are having some problems - it seems that: "Just as with help links, an NXHelpPanel searches both the application's file package and the appropriate file in /usr/lib/NeXTSTEP/Resources/language.lproj in attempting to find the file associated with a particular user-interface object." This seems to imply that only the main bundles help is searched for the help on a UI object, and not so called 'supplement' (i.e. help loaded with bundles) directories. If we put the help for a UI object in the main bundle's help, then we cannot associate it with a UI object from another bundle. Are we doing something wrong (I hope so) or is this a limitation? Any comments would be much appreciated. ADVthanksANCE. David Boyle.
From: garyc@eecs.nwu.edu (Gary Chang) Newsgroups: comp.sys.next.programmer Subject: Re: 3.1 Project Builder with compresshelp Date: 25 Jul 1993 03:41:43 GMT Organization: Northwestern University, Evanston, IL USA Message-ID: <22svdn$ofj@news.acns.nwu.edu> References: <1993Jul24.130015.1080@stone.com> In article <1993Jul24.130015.1080@stone.com> andrew@stone.com (Andrew Stone) writes: &- In article <22q8pp$6g@news.acns.nwu.edu> garyc@eecs.nwu.edu (Gary I. &- Chang) writes: &- > Is the PB smart enough to validate of the Help.store file only &- > when needed? It seems to me that PB compresshelp the Help dir everytime &- > the project is rebuilt regardless of any changes to the Help were made &- or &- > not. Just found out the get-around in the last-miniute release notes. :-) Thanks for all the replies. g -- +----------------+ | Gary I. Chang | +----------------+ Northwestern Univ. E-Mail: garyc@eecs.nwu.edu (NeXT-Mail O.K.)
Newsgroups: comp.sys.next.programmer From: chris%milo@wpa.com (Chris Cleeland) Subject: Strange message from /bin/sh from my app... Message-ID: <1993Jul25.001320.23836@milo.UUCP> Sender: chris@milo.UUCP Organization: Milo Designs Distribution: na Date: Sun, 25 Jul 1993 00:13:20 GMT I'm hacking an app that uses the Unix-oid popen()/pclose() system calls. (Note: I know about the multitude of "Process" like objects around; popen and pclose are *exactly* what I need, and I haven't found one that suits my needs as well as they. But, if you know of one I'd probably be interested in checking it out). Anyway, to the problem at hand, I keep getting the following message on either the console or (when running gdb) in the term window that's running gdb: sh: privileges disabled because of outstanding IPC access to task Does anybody out there have any idea what NeXTStep/Unix/sh/Mach is trying to tell me in words that I just seem too stupid to comprehend? Help is most appreciated! Off to a cleansing re-boot...! -cj -- --- ------------------------------------------------------------- Chris Cleeland | Internet: chris%milo@wpa.com Consultant/NeXT Advocate | UUCP: wupost!nimno!milo!chris
From: bense@heart4.ucsd.edu (Booker C. Bense) Newsgroups: comp.sys.next.programmer Subject: Re: MEMORY-MAPPED FILES Date: 23 Jul 1993 14:12:54 GMT Organization: San Diego Supercomputer Center @ UCSD Message-ID: <22orl6$pch@pravda.sdsc.edu> References: <CA5u9v.7F5@tigadmin.ml.com> <1993Jul17.132137.853@gamelan> In <1993Jul17.132137.853@gamelan> Thomas Funke <thf@zelator.in-berlin.de> wrote: >In article <CA5u9v.7F5@tigadmin.ml.com> kunal@passion.pilot.dmg.ml.com >(Kunal Singh) writes: > >> Does anyone know why NeXTSTEP doesn't allow writing to memory-mapped >> files ? Has this been changed in later releases i.e. 3.1 ? >> > >At least on 3.0 you can use the mmap() system call. Its not documented >but works. Get a man-page from some other system (sun, aix). > >Does anybody know about 3.1 ? How about Intel-machines ? > > - Every read/write in next os is already memory-mapped. If you have the memory available the file will stay in memory, even after you close the file. Try using the filemem command on your favorite file. bambam:1# filemem ~/.cshrc //.cshrc: 1 resident pages. 0 filemem(1) UNIX Programmer's Manual filemem(1) NAME filemem - show a list of a file's pages cached in memory SYNOPSIS filemem filename DESCRIPTION Filemem is a utility that can determine which pages of a file are cached in memory. In Mach, pages of a file are cached on demand by page faults. Pages remain in memory even after they become unreferenced, and are released when memory becomes scarce. Filemem provides a way to determine which parts of a file are being used. For example, filemem can be used to help scatter-load a file by showing which parts of an executable image are in memory after a certain operation. After deter- mining which pages are resident in memory, the program pageSymbols(1) can be used to show the symbols residing on that particular page of a file. The output of filemem is a list of logical page numbers, starting from page zero at the beginning of the file. The page size is the same as the machine-independent page size of the system. FILES /dev/kmem SEE ALSO pageSymbols(1), 2.0 Link Optimization release notes BUGS - Booker C. Bense "News, News, It's long, It's ASCII?, prefered: benseb@grumpy.sdsc.edu It's Wood. News, News, It's better NeXT Mail: benseb@next.sdsc.edu than bad, It's Good!" Ren&Stimpy
Newsgroups: comp.sys.next.programmer From: drew@fnbc.com (Drew Davidson) Subject: Re: No Core File Message-ID: <1993Jul25.170222.16792@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA References: <1993Jul23.085829.4896@prim> Date: Sun, 25 Jul 93 17:02:22 GMT In article <1993Jul23.085829.4896@prim> dave@prim.demon.co.uk (Dave Griffiths) writes: > In article <1993Jul22.201656.5798@afs.com> greg@afs.com writes: > >From DevTools/09_Debugger/_DebuggingCoreFiles.rtf: [munch] > csh you give the command to. We need them to apply to applications launched > from WM. > [munch part deux] dwrite Workspace CoreLimit x where x is a limit to the core. I think that this enables it for all apps launched from that point on. This was gleaned from the documentation in chapter 10, "Pre-3.0 Concepts" - Drew -- +--------------------------------+-------------------------------------------+ | Drew Davidson | "Never ask a programmer if he'll have | | Software Guy | another cup of coffee because it's | | First National Bank of Chicago | nobody's damn business how much he's | | drew@fnbc.com (NeXTmail) | already had!" - me | +--------------------------------+-------------------------------------------+
Newsgroups: comp.sys.next.programmer From: thf@zelator.in-berlin.de (Thomas Funke) Subject: Re: Opener.app for NS v3.1--> how bout TS? Message-ID: <1993Jul24.151028.855@gamelan> Sender: thomas@gamelan (thomas) Organization: Disorganization References: <KEN.93Jul22111511@ieyasu.phys.titech.ac.jp> Date: Sat, 24 Jul 1993 15:10:28 GMT In article <KEN.93Jul22111511@ieyasu.phys.titech.ac.jp> ken@phys.titech.ac.jp (Ken-ichiro Aoki) writes: > that TS is neat. To me, using a full blown app to > unarchive rather than just a one line command at the > terminal, feels like a overkill. I disagree. Actually, Opener.app is probably the most used App on my NeXT. Its just too easy, to doubleclick at xyz.tar.Z and let it open it under /tmp. No more 'cd /tmp; zcat a-long-filename | tar xvf -'. -- ------------------------------------------------------------------ Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de Brook's Law: Adding manpower to a late software project makes it later ------------------------------------------------------------------
Newsgroups: rec.games.programmer,comp.music,comp.os.msdos.programmer,comp.sys.apple2,comp.sys.next.programmer,comp.sys.atari.st,comp.sys.atari.st.tech,comp.sys.mac.programmer From: jamal@bronze.lcs.mit.edu (Jamal Hannah) Subject: Music File Format/MOD & Tracker Programmer Mailing List Announcement Message-ID: <22uppb$7f2@bronze.lcs.mit.edu> Summary: Mailing list for discussion of music file formats/programs. Keywords: mod mods music sound tracker player MIDI Sender: news@mintaka.lcs.mit.edu Organization: Planet Earth Date: Sun, 25 Jul 1993 20:17:47 GMT Depending on the response I get, I will be starting a mailing list for the discussion of computer music application programming, with the MOD format as a major topic. The list will be for people from all of the major computers (Amiga, Mac, Atari ST, IBM AT, NeXT) because by now they all have mod players and soon will all have editors, increasing the amount of (hopefully) decent computer music available out there for everyone. The problem is, there is alot of confusion about the "mod" format, and related mod-type formats (like MED, Okata, etc), and alot of the understanding of how to play these files comes from examining source code other people have written! What we need is a forum for people to talk specificaly about the music formats out there and exchange as much information as possible about them, in order to help everyone write better music editor and player programs! If you are a programmer and want to write a mod editor (tracker) or mod player, even a general (MIDI or non-MIDI) music editor, or you have written one in the past, please send me email telling me you would be interested in being on this electronic mailing list... or if you know anyone else who has written a soundtrack program, or developed one of the music file formats, please forward this message to them! I'm also looking for the original programmers of applications like "SoundTracker", "NoiseTracker", and the like.. some of these people are known only by BBS "handles", and may only have accounts on remote BBS systems. If you know any of their email addresses, please tell me. (The people who originaly created the music file formats of course have the most information on them.) >>> If you are interested in this mailing list, please send me email <<< Jamal Hannah <jamal@gnu.ai.mit.edu>
From: eric@skatter.USask.Ca (Eric Norum) Newsgroups: comp.sys.next.programmer Subject: Thanks, and a Winfo bug report. Date: 25 Jul 1993 22:22:55 GMT Organization: University of Saskatchewan, Saskatoon, Canada Distribution: world Message-ID: <22v13v$hv0@tribune.usask.ca> Keywords: Winfo Thanks to everyone who pointed out that Winfo was part of the MiniExamples. I don't know how I missed seeing it on the archives. I FTP'd the source and had a look. Nifty application! I found a little bug, though. In the depth calculation for windows with an alpha channel there is a line (435) that looks like: depth *= (4/3); This doesn't do what the author intended -- as a matter of fact it does nothing at all. The line should be changed to: depth = depth*4/3; -- Eric Norum eric@skatter.usask.ca Saskatchewan Accelerator Laboratory University of Saskatchewan Saskatoon, Canada. NeXTMail accepted.
From: william@pinoko.berkeley.edu (William E. Grosso) Newsgroups: comp.sys.next.programmer Subject: scaling ?? Date: 26 Jul 1993 00:11:57 GMT Organization: University of California, Berkeley Message-ID: <22v7gd$o2u@agate.berkeley.edu> Sorry to ask a question that must have been asked before, but... Has anybody had problems with either PSscale or the [view scale::] method ? I have some code that runs fine under no scaling but bombs when I try to scale. It seems to have something to do with PSsetdash(). Thanks, Bill Grosso
Newsgroups: comp.sys.next.misc,comp.sys.next.programmer From: ntomczak@vega.math.ualberta.ca (N Tomczak-Jaegermann) Subject: NS 3.1 - how to find out where you are logged in?? Message-ID: <ntomczak.743588082@vega> Sender: news@kakwa.ucs.ualberta.ca Organization: University Of Alberta, Edmonton Canada Date: Sun, 25 Jul 1993 08:14:42 GMT After a switch to version 3.1 of OS I found that I cannot distinguish anymore if a user is logged in directly on NeXT, or via some networked terminal. This information is rather vital for some of my uses. Up to now there was an environment variabiable "Workspace" which was set in the first case, but not in the second. It looks like that it vanished. Does anybody know if there is some other clever way to get this information, or I have to write a special program which will muck with an environment and which I will have to hook up with 'dwrite Workspace LaunchPaths'? Also it is me unable to find a proper magic sequence or vt100 emulation in a new version of Terminal is terminally broken? Keypad used to send various escape sequences, but now most of them seems to be gone, and what remains is in wrong positions. I do need a stuff like PF11 when communicating with some machines! For now I went back to Terminal.app from 3.0, which restored an order, but if I would be starting with 3.1 I would be rather unhappy. Or I really do miss something? I wonder what is a purpose of introducing new bugs in a stuff which used to work without any special problems, especially when old, reported bugs seem to linger for years. Michal Jaegermann ntomczak@vega.math.ualberta.ca
Newsgroups: comp.sys.next.programmer From: yanik@planon.qc.ca (Yanik Crepeau) Subject: Re: PROBLEM: Project Builder and C++ Message-ID: <1993Jul25.205229.795@CAM.ORG!planon> Keywords: C++ Sender: yanik@CAM.ORG!planon References: <22p3b3$o5@panix.com> Date: Sun, 25 Jul 1993 20:52:29 GMT In article <22p3b3$o5@panix.com> randyc@panix.com (David Bookstaber) writes: | Please post or E-Mail solutions to this problem: | | When using Project Builder ver. 3.0, a .c file gets added to a project by | placing it in the directory (Other sources). How can I include a C++ | (.cc) file in a project with C (.c) and get the Builder to recognize the | difference? When I just do it this way, the Builder says it doesn't know | how to make filename.o | | Thanks for any help. | With version 2.x and 3.0, you needed to create an entry in your Makefile.preamble to tell Project Builder (or Interface Builder) to use ObjC++ instead of just Ojbective-C. That entry has the form of: CFLAGS = -ObjC++ With such flag, EVERY FILES is compiled using the Objective-C++ compiler. You can't have files in "Ordinary" C and C++. Your C files must avoid C++ reserved words and when you import non-C++ compliant headers you must enclose the import directive within the extern "C" {} or extern Objective-C {} directive. With version 3.1 of NS, you can continue to work with the "ObjC++" flag that fit for all or you can use another strategy. If I understand well the files included in the /NextDeveloper/Makefiles/app directory, some suffixes will be considered as C++ sources files. These files would have .cc, .C and .cxx suffixes. I hope that will help you -- Yanik Crepeau Programmer Planon Telexpertise E-Mail: yanik@planon.qc.ca (NeXT)
Newsgroups: comp.sys.next.programmer From: dlw@netcom.com (David L. Williams) Subject: Re: Porting from Sun to Next include file mapping? Message-ID: <dlwCAqzLt.8MJ@netcom.com> Organization: NETCOM On-line Communication Services (408 241-9760 guest) References: <1993Jul18.052540.5883@csus.edu> Date: Mon, 26 Jul 1993 01:17:52 GMT Eric P. Scott (eps@futon.SFSU.EDU) wrote: : If you want things "to work like Sun intended," buy a Sun! : Buy thousands of them! Hmm, I'm not sure if this was just a bad hack day for Eric or not. Our product ALREADY runs on the Sun, I'd like a cleaner way of porting our libraries and backend server code to NeXT. If NeXT already has a Porting guide from Unix/X to NeXTSTEP I'll gladly take it and quietly get farther along on the ol port. David Williams
Newsgroups: comp.sys.next.programmer From: yhe1@cc.swarthmore.edu (Ye) Subject: trackingRect question Message-ID: <yhe1-260793002323@mac3.hicks.swarthmore.edu> Followup-To: comp.sys.next.programmer Sender: news@cc.swarthmore.edu (USENET News System) Organization: Swarthmore Collge Date: Mon, 26 Jul 1993 04:38:24 GMT Hello Everyone: I set up a trackingRect for each of the icons in my workspace window using setTrackingRect::::: and it works well. When the mouse enters any of the icons, my mouseEntered: event returns the correct trackingTag. But things get weird when I try to connect two icons with a line. When my mouse first enters an icon, I get the correct tag for it, then I start drawing a line from inside of the icon, and the mouse exits the icon and goes towards another one when drawing a line, (HERE IS THE TRICK) but when the mouse enters that icon, my mouseEntered: event returns the same tag as the first icon, and the coord system remains the same of the first icon's coord system. Each icon is a subview of the content view of the workspace window. Does anyone out there have any experience in tracking rectangles? How can I always get the correct trackingTag? Your help is greatly appreciated... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Ye yhe1@cc.swarthmore.edu he@carnegie.swarthmore.edu (NeXT mail welcome)
Newsgroups: comp.sys.next.programmer From: wave@pixar.com (Michael B. Johnson) Subject: more shader discussion Message-ID: <1993Jul26.064709.7112@pixar.com> Sender: news@pixar.com (Usenet Newsmaster) Organization: Pixar -- Point Richmond, California Date: Mon, 26 Jul 1993 06:47:09 GMT Well, my previous post about wanting widespread support for some interapplication agreement about how a shader would represented to the user sparked some intelligent mail to me about how a few people felt, but it also pointed up something which perhaps I didn't adequately explain in my post. I briefly mentioned the notion that I felt it was important to be able to attach arbitrary interfaces to a given shader. Several people have pointed out that once you initialize a N3DShader from a given .slo file, you can get at the arguments by asking the object, and therefore you can automatically build up an interface to the shader. Yes, yes, I know you can do that, and that's certainly a nice fall-back to have. But it was exactly that which made me post in the first place... Let's look at two examples: a commercial shader you've bought (i.e. you don't have source code to) and a shader you've written. Why wouldn't this first order interface (i.e. present the user with color wells for colors, sliders for floats, type-ins for strings, etc.) be good enough? Take the first case: the commercial shader. Let's say you just bought a set of shaders from the Valis group. One in particular, "Striped Wallpaper", you plan to use it for a project in which you're designing the interior of a set of offices. You'd like to let others in your workgroup frob about with the rooms you've designed, but you'd like to restrict their color choices to some preselected palette. When showing it to the client, perhaps you'd like to allow them a slider or set of radio buttons with prices on there, and have the shaders parameters be updated accordingly (i.e. this combination is more expensive than that - it's a non-standard color, etc.). Let's say you're writing a shader and you'd like to sell it. Let's say you've written a shader which does wood (a pretty canonical shader to write). To add value to your shader, you'd like to offer a wide range of interfaces to the shader. One of someone designing cabinets, one for people designing desks, etc. You'd also like to offer interfaces which map types of wood (oak, pine, walnut, etc.) to specific combinations of shader parameters that would be difficult for the user to find on their own. Pragmatically, what does this mean? If I sell/give you a shader called foo.slo, it might come with a script that would install into your ~/Library/Shaders directory the following: ln -s foo.slo fooBar1.slo cp English.lproj/fooBar1.nib in ~/Library/Shaders ln -s foo.slo fooBar2.slo cp English.lproj/fooBar2.nib in ~/Library/Shaders ln -s foo.slo fooBar3.slo cp English.lproj/fooBar3.nib in ~/Library/Shaders I might also have translated the info in these nibs and have other language specific nibs installed. They're all really pointing to the same shader file - they just have different ways of presenting it to the user. Clearly, what we want is some API that allows a developer to build a NIB file for a shader, and have that NIB file get loaded in when someone wants to see the shader. Only as a last resort should the user be confronted with the sliders and type-ins they see today in all the NEXTSTEP 3D offerings. Don't get me wrong: no other platform has such widespread understanding and access to RenderMan as NeXTSTEP, but we can do so much better... There's a wonderful market opportunity here (value added resellers to shaders) if we can just get this figured out. The handwavey part of this is figuring out a way that this can be done *just* by building a NIB. In other words, the file Owner of the nib has to be smart enough that the NIB builder just has to identify the type of the file owner and control-drag away. The problem is that I have a solution to this problem, but it involves a bit of hair that not everybody might want to buy into and I'm wondering if anybody has a better idea. Thoughts? -- --> Michael B. Johnson -- wave@media.mit.edu, wave@pixar.com --> MIT Media Lab -- Computer Graphics & Animation Group --> P*I*X*A*R -- IceMan Group (for the summer)
Newsgroups: comp.sys.next.programmer From: wissner@beech.mcs.gvsu.edu () Subject: setDocView breaks delegation chain in ScrollView? Message-ID: <1993Jul26.125903.1235@beech.mcs.gvsu.edu> Sender: news@beech.mcs.gvsu.edu Organization: Grand Valley State University, Allendale MI Date: Mon, 26 Jul 1993 12:59:03 GMT Hello: I am trying to use one ScrollView and switch between more than one Text object as it's docView. The problem is that the ScrollView isn't automatically scrolling like it should when the text goes past the bottom of the clipView. The catch is that it /does/ work with it's original text object, just not after I setDocView: to a new text object. The new text objects are reflecting any updates that I make to them, but I can't get the ScrollView to reflect those changes. Here's what I'm doing: appText = [[Text alloc] initFrame:&contentFrame]; [ . . . ] [appText setVertResizable:YES]; [mainScroller setDocView:appText]; [mainScroller setVertScrollerRequired:YES]; [ . . . ] length = [[mainScroller docView] textLength]; [[mainScroller docView] setSel:length :length]; [[mainScroller docView] replaceSel:message]; [[mainScroller docView] scrollSelToVisible]; [mainScroller reflectScroll:[[mainScroller docView] superview]]; [mainScroller display]; And after doing this, nothing happens. I can watch the text get added to the text object in the ScrollView until it gets to the bottom, at which it keeps adding but not scrolling automatically. The scroll bar doesn't even pop up, unless I force it to by resized the window with the mouse. What I don't understand is that the exact same code (in fact, without even the reflectScroll: message) works fine if I use the text object that was originally in the ScrollView. So, in other words, the "stock" ScrollView works fine with it's original docView, but as soon as I change via setDocView: it ceases to work. Is there something really blatant that I'm missing? I'll really happy if it's something simple that I don't see. The only thing that I could think of is that I'm breaking some sort of delegation chain between the ScrollView, it's clipView and it's docView; but I've tried to manually create a new clipView and recreate the whole thing - with no luck. Any clues greatly appreciated! - Jim wissner@beech.mcs.gvsu.edu
Newsgroups: comp.sys.next.programmer From: chris%milo@wpa.com (Chris Cleeland) Subject: SUMMARY: Strange message from /bin/sh from my app... Message-ID: <1993Jul26.122745.2793@milo.UUCP> Sender: chris@milo.UUCP Organization: Milo Designs References: <1993Jul25.001320.23836@milo.UUCP> Distribution: na Date: Mon, 26 Jul 1993 12:27:45 GMT In article <1993Jul25.001320.23836@milo.UUCP> chris%milo@wpa.com (Chris Cleeland) writes: > I keep getting the following message > on either the console or (when running gdb) in the term window > that's running gdb: > > sh: privileges disabled because of outstanding IPC access to task > > Does anybody out there have any idea what NeXTStep/Unix/sh/Mach is > trying to tell me in words that I just seem too stupid to > comprehend? As a few of you have told me, this is a problem symptomatic of trying to debug something that is setuid. What's interesting is that my *app* is not setuid; rather one of the commands that it executes via popen() is. Seems to like that should be alright, but... The solution seems to be (somewhat obviously) to run gdb as root. Thanks to all who participated! > Off to a cleansing re-boot...! This is from having to work with Windoze too often elsewhere; I'm ashamed to have applied this administrative technique on a Real Operating System (TM) :-) -- --- ------------------------------------------------------------- Chris Cleeland | Internet: chris%milo@wpa.com Consultant/NeXT Advocate | UUCP: wupost!nimno!milo!chris
Newsgroups: comp.sys.next.misc,comp.sys.next.programmer From: ntomczak@vega.math.ualberta.ca (N Tomczak-Jaegermann) Subject: Re: NS 3.1 - how to find out where you are logged in?? Message-ID: <ntomczak.743643953@vega> Sender: news@kakwa.ucs.ualberta.ca Organization: University Of Alberta, Edmonton Canada References: <ntomczak.743588082@vega> Date: Sun, 25 Jul 1993 23:45:53 GMT ntomczak@vega.math.ualberta.ca (N Tomczak-Jaegermann) writes: (actually Michal Jaegermann, but this is beside the point :-)) >After a switch to version 3.1 of OS I found that I cannot distinguish >anymore if a user is logged in directly on NeXT, or via some networked >terminal. This information is rather vital for some of my uses. Following my own article: for my own uses now the following line in .cshrc, or some variant of thereof for other shells, does the trick tty | grep -s '^/dev/tty[pq]' && setenv Workspace " " This helps when other terminal is connected via serial line, since then tty will return either /dev/ttya, or /dev/ttyb, or something similar. Therefore $Workspace is getting set only if you are opening Terminal.app window from Workspace and other stuff which checked for its presence works like before. At this moment I do not know if something like this would work for terminals hooked via Ethernet. Any info? My other question about vt100 emulation and function keys still stands. Michal Jaegermann ntomczak@vega.math.ualberta.ca
Newsgroups: comp.sys.next.programmer From: jcdavis1@eos.ncsu.edu (JOSEPH CARL DAVIS) Subject: NS/FIP: data acquisistion? Message-ID: <1993Jul26.192334.2599@ncsu.edu> Sender: news@ncsu.edu (USENET News System) Organization: NCSU Project Eos Date: Mon, 26 Jul 1993 19:23:34 GMT OK, i have a question. now that the DSP has gone the way of the dodo bird, what are the capabilities of a NEXTSTEP PC for doing data aquisition? say, for process monitoring or getting a real-time data-feed from somewhere and putting in a database. If I was to get a PC data-aquisition board ( assuming, of course, that there was a driver for it ), are the DMA capabilities still there that would allow me to write a program to do a high-speed data pipe with any reliability? thanks for any input. regards, jcd -- \ Joseph C. Davis jcdavis1@eos.ncsu.edu People are not basically \ \ (919) 515-7452 stupid, they just act \ \ that way... \ \\\\\|||||//////\\\\\\|||||/////\\\\\\|||||\\\\\//////||||||\\\\\/////||||///
Newsgroups: comp.sys.next.hardware,comp.sys.next.marketplace,comp.sys.next.misc,comp.sys.next.programmer,comp.sys.next.software,com From: jbowyer@cis.vutbr.cz (Bowyer Jeff) Subject: International Software Organization: Technical University of Brno, Czech Republic Date: Mon, 26 Jul 1993 07:21:33 GMT Message-ID: <1993Jul26.072133.2884@cis.vutbr.cz> Please share your expertise with our mailing list. INSOFT-L on LISTSERV@CIS.VUTBR.CZ Internationalization of Software Discussion List Internationalization of software relates to two subjects: 1. Software that is written so a user can easily change the language of the interface; 2. Versions of software, such as Czech WordPerfect, whose interface language differs from the original product. Topics discussed on this list include: -- Techniques for developing new software -- Techniques for converting existing software -- Internationalization tools -- Announcements of internationalized public domain software -- Announcements of foreign-language versions of commercial software -- Calls for papers -- Conference announcements -- References to documentation related to the internationalization of software This list is moderated. To subscribe to this list, send an electronic mail message to LISTSERV@CIS.VUTBR.CZ with the body containing the command: SUB INSOFT-L Yourfirstname Yourlastname Owner: Center for Computing and Information Services Technical University of Brno Udolni 19, 602 00 BRNO Czech Republic INSOFT-L-REQUEST@CIS.VUTBR.CZ
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Where is putenv??? Date: 26 Jul 1993 18:12:17 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <231ks1$2uv@digifix.digifix.com> I trying to get the current sendmail (8.5) up and running on my Next, and with the exception of putenv/setenv/unsetenv I've gotten it compiling Unfortunately, it barfs on the link. I've got to using the supplied setenv/unsetenv, but they want putenv... Anyone know? Anyone already have sendmail 8.x compiled and running for the NeXT? -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: comp.sys.next.programmer From: bhill@physics.ucla.edu (Brian Hill) Subject: Re: Opener.app for NS v3.1--> how bout TS? In-Reply-To: thf@zelator.in-berlin.de's message of Sat, 24 Jul 1993 15:10:28 GMT Message-ID: <BHILL.93Jul26160035@spike.physics.ucla.edu> Sender: usenet@physics.ucla.edu Organization: Dept. of Physics, UCLA References: <KEN.93Jul22111511@ieyasu.phys.titech.ac.jp> <1993Jul24.151028.855@gamelan> Date: 26 Jul 93 16:00:35 In article <1993Jul24.151028.855@gamelan> thf@zelator.in-berlin.de (Thomas Funke) writes: >ken@phys.titech.ac.jp (Ken-ichiro Aoki) writes: >> that TS is neat. To me, using a full blown app to >> unarchive rather than just a one line command at the >> terminal, feels like a overkill. >I disagree. Actually, Opener.app is probably the most used App on my >NeXT. Its just too easy, to doubleclick at xyz.tar.Z and let it open it >under /tmp. No more 'cd /tmp; zcat a-long-filename | tar xvf -'. It appears you haven't used TickleServices. You wouldn't even have to open an app, let alone type anything. What you want would be in the services menu of whatever app you are currently working in. --Brian Hill
From: jfosback@darmok.uoregon.edu (Jason Fosback) Newsgroups: comp.sys.next.sysadmin,comp.sys.next.software,comp.sys.next.programmer Subject: Creating more ttys... Date: 26 Jul 1993 23:35:53 GMT Organization: University of Oregon Network Services Message-ID: <231pop$jaa@pith.uoregon.edu> I tried creating more ttys (and ptys) with MAKEDEV, but I'm having problems. MAKEDEV pty2 created [pt]tyr[0-a], but the system doesn't seem to recognize them. Whenever I fill up ttyp0-ttyqf, I get the message: telnetd: All network ports in use. Some things to realize: * I did reboot after creating the new devices * The ttys exist in /etc/ttys Is there something I'm missing? Is there a NeXT kernel limitation that I'm bumping into? How can I get more ttys? (please, I need these ttys, so no flames) Thanks in advance. -jason _________________________________________________________________ Jason Fosback, User Support Analyst | No sir, I didn't like it ---- University of Oregon ---- | -R&S Internet: jfosback@oregon.uoregon.edu | Star Trek: NeXT mail: jfosback@darmok.uoregon.edu | The NeXT Generation...
Newsgroups: comp.sys.next.programmer From: michel@unomain.teaser.com Subject: DRIVER KIT: Mapping Physical Memory Message-ID: <1993Jul26.165218.22672@unomain.uucp> Sender: michel@unomain.uucp (Michel Gutierrez) Organization: Matra Communication Date: Mon, 26 Jul 1993 16:52:18 GMT Hi, I am developing a driver under NS/FIP for a custom card. This card contains memory I need to address. The problem is that I can t find a way to map the device memory into the address space of my driver. The IODirectDevice method mapMemoryRange:to:findSpace:cache: looks good but the documentation is poor, contains bug (the second is a vm_addres_t * instead of a vm_address). With any arguments I use the method, it returns "Invalid Argument". The map_addr function is what I need. But it seems that it is no more available for i386 architecture. There is a function called IOPhysicalFromVirtual but no function IOVirtualFromPhysical. Has someone an experience on the subject ? Any clue ? Thanks in advance, Michel. -- ---------------------------------------------------- _/ _/ _/ _/_/_/ _/_/_/ _/ _/_/ _/_/ _/ _/ _/ _/ _/ _/ _/
From: kevins@bmd.com Newsgroups: comp.sys.next.programmer Subject: Re: CMYK tiffs & Color Separation...HELP! Message-ID: <1993Jul26.170559.8225@bmd.com> Date: 26 Jul 93 17:05:59 GMT References: <1993Jul16.164100.70100@cc.usu.edu> Sender: kevins@bmd.com (Kevin Solie) Organization: benchMark Developments, Inc. In article <1993Jul16.164100.70100@cc.usu.edu> slv0y@cc.usu.edu writes: > Is anyone creating negatives on the NeXT and outputting CMYK color separated > negatives? If so, what application(s) are you using? > > I am currently using Virtuoso, but it does not separate RGB Tiff files > correctly. It will take a CMYK Tiff file and do that O.K., but now I have to > find a program that will output a CMYK tiff. Image will do it, but I have yet > to get a good tiff from it. The separation options do not appear to be doing > what they say they are, and viewing the different CMYK channels only sometimes > shows what is really in that color. A CMYK file saved from Image appears > correct on the screen, but when I run a color proof, or negatives and make a > color key, it is terrible. It is WAY dark, and changing the separation > preferences does not seem to have any effect. > > Is anyone out there outputting color separated stuff from the NeXT > successfully? I need something that can do this, like, yesterday. This job is > scheduled to go on the press tuesday... It would be great if Virtuoso would > fix it...(Are you listening Lorin. ;-) But in the mean-time...HELP! > > Your help is greatly appreciated! > > John Zollinger > slv0y@cc.usu.edu > TIFFany should have no trouble with this. For a free demo send me email with your snailmail address. -- I'll cross my heart and hope to die but the needle's already in my eye. Kevin Solie -- I'll cross my heart and hope to die but the needle's already in my eye.
From: paterson@gdss.commerce.ubc.ca (Toby Paterson) Newsgroups: comp.sys.next.programmer Subject: Re: Printing "Text" object with page numbers and page headers? Date: 26 Jul 1993 17:08:05 GMT Organization: The University of British Columbia Message-ID: <23131lINN7vh@iskut.ucs.ubc.ca> References: <CAMvz6.7Iy@news.iastate.edu> In article <CAMvz6.7Iy@news.iastate.edu> joseph@daffy.tip.ameslab.gov (Joseph Reynolds) writes: > Hi. > > In article <22he3d$9q8@mailgzrz.TU-Berlin.DE> Dirk Schwarzhans writes: > > is there an example source code for printing a "Text" object > > with page numbers and page headers. > > I think the solution can't be too simple because even "Edit" > > can't do this though it would be very useful. > > I think this problem is harder than it first appears.... Try sending your > Text object a firstTextBlock message. The NXTextBlock structure is > defined in <appkit/Text.h>. That structure *looks* like it has line break > information. You would have to go through that to count line spacings and > insert page breaks and page numbers (etc.) where appropriate. > > Cheers, > Joseph If you are interested in showing the page numbers/headers only in the printed output (ie. generated postscript), you can create a subclass of the Text object which overrides View's -drawPageBorder:: method. This method is called from -printPSCode once for every page after the contents of the page have been layed out, and it can be used to tack your own headers onto the page. Here's an example (though the PS code generated is not particularly elegant by any stretch of the imagination): - drawPageBorder:(float)width :(float)height { static const char *months[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sept", "Oct", "Nov", "Dec" }; DPSContext context = DPSGetCurrentContext(); struct tm *now; long t; /* Let's be moderately well behaved at least. */ [super drawPageBorder:width :height]; if (context) { /* Use Ohlfs 10 point for the header font. */ DPSPrintf(context, "/Ohlfs findfont\n"); DPSPrintf(context, "10 scalefont\n"); DPSPrintf(context, "setfont\n"); /* Print the page number right justified at the top of the ** page. */ DPSPrintf(context, "/NLPRPageString (Page %d) def\n", [[NXApp printInfo] currentPage]); DPSPrintf(context, "%g NLPRPageString stringwidth pop sub\n", width - 30.); DPSPrintf(context, "%g moveto\n", height - 30.); DPSPrintf(context, "NLPRPageString show\n"); /* Print the date and file name. */ time(&t); now = localtime(&t); DPSPrintf(context, "30 %g moveto\n", height - 30.); DPSPrintf(context, "(%s %d, %d %d:%d %s) show\n", months[now->tm_mon], now->tm_mday, now->tm_year + 1900, now->tm_hour, now->tm_min, filename); /* Draw a line under the thing. */ DPSPrintf(context, "2 setlinewidth 30 %g moveto %g %g lineto stroke\n", height - 33., width - 30., height - 33.); } return self; } Note, however, that this will not display the page numbers/headers in the Text object itself. X -- \\ / Who: Toby Paterson \\/ How: tpaterso@cs.ubc.ca, paterson@gdss.commerce.ubc.ca //\ What: Grunt and NeXT hacker; GDSS Fellowship // \ Where: University of British Columbia
From: gad@eclipse.its.rpi.edu (Garance A. Drosehn) Newsgroups: comp.sys.next.software,comp.sys.next.programmer Subject: Re: QuickBase: is interesting? Date: 27 Jul 1993 00:46:50 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Distribution: world Message-ID: <231ttq$4ni@usenet.rpi.edu> References: <rcbaab.743252843@rwa.urc.tue.nl> On July 21 in comp.sys.next.software, rcbaab@rwa.urc.tue.nl (Annard Brouwer) wrote: > Can somebody tell me something about QuickBase? > How fast/easy-to-use is it? > Can you build complicated databases with it? First off, QuickBase is more of a database engine than a database program. By that I mean it's more of a programmer's resource than something that average users might use for building databases. It usually gets discussed in comp.sys.next.programmer instead of the software newsgroup. QuickBase lets the programmer use a relational database via a few different interfaces. You can either use some objects (in the programming sense) which understand SQL commands, or you can use the DBKit interface, or I think there might be some other options there too. One nice thing about this is that you can write both NeXTSTEP applications for your database, or regular command-line interfaces to the same database (which is nice if people telnet into your machine to access the information). I've only used QuickBase on a few fairly simple databases so far, but it certainly looks like you could build complicated databases using it. I even have some more elaborate databases that I want to build using QuickBase, but one of my NeXTstations is on loan to someone else, and that's thrown a wrench in a number of my plans. Right now I don't have Quickbase on any of my machines (I was out of hard disk space for awhile...). I've done some work with 4th Dimension on the Mac, and it really seems to me that the combination of QuickBase on the NeXT along with the Interface Builder would be a superior set of tools for creating small or medium-sized custom databases. For a large database, you'd probably want something running on a larger and faster machine than a NeXT anyway (QuickBase has the database itself on a NeXT, you aren't hooking up to some database server on a non-NeXTSTEP platform). If you're looking for more information on QuickBase, you could send a message to sdc@gun.com to get in touch with someone at SofDesign Solutions (note: there's no "t" in SofDesign...). You can also send a message to sdc_demo@gun.com to get a demo version of QuickBase. I believe this demo version is for NeXTstations only, but SofDesign was planning to have an NS-Intel version of QuickBase available soon (via a different email address). If you send to the demo account, you'll get nine messages mailed back to you (seven of which are NeXTmail). Be sure your message has a valid return email address, as it's an automatic daemon sending the messages, which only looks at the return address (nothing reads the text of the message you send it). Disclaimer time: I've done some beta testing for QuickBase, but I'm not part of the company. The guy who started the company is an RPI student who I used to be aquaintances with (which is how I got to be a beta tester). If you pick up the demo, you'll probably see my name pop up in one of the demo applications (I just took an older demo and spruced it up a bit). -- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu ITS Systems Programmer (handles NeXT-type mail) Rensselaer Polytechnic Institute; Troy NY USA
From: gad@eclipse.its.rpi.edu (Garance A. Drosehn) Newsgroups: comp.sys.next.programmer Subject: Re: Opener.app for NS v3.1--> how bout TS? Date: 27 Jul 1993 01:04:38 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Distribution: world Message-ID: <231uv6$5nl@usenet.rpi.edu> References: <BHILL.93Jul26160035@spike.physics.ucla.edu> bhill@physics.ucla.edu (Brian Hill) writes: > thf@zelator.in-berlin.de (Thomas Funke) writes: > > >ken@phys.titech.ac.jp (Ken-ichiro Aoki) writes: > >> that TS is neat. To me, using a full blown app to > >> unarchive rather than just a one line command at the > >> terminal, feels like a overkill. > > >I disagree. Actually, Opener.app is probably the most used App on my > >NeXT. Its just too easy, to doubleclick at xyz.tar.Z and let it open > >it under /tmp. No more 'cd /tmp; zcat a-long-filename | tar xvf -'. > > It appears you haven't used TickleServices. You wouldn't even have to > open an app, let alone type anything. What you want would be in the > services menu of whatever app you are currently working in. --Brian Hill I have used TickleServices, and I think it's great. I still like having Opener around, simply because: 1) it includes all kinds of compressers/decompressors with it (even though most of them are rarely needed in practice). 2) you get an icon in the fileviewer for any type of file that opener can decompress. Thus, you select a file, and if it has a special icon then you know you can just double-click on it. I think both of these are worthwhile reasons to have opener around, particularly if you're in an environment with a lot of "non-unix" users. NeXT went with a double-click interface for opening files, and I think that should apply for archives of files as much as anything else. On the other hand, I do use TickleServices to *create* my own archives, so maybe I'm just weird. I think TickleServices is worth it's price just for the text-reformatting services that come with it. -- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu ITS Systems Programmer (handles NeXT-type mail) Rensselaer Polytechnic Institute; Troy NY USA
Newsgroups: comp.sys.next.programmer From: yhe1@cc.swarthmore.edu (ye) Subject: calling mouseMoved: recursively Message-ID: <yhe1-260793211152@mac3.hicks.swarthmore.edu> Followup-To: comp.sys.next.programmer Sender: news@cc.swarthmore.edu (USENET News System) Organization: Swarthmore Collge Date: Tue, 27 Jul 1993 01:13:47 GMT Hello Everyone: A question: I tried to call mouseMoved: recursively (from within mouseMoved: itself), but it didn't work. At least there was no indication in my console window although I wrote a NXLogError right after the mouseMoved: was called recursively. Anyone knows why? Thanks. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Ye yhe1@cc.swarthmore.edu he@carnegie.swarthmore.edu (NeXT mail welcome)
Newsgroups: comp.sys.next.programmer From: yhe1@cc.swarthmore.edu (ye) Subject: about MouseMoved: called recursively Message-ID: <yhe1-260793220153@mac3.hicks.swarthmore.edu> Followup-To: comp.sys.next.programmer Sender: news@cc.swarthmore.edu (USENET News System) Organization: Swarthmore Collge Date: Tue, 27 Jul 1993 02:02:30 GMT Sorry everyone, I forgot to set the event mask... (NX_MOUSEMOVEDMASK) :-[ Now it works... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Ye yhe1@cc.swarthmore.edu he@carnegie.swarthmore.edu (NeXT mail welcome)
Newsgroups: comp.sys.next.programmer From: yhe1@cc.swarthmore.edu (ye) Subject: about calling mouseMoved: recursively Message-ID: <yhe1-260793220329@mac3.hicks.swarthmore.edu> Followup-To: comp.sys.next.programmer Sender: news@cc.swarthmore.edu (USENET News System) Organization: Swarthmore Collge Date: Tue, 27 Jul 1993 02:03:05 GMT Sorry everyone, I forgot to set the event mask... (NX_MOUSEMOVEDMASK) :-[ Now it works... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Ye yhe1@cc.swarthmore.edu he@carnegie.swarthmore.edu (NeXT mail welcome)
Newsgroups: comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Creating bundles with other extensions? Organization: Primitive Software Ltd. Date: Sat, 24 Jul 1993 19:56:54 +0000 Message-ID: <1993Jul24.195654.1500@prim> Sender: usenet@demon.co.uk Has anybody succeeded in getting Project Builders makefiles to generate bundles with extensions other than .bundle? Dave Griffiths
Newsgroups: comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Re: How to unravel a method argument frame? Organization: Primitive Software Ltd. References: <1993Jul23.094817.4973@prim> <1993Jul24.081112.393@csus.edu> Date: Sun, 25 Jul 1993 09:18:39 +0000 Message-ID: <1993Jul25.091839.3011@prim> Sender: usenet@demon.co.uk In article <1993Jul24.081112.393@csus.edu> eps@cs.sfsu.edu writes: >In article <1993Jul23.094817.4973@prim> dave@prim.demon.co.uk > (Dave Griffiths) writes: >>Does anybody have the source code to objc_msgSendv() and Object's performv:: > >objc_msgSendv() is architecture-dependent. > >- performv:(SEL)sel:(marg_list)args >{ > unsigned int s; > > if (!self) return nil; > return (s=[self methodArgSize:sel])==0 ? > [self doesNotRecognize:sel] : > objc_msgSendv(self, sel, s, args); >} Thanks Eric, but I wanted to avoid the call to objc_msgSendv. This calls objc_msgSend which requires that isa points to the correct class. But I've switched the isa variable to a mole class in order to detect the messages that object is sent, so I wanted to generate a call to the method function directly. It's easy to get the address of the function, all that's missing is the way to set up the stack frame. I'm not bothered about architecture independence, it's just a hack to save time when trying to work out what other methods are invoked by appkit class methods. I got hold of a copy of the gcc runtime to see if I could use some of it's routines and discovered that it's different from that used by NeXT - even the class structure. Why is this? The nature of Objective C means that the runtime has a much higher profile than in other languages as programmers exploit dynamic binding in any way they can - traversing the structures themselves - so there may be a portability issue when the language becomes more widely used. Because NeXT donated their changes to gcc to GNU, I expected such basic things as objc_msgSend to be the same. Dave Griffiths
Newsgroups: comp.sys.next.programmer From: bwebster@pages.com (Bruce F. Webster) Subject: Writing 3.1 apps compatible with 3.0/black systems Message-ID: <1993Jul26.221447.5040@pages.com> Sender: bwebster@pages.com Organization: Pages Software Inc. Date: Mon, 26 Jul 1993 22:14:47 GMT We've run into (and solved) a problem with running 3.1-developed fat apps with bundles on 3.0 (black) systems. I'm curious how many other developers are attempting to release fat apps which run under 3.0 (black) and 3.1 (black and white). Post here or send e-mail, as you prefer. :-) ..bruce.. ------------------------------------------------------------------------------- Bruce F. Webster | I love the Constitution and government of CTO, Pages Software Inc | this land, but I hate the damned rascals bwebster@pages.com | that administer the government. #import <pages/disclaimer.h> | -- Brigham Young -------------------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: ploeger@aplki.toppoint.de (Andreas Ploeger) Subject: Re: loading bundles on the fly Message-ID: <1993Jul26.131011.1166@aplki.toppoint.de> Sender: ploeger@aplki.toppoint.de (Andreas Ploeger) Organization: Andreas Ploeger References: <22m3q3$50i@ursula.ee.pdx.edu> Date: Mon, 26 Jul 93 13:10:11 GMT In article <22m3q3$50i@ursula.ee.pdx.edu> marcus@ursula.ee.pdx.edu (Marcus Daniels) writes: > I'd like to put a particular > set of classes in bundles-- and have a way to have applications and > palettes alike load them in as necessary. I have several custom view classes that are to be instantiated (by dragging from a palette), connected and configured (using an inspector) in Interface Builder. For the resulting nib file to be loaded into the application I first need to link the custom views' object code into my application. This is done by loading a bundle. Both, the bundle and the palette, are generated in the same project directory by a simple addition to the palette's makefile in Makefile.postamble: APP_OFILES = $(CLASSES:.m=.o) $(APP_CLASSES:.m=.o) bundle: $(BUNDLE_DIR) $(APP_OFILES) ld -r -o $(BUNDLE_DIR)/$(NAME) $(APP_OFILES) APP_CLASSES contains classes that are not linked into the palette because they are not needed there. It is even possible to split each custom view class into two parts: One that needs to run in Interface Builder only for configuration and another that does the real work in the application. The latter is put into a category that is not linked into the palette but only into the bundle by including it in APP_OFILES. Hope this helps. Any other ideas? Andreas -- -------------------------------------------------------------------- Andreas Ploeger E-Mail: ploeger@tpki.toppoint.de
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Re: loading bundles on the fly Date: 27 Jul 1993 02:16:49 -0700 Message-ID: <232rq1$23t@ursula.ee.pdx.edu> References: <22m3q3$50i@ursula.ee.pdx.edu> <1993Jul26.131011.1166@aplki.toppoint.de> ploeger@aplki.toppoint.de (Andreas Ploeger) writes: >In article <22m3q3$50i@ursula.ee.pdx.edu> marcus@ursula.ee.pdx.edu (Marcus >Daniels) writes: >> I'd like to put a particular >> set of classes in bundles-- and have a way to have applications and >> palettes alike load them in as necessary. >I have several custom view classes that are to be instantiated (by dragging >from a palette), connected and configured (using an inspector) in Interface >Builder. For the resulting nib file to be loaded into the application I first >need to link the custom views' object code into my application. This is done by >loading a bundle. I ended up using + finishloading methods in the various palette views to setup a CustomView capable of dynamically linking from a known location (/LocalDeveloper/Bundles). Since the CustomView loading code doesn't reference any particular class, it might be possible to collapse all the common + finishloadings into common code; but I haven't figured that out yet. The NXBundles could be named explicitly too. For the application, I just used objc_setClassHandler to intercept the error message, and bring in the missing class(es). It still suprises me there isn't a `right', advertised way to handle missing class objects. It seems like NeXT should have system-wide object vendor, implemented with distributed objects. And, if not, at least have a way to start system services by dropping them in place (ones that run without the workspace).
Newsgroups: comp.sys.next.programmer From: gordie@cyclesoft.com (Gordie Freedman) Subject: Re: Printing "Text" object with page numbers and page headers? Message-ID: <1993Jul27.095002.4562@netcom.com> Sender: gordie@netcom.com Organization: Cyclesoft Media Works References: <23131lINN7vh@iskut.ucs.ubc.ca> Date: Tue, 27 Jul 1993 09:50:02 GMT In article <23131lINN7vh@iskut.ucs.ubc.ca> paterson@gdss.commerce.ubc.ca (Toby Paterson) writes: > > [ Stuff deleted ... > > If you are interested in showing the page numbers/headers only in the > printed output (ie. generated postscript), you can create a subclass of > the Text object which overrides View's -drawPageBorder:: method. This > method is called from -printPSCode once for every page after the contents > of the page have been layed out, and it can be used to tack your own > headers onto the page. > > [ Excellent code example deleted ... ] > > -- > \\ / Who: Toby Paterson > \\/ How: tpaterso@cs.ubc.ca, paterson@gdss.commerce.ubc.ca > //\ What: Grunt and NeXT hacker; GDSS Fellowship > // \ Where: University of British Columbia Hey, this is great! I tried it and it worked right away. I've been wanting to do this for a while, but never managed to figure it out. It's a lot more straightforward than I thought it would be (in fact, I was able to modify it to taste pretty easily - once I went through your example). This is really handy for printing long NeXT documentation (I always hated printing it without page numbers). Anyway, thanks for posting that to the net, it's very useful. You made my day! -- >>> Gordie Freedman -> gordie@cyclesoft.com NeXTMail Yes! >>> Thou shalt not inline functions more complicated than 20
From: cb@loglady.df.lth.se (Christian Brunschen) Newsgroups: comp.sys.next.programmer Subject: getting the command line arguments Date: 27 Jul 1993 11:56:54 GMT Organization: yacc - the Computer Society at Lund University and Lund Institute of Technology Message-ID: <233566$49h@nic.lth.se> I'm trying to get at the command line arguments from within an application that I'm writing with PB. I know thatthe Defaults system manages to read stuff from the command line, but I can't see how I can access it from my objects -- as argc and argv are not in scope when I try to access them .. and I can't change APPLICATION_main.m either, since PB mungs that for me .. anyone help me, please ? best regards // Christian Brunschen
Newsgroups: comp.sys.next.programmer From: jan@dutnak2.tn.tudelft.nl (Jan Thorbecke) Subject: Using libraries in a WM inspector Message-ID: <jan.743771494@dutnak2> Summary: Problems with linking libraries to a custom WM Inspector. Keywords: Window managers, Inspector, Link, Library Sender: news@dutrun2.tudelft.nl (UseNet News System) Organization: Delft University of Technology Date: Tue, 27 Jul 1993 11:11:34 GMT In our group we use the HDF file format for file storage. The name of the HDF datafiles is given an ".hdf" extension. In NEXTSTEP we have writen several applications which 'recognize' this HDF extension. We tried also to build a HDF-file WM inspector which recognizes HDF files and can give some information about the content of the file (for example the number of data points). In order to get this information out of the HDF file routines are needed which are stored in a library on /usr/local/lib. But upto now we didn't succeed in connecting this library to the HDF inspector. We have tried to connect the inspector.bundle to the libraries by making a Makefile.preamble which includes the needed libraries (we did the same thing in our NEXTSTEP applications, and for the applications it worked). The inspector is build according to the steps given in the reference GeneralRef/19_WorkspaceManager/IntroWorkspace.rtf. This inspector works if there are no calls to routines stored in a user made library. Does anybody know how we can solve this problem? Thanks in advance!!! Jan Thorbecke Delft University of Technology Laboratory of Seismics and Acoustics the Netherlands (NeXT-) E-mail jan@duttak0.tn.tudelft.nl
Newsgroups: comp.sys.next.programmer From: rasm@vnet.ibm.com(Pete Rasmussen) Subject: joystick object Sender: news@hawnews.watson.ibm.com (NNTP News Poster) Message-ID: <CAtqGz.Eq6@hawnews.watson.ibm.com> Date: Tue, 27 Jul 1993 12:53:23 GMT News-Software: IBM OS/2 PM RN (NR/2) v0.17h by O. Vishnepolsky and R. Rogers Disclaimer: This posting represents the poster's views, not necessarily those of IBM. Organization: IBM T.J. Watson Research Does anyone know if a palette exists which contains an object similar to the joystick-thing that was used to fly the plane in the 2.x demo app 'Stealth'? Short of that, can someone give me a clue how they think it was implemented? Thanks. Pete Rasmussen, rasm@vnet.ibm.com
Newsgroups: comp.sys.next.programmer From: aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) Subject: Making resource files for an application Message-ID: <27JUL93.15145509@enh.nist.gov> Sender: news@dove.nist.gov Organization: NIST Date: Tue, 27 Jul 1993 20:14:55 GMT I have a question about something that really should be documneted... I just can't seem to find it anywhere. If anyone could point me in the right direction I would really appreciate it: PB allows you to set up Document Icons and Extensions. However, my document data files do not show up with that extension. Is there something I am missing? Like maybe I need to install the app, or what? Also, if I have a data file which is actually a folder, will the fact that I have the file extension listed in PB cause the folder to be viewed as a file? Thanks for helping the confused!@ Kevin
Newsgroups: comp.sys.next.programmer From: gordie@cyclesoft.com (Gordie Freedman) Subject: Re: getting the command line arguments Message-ID: <1993Jul27.173240.5340@netcom.com> Sender: gordie@netcom.com Organization: Cyclesoft Media Works References: <233566$49h@nic.lth.se> Date: Tue, 27 Jul 1993 17:32:40 GMT In article <233566$49h@nic.lth.se> cb@loglady.df.lth.se (Christian Brunschen) writes: > > I'm trying to get at the command line arguments from within an > application that I'm writing with PB. I know thatthe Defaults system > manages to read stuff from the command line, but I can't see how I can > access it from my objects -- as argc and argv are not in scope when I > try to access them .. and I can't change APPLICATION_main.m either, > since PB mungs that for me .. > From /NextLibrary/Documentation/NextDev/GeneralRef/03_Common/TypesAndConstants/Commo nTypes.rtf Command Line Arguments DECLARED IN defaults/defaults.h SYNOPSIS extern int NXArgc; extern char **NXArgv; DESCRIPTION These global variables pass command-line arguments to a program when it begins executing. NXArgc is the number of command-line arguments the program was invoked with. NXArgv is a pointer to an array of character strings that contain the arguments, one per string. -- >>> Gordie Freedman -> gordie@cyclesoft.com NeXTMail Yes! >>> Thou shalt not inline functions more complicated than 20
Newsgroups: comp.sys.next.programmer From: Scott Byer <byer@mv.us.adobe.com> Subject: Re: Creating bundles with other extensions? Message-ID: <1993Jul27.173935.22842@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <1993Jul24.195654.1500@prim> Date: Tue, 27 Jul 1993 17:39:35 GMT Dave Griffiths writes > Has anybody succeeded in getting Project Builders makefiles to > generate bundles with extensions other than .bundle? Yes. It's an ugly hack, and makes Project Builder give warnings, but what you do is create a Makefile.postamble that has some thing in it based on what you called the project. For example (a BackSpace module), set Project Build to have attributes of project type as "Bundle" and Name as "PlanetView.BackO", you need a Makefile.postamble that has: --- cut here --- # # Makefile.postamble # PRODUCT_ROOT = $(BUNDLE_DIR:.BackO.bproj=.BackModule) INSTALLDIR = ~/Library/BackSpaceViews OTHER_GARBAGE = $(PRODUCT_ROOT) --- cut here --- The PRODUCT_ROOT line is an extension replacement command. Normally this is "PRODUCT_ROOT = $(BUNDLE_DIR:.bproj=.bundle)" (which is where the .bundle comes from). *Fortunately*, you can post-override this (the last definition is taken, and the bundle.make in 3.0 at least doesn't check for it already being defined). As another example, if project name is "Foo.Bar", and you want the bundle to end up with the ".Joe" extension, you would have PRODUCT_ROOT = $(BUNDLE_DIR:.Bar.bproj=.Joe) (The INSTALLDIR definitions allows me to have BackSpace modules that I can do a "make install" on and have everything work...) -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
From: zmonster@athena.mit.edu (Eric M Hermanson) Newsgroups: comp.sys.next.programmer,comp.sys.next.misc Subject: File Encryption in Workspace.app Date: 27 Jul 1993 18:38:56 GMT Organization: Massachusetts Institute of Technology Distribution: world Message-ID: <233so0$ek@senator-bedfellow.MIT.EDU> I was browsing through the filesystem in NS3.0, and I came across some interesting NIB files. Specificallly, in /usr/lib/NextStep/Workspace.app/WM.app/English.lproj/EncryptPanel.nib This nib is has a picture of a closed lock with a text field asking user to enter they file encryption "key". I think I heard last year that the government did not allow NeXT to incorporate this encryption because it was too powerful (and if it fell into the wrong hands....) Is this true? If so, it it interesting they still have the resources in the .app folder. Secondly, some other interesting NIB's in Workspace.app deal with the debugging programs that are evidently built in to help debug this monster of an app. Take a look at: /usr/lib/NextStep/Workspace.app/WM.app/WMDebug.nib and /usr/lib/NextStep/Workspace.app/WM.app/FMStats.nib Have fun! Eric
From: glover@tree.egr.uh.edu (John Glover) Newsgroups: comp.sys.next.programmer Subject: SUMMARY: Neat Apps to do Text File Conversion and UUDecode Date: 27 Jul 1993 19:12:03 GMT Organization: University of Houston Message-ID: <233um3$eic@menudo.uh.edu> A short while back I posted a query for two "neat apps" with NEXTSTEP interfaces to do the following: 1. A program to convert between text files for Unix, DOS, and Macintosh, converting the end-of-line characters as necessary. 2. A program to take a uuencoded .tar.Z file (NeXTmail received not in Mail.app) and produce a directory with the desired attachments inside. Here are the solutions I received. All three apps are available on the archives: 1. Rosetta.app is the hands-down winner! Why did I not already know about it? 2. Two approaches here. (a) MailService will do the job very nicely. If you have the NeXTmail message, uunencoded, in a file or in a Terminal window, simply select the entire message and invoke the service Services/Mail/Send As A Message. The original message will now be sent to you and you can receive it properly in NeXTmail. (b) Opener.app can do the job without using NeXTmail, if that is needed, but you have to do a couple of edits yourself. Nevertheless, it is as simple at 1-2-3: 1. Edit the Begin 666 line so that the internal file name is something like: msg.tar.Z (the line will read: Begin 666 msg.tar.Z) 2. Change the name of the file to something like: file.uu 3. Double-click on file.uu and Opener should do the entire job. You will get: - an O_file directory with msg.tar.Z in it. - an O_msg directory with a file index.rtf, which contains the (possibly rich) text of the message itself, plus all of the attached files and directories. Thanks for everyone's answers! -- John Glover Electrical Engineering Dept. University of Houston glover@uh.edu (NeXTMail)
From: eric@skatter.usask.ca Newsgroups: comp.sys.next.programmer Subject: Re: Thanks, and a Winfo bug report Date: 27 Jul 1993 19:35:36 GMT Organization: University of Saskatchewan Message-ID: <234028$29m@tribune.usask.ca> I see there's a lot of misunderstanding about C out there..... I received several mail messages about my earlier posting. I said: There is an error in the Winfo source. There is a line depth *= 4/3; that should be changed to: depth = depth * 4 / 3; My correspondents said (with varying degrees of politeness): ``Everyone knows that a *= expr; is the same as a = a * expr; so there's nothing wrong with the line!'' Well, *sometimes* it's the same, but *not* in this case. The expression a *= 4/3; is the same as a = a * (4/3); which is *not* the same as a = a * 4 / 3; Still unsure? Try the following program: ============================================================ eric@sadr 240> cat a.c int test1 (int a) { a *= 4/3; return a; } int test2 (int a) { a = a * 4 / 3; return a; } main() { printf ("Test 1: %d\n", test1 (6)); printf ("Test 2: %d\n", test2 (6)); return 0; } eric@sadr 241> cc a.c eric@sadr 242> a.out Test 1: 6 Test 2: 8 -- Eric Norum eric@skatter.usask.ca Saskatchewan Accelerator Laboratory University of Saskatchewan Saskatoon, Canada. NeXTMail accepted.
From: jgshir@athena.mit.edu (John G Shirlaw) Newsgroups: comp.sys.next.programmer,comp.sys.next.misc Subject: Re: File Encryption in Workspace.app Date: 27 Jul 1993 20:39:53 GMT Organization: Massachusetts Institute of Technology Distribution: world Message-ID: <2343qp$2ls@senator-bedfellow.MIT.EDU> References: <233so0$ek@senator-bedfellow.MIT.EDU> In article <233so0$ek@senator-bedfellow.MIT.EDU>, zmonster@athena.mit.edu (Eric M Hermanson) writes: |> I was browsing through the filesystem in NS3.0, and I came across some |> interesting NIB files. Specificallly, in |> |> /usr/lib/NextStep/Workspace.app/WM.app/English.lproj/EncryptPanel.nib |> |> This nib is has a picture of a closed lock with a text field asking user to |> enter they file encryption "key". I think I heard last year that the |> government did not allow NeXT to incorporate this encryption because it |> was too powerful (and if it fell into the wrong hands....) Is this true? |> If so, it it interesting they still have the resources in the .app folder. |> |> Secondly, some other interesting NIB's in Workspace.app deal with the debugging |> programs that are evidently built in to help debug this monster of an app. |> Take a look at: |> |> /usr/lib/NextStep/Workspace.app/WM.app/WMDebug.nib |> |> and |> |> /usr/lib/NextStep/Workspace.app/WM.app/FMStats.nib |> |> |> Have fun! |> |> Eric Unix comes with an encription and decription program, and this may be just a front end to this suit of tools. From what I understand the encription method is fairly simple and can be broken reasonably easy if someone knows what they are doing. Just my thoughts. john.
Newsgroups: comp.sys.next.programmer From: brunos@mafalda (Bruno Schmidt) Subject: Browsers, how the hell??? Message-ID: <1993Jul27.205624.12986@sifon.cc.mcgill.ca> Keywords: browser Sender: news@sifon.cc.mcgill.ca Organization: McGill University Date: Tue, 27 Jul 1993 20:56:24 GMT Hello, I am trying to do some App programing on the next, with the help of IB. But I have NO clue as to how to get the browser to work. I have made a window with a browser in it, and I have made a connection between the browser and a class I created. Could someone please tell me what commands one would use to display a cell in thi s(one column) browser? I can't seem to get browser:loadCell:atRow:inColumn: or browser:fillMatrix:inColumn: to work at all. Any help will be greatly apreciated. Thanks. Bye, Bruno Schmidtme what commands one would use to display a cell in thi
From: Robert Nicholson <robert@steffi.demon.co.uk> Newsgroups: comp.sys.next.programmer,mlist.next-prog Subject: CustomApp development with IB Date: Tue, 27 Jul 93 21:20:03 GMT Message-ID: <199307252134.AA01264@steffi.demon.co.uk> Distribution: world Organization: me organized? That's a joke! I believe I use the standard conventional approach to using multiple nibs. ie. create a class as the nibs owner and have make each class responsible for that nibs target/action methods. I find this ok however, I'm a little concerned that IB is practically dictacting the way I design my app from a class perspective. For instance I cannot play with the UI without ensuring that all the target/action methods line up after my changes. This I believe is a fundamental design problem using NeXT's conventions for applications with multiple nibs. And i've seen this mentioned as a critism of IB in the past. I know that one can write target/action methods that do simply nothing but forward themselves onto other classes and this is probably a solution but what do people generally do to avoid IB taking control of your app's design. Has anybody come up with a scheme that lets you chop and change at will with the UI. I hope this generates plenty of worthwhile discussion on this topic.
From: Robert Nicholson <robert@steffi.demon.co.uk> Newsgroups: comp.sys.next.programmer,mlist.next-prog Subject: DBKit DBTableView, DBExpression question Date: Tue, 27 Jul 93 21:26:09 GMT Message-ID: <199307262048.AA01059@steffi.demon.co.uk> Distribution: world Organization: me organized? That's a joke! I'm kinda confused how to achive the following DBTableView behaviour. Firstly, my sub-model looks like this PROJECT-CONTACT PROJECT project_id project_id contact_id project_desc PROJECT-LOCATION project_id loc_id to_project (dbmodel to get the project_desc) I currently have a DBTableView in which I display project information for a given location. Hence the to_project relationship so that I can get the project's description field for any one location. My database has the following 1> select * from projects 2> go project_id project_desc ----------- -------------------------------------------------- 1 project 1 2 project 2 3 project 3 (3 rows affected) 1> select * from project_location 2> go project_id location_id ----------- ----------- 1 1 2 1 3 2 (3 rows affected) 1> select * from project_contact 2> go project_id contact_id ----------- ----------- (0 rows affected) Currently for location 1 the DBTableView mentioned above looks like project_desc project 1 project 2 I have set up the dbmodel this way so that I may apply the qualifier based on location. I assume this is the correct way about doing things. Now, not only would I like to see the projects for any particular location but I would like to tag each as having been completed by the current contact. Hence I need to create another column and derive information from the project_contacts table in order to indicate wether or not this particular contact has completed this project. I also have to be able to mark a project completed by the current contact too so it's very like BooleanFormatter execept that I do not know how I should go about deriving the "indicator" columns data. Any clues? So rather than qualify the projects for just a particular contact I need to see all of the projects at that same location but also some indication as to which projects this contact has been working on and an ability to toggle existing projects and show that this contact is working on more projects.
From: theharv@news.ucr.edu (Brian Harvey) Newsgroups: comp.sys.next.programmer Subject: Beginner Question... Message-ID: <34702@galaxy.ucr.edu> Date: 27 Jul 93 23:04:57 GMT Sender: news@galaxy.ucr.edu Here a beginner's question. Hopefully, someone will be kind enough to answer if for me... How can I get an object in one .nib file to send a message to a different object in another .nib file? Both .nib files are dynamically loaded into my application but one needs to send a message to the other. Any help would be greatly appreciated. theharv@csld.ucr.edu
From: Robert Nicholson <robert@steffi.demon.co.uk> Newsgroups: comp.sys.next.programmer,mlist.next-prog Subject: DBFormatter question Date: Wed, 28 Jul 93 02:12:40 GMT Message-ID: <199307272247.AA06270@steffi.demon.co.uk> Distribution: world Organization: me organized? That's a joke! I am currently trying to get my DBFormatter subclass to draw icons as well at the actual value itself I've drawn from the code from BooleanFormatter miniExample. I currently have this in my drawFieldAt.... method Please no lectures about PSshow :-) - drawFieldAt:(unsigned int)row :(unsigned int)column inside:(NXRect *)frame inView:view withAttributes:(id <DBTableVectors >)rowAttrs :(id <DBTableVectors >)columnAttrs usePositions:(BOOL)useRowPos :(BOOL)useColumnPos; { NXPoint toPoint; NXRect cellOrigin; NXSize string; char *buf; BOOL boolState; [self getValueAt:row :column withAttributes:rowAttrs :columnAttrs usePositions:useRowPos :useColumnPos]; boolState = NO; /* draw image (if there is an image to draw) */ cellOrigin = *frame; /* CAN ANYBODY EXPLAIN TO ME THE LOGIC BEHIND THIS LINE? IN IN PARTICULAR THE EXCLUSION B/W rowAttrs and columnAttrs */ [drawCell setAlignment:[(([rowAttrs formatter]==self)?rowAttrs:columnAttrs) contentAlignment]]; [drawCell drawInside:&cellOrigin inView:[NXApp focusView]]; /* * Set the size on the font. */ [font set]; string.height = [font pointSize]; buf = NXCopyStringBufferFromZone([value stringValue],[self zone]); string.width = [font getWidthOf:buf]; toPoint.y = frame->origin.y + frame->size.height - (frame->size.height - string.height) / 2; toPoint.x = frame->origin.x + (frame->size.width - string.width) / 2 - TEXT_OFFSET; PSmoveto(0.0, toPoint.y); PSsetgray(NX_BLACK); PSshow(buf); NX_FREE(buf); return self; } Currently, even though the vector's contentAlignment is left aligned I cannot get the cell to draw left aligned it is always centered horizontally in the DBVector for some reason. - init { [super init]; font = [Font newFont:"Helvetica" size:12.0]; newValue = [[DBValue allocFromZone:[self zone]] init]; drawCell = [[ButtonCell allocFromZone:[self zone]] initIconCell:""]; [drawCell setBordered:NO]; [drawCell setIconPosition:NX_ICONONLY]; [drawCell setType:NX_TOGGLE]; [drawCell setIcon:"NXswitch"]; [drawCell setAltIcon:"NXswitchH"]; [drawCell setTag:0]; return self; }
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: SUMMARY: Where is putenv??? Date: 27 Jul 1993 17:44:41 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <2347k9$4mi@digifix.digifix.com> References: <231ks1$2uv@digifix.digifix.com> I asked what happened to putenv().... Thanks to all that responded! --------------------- Eric P. Scott (eps@toaster.SFSU.EDU) enlightens with Huh? NeXT removed putenv() from their distribution effective with the 3.0 Release. What's wrong with setenv()? (People have told me they've had problems with it, but I've built stuff using the BSD setenv() and everything seemed to work just fine.) There was a trick to it: building everything with -Dgetenv=getenv_ to bypass the getenv() in the shared library. [I grepped all the way through the includes directory and couldn't find a setenv() only a getenv() - Scott] Eric then provided this source[at the bottom].....(this worked flawlessly) ------------------------------------- David Meyer <dmm0t@rincewind.mech.virginia.edu> tells me I have GNU's putenv in rincewind.mech.virginia.edu:/pub/next/putenv.c.gz Which did work when I used the hacked up set/unsetenv included with sendmail, but I opted for the more "elegant" Berkeley solution from EPS in the end. -------------------------------------- shayman@Objectario.com (Steve Hayman) had this net.solution There is no putenv() in the NeXT libraries. Here's one that someone posted to the net recently - I haven't tried it but it looks right. #include <ctype.h> #define NULL 0 /* Define putenv for machines the don't have it in the standard library. */ int putenv(s) char *s; { int nlen; char *cptr; char **nenv, **eptr; extern char **environ; /* First see if there is an existing 'name=value' with the * same name as s. */ for (cptr = s; *cptr != '=' && *cptr != '\0'; cptr++) ; if (*cptr == '=' && cptr > s) { nlen = cptr - s + 1; for (eptr = environ; *eptr != NULL; eptr++) { if (strncmp(*eptr, s, nlen) == 0) { *eptr = s; return 0; } } } /* New name, so must change environ. */ for (eptr = environ; *eptr != NULL; eptr++) ; nenv = (char **) malloc((eptr - environ + 2) * sizeof(char *)); if (nenv == NULL) return -1; eptr = environ; environ = nenv; while ((*nenv = *eptr) != NULL) nenv++, eptr++; *nenv = s; nenv[1] = NULL; return 0; } /*Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de*/ -----------------Cut Here-------------------------------- Source submitted by (Eric P. Scott)------- setenv.c /* * Copyright (c) 1987 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms are permitted * provided that the above copyright notice and this paragraph are * duplicated in all such forms and that any documentation, * advertising materials, and other materials related to such * distribution and use acknowledge that the software was developed * by the University of California, Berkeley. The name of the * University may not be used to endorse or promote products derived * from this software without specific prior written permission. * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ #if defined(LIBC_SCCS) && !defined(lint) static char sccsid1[] = "@(#)setenv.c 5.3 (Berkeley) 5/16/90"; static char sccsid2[] = "@(#)getenv.c 5.6 (Berkeley) 5/16/90"; #endif /* LIBC_SCCS and not lint */ /* * setenv -- * Set the value of the environmental variable "name" to be * "value". If rewrite is set, replace any current value. */ setenv(name, value, rewrite) register char *name, *value; int rewrite; { extern char **environ, *malloc(); static int alloced; /* if allocated space before */ register char *C; int l_value, offset; static char *_findenv(); if (*value == '=') /* no `=' in value */ ++value; l_value = strlen(value); if ((C = _findenv(name, &offset))) { /* find if already exists */ if (!rewrite) return(0); if (strlen(C) >= l_value) { /* old larger; copy over */ while (*C++ = *value++); return(0); } } else { /* create new slot */ register int cnt; register char **P; for (P = environ, cnt = 0; *P; ++P, ++cnt); if (alloced) { /* just increase size */ environ = (char **)realloc((char *)environ, (sizeof(char *) * (cnt + 2))); if (!environ) return(-1); } else { /* get new space */ alloced = 1; /* copy old entries into it */ P = (char **)malloc((sizeof(char *) * (cnt + 2))); if (!P) return(-1); bcopy(environ, P, cnt * sizeof(char *)); environ = P; } environ[cnt + 1] = 0; offset = cnt; } for (C = name; *C && *C != '='; ++C); /* no `=' in name */ if (!(environ[offset] = /* name + `=' + value */ malloc(((int)(C - name) + l_value + 2)))) return(-1); for (C = environ[offset]; (*C = *name++) && *C != '='; ++C); for (*C++ = '='; *C++ = *value++;); return(0); } /* * unsetenv(name) -- * Delete environmental variable "name". */ void unsetenv(name) char *name; { extern char **environ; register char **P; int offset; static char *_findenv(); while (_findenv(name, &offset)) /* if set multiple times */ for (P = &environ[offset];; ++P) if (!(*P = *(P + 1))) break; } /* * getenv -- * Returns ptr to value associated with name, if any, else NULL. */ char * getenv(name) char *name; { int offset; static char *_findenv(); return(_findenv(name, &offset)); } /* * _findenv -- * Returns pointer to value associated with name, if any, else NULL. * Sets offset to be the offset of the name/value combination in the * environmental array, for use by setenv(3) and unsetenv(3). * Explicitly removes '=' in argument name. */ static char * _findenv(name, offset) register char *name; int *offset; { extern char **environ; register int len; register char **P, *C; for (C = name, len = 0; *C && *C != '='; ++C, ++len); for (P = environ; *P; ++P) if (!strncmp(*P, name, len)) if (*(C = *P + len) == '=') { *offset = P - environ; return(++C); } return(0); } -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: The continued adventures of Sendmail 8.5! Date: 27 Jul 1993 17:53:21 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <23484h$4nn@digifix.digifix.com> Hi all.. Having overcome that problem of not having a putenv(), and being unable to find setenv()/unsetenv().... I have sendmail 8.5 compiling! (under NeXT 3.1) There were very few changes that needed to be made. sendmail 8.5 ships with Makefile.XXXXX where XXXXX is the machine, and I needed to modify the Makefile.dist to perform for the NeXT, which I saved as Makefile.NeXT. I needed to add a couple of headers, and for the life of me I couldn't get a header included that actually defined pid_t. So I just typedef'd it in an #ifdef __NeXT__ . It compiles without a complaint. Now, off to the sendmail.cf stage..... Aaaak! OK, sendmail 8.5 ships with a macro language, that is similar to IDA. You write a small file that explains the differences between the standard behaviour and the wanted behaviour run it through m4 or Berkeley Make. Ping! Problem! The m4 that Next is shipping is too old, and apparently NeXT isn't shipping Berkeley Make, its some other make.. So, while I have the good fortune of having access to an SCO UNIX machine that is running a suitable m4, and I can get my sendmail.mc into a sendmail.cf file, that doesn't do the rest of us much good. Where can I get source for the current Berkeley Make? Apparently the m4 support for GNU m4 is not going to be around forever, and this seems like the better way to go. I will summarize when there is anything to summarize! -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: comp.sys.next.programmer From: jjfeiler@relief.com (John Jay Feiler) Subject: Re: Creating bundles with other extensions? Message-ID: <1993Jul28.014434.5267@relief.com> Sender: jjfeiler@relief.com Organization: relief consulting References: <1993Jul24.195654.1500@prim> Date: Wed, 28 Jul 1993 01:44:34 GMT In article <1993Jul24.195654.1500@prim> dave@prim.demon.co.uk (Dave Griffiths) writes: > Has anybody succeeded in getting Project Builders makefiles to generate > bundles with extensions other than .bundle? > > Dave Griffiths Following some advice from Jeff_Martin@next.com, I put together the following additions to the Makefile.{pre|post}amble files that work nicely: ---------------- add to Makefile.postamble in the .bproj directory # Move the bundle to its new extension after installation, removing the link first after_install:: rm -rf $(DSTROOT)$(INSTALLDIR)/$(APP_WRAPPER)/$(NAME).$(BUNDLE_EXT) mv $(DSTROOT)$(INSTALLDIR)/$(APP_WRAPPER)/$(NAME).bundle \ $(DSTROOT)$(INSTALLDIR)/$(APP_WRAPPER)/$(NAME).$(BUNDLE_EXT) # Link the bundle to its new extension for incremental building/testing $(NAME:.bproj=).$(BUNDLE_EXT): (cd $(PRODUCT_ROOT)/..; \ rm -rf $(NAME:.bproj=).$(BUNDLE_EXT); \ ln -s $(NAME:.bproj=).bundle $(NAME:.bproj=).$(BUNDLE_EXT)) ----------------- add to Makefile.preamble in the .bproj directory # these are defined in the Makefile.template, they just need to be changed OTHER_PRODUCT_DEPENDS = $(NAME:.bproj=).$(BUNDLE_EXT) OTHER_GARBAGE = $(NAME:.bproj=).$(BUNDLE_EXT) # this is the new extension for the bundle WITHOUT THE DOT BUNDLE_EXT = bar -------------------add to Makefile.postamble in the main project directory # this needs to be here because the default makefiles don't descend into # bundle projects to call the after_install target after_install:: @(for i in $(BUNDLES:.bproj=) none ; do \ if [ $$i = none ] ; then continue; fi; \ (cd $$i.bproj; $(MAKE) after_install \ "DSTROOT = $(DSTROOT)" \ "INSTALLDIR = $(INSTALLDIR)" \ "APP_WRAPPER = $(NAME).app" \ ) \ done; ) ---------------------------------------------------------- Note that this is for building a bundle that lives in the appwrapper of the project. If you have a different installation path, thse should be modified accordingly. -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!! Edmonds, WA 98026-4433 Independent NeXTSTEP Developer
Newsgroups: comp.sys.next.programmer From: jjfeiler@relief.com (John Jay Feiler) Subject: Re: getting the command line arguments Message-ID: <1993Jul28.014603.5327@relief.com> Sender: jjfeiler@relief.com Organization: relief consulting References: <233566$49h@nic.lth.se> Date: Wed, 28 Jul 1993 01:46:03 GMT In article <233566$49h@nic.lth.se> cb@loglady.df.lth.se (Christian Brunschen) writes: > > I'm trying to get at the command line arguments from within an > application that I'm writing with PB. I know thatthe Defaults system > manages to read stuff from the command line, but I can't see how I can > access it from my objects -- as argc and argv are not in scope when I > try to access them .. and I can't change APPLICATION_main.m either, > since PB mungs that for me .. > > anyone help me, please ? > > best regards > > // Christian Brunschen Try NXArgc and NXArgv, which are globals....... -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!! Edmonds, WA 98026-4433 Independent NeXTSTEP Developer
From: gil@ux5.lbl.gov (gil rivlis) Newsgroups: comp.sys.next.programmer Subject: Q on "Programming the DPS with NeXTSTEP" Date: 28 Jul 1993 03:23:15 GMT Organization: Lawrence Berkeley Laboratory Distribution: world Message-ID: <234rf3$se9@overload.lbl.gov> Keywords: PostScript Hi, I was reading the book "Programming the Display PostScript System with NeXTSTEP" by Adobe Systems Inc. (the "purple" book), and I was playing with the code (found it on ftp.adobe.com pub/adobe/...). I have a question about the NX_CtlPoints application. They claim in the book that the xyshow method is the fastest one to draw a large amount of identical (small) points (or rectangles). Playing with the application I found that, ideed, this is true if the number of points is less then 1000. However, for a 1000 points, the drawing time goes way up! Can anyone duplicate it?, is it some tricky cacheing thing? Can anyone offer a solution? Thanks, Gil -- Gil Rivlis, UC Berekley gil@asterix.lbl.gov
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: CustomApp development with IB Date: 25 Jul 1993 22:34:16 +0100 Organization: me organized? That's a joke! Distribution: world Message-ID: <22uu8o$178@steffi.demon.co.uk> I believe I use the standard conventional approach to using multiple nibs. ie. create a class as the nibs owner and have make each class responsible for that nibs target/action methods. I find this ok however, I'm a little concerned that IB is practically dictacting the way I design my app from a class perspective. For instance I cannot play with the UI without ensuring that all the target/action methods line up after my changes. This I believe is a fundamental design problem using NeXT's conventions for applications with multiple nibs. And i've seen this mentioned as a critism of IB in the past. I know that one can write target/action methods that do simply nothing but forward themselves onto other classes and this is probably a solution but what do people generally do to avoid IB taking control of your app's design. Has anybody come up with a scheme that lets you chop and change at will with the UI. I hope this generates plenty of worthwhile discussion on this topic. -- Real programmers don't use Email they communicate with people.
Newsgroups: comp.sys.next.programmer From: jjfeiler@relief.com (John Jay Feiler) Subject: Re: How to unravel a method argument frame? Message-ID: <1993Jul28.044658.5662@relief.com> Sender: jjfeiler@relief.com Organization: relief consulting References: <1993Jul25.091839.3011@prim> Date: Wed, 28 Jul 1993 04:46:58 GMT In article <1993Jul25.091839.3011@prim> dave@prim.demon.co.uk (Dave Griffiths) writes: > In article <1993Jul24.081112.393@csus.edu> eps@cs.sfsu.edu writes: > >In article <1993Jul23.094817.4973@prim> dave@prim.demon.co.uk > > (Dave Griffiths) writes: > >>Does anybody have the source code to objc_msgSendv() and Object's performv:: > > > >objc_msgSendv() is architecture-dependent. > > > >- performv:(SEL)sel:(marg_list)args > >{ > > unsigned int s; > > > > if (!self) return nil; > > return (s=[self methodArgSize:sel])==0 ? > > [self doesNotRecognize:sel] : > > objc_msgSendv(self, sel, s, args); > >} > > Thanks Eric, but I wanted to avoid the call to objc_msgSendv. This calls > objc_msgSend which requires that isa points to the correct class. But I've > switched the isa variable to a mole class in order to detect the messages > that object is sent, so I wanted to generate a call to the method function > directly. It's easy to get the address of the function, all that's missing > is the way to set up the stack frame. I'm not bothered about architecture > independence, it's just a hack to save time when trying to work out what > other methods are invoked by appkit class methods. > > I got hold of a copy of the gcc runtime to see if I could use some of it's > routines and discovered that it's different from that used by NeXT - even > the class structure. Why is this? The nature of Objective C means that the > runtime has a much higher profile than in other languages as programmers > exploit dynamic binding in any way they can - traversing the structures > themselves - so there may be a portability issue when the language becomes > more widely used. Because NeXT donated their changes to gcc to GNU, I > expected such basic things as objc_msgSend to be the same. > > Dave Griffiths If all you are looking to do is find out which methos are called, tyr the following trick courtesy of Julie_Zelenski@next.com, which shows you EVERY method call. Note that this can become more managable if you use conditional breakpoints to turn this breakpoint on and off at appropriate times...... (gdb) break objc_msgSend breakpoint 4 at whatever.... (gdb) comm 4 silent printf "[%s %s]\n", ((*(int *)($sp + 4)) ? ((struct Object *)*($sp + 4))->isa->name : "nil"), sel_getName((unsigned)*($sp + 8)) cont end -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!! Edmonds, WA 98026-4433 Independent NeXTSTEP Developer
Newsgroups: comp.sys.next.programmer From: pbiron@oahu.cs.ucla.edu (Paul Biron) Subject: dragging outside of a NiftyMatrix (ScrollDoodScroll Example) Message-ID: <1993Jul28.064706.21040@cs.ucla.edu> Keywords: ScrollDoodScrool, NiftyMatrix, PScomposite, Drag, Drop Sender: usenet@cs.ucla.edu (Mr Usenet) Organization: UCLA, Computer Science Department Date: Wed, 28 Jul 93 06:47:06 GMT Hi, I've been trying to extend the drag/drop functions of the NiftyMatrix.[hm] object in the ScrollDoodScroll example (NS 2.x). As it exists in NiftyMatrix.m, the cell being dragged is constrained to stay within the bounds of the matrix. What I'm trying to do is allow dragging outside the matrix (the idea is to allow dragging a cell from one browser to another). Below is the relevant part of the mouseDown: method as implemented in NiftyMatrix.m /* * move the active cell */ mouseLocation = event->location ; [self convertPoint:&mouseLocation fromView:nil] ; cellFrame.origin.y = mouseLocation.y - dy ; /* * constrain the cell's location to our bounds */ if (NX_Y (&cellFrame) < NX_X (&bounds)) cellFrame.origin.y = NX_X (&bounds) ; else if (NX_MAXY (&cellFrame) > NX_MAXY (&bounds)) cellFrame.origin.y = NX_HEIGHT (&bounds) - NX_HEIGHT (&cellFrame) ; [ code to handle possible scrolling if we're located in in a ScrollView deleted for clarity ] /* * composite the active cell's image on top of ourself */ PScomposite (0.0, 0.0, NX_WIDTH (&cellFrame), NX_HEIGHT (&cellFrame), [cellCache gState], NX_X (&cellFrame), NX_Y (&cellFrame) + NX_HEIGHT (&cellFrame), NX_COPY) ; However, if I remove the code which constrains the frame of the dragging cell to the bounds of the matrix, what happens on the screen when the mouse moves outside the matrix is that the cell moves *underneath* the scrollView, rather than *ontop* of the matrix and possibly out of the window altogether. Since I know very little about DPS and what PSComposite is actually doing, can someone help explain this behavior and how I can correct it? Could it have something to do with the graphics state of the cell? Could it have something to do with the fact that the matrix is a subview of the ClipView of the ScrollView? Any help is greatly appreciated. -- Paul Biron (310) 825-5614 | Outside of a dog, a book is man's best friend pbiron@gslis.ucla.edu | Inside of a dog, it's too dark to read GSLIS, UCLA | ---Groucho Marx What's another word for ``thesaurus''? ---Stephen Wright
Newsgroups: comp.sys.next.programmer From: pbiron@oahu.cs.ucla.edu (Paul Biron) Subject: archiving bitfields with NXWriteType() Message-ID: <1993Jul28.065022.21157@cs.ucla.edu> Keywords: read:, write:, NXReadType(), @encode, struct { bitfield } Sender: usenet@cs.ucla.edu (Mr Usenet) Organization: UCLA, Computer Science Department Date: Wed, 28 Jul 93 06:50:22 GMT Hi, Can anyone help with how to `properly' archive structs with bitfields. Suppose I have a class like the following: @interface Foo : Object { struct _sFlags { unsigned int flag1:1 ; unsigned int flag2:1 ; unsigned int flag3:1 ; } sFlags ; } In the read: and write: methods which archive this object, how do I specify the type of the bitfields in the arguments to NXReadType() et al.? The documentation (NS 2.1) says that the type encoding for structs should be of the form {<type>...} but does not say what the `type' code for a bitfield is. In the `Concepts' chapter on Objc, the @encode() directive is mentioned. There is says that a structure with bitfields is specified as {bnbn...} where n=number of bits. It also mentions that some of the values returned by @encode() are *not* valid for typed streams (tho it doesn't explicitly mention `b'). However, when I try giving this to NXReadType() it reports an error and refuses to do it. The only work-around I've been able to find is to note that sizeof (sFlags) = sizeof (short) and to archive the structure as {s} Is this going to cause me unexpected problems up the line? Considering the number of classes in the AppKit which use structs with bitfields like this, there has got to be a more ``pollically correct'' way to do this. Any and all help greatly appreciated. -- Paul Biron (310) 825-5614 | Outside of a dog, a book is man's best friend pbiron@gslis.ucla.edu | Inside of a dog, it's too dark to read GSLIS, UCLA | ---Groucho Marx What's another word for ``thesaurus''? ---Stephen Wright
Newsgroups: comp.sys.next.programmer From: arno@fdn.org (Arnaud Weber) Subject: Re: I want a NXShaderPanel & NXShaderList & NXShaderWell... Message-ID: <1993Jul28.080226.20287@cubx.com> Sender: news@cubx.com Organization: Cub'x Systemes - Rueil Malmaison, France. Date: Wed, 28 Jul 1993 08:02:26 GMT In comp.sys.next.programmer article (<1993Jul23.015128.8497@pixar.com> Michael B. Johnson wrote: > I'm about to hack something together, and thought I'd toss the idea out > here first to see if anybody has any good feedback: > > Well, I've been playing with all the various 3D apps available under > NEXTSTEP, as well as writing my own stuff, and I'm finally sick of it. I > know the 3DKit folks are probably busy with other (more important) things, > so I thought I'd bring my gripe to the Net. > > ... > > One way to think about RenderMan shaders is that they're similar to > typefaces or colors. They actually have attributes more of Multiple > Master Adobe fonts, where you have a given set of parameters that you > frob. From a NEXTSTEP programmer point of view, the > shader-as-font-or-color analogy holds in many ways, with one glaring > exception: we've got a FontPanel and a NXColorPanel, but no ShaderPanel. > > ... > > On the 3D side of things, however, things are nowhere near as developed. > All the 3D apps I use on a semi-regular basis (3DReality, FrontFace, > Intuitiv'3d, my own weird stuff) all have their own solution to this > problem. They all handle it basically the same (incompatible) way: they > scan some known locations for all the .slo files, and present the user > with a list of shader names. They also look in various places for a tiff > file which corresponds to that shader. Some of the apps help the user > make this image, some just specify a known location to stick an image of > the correct size with a given name. None of them do it the same way. > >... > > So here's what I'm gonna do: for my system (WavesWorld) I'll be writing a > couple of objects: WWShaderPanel, WWShaderList, WWShaderWell, and > WWShaderInspector. > > ... > > Anyway, I'm going to be implementing this stuff sometime in the next month > or so (hopefully), and if anyone has any brainstorms, let me know. As > long as I get the code finished before I'm back at the Media Lab, I'll > probably make it available, so it's in your best interest to advise early > and often... > Those are great ideas... but where's the news? intuitiv'3d does provide a ShaderPanel, ShaderWells for all shader types ( surface , displacement, arealight, volume... ) , MetaShader and MetaShaderWell to completely describe a 3D surface in one instance. Since Michael B. Johnson is beta tester of intuitiv'3d, we at Cub'x are quite disappointed to see he forgot to mention those intuitiv'3d features... Anyway, it would be a good idea to share shader objects for all 3D applications. However I think that it should be the work of NeXT and not a third party (even as freeware). This could indeed be a N3DShader evolution since: - N3DShader has no icons - N3DShader does not support tiff for texture mapping. - N3DShader does not support map calculation for environment mapping - N3DShader does not include displacement bounds for displacement mapping intuitiv'3d does not store tiff separately for shader's icons, but stores the icon with the instance that stands for the shader instance... An icon can be set inside the software using the IconPanel. The icon can be a tiff somewhere on your disk or a picture rendered inside intuitiv'3d. intuitiv'3d also handles mathematical functions with a FonctionPanel and FunctionWell... Perhaps soon a WWIconPanel / WWFunctionPanel / WWFunctionWell ? (=; Arnaud
Newsgroups: comp.sys.next.programmer From: ken@phys.titech.ac.jp (Ken-ichiro Aoki) Subject: Re: Opener.app for NS v3.1--> how bout TS? Message-ID: <KEN.93Jul27114731@ieyasu.phys.titech.ac.jp> Sender: news@phys.titech.ac.jp (Usenet News System) Organization: Dept. of Physics, Tokyo Institute of Technology References: <1993Jul24.151028.855@gamelan> Date: Tue, 27 Jul 1993 02:47:31 GMT thf@zelator.in-berlin.de (Thomas Funke) writes: : In article <KEN.93Jul22111511@ieyasu.phys.titech.ac.jp> : ken@phys.titech.ac.jp (Ken-ichiro Aoki) writes: : : > that TS is neat. To me, using a full blown app to : > unarchive rather than just a one line command at the : > terminal, feels like a overkill. : : I disagree. Actually, Opener.app is probably the most used App on my : NeXT. Its just too easy, to doubleclick at xyz.tar.Z and let it open it : under /tmp. No more 'cd /tmp; zcat a-long-filename | tar xvf -'. Just to avoid any confusion here; I meant that I used to use the Terminal (or Stuart) for archiving, but now there is NO need to do so since I use TS. In the original post, I wrote (in the part that was deleted) .... : > It is NOT free, $30 shareware, but it's worth it. With the : > supplied script, (Archive.ts) you just go : > services->archive->archive : > and off you go. .... To wit, 1. With TickleServices, (un)archiving is thru the services menu. (Seems natural to me.) NO need for an app NOR a terminal. 2. It is much easier to customize with TS than it is in an app. No need for any compilation, either. 3. To each his own, but *if* I am using a terminal for unarchiving, using gnutar and filename completion, I say tar -zxf few-letters-of-a-filename<TAB> Hopefully with TS, I can be less terminal based; unfortunately since I don't have the luxury at this point of working only with NS, it is just too easy to use a terminal. ...sigh.... Oh yeah, one more thing, don't forget, archive.ts is just one example of TS can do. Happy NeXTing, --- Kenichiro Aoki (ken@phys.titech.ac.jp), Department of Physics, Tokyo Institute of Technology, Oh-okayama, Meguro-ku, Tokyo, JAPAN $@@DLZ7r0lO:!$El5~9)6HBg3XM}3XItJ*M}3X2J!$El5~ETL\9u6hBg2,;3(J : ------------------------------------------------------------------ : Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de : : Brook's Law: : Adding manpower to a late software project makes it later : ------------------------------------------------------------------ -- Kenichiro Aoki (ken@phys.titech.ac.jp), Department of Physics, Tokyo Institute of Technology, Oh-okayama, Meguro-ku, Tokyo, JAPAN $@@DLZ7r0lO:!$El5~9)6HBg3XM}3XItJ*M}3X2J!$El5~ETL\9u6hBg2,;3(J
Newsgroups: comp.sys.next.programmer,mlist.next-prog From: aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) Subject: RE: CustomApp development with IB Message-ID: <28JUL93.15314862@enh.nist.gov> Sender: news@dove.nist.gov Organization: NIST References: <199307252134.AA01264@steffi.demon.co.uk> Date: Wed, 28 Jul 1993 20:31:48 GMT In my experience, the IB is a great tool. If you find that the tool is defining how your apps are going together, don't use it! You can create everything with plain source code that the IB can do. It will take a lot moer (more, sorry) time (like about 500 times more), but there are definitely situations where the IB should NOT be used. In fact, many of my interfaces make extensive use of the customView because I like to set up borwsers, etc... my way, not IB's way. Using the custom view allows me to position things in the windows, though, and that saves a lot of trial and error coding to see if the window is set up the way I want to. If you have a radial arm saw, and you are trying to turn a table leg, it is better to go out and buy (or make) a lathe. You could do the work with the saw, but it won't be nearly as nice! Kevin
Newsgroups: comp.sys.next.programmer From: greg@afs.com (Gregory H. Anderson) Subject: Re: archiving bitfields with NXWriteType() Message-ID: <1993Jul28.141547.906@afs.com> Sender: greg@afs.com References: <1993Jul28.065022.21157@cs.ucla.edu> Date: Wed, 28 Jul 1993 14:15:47 GMT In article <1993Jul28.065022.21157@cs.ucla.edu> pbiron@oahu.cs.ucla.edu (Paul Biron) writes: > Can anyone help with how to `properly' archive structs with > bitfields. > > Suppose I have a class like the following: > > @interface Foo : Object > { > struct _sFlags { > unsigned int flag1:1 ; > unsigned int flag2:1 ; > unsigned int flag3:1 ; > } sFlags ; > } > > In the read: and write: methods which archive this object, > how do I specify the type of the bitfields in the arguments > to NXReadType() et al.? The storage of bitfields within an int is at the discretion of the compiler and may be architecture dependent. The Intel porting guide suggests that bitfields be archived as individual (char)s: - write:(NXTypedStream *)stream { char temp1 = sFlags.flag1, temp2 = sFlags.flag2, temp3 = sFlags.flag3; [super write:stream]; NXWriteTypes(stream, "ccc", &temp1, &temp2, &temp3); return self; } - read:(NXTypedStream *)stream { char temp1 = sFlags.flag1, temp2 = sFlags.flag2, temp3 = sFlags.flag3; [super read:stream]; NXReadTypes(stream, "ccc", &temp1, &temp2, &temp3); sFlags.flag1 = temp1, sFlags.flag2 = temp2, sFlags.flag3 = temp3; return self; } BTW, you need the temp variables because there is no such thing as the "address" of a bitfield. -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
From: silver@metonymy.ots.utexas.edu (silver Harloe) Newsgroups: comp.sys.next.sysadmin,comp.sys.next.programmer Subject: gcc 2.4.5, next mach 3, g++ Message-ID: <88635@ut-emx.uucp> Date: 28 Jul 93 14:13:21 GMT Sender: news@ut-emx.uucp Followup-To: comp.sys.next.sysadmin So, I installed the gcc 2.4.5 library, no problemo. It knew m68k-next-mach3 and compiled fine (and I did the comparison compile and 'make compare' and it worked, too). I installed GNUs g++ library, again, this went through without a hitch. Then I wrote "hello.cpp," which goes like this: #include <iostream.h> int main () { cout << "Hello world\n"; } The I compiled it and got this: myprompt> g++ -o hello hello.cpp ld: hello.cpp bad magic number (not a Mach-O file) I noticed GNU's C library doesn't have a next-mach version, so I didn't install it and wouldn't be sure it would help if I did... help? anyone else tried to write C++ on a next? --silver-- silver@metonymy.ots.utexas.edu
Newsgroups: comp.sys.next.programmer From: Scott Byer <byer@mv.us.adobe.com> Subject: Re: Q on "Programming the DPS with NeXTSTEP" Message-ID: <1993Jul28.170516.25763@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <234rf3$se9@overload.lbl.gov> Date: Wed, 28 Jul 1993 17:05:16 GMT gil rivlis writes > Hi, I was reading the book "Programming the Display PostScript > System with NeXTSTEP" by Adobe Systems Inc. (the "purple" book), > and I was playing with the code (found it on ftp.adobe.com > pub/adobe/...). I have a question about the NX_CtlPoints > application. They claim in the book that the xyshow method is the > fastest one to draw a large amount of identical (small) points > (or rectangles). Playing with the application I found that, ideed, > this is true if the number of points is less then 1000. However, > for a 1000 points, the drawing time goes way up! Can anyone > duplicate it?, is it some tricky cacheing thing? Can anyone offer > a solution? At about 800 points, I think some internal buffer is getting overflowed (I still have to go look) and a slower code path is being taken. Split the control points up so that you never draw more than 800 in a single xyshow call. -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
From: cc100aa@xray.gatech.edu (Ray Spalding) Newsgroups: comp.sys.next.programmer Subject: Re: CustomApp development with IB Date: 28 Jul 1993 17:31:11 GMT Organization: Georgia Institute of Technology Distribution: world Message-ID: <236d4vINNr0n@mephisto.gatech.edu> References: <22uu8o$178@steffi.demon.co.uk> In article <22uu8o$178@steffi.demon.co.uk> robert@steffi.demon.co.uk (Robert Nicholson) writes: >I believe I use the standard conventional approach to using multiple >nibs. ie. create a class as the nibs owner and have make each class >responsible for that nibs target/action methods. > >I find this ok however, I'm a little concerned that IB is practically >dictacting the way I design my app from a class perspective. For >instance I cannot play with the UI without ensuring that all the >target/action methods line up after my changes. I'm not sure exactly what you're referring to here -- do you mean that in IB you can't target objects in one nib from those in another? If so, you may want to consider connecting to IB's First Responder psuedo-object. That way, the actual target will be determined at runtime by traversing the responder chain. -- Ray Spalding, Office of Information Technology Georgia Institute of Technology, Atlanta Georgia, 30332-0715 Internet: ray.spalding@oit.gatech.edu (NeXT Mail accepted)
Newsgroups: comp.sys.next.programmer From: ian@ohm.york.ac.uk (I Stephenson) Subject: Re: joystick object Message-ID: <1993Jul28.100356.6333@ohm.york.ac.uk> Sender: ian@ohm.york.ac.uk (D I Stephenson) Organization: Electronics Department, University of York, UK References: <CAtqGz.Eq6@hawnews.watson.ibm.com> Date: Wed, 28 Jul 93 10:03:56 GMT In article <CAtqGz.Eq6@hawnews.watson.ibm.com> rasm@vnet.ibm.com(Pete Rasmussen) writes: > Does anyone know if a palette exists which contains an object > similar to the joystick-thing that was used to fly the plane in the > 2.x demo app 'Stealth'? Short of that, can someone give me a clue > how they think it was implemented? > > Thanks. > Pete Rasmussen, rasm@vnet.ibm.com My Joystick object is on sonata (probably still in submissions) - the filename is JS.tar.Z. Its a 2.0 pallete, though the object itself works fine under 3.0 (its used in stereoscope.app). There's full source. It's pretty simple, but unlike the Stealth joystick it uses a timer to self center itself. The code isn't articularly efficient, and the graphics could be improved, but it works fine. Send it getX and getY messages to read it's position. Ian
Newsgroups: comp.sys.next.programmer From: zkessin@cs.brandeis.edu (Zach K) Subject: run away jobs Message-ID: <zkessin.743880433@berry.cs.brandeis.edu> Sender: news@news.cs.brandeis.edu (USENET News System) Organization: Brandeis University Date: Wed, 28 Jul 1993 17:27:13 GMT I am developing a NeXT front end for a text based unix program, and have run into an interesting problem. I am using the Subprocess class to run my back end program. As long as my front end exits normaly I have no real problem. however if the front end dies with out exiting cleanly then nothing ever kills the back end and it continues to run and to take up processor time. Does anyone know of any easy way to trap for a program crashing and run a method in such a case? thanks in advance. Zachary Kessin zkessin@cs.brandeis.edu zkessin@jensen.cc.brandeis.edu (NeXT mail welcome)
From: strobel@dirac.phys.washington.edu Newsgroups: comp.sys.next.programmer Subject: dragging text file icon to app and opening text Summary: how to drag text file icon to appicon and open the file? Keywords: dragging icon text Message-ID: <strobel.743893755@dirac> Date: 28 Jul 93 21:09:15 GMT Article-I.D.: dirac.strobel.743893755 Distribution: na Organization: University of Washington The stuff in NeXTWORLD_DragLab gives examples for dragging image icons into a graphics program. What modifications need to be made for dragging a text file's icon from the Workspace to my app's icon? The app will then read and process the contents of the text file. I'm wanting to do this under 3.0. Thanks for your help, Nick Strobel strobel@dirac.phys.washington.edu
From: borzilda@NeXTwork.Rose-Hulman.Edu (David A Borzillo) Newsgroups: comp.sys.next.programmer Subject: Rounding Error for PS? Date: 28 Jul 1993 21:16:11 GMT Organization: Rose-Hulman Institute of Technology Message-ID: <236qar$njc@master.cs.rose-hulman.edu> I'm modelling a waterwheel for my applicaiton. The problem I'm having with the graphics is that it isn't erasing "cleanly". The top half of my method erases the lines while the bottom half draws the new ones. Is this round off error? Should I cast the numbers? What's left behind are little "dots" near the circle where the wheel is rotating along. Thanks, Dave Here's the code: case 3: { if (clearView ==0) { dropPoint[0].x =0.0; clearView = 2; } PSsetgray(NX_BLACK); PSarc((NX_WIDTH(&bounds)/2.0),(NX_HEIGHT(&bounds)/2.0), 149,0,360); PSstroke(); // this erases the previous set of blades. for (j=0; j<16;j++) { if (j != 4) dropPoint[j].x = dropPoint[j-1].x + 50.0; dropPoint[j].y = (int)(150.0*sin(alpha-(j*0.39))); dropPoint[j].x = (int)(150.0*cos(alpha-(j*0.39))); temp.x = dropPoint[j].x + (NX_WIDTH(&bounds)/2.0); temp.y = dropPoint[j].y + (NX_HEIGHT(&bounds)/2.0); PSsetgray(1.0); PSmoveto(temp.x,temp.y); PSrotate((alpha-(j*0.39))*180/3.14); PSrlineto(30,5); PSrotate(-(alpha-(j)*0.39)*180/3.14); PSstroke(); } // everything is now incremented dropPoint[0].x = dropPoint[0].x + lineSpacing; dropPoint[0].x = (int)dropPoint[0].x%50; if (alpha <= -6.28) alpha = 0.0; alpha -= (lineSpacing/150.0); // this draws the new set of blades for (j=0; j<16;j++) { dropPoint[j].y = (int)(150.0*sin(alpha-(j*0.39))); dropPoint[j].x = (int)(150.0*cos(alpha-(j*0.39))); temp.x = dropPoint[j].x + (NX_WIDTH(&bounds)/2.0); temp.y = dropPoint[j].y + (NX_HEIGHT(&bounds)/2.0); PSsetgray(0.0); PSmoveto(temp.x,temp.y); PSrotate((alpha-(j*0.39))*180/3.14); PSrlineto(30,5); PSrotate(-(alpha-(j*0.39))*180/3.14); PSstroke(); } } ----------------------------------------------------------- David A. Borzillo Mechanical Engineering Junior Software Developer, Fluid Science Learning Center NeXT mail?? -- Please!
From: croehrig@cs.ubc.ca (Chris Roehrig) Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs Subject: Is the -M compiler option broken in NS 3.1? Date: 28 Jul 1993 13:45:30 -0700 Organization: Computer Science, University of B.C., Vancouver, B.C., Canada Message-ID: <236ohaINN110@jax.cs.ubc.ca> Under NS 3.1 (black), cc -M seems to trace #include <file> directives ok, but ignores #include "file" inclusions. Same for -MM: it produces no dependencies at all. When I use cc -M -traditional-cpp, it works ok. Is this a known bug in the new cpp-precomp (it's not listed in the Release Notes), or am I just doing something stupid? -- Chris Roehrig (croehrig@cs.ubc.ca) Small Neural Systems Group Dept. of Computer Science, University of British Columbia, Canada -- Chris Roehrig (croehrig@cs.ubc.ca) Small Neural Systems Group Dept. of Computer Science, University of British Columbia, Canada
Newsgroups: comp.sys.next.programmer Subject: NXBundle Message-ID: <CAwDE4.AwA@news.otago.ac.nz> From: jswain@piglet.otago.ac.nz (Jason Swain) Date: Wed, 28 Jul 1993 23:03:39 GMT Sender: usenet@news.otago.ac.nz (News stuff) Organization: Computer Graphics Lab, University of Otago I am using bundles to dynamically load code into my application as a way to add features without recompiling the program. It is working on some classes, but the ones where I am using routines from the maths library (e.g. hypot) do not load because these references cannot be resolved. Is there a way to solve this problem? Thanks in advance. .............................................................. |o| Jason Swain jswain@mirrim.otago.ac.nz |o| |o| Graduate Student (NeXTmail welcome) |o| |o| Otogo University Phone (25) 331-445 |o| |o| Dunedin or (3) 471-0097 |o| |o| New Zealand Fax (3) 471-0097 |o| |o|..............................................................|o|
From: aking@bbn.com (Allen King) Newsgroups: comp.sys.next.programmer Subject: mult-inheritance, and selector caches Date: 28 Jul 1993 23:53:31 GMT Organization: Bolt Beranek and Newman Inc., Cambridge MA Distribution: world Message-ID: <m5e4brINNjf8@news.bbn.com> Well, it looks like it's best to implement some sort of multiple inheritance in a set of musical objects I'm building. The plan I've heard is to do the primary inheritance ala ObjC, and have id's in the primary object point to other objects that define the alternate inheritances. Cool. To get the object to recognize alternate inheritance methods, one overrides the doesNotRecognize: method the primary to check if the alternate objects recognize the selector. All well and good, but before I cut over the heart of my engine to it, I'm concerned about the performance impacts! This concern brings two questions to the net: QUESTION 1: For some Black (or White) processor, what are the minimum/typical/maximum times (in microseconds) for resolving a selector if it a) is, and b) is not in the selector cache. For the latter, I suspect one could assume that the requisite symbol tables are mapped in VM and resident there, which they probably would with frequent references. Reasonable assumption? QUESTION 2: Is there some (possibly unpulbished) interface which would let my program install an object into the selector cache. A remove or flush would also be good. What would it take to cobbel or beg one in? Allen P.S.: Unfortunately, unlike many of you, my circumstances are such that I can only read the net every weekend (or two), so email'ing me on responses that you think I should respond to quicker would help.
From: sib@cs.umd.edu (Scott Ian Blanksteen) Newsgroups: comp.sys.next.programmer Subject: Question using yacc w/ Objective C Keywords: yacc methods objective c Message-ID: <69757@mimsy.umd.edu> Date: 28 Jul 93 23:32:54 GMT Sender: news@mimsy.umd.edu Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Hi All... Here's the deal: I have a little parser written with lex and yacc. I would like to have the parser invoke an ObjC message when certain reductions are made. I can pass in the object whose methods I want to call. Q: What is the most elegant way of making these method calls? Thanks muchly, Scott PS - Feel free to post your replies - I'm sure thousands of enquiring minds want to know :-)
From: npratt@madmax.modsys (Nevin Pratt) Newsgroups: comp.sys.next.programmer Subject: Re: CustomApp development with IB Date: 29 Jul 1993 00:19:25 GMT Organization: Sun Microsystems, Inc. Distribution: world Message-ID: <23752d$28c@cnn.sim.es.com> References: <199307252134.AA01264@steffi.demon.co.uk> In article AA01264@steffi.demon.co.uk, Robert Nicholson <robert@steffi.demon.co.uk> () writes: > I believe I use the standard conventional approach to using multiple > nibs. ie. create a class as the nibs owner and have make each class > responsible for that nibs target/action methods. > > I find this ok however, I'm a little concerned that IB is practically > dictacting the way I design my app from a class perspective. For > instance I cannot play with the UI without ensuring that all the > target/action methods line up after my changes. This I believe is a > fundamental design problem using NeXT's conventions for applications > with multiple nibs. And i've seen this mentioned as a critism of IB in > the past. I know that one can write target/action methods that do > simply nothing but forward themselves onto other classes and this is > probably a solution but what do people generally do to avoid IB taking > control of your app's design. > > Has anybody come up with a scheme that lets you chop and change at > will with the UI. > > I hope this generates plenty of worthwhile discussion on this topic. The following is a description of what I do: First, as you suggest, I indeed create a class as the NIB's owner-- I call such a class the NIB manager. Second, I usually limit the number of windows to one per NIB. Also, the NIB manager is always a delegate of the window in that NIB. Third, I implement the action method that is appropriate for a particular window (or, I should say, that is an appropriate action when that particular window is key) within the NIB manager for the NIB that contains the window. And last, I connect the First Responder as the target of all (well, "most") action messages, and let the First Responder chain take care of dispatching the method to the appropriate NIB manager (via the window delegation mechanism). If you use the First Responder chain to dispatch the action methods, you effectively divorce the target/action stuff from the specific organization of the classes and views in the app. Two more points: 1. If you have studied the MVC (Model-View-Controller) paradigm first proposed many years ago (and implemented extensively in most Smalltalk implementations), you will recognize my NIB manager as being the 'C' of MVC, and the window in the NIB as being the 'V'. If appropriate, I might create a separate 'M' class, or else implement the 'M' functionality within the 'C' class (the NIB manager). 2. The NIB manager (via window delegate methods) can easily turn on and off applicable target/action buttons (such as menu cells of the main menu) that are applicable when the window that the NIB manages becomes key. See the documentation for the methods (I think) '- windowDidBecomeKey' and '- windowDidResignKey' (or 'windowDidResignFirstResponder', or something like that-- I'm not in front of my NeXT right now). Nevin P.S. I hope I was understandable. I'm getting lazy and didn't want to type any more (explanations) than necessary.
Newsgroups: comp.sys.next.programmer From: jdawson@oceania.com (John Dawson) Subject: Precedence of categories Message-ID: <CAw1E8.731@oceania.com> Sender: jdawson@oceania.com (John Dawson) Organization: Oceania Health Care Systems Date: Wed, 28 Jul 1993 18:44:27 GMT In comp.sys.next.advocacy, royce@splunge.uucp (Royce Howland) writes: > Hmm, you're right. Wonder why they allow categories to override, and > unreliably at that? Seems like a counter-intuitive thing. It's not really surprising, once you realize what categories really do. A category is, basically, a nice wrapper for adding a new set of methods to the linked list of method sets that are part of a class definition. That is, there is a (struct objc_method_list *), which is named isa->methods inside method definitions. struct objc_method_list { struct objc_method_list *method_next; int method_count; struct objc_method { SEL method_name; char *method_types; IMP method_imp; } method_list[1]; /* variable length structure */ Note that this structure represents a node in a linked list. A category defines an objc_method_list with all the methods in that category, and the runtime system inserts that at the start of the linked list isa->methods. So why is it guaranteed that if you load only one category, you will override the methods in the class definition (which is really just the main category)? The class (along with the main category) must be created before the category may be added to that class. Only once that is done can the methods in the category be added to the class. So since the main category got there first, the new category takes precedence. (The astute reader will observe that the runtime system could have been constructed in such a way that the main category might not have been added until later. Thus, a new category could be added before the main category, giving the main category precedence. But since it *is* guaranteed that one category definition will take precedence over the main category, I just assume the runtime system always puts in the main category when it creates the class.) And the reason why it's not guaranteed which category will get precedence when there's more than one is that it's random (as far as the programmer is concerned, anyway) which category gets loaded and processed by the runtime system first. NeXT doesn't document this as being true, but I imagine it's 100% guaranteed that methods in a category that get dynamically loaded will get precedence over anything loaded before. But again, if you dynamically loaded two categories simultaneously, it's random which category would have precedence. ...jkd -- jdawson@oceania.com (John Dawson) If you define cowardice as running away at the first sign of danger, screaming and tripping and begging for mercy, then yes, Mister Brave
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: archiving bitfields with NXWriteType() Message-ID: <1993Jul29.021741.13386@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Jul28.065022.21157@cs.ucla.edu> <1993Jul28.141547.906@afs.com> Date: Thu, 29 Jul 1993 02:17:41 GMT In article <1993Jul28.141547.906@afs.com> greg@afs.com (Gregory H. Anderson) writes: >In article <1993Jul28.065022.21157@cs.ucla.edu> pbiron@oahu.cs.ucla.edu >(Paul Biron) writes: >> Suppose I have a class like the following: >> unsigned int flag1:1 ; >> unsigned int flag2:1 ; >> unsigned int flag3:1 ; >The storage of bitfields within an int is at the discretion of the >compiler and may be architecture dependent. Which is why NeXT would write the above as #ifdef __BIG_ENDIAN__ unsigned int flag1:1 ; unsigned int flag2:1 ; unsigned int flag3:1 ; unsigned int _RESERVED:13 ; #else unsigned int _RESERVED:13 ; unsigned int flag3:1 ; unsigned int flag2:1 ; unsigned int flag1:1 ; #endif > The Intel porting guide >suggests that bitfields be archived as individual (char)s: That's one approach. What's important is keeping compatibility in mind. -=EPS=-
Newsgroups: comp.sys.next.programmer From: stefanos@cs.concordia.ca (KIAKAS stefanos) Subject: Need information on Listener, Speaker, and msgwrap. Message-ID: <CAwtrv.8HB@newsflash.concordia.ca> Sender: usenet@newsflash.concordia.ca (USENET News System) Organization: Computer Science, Concordia University, Montreal, Quebec Date: Thu, 29 Jul 1993 04:57:30 GMT Hello, I'm trying to understand Listener, Speaker, and msgwrap. I've read the documentation (man page and NeXT docs) , but it still seems cryptic. I need to see a working example. Does anyone have (or know where I can get ) sample code on the above items? Thanx, stef
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: comp.sys.next.programmer Subject: NEXTSTEP MiniExamples now available from NeXT archive server! Date: 29 Jul 1993 01:12:32 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9307290522.AA08041@seawolf.next.com> Hello, Great news for all NEXTSTEP Developers and Programmers interested in the following NEXTSTEP source code examples for NEXTSTEP 3.x: NETINFOKIT MINIEXAMPLES APPKIT MINIEXAMPLES INDEXINGKIT MINIEXAMPLES DATABASEKIT MINIEXAMPLES Conrad Geiger NeXT _________________________________________________________________ Anonymous ftp for the NEXTSTEP example code is now available via archive server: ftp.next.com. The MiniExamples for APPKIT, DATABASEKIT, INDEXINGKIT and NETINFOKIT are located in: /pub/NeXTanswers/Documents/Software_&_Tools/MiniExamples Each folder contains an ascii README file describing all available examples. Here is the master list: [ This ReadMe file describes the MiniExamples available in the AppKit, DatabaseKit, IndexingKit and NetInfoKit directories. Each MiniExample is stored as a separate ".compressed" file. The MiniExamples are only available via anonymous ftp or email (and only if you can receive NeXTmail). Since ".compressed" is a binary format, remember to switch to binary mode (type "bin" at command line) when fetching via ftp.] APPKIT MINIEXAMPLES AtYourService example (NEXTSTEP 3.x Release compliant) This example illustrates how applications can export "Services" to other applications (they will appear in other applications' Services menu). BananaSplit example (NEXTSTEP 3.x Release compliant) A simple NXSplitView sizing example. CellScrollView example (NEXTSTEP 3.x Release compliant) A simple example that installs a matrix of custom cells in a subclass of ScrollView. This forms a basis for a user interface that allows the user to add and delete objects from a list. ConvertXYtoChar example (NEXTSTEP 3.x Release compliant) How to convert from an X,Y coordinate location in the Text object to the nearest character position in that object. Grabber example (NEXTSTEP 3.x Release compliant) How to create a TIFF image by reading the bits from a rectangular region from the screen. NormalBrowser example (NEXTSTEP 3.x Release compliant) A very simple straightforward example of an NXBrowser object. PaginationLab example (NEXTSTEP 3.x Release compliant) An example of breaking up a large view into pages for printing. ScrollViewDeluxe palette (NEXTSTEP 3.x Release compliant) An enhanced subclass of ScrollView which includes support for adding controls to the scrollers, automatic support for rulers and support for synchronizing other views. StringList palette (NEXTSTEP 3.x Release compliant) Two objects used for generating and maintaining lists of strings and filenames: StringList includes methods for adding, inserting, sorting and searching strings as well as built-in browser support so that it can be a browser delegate. FilenameList is a subclass of StringList that specializes in filenames. Both objects can be initialized inside of InterfaceBuilder. TextORama example (NEXTSTEP 3.x Release compliant) How to create a TextField which supports restricting text length, autojumping to another TextField and interpreting a carriage return literally. This example also illustrates how to implement emacs key binding support for the Text object. ThumbWheel palette (NEXTSTEP 3.x Release compliant) The ThumbWheel object includes the functionality of a Slider plus the features you would expect from a real thumbwheel. TIFFandEPS example (NEXTSTEP 3.x Release compliant) How to open TIFF or EPS images, how to convert from one format to the other, and how to save them out. TTools palette (NEXTSTEP 3.x Release compliant) This example is an advanced IB Palette primer. Demonstrated features include: how to write a custom connection inspector and custom connector objects; how to palettize Matrix without restricting its prototype cell class; how to add a library target to your palette project so that applications can link in the palette code. WhatsUpDoc example (NEXTSTEP 3.x Release compliant) A skeletal example of how you might manage multiple documents in an application. Save, SaveAs, SaveTo, SaveAll and Revert are implemented. Winfo example (NEXTSTEP 3.x Release compliant) Winfo provides information about NEXTSTEP window memory usage. It's useful for finding windows which unnecessarily allocate alpha or color planes and waste large amounts of memory. ZooView application (NEXTSTEP 3.x Release compliant) An example of a horizontal SplitView. DATABASEKIT MINIEXAMPLES AddressBook example In order to run this example, you need to have a SYBASE server with a pubs database installed. [The pubs database is a sample database provided with the SYBASE limited server package.] After you are properly connected to the Sybase server, you can perform operations such as Select, Insert, Update or Delete. AssociationExample example The current version of DBKit does not provide a way to filter the records fetched by a detail FetchGroup. DBKit does not allow a qualifier to be built into a relationship, nor does it allow a qualifier to be permanently attached to a FetchGroup. The Association example provides a way to do filtering of detail records by using a subclass of DBAssociation that replaces the default association which exists between the master FetchGroup and the detail FetchGroup. BarChart palette This palette demonstrates how to use your custom UI objects with the DBKit. It illustrates in particular the DBCustomAssociation protocol which allows you to retrieve or set values to your database via a custom view objects. BooleanFormatter example This example shows how to substitute the default display format in the TableView to your own format by subclassing the DBFormatter class. In order to run this example you need to have an ORACLE server with a demo database installed. DateFormatter example This example shows how to create a formatter for a DBTableView that uses a subclass of TextFieldCell to validate the user's input. The formatter forces the user to type in values of the form xx/xx/xx. In order to run this example, you need to have an adaptor, a model and a data source. DocumentPalette palette (3.1 only) This palette is a subclass of Control. It shows how to conveniently store files into the database using their absolute pathnames, instead of the data associated with them, and let the WorkSpace do the work for opening or reading the files. You can also drop a file into the document well, and double-click to open it for reading. OrderByTest example This example shows you how to change the sort order every time the columns in the tableview are rearranged. In order to run this example, you need to have an ORACLE server with a demo database installed. RadioAssociation source code These two files allow you to make a matrix of radio buttons sychronize with the boolean data type of your database. TableView example This example shows how you can define a DBTableView and a DBModule programmatically instead of using the corresponding IB objects. It also shows how you can change the sort order every time the columns in the tableview are rearranged. INDEXINGKIT MINIEXAMPLES LanguageReader/ReaderDomain example (3.1 only) This simple program shows how to generate a .domain file programmatically. You should also read the SimpleReader MiniExample (in LanguageReader, below) which shows how to build a customized reader by subclassing IXLanguageReader. LanguageReader/SimpleReader example (3.1 only) This example shows how to build a customized language reader. The reader is organized as a bundle, so that it can be dynamically loaded by the Indexing Kit, if you are using NEXTSTEP applications such as Digital Librarian. RecordManager example (3.1 only) This example demonstrates usage of the Indexing Kit at the IXRecordManager level. At start-up, a new database .data will be created in your home directory. You can then enter records into that database which is managed by IXRecordManager and performs searches based on the record attributes. NETINFOKIT MINIEXAMPLES NILoginPanelTest example This example shows how to bring up a login panel, and do password authentication. The example uses specifically the NetInfoKit classes NILoginPanel and NIDomain.
From: jweiss@casbah.acns.nwu.edu (Jerry Weiss) Newsgroups: comp.sys.next.programmer Subject: Terminal bindings for Arrow Keys. Date: 29 Jul 1993 06:55:09 GMT Organization: Northwestern University, Evanston IL Distribution: na Message-ID: <237s8d$dkh@news.acns.nwu.edu> I'm using some bindings and .macros files for 3.0 (Black) csh that allow the cursor (Arrow) keys to used for set editmode=emacs. Chris Olsen posted the original info I used to set this up. I moved the files to 3.1 (White) and it doesn't work. I've checked the configuration of terminal and it is generating the correct escapes for these keys. Did the format of the .macros file change or did I have an endian problem? -- Jerry S. Weiss j-weiss@nwu.edu Dept. Medicine, Northwestern Univ. Medical School, Chicago, Illinois %SYSTEM-S-PHALOKTARG, Phasers Locked on Target, Ready to Fire
From: besler@gdss.commerce.ubc.ca (Steven Besler) Newsgroups: comp.sys.next.programmer Subject: NXBrowser Question Date: 29 Jul 1993 00:22:39 GMT Organization: The University of British Columbia Distribution: world Message-ID: <23758f$2kp@iskut.ucs.ubc.ca> I was trying to use the following code to load an NXBrowser. I already have a list of NXBrowserCell instance that are ready to be added to the Browser. (arcTypeList) I have only had success in copying these into the Browser, but not putting these actual instances into the browser. Copying them works just fine, but it I don't want to do it that way! So what the heck is wrong with this code? ---------- - (int) browser:sender fillMatrix:matrix inColumn:(int)column { int i; int numberOfRows; numberOfRows = [arcTypeList count]; [matrix renewRows: numberOfRows cols:1]; for (i=0; i < numberOfRows; i++) { [[matrix putCell: [arcTypeList objectAt:i] at:i :0] free]; } return(i); } ----- -- Steven K. Besler <besler@gdss.commerce.ubc.ca> (NeXTmail) UBC 3.5th yr CS Coop Student & NeXTSTEP Application Developer "Being the richest man in the cemetery doesn't matter to me. Going to bed at night saying we've done something wonderful . . . that's what matters to me." Steven P. Jobs CEO of NeXT, Inc.
From: Ye@f236.n104.z1.FIDONET.ORG (Ye) Newsgroups: comp.sys.next.programmer Subject: ABOUT MOUSEMOVED: CALLED RECURSIVELY Message-ID: <4929.2C56F293@paranet.FIDONET.ORG> Date: 27 Jul 93 20:49:00 GMT Sender: ufgate@paranet.FIDONET.ORG (newsout1.26) Organization: FidoNet node 1:104/236 - MacCircles, Genesee CO Thanks Pat I will start playing with it soon. As I said I don't know much but am going to take this opertunity to learn alot. -- Ye - via ParaNet node 1:104/422 UUCP: !scicom!paranet!User_Name INTERNET: Ye@f236.n104.z1.FIDONET.ORG
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Re: Question using yacc w/ Objective C Message-ID: <1993Jul29.055447.1570@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software References: <69757@mimsy.umd.edu> Date: Thu, 29 Jul 1993 05:54:47 GMT Scott Ian Blanksteen writes >Hi All... > Here's the deal: I have a little parser written with lex and >yacc. I would like to have the parser invoke an ObjC message when >certain reductions are made. I can pass in the object whose methods I >want to call. >Q: What is the most elegant way of making these method calls? > > Thanks muchly, > Scott >PS - Feel free to post your replies - I'm sure thousands of enquiring >minds want to know :-) > I wrote a class which models an rcs file and a yacc script which parses an actual rcs file into an RCSFile object. Once created, the RCSFile object can be 'messaged' for any info about the rcs file. Basically, I first create an instance of an RCSFile object and put a pointer to that object into a global variable. I then send messages to that object in each production. You must compile the resulting .c file with the -ObjC flag. Here is a sample production and the function that kicks off the whole thing. You're welcome to the entire file, if you like. ----------------------------------- deltatext : deltatext_entry | deltatext deltatext_entry ; deltatext_entry : DOTSTRING LOG STRING TEXT { [_RCSFile addDeltaTextEntry:$1 log:$3]; } ; -------------------------------- id _RCSFile; id parseRcsFile(const char *fileName) { //This routine allocates and populates the _RCSFile object by parsing fileName. _RCSFile is a global for this file since that's the only way to communicate with yacc. The calling object is responsible for freeing the memory allocated for _RCSFile by this routine. //id rcsPath; _RCSFile = [[RCSfile alloc] init]; [_RCSFile setFileName:fileName]; stripBinary(fileName, "/tmp/rcs_NoBinary"); yyin = fopen("/tmp/rcs_NoBinary", "r"); yyparse(); system("rm /tmp/rcs_NoBinary"); [_RCSFile mergeSymbols]; [_RCSFile mergeLocks]; fclose(yyin); return _RCSFile; } Charles. -- Charles Lloyd clloyd@GLeap.scssi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
Newsgroups: comp.sys.mac.comm,comp.protocols.appletalk,comp.sys.next.sysadmin,comp.sys.next.programmer,comp.sources.d From: aj3u@larch.cs.virginia.edu (Asim Jalis) Subject: How to print from Mac to Unix printer Message-ID: <AJ3U.93Jul29100559@larch.cs.virginia.edu> Followup-To: comp.sys.mac.comm Sender: usenet@murdoch.acc.Virginia.EDU Organization: University of Virginia, Charlottesville, VA 22903 Date: Thu, 29 Jul 1993 15:05:59 GMT I have a NeXT with its local laser printer. The NeXT acts as a general print server for a heterogenous network of Unix machines. I also have a Mac on the same network. What I want to do now is be able to print from the Mac to the NeXT. Has anyone ever tried this? If there is software that does this I would be very interested in finding out about it. Asim Jalis
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: NS 3.1 - NSWSd gone & login from where? Message-ID: <1993Jul28.120717.3265@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <ntomczak.743643953@vega> Date: Wed, 28 Jul 1993 12:07:17 GMT In article <ntomczak.743643953@vega> ntomczak@vega.math.ualberta.ca (N Tomczak-Jaegermann) writes: -> ntomczak@vega.math.ualberta.ca (N Tomczak-Jaegermann) writes: -> (actually Michal Jaegermann, but this is beside the point :-)) -> -> >After a switch to version 3.1 of OS I found that I -> > cannot distinguish anymore if a user is logged in -> > directly on NeXT, or via some networked terminal. -> > This information is rather vital for some of my uses. I realize that your thread is following Terminal.app and comparable logins. Telnet (on-system) however is going to connect through a pty, just as Terminal.app. Login from remote (i.e. serial port-modem), telnet <yourhostname>... No you're not under the workspace, but neither are you non-pty'd. About my change of ``Subject:'' line, however. NSWSd is still a listed service in NetInfo, but no longer supplied nor supported. -NXHost switch now attempts to launch an app at the same path on the remote machine. Anyone know more about this? Bruce Gingery
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: Strange message from /bin/sh from my app... Message-ID: <1993Jul28.121527.3336@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <1993Jul25.001320.23836@milo.UUCP> Distribution: na Date: Wed, 28 Jul 1993 12:15:27 GMT In article <1993Jul25.001320.23836@milo.UUCP> chris%milo@wpa.com (Chris Cleeland) writes: [snip] -> sh: privileges disabled because of outstanding IPC -> access to task Chris, This looks strangely familiar. I could be wrong, but believe that you're trying to debug or execute an SUID-root background executable under sh from a non-root login. Bruce
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: run away jobs Message-ID: <1993Jul29.113409.2273@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <zkessin.743880433@berry.cs.brandeis.edu> Date: Thu, 29 Jul 1993 11:34:09 GMT In article <zkessin.743880433@berry.cs.brandeis.edu> zkessin@cs.brandeis.edu (Zach K) writes: -> I am developing a NeXT front end for a text based -> unix program, and have run into an interesting problem -> I am using the Subprocess class to run my back end -> program. As long as my front end exits normaly I -> have no real problem. however if the front end dies -> with out exiting cleanly then nothing ever kills the -> back end and it continues to run and to take up -> processor time. Does anyone know of any easy way to -> trap for a program crashing and run a method in such -> a case? Surely it depends on just what kind of crash... most crashes are quite ungraceful exits, and really nothing is guaranteed 100%. What comes to mind immediately is application delegate's appWillTerminate: Bruce
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: DBKit DBTableView, DBExpression question Date: 26 Jul 1993 21:48:37 +0100 Organization: me organized? That's a joke! Distribution: world Message-ID: <231fv5$10r@steffi.demon.co.uk> I'm kinda confused how to achive the following DBTableView behaviour. Firstly, my sub-model looks like this PROJECT-CONTACT PROJECT project_id project_id contact_id project_desc PROJECT-LOCATION project_id loc_id to_project (dbmodel to get the project_desc) I currently have a DBTableView in which I display project information for a given location. Hence the to_project relationship so that I can get the project's description field for any one location. My database has the following 1> select * from projects 2> go project_id project_desc ----------- -------------------------------------------------- 1 project 1 2 project 2 3 project 3 (3 rows affected) 1> select * from project_location 2> go project_id location_id ----------- ----------- 1 1 2 1 3 2 (3 rows affected) 1> select * from project_contact 2> go project_id contact_id ----------- ----------- (0 rows affected) Currently for location 1 the DBTableView mentioned above looks like project_desc project 1 project 2 I have set up the dbmodel this way so that I may apply the qualifier based on location. I assume this is the correct way about doing things. Now, not only would I like to see the projects for any particular location but I would like to tag each as having been completed by the current contact. Hence I need to create another column and derive information from the project_contacts table in order to indicate wether or not this particular contact has completed this project. I also have to be able to mark a project completed by the current contact too so it's very like BooleanFormatter execept that I do not know how I should go about deriving the "indicator" columns data. Any clues? So rather than qualify the projects for just a particular contact I need to see all of the projects at that same location but also some indication as to which projects this contact has been working on and an ability to toggle existing projects and show that this contact is working on more projects. -- Real programmers don't use Email they communicate with people.
From: alex@cs.umd.edu (Alex Blakemore) Newsgroups: comp.sys.next.programmer Subject: Re: getting the command line arguments Message-ID: <69780@mimsy.umd.edu> Date: 29 Jul 93 14:26:20 GMT References: <233566$49h@nic.lth.se> Sender: news@mimsy.umd.edu Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 In article <233566$49h@nic.lth.se> cb@loglady.df.lth.se (Christian Brunschen) writes: > I'm trying to get at the command line arguments from within an > application that I'm writing with PB. mail -s '1139 ascii' nextanswers@next.com < /dev/null -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted -------------------------------------------------------------- "Without an engaged and motivated human being at the keyboard, the computer is just another dumb box." William Raspberry
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Re: Thanks, and a Winfo bug report Date: 28 Jul 1993 00:16:15 +0100 Organization: me organized? That's a joke! Message-ID: <234cvv$6mf@steffi.demon.co.uk> References: <234028$29m@tribune.usask.ca> eric@skatter.usask.ca wrote >I see there's a lot of misunderstanding about C out there..... > >I received several mail messages about my earlier posting. > >I said: > There is an error in the Winfo source. There is a line > depth *= 4/3; > that should be changed to: > depth = depth * 4 / 3; > I figure some use of brackets would have avoided any confusion. depth *= (4/3) depth = (depth * 4) / 3; The difference is noticeable now. -- Real programmers don't use Email they communicate with people.
Newsgroups: comp.sys.next.programmer From: mark@meuk.demon.co.uk (Mark Middleton) Subject: Re: DL Bugs? Distribution: world References: <9307092203.AA08623@penny.demon.co.uk> Organization: Mitsubishi Electric UK Limited Date: Tue, 27 Jul 1993 13:30:28 +0000 Message-ID: <743779828snz@meuk.demon.co.uk> Sender: usenet@demon.co.uk In article <9307092203.AA08623@penny.demon.co.uk> robertn@penny.demon.co.uk writes: >This is an NS3.0 question. > >Has DL got a retutation for not recognising indexes in a network environment? > >The .index.store files are there as plain as day but for some reason DL >reports that nothing it indexed and I cannot do any searching not even >sequential searches. > -- Me too! I have to log in as root to use DL. This is a real pain. ________________________ Mark Middleton mark@meuk.com
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Message for Scott Anguish Date: 28 Jul 1993 09:06:48 +0100 Organization: me organized? That's a joke! Distribution: world Message-ID: <235c2o$9ce@steffi.demon.co.uk> Scott, I just got mail bounced from you. I suspect you are playing with sendmail 8.5 Just thought I'd let you know in case you were unaware this was happening. Cheers. -- Real programmers don't use Email they communicate with people.
From: bahder@admii.arl.army.mil (Tom Bahder ) Newsgroups: comp.sys.next.programmer Subject: Installation of g++ and libg++ on NeXT Black Message-ID: <1280@aos.brl.mil> Date: 29 Jul 93 17:26:11 GMT Sender: news@aos.brl.mil Organization: U.S. Army Research Laboratory APG, MD. I have a NeXT Cube computer on which I updated my operating system to NeXTStep3.1. During the update, my installation of gcc-2.3.3 and libg++-2.3 was clobbered. Does anyone have a NeXT instaler package for installig a recent version of gcc on the NeXT ? Such a package was posted on the ftp sites some time ago, but it has disappeared. Alternatively, can anyone provide me with detailed info of installing gcc on the NeXT ? NOTE: This message was posted previously, but the text was cutoff. Tom Bahder email and NeXT mail: bahder@tbb.arl.army.mil Applied Physics Branch U. S. Army Research Laboratory 2800 Powder Mill Road Adelphi, Maryland 20783 tel. 301-394-2042 fax: 301-394-2103
Newsgroups: comp.sys.next.programmer From: thf@zelator.in-berlin.de (Thomas Funke) Subject: Re: Where is putenv??? Message-ID: <1993Jul29.123634.925@gamelan> Sender: thomas@gamelan (thomas) Organization: Disorganization References: <231ks1$2uv@digifix.digifix.com> Date: Thu, 29 Jul 1993 12:36:34 GMT In article <231ks1$2uv@digifix.digifix.com> sanguish@digifix.com (Scott Anguish) writes: > I trying to get the current sendmail (8.5) up and running on my Next, > and with the exception of putenv/setenv/unsetenv I've gotten it compiling > > Unfortunately, it barfs on the link. I've got to using the supplied > setenv/unsetenv, but they want putenv... #include <ctype.h> #define NULL 0 /* Define putenv for machines the don't have it in the standard library. */ int putenv(s) char *s; { int nlen; char *cptr; char **nenv, **eptr; extern char **environ; /* First see if there is an existing 'name=value' with the * same name as s. */ for (cptr = s; *cptr != '=' && *cptr != '\0'; cptr++) ; if (*cptr == '=' && cptr > s) { nlen = cptr - s + 1; for (eptr = environ; *eptr != NULL; eptr++) { if (strncmp(*eptr, s, nlen) == 0) { *eptr = s; return 0; } } } /* New name, so must change environ. */ for (eptr = environ; *eptr != NULL; eptr++) ; nenv = (char **) malloc((eptr - environ + 2) * sizeof(char *)); if (nenv == NULL) return -1; eptr = environ; environ = nenv; while ((*nenv = *eptr) != NULL) nenv++, eptr++; *nenv = s; nenv[1] = NULL; return 0; } -- ------------------------------------------------------------------ Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de Brook's Law: Adding manpower to a late software project makes it later ------------------------------------------------------------------
From: ben@carie.mcs.mu.edu (Benjamin Black) Newsgroups: comp.sys.next.programmer Subject: Where is unistd.h? Date: 29 Jul 1993 16:10:08 GMT Organization: Marquette University - Dept. Math, Statistics, & Comp. Sci. Distribution: world Message-ID: <238sp0$fhv@spool.mu.edu> I am trying to compile Tierra under NS3.0, but it wants the unistd.h include file, and I can't find it. Please help. Thanks in Advance, Ben ben@carie.mcs.mu.edu (NeXTmail welcome)
Newsgroups: comp.sys.next.programmer From: robertn@steffi.demon.co.uk (Robert Nicholson) Subject: Re: CustomApp development with IB Message-ID: <CAxFtu.AE1@demon.co.uk> Sender: news@demon.co.uk (Usenet Administration) Organization: Demon Internet Services. References: <23752d$28c@cnn.sim.es.com> Date: Thu, 29 Jul 1993 12:53:53 GMT Right, well I tried it and as far as I can tell it basically gives you an approach that as you say divorces the target/action connection from the specific UI element and places it onto the first responder and eventually is forwarded by the window's delegate. I like this however, can you please give me a tangible explaination as to why this is such a desirable approach? Incidently, have you updated your Rules.rtf lately? (Send me a copy :-)) ie. why go indirectly thru first responder to file owner rather than directly to file owner. My original question related to having the ability to come up with a scheme that didn't tie a particular action method down to a specific window which your scheme still does. Hence, you can play with the UI but really only in the same window if you get what I'm saying? Since you are still dependent on the file's owner. ie the windows delegate right..... I know what I'm looking for is perhaps a bit unrealistic but imagine automatically being able to take a UI based on one window only to just be able to split it up into mulitplewindows just by using IB. Your approach is certainly a step in the right direction though.
Newsgroups: comp.sys.next.misc,comp.sys.next.programmer From: sherwood@fenris.space.ualberta.ca (Sherwood Botsford) Subject: Re: NS 3.1 - how to find out where you are logged in?? Message-ID: <1993Jul29.183728.3105@kakwa.ucs.ualberta.ca> Followup-To: comp.sys.next.misc,comp.sys.next.programmer Sender: news@kakwa.ucs.ualberta.ca Organization: University Of Alberta, Edmonton Canada References: <ntomczak.743588082@vega> Date: Thu, 29 Jul 1993 18:37:28 GMT N Tomczak-Jaegermann (ntomczak@vega.math.ualberta.ca) wrote: : After a switch to version 3.1 of OS I found that I cannot distinguish : anymore if a user is logged in directly on NeXT, or via some networked : terminal. This information is rather vital for some of my uses. : Up to now there was an environment variabiable "Workspace" which was : set in the first case, but not in the second. It looks like that it : vanished. Does anybody know if there is some other clever way to get : this information, or I have to write a special program which will : muck with an environment and which I will have to hook up with : 'dwrite Workspace LaunchPaths'? A script can do this: set WorkSpaceOwner = `who | awk '$2 == "console" {print $1}'` Then you can test if WorkSpaceOwner is equal to $user -- => Sherwood Botsford sherwood@space.ualberta.ca <= => University of Alberta Lab Manager, Space Physics Group <= => tel:403 492-3713 fax: 403 492-4256 <=
From: blake015@mc.duke.edu (Denise Blakeley) Newsgroups: comp.sys.next.programmer Subject: Re: NEXTSTEP MiniExamples now available from NeXT archive server! Message-ID: <18388@news.duke.edu> Date: 29 Jul 93 13:40:09 GMT References: <9307290522.AA08041@seawolf.next.com> Sender: news@news.duke.edu Conrad Geiger writes > Anonymous ftp for the NEXTSTEP example code is now available via > archive server: > > ftp.next.com. > > The MiniExamples for APPKIT, DATABASEKIT, INDEXINGKIT and > NETINFOKIT are located in: > > > /pub/NeXTanswers/Documents/Software_&_Tools/MiniExamples Directory /pub/NeXTanswers/Documents isn't there! I just went to /pub/NeXTanswers and did an 'ls', which yielded the following: ByNumber README 1000_Help 1001_Master_Index Files AsciiFiles CompressedFiles Perhaps I'm trying too soon after Conrad's posting? :-) Denise -- Denise Blakeley | PROGRAM, tr. v., An activity similar Duke Med Center Info Systems | to banging one's head against a wall, Durham, NC | but with fewer opportunities for (919) 282-6468 W | reward. blake015@mc.duke.edu |
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: NEXTSTEP MiniExamples now available from NeXT archive server! Date: 29 Jul 1993 16:58:57 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <239dmh$7vf@digifix.digifix.com> References: <18388@news.duke.edu> Denise Blakeley writes > Conrad Geiger writes > > /pub/NeXTanswers/Documents/Software_&_Tools/MiniExamples > > Directory /pub/NeXTanswers/Documents isn't there! I just went to > /pub/NeXTanswers and did an 'ls', which yielded the following: > Nope, I think Conrad made a booboo /pub/NeXTanswers/Files/Software_&_Tools/MiniExamples is there -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
From: gobbi@snark.aero.org (Michael Gobbi) Newsgroups: comp.sys.next.programmer Subject: NXWorkspaceRequestProtocol HELP!!!!!!!!! Date: 29 Jul 1993 21:11:20 GMT Organization: The Aerospace Corporation, El Segundo, CA Message-ID: <239edo$50p@news.aero.org> Keywords: delegate workspace I am using the workspace protocol to transfer files. After the files have been moved/copied my program needs to update a browser. The documentation says that if my application delegate responds to the message app:fileOperationCompleted: it will get that message after the file operation is done. The problem is it is never sent that message. Below is some example code. The output is: Should perform call back /*------------------------------------------------------------------- * Set as the application delegate * ------------------------------------------------------------------*/ @implementation AppDelegate /* This message is never sent */ - app:sender fileOperationCompleted:(int)operation { printf("Got the app:fileOperationCompleted: message \n"); return self; } - callWorkSpace:sender { int returnValue ; // Just to make sure everything is set if([NXApp delegate] !=self) printf("Delegate not set !!\n"); returnValue = [[Application workspace] performFileOperation:WSM_COPY_OPERATION source:"/u/gobbi" destination:"/tmp" files:"testFile\ttestFile-2" options:NULL]; if(returnValue>0) /* If this is printed out then we should be sent app:fileOperationCompleted: */ printf("Should perform call back \n"); else printf("No Call back\n"); return self; } @end /* --------------------------------------------------------- */ If anyone can tell me what is wrong I would greatly appreciate hearing about it. Thanks. --Michael ________________________________________________ Michael Gobbi phone: (310) 336-8085 The Aerospace Corp. E-Mail: gobbi@aero.org Mail Station M1-102 NeXTMail: gobbi@aero.org P.O Box 92957 Los Angeles, CA 90009
From: fischedj@ NeXTwork.Rose-Hulman.Edu (David J. Fischer) Newsgroups: comp.sys.next.programmer Subject: Re: NEXTSTEP MiniExamples now available from NeXT archive server! Date: 29 Jul 1993 21:09:22 GMT Organization: Rose-Hulman Institute of Technology Message-ID: <239ea2$1m2@master.cs.rose-hulman.edu> References: <18388@news.duke.edu> In article <18388@news.duke.edu< blake015@mc.duke.edu (Denise Blakeley) writes: < Conrad Geiger writes < < Anonymous ftp for the NEXTSTEP example code is now available via < < archive server: < < < < ftp.next.com. < < < < The MiniExamples for APPKIT, DATABASEKIT, INDEXINGKIT and < < NETINFOKIT are located in: < < < < < < /pub/NeXTanswers/Documents/Software_&_Tools/MiniExamples < < Directory /pub/NeXTanswers/Documents isn't there! I just went to < /pub/NeXTanswers and did an 'ls', which yielded the following: < < ByNumber < README < 1000_Help < 1001_Master_Index < Files < AsciiFiles < CompressedFiles < < Perhaps I'm trying too soon after Conrad's posting? :-) < < Denise < -- < Denise Blakeley | PROGRAM, tr. v., An activity similar < Duke Med Center Info Systems | to banging one's head against a wall, < Durham, NC | but with fewer opportunities for < (919) 282-6468 W | reward. < blake015@mc.duke.edu | Try /pub/NeXTanswers/CompressedFiles/Software_&_Tools/MiniExamples They're there. -- David J. Fischer : fischedj@nextwork.rose-hulman.edu "What's more important, the plays of Shakespeare or the quill he used to write them down? If he'd used a mission critical custom quill with built-in spell checker, would his plays have been any better? " -- Dave Griffiths (in response to a NeXT advocate on c.s.n.m)
Newsgroups: comp.sys.next.programmer From: wave@pixar.com (Michael B. Johnson) Subject: Re: I want a NXShaderPanel & NXShaderList & NXShaderWell... Message-ID: <1993Jul29.200432.11769@pixar.com> Sender: news@pixar.com (Usenet Newsmaster) Organization: Pixar -- Point Richmond, California References: <1993Jul28.080226.20287@cubx.com> Date: Thu, 29 Jul 1993 20:04:32 GMT Woops, didn't mean to steal any thunder from Intuitiv'3d, it's a great app and it does do a lot of the stuff I was talking about. My own concern was that this should really be a more generally available thing, so that I could share shader instances between full blown 3d apps, like intuitiv'3d, solidThinking, FrontFace, 3DReality, etc. and other apps that aren't exclusively 3D, things like a spreadsheet that does 3d charting. It seems silly to have to fire up intuitiv'3d, render lots of little pics as representative of my shaders, and have it save them away somewhere where I can't use them in FrontFace, 3DReality, or my own apps. Also, I didn't want to mention intuitiv'3d's (yikes! look at that punctuation) specific features, as I thought that was breaking my beta test agreement. I didn't see anything in my post (I mention intuitiv'3d as one of the apps I'm using, vaguely mention that they handle it in a nice-but-incompatible-with-other-apps way) that violated my agreement. And, truthfully, a lot of this comes originally from being a beta tester of PIXAR's Glimpse, which I've had in my hands as a beta tester longer rather than Intuitiv'3d. One of my frustrations was seeing how nicely this all could play together if apps could talk the same talk concerning shader instances. Anyway... - wave In article <1993Jul28.080226.20287@cubx.com> arno@fdn.org (Arnaud Weber) writes: > In comp.sys.next.programmer article (<1993Jul23.015128.8497@pixar.com> > Michael B. Johnson wrote: > > > I'm about to hack something together, and thought I'd toss the idea out > > here first to see if anybody has any good feedback: > > > > Well, I've been playing with all the various 3D apps available under > > NEXTSTEP, as well as writing my own stuff, and I'm finally sick of it. > I > > know the 3DKit folks are probably busy with other (more important) > things, > > so I thought I'd bring my gripe to the Net. > > > > ... > > > > One way to think about RenderMan shaders is that they're similar to > > typefaces or colors. They actually have attributes more of Multiple > > Master Adobe fonts, where you have a given set of parameters that you > > frob. From a NEXTSTEP programmer point of view, the > > shader-as-font-or-color analogy holds in many ways, with one glaring > > exception: we've got a FontPanel and a NXColorPanel, but no > ShaderPanel. > > > > ... > > > > On the 3D side of things, however, things are nowhere near as developed. > > All the 3D apps I use on a semi-regular basis (3DReality, FrontFace, > > Intuitiv'3d, my own weird stuff) all have their own solution to this > > problem. They all handle it basically the same (incompatible) way: > they > > scan some known locations for all the .slo files, and present the user > > with a list of shader names. They also look in various places for a > tiff > > file which corresponds to that shader. Some of the apps help the user > > make this image, some just specify a known location to stick an image of > > the correct size with a given name. None of them do it the same way. > > > >... > > > > So here's what I'm gonna do: for my system (WavesWorld) I'll be writing > a > > couple of objects: WWShaderPanel, WWShaderList, WWShaderWell, and > > WWShaderInspector. > > > > ... > > > > Anyway, I'm going to be implementing this stuff sometime in the next > month > > or so (hopefully), and if anyone has any brainstorms, let me know. As > > long as I get the code finished before I'm back at the Media Lab, I'll > > probably make it available, so it's in your best interest to advise > early > > and often... > > > > Those are great ideas... but where's the news? > intuitiv'3d does provide a ShaderPanel, ShaderWells for all shader > types ( surface , displacement, arealight, volume... ) , MetaShader and > MetaShaderWell to completely describe a 3D surface in one instance. > > > Since Michael B. Johnson is beta tester of intuitiv'3d, we at Cub'x are > quite disappointed to see he forgot to mention those intuitiv'3d > features... > > Anyway, it would be a good idea to share shader objects for all 3D > applications. However I think that it should be the work of NeXT and not a > third party (even as freeware). > This could indeed be a N3DShader evolution since: > > - N3DShader has no icons > - N3DShader does not support tiff for texture mapping. > - N3DShader does not support map calculation for environment mapping > - N3DShader does not include displacement bounds for displacement mapping > > intuitiv'3d does not store tiff separately for shader's icons, but stores > the icon with the instance that stands for the shader instance... An icon > can be set inside the software using the IconPanel. The icon > can be a tiff somewhere on your disk or a picture rendered inside > intuitiv'3d. > intuitiv'3d also handles mathematical functions with a FonctionPanel and > FunctionWell... > > Perhaps soon a WWIconPanel / WWFunctionPanel / WWFunctionWell ? (=; > > > Arnaud > > > -- --> Michael B. Johnson -- wave@media.mit.edu, wave@pixar.com --> MIT Media Lab -- Computer Graphics & Animation Group --> P*I*X*A*R -- IceMan Group (for the summer)
Newsgroups: comp.sys.next.programmer From: jpowell@borg.lib.vt.edu (James Powell) Subject: 3.0 -> 3.1 compile problems Message-ID: <1993Jul29.215930.11264@ecsvax.uncecs.edu> Keywords: 3.0, 3.1, cpp Sender: usenet@ecsvax.uncecs.edu (News Administrator) Organization: UNC Educational Computing Service Date: Thu, 29 Jul 1993 21:59:30 GMT I have been trying to build the Weather.app on an Intel machine and I get tons of warnings. It builds fine under 3.0. Is this the new cpp at work? What do I do to compile apps like this? How can so much stuff break from 3.0 to 3.1???? -- James Powell
From: fahller@harmac.ppc.ubc.ca (Bjorn Fahller) Newsgroups: comp.sys.next.programmer Subject: What's going on with my typed stream in memory? Date: 29 Jul 1993 22:12:12 GMT Organization: The University of British Columbia Message-ID: <239hvs$7om@iskut.ucs.ubc.ca> I'm trying to implement immediate cutting and pasting by passing an in memory stream to the pasteboard, as in "NeXTSTEP PROGRAMMING STEP ONE: Object-Oriented Applications" [Garfinkel, Hamoney], p516. What I want to copy to the pasteboard is a list of objects, so I used the following technique: stream = NXOpenMemory(NULL, 0, NX_WRITEONLY); typedStream = NXOpenTypedStream(stream, NX_WRITEONLY); NXWriteObject(stream, selectedList); NXGetMemoryBuffer(stream, &data, &length, &maxlen); [thePasteboard writeType:viewPasteType data:data length:length]; NXCloseTypedStream(typedStream); NXCloseMemory(stream, NX_FREEBUFFER); It ALWAYS fails on the NXWriteObject, with the following message: "Typed streams library error: expecting a writing stream" Why? I assume I have missed something obvious, but what? The "selectedList", by the way, is an instance of the list defined in <objc/List.h>. _ /Bjorn. -- UBC Pulp & Paper Centre | 4549 W. 11th Avenue | A Swede in 2385 East Mall | Vancouver, B.C. | temporary Vancouver, B.C. | Canada V6R 2M5 | exile. Canada V6T 1Z4 | | Tel: +1 604/822-8567 | Tel: +1 604/222-4952 |
From: fahller@harmac.ppc.ubc.ca (Bjorn Fahller) Newsgroups: comp.sys.next.programmer Subject: Re: What's going on with my typed stream in memory? Date: 29 Jul 1993 22:36:21 GMT Organization: The University of British Columbia Message-ID: <239jd5$7rl@iskut.ucs.ubc.ca> References: <239hvs$7om@iskut.ucs.ubc.ca> In article <239hvs$7om@iskut.ucs.ubc.ca> fahller@harmac.ppc.ubc.ca (Bjorn Fahller) writes: OK, I made a pretty obvious error, but the probjem still isn't solved. > NXWriteObject(stream, selectedList); Should of course be NXWriteObject(typedStream, selectedList); However, that gives the following result: Program generated(1): Memory access exception on address 0x28 (protection failure). What's this supposed to mean? _ /Bjorn. -- UBC Pulp & Paper Centre | 4549 W. 11th Avenue | A Swede in 2385 East Mall | Vancouver, B.C. | temporary Vancouver, B.C. | Canada V6R 2M5 | exile. Canada V6T 1Z4 | | Tel: +1 604/822-8567 | Tel: +1 604/222-4952 |
From: deluxe@well.sf.ca.us (Don Hurter) Newsgroups: comp.sys.next.programmer Subject: Re: File Encryption in Workspace.app Followup-To: comp.sys.next.programmer,comp.sys.next.misc Date: 29 Jul 1993 23:49:05 GMT Organization: Babbage MacroSystems Distribution: world Message-ID: <deluxe-290793163347@17.220.88.2> References: <233so0$ek@senator-bedfellow.MIT.EDU> <2343qp$2ls@senator-bedfellow.MIT.EDU> In article <2343qp$2ls@senator-bedfellow.MIT.EDU>, jgshir@athena.mit.edu (John G Shirlaw) wrote: > > In article <233so0$ek@senator-bedfellow.MIT.EDU>, zmonster@athena.mit.edu (Eric M Hermanson) writes: > |> I was browsing through the filesystem in NS3.0, and I came across some > |> interesting NIB files. Specificallly, in > |> > |> /usr/lib/NextStep/Workspace.app/WM.app/English.lproj/EncryptPanel.nib > |> > |> This nib is has a picture of a closed lock with a text field asking user to > |> enter they file encryption "key". I think I heard last year that the > |> government did not allow NeXT to incorporate this encryption because it > |> was too powerful (and if it fell into the wrong hands....) Is this true? > |> If so, it it interesting they still have the resources in the .app folder. > > Unix comes with an encription and decription program, and this may be just a > front end to this suit of tools. From what I understand the encription method is > fairly simple and can be broken reasonably easy if someone knows what they are > doing. > > Just my thoughts. > > john. At last year's NeXTWORLD Expo Steve Jobs demoed a cool encryption app that was supposed to be built into NS 3.0, using the padlock as a status indicator. It promised to make file encrytion as simple as printing or any other service, but alas, the technology was a little too sophisticated for the US Gov't to allow. Also, it was based on a proprietary (and superior) encryption technique, rather than the more popular RSA method (who are, ironically, located in Redwood City.) Unfortunately, Apple may have the first fully-integrated encryption system, built into their AOCE environment, slated for release later this year. One more case where NeXT pioneers an idea, with the best implementation (too good in this case), yet someone else will probably get all the credit. (Earlier issues of NeXTWORLD, around Jan-Apr 1992, have articles describing NeXT's encryption technology.) -- Don __________________________________________________________________________ I neither confirm nor deny the presence of any disclaimer at this juncture
Newsgroups: comp.sys.next.programmer From: brad@instep.wimsey.bc.ca Subject: How are signals handled in NeXT's Mach? Message-ID: <1993Jul30.004409.17574@instep.wimsey.bc.ca> Keywords: mach osf signals Sender: brad@instep.wimsey.bc.ca (Bradley Head) Organization: InStep Mobile Communications Inc. Date: Fri, 30 Jul 1993 00:44:09 GMT I would like to know how NeXT's release of Mach handles the delivery of UNIX signals in the context of a multithreaded program. According to the CMU paper on Mach, a multithreaded task signal is received by an ARBITRARY thread. It is not possible to pre-determine which thread will receive the signal. OSF/1 Release 1.1 changed this to allow the first thread, i.e the thread that executes main() within a C program, to be the receiver of 'asynchronous' signals (SIGINT for example). A class of 'synchronous' signals (SIGSEGV, SIGEMT, etc...) are delivered to the thread that caused the signal to be generated. Does NeXT's Mach behave like OSF/1? From my tests it would appear so, but this could just be a fluke. Thanks in advance. Brad. -- Bradley Head Software Developer, InStep Mobile Communications Inc. brad@instep.wimsey.bc.ca (NeXTmail accepted) 604 872-7116 fax: 604 872-7125
Newsgroups: comp.sys.next.programmer From: dwboyce@acsu.buffalo.edu (Doug Boyce) Subject: DriverKit question (IOEthernet) Message-ID: <CAyFA1.288@acsu.buffalo.edu> Sender: nntp@acsu.buffalo.edu Organization: University at Buffalo Date: Fri, 30 Jul 1993 01:39:36 GMT I'm trying to port a standard interrupt driven driver to single I/O thread and need a few question answered. 1) When NeXT says that the kernel driver support disables interrupts after the the hardware interrupts the CPU does this mean a specific interrupt number or an interrupt priority. If I loop in "-interruptOccured" and don't enable interrupts until my device says its finished will other "like" devices fail to have their driver notified. 2) If I "-enableInterrupt:" in "-interruptOccurred" while looping and receive another interrupt, will the kernel message "-interrupOccurred" from another thread (simultanesously) or wait to the initial method exits. 3) Does handlePacket:error: take a full ethernet packet or does it require that the source and destination etheraddress to be stripped prior. -- Doug Boyce dwboyce@acsu.buffalo.edu
Newsgroups: comp.sys.next.programmer From: anderson (Ken Anderson) Subject: Re: dragging outside of a NiftyMatrix (ScrollDoodScroll Example) Message-ID: <1993Jul29.154503.18591@biztech.com> Sender: news@biztech.com Organization: Biztech, Inc. References: <1993Jul28.064706.21040@cs.ucla.edu> Date: Thu, 29 Jul 1993 15:45:03 GMT In article <1993Jul28.064706.21040@cs.ucla.edu> pbiron@oahu.cs.ucla.edu (Paul Biron) writes: >Hi, > >I've been trying to extend the drag/drop functions of the >NiftyMatrix.[hm] object in the ScrollDoodScroll example >(NS 2.x). > >As it exists in NiftyMatrix.m, the cell being dragged is >constrained to stay within the bounds of the matrix. >What I'm trying to do is allow dragging outside the >matrix (the idea is to allow dragging a cell from one >browser to another). Below is the relevant part of >the mouseDown: method as implemented in NiftyMatrix.m > >However, if I remove the code which constrains the frame of the >dragging cell to the bounds of the matrix, what happens on the >screen when the mouse moves outside the matrix is that the cell >moves *underneath* the scrollView, rather than *ontop* of the >matrix and possibly out of the window altogether. > >Since I know very little about DPS and what PSComposite is >actually doing, can someone help explain this behavior and >how I can correct it? Could it have something to do with the graphics >state of the cell? Could it have something to do with the fact >that the matrix is a subview of the ClipView of the ScrollView? > >Any help is greatly appreciated. > Paul, There are a number of reasons why what you're doing is not accomplishing what you wish. First off, the compositing operation is happening inside the lockFocus on the matrix's view (which is the scrollview's docView). Therefore, although you are calling PScomposite with numbers outside the bounds, the clipping rectangle is still in effect (the one the scrollView sets up to do the scrolling). The correct way to approach this (in my opinion), is: If you need the nifty capabilities, use a different keyboard modifier to switch over to a drag operation. Drag operations are supported in NEXTSTEP through a number of protocols. It works through pasteboard types, so you'll have to set up a pasteboard type that represents the data you wish to move between views. My recommendation is to type 'NXDragging' in Librarian with the NeXT Developer icon selected, and searching set to 'within'. This will give you the documents necessary to do what you want. Ken Anderson anderson@biztech.com Stamford, CT
From: glenn@rightbrain.com (Glenn Reid) Newsgroups: comp.sys.next.programmer Subject: Re: What's going on with my typed stream in memory? Message-ID: <1287@rtbrain.rightbrain.com> Date: 30 Jul 93 01:48:57 GMT References: <239jd5$7rl@iskut.ucs.ubc.ca> Sender: glenn@rightbrain.com Bjorn Fahller writes > OK, I made a pretty obvious error, but the probjem still isn't solved. > > > NXWriteObject(stream, selectedList); > > Should of course be NXWriteObject(typedStream, selectedList); > > However, that gives the following result: > Program generated(1): Memory access exception on address 0x28 (protection > failure). You don't show the surrounding code, but I think the problem is either that you don't have a valid object in your "selectedList" id or else "typedStream" hasn't been opened or initialized properly. Do other things archive correctly to the same stream? What happens if you stop the app in the debugger and look at "selectedList"? The memory exception on address 0x28 looks an awful lot like an uninitialized variable (probably "selectedList"). -- Glenn Reid NeXTmail: glenn@rightbrain.com RightBrain Software 415-326-2974 (NeXTfax 326-2977) Palo Alto, California Electronic Frontier Foundation, member #054
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Where is unistd.h? Message-ID: <1993Jul30.022111.12869@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <238sp0$fhv@spool.mu.edu> Date: Fri, 30 Jul 1993 02:21:11 GMT You're asking the wrong question. You should be asking "where is the _information I need_ located?" To answer that, remove the unistd.h line and see what errors--if any--you get. If everything compiles just fine after that, it wasn't really needed. There may be a different file (e.g. fcntl.h) that will substitute. As a general rule, any code that depends on unistd.h isn't portable. (Surprise!) -=EPS=-
Newsgroups: comp.sys.next.programmer From: jdawson@oceania.com (John Dawson) Subject: How do you send Mach port send rights with Distributed Objects? Message-ID: <CAy7s0.FCA@oceania.com> Sender: jdawson@oceania.com (John Dawson) Organization: Oceania Health Care Systems Date: Thu, 29 Jul 1993 22:57:32 GMT How do you transmit Mach port send rights with Distributed Objects? Or for that matter, receive rights? I want to make a server that doles out ports to people that ask for them. In particular, I want to hand out a privileged bootstrap port and a Workspace port, to get by the Public Window Server mechanism for remote clients that pass authentification checks. The Distributed Objects documentation doesn't say that ports can't be freely transmitted, just like everything else, but it also doesn't give information on how to specify whether you're transmitting send or receive rights, either. I've tried the obvious thing of just having an argument be a (port_t *) and stuffing a copy of the port in there; no luck. I've tried wrapping the ports I want to send in NXPort objects, but that didn't seem to work, either. I can do this with Speaker/Listener, no problem, but I'd rather jab sewing needes in my eye sockets than use them. ...jkd -- jdawson@oceania.com (John Dawson) We tend to scoff at the beliefs of the ancients. But we can't scoff at them personally, to their faces, and this is what annoys me.
Newsgroups: comp.sys.next.programmer From: kwang@data.acs.calpoly.edu (Kevin John Wang) Subject: Question about .app's Message-ID: <1993Jul30.021915.175189@zeus.calpoly.edu> Sender: news@zeus.calpoly.edu Organization: Cal Poly State University, San Luis Obispo Date: Fri, 30 Jul 1993 02:19:15 GMT I want to create a wrapper for an App, that will work as a license manager. I want the wrapper to check various things like which host it is on, how many copies are in use, and if it passes the test, run it. If not, pop a panel up that says something like "you cannot run this here, try machine Y." Does anyone know of how I might do this? I tried replacing the executable in the .app directory, but the WorkSpace doesn't want to run it as such. PLEASE email me answers, since I don't read this group often. - Kevin Wang
Newsgroups: comp.sys.next.programmer From: titmouse!bshirley (C. William Shirley) Subject: Re: archiving bitfields with NXWriteType() Message-ID: <1993Jul30.050215.9199@gleap.jpunix.com> Sender: bshirley@gleap.jpunix.com Organization: The Republic of Texas References: <1993Jul29.151023.1693@afs.com> Date: Fri, 30 Jul 1993 05:02:15 GMT In article <1993Jul29.151023.1693@afs.com> greg@afs.com (Gregory H. Anderson) writes: > In article <1993Jul29.021741.13386@csus.edu> eps@futon.SFSU.EDU (Eric P. > Scott) writes: > > In article <1993Jul28.141547.906@afs.com> greg@afs.com > > (Gregory H. Anderson) writes: > > >In article <1993Jul28.065022.21157@cs.ucla.edu> pbiron@oahu.cs.ucla.edu > > >(Paul Biron) writes: > > >> Suppose I have a class like the following: > > > > >> unsigned int flag1:1 ; > > >> unsigned int flag2:1 ; > > >> unsigned int flag3:1 ; > > > > >The storage of bitfields within an int is at the discretion of the > > >compiler and may be architecture dependent. > > > > Which is why NeXT would write the above as the horrible construct... > > > > #ifdef __BIG_ENDIAN__ > > unsigned int flag1:1 ; > > unsigned int flag2:1 ; > > unsigned int flag3:1 ; > > unsigned int _RESERVED:13 ; > > #else > > unsigned int _RESERVED:13 ; > > unsigned int flag3:1 ; > > unsigned int flag2:1 ; > > unsigned int flag1:1 ; > > #endif > > Well, that's (possibly) fine as long as all your useful bitfields are > under 8 bits and you always use the same compiler manufacturer. What > happens if you have a 32-bit-wide int and use 16 as one element? Can you > say for certain what order those 16 will be internally? What if Borland > ObjC extensions allocate bitfields differently? I think the "official" way > is safer. I agree wholeheartedly hear. Do as NeXT says, not as they do!!! converting a bitfield to the "real" type (u_char, BOOL,...) before archive will mean you never touch the archiving code again (for porting reasons). And, hey. It's good coding style, so just do it. -Bill -- Bill Shirley (NXceptable) BShirley@GLeap.sccsi.com (home) | BShirley@atg.WilTel.com (work) ``I had so many problems, then I got me a Walkman.'' - Frank Black
Newsgroups: comp.sys.next.programmer From: titmouse!bshirley (C. William Shirley) Subject: Re: Beginner Question... Message-ID: <1993Jul30.050622.9258@gleap.jpunix.com> Sender: bshirley@gleap.jpunix.com Organization: The Republic of Texas References: <34702@galaxy.ucr.edu> Date: Fri, 30 Jul 1993 05:06:22 GMT In article <34702@galaxy.ucr.edu> theharv@news.ucr.edu (Brian Harvey) writes: > Here a beginner's question. Hopefully, someone will be kind enough > to answer if for me... > > How can I get an object in one .nib file to send a message to a different > object in another .nib file? Both .nib files are dynamically loaded into > my application but one needs to send a message to the other. > > Any help would be greatly appreciated. > > theharv@csld.ucr.edu If one nib is somehow "related" to the other, then you could make one of the objects in the first nib be the owner of the other nib. You can then set the NibOwner class in the second nib to the type that will be the owner and connect outlets and actions at will. ...if they're somehow related. (which it seems they are if one is sending messages to another). -Bill -- Bill Shirley (NXceptable) BShirley@GLeap.sccsi.com (home) | BShirley@atg.WilTel.com (work) ``I had so many problems, then I got me a Walkman.'' - Frank Black
From: balfanz@zorro.informatik.hu-berlin.de (Dirk Balfanz) Newsgroups: comp.sys.next.programmer Subject: (NeXT) gdb and (non-NeXT) gcc-2.4.5? Date: 30 Jul 1993 07:17:08 GMT Organization: Humboldt University Berlin, Department of Computer Science Distribution: world Message-ID: <23ahtk$82f@hahn.informatik.hu-berlin.de> I want to write portable software on my NeXT, hence using the non-NeXT gcc-2.4.5 (g++ of that realease, to be precise). On the other hand, I would like to use the NeXT supplied gdb with its 'view' feature. Guess what, it doesn't work (for me). When typing 'view' Edit.app won't show me the source file. When I load it by hand and then try to, say, use the 'Break at' button gdb will say something like: type name unknown at symtab pos 64. Error occured processing command from Edit. So may be there is a general incompatibilty between gcc-2.4.5 and gdb? If I give up using 'view' and simply type 'list' at the gdb prompt it tells me ... type name unknown at symtab pos 64. Same thing as before! How can I debug that program on my NeXT? Will I be able to use the 'view' feature? Thanks in advance for any help. Dirk. P.S.: I couldn't run and try it with cc++ as the supplied cc++ didn't compile my program.
Newsgroups: comp.sys.next.programmer From: brill@sybase.com (Michael Brill) Subject: Graphing Objects Message-ID: <CAwEoJ.xp@sybase.com> Sender: usenet@sybase.com Organization: Sybase, Inc. Date: Wed, 28 Jul 1993 23:31:30 GMT Has anyone released usable palettized graphing objects for NS yet? I've been playing with OTI's GraphPalette (limited chart types - no pie charts) and the palettized chart object in Mesa (sort of a pain shuffling data back and forth between the app and Mesa). Hopefully I'm missing something out there. It's seems inconceivable that in 1993, someone wanting to display a pie chart from a table of data would have to write a couple hundred lines of Objective-C (if there were only a way to turn dock extenders into graphing libraries). ...Michael
Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Re: Another (Re: suggestion for NeXT) Followup-To: comp.sys.next.programmer Organization: Primitive Software Ltd. References: <22scmr$19p@binkley.cs.mcgill.ca> <1280@rtbrain.rightbrain.com> <dv$@byu.edu> Date: Tue, 27 Jul 1993 16:24:57 +0000 Message-ID: <1993Jul27.162457.5263@prim> Sender: usenet@demon.co.uk In article <dv$@byu.edu> yackd@oregon.et.byu.edu (Don Yacktman) writes: >In article <1280@rtbrain.rightbrain.com>, glenn@rightbrain.com (Glenn Reid) writes: >>Usually, undocumented dwrites are things that developers DID NOT take a >>long time to create, but is a slight step above hard-coding a constant >>into the software. The reason it requires dwrite instead of having a >>GUI interface is that it's almost trivial to set up the program to >>use a value from the defaults database instead of hard-coding it, but >>it's usually a lot more work to design, implement, and debug the GUI >>interface to control the option. So they're in there, but they're >>not documented and they have no interface to set them. It's a lot >>better than hard-coding a constant, because it can be tweaked by the >>user if necessary (it's usually a technical support issue rather than a >>program feature). > >Although I agree with the "why" part here (why dwrites don't show >up on the user interface), I don't think that making the GUI has to >be difficult at all! In my GameKit, I've got an object that manages >the GUI and dwrites all together, and adding a new preference is >nigh unto trivial. (In fact, I may move the object into the DAYMiscKit, >since it is useful for more than just games...) What needs to be >done is either create your own or use somebody else's manager object. >Fact is, saying that the GUI is difficult--under NEXTSTEP particularly-- >is silly. It's not difficult so much as time consuming. Yes, it helps if you've written something like GameKit's PreferencesBrain, but otherwise each time you add a new preference there's a lot of little things to tie together. It's sufficiently painful to make you want to write PreferencesBrain and to make me wonder about the possibility of designing IB inspectors for subclasses of certain appkit objects to handle defaults themselves. Such an inspector could let you specify the name under which the value should be stored in the defaults database, the real default value etc (the value would only be held inside the object itself). Talking of dwrites, what do people think of the alternative of using archiving to record the applications state? I've got a situation where my program needs to save an ordered list of filters each of which is in a bundle and each of which need to record some state information (eg enabled/disabled). Using dwrites appears awkward. Keeping bundles and archive info in step similarly so. I seem to want a bundle that maintains state info or an archive that contains loadable objects! Dave Griffiths
Newsgroups: comp.sys.next.programmer From: wave@pixar.com (Michael B. Johnson) Subject: Re: CustomApp development with IB Message-ID: <1993Jul30.065856.24503@pixar.com> Sender: news@pixar.com (Usenet Newsmaster) Organization: Pixar -- Point Richmond, California References: <236d4vINNr0n@mephisto.gatech.edu> Date: Fri, 30 Jul 1993 06:58:56 GMT > In article <22uu8o$178@steffi.demon.co.uk> robert@steffi.demon.co.uk (Robert Nicholson) writes: > >I believe I use the standard conventional approach to using multiple > >nibs. ie. create a class as the nibs owner and have make each class > >responsible for that nibs target/action methods. > > > >I find this ok however, I'm a little concerned that IB is practically > >dictacting the way I design my app from a class perspective. For > >instance I cannot play with the UI without ensuring that all the > >target/action methods line up after my changes. > Hmm. One thing that I did early on in beta 3.0 days was design a abstract superclass (with corresponding IB inspector) that was able to load in nib files upon awakening. Making a palette of subclasses of this class allowed me to build complete apps inside of IB, because I could design the interface for each object in a separate (set of) nib(s). This means that when I go into test interface mode, these various nibs get loaded in by the various objects, and I can play with my completed app from inside of IB. Given a complete and flexible enough set of objects (which, in my case I've written and palettized), I've found the various paradigms that IB allows for app development to be quite flexible, actually. -- --> Michael B. Johnson -- wave@media.mit.edu, wave@pixar.com --> MIT Media Lab -- Computer Graphics & Animation Group --> P*I*X*A*R -- IceMan Group (for the summer)
Newsgroups: comp.sys.next.programmer From: greg@afs.com (Gregory H. Anderson) Subject: Re: archiving bitfields with NXWriteType() Message-ID: <1993Jul29.151023.1693@afs.com> Sender: greg@afs.com References: <1993Jul29.021741.13386@csus.edu> Date: Thu, 29 Jul 1993 15:10:23 GMT In article <1993Jul29.021741.13386@csus.edu> eps@futon.SFSU.EDU (Eric P. Scott) writes: > In article <1993Jul28.141547.906@afs.com> greg@afs.com > (Gregory H. Anderson) writes: > >In article <1993Jul28.065022.21157@cs.ucla.edu> pbiron@oahu.cs.ucla.edu > >(Paul Biron) writes: > >> Suppose I have a class like the following: > > >> unsigned int flag1:1 ; > >> unsigned int flag2:1 ; > >> unsigned int flag3:1 ; > > >The storage of bitfields within an int is at the discretion of the > >compiler and may be architecture dependent. > > Which is why NeXT would write the above as > > #ifdef __BIG_ENDIAN__ > unsigned int flag1:1 ; > unsigned int flag2:1 ; > unsigned int flag3:1 ; > unsigned int _RESERVED:13 ; > #else > unsigned int _RESERVED:13 ; > unsigned int flag3:1 ; > unsigned int flag2:1 ; > unsigned int flag1:1 ; > #endif Well, that's (possibly) fine as long as all your useful bitfields are under 8 bits and you always use the same compiler manufacturer. What happens if you have a 32-bit-wide int and use 16 as one element? Can you say for certain what order those 16 will be internally? What if Borland ObjC extensions allocate bitfields differently? I think the "official" way is safer. -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: DBFormatter question Date: 27 Jul 1993 23:47:00 +0100 Organization: me organized? That's a joke! Distribution: world Message-ID: <234b94$63k@steffi.demon.co.uk> I am currently trying to get my DBFormatter subclass to draw icons as well at the actual value itself I've drawn from the code from BooleanFormatter miniExample. I currently have this in my drawFieldAt.... method Please no lectures about PSshow :-) - drawFieldAt:(unsigned int)row :(unsigned int)column inside:(NXRect *)frame inView:view withAttributes:(id <DBTableVectors >)rowAttrs :(id <DBTableVectors >)columnAttrs usePositions:(BOOL)useRowPos :(BOOL)useColumnPos; { NXPoint toPoint; NXRect cellOrigin; NXSize string; char *buf; BOOL boolState; [self getValueAt:row :column withAttributes:rowAttrs :columnAttrs usePositions:useRowPos :useColumnPos]; boolState = NO; /* draw image (if there is an image to draw) */ cellOrigin = *frame; /* CAN ANYBODY EXPLAIN TO ME THE LOGIC BEHIND THIS LINE? IN IN PARTICULAR THE EXCLUSION B/W rowAttrs and columnAttrs */ [drawCell setAlignment:[(([rowAttrs formatter]==self)?rowAttrs:columnAttrs) contentAlignment]]; [drawCell drawInside:&cellOrigin inView:[NXApp focusView]]; /* * Set the size on the font. */ [font set]; string.height = [font pointSize]; buf = NXCopyStringBufferFromZone([value stringValue],[self zone]); string.width = [font getWidthOf:buf]; toPoint.y = frame->origin.y + frame->size.height - (frame->size.height - string.height) / 2; toPoint.x = frame->origin.x + (frame->size.width - string.width) / 2 - TEXT_OFFSET; PSmoveto(0.0, toPoint.y); PSsetgray(NX_BLACK); PSshow(buf); NX_FREE(buf); return self; } Currently, even though the vector's contentAlignment is left aligned I cannot get the cell to draw left aligned it is always centered horizontally in the DBVector for some reason. - init { [super init]; font = [Font newFont:"Helvetica" size:12.0]; newValue = [[DBValue allocFromZone:[self zone]] init]; drawCell = [[ButtonCell allocFromZone:[self zone]] initIconCell:""]; [drawCell setBordered:NO]; [drawCell setIconPosition:NX_ICONONLY]; [drawCell setType:NX_TOGGLE]; [drawCell setIcon:"NXswitch"]; [drawCell setAltIcon:"NXswitchH"]; [drawCell setTag:0]; return self; } -- Real programmers don't use Email they communicate with people.
From: markl@ifr.luftfahrt.uni-stuttgart.de (Albert Markl) Newsgroups: comp.sys.next.programmer Subject: Using Edit.app from within another program Date: 30 Jul 1993 12:10:26 GMT Organization: Comp.Center (RUS), U of Stuttgart, FRG Message-ID: <23b33i$uen@info2.rus.uni-stuttgart.de> Hello world! I'd like to use the editor from within another program, but I definitively have to know when the user finishes to edit the data presented. I'm looking for a way to run Edit (using options maybe) modal for only one file so it quits when the only window is closed, or -- preferably -- tell it with a message to edit a file and get another messages when it's done. By the way, is there a general possibility to learn what messages an application is willing to listen to and what messages it will return? Thanks in advance Al PS: I'd rather not like to program a special purpose editor using the text object and so on.
Newsgroups: comp.sys.next.programmer From: brill@sybase.com (Michael Brill) Subject: Where'd my command keys go? Message-ID: <CAyEnn.BsD@sybase.com> Sender: usenet@sybase.com Organization: Sybase, Inc. Date: Fri, 30 Jul 1993 01:26:10 GMT Using IB in NS/I 3.1, my command key equivalents appear in IB, but when I go into test mode or compile, they disappear from my menus. What gives? ...Michael
Newsgroups: comp.sys.next.programmer From: jhall@madeline.umhc.umn.edu (Jeff Hallgren) Subject: Re: What's going on with my typed stream in memory? Message-ID: <CAzBn4.4qp@news2.cis.umn.edu> Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota, Twin Cities References: <239hvs$7om@iskut.ucs.ubc.ca> Date: Fri, 30 Jul 1993 13:12:00 GMT You should always use NXWriteRootObject instead of NXWriteObject in cases like this. You CAN use NXWriteObject when implementing a - write archiving method in a subclass. And then because I've had trouble with TypedStreams I would use NXWriteRootObjectToBuffer(). You'll end up with... [thePasteboard declareTypes:viewPasteType num:howMany owner:self]; data = NXWriteRootObjectToBuffer(selectedList, &length) [thePasteboard writeType:viewPasteType data:data length:length]; NXFreeObjectBuffer(data, length); In article <239hvs$7om@iskut.ucs.ubc.ca> fahller@harmac.ppc.ubc.ca (Bjorn Fahller) writes: > I'm trying to implement immediate cutting and pasting by passing an in memory > stream to the pasteboard, as in "NeXTSTEP PROGRAMMING STEP ONE: Object-Oriented > Applications" [Garfinkel, Hamoney], p516. What I want to copy to the pasteboard > is a list of objects, so I used the following technique: > > stream = NXOpenMemory(NULL, 0, NX_WRITEONLY); > typedStream = NXOpenTypedStream(stream, NX_WRITEONLY); > > NXWriteObject(stream, selectedList); > NXGetMemoryBuffer(stream, &data, &length, &maxlen); > [thePasteboard writeType:viewPasteType > data:data > length:length]; > NXCloseTypedStream(typedStream); > NXCloseMemory(stream, NX_FREEBUFFER); > > It ALWAYS fails on the NXWriteObject, with the following message: > "Typed streams library error: expecting a writing stream" > > Why? I assume I have missed something obvious, but what? > The "selectedList", by the way, is an instance of the list defined in > <objc/List.h>. > > _ > /Bjorn. > -- > UBC Pulp & Paper Centre | 4549 W. 11th Avenue | A Swede in > 2385 East Mall | Vancouver, B.C. | temporary > Vancouver, B.C. | Canada V6R 2M5 | exile. > Canada V6T 1Z4 | | > Tel: +1 604/822-8567 | Tel: +1 604/222-4952 |
From: hubt@css.itd.umich.edu (-- Spawn --) Newsgroups: comp.sys.next.programmer Subject: Help with Distributed Objects Date: 30 Jul 1993 17:11:22 GMT Organization: University of Michigan ITD Consulting and Support Services Distribution: world Message-ID: <23bknq$bv6@stimpy.css.itd.umich.edu> I'm using distributed objects, and I've run into a problem. Here's the situation: I have a client and server, but the server also needs to send messages back to the client. The client object successfully connects to the server and can use the server object fine. The client calls the server with something like: [ server afunction:self]; The server can then use the client object (as sender) as long as it is in that method, but when I try and access the client object from a different method, the connection isn't there. Is this correct, that I can only use the object before the method returns? If so, how do I get around this? Do I have to vend the client back to the server to get a two-way connection? That seems odd and troublesome. Any help is appreciated.. -- )))) hubt@umich.edu -- Hubert Chen -- pgp key on request or via finger (((( If this is foreplay, I'm a dead man! -- Mental Sex in COCOON
Newsgroups: comp.sys.next.programmer From: titmouse!bshirley (C. William Shirley) Subject: Re: Browsers, how the hell??? Message-ID: <1993Jul30.051652.9328@gleap.jpunix.com> Sender: bshirley@gleap.jpunix.com Organization: The Republic of Texas References: <1993Jul27.205624.12986@sifon.cc.mcgill.ca> Date: Fri, 30 Jul 1993 05:16:52 GMT In article <1993Jul27.205624.12986@sifon.cc.mcgill.ca> brunos@mafalda (Bruno Schmidt) writes: > Hello, I am trying to do some App programing on the next, with the > > help of IB. But I have NO clue as to how to get the browser to work. I have > made a window with a browser in it, and I have made a connection between > the browser and a class I created. Could someone please tell me what > commands one would use to display a cell in this(one column) browser? > > I can't seem to get browser:loadCell:atRow:inColumn: or > browser:fillMatrix:inColumn: to work at all. > > Any help will be greatly apreciated. Thanks. > your email address was badly formed on my machine... > Bye, Bruno Schmidtme what commands one would use to display > a cell in thi - (int)browser:sender fillMatrix:matrix inColumn:(int)column { int i; if (column!=0) { NXBeep(); return 0; } for (i='A'; i<'Z'; i++) { id newCell; char buffer[2]; buffer[0] = i; buffer[1] = '\0'; [matrix addRow]; newCell = [matrix cellAt:i :0]; [newCell setLeaf:YES]; [newCell setLoaded:YES]; [newCell setEnabled:YES]; [newCell setStringValue:buffer]; } return i; } You may also have forgotten to connect the browser to it's delegate. Set a breakpoint in browser:filMatrix:... If it never gets there, that's a good bet. Send the loadColumnZero method to the browser. If it still doesn't call your delegate method. I guarantee the delegate is not set correctly. If it does call it, but you aren't loading it properly. Are you returning the correct number. Are you loading the matrix correctly. -bill -- Bill Shirley (NXceptable) BShirley@GLeap.sccsi.com (home) | BShirley@atg.WilTel.com (work) ``I had so many problems, then I got me a Walkman.'' - Frank Black
From: rasmussn@jupiter.eecs.umich.edu (Craig E Rasmussen) Newsgroups: comp.sys.next.programmer Subject: Re: Help with Distributed Objects Date: 30 Jul 1993 18:23:45 GMT Organization: University of Michigan EECS Dept. Distribution: world Message-ID: <23bovh$i0@zip.eecs.umich.edu> References: <23bknq$bv6@stimpy.css.itd.umich.edu> In article <23bknq$bv6@stimpy.css.itd.umich.edu> hubt@css.itd.umich.edu (-- Spawn --) writes: > > I'm using distributed objects, and I've run into a problem. Here's the > situation: I have a client and server, but the server also needs to > send messages back to the client. There is no problem with sending messages to the client from server methods. For instance I often route messages through the server to clients via the following (server) method: - (void) acceptMessage:(NXData *)transport { int i; SEL method = @selector(acceptMessage:); // route message to clients for (i=0; i<[clients count]; i++) { id client = [clients objectAt:i]; if ([client respondsTo:method]) [client acceptMessage:transport]; } } The clients are kept in a List (named client). I have also included the method which adds a new client to the list: - checkIn:sender { // put client into the client list [clients addObjectIfAbsent:sender]; // inform runtime that client implements Dert protocol [sender setProtocolForProxy:@protocol(Dert)]; // request notification when // sender goes away [[sender connectionForProxy] registerForInvalidationNotification:self]; return self; } Hope this helps. Craig Rasmussen University of Michigan
Newsgroups: comp.sys.next.programmer From: emarinos@marcon.ka.sub.org (Evstathios Marinos) Subject: Re: NXWorkspaceRequestProtocol HELP!!!!!!!!! Message-ID: <1993Jul30.093229.6268@marcon.ka.sub.org> Sender: emarinos@marcon.ka.sub.org (Evstathios Marinos) Organization: Marinos EDV - Consulting References: <239edo$50p@news.aero.org> Date: Fri, 30 Jul 1993 09:32:29 GMT In article <239edo$50p@news.aero.org> gobbi@snark.aero.org (Michael Gobbi) writes: \\ I am using the workspace protocol to transfer files. After the \\ files have been moved/copied my program needs to update a browser. \\ The documentation says that if my application delegate responds to \\ the message app:fileOperationCompleted: it will get that message \\ after the file operation is done. The problem is it is never sent \\ that message. \\ Below is some example code. \\ \\ [ source deleted ] \\ \\ --Michael This is a known bug in 3.0, so that the - app:fileOperationCompleted: method was never send to the application delegate. This bug is fixed in 3.1 Stati -- Marinos EDV - Consulting | NEXTSTEP Software and Consulting Services Evstathios Marinos | Phone : +49 721 37 71 78 Gartenstr. 2 | Fax : +49 721 37 71 79 76133 Karlsruhe (GERMANY) | E-Mail: emarinos@marcon.ka.sub.org
From: borzilda@NeXTwork.Rose-Hulman.Edu (David A Borzillo) Newsgroups: comp.sys.next.programmer Subject: PS Fragments Date: 30 Jul 1993 19:42:17 GMT Organization: Rose-Hulman Institute of Technology Message-ID: <23btip$8f9@master.cs.rose-hulman.edu> Working with some PS code, I'm trying to simulate a water wheel. I have PS code draw and erase the wheel's lines as it rotates (to draw just use black and white to erase). Well, little dots are left from time to time as these lines are being erased. Is there anything I can do to fix this or is this some kind of round-off error in PS? -- ------------------------------------------------------------- David A. Borzillo Mechanical Engineering Junior borzilda@nextwork.rose-hulman.edu +============================================================+ Disclaimer: Any views and opinions expressed in this message are my own and not of Rose-Hulman or the FSLC Project.
Newsgroups: comp.sys.next.programmer From: aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) Subject: Passing an id through a pasteboard Message-ID: <30JUL93.20104855@enh.nist.gov> Sender: news@dove.nist.gov Organization: NIST Date: Sat, 31 Jul 1993 01:10:48 GMT Actually, I do not have a problem with my app, just a question regarding why something is working the way it is... Using the writeType: data: length: method of the pasteBoard, I would assume that I would have to pass the address of the object's id, along with the length of an id, using sizeof()... Under the readType: data: length: method, I would have to pass an address of the id I want to write to, and the length using sizeof().... However, what I wind up doing is, in the first method, I send my object's id, along with the length of an (id), and in the seconf method, I pass the address of the id, with the length... Now, how does the thing know to write my id instead of the first four bytes (the length of an id) that the id points at? From the indirection shown in the docs, it would seem that the readType::: and writeType::: methods would do something entirely different from what they really do... Could someone help me out with this conceptual problem? My address is : day@spot.aoml.erl.gov Thanks!! Kevin
Newsgroups: comp.sys.next.programmer From: jgg@proforma.com (J. G. Gregory) Subject: Re: Question using yacc w/ Objective C Message-ID: <1993Jul30.020139.632@proforma.com> Sender: jgg@proforma.com Organization: LoftTech Incorporated References: <69757@mimsy.umd.edu> Date: Fri, 30 Jul 1993 02:01:39 GMT In article <69757@mimsy.umd.edu> sib@cs.umd.edu (Scott Ian Blanksteen) writes: >Hi All... > Here's the deal: I have a little parser written with lex and >yacc. I would like to have the parser invoke an ObjC message when >certain reductions are made. I can pass in the object whose methods I >want to call. >Q: What is the most elegant way of making these method calls? See NeXT's Graph.app in NextDeveloper/Examples. You can put Objective-C right in the lex and yacc source files. I use this very heavily. --J Gregory
Newsgroups: comp.sys.next.programmer From: is92ggb@brunel.ac.uk (Guy Barry) Subject: NeXT and XWindows Message-ID: <CAzz0G.GtE@brunel.ac.uk> Organization: Brunel University, Uxbridge, UK Date: Fri, 30 Jul 1993 21:43:26 GMT Is it possible to run XWindows on a NeXT computer. Basically I want to take over the NeXT completely and just have XWindows present. Can I run it so that I can choose whether to have X running or NeXTstep (as with PCs and choosing between unix and dos). Can you please email me. Many thanks Guy
Newsgroups: comp.sys.next.programmer From: marcel@nice.usergroup.ethz.ch (Marcel Waldvogel) Subject: Using Stuart as Debugger shell with ProjectBuilder Message-ID: <CB01Dw.LE8@bernina.ethz.ch> Sender: news@bernina.ethz.ch (USENET News System) Organization: NiCE - NeXT User Group, Zurich, Switzerland Date: Fri, 30 Jul 1993 22:34:43 GMT There is a 'ProjectBuilder Terminal' default, but I did not manage to get PB to use either soil or Stuart for gdb launching. Is there any documentation available on that subject and/or did I simply miss something? -Marcel
Newsgroups: comp.sys.next.programmer From: stoad@email.teaser.com (LUNATI Stephane) Subject: Help!Fast animation on NSFIP Message-ID: <i422c.n2.t198ae4c8@email.teaser.com> Sender: news@teaser.com (News Administrator) Organization: Guest of France-Teaser, (3617 EMAIL) Date: Fri, 30 Jul 1993 19:55:36 GMT Hi everyone! I have a problem with animation. I want to make a full-screen animation with 3 or 4 images (800x600 in 12 bits c color). At this time my animation is not very slow but it's not very fast. For this animation I use a list of NXImage, and I composite them in my fy full-screen window. So if someone have an idea ! Thanks. I work on a Dell 466 ME, with 32 Mo RAM. -- LUNATI Stephane Internet: stoad@email.teaser.com --------------------------------------------------------- French NeXT Developer I'm working on a mulimedia application. you can join me at :YYo EQUATIEL 2 Rue Rouget de Lisle 92130 Issy les Moulineaux
Newsgroups: comp.sys.next.programmer From: kurt@frsvnsvn.cts.com (Kurt Werle) Subject: debugging Obj-C code (malloc, non-NeXT) Message-ID: <1993Jul31.010936.9121@frsvnsvn.cts.com> Summary: dbmalloc is not happy Organization: little to none Date: Sat, 31 Jul 1993 01:09:36 GMT I am debugging an Obj-C app on the NeXT and am having 'random' errors (memory allocing). I tried compiling dbmalloc -- no problem, but it's not happy with the shared library. Any tips on what to use to test for malloc/string overwrite errors? Please EMail, Thanks in Advance, Kurt
Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy From: yf5990@u.cc.utah.edu (Yan Fang) Subject: Is a NEXTSTEP CASE tool interesting? Message-ID: <1993Jul31.025129.21033@fcom.cc.utah.edu> Sender: news@fcom.cc.utah.edu Organization: University of Utah Computer Center Student Mail Machine Date: Sat, 31 Jul 93 02:51:29 GMT I know some people who have designed a NEXTSTEP CASE tool and are now hacking a prototype. We're curious about who would want this sucker--does it have a market? we ponder. This is a tool that graphically describes methods, tools, and interrelationships beyond the capabilities of Interface Builder. As designed, it will embody a unique version control system specially designed for modularity of NS projects. Of course this is a tall order for a product that hasn't progressed beyond its first prototype, but we're thinking big. Thinking big pays off, however, when big thinking and big results can go hand in hand; so I'm testing the waters for the temperature of demand for this uncoded product. Drop me some email if you think we're on the right track or if you think this is just a waste of time. Kristopher Magnusson Alpine Computing MicroAge -- Yan Fang-Magnusson <yf5990@u.cc.utah.edu> --------------------------------------------------------------------- Doctoral candidate, Department of Philosophy, University of Utah
From: kin@isi.com (Kin Cho) Newsgroups: comp.lang.c++,comp.os.ms-windows.programmer.win32,comp.sys.mac.programmer,comp.windows.ms.programmer,comp.sys.next.programmer Subject: C++ file extension Date: 30 Jul 1993 23:24:31 -0700 Organization: Integrated Systems, Inc. Distribution: world Message-ID: <23d36vINNphi@tycho.isi.com> Hi, We're migrating our C++ source code from UNIX only to PC, Mac, and VMS platforms. File extension was one of the first headaches we have to deal with. On UNIX, .C is nice and clean, but the rest of the world is case insensitive, something like .cxx and .hxx is necessary. So what extensions do you recommend? Note that we have immediate plans to use Visual C++ on Win 3.1 and (later) WinNT, so something that works with those tools is important. Thanks. -kin -- -kin Kin Cho, Principal Engineer (408)980-1590 X230 Fax (408)980-0400 Integrated Systems Inc., 3260 Jay Street, Santa Clara, CA 95054
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: NS 3.1 - how to find out where you are logged in?? Message-ID: <1993Jul31.075835.1567@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <ntomczak.743588082@vega> <1993Jul29.183728.3105@kakwa.ucs.ualberta.ca> Date: Sat, 31 Jul 1993 07:58:35 GMT [Superfluous comp.sys.next.misc crossposting removed] In article <1993Jul29.183728.3105@kakwa.ucs.ualberta.ca> sherwood@fenris.space.ualberta.ca (Sherwood Botsford) writes: >N Tomczak-Jaegermann (ntomczak@vega.math.ualberta.ca) wrote: > >: After a switch to version 3.1 of OS I found that I cannot distinguish >: anymore if a user is logged in directly on NeXT, or via some networked >: terminal. This information is rather vital for some of my uses. >A script can do this: >set WorkSpaceOwner = `who | awk '$2 == "console" {print $1}'` > >Then you can test if WorkSpaceOwner is equal to $user That doesn't answer the question--a remote login with the same username as the console user would erroneously pass your test. We were interested in this issue after some incidents with "computer crackers" who were logging in remotely and then breaking into outside systems, using our site to obscure their true origin. We needed to make an accurate determination. Due to the security-related nature of that material, I won't share intimate details, but it gives me an excuse to post some possibly relevant C code. :-) As-is, no warranty, etc. -=EPS=- ------- pedigree.c /* pedigree: show process ancestry * Eric P. Scott, San Francisco State University, July 1993 * * Compile on 2.x: * cc -o pedigree -s -object -O -bsd pedigree.c * Compile on 3.0: * cc -o pedigree -s -object -O -bsd -DNX_COMPILER_RELEASE_3_0 pedigree.c * Compile on 3.1: * cc -o pedigree -s -object -O -bsd -fno-builtin pedigree.c */ #include <stdio.h> #include <sys/errno.h> #ifdef __STRICT_BSD__ #include <strings.h> #else #include <string.h> #endif #include <sys/types.h> #include <sys/dir.h> #include <sys/stat.h> #ifndef NX_COMPILER_RELEASE_3_0 #include <sys/table.h> #else /* * Mach Operating System * Copyright (c) 1986 Carnegie-Mellon University * All rights reserved. The CMU software License Agreement specifies * the terms and conditions for use and redistribution. */ #define TBL_PROCINFO 10 /* index by proc table slot */ /* * TBL_PROCINFO data layout */ #define PI_COMLEN 19 /* length of command string */ struct tbl_procinfo { int pi_uid; /* user ID */ int pi_pid; /* proc ID */ int pi_ppid; /* parent proc ID */ int pi_pgrp; /* proc group ID */ int pi_ttyd; /* controlling terminal number */ int pi_status; /* process status: */ #define PI_EMPTY 0 /* no process */ #define PI_ACTIVE 1 /* active process */ #define PI_EXITING 2 /* exiting */ #define PI_ZOMBIE 3 /* zombie */ int pi_flag; /* other random flags */ char pi_comm[PI_COMLEN+1]; /* short command name */ }; #endif main(argc, argv) int argc; char *argv[]; { extern int errno; int chrdev(); register struct direct *d, **dp; register int i; int pid, n; struct tbl_procinfo pi; struct direct **df; dev_t lastd; char tty[4]; if (argc<1||argc>2) { (void)fprintf(stderr, "Usage: %s [pid]\n", *argv); exit(1); } if (argc==2) { pid=atoi(argv[1]); if (kill(pid, 0)<0&&errno!=EPERM) { perror(argv[1]); exit(1); } } else pid=getpid(); if (chdir("/dev")<0) { perror("chdir"); exit(1); } if ((n=scandir(".", &df, chrdev, alphasort))<0) { (void)fputs("scandir() failed\n", stderr); exit(1); } lastd=(dev_t)-1; tty[0]='?', tty[1]='\0'; tty[2]='\0', tty[3]='\0'; (void)fputs(" UID PID PPID PGRP TT COMMAND\n", stdout); for (;;) { if (table(TBL_PROCINFO, pid, (char *)&pi, 1, sizeof pi)==1&&pi.pi_status==PI_ACTIVE) { if (pi.pi_ttyd!=lastd) { if (pi.pi_ttyd<0) tty[0]='?', tty[1]='\0'; else { dp=df; i=n; do { d= *dp++; if (*(dev_t *)&d->d_ino==(dev_t)pi.pi_ttyd) { if (d->d_namlen>3&&!strncmp(d->d_name, "tty", 3)) (void)strncpy(tty, d->d_name+3, 3); else { tty[0]=d->d_name[0], tty[1]=d->d_name[1]; tty[2]='\0'; } goto x; } } while (--i>0); tty[0]='?', tty[1]='?'; tty[2]='\0'; } x: lastd=pi.pi_ttyd; } (void)printf("%5d %5d %5d %5d %-3s%.*s\n", pi.pi_uid, pid, pi.pi_ppid, pi.pi_pgrp, tty, PI_COMLEN, pi.pi_comm); } else { (void)fputs("something went wrong\n", stderr); exit(1); } if (pid<=1) break; pid=pi.pi_ppid; } exit(0); } int chrdev(d) struct direct *d; { struct stat st; if (d->d_name[0]=='t'||(d->d_name[0]=='c'&&d->d_name[1]=='o')) { d->d_name[d->d_namlen]='\0'; if (stat(d->d_name, &st)>=0&&(st.st_mode&S_IFMT)==S_IFCHR) { *(dev_t *)&d->d_ino=st.st_rdev; return(1); } } return(0); }
Newsgroups: comp.sys.next.programmer From: ploeger@aplki.toppoint.de (Andreas Ploeger) Subject: Re: NXBundle Message-ID: <1993Jul30.094758.977@aplki.toppoint.de> Keywords: NXBundle, ld Sender: ploeger@aplki.toppoint.de (Andreas Ploeger) Organization: Andreas Ploeger References: <CAwDE4.AwA@news.otago.ac.nz> Date: Fri, 30 Jul 93 09:47:58 GMT In article <CAwDE4.AwA@news.otago.ac.nz> writes: > I am using bundles to dynamically load code into my application as a way > to add features without recompiling the program. It is working on some > classes, but the ones where I am using routines from the maths library > (e.g. hypot) do not load because these references cannot be resolved. Link the required functions from the maths library into the application, so that they are available when the bundle is loaded. Do this by creating a file named "Makefile.preamble". Here is an example: OTHER_LDFLAGS=-u _cthread_exit -u _tolower -u _kill The functions "cthread_exit", "tolower" and "kill" are now linked into the application although they are not needed there but just in the bundle. To find out what functions you need for the bundle, run your app under gdb and let it die. You should get a list of the missing symbols. I hope this helps, Andreas -- -------------------------------------------------------------------- Andreas Ploeger E-Mail: ploeger@tpki.toppoint.de
Newsgroups: comp.sys.next.programmer From: gordie@cyclesoft.com (Gordie Freedman) Subject: Re: dragging text file icon to app and opening text Message-ID: <1993Jul31.084636.1851@netcom.com> Sender: gordie@netcom.com Organization: Cyclesoft Media Works References: <strobel.743893755@dirac> Distribution: na Date: Sat, 31 Jul 1993 08:46:36 GMT In article <strobel.743893755@dirac> strobel@dirac.phys.washington.edu writes: > The stuff in NeXTWORLD_DragLab gives examples for dragging image icons > into a graphics program. What modifications need to be made for dragging > a text file's icon from the Workspace to my app's icon? The app will then > read and process the contents of the text file. I'm wanting to do this > under 3.0. > > Thanks for your help, > > Nick Strobel > strobel@dirac.phys.washington.edu Dragging to an App's icon is simple, there is an unsupported (read old 2.x) way to do it, and the new approved 3.x way - the only reason I mention this is because with the new way you have to hold down the command key before the icon will accept it (unless you are using Engage! Desktop - a great product btw). With the 2.x way (where you essentially register the AppIcon for dragged types as if it is a window) you don't have to hold down the command key. So - there are two ways to do it, either have the App delegate implement a few methods such that icons can be dragged onto the app's icon (3.x way), or set up the app icon as if it was a window which accepts dragged types (involving cheating a bit and directly setting the delegate of the AppIcon, since setDelegate: doesn't do anything to the app icon for some bizarre reason) I can post or email the examples of how to do the latter, here's what to do for the official "3.x use App delegate to allow icons to be command-dropped onto the App Icon": (The following assumes you have an instance of the class Controller set up as the Application delegate from Interface Builder) // Disclaimer: This is from the 3.0 release notes, and I haven't checked // the accuracy on 3.1 - although the App I have using this appears to work // correctly with 3.1 on both NS/I and Motorola @implementation Controller void iconReleasedHandler (DPSTimedEntry tag, double now, void* user) { id self = (id) user; // iconReleaseMethod does whatever you want to do with the // filename, at this point it is stuffed into the path // instance variable, as a char* of the full path to the // filename for the icon dropped onto the app. [self iconReleaseMethod]; DPSRemoveTimedEntry (tag); } // This tells the Workspace that icons can be command dropped onto // the App Icon - (BOOL) appAcceptsAnotherFile:sender { return YES; } // This method gets called when something is dropped on. Note that if // a multiple selection is dropped on the string representing fileName // will be tab separated list of filenames. I'm not sure what fileType // is in this case (this example doesn't handle multiple icon selection // anyway ...) - (int) app:sender openFile:(const char*)fileName type:(const char*)fileType { // path is in instance variable initialized to NULL // Save the filename dropped onto our app if ((!path) || (strcmp (path, fileName))) { if (path) { NX_FREE (path); } NX_MALLOC (path, char, strlen (fileName) + 1); strcpy (path, fileName); } // if you don't do this, and try to open the filename // right now, you'll be hanging the Workspace until this // method exits .. Better to return control to Workspace // and let the TimedEntry handle opening the file if (DPSAddTimedEntry (0.0, iconReleasedHandler, (void*) self, NX_MODALRESPTHRESHOLD) == (DPSTimedEntry) -1) { fprintf (stderr, "Your App Name Here: error\n"); return NO; } // Return YES to indicate accepted the filename successfully return YES; } // Other methods to taste ... @end -- >>> Gordie Freedman -> gordie@cyclesoft.com NeXTMail Yes! >>> Thou shalt not inline functions more complicated than 20
Newsgroups: comp.sys.next.programmer From: gordie@cyclesoft.com (Gordie Freedman) Subject: Re: Thanks, and a Winfo bug report Message-ID: <1993Jul31.085333.1931@netcom.com> Sender: gordie@netcom.com Organization: Cyclesoft Media Works References: <234cvv$6mf@steffi.demon.co.uk> Date: Sat, 31 Jul 1993 08:53:33 GMT In article <234cvv$6mf@steffi.demon.co.uk> robert@steffi.demon.co.uk (Robert Nicholson) writes: > eric@skatter.usask.ca wrote > >I see there's a lot of misunderstanding about C out there..... > I figure some use of brackets would have avoided any confusion. > > depth *= (4/3) > > depth = (depth * 4) / 3; > > The difference is noticeable now. > > Also, to explain further, the following works: depth *= ((float) 4) / 3; -- Real programmer use Email to communicate with people -- >>> Gordie Freedman -> gordie@cyclesoft.com NeXTMail Yes! >>> Thou shalt not inline functions more complicated than 20
Newsgroups: comp.lang.objective-c,comp.sys.next.programmer From: rvs@vnp.com (Ronald V. Simmons) Subject: Namespaces ? Message-ID: <1993Jul31.133941.20170@vnp.com> Sender: news@vnp.com (News account) Organization: VNP Software References: <26155@alice.att.com> Date: Sat, 31 Jul 93 13:39:41 GMT I saw the article below in comp.lang.c++ and wondered if a similar construct had be en considered for Objective-C. (Since the article was by Stroustrup, who has to live with what he proposes, I assume it to be something that has been given a reasonable amount of thought. :^) ) It seems to me that a similar Objective-C construct would address the issues recently raised in this group (and others) concerning the fact that both Objective-C and X-Windows use the symbol "Object", making for some difficulty in compiling. As a developer of commercial object libraries it is also of interest, since this would allow me to have objects named, for example, "Database" or "PersistentObject", without having to worry about another object vendor having chosen equivalent class names. Comments anyone? Van Simmons rvs@vnp.com In article <26155@alice.att.com> bs@alice.att.com (Bjarne Stroustrup) writes: > > > saunders@eisner.decus.org (saunders @ DECUServe) writes > > > In article <26100@alice.att.com>, bs@alice.att.com (Bjarne Stroustrup) writes: > > > > > > > This entire problem goes away with Bjarne's namespace proposal. > > > > > > which was accepted at the ANSI/ISO meeting in Munich last week :-) > > > > > > Unfortunately, it takes some time for such features to become available > > > so we have to manage until then with what we have now. > > > > > > - Bjarne > > > > > > Could you or someone else kindly post a reference to this paper, preferably > > online? I'm relatively new to C++ and although I have had namespace problems, > > this is the first I've heard of a (potential) solution to them. > > I presented namespaces at the European C++ Users' Group meeting in Munich last > month. My paper from the proceedings will appear in the September issue of > ``The C++ Report.'' Here is a brief summary: > > Co nsider a language construct specifically providing name spaces: > > namespace A { > void f(int); > void f(char); > class String { /* ... */ }; > // ... > } > > The names declared within the namespace braces are in namespace A > and do not collide with global names or names in any other name space. > The semantics of declarations (including definitions) in a name space are > exactly that of global declarations except that the scope of their names > are restricted to the name space. > > To use a name from a namespace A you can either explicitly qualify it > > A::String s; > > or import it into a scope > > using A::String; > String s; // meaning A::String > > The using-declaration > > using A::String; > > declares a local name String that can be used to access whatever object, > type, functions, etc., is named by String in A. > > A mechanism is provided to make all names from a namespace available > without qualification and without mention of individual names. For example: > > void g(int i) > { > using namespace A; > String s = "asdf"; // A::String > f(12); // A::f(int); > f('a'); // A::f(char) > } > > A using-directive makes the names from the namespace available as if they > had been declared without a namespace at the point where their namespace > was declared; it does not define local aliases for the names in the namespace. > > In this, a using-directive differs from a using-declaration of specific names. > For example: > > namespace X { > int i, j, k; > } > > int k; > > void f1() > { > int i = 0; > using namespace X; // make names from X accessible > i++; // local i > j++; // X::j > k++; // error: X::k or global k ? > ::k++; // global k > X::k++; // X's k > } > > void f2() > { > int i = 0; > using X::i; // error: i declared twice in f2() > using X::j; > using X::k; // hides global k > i++; > j++; // X::j > k++; // X::k > } > > A using-declaration adds to a local scope. A using-directive does not; > it simply renders names accessible. > > Using-directives are primarily intented to aid transition. For example, we > might wrap the standard C library in a namespace stdio and still access it > as ever after a ``using namespace stdio'' directive: > > namespace stdio { > // printf, etc. > } > using namespace stdio; > > int main() > { > printf("Hello world!\n"); > } > > or more familiarly > > #include<stdio.h> > > int main() > { > printf("Hello world!\n"); > } > > For this to work, something declared ``extern "C"'' within a namespace must > still link to the unique C function or object denoted by that name; thus, you > can't have two different functions in different namespaces with the same name > declared both declared ``extern "C".'' > > This has been implemented. It was easy to do. There is no run-time overhead, > no space overhead, and no compile-time overhead. For very long namespace > names used for all otherwise global names there is a few percent link-time > overhead with a non-optimized implementation. > > The namespace mechanism was designed with massive input from the members > of the ANSI/ISO C++ committee's working group for extensions. > > - Bjarne > -- Ronald V. Simmons Principal VNPSoftware Cambridge, MA rvs@vnp.com
From: simon1@cgl.bu.edu (Simon Streltsov) Newsgroups: comp.sys.next.programmer,comp.software-eng Subject: ptags and ctags on System V Date: 31 Jul 1993 17:33:27 GMT Organization: Boston University Message-ID: <23ead7$28r@news.bu.edu> Hi, I know that ctags application on BSD (e.g. NeXT computer) is much more powerfull than standard ctags on Sun. The tags file can be analysed with PTAGS program that reports a lot about a function - which file, what functions calls, in what functions called etc. Can I get this PTAGS functionality for Sun ? Please respond directly, I will summarize. Gregory
Newsgroups: comp.sys.next.programmer From: df@watershed.com (Dirk P. Fromhein) Subject: Re: Help with Distributed Objects Message-ID: <CB0I03.7z0@ripple.uunet> Sender: jaeger@ripple.uunet (Dirk P. Fromhein) Organization: Watershed Technologies, Inc. References: <23bknq$bv6@stimpy.css.itd.umich.edu> Date: Sat, 31 Jul 1993 04:33:38 GMT Yes, you are correct. There is only one way to get around this (as far as I know), with each client start a new connection between the client and the server. Thus each client is a server to the server. This stalled me out for a few days, while most annoying, it was fairly easy to work around. While DO are most cool, there are a few things they are sorely missing. Dirk df@watershed.com Watershed technologies, inc. In article <23bknq$bv6@stimpy.css.itd.umich.edu> hubt@css.itd.umich.edu (-- Spawn --) writes: [munch] > The server can then use the client object (as sender) as long as it is > in that method, but when I try and access the client object from a > different method, the connection isn't there. Is this correct, that I > can only use the object before the method returns? If so, how do I get > around this? Do I have to vend the client back to the server to get a > two-way connection? That seems odd and troublesome. Any help is > appreciated.. > > -- > )))) hubt@umich.edu -- Hubert Chen -- pgp key on request or via finger (((( > If this is foreplay, I'm a dead man! > -- Mental Sex in COCOON
From: bahder@admii.arl.army.mil (Tom Bahder ) Newsgroups: comp.sys.next.programmer,gnu.g++.help,gnu.gcc.help Subject: Installing gcc-2.4.5 and libg++-2.4 under NeXTStep3.1 (long) Message-ID: <1282@aos.brl.mil> Date: 1 Aug 93 06:31:02 GMT Sender: news@aos.brl.mil Followup-To: comp.sys.next.programmer Organization: U.S. Army Research Laboratory APG, MD. I have successfully installed gcc-2.4.5 and libg++-2.4 under NeXTStep3.1 on a NeXTStaion (Black) machine. I am not an expert on installing the gnu software and I had a fare amount of trouble. However, several people, whose names and email appear below, helped me through the install. Thanks for your help and your patience ! In retrospect the installation is simple--if you do all the right things along the way. To install both gcc-2.4.5 and libg++-2.4 on a NeXT machine, without making any mistakes along the way, required approximately 4 to 5 hours of real time, nonstop. Below are my personal **detailed** notes on the install. I hope that they can be of help to someone. I appologize if the detail of the notes insults anyone. However, when I started out, due to my lack of background, I would have liked to have such a set of notes to follow. It would be really nice if someone put together the gcc-2.4.5 and libg++-2.4 into a NeXT Installer package. Tom Bahder email and NeXT mail: bahder@tbb.arl.army.mil Applied Physics Branch U. S. Army Research Laboratory 2800 Powder Mill Road Adelphi, Maryland 20783 tel. 301-394-2042 fax: 301-394-2103 ============================================================================= ============================================================================= Installing gcc-2.4.5 and libg++-2.4 under NeXTStep3.1 ============================================================================= ============================================================================= This installation was on Black NeXTStation. The following is the procedure I used to do the install of gcc-2.4.5. At the end some notes are listed from others on the net. Tom Bahder bahder@tbb.arl.army.mil 00. Use the GNU make utility. In order to do that, I made a symbolic link from /Unix/bin/make, which is on my path, before the NeXT make /bin/make, to /usr/local/gmake. Here is the idea: (This is ugly, but *will* work) cd somedir-before-/bin-in-your-path ln -s /usr/local/bin/gmake make Say: I love Unix :-) magnus@fisher.stanford.edu Here is what I did: tbb> mkdir Unix tbb> cd Unix tbb> ls tbb> mkdir bin tbb> pwd /bahder/Unix tbb> cd bin tbb> pwd /bahder/Unix/bin tbb> ln -s /usr/local/bin/gmake make tbb> ls make@ tbb> ls -l total 0 lrwxrwxrwx 1 bahder 20 Jul 29 23:21 make -> /usr/local/bin/gmake*@ 0. Copy bison (the executable) to /bahder/Unix/bin, so it is on my path. 1. Uncompress files using gunzip. Rename the file, gcc-2.4.5.tar.gz, with extension .gz to have the extension .g. Then do: gunzip gcc-2.4.5.tar.z 2. Extract the files from the tar archive: 'tar xf gcc-2.4.5.tar' I used the command: tar xf gcc-2.4.5.tar 3. cd into the directory gcc-2.4.5 tbb> cd gcc-2.4.5 4. Configure the Makefile for the next using: tbb> configure m68k-next-mach 5. Do a make with: make LANGUAGES=c 6. make stage1 The files are moved into a subdirectory named `stage1'. Here I get an error: fox> fox> fox> make stage1 if [ -d stage1 ] ; then true ; else mkdir stage1 ; fi mv *.o insn-flags.h insn-config.h insn-codes.h insn-output.c insn-recog.c insn-emit.c insn-extract.c insn-peep.c insn-attr.h insn-attrtab.c insn-opinit.c stamp-flags stamp-config stamp-codes stamp-output stamp-recog stamp-emit stamp-extract stamp-peep stamp-attr stamp-attrtab stamp-opinit stamp-proto genemit genoutput genrecog genextract genflags gencodes genconfig genpeep genattrtab genattr genopinit xgcc cc1 cpp gcc-cross cccp cc1plus cc1obj enquire protoize unprotoize specs collect2 stage1 mv: stamp-proto: Cannot access: No such file or directory mv: gcc-cross: Cannot access: No such file or directory mv: cc1plus: Cannot access: No such file or directory mv: cc1obj: Cannot access: No such file or directory mv: protoize: Cannot access: No such file or directory mv: unprotoize: Cannot access: No such file or directory mv: collect2: Cannot access: No such file or directory make: [stage1] Error 1 (ignored) rm -f stage1/libgcc.a cp libgcc.a stage1 if [ -f /usr/bin/ranlib -o -f /bin/ranlib ] ; then ranlib stage1/libgcc.a; else true; fi fox> However, Magnus says it is harmless. Here is his comment. Date: Thu, 29 Jul 93 23:23:50 -0700 From: Magnus Nordborg <magnus@fisher.Stanford.EDU> To: Thomas B. Bahder <bahder@adelphi-tbb.army.mil> Subject: Re: Installing g++-2.4.5 on NeXT Yes, it is harmless. If you look at the things not found, they are the c++ stuff, the objc stuff, and protoize. These are not created if you used LANGUAGES="c", but the "stage?" targets don't recognize the LANGUAGES macro and thus try to move things you haven't made. I don't know about collect2 really, but if things work otherwise ignore these warnings. I guess someone ought to clean up the makefile, but... If you DID build c++ and objective-c something is wrong. I assume you didn't because it doesn't make sense to build stage1 c++. -Magnus --- Magnus Nordborg magnus@fisher.stanford.edu (NeXT mail preferred) Department of Biological Sciences Stanford University Stanford, CA 94305-5020 +1 (415) 723-4952 (office) 7. (GNU instruction 11.) Recompile the compiler with itself, with this command: make CC="stage1/xgcc -Bstage1/" CFLAGS="-g -O" This is called making the stage 2 compiler. The command shown above builds compilers for all the supported languages, C, C++ and Objective-C. Once you have built the stage 2 compiler, if you are short of disk space, you can delete the subdirectory `stage1'. To delete these files use `rm -r stage1'. 8. (GNU instruction 12.) If you wish to test the compiler by compiling it with itself one more time, install any other necessary GNU tools (such as GAS or the GNU linker) in the `stage2' subdirectory as you did in the `stage1' subdirectory, then do this: make stage2 make CC="stage2/xgcc -Bstage2/" CFLAGS="-g -O" This is called making the stage 3 compiler. Aside from the `-B' option, the compiler options should be the same as when you made the stage 2 compiler. But the `LANGUAGES' option need not be the same. The command shown above builds compilers for all the supported languages; if you don't want them all, you can specify the languages to build by typing the argument `LANGUAGES="LIST"', as described above. Then compare the latest object files with the stage 2 object files--they ought to be identical, unless they contain time stamps. You can compare the files, disregarding the time stamps if any, like this: make compare This will mention any object files that differ between stage 2 and stage 3. Any difference, no matter how innocuous, indicates that the stage 2 compiler has compiled GNU CC incorrectly, and is therefore a potentially serious bug which you should investigate and report. I get the following result (difference) doing the compare on tbb: fox> fox> make compare for file in *.o; do \ tail +16c $file > tmp-foo1; \ tail +16c stage2/$file > tmp-foo2 2>/dev/null \ && (cmp tmp-foo1 tmp-foo2 || echo $file differs); \ done rm -f tmp-foo* fox> 9. Install the compiler. First, su to root, then the actual commands I used was: make install CC="stage2/xgcc -Bstage2/" CFLAGS="-g -O" 10. Install Objective-C compiler, using the command: make install-libobjc CC="stage2/xgcc -Bstage2/" CFLAGS="-g -O" 11. You must now do an installation of the library libg++. (GNU instruction 15.) If you're going to use C++, it's likely that you need to also install the libg++ distribution. It should be available from the same place where you got the GNU C distribution. Just as GNU C does not distribute a C runtime library, it also does not include a C++ run-time library. All I/O functionality, special class libraries, etc., are available in the libg++ distribution. ============================================================================= INSTALLATION of lig++-2.4 ============================================================================= 1. Unpack the distribution software, like gcc was unpacked. First rename the file gunzip libg++-2.4.tar.gz to gunzip libg++-2.4.tar.z. Then uncompress using: tbb> gunzip libg++-2.4.tar.z tbb> tbb> tar xf libg++-2.4.tar tbb> 2. cd libg++-2.4 3. Configure the Makefile for next, use: configure m68k-next-mach 4. Make the following changes in source code: Changes made in order to successfully compile libg++ 2.4 ---- in libg++-2.4/libg++/iostream/procbuf.C comment out //#define _POSIX_SOURCE ---- 5. Do the make using: make all >& libg++.install.log & 6. Now, su to root, and type 'make install' g++ and libg++ are ready to use. For example: fox> g++ hello.cc fox> a.out Hello World ------------------------------------------------------------------------ Some NOTES on libg++ INSTALL from others: Date: Thu, 1 Jul 93 07:08:27 PDT From: magnus (To: bug-lib-g++@prep.ai.mit.edu) To: bug-lib-g++@prep.ai.mit.edu Subject: Problems when building libg++2.4 with NeXTstep 3.1 Libg++-2.4 does not build straight off using gcc-2.4.5 under NeXTstep 3.1. PROBLEM: I type configure make all CC=gcc The compilation fails at: gcc -c -g -O -nostdinc++ -I. -I../. -I. -I./../iostream -I./../src -I./../g++-include procbuf.C In file included from ioprivate.h:21, from procbuf.C:19: ./../g++-include/unistd.h:145: conflicting types for `long int read (...)' /NextDeveloper/Headers/bsd/unistd.h:108: previous declaration of `int read (int, void *, long unsigned int)' ./../g++-include/unistd.h:146: conflicting types for `long int write (...)' /NextDeveloper/Headers/bsd/unistd.h:121: previous declaration of `int write (int, const void *, long unsigned int)' make[2]: *** [procbuf.o] Error 1 SOLUTION: Use make all CC=gcc G_CONFIG_ARGS='ssize_t="int"' to manually tell gen-params what ssize_t is. This is of course a little bit of hack -- the script "gen-params" is supposed to check unistd.h, but misses here for some reason. It should be taught, but I couldn't figure out how. PROBLEM: make check fails at gcc -c -g -O -nostdinc++ -I. -I../../. -I. -I./../../iostream -I./../../src -I./../../g++-include directory.cc In file included from Dirent.h:9, from directory.cc:3: ./../../g++-include/dirent.h:33: parse error before `*' Accord to NeXT's dirent.h changes have been made for POSIX compliance, and my guess is that is the problem. I'll be happy to email the new header files to whoever is interested. I have no solution. No program that needs dirent.h will compile, as far as I can tell. Apart from this, everything seems to work ok. -Magnus --- Magnus Nordborg magnus@fisher.stanford.edu (NeXT mail preferred) Department of Biological Sciences Stanford University Stanford, CA 94305-5020 +1 (415) 723-4952 (office)
Newsgroups: comp.sys.next.programmer From: abell@netcom.com (Steven T. Abell) Subject: Making a scrolling Text object by hand Message-ID: <abellCB2KtA.L5A@netcom.com> Organization: NETCOM On-line Communication Services (408 241-9760 guest) Date: Sun, 1 Aug 1993 07:29:34 GMT I'm trying to make a scrolling Text object the hard way, so that I can put it into a SplitView. I almost have it. The thing that doesn't work is automatic updating of the scrollers. I have used Text-setVertResizable:, but whenever I type into the Text object, the vertical scroll knob goes away. Using the debugger, I've compared my scrolling Text object with the one from IB. I haven't found any differences that lead me to a solution. Does anyone out there have the complete incantation for making these things? Steve abell@netcom.com
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: NEXTSTEP MiniExamples now available from NeXT archive server! Message-ID: <1993Jul31.121907.8820@ToTSySSoft.com> Keywords: Mini, Examples, ftp, ftp.next.com, Compressed Sender: news@ToTSySSoft.com Organization: Total System Software References: <239ea2$1m2@master.cs.rose-hulman.edu> Date: Sat, 31 Jul 1993 12:19:07 GMT -> In article <18388@news.duke.edu< blake015@mc.duke.edu (Denise Blakeley) writes: -> < Conrad Geiger writes -> < < Anonymous ftp for the NEXTSTEP example code is -> > now available via [snip] -> < < The MiniExamples for APPKIT, DATABASEKIT, -> > INDEXINGKIT and -> < < NETINFOKIT are located in: CompressedFiles/* If you're getting a FULL update, create the directory hierarchy on your own machine, then ftp (recursively descending the tree) from the highest level you need. It takes a lot of ``Y'' responses, but surely saves time overall, and nothing individually is enormous EXCEPT for the libg++ which is beyond regulatory limits for my ftp accesses (1meg) in size. Has this entry been posted chunked anywhere? Thanks Bruce Gingery bruce@TotSysSoft.com
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: Question about .app's Message-ID: <1993Jul31.123559.8941@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <1993Jul30.021915.175189@zeus.calpoly.edu> Date: Sat, 31 Jul 1993 12:35:59 GMT In article <1993Jul30.021915.175189@zeus.calpoly.edu> kwang@data.acs.calpoly.edu (Kevin John Wang) writes: -> I want to create a wrapper for an App, that will work -> as a license manager. I want the wrapper to check -> various things like which host it is on, how many -> copies are in use, and if it passes the test, run it. -> If not, pop a panel up that says something like -> "you cannot run this here, try machine Y." -> -> Does anyone know of how I might do this? I tried -> replacing the executable in the .app directory, but -> the WorkSpace doesn't want to run it as such. -> - Kevin Wang In a networked environment, this does indeed become a knotty problem! The fileserver from which the application is loaded to any given host may not even retain a compatible architecture. The load may be from a net-mounted read-only directory -- (no way to hash usages on the server) -- and stand-alone copies may be simultaneously loaded from an alternate load directory, and/or across symbolic links. This is especially hard, when software is installed on a server which cannot run the application! In addition, mach messaging channels, IP channels, and the like may extend beyond, or not reach all targets for instances of the .app to communicate with others, or network delays may prevent efficient launch, if (i.e.) udp polls are sent out PLUS the individual user may or may not have access to such ports. It is generally possible to restrict usage by user login, but this breaks when the same user may have a different home directory when logged in on different network-pool machines, or shared general logins among a variety of users. Probably the only reasonable answer is a check-in daemon process running on a designated machine. App launches would not activate until a valid check-in is obtained, and would check-out when terminating (presuming no machine crashes prevented the check-out). The check-in could identify the ``unique host-id'', machine name and user ID. Finger services could be accessed by the daemon to see if the user is still logged in, and if so, a failure to respond by the instance of the .app could be used as a sign that the app ceased without checkout. All of this, however is time consuming for a good interactive GUI application. Bruce Gingery bruce@TotSysSoft.com Total System Software the makers of DFax for NEXTSTEP
Newsgroups: comp.sys.next.software,comp.sys.next.programmer,comp.sys.next.sysadmin From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Preparing large ftp files for EVERYONE! Message-ID: <1993Jul31.194404.10728@ToTSySSoft.com> Followup-To: comp.sys.next.sysadmin Keywords: chunk, splitting, large, huge, enormous, MAB, FAT Sender: news@ToTSySSoft.com Organization: Total System Software Date: Sat, 31 Jul 1993 19:44:04 GMT ====================================================== ATTENTION MAB Package posters -- PLEASE CHUNK YOUR ftp UPLOADS to smaller than 1-meg per chunk, though ftp.uu.net seems to prefer 250000bytes, to allow more access by those who have limited ftp access! So long as individual parts have distinctive sequence numbers, the reconstitution is easy... There have been quite a few postings I've bypassed, unwilling to pay the postage for server fetching via E-Mail, and my E-Mail is deliberately limited to 1meg per message anyways. ====================================================== After creating a large package it is NOT hard to chunk it down to managable pieces, and will provide greater distribution (which is the reason for posting for ftp anyways, isn't it?) On 2.1 systems, use /NextApps/Installer.app/chunk On 3.x systems, use /NextAdmin/Installer.app/chunk mkdir /tmp/ftpupload chunk 2500000 ENORMOUS.MAB.tar /tmp/ftpupload You'll find in /tmp/ftpupload the following files ENORMOUS.MAB.tar.1 ENORMOUS.MAB.tar.2 etc. Then upload the pieces. If you forget to delete the pieces after shipping them out, they'll disappear when /tmp is cleaned at your next boot. Bruce Gingery bruce@TotSysSoft.com Total System Software NeXT-Mail preferred
Newsgroups: comp.lang.c++,comp.os.ms-windows.programmer.win32,comp.sys.mac.programmer,comp.windows.ms.programmer,comp.sys.next.programmer From: bryant@microsoft.com (Bryan Tuttle) Subject: Re: C++ file extension Message-ID: <1993Aug01.105639.29167@microsoft.com> Date: 01 Aug 93 10:56:39 GMT Organization: Microsoft Corp. References: <23d36vINNphi@tycho.isi.com> Distribution: usa In article <23d36vINNphi@tycho.isi.com> kin@isi.com wrote: >Hi, > >We're migrating our C++ source code from UNIX only to PC, Mac, and >VMS platforms. >File extension was one of the first headaches we have to deal with. >On UNIX, .C is nice and clean, but the rest of the world is case >insensitive, something like .cxx and .hxx is necessary. > >So what extensions do you recommend? >Note that we have immediate plans to use Visual C++ on Win 3.1 and >(later) WinNT, so something that works with those tools is important. Either .cxx/.hxx or .cpp/.hpp are generally accepted for C++ code. Bryan
From: Glenn.Reid@f236.n104.z1.FIDONET.ORG (Glenn Reid) Newsgroups: comp.sys.next.programmer Subject: Re: WHAT'S GOING ON WITH MY TYPED STREAM IN ME Message-ID: <5013.2C5ABF63@paranet.FIDONET.ORG> Date: 30 Jul 93 21:03:00 GMT Sender: ufgate@paranet.FIDONET.ORG (newsout1.26) Organization: FidoNet node 1:104/236 - MacCircles, Genesee CO -- Glenn Reid - via ParaNet node 1:104/422 UUCP: !scicom!paranet!User_Name INTERNET: Glenn.Reid@f236.n104.z1.FIDONET.ORG
Newsgroups: comp.sys.next.bugs,comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Re: SoundView Bug (long) Followup-To: comp.sys.next.programmer Organization: Primitive Software Ltd. References: <1993Jul29.112456.13849@prim> <1993Jul30.133850.886@lkba.uucp> Date: Sat, 31 Jul 1993 10:05:45 +0000 Message-ID: <1993Jul31.100545.21022@prim> Sender: usenet@demon.co.uk In article <1993Jul30.133850.886@lkba.uucp> uunet!lkba!lkb writes: >I agree that all methods should be documented, including their support >status, but I wouldn't stop there. These classes are sufficiently complex >that they require diagrams to explain their inner workings. Verbal >descriptions are not enough, I want to see pictures. For a classic example of a method that is difficult to override in a subclass, here is the documentation for "- tile" in NXBrowser: tile - tile Arranges the various subviews of NXBrowserPScrollers, columns, titles, and so onPwithout redrawing. Your code shouldn't send this message. It's invoked any time the appearance of the NXBrowser changes; for example, when scroll Buttons or scroll bars are set, a column is added, and so on. Override this method if your code changes the appearance of the NXBrowser (for example, if you draw your own titles above columns). Returns self. OK, great. This method is obviously going to call a load of other mainly private methods whose function is unknown. Perhaps it's possible to glean something from the instance variables? Here they are: @interface NXBrowser : Control { id target; id delegate; id _reserved1[3]; SEL action; SEL doubleAction; id matrixClass; id cellPrototype; NXSize _reserved2; short _reserved4[4]; unsigned short pathSeparator; char _reserved3[6]; void *_private; } And this highlights another problem. The interesting information about the layout is all held in private variables! Designing a class in such a way that it's functionality can be modified in subclasses is a tricky business. Even if you're the person who writes both class and subclass! It becomes iterative, and you go back to the superclass and maybe split some method in two so that one of them can be overridden. To do anything serious in an NXBrowser subclass without much more information is practically impossible. Dave Griffiths
Newsgroups: comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Re: Using Edit.app from within another program Organization: Primitive Software Ltd. References: <23b33i$uen@info2.rus.uni-stuttgart.de> Date: Sat, 31 Jul 1993 10:37:27 +0000 Message-ID: <1993Jul31.103727.21089@prim> Sender: usenet@demon.co.uk In article <23b33i$uen@info2.rus.uni-stuttgart.de> markl@ifr.luftfahrt.uni-stuttgart.de (Albert Markl) writes: >Hello world! > >I'd like to use the editor from within another program, but I >definitively have to know when the user finishes to edit the >data presented. > >I'm looking for a way to run Edit (using options maybe) >modal for only one file so it quits when the only window is closed, >or -- preferably -- tell it with a message to edit a file and get >another messages when it's done. You can send it a message to open a file in Edit, but there's no way of finding out when it's finished (you could check the file modification time, but that's no guarantee that it's really finished). >By the way, is there a general possibility to learn what >messages an application is willing to listen to and what >messages it will return? No. Wish there was! The way you want Edit to work is interesting. It sounds like the way that vi or emacs is invoked from within trn for example. This highlights a difference between the GUI/NeXTSTEP philosophy and that of Unix. When you invoke vi, it's for a one-off (in theory) edit and the parent (usually) waits for it to finish. This instantiation bears no relation to any other copies of vi that may be running. But with Edit, you switch over completely into the Edit environment and get presented with all the other documents that Edit has open. Sometimes this can be annoying, for instance when you're in the WM File Viewer and you just want to take a quick look at a file before returning to the WM. It sounds as though there is a need for this alternative method of invocation (without rolling your own editor with the Text object). Anyone got any suggestions as to how it might be achieved? Dave Griffiths
From: lemson@ux1.cso.uiuc.edu (David Lemson) Newsgroups: comp.sys.next.programmer Subject: Re: WHAT'S GOING ON WITH MY TYPED STREAM IN ME Date: 1 Aug 1993 15:54:51 GMT Organization: University of Illinois at Urbana Message-ID: <23gp0b$poo@vixen.cso.uiuc.edu> References: <5013.2C5ABF63@paranet.FIDONET.ORG> Glenn.Reid@f236.n104.z1.FIDONET.ORG (Glenn Reid) writes: >Glenn Reid - via ParaNet node 1:104/422 >UUCP: !scicom!paranet!User_Name >INTERNET: Glenn.Reid@f236.n104.z1.FIDONET.ORG Oh, my, that doesn't look forged. -- David Lemson (217) 244-1205 University of Illinois Computing & Comm Services Office System Administrator Internet : lemson@uiuc.edu UUCP :...!uiucuxc!uiucux1!lemson NeXTMail & MIME accepted BITNET : LEMSON@UIUCVMD
From: doug@foxtrot.ccmrc.ucsb.edu (Douglas Scott) Newsgroups: comp.sys.next.programmer Subject: Re: (NeXT) gdb and (non-NeXT) gcc-2.4.5? Date: 1 Aug 1993 17:41:06 GMT Organization: Center for Computer Music Research and Composition, U.C.S.B. Distribution: world Message-ID: <23gv7i$fqg@hub.ucsb.edu> References: <23ahtk$82f@hahn.informatik.hu-berlin.de> Once again, gcc/g++ has evolved just beyond the capability of the supplied NeXT version of gdb. This has been the case for the past 4 releases of NeXT software. Such is progress. You will not be able to use the NeXT gdb with g++ 2.4.5 (though you may well be able to use it on C code compiled with gcc 2.4.5). And nobody ever gets around to porting the newest version of gdb to the NeXT before a new release comes out... Sorry for the bad news. -- Douglas Scott (805)893-8352 Center for Computer Music Research and Composition University of California, Santa Barbara Internet: (NeXTMail ok) <doug@foxtrot.ccmrc.ucsb.edu>
Newsgroups: comp.sys.next.programmer From: anderson@biztech.com (Ken Anderson) Subject: Flat-file adaptor for DBKit Message-ID: <1993Aug1.155806.26206@biztech.com> Sender: news@biztech.com Organization: Biztech, Inc. Date: Sun, 1 Aug 1993 15:58:06 GMT Could someone please remind me of the company that has the flat-file adaptor for DBKit? Thanks, Ken Anderson anderson@biztech.com Stamford, CT
Newsgroups: comp.sys.next.programmer From: nico@imani.cam.org (Nicolas Dore) Subject: Re: I want a NXShaderPanel & NXShaderList & NXShaderWell... Message-ID: <1993Aug1.162450.2208@imani.cam.org> Sender: nico@imani.cam.org References: <1993Jul29.200432.11769@pixar.com> Date: Sun, 1 Aug 1993 16:24:50 GMT In article <1993Jul29.200432.11769@pixar.com> wave@pixar.com (Michael B. Johnson) writes: > Woops, didn't mean to steal any thunder from Intuitiv'3d, it's a great app > and it does do a lot of the stuff I was talking about. My own concern was > that this should really be a more generally available thing, so that I > could share shader instances between full blown 3d apps, like intuitiv'3d, > solidThinking, FrontFace, 3DReality, etc. and other apps that aren't > exclusively 3D, things like a spreadsheet that does 3d charting. It seems Well, talk to PIXAR. They announced, some months ago, that they were coming out with exactly that. I forget the name, but it had a nice ring to it (Yeah, I know, that helps out a _lot_! 8^)). What they propose is to give shaders the same kind of encapsulation as Poscript fonts, so that they are totally exchangeable. The current "standard" is probably too wide-opened for true exchageability to occur. Of course, apps will have to implement this new standard. Gotta wait, I guess. > silly to have to fire up intuitiv'3d, render lots of little pics as > representative of my shaders, and have it save them away somewhere where I > can't use them in FrontFace, 3DReality, or my own apps. [munch, munch] > > And, truthfully, a lot of this comes originally from being a beta tester > of PIXAR's Glimpse, which I've had in my hands as a beta tester longer > rather than Intuitiv'3d. One of my frustrations was seeing how nicely > this all could play together if apps could talk the same talk concerning > shader instances. If Glimpse is what I mention above, let us know. I don't mind looking like an ignorant. Name doesn't ring a bell, though... Ciao > Anyway... > > - wave > > --> Michael B. Johnson -- wave@media.mit.edu, wave@pixar.com > --> MIT Media Lab -- Computer Graphics & Animation Group > --> P*I*X*A*R -- IceMan Group (for the summer) -- Nicolas Dore nico@imani.cam.org - - - - - - - - - CAREFUL! POLITICAL COMMENT ZONE!! - - - - - - - - - > "If I can't dance, I don't want to be in your revolution!" < > Emma Goldman (to Vladimir Ilitch Oulianov [Lenin], 1917) <
Newsgroups: comp.sys.next.programmer From: max@chernobog.wa.com (David Fedchenko) Subject: Re: Using Edit.app from within another program Message-ID: <CB3p5I.FB0@chernobog.wa.com> Organization: Sativum Studio References: <23b33i$uen@info2.rus.uni-stuttgart.de> <1993Jul31.103727.21089@prim> Date: Sun, 1 Aug 1993 22:00:53 GMT In article <1993Jul31.103727.21089@prim> dave@prim.demon.co.uk (Dave Griffiths) writes: > >The way you want Edit to work is interesting. It sounds like the way that vi >or emacs is invoked from within trn for example. This highlights a difference >between the GUI/NeXTSTEP philosophy and that of Unix. When you invoke vi, >it's for a one-off (in theory) edit and the parent (usually) waits for it to >finish. This instantiation bears no relation to any other copies of vi that >may be running. > >It sounds as though there is a need for this alternative method of invocation >(without rolling your own editor with the Text object). Anyone got any >suggestions as to how it might be achieved? I actually have my account set up to work pretty much as you describe. i'm currently typing this in Edit.app from a trn session. i just set up my EDITOR and VISUAL env vars to point to Edit.app. This will launch a new copy of Edit.app and I just save and quit to get back to the parent. And it leaves all my other editing alone. Admittedly, this only works for command line calls, but it's better than vi most of the time. david...
From: glenn@rightbrain.com (Glenn Reid) Newsgroups: comp.sys.next.programmer Subject: Re: Thanks, and a Winfo bug report Message-ID: <1290@rtbrain.rightbrain.com> Date: 2 Aug 93 00:38:16 GMT References: <1993Jul31.085333.1931@netcom.com> Sender: glenn@rightbrain.com Gordie Freedman writes > Robert Nicholson writes: > > I figure some use of brackets would have avoided any confusion. > > depth *= (4/3) > > > > depth = (depth * 4) / 3; > Also, to explain further, the following works: > > depth *= ((float) 4) / 3; Or simply depth *= ( 4.0 / 3.0 ); -- Glenn Reid NeXTmail: glenn@rightbrain.com RightBrain Software 415-326-2974 (NeXTfax 326-2977) Palo Alto, California Electronic Frontier Foundation, member #054
From: garyc@eecs.nwu.edu (Gary Chang) Newsgroups: comp.sys.next.programmer Subject: A 3.1 BUG in the lex, yacc Make process that drives me nuts............ Date: 2 Aug 1993 01:38:08 GMT Organization: Northwestern University, Evanston, IL USA Message-ID: <23hr60$l88@news.acns.nwu.edu> Hi, This is a bug that drove me crazy all night long. I was working on the integration of lex and yacc with Objective-C. To see the problem, try building the Graph example in Appkit. After you succeeded, touch(update) either token.lm or expr.ym and re-build it, you will get the following non-sense error in PB log window (which complains lex.yy.c is absent, thus results in the failure of 'mv' cmd. ------------------------------- lex /private/tmp/Graph/token.lm mv lex.yy.c sym/token.m mv: sym/token.m: rename: No such file or directory *** Exit 1 Stop. *** Exit 1 Stop. -------------------------------- The cure? Well, as far as I know, delete the corresponding file in ./sym folder to force a clean rebuild...... but God, I hate doing this again and again....... BTW, without looking at the Graph example, it took me an hour to figure out the new extensions [lm] for lex file and [ym] for yacc file. Is this something new from NS3.1? I guess so is the sym/ folder. Can someone point me where it is documented? Thanks, -- +----------------+ | Gary I. Chang | +----------------+ Northwestern Univ. E-Mail: garyc@eecs.nwu.edu (NeXT-Mail O.K.)
From: reuven@athena.mit.edu (Reuven M. Lerner) Newsgroups: comp.sys.next.programmer Subject: Writing a typed stream in NS 3.1 Date: 2 Aug 1993 02:41:56 GMT Organization: Massachusetts Institute of Technology Message-ID: <REUVEN.93Aug1224156@carbonara.mit.edu> I'm a relatively new NeXTSTEP programmer working on my first program of any real substance, and I've found my first major roadblock. It concerns using the [Storage write:] method to write a typed stream to disk. In my program, transactionList is an instance of Storage containing a number of structs that I'm using to keep track of records. I'd like to save transactionList to disk in order to be able to read it in later. I think that I've followed all of the directions I've seen, including those in Garfinkel/Mahoney, but the following code consistently gives me a "Typed streams library error: expecting a writing stream" error and dies. The code is as follows: fd = open (filename, O_WRONLY | O_CREAT | O_TRUNC, 0666); if (fd < 0) { NXRunAlertPanel (0, "Cannot save file: %s", 0, 0, 0, strerror(errno)); return nil; } theStream = NXOpenFile (fd, NX_WRITEONLY); if (theStream == NULL) { NXRunAlertPanel (0, "Cannot save file: %s", 0, 0, 0, strerror(errno)); return nil; } [transactionList write:theStream]; NXClose(theStream); close(fd); and produces the error when I call [transactionList write:theStream]. I know that I'm a bit confused by the various operations that one can do with typed streams, and so it's quite possible that I've used the wrong one. Thanks for any help you can offer on this subject! Reuven
Newsgroups: comp.sys.next.programmer From: magnus@fisher.Stanford.EDU (Magnus Nordborg) Subject: Re: (NeXT) gdb and (non-NeXT) gcc-2.4.5? Message-ID: <1993Aug2.030028.29664@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: DSO, Stanford University References: <23gv7i$fqg@hub.ucsb.edu> Date: Mon, 2 Aug 93 03:00:28 GMT In article <23gv7i$fqg@hub.ucsb.edu> doug@foxtrot.ccmrc.ucsb.edu (Douglas Scott) writes: > Once again, gcc/g++ has evolved just beyond the capability of the > supplied NeXT version of gdb. This has been the case for the past > 4 releases of NeXT software. Such is progress. > > You will not be able to use the NeXT gdb with g++ 2.4.5 (though > you may well be able to use it on C code compiled with gcc 2.4.5). > And nobody ever gets around to porting the newest version of gdb > to the NeXT before a new release comes out... > > Sorry for the bad news. > I would just like to point out that while Douglas Scott is correct in writing that the gdb supplied with NeXTstep is always out of date, it is in my experience an exaggeration to say that it is impossible to use gdb-4.7 (NS 3.1) and g++-2.4.5. I use this combination all the time, and with very little difficulty. There ARE problems, but whether you will run into them or not depends on how advanced use of gdb you make and your code (I guess). I would also add that I have many fewer problems with gdb-4.7 and gcc-2.4.5 than I had under NS 3.0 using gcc-2.* and gdb 3.9* (which shipped with 3.0). So things are getting better. I would actually consider gdb-4.7 a strong reason to upgrade to NS 3.1. -- Magnus Nordborg magnus@fisher.stanford.edu (NeXT mail preferred) Department of Biological Sciences Stanford University Stanford, CA 94305-5020 +1 (415) 723-4952 (office)
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Using Edit.app from within another program Message-ID: <1993Aug2.031346.10953@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <23b33i$uen@info2.rus.uni-stuttgart.de> <1993Jul31.103727.21089@prim> <CB3p5I.FB0@chernobog.wa.com> Date: Mon, 2 Aug 1993 03:13:46 GMT In article <CB3p5I.FB0@chernobog.wa.com> max@chernobog.wa.com (David Fedchenko) writes: >I actually have my account set up to work pretty much as you >describe. i'm currently typing this in Edit.app from a trn session. >i just set up my EDITOR and VISUAL env vars to point to Edit.app. Once upon a time, when rn was _the_ newsreader, I had a .rnmac file containing %(%P!=/tmp?o) %(%m=[ap]?!exec /usr/bin/openfile %A^M:o) %(%P=/tmp?o) %(%m=p?!exec /usr/bin/openfile %P/rrn%a.%$^M:%(%m=a?|/usr/bin/openfile^M:o)) This worked because Pnews required explicit confirmation before actually sending anything. (I suppose if I were more clever I'd use open -a Edit if Edit weren't already running.) I don't recommend executing Edit.app directly. -=EPS=-
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Using Edit.app from within another program Message-ID: <1993Aug2.035631.12780@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <23b33i$uen@info2.rus.uni-stuttgart.de> <1993Jul31.103727.21089@prim> Date: Mon, 2 Aug 1993 03:56:31 GMT In article <1993Jul31.103727.21089@prim> dave@prim.demon.co.uk (Dave Griffiths) writes: >>By the way, is there a general possibility to learn what >>messages an application is willing to listen to and what >>messages it will return? > >No. Wish there was! Here's what class-dump comes up with: @interface EditListener:Listener { } + initialize; - (struct _NXRemoteMethod *)remoteMethodFor:(SEL)fp16; - (int)performRemoteMethod:(struct _NXRemoteMethod *)fp16 paramList:(union *)fp20; - (int)isNewEdit:(int *)fp16; - (int)connectTo:(int)fp16; - (int)openFile:(STR)fp16 onHost:(STR)fp20 fromTrueLine:(int)fp24 to:(int)fp28; - (int)openFile:(STR)fp16 onHost:(STR)fp20 atTrueLine:(int)fp24; @end @interface GdbClientDelegate:Object { char useLastWindow; char lastFileName[1024]; char lastDirName[1024]; id gdbClient; } - (int)openFile:(STR)fp16 onHost:(STR)fp20 atLine:(int)fp24; - (int)openFile:(STR)fp16 onHost:(STR)fp20 fromLine:(int)fp24 to:(int)fp28; - (int)connectTo:(int)fp16; - (int)selection:(STR)fp16; - (int)selectionLength; - (int)line; - (STR)filename; - topView; @end @protocol GdbClientDelegate - (int)openFile:(const STR)fp16 onHost:(const STR)fp20 fromLine:(int)fp24 to:(int)fp28; - (int)openFile:(const STR)fp16 onHost:(const STR)fp20 atLine:(int)fp24; - (int)selection:(STR)fp16; - (int)selectionLength; - (int)line; - (const STR)filename; @end Hmm... Of course, this won't tell you about "back doors" that aren't based on Speaker/Listener or Distributed Objects. -=EPS=- ------- /* * The NeXT Edit application registers a Mach port with the Network Name * Server called EditOpeningPortForUSERNAME, where USERNAME is replaced * by the user's login name. Thus several users can have copies running * on the same machine (with -NXHost) and still have openfile(1) (or the * 'o' command in more/page, etc.) act message the correct process. * * To ask Edit to open a file, send it a simple message with id * 0x4f50454e ('OPEN') whose data consists of a null-terminated string * containing the file name. * * This extended version of openfile(1) allows you to specify which Edit * to message. * * cc -o netopenfile -s -object -O netopenfile.c */ #include <stdio.h> #ifdef NX_COMPILER_RELEASE_3_0 #include <bsd/sys/param.h> #include <mach/mach.h> #include <bsd/libc.h> #include <defaults/defaults.h> #else #include <sys/param.h> #include <mach.h> #include <libc.h> #include <appkit/defaults.h> #endif #include <servers/netname.h> static void msgopen(edit_port, filename) port_t edit_port; char *filename; { register int s; struct { msg_header_t hdr; msg_type_t typ; #ifndef FILENAME_MAX #define FILENAME_MAX MAXPATHLEN #endif #define align_long(x) (((x)+3)&~3) char fil[align_long(FILENAME_MAX+1)]; } msg; s=strlen(filename); /* doesn't include NUL terminator */ msg.hdr.msg_simple=1; msg.hdr.msg_size=sizeof msg.hdr+sizeof msg.typ+s+1; msg.hdr.msg_type=MSG_TYPE_NORMAL; msg.hdr.msg_local_port=PORT_NULL; msg.hdr.msg_remote_port=edit_port; msg.hdr.msg_id=0x4f50454e; /* 'OPEN' */ msg.typ.msg_type_name=MSG_TYPE_CHAR; msg.typ.msg_type_size=8; msg.typ.msg_type_number=s+1; msg.typ.msg_type_inline=1; msg.typ.msg_type_longform=0; msg.typ.msg_type_deallocate=0; (void)strcpy(msg.fil, filename); if (msg_send(&msg.hdr, SEND_TIMEOUT|SEND_SWITCH, 10000)!=KERN_SUCCESS) (void)fprintf(stderr, "%s: Can't ask Edit to open %s\n", *NXArgv, filename); } main(argc, argv) int argc; char *argv[]; { register char *h; register int i; int b; port_t eport; char pname[28]; char buf[MAXPATHLEN]; if (argc<2) { usage: (void)fprintf(stderr, "Usage: %s user[@host] file ...\n", *argv); exit(1); } (void)strcpy(pname, "EditOpeningPortFor"); if (h=index(argv[1], '@')) { if (h-argv[1]>8||h[1]=='\0') goto usage; (void)sprintf(&pname[18], "%.*s", h-argv[1], argv[1]); h++; } else { if (strlen(argv[1])>8) goto usage; (void)strcpy(&pname[18], argv[1]); h=""; } if (netname_look_up(name_server_port, h, pname, &eport)!= NETNAME_SUCCESS) { if (*h) (void)fprintf(stderr, "%s: Can't connect to Edit on host %s\n", *argv, h); else (void)fprintf(stderr, "%s: Can't connect to Edit\n", *argv); exit(1); } b=0; for (i=2;i<argc;i++) { if (argv[i][0]=='/') msgopen(eport, argv[i]); else { /* need an absolute path, grr... */ if (b==0) { if (!getwd(buf)) { (void)fprintf(stderr, "%s: can't getwd()\n", *argv); exit(1); } b=strlen(buf); if (b==0||buf[b-1]!='/') buf[b++]='/'; if (!strncmp(buf, "/private/Net/", 13)) { /* autonfsmount kludge */ (void)strcpy(buf, &buf[8]); b-=8; } } if (strlen(argv[i])+b>=sizeof buf) (void)fprintf(stderr, "%s: file name too long\n", *argv); else { (void)strcpy(&buf[b], argv[i]); msgopen(eport, buf); } } } (void)port_deallocate(task_self(), eport); exit(0); }
Newsgroups: comp.sys.next.programmer From: raf@shell.portal.com (Man Wei Tam) Subject: Can NEXTSTEP/Intel record 2 channel sound? Message-ID: <CB480x.Iw5@unix.portal.com> Summary: Does the intel version of nextstep record stereo sound? Keywords: NEXTSTEP Intel MediaVision ProAudio Spectrum 16 stereo audio Sender: news@unix.portal.com Organization: Portal Communications Company -- 408/973-9111 (voice) 408/973-8091 (data) Date: Mon, 2 Aug 1993 04:48:32 GMT Has anybody noticed that when attempting to use any of the NeXT provided sound apps, none of them can record in stereo using a stereo PC card? I'm using a MediaVision ProAudio Spectrum 16, with stereo input jack. Only the left channel appears to be stored using Sound.app. Is this a question of support at the hardware level, or software level? I know the sound object does have 'channel' stuff dotted around in it, and the machine seems quite capable of replaying already digitized stereo sound. Any hints, tip, or anybody aware of stuff around that can record stereo for an Intel box? Cheers, Brian Leake.
#################################################################### From: pickerig@chongtar (Guy Pickering) Newsgroups: comp.lang.c++,comp.os.ms-windows.programmer.win32,comp.sys.mac.programmer,comp.windows.ms.programmer,comp.sys.next.programmer Subject: Re: C++ file extension Followup-To: comp.lang.c++,comp.os.ms-windows.programmer.win32,comp.sys.mac.programmer,comp.windows.ms.programmer,comp.sys.next.programmer Date: 2 Aug 1993 08:51:18 GMT Organization: The University of Birmingham, England Distribution: world Message-ID: <23iki6$r61@rs6000.bham.ac.uk> References: <23d36vINNphi@tycho.isi.com> Kin Cho (kin@isi.com) wrote: : Hi, : We're migrating our C++ source code from UNIX only to PC, Mac, and : VMS platforms. : File extension was one of the first headaches we have to deal with. : On UNIX, .C is nice and clean, but the rest of the world is case : insensitive, something like .cxx and .hxx is necessary. : So what extensions do you recommend? : Note that we have immediate plans to use Visual C++ on Win 3.1 and : (later) WinNT, so something that works with those tools is important. A related issue here is the problem associated with #include directives. Whan I proted my beautiful X app (having followed all the books) I found loads of #include<X11/someheader.h>. VAX and PC's choke on these because of the '/'. Hint, never use this form - modify your Makefile to search in the directories. Guy -- +--------------------------------+-----------------------------------------+ | Guy Pickering | School of Electronic & Electrical Eng, | | E-MAIL: G.PICKERING@uk.ac.bham | University of Birmingham, | | Tel: +44 (021) 414 4340 | Edgbaston, Birmingham. B15 2TT. | | Fax: +44 (021) 414 4291 | ENGLAND. | +--------------------------------+-----------------------------------------+
Newsgroups: comp.sys.next.programmer From: jwdb@dutnak2.tn.tudelft.nl (Jan-Willem de Bruijn) Subject: Fat BackSpace Modules, How? Message-ID: <jwdb.744283395@dutnak2> Summary: what options to use to compile fat BackSpace modules Keywords: fat MAB BackSpace Sender: news@dutrun2.tudelft.nl (UseNet News System) Organization: Delft University of Technology Date: Mon, 2 Aug 1993 09:23:15 GMT A very short question: how does one compile BackSpace modules for Multiple Architectures? BackSpace itself poses no problem, but the /NextDeveloper/Examples/AppKit/BackspaceViews directory contains subdirectories with only Makefiles, no PB files. The compiler option -arch produces fat .o files, but what to use for link option? This must have an easy solution, but I guess I'm too impatient right now to rummage through the on line docs. Thanks a bunch, Jan-Willem -- Jan-Willem de Bruijn jwdb@dutnak2.tn.tudelft.nl Lab. of Seismics and Acoustics NeXT-mail: jwdb@delphi.tn.tudelft.nl Dep. of Applied Physics Discipline is never an end in itself, Delft University of Technology only a means to an end.
From: bakker@cyclon.aoml.erl.gov (Cary Bakker) Newsgroups: comp.sys.next.programmer Subject: Does anyone have any example apps using the 3Dkit ??? Date: 30 Jul 1993 20:34:24 GMT Organization: U.S. Department of Commerce, NOAA/AOML Message-ID: <23c0kg$6e2@wave.aoml.erl.gov> I'm new to the NextStep environment, and I'm looking for more example applications. The 3Dkit seems pretty interesting and I was wondering in anyone could email me some simple example applications using it. Thanks in advance.... Cary A. Bakker.
Newsgroups: comp.sys.next.programmer From: abell@netcom.com (Steven T. Abell) Subject: Re: Making a scrolling Text object by hand Message-ID: <abellCB4850.MF0@netcom.com> Organization: NETCOM On-line Communication Services (408 241-9760 guest) Date: Mon, 2 Aug 1993 04:50:59 GMT I posted recently, asking for the recipe for a scrolling Text object configured like the one on the IB palette. Here it is: - (Text*)makeScrollingText:(const NXRect*)apksRect { ScrollView * poScrollView; Text * poText; NXSize sSize; poScrollView = [[ScrollView allocFromZone:[self zone]] initFrame:apksRect]; [[poScrollView setVertScrollerRequired:YES] setBorderType:NX_BEZEL]; poText = [[Text alloc] initFrame:apksRect]; [[poScrollView setDocView: poText ] free]; [[poScrollView setDocCursor:NXIBeam] free]; [[[poText superview] setAutosizing:NX_WIDTHSIZABLE|NX_HEIGHTSIZABLE] setAutoresizeSubviews:YES]; sSize = (NXSize){1e30,1e30,}; [[[[poText setMaxSize:&sSize] setAutosizing:NX_WIDTHSIZABLE] setVertResizable:YES] setOpaque:YES]; return poText; } Thanks to DRQuarrie@LBL.gov (David R. Quarrie) for a hot tip about the surprising (to me, anyway) requirement of setting the Text object's maximum size. The scroller will *not* work correctly without it. I wanted this so I could put scrolling text into a split view. As far as I can tell, all of the above instructions are necessary to get it to look and act like the one from IB. Steve abell@netcom.com
From: holschdm@NeXTwork.Rose-Hulman.Edu (David M. Holscher) Newsgroups: comp.sys.next.programmer Subject: My NS Help under 3.1 is crashing Date: 2 Aug 1993 15:23:12 GMT Organization: Rose-Hulman Institute of Technology Message-ID: <23jbh0$1lc@master.cs.rose-hulman.edu> Hello, I am writing several objects which I want to provide some default help for so I have written a help file and attached it to the objects programmatically. Under 3.0 when I wanted to use the objects in a application I simply copied the help into the English.lproj directory and it worked fine. Now under 3.1 help crashes when running the same applications (after recompiling them under 3.1). The only difference seems to be that the default app makefile runs /usr/bin/compresshelp. Here is what make produces when creating help: /usr/bin/compresshelp English.lproj/Help -o /ExpressionTester.app/English.lproj/Help Building store file info... 34 files in file info Collapsing common files... Writing files... Writing TOC (table of contents)... Saving store to: './ExpressionTester.app/English.lproj/Help.store'... Any clues? Is anyone else having this problem (I also have a colleague with this problem)? David Holscher holschdm@rose-hulman.edu
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Re: Writing a typed stream in NS 3.1 Date: 2 Aug 1993 13:33:42 +0100 Organization: me organized? That's a joke! Message-ID: <23j1j6$3di@steffi.demon.co.uk> References: <REUVEN.93Aug1224156@carbonara.mit.edu> Here's my example feel free to critisize at will :-) #import <objc/objc.h> #import <appkit/appkit.h> #import <objc/Storage.h> Storage *box; void printall(); void unarchive(); void archive(); void main() { char *String1 = "String 1"; char *String2 = "String 2"; char *String3 = "String 3"; char *myString; int c; box = [[Storage alloc] initCount:0 elementSize:sizeof(char *) description:@encode(char *)]; myString = (char *)NXCopyStringBuffer(String1); [box addElement:(char *)&String1]; myString = (char *)NXCopyStringBuffer(String2); [box addElement:(char *)&String2]; myString = (char *)NXCopyStringBuffer(String3); [box addElement:(char *)&String3]; archive(); printall(); [box free]; unarchive(); printall(); } void printall() { int c; for (c = 0; c < [box count]; c++) { printf("%s\n",*(char **)[box elementAt:c]); } } void unarchive() { int fd; NXTypedStream *myStream; myStream = NXOpenTypedStreamForFile("myfile", NX_READONLY); if (myStream == NULL) { perror("Cannot load"); exit(-1); } NX_DURING box = NXReadObject(myStream); NX_HANDLER NX_ENDHANDLER } void archive() { int fd; NXTypedStream *myStream; myStream = NXOpenTypedStreamForFile("myfile", NX_WRITEONLY); if (myStream == NULL) { perror("Canot save"); exit(-1); } /* No exception handling, i'm lazy */ NX_DURING NXWriteRootObject(myStream, box); NX_HANDLER NX_ENDHANDLER NXCloseTypedStream(myStream); }
Newsgroups: comp.sys.next.programmer From: jon@afs.com Subject: Getting last find out of Librarian Message-ID: <1993Aug2.135348.753@afs.com> Sender: jon@afs.com Date: Mon, 2 Aug 1993 13:53:48 GMT Has anyone been successful in using the NXFindPboard? Is there any way to get the contents of Librarian's find panel from another app? It seems that the NXFindPboard is the way to do this, but I haven't had any luck. Thanks, Jon -- Jonathan Hendry <jon@afs.com>
From: hacker@access.digex.net (Dark Hacker) Newsgroups: comp.sys.next.programmer,comp.sys.next.misc Subject: Re: File Encryption in Workspace.app Date: 2 Aug 1993 13:13:48 -0400 Organization: Express Access Online Communications, Greenbelt, MD USA Distribution: world Message-ID: <23ji0c$7il@access.digex.net> References: <233so0$ek@senator-bedfellow.MIT.EDU> <2343qp$2ls@senator-bedfellow.MIT.EDU> <deluxe-290793163347@17.220.88.2> In article <deluxe-290793163347@17.220.88.2> deluxe@well.sf.ca.us (Don Hurter) writes: > >Unfortunately, Apple may have the first fully-integrated encryption system, >built into their AOCE environment, slated for release later this year. One >more case where NeXT pioneers an idea, with the best implementation (too >good in this case), yet someone else will probably get all the credit. Oh come on gimme a break. Are you claiming that Apple STOLE ideas or technology from NeXT? AOCE has been in the works for YEARS and exncryption integrated with workgroup software is no big innovation. Apple gets the credit due. - Hacker -- Dark Hacker @ Black Silicon, Fortress Of Computation hacker@black-silicon.mclean.va.us "Life itself is... COMPUTATION!"
Newsgroups: comp.sys.next.programmer From: lloyd@world.std.com (Chris Lloyd) Subject: RCS and binary files Message-ID: <CB56z5.JFv@world.std.com> Organization: The World Public Access UNIX, Brookline, MA Date: Mon, 2 Aug 1993 17:23:29 GMT Pardon my ignorance, but I've just started using RCS, and don't see any obvious way to use it the way I want to with NEXTSTEP binary files such as .tiff's, .nib's, etc.. Since I'm the only person working on the code, my main reason for using RCS is to archive revisions. The default behaviour for binary files only stores the latest copy which doesn't bode well for trying to re-generate any given previous revision. Some sort of extra uuencode step came to mind, but that seems bogus. How do other people deal with this problem? clueless, -- :: Christopher Lloyd :: Yrrid Incorporated :: lloyd@world.std.com ::
From: blake015@mc.duke.edu (Denise Blakeley) Newsgroups: comp.sys.next.programmer Subject: Re: Fat BackSpace Modules, How? Message-ID: <18553@news.duke.edu> Date: 2 Aug 93 19:17:19 GMT References: <jwdb.744283395@dutnak2> Sender: news@news.duke.edu Jan-Willem de Bruijn writes > > A very short question: how does one compile BackSpace modules for > Multiple Architectures? BackSpace itself poses no problem, but the > /NextDeveloper/Examples/AppKit/BackspaceViews directory contains > subdirectories with only Makefiles, no PB files. > The compiler option -arch produces fat .o files, but what to use for > link option? > This must have an easy solution, but I guess I'm too impatient > right now to rummage through the on line docs. Use -arch i386 -arch m68k on *both* the compile and link in your Makefiles. Denise -- Denise Blakeley | PROGRAM, tr. v., An activity similar Duke Med Center Info Systems | to banging one's head against a wall, Durham, NC | but with fewer opportunities for (919) 282-6468 W | reward. blake015@mc.duke.edu |
Newsgroups: comp.sys.next.programmer From: gideon@otago.ac.nz (Gideon King) Subject: Re: Fat BackSpace Modules, How? Message-ID: <CB5FJr.104@news.otago.ac.nz> Sender: usenet@news.otago.ac.nz (News stuff) Organization: University of Otago References: <jwdb.744283395@dutnak2> Date: Mon, 2 Aug 1993 20:28:38 GMT In article <jwdb.744283395@dutnak2> jwdb@dutnak2.tn.tudelft.nl (Jan-Willem de Bruijn) writes: ! ! A very short question: how does one compile BackSpace modules for ! Multiple Architectures? BackSpace itself poses no problem, but the ! /NextDeveloper/Examples/AppKit/BackspaceViews directory contains ! subdirectories with only Makefiles, no PB files. ! The compiler option -arch produces fat .o files, but what to use for ! link option? ! This must have an easy solution, but I guess I'm too impatient ! right now to rummage through the on line docs. ! ! Thanks a bunch, ! ! Jan-Willem ! Why don't you just open the makefile in project builder (Command-Shift-O), then check both platforms in the options, and . . . It Just Does It (TM):) -- Gideon King | Phone +64-3-479 8347 University of Otago | Fax +64-3-479 8529 Department of Computer Science | e-mail gideon@otago.ac.nz P.O. Box 56 | Dunedin | NeXT mail ok New Zealand |
Newsgroups: comp.sys.next.programmer From: esky@marathon.cs.ucla.edu (Eskandar Ensafi) Subject: Getting App-Defined Events Message-ID: <1993Aug2.221248.4138@cs.ucla.edu> Sender: usenet@cs.ucla.edu (Mr Usenet) Organization: UCLA CS Department, Los Angeles, CA Date: Mon, 2 Aug 93 22:12:48 GMT Hi, How does the Application object read events from the event queue? That is to say, if I post two identical NX_APPDEFINED type events using DPSPostEvent() will both be picked up on subsequent calls to -getNextEvent? To clarify: 1. Somewhere in the program, [NXApp getNextEvent:NX_APPDEFINEDMASK]; 2. Before an App-Defined event is received, I have a second identical statement -- this is possible because I am using the Subprocess object, so the parent calls -getNextEvent: and so does the child through delegation to the parent. 3. The app now expects two App-Defined events. When I DPSPostEvent an NX_APPDEFINED event, which call to -getNextEvent: will pick it up first? Thanks in advance -- e-mail preferred. - Esk. -- "Dance with the dead in my dreams Listen to their hollowed screams The dead have taken my soul Temptation's lost all control" -- Slayer (Dead Skin Mask)
Newsgroups: comp.os.ms-windows.programmer.win32,comp.sys.next.programmer From: uunet!molly!vlcek (Jim Vlcek) Subject: Re: C++ file extension Message-ID: <CB4tn5.B4t@molly.uucp> Sender: vlcek@molly.uucp (James Vlcek) Organization: The Black Box of Lowertown References: <23iki6$r61@rs6000.bham.ac.uk> Date: Mon, 2 Aug 1993 12:35:28 GMT In article <23iki6$r61@rs6000.bham.ac.uk> pickerig@chongtar (Guy Pickering) writes: > A related issue here is the problem associated with #include > directives. Whan I proted my beautiful X app (having followed > all the books) I found loads of #include<X11/someheader.h>. VAX > and PC's choke on these because of the '/'. Hint, never use > this form - modify your Makefile to search in the directories. What compiler/preprocessor is this? (So we can avoid this brain damage.) I use MSC v6.0 and v7.0 for compiles on the PC, and they have no problem with #include <subdir/header.h>. (This has been true for Microsoft C for at least the past five years.) Jim Vlcek molly!vlcek@uunet.uu.net
Newsgroups: comp.sys.next.programmer From: jgg@proforma.com (J. G. Gregory) Subject: Re: A 3.1 BUG in the lex, yacc Make process that drives me nuts............ Message-ID: <1993Aug2.040811.1794@proforma.com> Sender: jgg@proforma.com Organization: LoftTech Incorporated References: <23hr60$l88@news.acns.nwu.edu> Date: Mon, 2 Aug 1993 04:08:11 GMT In article <23hr60$l88@news.acns.nwu.edu> garyc@eecs.nwu.edu (Gary Chang) writes: >Hi, > >This is a bug that drove me crazy all night long. I was working on the >integration of lex and yacc with Objective-C. To see the problem, > > try building the Graph example in Appkit. After you succeeded, >touch(update) either token.lm or expr.ym and re-build it, you will get >the following non-sense error in PB log window (which complains lex.yy.c >is absent, thus results in the failure of 'mv' cmd. > >------------------------------- >lex /private/tmp/Graph/token.lm >mv lex.yy.c sym/token.m >mv: sym/token.m: rename: No such file or directory >*** Exit 1 >Stop. >*** Exit 1 >Stop. >-------------------------------- > > The cure? Well, as far as I know, delete the corresponding file >in ./sym folder to force a clean rebuild...... but God, I hate doing >this again and again....... > > BTW, without looking at the Graph example, it took me an hour to >figure out the new extensions [lm] for lex file and [ym] for yacc file. >Is this something new from NS3.1? I guess so is the sym/ folder. Can >someone point me where it is documented? > >Thanks, >-- >+----------------+ >| Gary I. Chang | >+----------------+ >Northwestern Univ. E-Mail: garyc@eecs.nwu.edu (NeXT-Mail O.K.) I ran into this same problem. The .lm and .ym suffixes are as old as the hills, at least NeXTSTEP 1.0a. The /sym directory is new, and the NeXT makes have a bug. Now I don't know diddly about make, but I figured out enough to find the problem and put the following in my postamble. Note the fff; if left out, a very strange bug appears, to the effect that $* doesn't expand properly. # The following lines override the NeXT stuff, which appears to be broken .ym.m .ym.h: @(initdir=`pwd`; \ cmd="cd $(SYM_DIR)" ; echo $$cmd; $$cmd ; \ cmd="$(YACC) $(YFLAGS) $$initdir/$*.ym" ; echo $$cmd; $$cmd ; \ fff=$*; \ cmd="$(MV) $(MVFLAGS) y.tab.c $$fff.m" ; echo $$cmd; $$cmd ; \ cmd="$(CP) $(CPFLAGS) y.tab.h $*.h" ; echo $$cmd; $$cmd ) .lm.m: @(initdir=`pwd`; \ cmd="cd $(SYM_DIR)" ; echo $$cmd; $$cmd ; \ cmd="$(LEX) $(LFLAGS) $$initdir/$*.lm" ; echo $$cmd; $$cmd ; \ fff=$*; \ cmd="$(MV) $(MVFLAGS) lex.yy.c $$fff.m" ; echo $$cmd; $$cmd --J Gregory
From: tjhendry@mcs.drexel.edu (Jonathan Hendry) Newsgroups: comp.sys.next.programmer Subject: 3DKit app on cs.orst.edu Message-ID: <1993Aug3.004612.13391@netnews.noc.drexel.edu> Date: 3 Aug 93 00:46:12 GMT Sender: news@netnews.noc.drexel.edu Organization: Drexel University, Dept. of Math. and Comp. Sci. Hi everyone. I've posted a little 3DKit app I did on cs.orst.edu. cs.orst.edu: pub/next/submissions/Retrograde.tar.Z the Readme is in pub/next/submissions/Retrog.README.rtf. Like I say in the README, it's not great oop, or particularly well written- I just hacked it out in a week for class. But it does work. It's got lots of buttons and sliders - it's sort of a 3DKit Busy Box. All the source is there, so you can see what I did. Hopefully, someone will learn from it. There's lots of room for experimentation, and it's heavily commented (the class was a history class, with a non-programming professor.) If anyone has any suggestions, bugfixes, or comments, I'd love to hear 'em. -- Jonathan W. Hendry It's a hundred classes, give or take a few, Drexel University I'll be writing more in a week or two. CIS I can make it deeper if you like the style, I can change it round and I want to be an ObjectWare writer
From: isbell@cats.ucsc.edu (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: A 3.1 BUG in the lex, yacc Make process that drives me nuts............ Date: 3 Aug 1993 03:15:25 GMT Organization: Cubic Solutions - NeXT software development and consulting Message-ID: <23kl8dINNho7@darkstar.UCSC.EDU> References: <23hr60$l88@news.acns.nwu.edu> In article <23hr60$l88@news.acns.nwu.edu> garyc@eecs.nwu.edu writes: >------------------------------- >lex /private/tmp/Graph/token.lm >mv lex.yy.c sym/token.m >mv: sym/token.m: rename: No such file or directory >*** Exit 1 >Stop. >*** Exit 1 >Stop. >-------------------------------- > > The cure? Well, as far as I know, delete the corresponding file >in ./sym folder to force a clean rebuild...... but God, I hate doing >this again and again....... I reported this yacc and lex bug to NeXT during 3.1 PR1. I think I fixed it by radical surgery to basicrules.make. But this was stretching my understanding of Makefiles, so my confidence level is not as high as I would like. Unfortunately, a fix didn't make it into 3.1. If you use or plan to use either lex or yacc in a NeXTSTEP app, report this as a bug so NeXT might have more incentive to fix it. -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: (408)335-1154 USmail: 95018-9442 Fax: (408)335-2515
From: blake015@mc.duke.edu (Denise Blakeley) Newsgroups: comp.sys.next.programmer Subject: Re: RCS and binary files Message-ID: <18572@news.duke.edu> Date: 3 Aug 93 03:22:11 GMT References: <CB56z5.JFv@world.std.com> Sender: news@news.duke.edu Chris Lloyd writes > Pardon my ignorance, but I've just started using RCS, and don't see > any obvious way to use it the way I want to with NEXTSTEP binary > files such as .tiff's, .nib's, etc.. > > Since I'm the only person working on the code, my main reason for using > RCS is to archive revisions. The default behaviour for binary files > only stores the latest copy which doesn't bode well for trying to > re-generate any given previous revision. > > Some sort of extra uuencode step came to mind, but that seems bogus. RCS doesn't handle binary files at all. Get CVS--it's public-domain and runs on top of RCS, and it handles binaries. Another advantage of CVS over plain RCS is that when someone checks out a file from RCS, it's locked and no one else can work on changes to that file until it's checked in again. With CVS, everybody checks out their own copy of the file and commits changes at will--CVS does some pretty smart diff-ing to minimize conflicts. When conflicts do occur it shows you where so you can at least resolve them manually with your favorite editor. CVS still has some shortcomings when it comes to nibs, which can (for the most part) be worked around with some additional steps. We've found that the newfound ease with which we can do multi-person single-project development is well worth the additional hassle for nibs! CVS is available from prep.ai.mit.edu in /pub/cvs. Be sure to get FAQ.gz while you're in there, too. If you decide to install it, let me know and I'll send you along some additional information you'll find useful. Denise -- Denise Blakeley | PROGRAM, tr. v., An activity similar Duke Med Center Info Systems | to banging one's head against a wall, Durham, NC | but with fewer opportunities for (919) 282-6468 W | reward. blake015@mc.duke.edu |
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Fantastic Useable Free NEXTSTEP Palettes Date: 3 Aug 1993 02:07:05 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <23kva9$p5@digifix.digifix.com> I don't know how many of you rushed to ftp.next.com to get the upgraded MiniExamples. But you really should. There are a number of very useful palettes, some of which give you functionality that many apps need. StringList- is an extension of the String List that sorts FilenameList- will give you lists of files based on certain criteria. SwitchView - an inspector style multi-view thing. No strings, not GNU. Ranker - a way to set the cell class for a matrix in IB and DocumentIcon - basically a palettized IconWell that accepts files and lets you drag files out. It has some fancy DBKit capabilities, but its important to note that it will work without the DBKit. By far this is the most useful set of MiniExamples that I have ever seen. These can actually be plugged into your code and used. Thanks to EVERYONE at NeXT support! -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.advocacy,comp.sys.next.bugs,comp.sys.next.hardware,comp.sys.next.marketplace,comp.sys.next.misc,comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.sysadmin Subject: Quick Guide to the comp.sys.next.* newsgroups Date: 3 Aug 1993 00:19:52 -0400 Organization: Next Announcements Distribution: world Message-ID: <23kp18$6e4@digifix.digifix.com> The current menagerie: 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. 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. 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. 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. 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. 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!!! 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. comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. (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. Written by: Eric P. Scott eps@toaster.SFSU.EDU Minor editing: Scott Anguish -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: comp.sys.next.programmer From: jwdb@dutnak2.tn.tudelft.nl (Jan-Willem de Bruijn) Subject: Re: Fat BackSpace Modules, How? Message-ID: <jwdb.744370788@dutnak2> Sender: news@dutrun2.tudelft.nl (UseNet News System) Organization: Delft University of Technology References: <jwdb.744283395@dutnak2> <CB5FJr.104@news.otago.ac.nz> Date: Tue, 3 Aug 1993 09:39:48 GMT In a previous post I asked how to build fat BackSpace modules: >! A very short question: how does one compile BackSpace modules for >! Multiple Architectures? BackSpace itself poses no problem, but the >! /NextDeveloper/Examples/AppKit/BackspaceViews directory contains >! subdirectories with only Makefiles, no PB files. >! The compiler option -arch produces fat .o files, but what to use for >! link option? gideon@otago.ac.nz (Gideon King) suggested: >Why don't you just open the makefile in project builder (Command-Shift-O), >then check both platforms in the options, and . . . It Just Does It (TM):) Nice trick but I have to disappoint you. It reads the Makefile allright, but does nothing to it, no matter what options you check. Besides, you can't save it, would it have been modified. blake015@mc.duke.edu (Denise Blakeley) said: >Use -arch i386 -arch m68k on *both* the compile and link in your Makefiles. This works fine for programs that you link with cc, but for modules that are linked with ld, the latter program complains: ld: -arch: multiply specified So that still leaves me in the dark. I must be overlooking something. I could try running ld twice and then creating a fat module with lipo. But it seems like a lot of messing about for something basic. Any more suggestions? Jan-Willem -- Jan-Willem de Bruijn jwdb@dutnak2.tn.tudelft.nl Lab. of Seismics and Acoustics NeXT-mail: jwdb@delphi.tn.tudelft.nl Dep. of Applied Physics Discipline is never an end in itself, Delft University of Technology only a means to an end.
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: File Encryption in Workspace.app Date: 2 Aug 1993 20:01:26 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <23k9sm$4rd@digifix.digifix.com> References: <23ji0c$7il@access.digex.net> Dark Hacker writes > Oh come on gimme a break. Are you claiming that Apple STOLE ideas > or technology from NeXT? AOCE has been in the works for YEARS and > exncryption integrated with workgroup software is no big innovation. > Apple gets the credit due. There are definately things that Apple have borrowed from NEXTSTEP, however, AOCE isn't one of them.... We've been seeing and hearing about AOCE since before System 7 was released.... The ironic thing is, NeXT is able to kick Apple's butt up and down the street when it comes to delivering software. System 7 (2 years late), Quickdraw GX.. (at least that, it isn't here yet)... AOCE... AppleScript... tardy tardy tardy. -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: comp.sys.next.programmer From: Jeff Adams Subject: Nonfunctionality of Matrix object Message-ID: <1993Aug3.170648.16615@wri.com> Keywords: matrix, objective-c Sender: news@wri.com Organization: Wolfram Research, Inc. Date: Tue, 3 Aug 1993 17:06:48 GMT Hello All, Does anyone else think this is a viable suggestion for the Matrix object, or am I just griping because I have to write more code than I wanted to... I am writing a quick little SpreadSheet object and I decided to subclass the Matrix object since it already contains methods for adding rows and columns. The drawback of the Matrix object is that all cells must be the same size. It is relatively straight forward to subclass the Matrix object and add the ability to let the cells be different sizes (at least different row heights and different column widths). I am storing the row heights and column widths easy enough, and I would have been done already if it wasn't for the way that the Matrix determines and uses the cell frame sizes when it comes to: drawing, hilighting, tracking, and cursorRects. The Matrix object has a method: - getCellFrame:(NXRect *)theRect at:(int)row:(int)col for which I thought, Great!, all I essentially have to do is override this method and pass in the correct NXRect for each cell and things will just work. Well, it turns out that when the cells get the method: - highlight:(const NXRect *)cellFrame inView:controlView lit:(BOOL)flag the Matrix method getCellFrame:at:: is called and sent to each cell, so highlighting works automatically, however, the Cell methods: -------------------------------------------------------------- - drawSelf:(const NXRect *)cellFrame inView:controlView - edit:(const NXRect *)aRect inView:controlView editor:textObj delegate:anObject event:(NXEvent *)theEvent - resetCursorRect:(const NXRect *)cellFrame inView:controlView - select:(const NXRect *)aRect inView:controlView editor:textObj delegate:anObject start:(int)selStart length:(int)selLength - (BOOL)trackMouse:(NXEvent *)theEvent inRect:(const NXRect *)cellFrame ofView:controlView -------------------------------------------------------------- do not use the Matrix method getCellFrame:at:: to determine the cellFrame argument that gets passed in each method. My question is, why not? I can see a possible speed improvement where each method gets called by the Matrix object without needing to call getCellFrame:at::, but is the speed improvement that great that it is worth throwing out the ability to create an easy subclass of Matrix to get different sized cells? It is easy enough to override methods in Matrix and Cell for all of the above methods with very little code. The only exception is that the mouseDown: method of Matrix has to be rewritten to send the correct tracking calls to the right cells and deal with the selection mode, etc... the mouseDown: method of Matrix doesn't even call - getRow:(int *)row andCol:(int *)col forPoint:(const NXPoint *)aPoint which I have also overwritten to handle the different cell sizes. Does anyone have an alternative to rewriting the mouseDown: method of Matrix, or some code that probably mimics the Matrix mouseDown: method (handling Shift-selected cells and cell ranges, etc.) I'd just rather not reinvent the wheel on this one, but..... Thanks. ---------------------------------------------------------------- Jeff Adams jeffa@wri.com (NeXTMail accepted) Wolfram Research Inc. Of course these are my own opinions! ----------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: Scott Byer <byer@mv.us.adobe.com> Subject: Re: Fat BackSpace Modules, How? Message-ID: <1993Aug3.174547.8309@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <jwdb.744370788@dutnak2> Date: Tue, 3 Aug 1993 17:45:47 GMT Jan-Willem de Bruijn writes > In a previous post I asked how to build fat BackSpace modules: If you don't mind building up a project for it in PB, the following Makefile.postamble will trick PB into building a .BackModule, if the project name (PB Attributes "Name:" field) has the extension BackO (e.g., "PlanetView.BackO") and Project Type Bundle. Then, you can just hit Make in PB and get yourself a fat .BackModule. --- cut here --- # # Makefile.postamble # PRODUCT_ROOT = $(BUNDLE_DIR:.BackO.bproj=.BackModule) INSTALLDIR = ~/Library/BackSpaceViews OTHER_GARBAGE = $(PRODUCT_ROOT) -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs From: stefan@megatel.de (Stefan Runge) Subject: Sybase 3.1 Bug in DBROWS() Message-ID: <1993Aug3.151155.8330@megatel.de> Keywords: Sybase Sender: stefan@megatel.de Organization: megatel GmbH, Bremen, Germany Date: Tue, 3 Aug 93 15:11:55 GMT Adding my $1 to the Sybase-3.1 thread, I have found the following bug: The Sybase-function DBROWS(), which returns the number of rows in the current command seems not to work with the 3.1 libs (v.4.6). The value returned is always 0, regardless of how many rows are returned by the current command! Linking against the library which comes with 3.0 (v.4.0) works fine. In my sample-code my existence()-function checks for existence of a reord in a table. It uses DBROWS() to get a count of the existing records. It is called once before the data is inserted into the footab table and after the operation: Both times the existence()-func returns 0 (zero) !!!! This is not correct! Personally I won't rely on the 3.1 Sybase-library. The consequence is *NOT* to use the DBKit in 3.1 in conjunction with Sybase, and to link all other (not DBKit) programs against the 3.0 library which seems to work. If I have a couple of time I will send this information to bug-NeXT... -- Stefan Runge megatel GmbH, Wienerstr. 3, D-2800 Bremen 33, Germany NeXTMail: stefan@megatel.de ---
Newsgroups: comp.sys.next.programmer From: xinwei@otter.Stanford.EDU (Sha Xin Wei) Subject: Can DBRecordList getValue:forProperty:at: retrieve objects from Sybase? Message-ID: <1993Aug3.205051.23811@leland.Stanford.EDU> Keywords: dbkit Sender: news@leland.Stanford.EDU (Mr News) Organization: DSO, Stanford University Date: Tue, 3 Aug 93 20:50:51 GMT DBRecordList's - getValue:(DBValue *)aValue forProperty:aProperty at:(unsigned)index method seems to return null as aValue's value from a Sybase image field which contains an NXImage. (I know that there is data because a DBImageView wired in IB displays the image data from this field.) However my own code comes up empty-handed. Below, you'll see a (DBValue) ivar named scratchValue first used to retrievea string from a "name" field. This succeeds. later it's used to retrieve an object from the same record's "imgae1" field. Though -objcType reports that the type is an object, -objectValue reports 0x0. What's the fix? Indeed, what I need is the natural generalization: to type an Sybase image field as Object in DBModeler, rather than NXImage, then dynamically store, retrieve and appropriately present custom classes of objects. has anyone done this? Advice? Samples? Sha Xin Wei Academic Software Development Stanford University // --------------------- Mmdb --------------------- - getValueForName:(const char *)fieldName at:(unsigned)index { id aProp=nil; id aVal; aProp = [[currFetchGroup entity] propertyNamed:fieldName]; aVal = [[DBValue allocFromZone:[self zone]] init]; [[currFetchGroup recordList] getValue:aVal forProperty:aProp at:index]; [scratchValue free]; scratchValue = aVal; return aVal; } /* --------------- OLD VERSION without local DBValue -------------- // DBValue scratchValue is alloc, init'd in the - awakeFromNib method for this object // scratchValue = [[DBValue allocFromZone:[self zone]] init]; - getValueForName:(const char *)fieldName at:(unsigned)index { id aProp=nil; [scratchValue free]; // release old stuff aProp = [[currFetchGroup entity] propertyNamed:fieldName]; [[currFetchGroup recordList] getValue: scratchValue forProperty:aProp at:index]; return scratchValue; } */ - getObjectFrom:(const char *)fieldName at:(unsigned)index { id retObj=nil; [self getValueForName:fieldName at:index]; // sets ivar scratchValue retObj = [scratchValue objectValue]; return retObj; } // --------------------- Pool.m --------------------- - fillFromMmdb:aMmdb { char *cname=NULL; char *otype=NULL; id poolCells = [pool cellList]; unsigned int i; unsigned int blobCount = [aMmdb blobCount]; unsigned int nPoolCells = [poolCells count]; unsigned int maxCount = MIN(nPoolCells, blobCount); id image=nil; id thumb=nil; if ((poolCells) && (maxCount>1)) for (i=0; i<maxCount; i++) { cname = [aMmdb getStringFrom:XBM_NAME_STR at:i]; image = [aMmdb getObjectFrom:XBM_IMAGE1_STR at:i]; if (image) [[poolCells objectAt:i] setImage:thumb]; [[poolCells objectAt:i] setEnabled:YES]; } return self; } // --------------------- gdb session extract --------------------- (gdb) p (char *)[aVal stringValue] $26 = 0x18e3ec "Teatro Farnese" -[DTable getObjectFrom:at:] (self=0x17b860, _cmd=0xdcfd, fieldName=0x9fc7 "image1", index=1) at DTable.m:219 (gdb) p [scratchValue isNull] $31 = 1 (gdb) p (char *)[[scratchValue valueType] objcType] $32 = 0x18e0f4 "@" (gdb) p (char *)[[scratchValue valueType] objcClassName] $33 = 0x0 (gdb) p (char *)[scratchValue objectValue] $34 = 0x0 (gdb) info loc self = (struct Pool *) 0x17bb1c aMmdb = (struct Mmdb *) 0x17b860 poolCells = (struct List *) 0x1794fc .. image = (id) 0x0
From: charles@ils.nwu.edu (Charles Lewis) Newsgroups: comp.sys.next.programmer Subject: FAQ, please Followup-To: comp.sys.next.programmer Date: 3 Aug 1993 21:32:47 GMT Organization: Institute for the Learning Sciences Distribution: world Message-ID: <charles-030893163947@clewis.ils.nwu.edu> Would someone be so kind as to email me the FAQ for this newsgroup, or let me know where it's archived? Thanks. Charles Lewis Every normal man must be tempted charles@aristotle.ils.nwu.edu at times to spit on his hands, Institute for the hoist the black flag, Learning Sciences and begin slitting throats. Northwestern University H.L.Mencken
Newsgroups: comp.sys.next.programmer From: eggert@twinsun.com (Paul Eggert) Subject: Re: RCS and binary files Message-ID: <CB7EJB.DL7@twinsun.com> Sender: usenet@twinsun.com Organization: Twin Sun Inc, El Segundo, CA, USA References: <CB56z5.JFv@world.std.com> <18572@news.duke.edu> Date: Tue, 3 Aug 1993 22:01:58 GMT blake015@mc.duke.edu (Denise Blakeley) writes: RCS doesn't handle binary files at all. Get CVS--it's public-domain and runs on top of RCS, and it handles binaries. Since CVS uses RCS to store files, CVS handles binaries only if its underlying RCS does. Recent versions of RCS handle binaries, if they're configured to use GNU diff. Also, CVS isn't public domain; like RCS, it's free but copyrighted. Please see its COPYING file for details.
Newsgroups: comp.sys.next.programmer From: aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) Subject: Changing colors in a composited image? Message-ID: <3AUG93.23183204@enh.nist.gov> Sender: news@dove.nist.gov Organization: NIST Date: Wed, 4 Aug 1993 04:18:32 GMT I have an application that composites large numbers (like 800) of images into a view. It would be nice to have the ability to change the color of these images. Right now, I could specify that the images must be drawn in pure black, and then change any black pixel to be the correct color, but I am not sure that this is the best idea. I am using NXImages, and I toyed with the idea of using the back ground color, but that is not really what I want. As an aside: can anyone tell me where I can find out about the different compositing operators available to me? I can find the list, but nowhere is each of the operators (NX_SOVER, etc...) described in detail... maybe something in here will help me. My address is different than above: day@spot.aoml.erl.gov Thanks in advance for your help! Kevin
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Re: Making a scrolling Text object by hand Date: 2 Aug 1993 18:35:30 +0100 Organization: me organized? That's a joke! Message-ID: <23jj92$5j6@steffi.demon.co.uk> References: <abellCB4850.MF0@netcom.com> I have already mailed Steve my response but I ask the net and steve. What possible reason is there to be able to do all of this by hand? You just create an NXSplitView in IB drop in your scrollViews and what ever else you have and simply make them subviews on the scrollView thru your outlets. Scott Hess, will tell you you can hack with StringInspector.nib but it never bloody works for me. Can somebody qualify this? Why is there the need to do everything in code?, Unless of course you are generating a lot of these suckers with dyamically changing state?
Newsgroups: comp.sys.next.programmer From: tim@ursidae.demon.co.uk (Tim Bissell) Subject: Re: Help with Distributed Objects Organization: Retentive (analysts) Ltd. References: <23bknq$bv6@stimpy.css.itd.umich.edu> <CB0I03.7z0@ripple.uunet> Date: Mon, 2 Aug 1993 21:43:45 +0000 Message-ID: <CB5J0y.13z@ursidae.demon.co.uk> Sender: usenet@demon.co.uk In article <CB0I03.7z0@ripple.uunet> df@watershed.com (Dirk P. Fromhein) writes: >Yes, you are correct. >There is only one way to get around this (as far as I know), with each client >start a new connection between the client and the server. Thus each client is >a server to the server. > > >In article <23bknq$bv6@stimpy.css.itd.umich.edu> hubt@css.itd.umich.edu (-- >Spawn --) writes: -- There seems to be a misunderstanding of the way DOs, and NeXT Objective C objects in general, work running through this thread. Most NeXT apps have one flow of control running through them - only one object is actually executing code at any one time. If an object in a different application - which *is* executing code at the same time - wants to send a message to the first one; it had better be waiting to receive it. If your program does not have a NeXT user interface (i.e. does not use the Application object, IB etc.) then if you want to send messages to an object in it, you must explicitly wait for messages to arrive, by sending a 'run' message to the proxy of the remote object that will send the message. Read and reread the NXConnection manual page, especially - run, - runWithTimeout:, - runInNewThread and - runFromAppKit. This is a simplification, and not a very good one; these type of questions come up often enough that a better explanation should be put into the FAQ -- any volunteers? Tim -- Tim Bissell | tim@ursidae.demon.co.uk DoD # 174 Retentive Limited | "Number two in a field of one..." +44 480 451022 | Independent NeXT Developer/Consultant
From: slv0y@cc.usu.edu Newsgroups: comp.sys.next.programmer Subject: Indexing Kit Questions Message-ID: <1993Aug3.213257.70724@cc.usu.edu> Date: 3 Aug 93 21:32:57 MDT Organization: Utah State University I have a couple of questions about the Indexing Kit that I hope someone out there can answer. 1) Is it possible to have seperate users accessing the same "database" at the same time? If so, how do I do it safely? 2) Is anyone using the Indexing Kit for very large databases, like 300,000+ records? If so, what problems should I look out for? I am in the process of creating a database that will grow very shortly into about 500,000 small records. What sort of performance can I expect to get? 3) How do you find out the id of the IXBTree that a IXRecordManager is using? I want to know so I can send the IXBTree messages directly. This is my first "major" use of the Indexing kit, so any help would be greatly appreiciated. John Zollinger slv0y@cc.usu.edu
Newsgroups: comp.sys.next.programmer From: abell@netcom.com (Steven T. Abell) Subject: Re: Making a scrolling Text object by hand Message-ID: <abellCB7uvz.JBz@netcom.com> Organization: Netcom Online Communications Services (408-241-9760 login: guest) References: <abellCB4850.MF0@netcom.com> <23jj92$5j6@steffi.demon.co.uk> Date: Wed, 4 Aug 1993 03:55:11 GMT robert@steffi.demon.co.uk (Robert Nicholson) writes: >I have already mailed Steve my response but I ask the net and steve. >What possible reason is there to be able to do all of this by hand? >You just create an NXSplitView in IB drop in your scrollViews and what ever >else you have and simply make them subviews on the scrollView thru your >outlets. Scott Hess will tell you you can hack with StringInspector.nib but >it never bloody works for me. Can somebody qualify this? >Why is there the need to do everything in code? Unless of course you are >generating a lot of these suckers with dyamically changing state? Thanks to Robert for showing me more than I've learned in a while about how to use IB. Wonderfully simple. I'd always thought of IB as a tool for making exact arrangements. 'Tain't necessarily so. Actually, what I'm doing *does* involve views that change state. Or, more precisely, they autoconfigure under several constraints that aren't known during compilation. Now, what's this about StringInspector.nib? I've never heard of it. Steve abell@netcom.com
Newsgroups: comp.sys.next.programmer From: alastair@farli.otago.ac.nz (Alastair Thomson) Subject: Mostly floating panel, how??? Message-ID: <CB7w1t.2p7@news.otago.ac.nz> Sender: usenet@news.otago.ac.nz (News stuff) Organization: University of Otago Date: Wed, 4 Aug 1993 04:20:17 GMT This is probably a dumb question, but I haven't found a way to do it yet. I have a scanner control application. While it is scanning I display a panel with a bar showing the percentage completion of the scan pass. Currently when I click on the main window, the panel gets hidden behind it. If I send a setFloatingPanel:YES to it, it stays above all windows, when I switch to other applications, I want the panel to be behind other apps, but the top window of the scanner app. I have tried using delegate methods for the main window, but I don't get the message while I am scanning. How do I get it to float above the scanner app windows, and not other apps? Thanks, Alastair -- Alastair Thomson, | Phone +64-3-479-8347 Chief Programmer, | Fax +64-3-479-8529 The Black Albatross Project, | e-mail: University of Otago, | alastair@farli.otago.ac.nz Dunedin, New Zealand | NeXTmail Welcome!!
Newsgroups: comp.lang.c++,comp.os.ms-windows.programmer.win32,comp.sys.mac.programmer,comp.windows.ms.programmer,comp.sys.next.programmer From: zstern@adobe.com (Zalman Stern) Subject: Re: C++ file extension Message-ID: <1993Aug4.054354.13376@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <23iki6$r61@rs6000.bham.ac.uk> Date: Wed, 4 Aug 1993 05:43:54 GMT Guy Pickering writes > Kin Cho (kin@isi.com) wrote: > : Hi, > > : We're migrating our C++ source code from UNIX only to PC, Mac, and > : VMS platforms. > : File extension was one of the first headaches we have to deal with. > : On UNIX, .C is nice and clean, but the rest of the world is case > : insensitive, something like .cxx and .hxx is necessary. > > : So what extensions do you recommend? > : Note that we have immediate plans to use Visual C++ on Win 3.1 and > : (later) WinNT, so something that works with those tools is important. > > A related issue here is the problem associated with #include > directives. Whan I proted my beautiful X app (having followed > all the books) I found loads of #include<X11/someheader.h>. VAX > and PC's choke on these because of the '/'. Hint, never use > this form - modify your Makefile to search in the directories. If you are really serious about this, simply don't mention filenames in your code. Instead write something like so: #include INCL_DEFS_H #include FOO_INCL_H /* ... */ And then compile with a "-DINCL_DEFS_H=<InclDefs.h>" Where InclDefs.h looks like so: #define FOO_INCL_H <Foo.h> Or of course you could use a language with real modules where you import named entities instead of textually including files. Complexity: pay me now or pay me later... -- Zalman Stern zalman@adobe.com (415) 962 3824 Adobe Systems, 1585 Charleston Rd., POB 7900, Mountain View, CA 94039-7900 "We're just a couple of joyful little pervo-goats." -- Akbar (Jeff?)
Newsgroups: comp.sys.mac.programmer,comp.os.os2.programmer,comp.sys.next.programmer,comp.sys.next.advocacy,comp.os.os2.advocacy,comp.os.ms-windows.advocacy,comp.os.ms-windows.programmer.win32,comp.sys.mac.advocacy From: brian%easy.cs.utah.edu@cs.utah.edu (Brian Sturgill) Subject: IBM gives their view of Taligent. Date: 4 Aug 93 00:56:56 MDT Message-ID: <1993Aug4.005656.4321@morgan.cs.utah.edu> Followup-To: comp.os.ms-windows.advocacy,comp.os.os2.advocacy,comp.sys.mac.advocacy,comp.sys.next.advocacy Organization: University of Utah Computer Science [Followups redirected to the advocacy groups only.] [ Below is an article from IBM's OS/2 Developer (a publication roughly corresponding to Microsoft System Journal for Windows). It is about Taligent, the joint venture between Apple and IBM. Keep in mind that the OS they are talking about originally was Apple's "Pink" OS. Joe Guglielmi, CEO of Taligent, paints a much different picture of what Taligent will be, than what I knew of "Pink". Pink had it's own microkernel, was already running a Macintosh "personality", and while was not production code, was out being demoed at Apple NDA meetings. Unfortunately, I have all this third hand... if anybody knows of a good source about "Pink's" state pre-IBM I be ver interested in seeing it. Throughout reading this article I kept wonder how Mac users would feel about IBM's view of where Taligent is headed. IBM users have plenty of alternatives... but System 7 is too primitive, and Taligent (previously known as Pink) was supposed to be the next step. It looks like IBM is in the process of causing mass confusion. Anybody know of a source to read Apple's side of this story? It looks like to me that IBM is in the process of OS/2-izing (lobotomizing?) it. My comments appear between [...] like this one does. ] ------------ [OS/2 DEVELOPER; June/July, 1993; pages 6 through 20] TALIGENT: A NEW PARADIGM, A NEW APPROACH By Bob Orfali and Dan Harkey To OS/2 developers, Taligent can seem like a "Land of Oz" of operating systems, located "somewhere over the rainbow." Why worry about? Taligent when our brain cells are overloaded just trying to digest new OS/2 features like DSOM, the microkernel, DCE, LAN NetView, and motion-video multimedia? Why should OS/2 developers like us need to know about Taligent? At least that was our attitude when we began this article--but it soon became evident that there was a lot about Taligent that OS/2 developers need to know about. [ I found this paragraph a strange way to start the article... it's clear that most OS/2 developers outside IBM are very cognizant of Taligent... did they think this paragraph would fool them into believing they're the only one interested? IBM (the OS/2 portion) knows of this interest... as prior to this they have take every opportunity to downplay Taligent. ] A NEW PARADIGM? The first thing we discovered about Taligent is that its technology is multifaceted, elusive, and would not fit neatly into our current model of "the way things are." For this article we were not provided with specifications, product sheets, demos, or an architecture reference model. And this operating system is not like any other; it's all new and different. When we expressed our bewilderment to Mike Potel, Taligent's vice president of technology, he joked, "Joe Guglielmi had the same problem when he became CEO at Taligent. Every time he talked to somebody, he got a different view of this beast." This article starts by looking at Taligent from an OS/2 perspective and provides a framework for the terminology of the interview. We then turn the microphone over to Joe Guglielmi. We could never match Joe's eloquence and passion for his product. OS/2 AND WORKPLACE OS When does Taligent enter the picture? In Figure 1, we offer a "fearless forecast" of how the desktop operating systems from IBM and Taligent come into the picture over the next few years. In all cases, the future lies in operating systems that embrace object-oriented technology. OS2 2.x is optimized for Intel processors and will continue to evolve throughout the '90s. The Workplace OS is a portable environment that is designed to run on top of Intel and RISC hardware from a variety of vendors, with the portability layer provided by a common microkernel. The 32-bit OS/2 applications you create should run on all platforms. In our scenario, objects become very important. Distributed object services based on the System Object Model (SOM) become a vehicle to share objects across operating systems such as OS/2, DOS, Windows, UNIX, AS/400, and MVS. In addition, object-oriented application frameworks containing both IBM and Taligent technology will be offered for OS/2 2.x, UNIX, and Workplace OS. In Figures 2 and 3, OS/2 2.x and the Workplace OS support DSOM, object services, and the object-oriented application frameworks. OS/2 2.x and the Workplace OS support DSOM, object services, and the object-oriented application frameworks. OS/2 2.x continues to evolve, providing optimal performance on the large installed base of Intel machines. A GUIDE TO MICROKERNELS, PERSONALITIES, AND FRAMEWORKS Figure 3 helps explain all the new terminology and shows where Taligent fits in. Several pieces of the Workplace OS play together; the IBM microkernel, the operating system personalities, the distributed object layer, the object-oriented frameworks containing Taligent technology, and the Workplace user interface. We will briefly introduce these pieces, then move on to Taligent. THE IBM MICROKERNEL utilizes technology from Mach 3.0 research. Mach 3.0 is a portable microkernel developed by Carnegie Mellon University. The IBM microkernel and Mach 3.0 remove the UNIX-specific elements and provide a few well-defined services--including interprocess communications, virtual memory, ports, task dispatching, and threads--used to build all system services. The rest of the operating system functions--file I/O, user interface services, device drivers, and communications--are implemented outside the microkernel. As a result, the microkernel can be smaller, faster, and more scalable while providing a higher level of robustness, security, and integrity. Elements outside the microkernel, such as the device drivers and file systems, can be shared by the operating systems that run on top of it. IBM's multithreaded microkernel supports symmetric multiprocessing, a technique that allows programs to run concurrently on multiple processors in tightly-coupled configurations. It is intended to support Intel and a variety of RISC processors. TALIGENT AT A GLANCE Founded in March 1992, Taligent is an independent system software company owned jointly by Apple Computer Inc. and IBM Corp. and headquartered in Cupertino, Calif. The company has 310 employees, who use object-oriented technology to develop system software from the bottom up. The emphasis of the company's charter is on enabling the innovators and entrepreneurs who spawned the desktop revolution, allowing them to take full advantage of object technology's benefits and encouraging a new model for innovation centered around objects. Taligent's system software will be open for extension at all levels by software developers, hardware OEMs, and systems vendors. The company will license, market, and support its software platform worldwide. PERSONALITY MODULES provide operating system-specific API services. IBM intends to support DOS, Windows 3.x, OS/2 2.x, and UNIX personalities, with the microkernel concurrently executive multiple operating system personalities on one machine. (One personality, designated as dominant, controls the appearance of the desktop.) The personalities will preserve investments in code and application packages. The microkernel also provides the means to build spec- ialized servers and operating system replacements. THE DISTRIBUTED OBJECT LAYER, based on IBM's Distributed System Object Model (DSOM) technology, allows objects to operate across networks. This layer also includes services for storing, replicating, shadowing, creating, destroying, and specifying objects. DSOM is based on standards set by the Object Management Group (ONG), an industry consortium of over 200 member companies. For example, DSOM defines objects using the Common Object Request Broker Architec- ture (CORBA) interface definition language. DSOM uses OMG's specification of an Object Request Broker (ORB) to find and invoke objects on different machines. The object services are intended to comply with OMG's object life cycle and persistence specifications when they become available. OMG and IBM are also working on specs for shared objects and object transactions for client/server environments. All this means that OS/2 is already deeply involved in objects, adhering to current industry standards. These objects are, of course, built on top of a standard operating system. THE OBJECT-ORIENTED APPLICATION FRAMEWORKS intend to provide a portable distributed set of object services to help create user applications. A framework makes writing object-oriented applications from raw class libraries less tedious; you begin with complete working subsystems, which can be customized for individual applications. You can also create applications by writing subsystems together with visual application assembly tools. Third party software companies will be able to provide parts or entire components that can be assembled or modified by users or system integrators. THE USER INTERFACE for IBM's "Workplace" line is (you may have guessed from the name) based on OS/2's Workplace Shell. This object-oriented user interface will be adapted for DOS, UNIX, and OS/2. Users think in terms of directly manipulating objects on the desktop rather than dealing with programs and other computer- based metaphors. IBM is working on making the user interface even easier to use by adding powerful new visual metaphors. Now that we've introduced some of the terminology, we give the floor to Joe Guglielmi, the chairman and CEO of Taligent. We used the system detailed in Figure 3 as a reference point for our questions. _Developer: Let's start with one of the loftier questions. Taligent was jointly founded by IBM and Apple. What were your original goals, and how have they changed?_ Joe: When Apple and IBM got together on this project, it was because both companies had a common vision of the importance that object-oriented technology would have in the marketplace. Both had substantial interest and investments already in that technology. We first looked at a joint development using the Power PC RISC chip and then it grew into a more encompassing project that would com- mercialize objects on high-volume platforms and get the industry to make the transition from a procedural world to an object world. _Why is that so important?_ Because our goal is to provide a dramatic improvement in the application development environment. I talk about it in terms of moving the cycle from years to months and providing a brand new environment, in terms of functionality, that will encourage innovation. It also turns out that, since we're writing an operating system from scratch, we get to do some things right. We now have a rich heritage in multimedia, advanced graphics support, and other capabilities that we know should be fully integrated into an operating form. So as a kind of a Luck Strike Extra, you get to do those in an integrated fashion. By the way, in an object system all those things become simply objects that you can deal with. You don't worry about whether you're dealing with full-motion video or whether you're dealing with static date types. Everything is treated as an object structure. _Where do you see this technology going?_ We see enormous potential in this technology--not because it's object-oriented, but because it can give the industry a brand new base that will allow us to move from today's environments, which are constrained, we think by the operating system capabilities. Just as OS/2 2.0 unleashed the power of a microchip we'd been shipping for years, this will begin to unleash the power and creativity in the industry in a different way. We won't be constrained by the old paradigms of procedural operating systems. _How will you get this technology into the marketplace?_ This is where our strategy has changed dramatically. Initially, the notion was to deliver one large brand-new operating system, top to bottom, in one really significant drop. We've become more realistic about that; we've had to deal with very pragmatic issues. How do we, when providing this great step function, deal with current investments? How are we going to make sure the OS/2 invest- ments, AIX investments, System 7 investments carry forward? How do we ensure that we don't force a change in the marketplace all at once to a new technology? _So how do you do that?_ We've focused our strategy over the last year on three or four things. One is moving the project from a research project with two or three technology bases to a product development environment where we now have the focus on delivering products that respond to customers' requirements to the marketplace. Second, we've spent a lot of time staging the project...we can't do it all at once. We'll never be able, in one release, to compare to those established operating systems, so that's a bad goal. So let's focus on areas in which we think the technology substantially leverages itself. We're going to stage our technology to focus on both corporate and software developers. What do they need first, to provide value? Taligent's proposition is that the value comes from the devel- opers. We don't compete with them for word processors or spreadsheets, and we don't do databases. What we provide is an environment that lets them do a much better implementation of what they do best. Our delivery channels--Apple, IBM, and others--are also going to add value to this. _Yes, but every new operating system needs to do that kind of stuff..._ It does. But the second new notion is that we would take pieces of this technology and make it available to current operating systems like OS/2, AIX, and System 7. That's a pretty profound change. That's something that's not very natural for a team developing a new operating system to do. A development team wants to make the biggest step function change, one that differentiates between current and future environments. Well, we concluded that without some strategy to get the technology into the market early, the step function was too great. This isn't 1983 anymore. This isn't about "I have a great technology; we'll just get people to stop what they're using and move over to it." We have example after example in the marketplace today where great technology can't get commercial acceptance. So the notion was, why don't we take pieces of this technology and make them available to current operating systems? _What does that do for those operating systems?_ First of all, if we've done classy implementations of the technology, it will enhance them. OS/2 will be more competitive; System 7 will be more competitive. By the way, we're not limiting it to just those two; our strategy is to go after as many of the current operating systems as possible. Think about all the UNIX environments or--ultimately--any 32-bit system that can carry the technology. _What are the benefits to Taligent of making this technology available to others?_ The technology will make OS/2 and System 7 more competitive and they, in turn, will provide us a transition platform for the wide-scale introduction of objects to the marketplace. We benefit if IBM and Apple evangelize object technologies and provide us with a more evolutionary path. We're a small company; we can't do it all ourselves. But by putting pieces out in the marketplace, we begin to provide a transition mechanism--that is, investments made in applications that use that technology under a mature operating system can be carried forward into Taligent when the time is right. So when Taligent comes, customers can decide whether they want to move to it or not. this is not a forced march. It doesn't mean one Monday morning OS/2 goes out of business or System 7 goes out of business--that's not the strategy. _But if you've made your object technology available on other platforms, why would anybody ever want to move to Taligent?_ Taligent will be fully object-oriented with a very consistent object model. When you enter Taligent, everything in the system is an object, with no differentiation between a system object and an application object. We can implement a very consistent object structure once you're in the object space, you can leverage every element in that environment. You won't ever have to deal with the procedural elements of a system. Take NextStep, for example. Steve (Jobs) has a great user interface tool, but you still have to bounce into UNIX from within your applications. _Where are the advantages of having objects at the operating system level?"_ Envision a growing industry that would provide system frameworks, networking frameworks. Take communications. If they don't like ours, IBM or Novell could replace it with their own implementation. Device adapters can inherit characteristics of a particular device class and customize them to fit their particular needs. It's a very consistent way of taking advantage of new hardware. System software can then keep up with fast-moving hardware technology. _OK, so what's in it for application software developers?_ If we do our job right, in the mid-90's application developers will not be writing code but will instead be shopping for objects. If you think about it, there will be thousands of objects; how do I know which one I want to subclass or reuse? We're building a very consistent development environment with viewers or browsers that let you try out these objects and understand what they can do for you. You'll have a full environment that lets you think of your world in terms of objects. _Will some of that environment be made available on OS.2?_ Yes. I didn't mean to imply that the layers of components we provide for OS/2 won't be great; they'll move objects forward and condition the mass market for objects. Taligent has the added luxury of being able to put the whole thing together from the bottom to the top. _Speaking of the bottom, both Taligent and OS/2 will be running on the same Mach 3 microkernel--is that correct?_ We're on the same microkernel, but IBM is not shipping Mach. They're shipping a microkernel based on Mach technology. Mach is a big, heavyweight thing; IBM and Taligent are creating a much more lightweight version of Mach and creating personality-neutral servers and services. Taligent is adding the mechanisms to make it a first-class object environment. We're working on the performance implications of moving thousands of objects around in a system. IBM will build the microkernel that we'll use as part of our common strategy. [ By here it seems clear to me that IBM has forced a total redesign of Taligent (Pink had it's own Microkernel). ] _Mach is an open microkernel, something perceived as a benefit. Aren't you losing that by going to your own microkernel?_ I'm not commenting on the open aspect. I'm commenting on Mach's poor performance for doing objects. We have over four years of experience writing microkernels for objects, and we know how to do one. Object people don't think you can do objects on the current version of Mach--it may be OK for doing UNIX-type things. The common IBM microkernel solves those technical problems. On the openness question, it's up to IBM how they supply the microkernel back to the industry. I'm trying to answer the guy who says, "What are you, nuts? Mach can't run an object system the way it's currently designed." The answer is "It can't, but the kernel we're implementing can." It's really this notion that the core technology is optimized object technology and this new common microkernel works across OS/2, UNIX, and ultimately, hopefully, the industry. That's where the world's going. [ So much for IBM's "commitment" to Open Systems! ] _So is this microkernel one of the first pieces to be delivered?_ It's actually being developed at IBM. Our operating system development team is working with the IBM team. _Are your object frameworks built on SOM and CORBA technologies?_ I think we've come to appreciate what SOM is and what it isn't. I think there's a greater feeling that SOM's design point and the problem set that it solves are important, very important. Whether or not we can, as a team, adopt all of the goals of SOM in our design point is the discussion we're having with IBM now. The reason is, I think, pretty neat to think about. In Taligent, we are dealing with a system optimized for a very large number of small objects. That's how we get performance. We don't move a few big objects. We move a lot of very little things around, we we have a tremendous amount of tasking going on. We've got the machine burning and we've optimized for performance. We got a lot of value out of that optimization. SOM is best when the primary objective is mixing objects from a variety of vendors. The fact that the object's interface is the standard defined by the Object Management Group--the CORBA specification--is also very attractive. [ Translation? IBM forced SOM down our throats, but we're coping. Clearly SOM things written for OS/2 currently will not be easily portable to Taligent. I'm surprised there is no mention of migration facilities... i.e. how do PM and Mac ToolBox fit in? ] _Will you support DSOM then, since it's based on CORBA?_ Of course, DSOM is a very easy case. Its ORB, which is CORBA compliant, is one way we deal with objects across networks. We know there are objects on this network that are going to be moved around. _So you're depending on DSOM to bring CORBA. Is IBM representing Taligent's position in the OMG?_ IBM, like Sun or HP, has put some time into defining the CORBA compliance specs. In our implementation, we support that spec as one of the important distributed object models in the industry. Now take Microsoft; they're doing CAIRO. I don't know if CAIRO is CORBA compliant; the likelihood is not. What's going to be our position on Microsoft's model? If it's a high-volume model in the future, we're going to have to find a way to support it as much as possible. That doesn't mean we like it...or don't like it. Our position is pragmatic. We have to exist with whatever becomes a high-volume platform in the future. We're working with IBM, Apple, and others to try to make the transition as seamless as we can, but we're coming from two different worlds. What we won't do is suboptimize our world. If we end up lowering our goal of full utilization of object technology, we will lose the great differentiation that comes from it. [ Note, he does NOT say that they'll support DSOM. ] _Which IBM groups do you work with on object technology?_ I deal through the PSP division, which means that Larry Loucks, Cliff Reeves, and Lee Reiswig are my contacts in the IBM world. So when I deal with Larry and Cliff, we either agree or don't agree, and I expect them either to bring the rest of the company with them or tell me that I've got to deal with the situation differently. By the way, they're doing a great job evangelizing Taligent within IBM. _If you were speaking directly to, let's say, leading edge OS/2 application developers who want to do the right thing and position their product for the future, what kind of strategy or recommendation would you map out?_ Here's the strategy I think has to be followed. If you're an OS/2 developer, keep working with OS/2 release 2.1 and beyond. This will give you the highest affinity with Taligent. Why do I say that? Because I'm working very hard to make that happen. Can I [ So what happens to Mac developers? (see below) ] tell developers that everything they do in every release will be cared for seamlessly? No, I can't tell them that. But they should know that we are working very hard with the PSP development group to put as much of this technology as possible into OS/2 and AIX, to enhance their competitiveness wherever we can, because we believe that's good. We believe a big OS/2 base is in Taligent's interest and, therefore, we're going to work as hard as we can with IBM to make it as painless as we can. We hope it's zero pain. That's our goal. But it probably won't be. _How do you balance that with Apple's needs?_ The same way. When we talk to Apple, I have the same strategy. The decisions we make optimize on where Taligent is going, mindful; of the fact that helping make Apple successful with System 7 and IBM with OS/2, AIX, and Workplace OS is good for us, because every user in those two or three camps is going to be positioned much better to come to Taligent. [ Oh, so both will have the "highest affinity"... but there are huge differences between the two API sets... it is impossible to "integrate" them. Is he just talking air? ] _Will the Taligent user interface look like Mac, Workplace Shell, or something brand new?_ That's unclear, frankly, and let me tell you why. I believe that the opportunity to build the Taligent desktop completely from an object paradigm gives us degrees of freedom that can move the desktop beyond what is possible today. So we've focused on that; we're trying to figure out where we can exploit this technology the best. Let's take one model that could happen. In a Taligent world, since everything is an object, applications don't exist the way they exist today. You turn your system on and it comes up with a set of objects that you deal with, and you arrange them in the workflows. The notion of a workflow world centered on the user is much more realistic in a full-object world. Everything on the screen is a full object linked from the top to the bottom of the system. When we are ready to deliver a full-object model to the screen, we're going to go back and work with IBM and others on where they are today. We'll try to make it as evolutionary as we can...we'll find ways to see if we can't evolve multiple releases of the Workplace Shell or the Mac look to where Taligent is heading. _What's your planning horizon?_ We're the only ones in town who are worried about 1996. I don't mean that in a negative way. Everybody else is worried about 1993, '94, and '95. I have to stay worried about 1996, or '97; how can this technology, when it's fully exploited, change the playing field in the industry? If we miss the goal of providing dramatic new technology, the industry won't change. If the industry doesn't change, none of the interim operating systems are going to be successful by themselves. They will not have the kind of critical mass that you require. So the design point is to fully exploit the technology and then look backwards to see how we move the current base from here to there, and there are several bases. But the thing people ought to feel good about is that we're thinking about it. It's not like we're over here doing our best thing and hope that someday it all works. This is the first time there is a group that is allowed to really focus on where we want to be. At IBM, you know that there can be terrible constraints on getting there when you must suboptimize to support the core installed base. But we don't want to look like we never talk to each other, either, so we have a new development model here. It's different than we've ever tried before, and that's why Taligent is a separate company. _Will Taligent technology bring together the System 7 and OS/2 worlds?_ As a separate company, I can talk with a lot of authority about what we've doing, and I can tell you only a little bit about how we're working with these two companies. If you want their view of the world, you've got to go ask IBM and Apple, I will tell you this: both Apple and IBM feel strongly about keeping their current systems viable, and we support that. There's no model here, under any circumstance, where all of a sudden on Monday morning OS/2 or System 7 goes away. That isn't in the cards, because there's no viable scenario where this whole thing can make the transition in one day to a new environment. So there is going to be, as you expect, a continuation of a substantial investment in those current operating systems, and we're going to find a way to make the path to Taligent very attractive. _Are you going to sell a shrink-wrapped Taligent through software stores?_ Yes, but that isn't our model. The whole distribution model is changing today. The store distribution model is going away; I mean, who distributes operating systems today? The hardware manufacturers. So our strategy is to get the distributors to accept the technology, to provide the critical mass, the target volumes, so that developers can see it. Shrink-wrap and user sales will come after that. So the whole model is different. It isn't about running big ads in magazines, hoping that users will ask developers to create a great application. It's about going to developers and saying, "Look, you're building a great application. You can keep doing it. We're going to give you the tools to do it in a third of the time and to maintain it more easily by an order of magnitude. You know, by the way, that when you upgrade it, your cycle will go from two years to six months. That's worth a lot by itself. Oh, there's another opportunity coming. Have you thought about spreadsheet engines, word processor engines, graphics engines? Have you thought about work flow as an application? You can really do it now. Have you thought about it?" So we're creating a different world of applications and when we start this model, all of these characteristics will allow hardware manufacturers to differentiate their products. We want to sell through the high-volume channels. If we don't do that, our adoption curve is going to be seven years. It takes seven years to get an operating system to the market, if you're good. I want to be a success faster than that. So all of these strategies are working toward substantially reducing the adoption curve for the new technology. _How do you see the operating system pie divided in 1996?_ I'd be presumptuous to give you a target; I will tell you that existing systems will continue to have a large market share. Between now and 1996, there's just not enough time to substantially change the rate flow. I don't know what the division between NT, DOS, OS/2, and Windows will be; who knows? That's completely up to them. We haven't see NT yet, but they'll have a large share. I believe OS/2 will gain critical mass and have a substantial share. I think Apple will continue to have a big share. UNIX will probably still own eight or nine percent of a growing market. By 1995 there'll be 35 million micros shipped per year, so even 10% of that is still a big volume. And then Taligent will begin to show up. Now I can't tell you exactly how big our wedge will be, but it will not be zero, because we intend to get to market by the mid 90s; hopefully earlier. And I think that, as Taligent becomes an important environment and we demonstrate its utility, that wedge will grow more rapidly than historical growth rates in new operating systems. --------- Brian -- C. Brian Sturgill Want good, low cost, POSIX (Unix-like) tools and University of Utah shell for Windows NT? E-mail hippix-info@hippo.com. Center for Software Science brian@cs.utah.edu Windows family OS info -- ftp to easy.cs.utah.edu.
Newsgroups: comp.lang.objective-c,comp.sys.next.programmer From: krab@iesd.auc.dk (Kresten Krab Thorup) Subject: Re: Namespaces ? In-Reply-To: rvs@vnp.com's message of Sat, 31 Jul 93 13:39:41 GMT Content-Type: text/plain; charset=iso-8859-1 Message-ID: <KRAB.93Aug4121811@xiv.iesd.auc.dk> Sender: news@iesd.auc.dk (UseNet News) Content-Transfer-Encoding: 8bit Organization: Math & CS at Aalborg University References: <26155@alice.att.com> <1993Jul31.133941.20170@vnp.com> Mime-Version: 1.0 Date: 04 Aug 1993 10:18:10 GMT In article <1993Jul31.133941.20170@vnp.com> rvs@vnp.com (Ronald V. Simmons) writes: I saw the article below in comp.lang.c++ and wondered if a similar construct had been considered for Objective-C. (Since the article was by Stroustrup, who has to live with what he proposes, I assume it to be something that has been given a reasonable amount of thought. :^) ) I have read the paper and talked a little with Snaroff about this. This is one of the things we would like to introduce in GNU/NeXT Objective C as well. The mechanism Bjarne proposes is actually generic and clean enough to be considered an extension to C, so it might just be considered as such and embedded in gcc as an extension to the core C compiler. (and then inherited into objc) We have not decided if the mechanism for Objective-C should be exactly like the one Bjarne proposes or something somewhat more dynamic. The problem in Bjarne's proposal is that you cannot have two "packages" or namespaces on toplevel with the same names. That is, you cannot have pointers to namespaces. In the dynamic OO tradition, a namespace would be an object somewhat like a class object in Smalltalk or objc. Kresten -- [Kresten krab: Thorup] | / | E-mail : krab@iesd.auc.dk Dept. for Math and Computer Sc. | ,-'/( | S-mail : Sigrid Undsetsvej 226A Aalborg University | / | \ | 9220 Aalborg \O Fr. Bajers vej 7, DK-9220 Aalb | A U C | Denmark ------------------------------------------------------------------------------- Member of The League for Programming Freedom
From: ggf@loan5 (Gary G Frederick) Newsgroups: comp.sys.next.programmer Subject: Re: Question using yacc w/ Objective C Message-ID: <1993Aug3.210052.5935@pencom.com> Date: 3 Aug 93 21:00:52 GMT References: <69757@mimsy.umd.edu> Sender: usenet@pencom.com (Usenet Pseudo User) Organization: Pencom Software In article <69757@mimsy.umd.edu> sib@cs.umd.edu (Scott Ian Blanksteen) writes: > Hi All... > Here's the deal: I have a little parser written with lex and > yacc. I would like to have the parser invoke an ObjC message when > certain reductions are made. I can pass in the object whose methods I > want to call. > Q: What is the most elegant way of making these method calls? > > Thanks muchly, > Scott > PS - Feel free to post your replies - I'm sure thousands of enquiring > minds want to know :-) Include y.tab.c in a main.m file and you should be parsing away. My example is ugly. E-mail me at ggf@jsoft.com if you want to see it. Gary
Newsgroups: comp.sys.next.sysadmin,comp.sys.next.programmer From: dav@well.sf.ca.us (Paul Davilon) Subject: SCSI tape access? Message-ID: <CB8KoJ.Eop@well.sf.ca.us> Sender: news@well.sf.ca.us Organization: The Whole Earth 'Lectronic Link, Sausalito, CA Date: Wed, 4 Aug 1993 13:12:18 GMT We are in the process of switching several Dell DG machines over to NeXTSTEP 3.1, from Dell Unix. Aside from the usual problems with the serial port drivers and (non-existence of) SLIP, which frustrate everyone as more and more time passes past NeXT's "mid-July" serial port drivers bug-fix promise, forget it, its too frustrating to even bother. The problem we're having is this: There are 2 DGX machines here equipped in the same way, they have 500meg IDE hard disks, a CDROM drive as SCSI device 1 and a 525meg QUICtape drive as SCSI device 2 on the chain. There is no problem accessing these under Dell Unix, but so far in a few minutes of playing with it, and trying: dump 0un dump 0unf /dev/nrxt0 /dev/rdh0a /dev/nrxt1 /dev/rsd1h etc, has met with failure to access the tape drive. The drives are standard units, which I think are made by Sony (Dell repacks the cases). What is the proper way to access the tape drive assuming its device #2 on the SCSI chain (the cdrom being 0, the tape being 1). thanks for any help or insight anyone has to offer! Paul
From: kevin@american.edu (Kevin Cruz) Newsgroups: comp.sys.next.software,comp.sys.next.sysadmin,comp.sys.next.programmer Subject: HELP --Installing MPEG Player 2.3 on NeXT Date: 4 Aug 1993 13:42:18 GMT Organization: The American University Computing Center Message-ID: <23oebqINN5p6@au-ns.american.edu> I am trying to build an MPEG Player (v.2.3) on a NeXT Cube but I keep getting these two errors: /NextDeveloper/Headers/bsd/sys/time.h:48: redefinition of `struct timeval' /NextDeveloper/Headers/bsd/sys/time.h:53: redefinition of `struct timezone' I do not know what this means. I've tried building it through the Project Builder as well as doing it by hand but I get the same messages. Anyone know what's going on? Could someone help? Thanks for the help. --Kevin --------------------------------------------------------------------- Kevin Cruz E-mail: kevin@american.edu Computer Science Dept. Phone: (202) 885-2767 The American University Washington, D.C.
From: andrew@cubetech.com (Andrew Loewenstern) Newsgroups: comp.sys.next.programmer Subject: Re: Help with Distributed Objects Date: 4 Aug 1993 09:03:56 -0500 Organization: Cube Technologies, Inc Message-ID: <23ofkc$6c3@valinor.cubetech.com> References: <23bknq$bv6@stimpy.css.itd.umich.edu> <CB0I03.7z0@ripple.uunet> In article <CB0I03.7z0@ripple.uunet> df@watershed.com (Dirk P. Fromhein) writes: > >Yes, you are correct. >There is only one way to get around this (as far as I know), with each client >start a new connection between the client and the server. Thus each client is >a server to the server. You must always 'run' a distributed object connection if you want incoming messages to be dispatched automatically, otherwise the client won't ever check for incoming messages from the server (at least until the client sends another message). This is not clear in the documentation and trips up just about everyone... :) Distributed objects is smart about where proxies come from and you can pass them to remote objects without impunity and the sytem will create new connections leading directly to where the 'real' object lies automatically. You only have to run those connections if you expect incoming messages from that object (and want them to be handled for you, of course). (server) conn = [NXConnection registerRoot:self withName:"blah"]; [conn runFromAppKit]; (client) server = [NXConnection connectToName:"blah"]; conn = [server connectionForProxy]; [conn runFromAppKit]; /* now incoming messages will be */ /* dispatched in-between user events - */ /* cool! */ andrew -- andrew@cubetech.com | "We cannot dwell in the time that is to come, Andrew Loewenstern | lest we lose our now for a phantom of our Cube Technologies, Inc. | own design." - Erendis finger me for my pgp public key
From: Jeff_Martin@NeXT.com (Jeff Martin) Newsgroups: comp.sys.next.programmer Subject: Re: Linking NIB into Application Date: 29 Jul 1993 17:27:45 GMT Organization: NeXT, Inc. Message-ID: <2391ah$4ji@rosie.next.com> References: <2362e7$ujn@info2.rus.uni-stuttgart.de> Al, If you need to get the full path to the application use the call [[NXBundle mainBundle] directory]. In addition, if you need the path to a particular nib file, be sure and use getPath:forResource:ofType:. This returns the full path to your requested file from the appropriate directory (either the appwrapper or from the respective '.lproj' directory). Here is an example: char path[MAXPATHLEN]; [[NXBundle mainBundle] getPath:path forResource:"MyNibFile" ofType:"nib"]; [NXApp loadNibFile:path owner:self withNames:NO]; ... jeff In article <2362e7$ujn@info2.rus.uni-stuttgart.de> markl@ifr.luftfahrt.uni-stuttgart.de (Albert Markl) writes: > I've got a strange problem with my newly programmed app: > when called from a commandline or double-clicked in workspace > everything works fine, but when called by an other program > (as it is meant to be) it "cannot load nib section". > It seems that the other application does not fill argv[0] properly > (it puts only the name without any directory path), since > things are fine again when I overwrite argv[0] with the proper value. > I guess this wouldn't be necessary if I could link the nib into > the app as it was done in the good ole pre-3.x days. > Does anybody know "the magic spell" for doing this? > Al
From: Jeff_Martin@NeXT.com (Jeff Martin) Newsgroups: comp.sys.next.programmer Subject: Re: NXBundle Date: 29 Jul 1993 17:34:30 GMT Organization: NeXT, Inc. Message-ID: <2391n6$5im@rosie.next.com> References: <CAwDE4.AwA@news.otago.ac.nz> Jason, Be sure and add the statement: OTHER_LDFLAGS = -all_load to your Makefile.preamble. When your application is linked, any symbols not referenced by your statically linked code are not added (for efficiency). The -all_load flag tells the linker to load all global symbols (so that your dynamically loaded code can have its pick of the bunch). In addition I think that you can specify particular symbols by adding a line like: 'OTHER_LDFLAGS = -u _hypot' to get specific symbols linked in. There is also a way to specify a file that you can create that contains all the symbols that you want your dynamically loaded code to be able to access (I would just stick with all_load). Hope this helps... ... jeff In article <CAwDE4.AwA@news.otago.ac.nz> writes: > I am using bundles to dynamically load code into my application as a way > to add features without recompiling the program. It is working on some > classes, but the ones where I am using routines from the maths library > (e.g. hypot) do not load because these references cannot be resolved. Is > there a way to solve this problem? > > Thanks in advance. > > .............................................................. > |o| Jason Swain jswain@mirrim.otago.ac.nz |o| > |o| Graduate Student (NeXTmail welcome) |o| > |o| Otogo University Phone (25) 331-445 |o| > |o| Dunedin or (3) 471-0097 |o| > |o| New Zealand Fax (3) 471-0097 |o| > |o|..............................................................|o|
From: Jeff_Martin@NeXT.com (Jeff Martin) Newsgroups: comp.sys.next.programmer Subject: Re: Q on "Programming the DPS with NeXTSTEP" Date: 29 Jul 1993 17:44:28 GMT Organization: NeXT, Inc. Message-ID: <23929s$6a0@rosie.next.com> References: <1993Jul28.170516.25763@adobe.com> There is a static buffer that used for xyshow in the NeXTSTEP implementation that allows for 854 points. If the given number of points exceeds this, it uses the old fashioned way: moveto, show (slowww!!!). Try breaking the array up when the number of points exceeds 854. ... jeff
From: Jeff_Martin@NeXT.com (Jeff Martin) Newsgroups: comp.sys.next.programmer Subject: Re: Rounding Error for PS? Date: 29 Jul 1993 17:47:51 GMT Organization: NeXT, Inc. Message-ID: <2392g7$6hn@rosie.next.com> References: <236qar$njc@master.cs.rose-hulman.edu> I would be tempted to just blow away the whole thing and redraw it at each stage. Undrawing each one of those lines might turn out to be more expensive than a NXSetColor(NX_COLORWHITE), NXRectFill(&bounds). ... jeff
From: szakhour@next.com (Sharon Zakhour) Newsgroups: comp.sys.next.programmer Subject: Re: Thanks, and a Winfo bug report Date: 29 Jul 1993 18:06:52 GMT Organization: NeXT, Inc. Message-ID: <2393js$6v8@rosie.next.com> References: <234028$29m@tribune.usask.ca> Thanks to Eric for posting this bug. Please do let us know about bugs you find in MiniExamples as well as NeXTanswers. We want to keep these as up to date as possible. Mail comments/bug reports to NeXTanswers-request@next.com. However, Eric does not have the latest and greatest version of Winfo. Ali Ozer upgraded Winfo in December 1992 for 3.0. This bug is not present in this version. Here is the change information from the Readme file: 10/December/92 Changed to use the dumpwindow PostScript operator to get more accurate backing store information. Also added a few new options. The latest version is available on the NeXT archive server ftp.next.com. Here is the path (which I suggest that you cut/paste :-) ): /pub/NeXTanswers/CompressedFiles/Software_&_Tools/MiniExamples/AppKit Sharon Zakhour NeXT Developer Support
From: szakhour@next.com (Sharon Zakhour) Newsgroups: comp.sys.next.programmer Subject: Re: setDocView breaks delegation chain in ScrollView? Date: 29 Jul 1993 18:36:21 GMT Organization: NeXT, Inc. Message-ID: <2395b5$74h@rosie.next.com> References: <1993Jul26.125903.1235@beech.mcs.gvsu.edu> Ah yes... The magical incantation required for manually setting up a ScrollView. You should refer to the Question_&_Answer "scrollView_with_subclassedText" (formerly NeXTanswer appkit.555) which is included below. My first guess is that you haven't set the min size for the TO. The MiniExample ConvertXYtoChar also shows how to do this (in Controller.m). Sharon Zakhour NeXT Developer Support Text ScrollView Q: In my application I have subclassed the Text object and called it SubText. I have a ScrollView which I installed using IB which has a standard Text object as its docView. I wish to replace that Text object with my own but I wish to maintain all the same behaviors with a vertical scrollbar and text which resizes properly. How do I do that? A: The following code snippet will create an instance of your new subclass of Text and will insert it into the docView of the ScrollView. The old Text object is then freed. In the code sample ``theSV'' is an outlet connected to the ScrollView. Because an existing ScrollView is used, certain setups are not required. See Chapter 9, page 35 of the Concepts volume of the 1.0 Technical Documentation for more information on setting up a brand-new ScrollView. The key here that many people miss is to set the min size and max size on the Text object. id stdDoc; NXRect r; /* Measure the old doc view. */ stdDoc = [theSV docView]; [stdDoc getFrame:&r]; [theSV setVertScrollerRequired:YES]; [theSV setHorizScrollerRequired:NO]; [theSV setDynamicScrolling:YES]; /* Instantiate the new Text object */ newDoc = [[SubText alloc] initFrame: &r]; [newDoc moveTo:0.0:0.0]; [newDoc notifyAncestorWhenFrameChanged: YES]; [newDoc setVertResizable:YES]; [newDoc setSelectable:YES]; [newDoc setEditable: YES]; [newDoc setAutosizing:NX_WIDTHSIZABLE]; [newDoc setMinSize:&r.size]; r.size.height = 1.0e30; [newDoc setMaxSize:&r.size]; [theSV setDocView:newDoc]; /* Free the old Text object */ [stdDoc free];
From: ccloskey@next.com (Cynthia Closkey) Newsgroups: comp.sys.next.programmer Subject: Future NEXTSTEP developer journal Date: 29 Jul 1993 20:17:16 GMT Organization: NeXT, Inc. Distribution: world Message-ID: <239b8c$7g1@rosie.next.com> Hello, NEXTSTEP developers! At NeXT, we're planning to create a developer technical journal. It will be a quarterly periodical that contains information to help you develop applications in NEXTSTEP. For example, it might contain articles that provide background on how to make the best use of particular kits and tips on architecting applications. In general, we're modelling this journal on similar periodicals distributed by other companies, and we have a few good ideas of our own, too. In addition, we'd like some input from you on what information you'd find most helpful in a NEXTSTEP developer journal. For example: * Would you like more nitty-gritty details than the current documentation has, or overviews of how features were designed and how you should use them? * Could you use articles that explain basic concepts in UNIX and Mach? * Are there NEXTSTEP features that you'd like to use but have never quite figured out? * Would you be interested in what other developers are doing, and how they're doing it? * Would you find information on marketing third-party applications helpful? * What else could you use, documentation-wise, that we might not have thought of? * Would you be interesting in contributing articles on your NEXTSTEP development projects? Please send your suggestions and ideas directly to Cynthia_Closkey@next.com within the next two weeks. I'll send out another announcement later to let you know how to subscribe. Thanks for your input!
From: sam_s@NeXT.com (Sam Streeper) Newsgroups: comp.sys.next.programmer Subject: Re: How are signals handled in NeXT's Mach? Date: 3 Aug 1993 18:26:54 GMT Organization: NeXT, Inc. Message-ID: <23male$hb4@rosie.next.com> References: <1993Jul30.004409.17574@instep.wimsey.bc.ca> brad@instep.wimsey.bc.ca writes: > I would like to know how NeXT's release of Mach handles the delivery of > UNIX signals in the context of a multithreaded program. In my experience signals are caught by arbitrary threads. (I have heard that they are supposed to go to the first, but certainly this hasn't always happened under NS. Note that I haven't examined the source recently.) For example, sleep is implemented with sig_alarm, and I have seen this signal delivered to the soundkit thread and discarded. The main thread never gets its signal and never awakes. (Here I note that usleep(), msg_receive(), and select() can be used for thread-safe timeouts.) Until somebody tells me I'm clearly wrong, I would avoid using signals in a threaded app. -sam -- Opinions expressed herein are not those of my employer. They're not even mine. They're probably wrong besides. How did they get in here, anyway?
From: Ali_Ozer@NeXT.com (Ali Ozer) Newsgroups: comp.sys.next.programmer Subject: Re: Getting color encoding of a NXColor? (to save/restore colors) Date: 3 Aug 1993 20:34:30 GMT Organization: NeXT, Inc. Distribution: world Message-ID: <23mi4n$ibl@rosie.next.com> References: <ARROUYE.93Jul22112110@mistral.imag.fr> In article <ARROUYE.93Jul22112110@mistral.imag.fr> Yves Arrouye writes: > I am writing an application which needs to manipulate colors in its > defaults database, and I would like to save the colors in strings. > However, I don)t know how to know if a color was encoded as RGB, CMYK > etc... in order to save it in the same representations. And I can)t > use NXWriteColor because I am not sure that ther will be no 0 char in > the resulting stream, so I can)t write it as a string. I don't know if you got an answer to this; I didn't see one, but I think I missed a bunch of posts. One possibility is to use a function like the following (this is from the NeXTWorld Expo slides): ColorSpace ColorSpaceOfColor (NXColor color) { if (NXColorListName(color)) { return NAMEDCOLOR; } else if (NXEqualColor(color, NXConvertRGBAToColor( NXRedComponent(color), NXGreenComponent(color), NXBlueComponent(color), NXAlphaComponent(color)))) { return RGBCOLOR; } else if (NXEqualColor(color, NXConvertCMYKAToColor(...))) {... } } This function relies on the fact that a color can never be equal to a color from a different color space, so by testing the various color spaces, you can find which one a color came from. Not an ideal solution, but it might come in handy. A better solution is to get NXColor to make itself persistent, then store that. The NXWriteColor() function can do this; you can then take the resulting stream and convert it into a string. The ColorTest example from /NextDeveloper/Examples/AppKit shows how to do this. Ali, Ali_Ozer@NeXT.com
Newsgroups: comp.sys.next.programmer From: anderson (Ken Anderson) Subject: Re: Fat BackSpace Modules, How? Message-ID: <1993Aug4.162403.2437@biztech.com> Sender: news@biztech.com Organization: Biztech, Inc. References: <jwdb.744370788@dutnak2> Date: Wed, 4 Aug 1993 16:24:03 GMT Unfortunately, ld does not handle multi-architecture files. You therefore have to use cc to put them together. Here are my modifications to the makefile for the NeXT cube module: Modify the compile rule to look like this: m.o: cc -arch m68k -arch i386 -O -g -Wall -c $*.m -o $*.o Modify the link line to look like this: $(DYNAMODULES): $(OBJECTS) cc -nostdlib -r -arch m68k -arch i386 -o $(DYNAMODULES) $(OBJECTS) Ken Anderson anderson@biztech.com Stamford, CT
Newsgroups: comp.sys.next.programmer From: marcos@kaleida.com (Paul Marcos) Subject: Re: Help with Distributed Objects Message-ID: <dcodeCB90sr.7ov@netcom.com> Sender: dcode@netcom.com (Paul Marcos) Organization: NETCOM On-line Communication Services (408 241-9760 guest) Date: Fri, 30 Jul 1993 17:11:22 GMT In article <23bknq$bv6@stimpy.css.itd.umich.edu> hubt@css.itd.umich.edu (-- Spawn --) writes: > > The server can then use the client object (as sender) as long as it is > in that method, but when I try and access the client object from a > different method, the connection isn't there. Is this correct, that I > can only use the object before the method returns? If so, how do I get > around this? Do I have to vend the client back to the server to get a > two-way connection? That seems odd and troublesome. Any help is > appreciated.. > Yes, that's correct. The way DO works is that the calls the server's method, the corresponding NXConnection starts listening for messages on it's inPort...it has to because it's expecting a return message from the DO system with the returned value from the server! In the meantime, if the server *happens* to send some other message to the client, that's OK because it's listening and will forward messages other than the return message on to it's real object. It's kind of like the server saying to the client, "Oh, while I've got you're attention and you're waiting for me to finish this stuff, here, handle these messages." Once the client's connection get's the return message that it's looking for, it stops listening on the inPort, thus the server can't communicate with it. I think this point is sadly understated in the NeXT documentation on DO. Really the only mention of it that I found was in the Asyncronous Messages section of the IntroDistObj doc where it said: The server may send a message (like a callback) back to the client anytime the client's connection is running or the client awaits a reply from the server. This only *implies* that once the server's method returns, the server can no longer communicate with the client, unless the client has explicitly set up an NXConnection object to accept incoming messages. I just think it would have been useful to have a brief section called, "Setting up two way communication between client and server" or something like that. If you want to set up a two way communication, you can do it like this. After the client has gotten the NXProxy to the server, get it's connection using serverConnection = [server connectionForProxy]; and call one of the various run... methods in the NXCollection class to start listening on its inPort: [serverConnection runFromAppkit]; The runFromAppkit is just for illustration, naturally you would use the appropriate connection run... method depending how and where your client is running. As long as this connection is running, the server should be able to communicate back to the client at any time, not just from within a called method. You might also want to have the server call the client's registerForInvalidationNotification so that the server can know when the client's NXProxy is no longer accesible. Hope this helps. Paul .................................................................... Paul Marcos NeXTMail appreciated Kaleida Labs, Inc. marcos@kaleida.com .................................................................... -- -------------------------------------------------------------------------- dCode | Internet: dcode@netcom.com | (415) 960-3539 NeXT Mail Happily Accepted
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Multiple Inheritance and forward: : Message-ID: <1993Aug4.190036.11226@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software Date: Wed, 4 Aug 1993 19:00:36 GMT This is a brief discussion on the use of message faulting (aka forwarding) in order to simulate multiple inheritance. In short, this is an intriguing practice that turns out to be very dangerous and should be avoided. At one time, I decided that it was very convenient to define ObjC's forward:: method to allow for forwarding to a "friend" object as the default behavior for Object's forward::. In so doing, I allowed for a simple form of runtime based multiple inheritance. To facilitate this, I overrode forward:: via a category method of the Object class and required the programmer who wanted to take advantage of this to implement a "forwardTo" method. This forwardTo: method would return the friend object for the receiver. So with one line of code we could get multiple inheritance for each new class in which it was desired. As an example, I implemented a class called PathList which contained a list of DiskNode objects as well as a good deal of additional information. I didn't feel like PathList belonged as a subclass of List because it was not a generic container, so I chose to make PathList a subclass of Object and have an instance of List as one instance variable. However, I wanted PathList to respond to any List message and didn't want to have to rewrite all the List methods just to forward the message on. In addition to the extra trouble of writing these trivial methods to do the explicit forwarding, it becomes a maintenance issue that every time a new method is added to the List class, it really needs to be added to the PathList class to keep them in synch. This was a major motivation for going with the simulated multiple inheritance. However, I now see the problem with this approach given that categories are available to all programmers who might be using my classes. Many months after I wrote the PathList class, I implemented some category methods for the Object class which make an Object conform to some of the List class' protocol. This is useful for allowing the programmer to pass either a List of objects or a single object without having to check to see whether a List or a single object was passed in the receiving method. [This is on the edge of what is considered safe practice, but after serious consideration, I believe all objects should conform to the List protocol to some extent -- they have a virtual container around them.] Once I had extended Object's protocol to handle the List accessing protocol, I caused a problem with my multiple inheritance simulation in the PathList class. This is because List messages being sent to the PathList class were not faulting as they were supposed to (according to original plan) and, therefore, were not being forwarded to the friend object of the PathList object. Instead, the List protocol that I attached to the Object class was being found and executed. I have come to the conclusion that the use of forward:: should not be used to simulate multiple inheritance. This example is but one of the many similar problems that can occur when using forward:: to simulate multiple inheritance. I think it is incumbent upon NeXT to promulgate more clearly the guidelines on how forward:: should be used. This is mainly because I have heard so many people saying they can use forward:: to pull some special trick, and the result is a serious collision of paradigms. NeXT has suggested that forward:: be used to simulate multiple inheritance (perhaps not in so many words, but I got the idea from their documentation). However, I don't think they anticipated the problem that I have encountered. I propose that forward:: be only used in conjunction with proxies that inherit from some other root object than Object. If this is done, then the problems will not be so wide spread since very few people should need to extend the implementation of the proxy root class, and the collisions that I have had will not happen. Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
Newsgroups: comp.sys.next.programmer From: rolfhh!rolf (Rolf Wöhrmann) Subject: Shared Libraries Message-ID: <1993Aug4.002722.225@rolfhh.hanse.de> Sender: rolf@rolfhh.hanse.de Organization: Rolf Woehrmann, Hamburg, Germany Date: Wed, 4 Aug 93 00:27:22 GMT Hi Netters, I have a question about shared libraries: Is there a way to link something from these libraries as NOT-shared code in a program? Can this be problematic for other tasks or applications which DO use shared libraries? (I hope this wasn't a FAQ. I'm sorry that I haven't FAQs for NeXT.) Thanks =============================================================================== Rolf Woehrmann E-mail: rolf@rolfhh.hanse.de Wrangelstrasse 105 B (NeXTmail welcome) 20253 Hamburg Voice: + 49 / 40 / 422 49 10 Germany =============================================================================== -- =============================================================================== Rolf Woehrmann E-mail: rolf@rolfhh.hanse.de Wrangelstrasse 105 B (NeXTmail welcome) 20253 Hamburg Voice: + 49 / 40 / 422 49 10
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: More NeXT on the net Message-ID: <1993Aug4.195301.11523@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software Date: Wed, 4 Aug 1993 19:53:01 GMT Cool! I open NewsGrazer to find no less than seven posts from at least three NeXT employees. I welcome NeXT's participation on the net! Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: SUMMARY: ClockView Palette fixes Date: 4 Aug 1993 15:24:57 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <23p2e9$bhf@digifix.digifix.com> Thanks to all those who replied with comments, but special thanks go to Don DAYKIT Yackman, he took the code found the problem and fixed it! In a nutshell.... I was getting the image in the initFrame: call of the view. Unfortunately, when you drag a palette into an IB window, it doesn't call that. It instead calls read: and write: then awake or awakeFromNib: Don just adjusted things so that those calls set up the image properly (I'm using NXBundle method of getting the image... [[NXBundle bundleForClass:[self class]] getPath:buf forResource:"clockstuff" ofType:"tiff"]; theImage =[[NXImage alloc] initFromFile:buf ]; insteadof findImageNamed:) anyways, it works great now! Don even added an IB attributes inspector! Thanks to all those who offered help! (So we should expect a flood of new palettes now... right? :-) ) -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: comp.sys.next.programmer From: pasqua@adobe.com Subject: Re: DRIVER KIT: Mapping Physical Memory Message-ID: <1993Aug4.232218.2441@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <1993Jul26.165218.22672@unomain.uucp> Date: Wed, 4 Aug 1993 23:22:18 GMT In article <1993Jul26.165218.22672@unomain.uucp> michel@unomain.teaser.com writes: > > Hi, > > I am developing a driver under NS/FIP for a custom card. This card > contains memory I need to address. > The problem is that I can t find a way to map the device memory > into the address space of my driver. > > The IODirectDevice method mapMemoryRange:to:findSpace:cache: looks > good but the documentation is poor, contains bug (the second is > a vm_addres_t * instead of a vm_address). With any arguments I use > the method, it returns "Invalid Argument". This is exactly what you should use. Your problem is probably that the memory range you want to map for the device is not specified in the device's instance table. The map call only allows a device to map ranges that are configured in this device table. > > The map_addr function is what I need. But it seems that it is no more > available for i386 architecture. You should not use this. Just use the DriverKit calls. Joe Pasqua
Newsgroups: comp.lang.postscript,comp.sys.next.programmer From: roberto@SoftDesign.COM (Roberto Arrocha) Subject: how to draw a bezel _around_ an image Message-ID: <CB8r0w.3JI@SoftDesign.COM> Keywords: PostScript, NeXT Sender: roberto@SoftDesign.COM (Roberto Arrocha) Organization: SoftDesign, Inc. Date: Wed, 4 Aug 1993 15:29:19 GMT Objective: to draw a grey(white) bezel around an image to frame it. NXDrawGray(White)Bezel() does the job, but because it draws inside the bezel as well, I have had to composite the image on top of the area drawn by NXDrawGray(White)Bezel(). I have also tried NXDrawTiledRects(), but it too draws inside the bezel. What I would prefer is simply draw a bezel _around_ the existing image, rather than draw the bezel and then composite over it. Any suggestions on how to efficiently draw a bezel _around_ an image w/o drawing inside the bezel? Thanks. -- Roberto SoftDesign, Inc.
Newsgroups: comp.sys.next.programmer From: roberto@SoftDesign.COM (Roberto Arrocha) Subject: how to be notified if and when a CD-ROM is mounted Message-ID: <CB8rrJ.3KF@SoftDesign.COM> Keywords: NeXT, CD-ROM Sender: roberto@SoftDesign.COM (Roberto Arrocha) Organization: SoftDesign, Inc. Date: Wed, 4 Aug 1993 15:45:18 GMT I'd like to set up a call-back method to be notified if and when a CD-ROM is mounted. Can WM notify my app (even if it is not currently running) of this event? Any suggestions? Thanks. -- Roberto SoftDesign, Inc.
From: theharv@csld.ucr.edu (Brian Harvey) Newsgroups: comp.sys.next.programmer Subject: Form and FormCell question Message-ID: <35065@galaxy.ucr.edu> Date: 5 Aug 93 00:14:09 GMT Sender: news@galaxy.ucr.edu In an application I'm writing, I have a form consisting of several form cells. The user is able to edit the values that are displayed in these cells. My question is: How do I know when to save the values stored in these cells? I know how to get the values in these cells, but I need to know when to get them. Is there someway to tell when a cell has been edited or when it is no longer selected (the cusor no longer appears in it)? Any suggestions would be greatly appreciated. ----------------------------------------------------------------- Brian Harvey * theharv@csld.ucr.edu University of California, Riverside * brian@cs.ucr.edu UOB 221 Ext. 2842 * theharv@watserv.ucr.edu C.S.L.D. System Administrator (NeXT Mail preferred everywhere!) Systems Group - College of Engineering -----------------------------------------------------------------
Newsgroups: comp.os.ms-windows.programmer.win32,comp.sys.next.programmer From: mlipsie@rdm09.std.com (Mike Lipsie MPU) Subject: Re: C++ file extension Message-ID: <1993Aug5.002609.10089@merl.com> Sender: news@merl.com Organization: Mitsubishi Electric Research Laboratories, Inc. References: <23iki6$r61@rs6000.bham.ac.uk> <CB4tn5.B4t@molly.uucp> Date: Thu, 5 Aug 1993 00:26:09 GMT In article <CB4tn5.B4t@molly.uucp> uunet!molly!vlcek (Jim Vlcek) writes: >In article <23iki6$r61@rs6000.bham.ac.uk> pickerig@chongtar (Guy Pickering) >writes: >> A related issue here is the problem associated with #include >> directives. Whan I proted my beautiful X app (having followed >> all the books) I found loads of #include<X11/someheader.h>. VAX >> and PC's choke on these because of the '/'. Hint, never use >> this form - modify your Makefile to search in the directories. > >What compiler/preprocessor is this? (So we can avoid this brain damage.) > >I use MSC v6.0 and v7.0 for compiles on the PC, and they have no problem with >#include <subdir/header.h>. (This has been true for Microsoft C for at least >the past five years.) To expand on Jim's comment: DOS (not COMMAND.COM) has no trouble with '/' in file paths. Most compilers (all that I know of but I'm hedging my statement) just take the text between '<' and '>' (or quotes) and attempt to open the file. Now, avoiding showing your file system structure because it is not portable is A Good Thing (tm) but not because it is not portable between Unix and DOS. BTW, the C standard (while discussing the #include) states "The implementation may ignore the distinctions of alphabetical case and restrict the mapping to six significant characters before teh period." So, all you people writing what you hope is portable code ... -- Mike Lipsie (work) mlipsie@ca.merl.com Mitsubishi Electric Research Laboratory (home) mikel@dosbears.UUCP
From: izumi@pinoko.berkeley.edu (Izumi Ohzawa) Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy Subject: Re: More NeXT on the net Date: 5 Aug 1993 00:47:32 GMT Organization: University of California, Berkeley Distribution: world Message-ID: <23plb4$7uk@agate.berkeley.edu> References: <1993Aug4.195301.11523@gleap.sccsi.com> In article <1993Aug4.195301.11523@gleap.sccsi.com> clloyd@gleap (Charles C. Lloyd) writes: >Cool! I open NewsGrazer to find no less than seven posts from at least three >NeXT employees. I welcome NeXT's participation on the net! I count 6 NeXT employees. It's great to see them on the net! Did NeXT just had a great milestone achieved ahead of schedule, or what? Regardless, I hope they will maitain a stable presence here. From: majka@next.com (Marc Majka) Newsgroups: comp.sys.next.sysadmin Subject: Re: NetInfoManager - Open by Tag question From: szakhour@next.com (Sharon Zakhour) Newsgroups: comp.sys.next.programmer Subject: Re: Thanks, and a Winfo bug report From: szakhour@next.com (Sharon Zakhour) Newsgroups: comp.sys.next.programmer Subject: Re: setDocView breaks delegation chain in ScrollView? From: ccloskey@next.com (Cynthia Closkey) Newsgroups: comp.sys.next.programmer Subject: Future NEXTSTEP developer journal From: Jeff_Martin@NeXT.com (Jeff Martin) Newsgroups: comp.sys.next.programmer Subject: Re: Linking NIB into Application From: Jeff_Martin@NeXT.com (Jeff Martin) Newsgroups: comp.sys.next.programmer Subject: Re: NXBundle From: sam_s@NeXT.com (Sam Streeper) Newsgroups: comp.sys.next.programmer Subject: Re: How are signals handled in NeXT's Mach? From: Ali_Ozer@NeXT.com (Ali Ozer) Newsgroups: comp.sys.next.programmer Subject: Re: Getting color encoding of a NXColor? (to save/restore colors) -- Izumi Ohzawa [ $@Bg_78^=;(J ] USMail: University of California, 360 Minor Hall, Berkeley, CA 94720 Telephone: (510) 642-6440 Fax: (510) 642-3323 Internet: izumi@pinoko.berkeley.edu (NeXTMail OK)
Newsgroups: comp.sys.next.programmer From: nando@ccrma.stanford.edu (Fernando Pablo Lopez Lezcano) Subject: Re: Rounding Error for PS? Message-ID: <1993Aug4.173047.20304@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: DSO, Stanford University References: <2392g7$6hn@rosie.next.com> Date: Wed, 4 Aug 93 17:30:47 GMT Jeff Martin writes > I would be te mpted to just blow away the whole thing and redraw it at each > stage. Undrawing each one of those lines might turn out to be more > expensive than a NXSetColor(NX_COLORWHITE), NXRectFill(&bounds). > > ... jeff In my small EnvelopeEd application I had the same problem (dots remaining in the screen after "erasing" a line). What I did was to create a list of all the segments as I was drawing them and then use that list to do the erase operation. As I was trying to optimize redrawing (I only redraw what has been changed) I did not consider erasing the whole rectangle and redrawing from scratch. -- Fernando Fernando Lopez Lezcano nando@ccrma.stanford.edu ndo Fernando Lopez Lezcano nando@ccrma.stanford.edu
Newsgroups: comp.sys.next.programmer From: greyham@research.canon.oz.au (Graham Stoney) Subject: Re: RCS and binary files Message-ID: <CB9KMI.5qF@research.canon.oz.au> Sender: news@research.canon.oz.au Organization: Canon Information Systems Research Australia References: <CB56z5.JFv@world.std.com> <18572@news.duke.edu> Date: Thu, 5 Aug 1993 02:08:41 GMT blake015@mc.duke.edu (Denise Blakeley) writes: >RCS doesn't handle binary files at all. Get CVS--it's public-domain and runs >on top of RCS, and it handles binaries. This is both incorrect, and illogical. Since CVS uses the underlying RCS to store and retrieve revisions, it relys on RCS's ability to handle binaries. RCS can actually handle binaries better than CVS can, because CVS is strongly biased towards the copy-modify-merge paradigm rather than lock-modify-unlock, and you can't merge binaries. You need to do tricks to get CVS to handle locking; this is what we do however, and it works OK. Denise is certainly correct about the advantages of CVS on mergable text files though; this is where it really shines. regards, Graham -- Graham Stoney Canon Information Systems Research Australia Ph: + 61 2 805 2909
Newsgroups: comp.sys.next.software,comp.sys.next.sysadmin,comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Pine (MIME) Mail for NS3.1/m68k+fip Message-ID: <1993Aug3.172139.7504@ToTSySSoft.com> Keywords: pine, mime, mail, fip, fat, mab Sender: news@ToTSySSoft.com Organization: Total System Software Date: Tue, 3 Aug 1993 17:21:39 GMT It seems that the trick to compiling is merely manually expanding ``va_arg'' and ``__va_rounded_size'' which for some reason do not import correctly from <ansi/[m68k,i386]/stdarg.h> and adding the appropriate -arch switches to the makefile. The needed expansions are in pine/args.c I have not yet had the opportunity to get it tested with FIP, but preliminary testing with a lipo'd m68k seems to only have the problem that ^X needs to be re-defined to the shell before invoking pine to prevent the untrapped interrupt from preventing posting (^X is the send command while posting in pico mode). That may be no problem if Edit.app may be specified as the editor. Bruce Gingery bruce@TotSysSoft.com
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Integrating gdb into a new editor Message-ID: <1993Aug5.054546.13390@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software Date: Thu, 5 Aug 1993 05:45:46 GMT I am wanting to integrate Gdb into my own editor in the same way that Gdb is integrated into Edit.app. Can anyone give me pointers to documentation describing how this might be done? I'm also curious about how things like Superdebugger work. Where do I look to get clues? Thanks, Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
From: t146678@lehtori.cc.tut.fi (Tuominen Juha) Newsgroups: comp.sys.next.programmer Subject: Fast scrolling with ScrollView Date: 5 Aug 1993 11:09:23 +0300 Organization: Tampere University of Technology, Computing Centre Distribution: world Message-ID: <23qf7j$cng@cc.tut.fi> I'm quite new to NeXT's programming environment and I'm writing my first bigger application now. It's a kind of drawing program and I'm now working on ScrollView and refreshing. I found Yap's source code very helpful and stole couple of lines to my own program. In Yap there's a cache View where the picture is first drawn. Then it's copied to the actual ScrollView's subview. I added the cache creating routines to my program (works fine as far as I know) and copied the whole drawSelf:: method, but all I get is a bunch of errors: rectcount!=3 Aug 5 01:01:23 nexus Caddy[1262]: An uncaught exception was raised Aug 5 01:01:23 nexus Caddy[1262]: DPS client library error: PostScript program error, DPSContext ce128 Aug 5 01:01:23 nexus Caddy[1262]: %%[ Error: typecheck; OffendingCommand: composite ]%% And here's the code: - drawSelf:(NXRect *)rects:(int)rectCount { if(rectCount==3) { rects++; PScomposite(NX_X(rects), NX_Y(rects),NX_WIDTH(rects),NX_HEIGHT(rects), [cache gState], NX_X(rects), NX_Y(rects), NX_COPY); rects++; PScomposite(NX_X(rects), NX_Y(rects), NX_WIDTH(rects), NX_HEIGHT(rects), [cache gState], NX_X(rects), NX_Y(rects), NX_COPY); } else { printf("rectcount!=3\n"); PScomposite(NX_X(rects), NX_Y(rects), NX_WIDTH(rects), NX_HEIGHT(rects), [cache gState], NX_X(rects), NX_Y(rects), NX_COPY); } return self; } What causes this? My app crashes and I can't find anything regarding the function PScomposite() from digital librarian. Any help appreciated! -- Juha Tuominen NeXTMail talks and disk drive walks Opiskelijankatu 30 B 42 Tampere University of Technology 33720 TAMPERE - FINLAND Mail: t146678@cc.tut.fi Phone: +358-31-182 851
From: Robert Nicholson <robert@steffi.demon.co.uk> Newsgroups: comp.sys.next.programmer,mlist.next-prog Subject: palette.make? (Build libs for NS3.1 palettes?) Date: Thu, 05 Aug 93 09:52:59 GMT Message-ID: <199308050911.AA02260@steffi.demon.co.uk> Organization: me organized? That's a joke! In NS3.0 I have been using Alex Cone's Makefile.postamble for building Palette libraries. Here it is. LIBOFILES = $(PSWFILES:.psw=.o) $(PSWMFILES:.pswm=.o) $(CLASSES:.m=.o) \ $(CFILES:.c=.o) LIBDIR = /usr/local/lib .linstall:: $(DSTROOT)$(LIBDIR) lib rm -f $(DSTROOT)$(LIBDIR)/lib$(NAME).a cp lib$(NAME).a $(DSTROOT)$(LIBDIR) ranlib $(DSTROOT)$(LIBDIR)/lib$(NAME).a @ echo > .linstall lib$(NAME).a : $(LIBOFILES) ar crvl lib$(NAME).a $? ranlib lib$(NAME).a installlib : .linstall lib : lib$(NAME).a This doesn't work in NS3.1 for me, or at least it doesn't agree with what is in palette.make. PS. Do anybody know a really good "uptodate" reference that enables me to learn these complex makefile issues?
Newsgroups: comp.sys.next.programmer From: andrew@stone.com (Andrew Stone) Subject: Re: how to draw a bezel _around_ an image Message-ID: <1993Aug5.123835.808@stone.com> Sender: andrew@stone.com Organization: Stone Design Corp References: <CB8r0w.3JI@SoftDesign.COM> Date: Thu, 5 Aug 1993 12:38:35 GMT In article <CB8r0w.3JI@SoftDesign.COM> roberto@SoftDesign.COM (Roberto Arrocha) writes: > Objective: to draw a grey(white) bezel around an image to frame it. > > NXDrawGray(White)Bezel() does the job, but because it draws inside the > bezel as well, I have had to composite the image on top of the area drawn > by NXDrawGray(White)Bezel(). > > I have also tried NXDrawTiledRects(), but it too draws inside the bezel. > > What I would prefer is simply draw a bezel _around_ the existing image, > rather than draw the bezel and then composite over it. > > Any suggestions on how to efficiently draw a bezel _around_ an image w/o > drawing inside the bezel? > Check out NXDrawTiledRects()... example, slightly hardwired: int mySides[] = {NX_YMIN, NX_XMAX, NX_YMAX,NX_XMIN, NX_YMAX,NX_XMIN, NX_YMIN, NX_XMAX }; float myGrays[] ={NX_WHITE, NX_WHITE, borderGray, borderGray, borderGray,borderGray,NX_LTGRAY, NX_LTGRAY}; r = bounds; NXDrawTiledRects(&r, (NXRect *)0, mySides, myGrays, 8); andrew -- ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>|| !! Andrew Stone !! (505) 345-4800 !! !! andrew@stone.com <> Stone Design Corp !! ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>||
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: palette.make? (Build libs for NS3.1 palettes?) Date: 5 Aug 1993 10:11:19 +0100 Organization: me organized? That's a joke! Message-ID: <23qirn$26c@steffi.demon.co.uk> In NS3.0 I have been using Alex Cone's Makefile.postamble for building Palette libraries. Here it is. LIBOFILES = $(PSWFILES:.psw=.o) $(PSWMFILES:.pswm=.o) $(CLASSES:.m=.o) \ $(CFILES:.c=.o) LIBDIR = /usr/local/lib .linstall:: $(DSTROOT)$(LIBDIR) lib rm -f $(DSTROOT)$(LIBDIR)/lib$(NAME).a cp lib$(NAME).a $(DSTROOT)$(LIBDIR) ranlib $(DSTROOT)$(LIBDIR)/lib$(NAME).a @ echo > .linstall lib$(NAME).a : $(LIBOFILES) ar crvl lib$(NAME).a $? ranlib lib$(NAME).a installlib : .linstall lib : lib$(NAME).a This doesn't work in NS3.1 for me, or at least it doesn't agree with what is in palette.make. PS. Do anybody know a really good "uptodate" reference that enables me to learn these complex makefile issues?
From: hubert@lte.e-technik.uni-erlangen.de (Hubert Moesslein) Newsgroups: comp.sys.next.programmer Subject: DSP-programming Date: Thu, 5 Aug 1993 14:30:33 GMT Organization: LTE, University of Erlangen, Germany Distribution: world Message-ID: <23r5i9E3hg@uni-erlangen.de> Hello, has anyone experience in using the DSP in the NEXT. I'm trying to set up a stream through the DSP to sndout using the function snddriver_stream_setup(...) with dataPath = SNDDRIVER_DMA_STREAM_THROUGH_DSP_TO SNDOUT_44 Now I want to know, what I have to do to get the data from the DSP to SNDOUT. Thnaks in advance for your help and please answer via email, because I don't read this group very often. bye Hubert _______________________________________________________________________________ _ | // | email: hubert@lte.e-technik.uni-erlangen.de // | phone: 0049-9131 85-7190 (univ.) ||||| _ // | 0049-9131 24682 (priv.) o(@)^(@)o \\ // | Stubenlohstr.13 91052 Erlangen / W-Germany \ U / \\ // |_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_- <#> \X/ things, that try to look like things, do often more look like things than things
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.lang.postscript,comp.sys.next.programmer Subject: Re: how to draw a bezel _around_ an image Date: 5 Aug 1993 11:22:48 +0100 Organization: me organized? That's a joke! Message-ID: <23qn1o$2sn@steffi.demon.co.uk> References: <CB8r0w.3JI@softdesign.com> Keywords: PostScript, NeXT Roberto_Arrocha@SoftDesign.COM wrote >Objective: to draw a grey(white) bezel around an image to frame it. > >NXDrawGray(White)Bezel() does the job, but because it draws inside the >bezel as well, I have had to composite the image on top of the area drawn >by NXDrawGray(White)Bezel(). > >I have also tried NXDrawTiledRects(), but it too draws inside the bezel. > >What I would prefer is simply draw a bezel _around_ the existing image, >rather than draw the bezel and then composite over it. > >Any suggestions on how to efficiently draw a bezel _around_ an image w/o >drawing inside the bezel? > >Thanks. >-- >Roberto >SoftDesign, Inc. Repeat after me, Learn from the MiniExamples. Check this gem out. This is from DocumentIcon.m in the DocumentPalette example. Way cool - drawSelf:(const NXRect *)rects :(int)rectCount { NXRect imageRect; NXSize imageSize; NXPoint drawOrigin; NXDrawGrayBezel(&bounds, rects); imageRect.origin.x = bounds.origin.x + 2; imageRect.origin.y = bounds.origin.y + 2; imageRect.size.width = bounds.size.width - 4; imageRect.size.height = bounds.size.height - 4; PSgsave(); NXRectClip(&imageRect); if (image != nil) { [image getSize:&imageSize]; drawOrigin = imageRect.origin; drawOrigin.x += (imageRect.size.width - imageSize.width) / 2; drawOrigin.y += (imageRect.size.height - imageSize.height) / 2; [image composite:NX_SOVER toPoint:&drawOrigin]; } PSgrestore(); return self; } Previously, I had been doing all sort of nasty stuff with TiledRects.
From: sib@cs.umd.edu (Scott Ian Blanksteen) Newsgroups: comp.sys.next.programmer Subject: NXBrowser: setPath:(const char *)path method question Summary: Am I the only one for whom this doesn't work? Message-ID: <70108@mimsy.umd.edu> Date: 5 Aug 93 20:08:30 GMT Sender: news@mimsy.umd.edu Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Hi - it's me again. I'm trying to use the setPath:(const char *)path method, and the browser doesn't react as I'd expect it to. I have checked to make sure I'm using the correct path separator character and I begin my path with the separator, since I want to start at the root level. The AppKit docs say that the browser will start at the root, look for a matching entry in the first column, and, if it finds one, load the next column if necessary, and continue in this fashion until the path is finished or until no match is found. Well, mine doesn't do this... Does it only work with a normal (non-lazy) browser? Any ideas? Thanks again, Scott
Newsgroups: comp.sys.next.programmer From: suckow@uropax.contrib.de (Ralf Suckow) Subject: Will Edit.app provide more services in future? Message-ID: <1993Aug5.192101.28254@uropax.contrib.de> Organization: Contributed Software GbR Date: Thu, 5 Aug 1993 19:21:01 GMT The Edit.app does not provide many services to other applications. Some times ago, somewhere, somebody (8^) mentioned it'll be extended in future. Who knows anything about this? I'm integrating Edit for text editing into a multi-program application. 1. I need to ask Edit to open a file and immediately to select a portion of it. 2. Inside Edit, the user asks another program to graphically edit a selected portion of text - that works through a service. But the problem is to write the edited text back into Edit's buffer. Only the modal (synchro) mode works, means Edit waits for the graphical editor to finish editing. But - what if the user wants to edit two graphical things at the same time. For the asynchroneous mode, I need a service like: get contents of buffer for filename and select/replace text in buffer for filename at... Maybe there is another way to communicate with Edit? How does gdb or the ProjectBuilder ask Edit to select a portion of a file? Will Edit be extended in 3.2? I would be very glad to get some help here from the net. Thanks in advance. Ralf -- Ralf Suckow, Berlin | suckow@contrib.de | Do you think it's difficult to speak Russian? Contributed Software | Every Moscow kid aged 5 years speaks it perfectly. only delivers my mail.|
Newsgroups: comp.sys.next.programmer From: smb3u@delton.psyc.virginia.edu (Steven M. Boker) Subject: Re: Flat-file adaptor for DBKit Message-ID: <CBAoFF.L2J@murdoch.acc.Virginia.EDU> Sender: usenet@murdoch.acc.Virginia.EDU Organization: University of Virginia, Department of Psychology References: <1993Aug1.155806.26206@biztech.com> Date: Thu, 5 Aug 1993 16:28:26 GMT In article <1993Aug1.155806.26206@biztech.com> anderson@biztech.com writes: > >Could someone please remind me of the company that has the flat-file >adaptor for DBKit? > I pulled this reference from a product announcement from January 15th of this year: SIMPLA is available now from Sonrisa Software for $199. For more information, contact: Sonrisa Software, Inc. 26500 W. Agoura Road, Suite 203 Calabasas, CA 91302 (818)878-9100 Fax(818)878-9105 or send e-mail to: simpla@sonrisa.com By the way, has anyone used this flat-file adapter? What are the reports from the field. Problems? Raves? Steve -- #====#====#====#====#====#====#====#====#====#====#====#====#====# # Steven M. Boker # "Two's bifurcation # # boker@virginia.edu # but three's chaotic" # #====#====#====#====#====#====#====#====#====#====#====#====#====#
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs Subject: Re: palette.make? (Build libs for NS3.1 palettes?) Date: 5 Aug 1993 13:36:41 +0100 Organization: me organized? That's a joke! Message-ID: <23qusp$4le@steffi.demon.co.uk> References: <23qirn$26c@steffi.demon.co.uk> LIBOFILES = $(PSWFILES:.psw=.o) $(PSWMFILES:.pswm=.o) $(CLASSES:.m=.o) \ $(CFILES:.c=.o) LIBDIR = ~/Developer/Palettes/lib OFILE_DIR = ./m68k_obj .linstall:: $(DSTROOT)$(LIBDIR) lib rm -f $(DSTROOT)$(LIBDIR)/lib$(NAME).a cp lib$(NAME).a $(DSTROOT)$(LIBDIR) ranlib $(DSTROOT)$(LIBDIR)/lib$(NAME).a @ echo > .linstall lib$(NAME).a : $(LIBOFILES) ar crvl lib$(NAME).a $? ranlib lib$(NAME).a installlib : .linstall lib : lib$(NAME).a This works, but it's ugly having to code OFILE_DIR like that. Why in 3.1 did OFILE_DIR resolve to ./obj????? This could happen is $(ARCH_LIST) didn't evaluate to anything. common.make has this OFILE_DIR = $(OBJROOT)/$(ARCH_LIST)obj However, ARCH_LIST isn't defined anywhere. And most targets use this to build obj_dir @(evaled_rc_archs="$(RC_ARCHS)"; \ obj_dir=`echo $$evaled_rc_archs | sed 's/ /_/g'`_obj ; \ $(MAKE) project \ "OFILE_DIR = $(OBJROOT)/$$obj_dir" \ My guess it's a bug? In fact if I change OFILE_DIR = $(OBJROOT)/$(ARCH_LIST)obj to OFILE_DIR = $(OBJROOT)/$(ARCH_LIST)robertobj And the make lib I get. cc -I./sym -arch `/usr/bin/arch` -I./sym -c DocumentIcon.m -o ./robertobj/DocumentIcon.o So that's where that comes from. I guess a fix is to define ARCH_LIST in my postamble or preferably patch common.make so that it resolves that properly. Hope I haven't wasted your time.
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Another Make suggestion Date: 5 Aug 1993 13:43:37 +0100 Organization: me organized? That's a joke! Message-ID: <23qv9p$4qc@steffi.demon.co.uk> I think that NeXT should build the architecture list information info that PB.project file. and it written to the Makefile rather than the current scheme. Any reason why not?
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Re: Another Make suggestion Date: 5 Aug 1993 14:17:44 +0100 Organization: me organized? That's a joke! Message-ID: <23r19o$5c4@steffi.demon.co.uk> References: <23qv9p$4qc@steffi.demon.co.uk> robert@steffi.demon.co.uk (Robert Nicholson) wrote >I think that NeXT should build the architecture list information >info that PB.project file. and it written to the Makefile rather >than the current scheme. > >Any reason why not? > Well it seems that this wasn't thought out too well or I am missing something. Basically what happens, is that project builder will compile with different flags depending on what architectures you have ticked. IMHO, it should behave the same way from the command line thru regular make, currently it doesn't. It ignores all architecture information and just builds m68k object code. This is because the whole thing is a bit of a hack really. To fix it you have to define RC_ARCHS = m68k i386 RC_CFLAGS = -arch m68k -arch i386 Even then to operate from the command line you have to , unless you patch common.make's (ARCH_LIST) define OFILE_DIR to be OFILE_DIR = m68k_i386_obj and RC_CFLAGS should be derived from RC_ARCHS it currently is not in the standard makefiles which look like this. (common.make) RC_ARCHS = `/usr/bin/arch` RC_CFLAGS = -arch `/usr/bin/arch` The obvious solution I think is the build the whole thing so that it stores the architecture information in the PB.project and eventually the Makefile and then go from there perhaps? Please correct me if I'm wrong. Well today has been a rewarding experience :-)
Newsgroups: comp.sys.next.programmer From: irogers@theme.music.indiana.edu (Ian Rogers) Subject: How can I make PopUp Menu go away...simply Message-ID: <CBB1zA.98B@usenet.ucs.indiana.edu> Sender: news@usenet.ucs.indiana.edu (USENET News System) Organization: Indiana University Music Library, Bloomington Date: Thu, 5 Aug 1993 21:21:09 GMT I am using a popup menu to make connections to z39.50 servers. The popUp menu hangs around until after the connection is made. It takes precedence over everything on the screen. If there is an error in the connection function it displays an alertPanel, which is displayed *behind* the popUp Menu. I realize that I could do this by making it multithreaded, but I am looking for a simpler way, as in simply sending the popup menu a 'disappear' method. ian -- Ian Rogers Technical Support, Indiana University Music Library irogers@indiana.edu
Newsgroups: comp.sys.next.programmer Subject: Re: run away jobs Message-ID: <MAX.93Aug5162951@Kolmogorov.gac.edu> From: max@Kolmogorov.gac.edu (Max Hailperin) Date: 5 Aug 93 16:29:51 References: <zkessin.743880433@berry.cs.brandeis.edu> Organization: Gustavus Adolphus College, St. Peter, MN In-reply-to: zkessin@cs.brandeis.edu's message of 28 Jul 93 17:27:13 GMT In article <zkessin.743880433@berry.cs.brandeis.edu> zkessin@cs.brandeis.edu (Zach K) writes: [when front end dies abnormally, back end keeps runing] This is a problem we've perennially had with Schematik, a NeXTStep front-end for MIT Scheme. We've done various things to increase the number of cases Schematik can catch and kill the Scheme back end, and have even put in a bunch of code to make sure that if a gentle kill doesn't work in a reasonable period a SIGKILL is done instead. The number of runaway processes has continously gone down, but never completely to zero, despite a lot of effort on this. So.... my question is, why do the orphaned processes run any how? The basic problem is that certain interactive programs, including ftp for example as well as scheme, will go into a tight loop running forever if their input has gone away on them, rather than quietly dieing on a SIGPIPE, SIGHUP, or plain old EOF, as one might expect. For example, try this experiment: run ftp get a big file while it is getting, contol-z it and put it in the background close the shell If your experience is like mine, the ftp program when it gets done transfering the file and tries prompting for a new command will go into a tight loop, eating up CPU cycles like they were going out of style. A little gdbing around seemed to indicate that this was caused by repeated signal delivery in some I/O library routine or other -- I've forgotten the details. I never did really figure it out. I'd love to, though, because if we could make the orphan die quietly (or at least sleep rather than run) that would be much better than trying to catch every possible case of the parent going away and make sure that the child is always explicitly killed. So... does anyone understand what is going on in these madly running orphans? Any ideas on how the problem can be resolved on that end? Many thanks. -max
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Hierarchical Browser via Indentation Message-ID: <1993Aug5.211941.17473@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software Date: Thu, 5 Aug 1993 21:19:41 GMT Has anyone put together something that allows for display of a hierarchy of items in a single-column NXBrowser which indicates the hierarchical levels by indentation? I am thinking of how the class hierarchy in Digitalk's ST/V is displayed, which I think is a real nice way to do it. I am particularly interested in the ability to collapse/expand a given item to hide/expose more of the hierarchy. If you have code you're willing to describe or perhaps share, I'm interested. Thanks, Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
Newsgroups: comp.sys.next.programmer,comp.sys.next.hardware From: alastair@farli.otago.ac.nz (Alastair Thomson) Subject: /dev/sg generic SCSI driver in NS/Intel Message-ID: <CBB7x7.nr@news.otago.ac.nz> Sender: usenet@news.otago.ac.nz (News stuff) Organization: University of Otago Date: Thu, 5 Aug 1993 23:29:31 GMT Hi, I have an app for driving a SCSI scanner. It works fine under NS black, but not under NS/I. I have added appropriate #ifdefs for endianness but that isn't where the problem is occuring. The first thing I do is to attach to each SCSI id in turn and send an inquire command. Where there is no id, I get a select timeout, just as expected. When I get to the scanner, I get a SR_IOST_RESET (Bus was reset during processing of command according to <bsd/dev/scsireg.h> Any ideas? What was resetting the bus, the system or the scanner? By the way, we are using 3.1 PR1 on a Compaq DeskPro 66M, with a DPT2012B SCSI adapter. -- Alastair Thomson, | Phone +64-3-479-8347 Programmer, | Fax +64-3-479-8529 Department of Computer Science | alastair@farli.otago.ac.nz University of Otago, Dunedin | New Zealand | NeXTmail Welcome
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Has anyone hacked Yap? Date: 5 Aug 1993 19:53:43 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <23s6i7$1bl@digifix.digifix.com> Has anyone bothered to hack on Yap at all? I've been thinking about adding some services support, so I can select a hunk of PS someplace, and then execute it in a window in YAP.app I've also looked at figuring out how to get the Postscript Display window to go to the printer, but no luck yet. So, has anyone done this, or does someone else want to do it? -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: comp.sys.next.programmer From: mabroa01@orion.spd.louisville.edu (Morgan Broadhead) Subject: Strange C Compilaton? Error Sender: news@netnews.louisville.edu (Netnews) Message-ID: <mabroa01.744602096@starbase.spd.louisville.edu> Date: Fri, 6 Aug 1993 01:54:56 GMT Organization: University of Louisville Greetings, O Mystic Masters of the Black Arts... Once again I am plagued by strange programming bugs. This one seems to be a compiler bug though, and not really within my purview. I wrote a medium-sized (~350 lines w/functions included) piece of code in C to extract pitch period data window by window from a named .snd file. The program works just fine - as long as the size of the FFTs is #define'd as 1024. If I change the value of the define to 2048 (which I am going to need to do) the program generates a 'memory allocation error: attempt to free or realloc space not in heap' error followed by a 'bad zone' and an 'IOT trap' while inside a call to cfree(). As I say, I don't think that there is anything wrong with the program, except possibly that it uses a fair amount of data storage (4 arrays of 2048 float values + 4 dynamically allocated arrays of ~300 float or int values on average). This is hardly the first problem I have had with this piece of code. When I first got it to compile, it was crashing inside an if() with a bus error. While tracking that down with debugging print statements (Got Here!), I discovered that placing a certain printf in the proper place eliminated the bus error, and caused the code to run OK. Replacing the printf with a call to SNDFree(), which should have been there in the first place, caused a different error; a segmentation fault in a for() loop. Again, properly placed debugging statements cleared up the segmentation fault, but one of the values in the loop was being overwritten after its first usage. And yes, you guessed it, a debugging printf in the current code causes it to run 'perfectly' as well, even at FFT_SIZE 2048. So I can get the code to run. On the other hand, this is only the first half of a pitch and formant extractor, and I am not sanguine about the prospect of searching that code for its magic debugging statements. I have tried playing around with gdb, but I'm not really sure what I'm even looking for any more, and I'm am learning gdb as I go. If this were Turbo C on an x86, it appears that I would be looking at segmentation problems due to my program memory size, but it's a 68040 under NeXT's Gnu C modification, so I'm damned if I know what to do. My machine is a NeXTStation 8/400 running NS3.0. If any of this seems familiar, or you have any helpful comments, please email me! If you are interested in the code or the algorithms, I'd be happy to provide details via email. Thanks, Alex -- ------------------------------------------------------------------------------ The Mighty Rev. M. Alexander Broadhead mabroa01@starbase.spd.louisville.edu ------------------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer Subject: Help needed compiling on NeXTStep 2.0 Message-ID: <1993Aug5.204907.19308@miavx1.acs.muohio.edu> From: mgjones@nextsrv.cas.muohio.edu (Michael Jones) Date: 5 Aug 93 20:49:06 -0500 [ Article crossposted from gnu.gcc.help ] [ Author was ] [ Posted on 3 Aug 93 08:02:55 -0500 ] I'm trying to compile GCC 2.4.5 on a NeXT 68030 cube running NeXTStep 2.0. I did a configure m68k-next-mach, then ran make LANGUAGES=c. It runs along fine for about 2 hours, but I get these warnings (among others): cc: -traditional-cpp option not recognized and for the file /usr/tmp/cc020630.s I get several of these: Bakw. ref to unknown label "0:", 0 assumed Ignoring junk after expression Anyways, it goes through the compile, uses the just compiled xgcc to compile enquire.c, and then runs 'enquire -f > tmp-float.h' which will just sit there eating up CPU and never output anything to tmp-float.h. I have to kill it to get past it. Any pointers/tips anyone might have would be greatly appreciated :) +--------------------------------------------------------------/\--------+ | Mike Jones | Internet : mgjones@nextsrv.cas.muohio.edu / \ | | -------- | Compu$erve: 73353,1134 /\/\/\ /\ | | NeXT Admin | PowerNet : 513-523-4293 (8N1) /\ / \/ \ | +------------------------------------------------------/ \/ \ \+ -- +--------------------------------------------------------------/\--------+ | Mike Jones | Internet : mgjones@nextsrv.cas.muohio.edu / \ | | -------- | Compu$erve: 73353,1134 /\/\/\ /\ | | NeXT Admin | PowerNet : 513-523-4293 (8N1) /\ / \/ \ | +------------------------------------------------------/ \/ \ \+
Newsgroups: comp.sys.next.programmer From: mshaler@tdoplan.sps.mot.com (Michael Shaler) Subject: Re: Flat-file adaptor for DBKit References: <CBAoFF.L2J@murdoch.acc.Virginia.EDU> Date: Fri, 6 Aug 1993 00:49:27 GMT Organization: Nippon Motorola Ltd., Tokyo, Japan Sender: news@tkymail.sps.mot.com Message-ID: <1993Aug6.004927.19721@tkymail.sps.mot.com> In article <CBAoFF.L2J@murdoch.acc.Virginia.EDU> smb3u@delton.psyc.virginia.edu (Steven M. Boker) writes: > > SIMPLA is available now from Sonrisa Software for $199. > Unfortunately, Simpla simply is not--they went out of business. Integrity Solutions, the DBKit masters from Minnesota, however are still in business and have adaptors for lots of goodies: Improv, flat-files, etc. Email (I think) is info@is.com. -- Michael Shaler Tokyo Design Center Nippon Motorola Ltd. +813 3280 8245 voice +813 3440 0033 fax mshaler@tdocad.sps.mot.com [NeXTmail]is not--they went out of business. Integrity Solutions, the DBKit masters from Minnesota, however are still in business and have adaptors for lots of goodies: Improv, flat-files, etc. Email (I think) is info@is.com. -- Michael Shaler Tokyo Design Center Nippon Motorola Ltd. +813 3280 8245 voice +813 3440 0033 fax msha
From: glenn@rightbrain.com (Glenn Reid) Newsgroups: comp.sys.next.programmer Subject: Re: How can I make PopUp Menu go away...simply Message-ID: <1299@rtbrain.rightbrain.com> Date: 6 Aug 93 02:26:30 GMT References: <CBB1zA.98B@usenet.ucs.indiana.edu> Sender: glenn@rightbrain.com Ian Rogers writes > I am using a popup menu to make connections to z39.50 servers. The > popUp menu hangs around until after the connection is made. It takes > precedence over everything on the screen. If there is an error in the > connection function it displays an alertPanel, which is displayed > *behind* the popUp Menu. Popup menus won't go away until the method that they invoke returns. The best way to accomplish what you're after is probably to use: perform:(SEL)aSelector with:anArg afterDelay:(int)ms cancelPrevious:(BOOL)flag inside the method that the popup list invokes. (check out <appkit/Application.h> and the documentation). If you use that, your popup method can return right away, and the action will be performed a few milliseconds later. It was designed for just such occasions.... -- Glenn Reid NeXTmail: glenn@rightbrain.com RightBrain Software 415-326-2974 (NeXTfax 326-2977) Palo Alto, California Electronic Frontier Foundation, member #054
From: glenn@rightbrain.com (Glenn Reid) Newsgroups: comp.sys.next.programmer Subject: Re: Mostly floating panel, how??? Message-ID: <1300@rtbrain.rightbrain.com> Date: 6 Aug 93 02:30:00 GMT References: <CB7w1t.2p7@news.otago.ac.nz> Sender: glenn@rightbrain.com Alastair Thomson writes > I have a scanner control application. While it is scanning I display > a panel with a bar showing the percentage completion of the scan > pass. Currently when I click on the main window, the panel gets > hidden behind it. If I send a setFloatingPanel:YES to it, it stays > above all windows, when I switch to other applications, I want the > panel to be behind other apps, but the top window of the scanner app. If you follow the User Interface Guidelines, you're pretty much required to have the panel hide itself when the app deactivates if it is a floating panel. The best way to do this is in Interface Builder: check the box that says "hide on deactivate" or similar. I don't think there is any way to have it just float above your own windows, but not other windows. -- Glenn Reid NeXTmail: glenn@rightbrain.com RightBrain Software 415-326-2974 (NeXTfax 326-2977) Palo Alto, California Electronic Frontier Foundation, member #054
From: glenn@rightbrain.com (Glenn Reid) Newsgroups: comp.sys.next.programmer Subject: Re: Rounding Error for PS? Message-ID: <1301@rtbrain.rightbrain.com> Date: 6 Aug 93 02:33:03 GMT References: <1993Aug4.173047.20304@leland.Stanford.EDU> Sender: glenn@rightbrain.com Fernando Pablo Lopez Lezcano writes > Jeff Martin writes > > I would be te > mpted to just blow away the whole thing and redraw it at each > > stage. Undrawing each one of those lines might turn out to be more > > expensive than a NXSetColor(NX_COLORWHITE), NXRectFill(&bounds). > > > > ... jeff > > In my small EnvelopeEd application I had the same problem (dots remaining in the screen after "erasing" a line). What I did was to create a list of all the segments as I was drawing them and then use that list to do the erase operation. As I was trying to optimize redrawing (I only redraw what has been changed) I did not consider erasing the whole rectangle and redrawing from scratch. If you draw the same line twice with different colors and there are pixels left over, it's a bug. Either in your program (not quite the same line) or in Display PostScript (somewhat less likely, but not impossible). That said, it seems to me that the intermediary position between "blow the whole thing away and redraw" and "erase and draw as little as possible" might be Instance Drawing, although Instance Drawing seems to have become a second-class citizen of recent. -- Glenn Reid NeXTmail: glenn@rightbrain.com RightBrain Software 415-326-2974 (NeXTfax 326-2977) Palo Alto, California Electronic Frontier Foundation, member #054
From: besler@gdss.commerce.ubc.ca (Steven Besler) Newsgroups: comp.sys.next.programmer Subject: Archiving a List with a Twist Date: 6 Aug 1993 04:29:42 GMT Organization: The University of British Columbia Distribution: world Message-ID: <23smnm$bf2@iskut.ucs.ubc.ca> I want to archive a List. However, I want it to archive only references to the objects it contains, not archive the objects themselves, since they will be archived elsewhere on the same stream. Is there an easy way to do this? Am I missing something? Please tell me I won't have to make my own subclass of list to do this... Thanks for any info! Steve -- Steven K. Besler <besler@gdss.commerce.ubc.ca> (NeXTmail) Newbie NeXTSTEP Application Programmer "Being the richest man in the cemetery doesn't matter to me. Going to bed at night saying we've done something wonderful . . . that's what matters to me." Steven P. Jobs CEO of NeXT, Inc.
Newsgroups: comp.sys.next.programmer From: brian@wucs1.wustl.edu (Brian) Subject: NextMail <--> MIME conversion Message-ID: <1993Aug6.062153.22386@wuecl.wustl.edu> Sender: usenet@wuecl.wustl.edu (News Administrator) Organization: Washington University, School of Engineering, St. Louis MO Date: Fri, 6 Aug 1993 06:21:53 GMT How complicated is the MIME decoding stuff? Would it be a simple matter to use teh meta-mail package as a go-between to convert incoming MIME mail into NeXT mail attachments? brian
Newsgroups: comp.sys.next.programmer From: hlam@bmerh170.bnr.ca (Hayward Lam) Subject: How to do testing? Message-ID: <1993Aug6.142406.15691@bmers95.bnr.ca> Sender: hlam@bmerh170 (Hayward Lam) Organization: Bell-Northern Research, Ottawa, Canada Date: Fri, 6 Aug 1993 14:24:06 GMT My group is building OO software from the ground up. We'd like to do incremental testing to cover class testing and collaboration testing as we develop. The idea we have is to do object stubbing that is to replace all objects associated with the object under test. It seems to work in theory but the overhead is too much. Anybody has a better way to do testing? Suggestions? Thanks. Hayward --------------------------------------------------------- Hayward Lam email:hlam@bnr.ca People have a way of becoming what you encourage them to be, not what you nag them to be. by Scudder Parker ---------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) Subject: RE: Archiving a List with a Twist Message-ID: <6AUG93.15321245@enh.nist.gov> Sender: news@dove.nist.gov Organization: NIST References: <23smnm$bf2@iskut.ucs.ubc.ca> Date: Fri, 6 Aug 1993 20:32:12 GMT Archiving anything with a twist is, in my experience, a royal pain in the neck. I had a similar problem with a hash table. I wanted to store Classes, keyed by integers... which works great, till you try to save 'em. So I figured I would just subclass HashTable and change the -Read: -Write: methods... Wrong! Because Read and Write rely directly on calls to [super ], you can't do that. So there are two solutions to your problem: The first (and the one I opted for, for my own reasons), is to create a subclass of object, which "owns" a List, and forwards all of the messages it receives to that List (except Read and Write). In your read and write, just parse the List, using writeObjectReference() to store your objects to the current stream. The second (and in your case, probably the one to consider) is to create a category that overrides the existing -Read: and -Write: methods of the List. If you are worried about other Lists that you may have, create a sub-class of List, ReferenceList, and use the category on that. Have fun! (The actual coding should take about fifteen minutes) Kevin
Newsgroups: comp.sys.next.programmer From: aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) Subject: NXImages, translation, etc... Message-ID: <6AUG93.19265981@enh.nist.gov> Sender: news@dove.nist.gov Organization: NIST Date: Sat, 7 Aug 1993 00:26:59 GMT I have an NXImage that I need to composite to a view that has a very non- standard coordinate system. It is both scaled and offset, and adjusting the view is really not the right thing to do (I think). These images are going to be of variable size, and the offset is based on their size, so each needs to be able to deal with its own offset. Basically, I have images that need to be drawn at a center point, instead of the lower left hand corner. Does anyone have any suggestions as to what I can do? I am toying with sub-classing NXImage, and "modifying" the compositeTo: method, but I don't think that that is the most practical approach. Any and all suggestions are welcome. Please send mail to: day@spot.aoml.erl.gov Thank you very much, Kevin
Newsgroups: comp.sys.next.programmer From: joseph@daffy.tip.ameslab.gov (Joseph Reynolds) Subject: Re: Strange C Compilaton? Error Message-ID: <CBCsGD.LDu@news.iastate.edu> Keywords: pointer problems, memory problems Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA References: <mabroa01.744602096@starbase.spd.louisville.edu> Date: Fri, 6 Aug 1993 19:50:36 GMT Hi. You certainly have a bizarre problem: In article <mabroa01.744602096@starbase.spd.louisville.edu> mabroa01@orion.spd.louisville.edu (Morgan Broadhead) writes: > Greetings, O Mystic Masters of the [...] Arts... > Once again I am plagued by strange programming bugs. > This one seems to be a > compiler bug though, and not really within my purview. > [...] When I > first got it to compile, it was crashing inside an if() with a bus > error. [...] > And yes, you guessed it, a debugging printf in the current code > causes it to run 'perfectly' as well, even at FFT_SIZE 2048. > [...] > I'm damned if I know what to do. > [...] If any of this seems familiar, > or you have any helpful comments, please email me! [...] > Thanks, > Alex I would guess that you have a nasty pointer problem *somewhere* (evil grin:>) in your code. I just recently had one. The problem area appeared to work just fine, but it wrote over important data which caused other perfectly acceptable code to cause the crash. I suspect something similar is happening in your project. To fix this, you might want to run your code under some sort of memory watcher utility(tm). I'm not familiar with any particular products, but I understand there are utilities and/or techniques to catch when the heap or stack is improperly overwritten. (Does anyone know what I'm talking about?) The alternative is to step through your program with the debugger and check (all) references by hand. -*-ack mode-*- Joseph
Newsgroups: comp.sys.next.programmer From: joseph@daffy.tip.ameslab.gov (Joseph Reynolds) Subject: Looking for Postscript References Message-ID: <CBCspE.LI3@news.iastate.edu> Keywords: postscript, references Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA Date: Fri, 6 Aug 1993 19:56:01 GMT Hi. I'm looking for information about the Postscript books given in the following reference (from Digital Librarian). This doesn't clearly say who the publisher is, and my bookstore can't figure it out. I would appreciate it if you could clue me in to the publisher or even the ISBNs. (I need just these four, not the two whose references I've deleted here.) Quoted matrial: All operators added to the Display PostScript system by NeXT are described in detail in the NeXTstep Reference, Volume 2. The Display PostScript system is documented in four publications by Adobe Systems Incorporated PostScript Language Extensions for the Display PostScript System, Client Library Reference Manual, pswrap Reference Manual, and Perspective for Software Developers. [...] Thanks, Joseph
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Anyone have an example of using Instance drawing? Date: 6 Aug 1993 17:42:53 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <23uj8t$6d5@digifix.digifix.com> Well... I've check the MiniExamples and the AppKit examples.... Does ANYONE have any examples of the proper way to do instance drawing? Thanks Scott -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Message-ID: <py$@byu.edu> Date: Wed, 4 Aug 93 15:21:42 MDT From: yackd@texas.et.byu.edu (Don Yacktman) Newsgroups: comp.sys.next.programmer Distribution: world Organization: Brigham Young University, Provo UT USA Subject: The DAYMiscKit (long) Keywords: free objects I have an interesting proposition/idea for the net at large, and would like to present/discuss it with interested parties. First, a little bit of background: As many (most?) of you know, I recently released a kit of objects called the "DAYMiscKit" which is a collection of free objects that I have created and found useful in my work. Things like a string class, a class to manipulate time(s), a stopwatch/timer, and so on. (If you haven't heard about it, or missed the csna post, you can grab it from cs.orst.edu or from ftp.byu.edu; in the latter case as /pub/next/daymisckit_proj.tar.gz) Anyway, the current release is under a "free" license (but which is not the GNU license). The idea is that anyone can use the objects for anything, without having to pay anyone money, and that noone but me is allowed to charge money for these objects and their source code. (And I'm not charging, of course. :-) I didn't use the GNU license because there are many folks, primarily commercial users, who cannot use objects under that license due to its restrictions and I want these objects to be useable by anyone. (Which is why I offer to sell support to those who need "official" support. The objects are simple enough that dupport is unnecessary, IMHO, but some bosses require this anyway...) Well, I bring all this up because Scott Anguish has suggested a very interesting idea. What if this kit of objects is turned into a library of objects that anyone/everyone can contribute to? Two examples: the current DAYString was originally my idea, but many of the most recent changes and enhancements were made by Carl Lindberg (thanks! :). And the second...Scott Anguish has a nice clock view on a palette which is going to be added to the kit, to work alongside the time objects that are already there. So, since the kit has already expanded beyond what I've originally done, why not make an open request for free objects which are small and generally useful, and throw them all in there? There's only a couple of reservations I have, and they have to do with (1) the "DAY" prefix I've been using and (2) getting a real license drafted up. First, the prefix. I chose it because (a) it was obvious--my initials-- and (b) it's not very likely that anyone else will use it, since my initials are somewhat a rarity. I wanted to be able to include others' string classes, for example, without having a name conflict and it seemed that this prefix would avoid that quite handily. "String" was just far too general, and since my DAYString isn't the end-all, be-all, there is the possibility that another String class would occasionally be used in the same project. The same goes for any of the other classes, of course. Well, thr problem is that I do not want to stick this prefix on every object that someone might submit, since I didn't write them...and sticking my initials into the name of an object that isn't mine obscures the original author's name, which wouldn't sit well with potential contributors, I'm sure. It seems the best solution is to come up with a good two or three letter prefix that can be put on _all_ the objects, future and existing, that will be in the kit, and dropping the "DAY". Any ideas? I'd much prefer to give all the objects the same prefix than just assign initials of whomever was the author--that could foster anarchy. Second, the license. Basically, the current one is fine as to intent, but I'm no lawyer, and would feel much more comfortable if there were an honest-to-goodness real license drafted up that meets with the intent of what I've done: free objects that require only (1) the user doesn't sell them to anyone--selling an app that uses them is fine, but selling them as objectware is not-- and (2) credit is given so that someone using the end product is (a) aware that these free objects were used in the app --info panel or in the documentation or both should contain a reference-- and also (b) sees a pointer to where to obtain source. One catch is putting it on a CD-ROM collection. What I'd propose in that case is to request free copies of the CD-ROM for all the contributors as a "payment." (Or is that too steep? I don't think it is myself...) So what this all boils down to, after all that is: (1) Who would be interested in contributing? (2) What would you have to contribute? Spefic objects? Help/patches to improve what's in the kit? etc... (I'm looking specifically for extensions to UI objects, like the AppKit, and common classes, like strings, trees, etc.) (3) What's a good 2-3 letter prefix that would be nice to use? (4) Could anyone get a real license drafted by a real lawyer? This is a free project, a gift to the world so to speak, so I can't afford to put any money into this; I'm a poor student who can invest nothing more than time...but if there's a lawyer who owes someone a favor... :) Anyway, as I see it, there are several advantages to this idea: (1) You get a kit of several useful, free, objects that are designed to work well together...not a hodge podge of classes that do what you want but are incompatible with each other. (2) It's all in one place: use the kit and compiles are faster because you don't have a zillion .[hm] files in your projects and tons of different .a files to link against... [If you regularly use many of the free objects off the archives already, you probably can see why consolidation would be nice for both development speed and also to have the objects work together well with a consistent API.] (3) Having others participate makes the kit become more useful more quickly. I am willing to be a source "moderator" -- ie. you can check in/out the source files through me, and I will try and go over them to keep bugs from being introduced. I know that a similar "community" project has been attempted with BackSpace modules; how has that worked out? (I've not watched it too closely...) The generality of the MiscKit makes it a good candidate for a collaborative project, since it will benefit a very large audience. So, what do you think? It seems that a certain amount of net discussion on some of the questions might be appropriate, while actual volunteering should probably be done directly to me via e-mail. If the discussion gets too me too much for the uninterested, I could create an e-mail alias to handle it, too... Awaiting responses... -don -- Don_Yacktman@byu.edu Nepotism is a relative thing.
Newsgroups: comp.sys.next.programmer From: abell@netcom.com (Steven T. Abell) Subject: Re: Strange C Compilaton? Error Message-ID: <abellCBD0Lp.Knw@netcom.com> Keywords: pointer problems, memory problems Organization: Netcom Online Communications Services (408-241-9760 login: guest) References: <mabroa01.744602096@starbase.spd.louisville.edu> <CBCsGD.LDu@news.iastate.edu> Date: Fri, 6 Aug 1993 22:46:36 GMT joseph@daffy.tip.ameslab.gov (Joseph Reynolds) writes: >To fix this, you might want to run your code under some sort of memory >watcher utility(tm). I'm not familiar with any particular products, but I >understand there are utilities and/or techniques to catch when the heap or >stack is improperly overwritten. (Does anyone know what I'm talking >about?) The alternative is to step through your program with the debugger >and check (all) references by hand. -*-ack mode-*- Try MallocDebug. You already own it. Steve abell@netcom.com
From: glenn@rightbrain.com (Glenn Reid) Newsgroups: comp.sys.next.programmer Subject: Re: Anyone have an example of using Instance drawing? Message-ID: <1308@rtbrain.rightbrain.com> Date: 7 Aug 93 00:06:10 GMT References: <23uj8t$6d5@digifix.digifix.com> Sender: glenn@rightbrain.com Scott Anguish writes > Does ANYONE have any examples of the proper way to do instance drawing? I don't have a good example handy, but here's what you do: 0. [lockFocus or whatever to prepare for drawing in your View] 1. draw whatever you want as background 2. PSsetinstance ( YES ); 3. loop { draw whatever is temporary and will be erased PSnewinstance(); // erases temporarily drawn stuff } 4. PSsetinstance ( NO ); 5. Draw the final one that you don't want to be erased It flickers if the area is large (unless you instance-draw into an offscreen buffer and composite, which you should do), but it's pretty handy. It seems to me that instance drawing should automatically draw into an offscreen buffer and composite for you. It probably has to keep a buffer anyway, and since it flickers if you don't, it might as well do both for you. -- Glenn Reid NeXTmail: glenn@rightbrain.com RightBrain Software 415-326-2974 (NeXTfax 326-2977) Palo Alto, California Electronic Frontier Foundation, member #054
Newsgroups: comp.sys.next.programmer From: anderson (Ken Anderson) Subject: Re: palette.make? (Build libs for NS3.1 palettes?) Message-ID: <1993Aug6.151815.9729@biztech.com> Sender: news@biztech.com Organization: Biztech, Inc. References: <23qusp$4le@steffi.demon.co.uk> Date: Fri, 6 Aug 1993 15:18:15 GMT This is the contents of the Makefile.postamble that I wrote for making libraries for palettes. It's advantage is it uses the check-marks in project builder to make fat, etc. VPATH=$(OFILE_DIR) LIB_NAME=<<LIBNAME>> LIBOFILES=<<LIST OF .O FILES>> clean:: rm lib*.a baselib: $(OFILE_DIR) $(LIBOFILES) rm lib$(LIB_NAME).a ar r lib$(LIB_NAME).a $(LIBOFILES) ranlib -s lib$(LIB_NAME).a lib:: @(evaled_rc_archs="$(RC_ARCHS)"; \ obj_dir=`echo $$evaled_rc_archs | sed 's/ /_/g'`_obj ; \ $(MAKE) -e baselib "CFLAGS=$(RC_FLAGS)" "OFILE_DIR = $(OBJROOT)/$$obj_dir") debuglib:: @(evaled_rc_archs="$(RC_ARCHS)"; \ obj_dir=`echo $$evaled_rc_archs | sed 's/ /_/g'`_debug_obj ; \ $(MAKE) -e baselib "LIB_NAME=$(LIB_NAME)_d" \ "CFLAGS=$(RC_FLAGS) -g -Wall -DDEBUG" "OFILE_DIR = $(OBJROOT)/$$obj_dir")
From: dewitt@garnet.berkeley.edu (Mark DeWitt) Newsgroups: comp.sys.next.programmer Subject: trouble with printing main window Date: 7 Aug 1993 01:56:26 GMT Organization: University of California, Berkeley Message-ID: <23v24a$l01@agate.berkeley.edu> I am a C programmer, familiar with object-oriented concepts, just starting to use Interface Builder. I'm using: NeXT OS 2.1 NeXT IB 2.0 I'm trying to do something very simple: add a menu item to an existing public domain program (edsnd 1.42) that sends a message to the main window to print itself. Here's what I did: 1) I added a menu item to an application submenu named "Print" and made a connection between the menu item and the application object, which is an instance of a subclass of the Application class, more specifically a connection between the "target" outlet of the menu item and a new action of the application subclass that I named "print:" using the project inspector. 2) I added the proper declaration of the print function to the Application subclass header file and code for the print function to the .m source file, which looks like this: /* print: -- tell the main window to print itself */ - print:sender { id mainwin, PSret; if (mainwin = [self mainWindow]) { PSret = [mainwin smartPrintPSCode:self]; } return self; } 3) The code compiles no problem; I can run it under gdb, hit the print option in the submenu and sure enough the code gets called. Here's what happens: 1) Nothing is printed, and after ~30 seconds a popup warning panel appears, saying: "PostScript error: %%[Error:invalidid; OffendingCommand:newinstance]%%" 2) The application crashes, except sometimes when I'm in gdb it doesn't. When I do get it to crash in gdb, the trace looks something like this: Program received signal 11, Segmentation fault 0x500b000 in NXVPrintf () (gdb) where #0 0x500b000 in NXVPrintf () #1 0x502d37a in NXPrintf () #2 0x6068f94 in _DPSConvertBinArray () #3 0x6006142 in binObjSeqWriteGuts () #4 0x6006212 in _DPSOutputBinObjSeqWrite () #5 0x600d19e in NXSetGState () #6 0x600ac4e in _focusFromTo () #7 0x600abac in - [View lockFocus] #8 0x608b120 in toggle_cursor () #9 0x600cb30 in checkTEs () #10 0x600c9a4 in _DPSGetOrPeekEvent () #11 0x600e70a in NXGetOrPeekEvent () #12 0x6036ee8 in - [Application run] #13 0xca34 in main (argc=3, argv=(char **) 0x3fffe18) (edsnd_main.m line 12) The PostScript error and the crashing may be (somewhat) unrelated; not only can I get the PostScript error without crashing (under gdb), I have also crashed it trying to print without getting the PostScript error (when the printer was hung and its queue not moving). Other things to know: * I verified with gdb that it is correctly identifying the main window. * I tried it also with printPSCode in place of smartPrintPSCode, with same result. I have left out some vital information or if you can help me, please send e-mail to me, as I cannot presently keep up with this newsgroup. Thanks in advance, Mark DeWitt dewitt@garnet.berkeley.edu
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: SUMMARY: Examples of PSnewinstance Date: 6 Aug 1993 22:48:51 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <23v56j$882@digifix.digifix.com> References: <23uj8t$6d5@digifix.digifix.com> Thanks to Steve Abell for sending me an example from his own work... and Charles Lloyd for pointing me to ZooView (its one of the new MiniExamples) basically..... you PSsetinstance(YES); while (doing something) { PSnewinstance(); draw a neat diagram } PSsetinstance(NO); Scott [going back to update his Digital Librarian indexes on the MiniExamples!] -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
From: besler@gdss.commerce.ubc.ca (Steven Besler) Newsgroups: comp.sys.next.programmer Subject: Question about Object Archiving Date: 7 Aug 1993 05:16:34 GMT Organization: The University of British Columbia Distribution: world Message-ID: <23vdri$i1c@iskut.ucs.ubc.ca> Does Object's "write:" and "read:" methods do anything? What would happen if a class which is a direct descendant of object did not have [super write: stream] or [super read: stream] in its "write:" and "read:" methods? Alternatively, how does one send skip one link in the inheritance chain? i.e. call a method from super's super? Why? What I need to do is to get a List (or a subclass) to archive only references to the objects it contains. *) Categories or Posing may work, but I also need the normal behaviour of List elsewhere in my program. *) Subclassing would be great, but if Object does do some archiving of its own then how do I skip List's normal archiving and just call Object's? (before performing my own) *) And how do I do this "the Right Way"? Just getting it to work is one thing, but a general solution to this type of problem would be better. A good solution would not do anything too hackish, like tonnes of calls to the run-time system. Thanks for any more info. -- Steven K. Besler <besler@gdss.commerce.ubc.ca> (NeXTmail) Newbie NeXTSTEP programmer. "Being the richest man in the cemetery doesn't matter to me. Going to bed at night saying we've done something wonderful . . . that's what matters to me." Steven P. Jobs CEO of NeXT, Inc.
Newsgroups: comp.sys.next.programmer From: ludwig@well.sf.ca.us (Michael Rutchik) Subject: Faster mouse driver for Kensington Expert Mouse Message-ID: <CBDLqn.MCr@well.sf.ca.us> Summary: How can I write a miniprogram or driver that will speed up my mouse Keywords: NextStep, Kensington Sender: news@well.sf.ca.us Organization: The Whole Earth 'Lectronic Link, Sausalito, CA Date: Sat, 7 Aug 1993 06:23:11 GMT I've finally assembled two PC clone towers for NextStep and NextStep Developer. However, my only programming experience so far is in 4D for the mac. The first thing I'd like to attempt to program is a much faster mouse driver for my Kensington Expert Mouse trackball. I read an earlier post suggesting this was possible in NS 2.1 by typing a dwrite command in a shell window. Unfortunately, I don't know enough about this system yet to know the right questions to ask. Can anyone prvide more details about a solution under 3.1? Thanks Michael Rutchik ludwig@well.sf.ca.us
From: bahder@admii.arl.army.mil (Tom Bahder ) Newsgroups: comp.sys.next.programmer Subject: emacs command M-x spell-buffer does not work Message-ID: <1285@aos.brl.mil> Date: 7 Aug 93 05:37:51 GMT Sender: news@aos.brl.mil Organization: U.S. Army Research Laboratory APG, MD.
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: MicroExamples (was SUMMARY: Examples of PSnewinstance) Message-ID: <1993Aug7.061144.7198@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software References: <23v56j$882@digifix.digifix.com> Date: Sat, 7 Aug 1993 06:11:44 GMT Scott Anguish writes >Thanks to Steve Abell for sending me an example from his own work... > >and Charles Lloyd for pointing me to ZooView (its one of the new MiniExamples) > >basically..... you > > > PSsetinstance(YES); > while (doing something) { > > PSnewinstance(); > draw a neat diagram > > } > PSsetinstance(NO); > > >Scott >[going back to update his Digital Librarian indexes on the MiniExamples!] > It appears that NeXT is watching the news these days, so I'll take this opportunity to advocate for something that would really help: MicroExamples. NeXT currently has about three dozen "MiniExamples" which are certainly helpful, but there are too many concepts buried in these rather corse-grained examples. Instance drawing is a good case: try to find the instance drawing in ZooView; its in a morass of mouseDown: code. It would be much better if NeXT provided several hundred extremely small examples to cover each concept in isolation. Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Appkit wrapper for Windows api Message-ID: <1993Aug7.063459.7343@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software Date: Sat, 7 Aug 1993 06:34:59 GMT I have heard about an effort in which the X/Motif library has been (is being?) wrappered with Objective-C classes so as to make it look just like the NeXTstep Appkit thereby making NeXTstep apps portable to Motif. Has anyone considered doing a similar thing for the Windows api? This sounds like it could be a real coup for whomever was successful in putting this together, if its possible. (Seems like the difference between DPS and whatever Windows' counterpart is would be a showstopper). I'd be interested in speculation on the feasibility of such a project, and also the impact it would have on NeXT's sales and marketing. I know zilch about Windows programming, but I also wonder if it makes sense to build libraries on the NeXT that would make Windows apps portable to NS. Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
Newsgroups: comp.lang.smalltalk,comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Building Gnu ST for NeXT 3.1 Message-ID: <1993Aug7.082305.8145@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software Date: Sat, 7 Aug 1993 08:23:05 GMT For NeXT users: A while back I posted a workaround for a 3.0 bug in NeXT's cpp that prevented building of Gnu Smalltalk.1.1.1. Well, as fate would have it, there is a new problem with 3.1, so anyone who needs to build for 3.1 can contact me and I'll send you a PB project that handles everything you need to build Gnu ST.1.1.1 on NS 3.1. Also, if you're having trouble building under 3.0, my package may be of help. Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Tab Stops in Cells Message-ID: <1993Aug7.084656.8298@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software Date: Sat, 7 Aug 1993 08:46:56 GMT Has anyone ever figured out how to set tab stops in a cell? In particular, I'd really like to know how to set tab stops in an NXBrowserCell. Descriptions or references much appreciated, Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Re: Anyone have an example of using Instance drawing? Date: 7 Aug 1993 11:06:29 +0100 Organization: me organized? That's a joke! Message-ID: <23vur5$37g@steffi.demon.co.uk> References: <23uj8t$6d5@digifix.digifix.com> <1308@rtbrain.rightbrain.com> Andrew Stone had a good example that he wrote for an old issue of BuzzNUG. It was code for Popi which did rubber banding. Come on Andrew, where is it :-) ?
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Re: Appkit wrapper for Windows api Date: 7 Aug 1993 11:09:27 +0100 Organization: me organized? That's a joke! Message-ID: <23vv0n$38v@steffi.demon.co.uk> References: <1993Aug7.063459.7343@gleap.sccsi.com> Anybody remember that "not so exciting" windows API talk at Expo. Premise, was that you could port NeXTStep app's to Windows however, it required a MVC approach to development and a reimplmenetation of the UI layer. Why did everybody walk out :-)?
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: cc -arch MAB questions Message-ID: <1993Aug7.082757.12222@ToTSySSoft.com> Keywords: MAB, architecture, FAT, compile, cc, gcc Sender: news@ToTSySSoft.com Organization: Total System Software Date: Sat, 7 Aug 1993 08:27:57 GMT Can anyone tell me just what the advantages are (or detriments) of the varieties of -arch flags... cc -O2 -Wall -s -arch m68k -arch m68040 -arch i386 -arch i486 -arch i486SX -o xyzzy xyzzy.c results in... > lipo -info xyzzy Architectures in the fat file: xyzzy are: m68k m68040 i386 i486 i486SX > file xyzzy xyzzy: fat file with 5 architecture(s) xyzzy (for architecture m68k): Mach-O executable xyzzy (for architecture m68040):Mach-O executable xyzzy (for architecture i386): Mach-O executable xyzzy (for architecture i486): Mach-O executable xyzzy (for architecture i486SX):Mach-O executable > lipo -detailed_info xyzzy Fat header in: xyzzy fat_magic 0xcafebabe nfat_arch 5 architecure m68k cputype CPU_TYPE_MC680x0 cpusubtype CPU_SUBTYPE_MC680x0_ALL offset 8192 size 16384 align 2^13 (8192) architecure m68040 cputype CPU_TYPE_MC680x0 cpusubtype CPU_SUBTYPE_MC68040 offset 24576 size 16384 align 2^13 (8192) architecure i386 cputype CPU_TYPE_I386 cpusubtype CPU_SUBTYPE_I386_ALL offset 40960 size 16384 align 2^13 (8192) architecure i486 cputype CPU_TYPE_I386 cpusubtype CPU_SUBTYPE_486 offset 57344 size 16384 align 2^13 (8192) architecure i486SX cputype CPU_TYPE_I386 cpusubtype CPU_SUBTYPE_486SX offset 73728 size 16384 align 2^13 (8192) IF, because of hardware restrictions, the 68030 is eliminated from support in a program (Black), should the -arch m68040 be used in lieu of the -arch m68k, for example. Does anyone know WHICH binary will be loaded from this MAB on a 68040 machine? Will the first applicable (m68k in this case) be loaded, or will the m68040 be better optimized for 68040 or will the two generated sub-binaries be identical? I realize that include libraries are needed for some architectures, and are not yet available but m68040 seems to use the m68k includes, and 486 the 386? or this ``Hello world'' program uses little, quite satisfied with <libc.h> (xyzzy-NeXT MAB is concurrently posted in csn.sysadmin for m68k and i386).
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: Has anyone hacked Yap? Message-ID: <1993Aug7.084246.12291@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <23s6i7$1bl@digifix.digifix.com> Date: Sat, 7 Aug 1993 08:42:46 GMT In article <23s6i7$1bl@digifix.digifix.com> sanguish@digifix.com (Scott Anguish) writes: -> Has anyone bothered to hack on Yap at all? -> -> I've been thinking about adding some services support, -> so I can select a hunk of PS someplace, and then execute -> it in a window in YAP.app I did this in 2.1 Dev, but really haven't had the chance to more than ``click'' Yap.app on 3.1 briefly. It wasn't not all that hard -- acceptsAnotherFile returns yes, and implement an openFile method Workspace can call. -> -> -> I've also looked at figuring out how to get the Postscript -> Display window to go to the printer, but no luck yet. -> I actually think you MIGHT be able to send a printPS to the off-screen drawing window... not at all sure about this -- easier to keep the tools panel open and bring it up in Preview to print. -> -> So, has anyone done this, or does someone else want to -> do it? No, I really don't want to do it again -- at least until PS is stabilized (3.2???), and if the Dragging Service protocol is any indication (I get refusals to drag -- screwey mouse event queue (evidently) causing hilighting of large collections of WSM main browser files when SUPPOSEDLY an Icon is supposed to be dragging... ) If the 3.1 Yap is the same as the 2.1 Yap, except for a re-compile, only a few things would have to be done differently, if any... Hmmmm -- sorry can't get into that now. Bruce
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: Hierarchical Browser via Indentation Message-ID: <1993Aug7.084839.12361@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <1993Aug5.211941.17473@gleap.sccsi.com> Date: Sat, 7 Aug 1993 08:48:39 GMT In article <1993Aug5.211941.17473@gleap.sccsi.com> clloyd@gleap (Charles C. Lloyd) writes: -> Has anyone put together something that allows for -> display of a hierarchy of items in a single-column -> NXBrowser which indicates the hierarchical levels by -> indentation? ... [snip] NXBrowserCell does poorly with leading spaces on left-adjusted text. Bruce
Newsgroups: comp.sys.next.programmer From: jhall@barbados.umhc.umn.edu (Jeff Hallgren) Subject: Re: Question about Object Archiving Message-ID: <CBE87z.Fq3@news2.cis.umn.edu> Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota, Twin Cities References: <23vdri$i1c@iskut.ucs.ubc.ca> Date: Sat, 7 Aug 1993 14:21:47 GMT In article <23vdri$i1c@iskut.ucs.ubc.ca> besler@gdss.commerce.ubc.ca (Steven Besler) writes: > > What I need to do is to get a List (or a subclass) to archive > only references to the objects it contains. > > Thanks for any more info. > > -- > Steven K. Besler <besler@gdss.commerce.ubc.ca> (NeXTmail) > Newbie NeXTSTEP programmer. If you really do want to archive "just the pointers" then the Storage object is what you are looking for. It behaves in precisely they way you want. If you need something unique to a List then you could simply copy the pointers to a List after you unarchive the Storage object. Using Storage can get a bit ugly but there is an example in NextAnswers. I've always thought that Storage was stupid for doing this because I couldn't imagine what someone would want with moldy old pointers from who knows where... So now I'm curious, what good are your archived pointers? Jeff jhall@tahiti.umhc.umn.edu (Jeff Hallgren)
From: xepo@csd4.csd.uwm.edu (Scott R Violet) Newsgroups: comp.sys.next.programmer Subject: Problem getting cells to unselect in an NXBrowser Date: 7 Aug 1993 15:35:31 GMT Organization: Computing Services Division, University of Wisconsin - Milwaukee Distribution: usa Message-ID: <240i43INNj8p@uwm.edu> Originator: xepo@csd4.csd.uwm.edu HI all, I'm having a problem with NXBrowser's where by I am programmaticly selecting cells ([[theBrowser matrixInColumn:theColum] selectCellAt:row :0]), the reason I don't do a sendAction at the end is that sometimes I'll be selecting a non-leaf node and don't want it to go down a level. But anyway, the problem comes in that for some reason the cell below the one I select remains highlighted. I've checked that it the cell isn't selected, and it isn't, it just remains highlighted and won't un-highlight until after I select it and un-select it. It's a very wierd problem and I've tried all sorts of things (like sending every cell first a highlightInView: lit:TRUE then highlightInView: lit:FALSE), but I still get this problem. Would anyone have any suggestions of what I might be doing wrong? Thanks, -- -Scott Violet (xepo@csd4.csd.uwm.edu)
Newsgroups: comp.sys.next.programmer From: pfkeb@kaon.SLAC.Stanford.EDU (Paul F. Kunz) Subject: Re: RCS and binary files In-Reply-To: blake015@mc.duke.edu's message of 3 Aug 93 03:22:11 GMT Message-ID: <PFKEB.93Aug7202407@kaon.SLAC.Stanford.EDU> Sender: news@unixhub.SLAC.Stanford.EDU Organization: Stanford Linear Accelerator Center References: <CB56z5.JFv@world.std.com> <18572@news.duke.edu> Date: Sun, 8 Aug 1993 03:24:11 GMT >>>>> On 3 Aug 93 03:22:11 GMT, blake015@mc.duke.edu (Denise Blakeley) said: > RCS doesn't handle binary files at all. Get CVS--it's public-domain and runs > on top of RCS, and it handles binaries. As another poster said, CVS uses RCS but you need a newer version of RCS then the one NeXT ships to handle binaries. The latest is 5.6 and available from prep.ai.mit.edu and its mirrors. I fully concur that if two or more developers are working on a NeXT step application, you really need CVS. Because .nib files are directories, and if you have builtin help, they are .rftd directories you wind up with a lot of files and directories even for a simple application. With CVS, you can checkout the whole directory tree with one command, and after modification of files in any directory, to a checkin with one command. My current application, HippoDraw (soon to uploaded to NeXT archive sites), is a simple app but consists of 642 files in over 60 directories. Without CVS, I think we would go crazy. -- Paul F. Kunz Paul_Kunz@slac.stanford.edu (NeXT mail ok) Stanford Linear Accelerator Center, Stanford University Voice: (415) 926-2884 (NeXT) Fax: (415) 926-3587
Newsgroups: comp.sys.next.programmer From: ploeger@aplki.toppoint.de (Andreas Ploeger) Subject: Re: Linking NIB into Application (and stripping) Message-ID: <1993Aug7.143339.766@aplki.toppoint.de> Sender: ploeger@aplki.toppoint.de (Andreas Ploeger) Organization: Andreas Ploeger References: <1993Aug7.000800.873@zion.com> Date: Sat, 7 Aug 93 14:33:39 GMT In article <1993Aug7.000800.873@zion.com> david@zion.com(David J. Ferrero) writes: > Now that I've created an app which dynamically loads modules, what steps > do I need to take to strip the executables smaller without getting an > error like the following: > > error with rld() .... loading module... > > at run-time? (I would like to get rid of all unnecessary symbols such as > those added for gdb..., without loosing those needed by the bundles I'm > trying to load)...Also can I shrink the size of bundles? 1. Let rld() fail and print out the missing symbols. 2. Put them in a file and call is symbols. 3. Use 'strip -s symbols Test.app' Greetings, Andreas -- -------------------------------------------------------------------- Andreas Ploeger E-Mail: ploeger@tpki.toppoint.de
Newsgroups: comp.sys.next.programmer From: brisinda@cpsc.ucalgary.ca (Dale Brisinda) Subject: NXEvent "time" field Message-ID: <BRISINDA.93Aug7144431@fsd.cpsc.ucalgary.ca> Sender: news@cpsc.ucalgary.ca (News Manager) Organization: University of Calgary Date: Sat, 7 Aug 1993 21:44:31 GMT I've been trying to find out where to get a hold of the function call which places the time stamp in an NXEvent structure, but to no avail! The documentation indicates that this is the number of vertical retrace intervals since the window server was started. I would like to use the same time stamp for my application-defined events. I came across the VertRetraceClock field in the EvGlobals typedef located in Headers/bsd/dev/m68k/evio.h. But I wasn't able to find anywhere where it was preallocated AND where I had access to it in order to experiment with it. Any help is appreciated. Dale --- Dale Brisinda dale@pegasus.cuc.ab.ca (NeXTmail Welcome) brisinda@cpsc.ucalgary.ca
Newsgroups: comp.sys.next.programmer From: brisinda@cpsc.ucalgary.ca (Dale Brisinda) Subject: Re: Strange C Compilaton? Error In-Reply-To: joseph@daffy.tip.ameslab.gov's message of Fri, 6 Aug 1993 19:50:36 GMT Message-ID: <BRISINDA.93Aug7235256@fsd.cpsc.ucalgary.ca> Sender: news@cpsc.ucalgary.ca (News Manager) Organization: University of Calgary References: <mabroa01.744602096@starbase.spd.louisville.edu> <CBCsGD.LDu@news.iastate.edu> Date: Sun, 8 Aug 1993 06:52:56 GMT > > Greetings, O Mystic Masters of the [...] Arts... > > Once again I am plagued by strange programming bugs. > > This one seems to be a > > compiler bug though, and not really within my purview. > > [...] When I > > first got it to compile, it was crashing inside an if() with a bus > > error. [...] > > And yes, you guessed it, a debugging printf in the current code > > causes it to run 'perfectly' as well, even at FFT_SIZE 2048. > > [...] > > I'm damned if I know what to do. > > [...] If any of this seems familiar, > > or you have any helpful comments, please email me! [...] > > Thanks, > > Alex > > I would guess that you have a nasty pointer problem *somewhere* (evil > grin:>) in your code. I just recently had one. The problem area appeared > to work just fine, but it wrote over important data which caused other > perfectly acceptable code to cause the crash. I suspect something similar > is happening in your project. > > To fix this, you might want to run your code under some sort of memory > watcher utility(tm). I'm not familiar with any particular products, but I > understand there are utilities and/or techniques to catch when the heap or > stack is improperly overwritten. (Does anyone know what I'm talking > about?) The alternative is to step through your program with the debugger > and check (all) references by hand. -*-ack mode-*- > Yes, I believe MallocDebug handles this. In fact, here is an excerpt from DevTools/08_MallocDebug/MallocDebug.rtfd under the subsection Identifying Damaged Nodes: MallocDebug detects nodes that have been written to incorrectly. If your application has written past the end of a node, a right arrow (>) appears by the node. Similarly, if your application has written before the start of a node, a left arrow (<) appears by the node. Many of these errors are caused by giving malloc() the result of strlen(s) as the argument for a string instead of strlen(s) + 1. Hope this helps, Dale --- Dale Brisinda dale@pegasus.cuc.ab.ca (NeXTmail Welcome) brisinda@cpsc.ucalgary.ca
Newsgroups: comp.sys.next.programmer From: willers@itp.unibe.ch (Moritz Willers) Subject: how to avoid reading from an empty pipe? Message-ID: <1993Aug8.192218.14343@aragorn.unibe.ch> Sender: news@aragorn.unibe.ch Organization: University of Berne, Switzerland Date: Sun, 8 Aug 1993 19:22:18 GMT I'm trying to communicate between a parent and child process via two pipes. The problem is that I don't know, when the child has written on the pipe. When I read on the empty pipe the program hangs. I don't know how to use DPSaddFD() in this context because I need the answer in the same method as I'm writing to the child. Is there a way to start sort of modal loop within the method to wait for the answer from the child, the pipe being monitored by DPSaddFD() ? BTW the child is 'ispell'. Any ideas are very welcome. I would be so happy if I could get this to work -> ispell within Edit! thanks a lot Moritz --------------- Moritz Willers willers@itp.unibe.ch Institute for Theoretical Physics, Berne, Switzerland.
From: isbell@cats.ucsc.edu (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: local libraries and PB Date: 8 Aug 1993 20:52:39 GMT Organization: Cubic Solutions - NeXT software development and consulting Message-ID: <243p2nINN3am@darkstar.UCSC.EDU> References: <CBCIJu.5C1@SoftDesign.COM> Keywords: NeXT, Project Builder, Libraries In article <CBCIJu.5C1@SoftDesign.COM> Roberto_Arrocha@SoftDesign.COM writes: >The problem arises when I update one of my libraries. Future re-compiles >do not recognize the latest version of lib*.a newly installed in >/usr/local/lib. Instead I am forced to remove the library from PB's >Libraries and add it again. Then, and only then, PB's re-compiles >recognize the new library. The following added to Makefile.preamble works for me so that whenever I update libTSConnectors.a and libTSFormatters.a, the app is relinked with updated libraries: LOCALLIBDIR = /usr/local/lib # Other dependencies of this project OTHER_PRODUCT_DEPENDS = $(LOCALLIBDIR)/libTSConnectors.a \ $(LOCALLIBDIR)/libTSFormatters.a Thanks, NeXT, for providing the Makefile.{pre,post}amble.templates that serve as good guides to specific customizations that may need to be made. Each release has brought significant enhancements to the rather complex build process. How many of you remember how much fun it was to build and maintain Makefiles manually in the bad old pre-NeXTSTEP days? -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: (408)335-1154 USmail: 95018-9442 Fax: (408)335-2515
From: fahller@harmac.ppc.ubc.ca (Bjorn Fahller) Newsgroups: comp.sys.next.programmer Subject: book references Date: 8 Aug 1993 22:17:55 GMT Organization: The University of British Columbia Message-ID: <243u2j$rh7@iskut.ucs.ubc.ca> I understand the on line manuals for nextstep 3.x are available in book form and published by Addison-Wesley. I need references to those books, especially the "General Reference" and "User Interface Guidelines". Can anyone with those books help me? _ /Bjorn. -- UBC Pulp & Paper Centre | 4549 W. 11th Avenue | A Swede in 2385 East Mall | Vancouver, B.C. | temporary Vancouver, B.C. | Canada V6R 2M5 | exile. Canada V6T 1Z4 | | Tel: +1 604/822-8567 | Tel: +1 604/222-4952 |
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: NXEvent "time" field Message-ID: <1993Aug9.052425.240@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <BRISINDA.93Aug7144431@fsd.cpsc.ucalgary.ca> Date: Mon, 9 Aug 1993 05:24:25 GMT In article <BRISINDA.93Aug7144431@fsd.cpsc.ucalgary.ca> brisinda@cpsc.ucalgary.ca (Dale Brisinda) writes: >I've been trying to find out where to get a hold of the function call >which places the time stamp in an NXEvent structure, but to no avail! Only the Window Server can issue time stamps. If you don't have a current event record available, try a simple .psw file like defineps PScurrenteventtime(|int *et) currenteventtime et endps -=EPS=-
Newsgroups: comp.sys.next.programmer From: jjfeiler@relief.com (John Jay Feiler) Subject: Re: how to avoid reading from an empty pipe? Message-ID: <1993Aug9.000354.23486@relief.com> Sender: jjfeiler@relief.com Organization: relief consulting References: <1993Aug8.192218.14343@aragorn.unibe.ch> Date: Mon, 9 Aug 1993 00:03:54 GMT In article <1993Aug8.192218.14343@aragorn.unibe.ch> willers@itp.unibe.ch (Moritz Willers) writes: > I'm trying to communicate between a parent and child process via two > pipes. > The problem is that I don't know, when the child has written on the pipe. > When I read on the empty pipe the program hangs. > > I don't know how to use DPSaddFD() in this context because I need the > answer in the same method as I'm writing to the child. Is there a way to > start sort of modal loop within the method to wait for the answer from the > child, the pipe being monitored by DPSaddFD() ? > BTW the child is 'ispell'. > > Any ideas are very welcome. > I would be so happy if I could get this to work -> ispell within Edit! > > thanks a lot > Moritz > --------------- > Moritz Willers > willers@itp.unibe.ch > Institute for Theoretical Physics, Berne, Switzerland. try 'man select' John -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!! Edmonds, WA 98026-4433 Independent NeXTSTEP Developer
Newsgroups: comp.sys.next.programmer From: wave@pixar.com (Michael B. Johnson) Subject: Re: local libraries and PB Message-ID: <1993Aug9.093651.2889@pixar.com> Sender: news@pixar.com (Usenet Newsmaster) Organization: Pixar -- Point Richmond, California References: <CBCIJu.5C1@SoftDesign.COM> Date: Mon, 9 Aug 1993 09:36:51 GMT In article <CBCIJu.5C1@SoftDesign.COM> roberto@SoftDesign.COM (Roberto Arrocha) writes: > I have run into a problem with PB, which has become a major nuisance. I > have created private libraries (lib*.a) and installed them in > /usr/local/lib. These I import into my projects by adding the appropriate > lib*.a to PB's Libraries. > > The problem arises when I update one of my libraries. Future re-compiles > do not recognize the latest version of lib*.a newly installed in > /usr/local/lib. Instead I am forced to remove the library from PB's > Libraries and add it again. Then, and only then, PB's re-compiles > recognize the new library. > > Can anyone point out how to make PB recognize that the lib*.a it is making > reference to in Libraries has been replaced by a new version? (same name, > ...of course) I might be misunderstanding what you're saying, but it sounds like when you add the libraries to your project, you're actually getting PB to copy them into your project directory. It makes no sense at all that your app is linking against the old version of your libraries if they have been physically replaced in /usr/local/lib. so here's a fix: Normally, when you add libraries to PB's Libraries section, it just makes reference to them in the Makefile, i.e. if you add /usr/local/lib/libfoo.a, PB now will add "-lfoo" to your link line. It's up to you to add the following to your Makefile.postamble file: OTHER_LDFLAGS= -L/usr/local/lib This tells the linker to also look there for libraries. Also, check your project directory and see if there are copies of your lib*.a files. Chuck them in the trash... Hope that helps. --> Michael B. Johnson -- wave@media.mit.edu, wave@pixar.com --> MIT Media Lab -- Computer Graphics & Animation Group --> P*I*X*A*R -- IceMan Group (for the summer)
Newsgroups: comp.sys.next.programmer From: roberto@SoftDesign.COM (Roberto Arrocha) Subject: local libraries and PB Message-ID: <CBCIJu.5C1@SoftDesign.COM> Keywords: NeXT, Project Builder, Libraries Sender: roberto@SoftDesign.COM (Roberto Arrocha) Organization: SoftDesign, Inc. Date: Fri, 6 Aug 1993 16:16:41 GMT I have run into a problem with PB, which has become a major nuisance. I have created private libraries (lib*.a) and installed them in /usr/local/lib. These I import into my projects by adding the appropriate lib*.a to PB's Libraries. The problem arises when I update one of my libraries. Future re-compiles do not recognize the latest version of lib*.a newly installed in /usr/local/lib. Instead I am forced to remove the library from PB's Libraries and add it again. Then, and only then, PB's re-compiles recognize the new library. Can anyone point out how to make PB recognize that the lib*.a it is making reference to in Libraries has been replaced by a new version? (same name, ..of course) -- Roberto SoftDesign, Inc.
Newsgroups: comp.sys.next.programmer From: henry@trilithon.com (Henry McGilton) Subject: Re: Looking for Postscript References Message-ID: <1993Aug7.202641.21097@trilithon.com> Sender: henry@trilithon.com Organization: Trilithon Software References: <CBCspE.LI3@news.iastate.edu> Date: Sat, 7 Aug 1993 20:26:41 GMT In article <CBCspE.LI3@news.iastate.edu> joseph@daffy.tip.ameslab.gov (Joseph Reynolds) writes: * I'm looking for information about the Postscript books * given in the following reference (from Digital Librarian). * This doesn't clearly say who the publisher is, and my * bookstore can't figure it out. I would appreciate it if * you could clue me in to the publisher or even the ISBNs. * (I need just these four, not the two whose references I've * deleted here.) * Quoted matrial: * All operators added to the Display PostScript system * by NeXT are described in detail in the NeXTstep Reference, * Volume 2. That sounds like Chapter 5 of the NEXTSTEP General Reference, Volume Two, published by Addison-Wesley, ISBN 0-201-62221-1. * The Display PostScript system is documented in four * publications by Adobe Systems Incorporated PostScript * Language Extensions for the Display PostScript System, * Client Library Reference Manual, pswrap Reference * Manual, and Perspective for Software Developers. [...] That sounds like the Display PostScript System documentation from Adobe. Call Adobe at 1-800-344-8335 for information on documentation. You can also get information and pointers to where to go look from the Adobe Developer Support Group at (415) 961-4111. The Developer Support Group will not give you technical support unless you're a member of the Adobe developer Association, but they'll tell you how to sign up (and where to send the money). Adobe have an FTP server with lots of Good Stuff on it. FTP to ftp.adobe.com or ftp.mv.us.adobe.com (130.248.1.4). If you don't have ready FTP access, Adobe also have a mail server. Mail to ps-file-server@adobe.com with a subject line of help to find out how to use the mail server. Some of the information contained in the four manuals mentioned appears in ``Programming The Display PostScript System with NEXTSTEP'', published by Addison-Wesley, ISBN 0-201-58135-3. This book is an up to date collection of what used be a bunch of Adobe Technical notes. Appendix A is the same as the Client Library Reference Manual mentioned above; Appendix B is the pswrap manual. For a good general tutorial on PostScript with coverage of PostScript Level Two operators, look for ``PostScript by Example'', by Mary Campione and Henry McGilton, published by Addison-Wesley, ISBN 0-201-63228-4. 640 pages with 500+ examples and 700+ illustrations. A disk of about 13,000 lines of PostScript from the book is available separately by sending E-mail to info@trilithon.com. ........ Henry
From: paul@phoenix.Princeton.EDU (Paul Lansky) Newsgroups: comp.sys.next.programmer Subject: question about fat .o files Message-ID: <1993Aug8.231400.2691@Princeton.EDU> Date: 8 Aug 93 23:14:00 GMT Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University Originator: news@nimaster How do I combine a bunch of fat .o files into a single fat .o file, for subsequent inclusion in a fat binary. cc -c doesn't seem to work, and ld doesn't know about multiple architectures. thanks paul lansky paul@princeton.edu
Newsgroups: comp.sys.next.programmer From: brisinda@cpsc.ucalgary.ca (Dale Brisinda) Subject: Re: Anyone have an example of using Instance drawing? In-Reply-To: glenn@rightbrain.com's message of 7 Aug 93 00:06:10 GMT Message-ID: <BRISINDA.93Aug8123413@fsd.cpsc.ucalgary.ca> Sender: news@cpsc.ucalgary.ca (News Manager) Organization: University of Calgary References: <23uj8t$6d5@digifix.digifix.com> <1308@rtbrain.rightbrain.com> Date: Sun, 8 Aug 1993 19:34:13 GMT > > Does ANYONE have any examples of the proper way to do instance drawing? > > I don't have a good example handy, but here's what you do: > > 0. [lockFocus or whatever to prepare for drawing in your View] > 1. draw whatever you want as background > 2. PSsetinstance ( YES ); > 3. loop { > draw whatever is temporary and will be erased > PSnewinstance(); // erases temporarily drawn stuff > } > 4. PSsetinstance ( NO ); > 5. Draw the final one that you don't want to be erased > > It flickers if the area is large (unless you instance-draw into an > offscreen buffer and composite, which you should do), but it's pretty > handy. > > It seems to me that instancebably has to keep a buffer > anyway, and since it flickers if you don't, it might as well do both for > you. > While we're on the subject, does anyone know if there is some way to set up multiple instance drawing contexts? For example, being able to instance draw some object, create a new instance drawing context and then instance draw another object without erasing the previous object? When we DO want to erase the first object we would somehow set that particular instance drawing context and then PSnewinstance() to erase all instance drawing that occurred in that context. Is this possible somehow? Dale --- Dale Brisinda dale@pegasus.cuc.ab.ca (NeXTmail Welcome) brisinda@cpsc.ucalgary.ca
Newsgroups: comp.sys.next.programmer From: moose@moose.nosc.mil (James B. Moosmann) Subject: CDPlayer.app only works under "root" -- why? Message-ID: <1993Aug9.145006.8536@nrao.edu> Sender: news@nrao.edu Organization: National Radio Astronomy Observatory Date: Mon, 9 Aug 1993 14:50:06 GMT Hi, I finally got a CD-Player for the NeXT. I decided to play a music CD using the CDPlayer.app found in /NeXTDeveloper/Demos. Logged in as any other user besides "root", the CDPlayer complains that it can't find the CD-ROM drive. The console error generated is " cdutil: opencd: permission denied". I have tried changing the group permissions to those of the root's default group for the other user, but it doesn't work either. Would anyone who knows why this doesn't work, or what does please tell me what to do. My NeXT is standalone and NetInfo is disabled. BTW, when I put the NeXT CD-ROM in the player, it gets put on the desktop for both root and user. Thanks in advance. ______________________ James Moosmann NeXT/E-Mail: moose@antilles.nosc.mil 703-786-0807 @ Home 703-602-8080 @ Work
Newsgroups: comp.sys.next.programmer From: ploeger@aplki.toppoint.de (Andreas Ploeger) Subject: Re: local libraries and PB Message-ID: <1993Aug8.145413.883@aplki.toppoint.de> Sender: ploeger@aplki.toppoint.de (Andreas Ploeger) Organization: Andreas Ploeger References: <CBCIJu.5C1@SoftDesign.COM> Date: Sun, 8 Aug 93 14:54:13 GMT In article <CBCIJu.5C1@SoftDesign.COM> roberto@SoftDesign.COM (Roberto Arrocha) writes: > I have created private libraries (lib*.a) and installed them in > /usr/local/lib. These I import into my projects by adding the appropriate > lib*.a to PB's Libraries. > > The problem arises when I update one of my libraries. Future re-compiles > do not recognize the latest version of lib*.a newly installed in > /usr/local/lib. Did you try putting 'OTHER_OFILES=/usr/local/lib/some_local_lib.a' into Makefile.preamble instead? I assume that make will then check the date of the library too. Greetings, Andreas -- -------------------------------------------------------------------- Andreas Ploeger E-Mail: ploeger@tpki.toppoint.de
Newsgroups: comp.sys.next.programmer From: zkessin@cs.brandeis.edu (Zach K) Subject: Another simple question Message-ID: <zkessin.744905686@berry.cs.brandeis.edu> Sender: news@news.cs.brandeis.edu (USENET News System) Organization: Brandeis University Date: Mon, 9 Aug 1993 14:14:46 GMT I think I am missing something that is very basic but I am at a loss to try and do this, I want to have a spreadsheat like matrix of text cells that can be scrolled in a browser. I tried to create a window and the in the window make a browser with text cells but it did not work. In terms of access I nead to be able to have random acces by tag # or whatever. HELP ME! thanks a 10^6 Zach zkessin@jensen.cc.brandeis.edu (NeXT mail welcome)
From: glenn@rightbrain.com (Glenn Reid) Newsgroups: comp.sys.next.programmer Subject: Re: Anyone have an example of using Instance drawing? Message-ID: <1310@rtbrain.rightbrain.com> Date: 9 Aug 93 17:39:55 GMT References: <BRISINDA.93Aug8123413@fsd.cpsc.ucalgary.ca> Sender: glenn@rightbrain.com Dale Brisinda writes > While we're on the subject, does anyone know if there is some way to > set up multiple instance drawing contexts? For example, being able to > instance draw some object, create a new instance drawing context and > then instance draw another object without erasing the previous object? > When we DO want to erase the first object we would somehow set that > particular instance drawing context and then PSnewinstance() to erase > all instance drawing that occurred in that context. Is this possible > somehow? I'm not sure I entirely follow what you're asking, and I've never actually tried this, but I imagine that if you use "lockFocus" and "unlockFocus" judiciously on, say, two different views, then the instance drawing would only affect the view you were drawing into, and you could switch between them. You use the word "context", however, which implies Display PostScript contexts. I would think the same thing would hold for drawing into different DPS contexts (although I wouldn't think you'd ever want to do this explicitly). -- Glenn Reid NeXTmail: glenn@rightbrain.com RightBrain Software 415-326-2974 (NeXTfax 326-2977) Palo Alto, California Electronic Frontier Foundation, member #054
Newsgroups: comp.sys.next.programmer Subject: NXBitmapImageRep Message-ID: <1993Aug9.144348.364@ittpub.nl> From: derek@ittpub.nl (Derek Denyer) Date: 9 Aug 93 14:43:47 WET+0100 Keywords: Image 3.1 3.0 NXBitmapImageRep I've just installed 3.1 on our black hardware, and am appalled to find that one function has gone backwards to 2.1/2.2 days, where in 3.0 it was great: I have magnifying glass in my app. which when you drag it around shows a low-res image of the view (just blown up screen bits), when the user lets the glass go, I re-image all the view to get a sharp blown up image. In 2.1/2.2 the speed of grabbing screenbits, blowing them up, and redrawing was appallingly slow. This was cured in 3.0 (supposedly to allow the Mac Emulator Package - I forget its name - to function at any reasonable speed). With 3.1 we are back to the old 2.1/2.2 speed. Does anyone have experience of this? This is basically what I do: [[ imageCache contentView] lockFocus]; PSgsave(); curContext = DPSGetCurrentContext(); GetFocus (&c1x, &c1y, &c2x, &c2y, winCTM, &realWinNum); DPSSetContext ([NXApp context]); ReFocus (realWinNum, winCTM, c1x, c1y, c2x, c2y); PSgsave(); im = [[ NXBitmapImageRep alloc ] initData : NULL fromRect: &activeMagnifier ]; [im setSize :&activeMagnifier.size]; PSgrestore(); DPSSetContext (curContext); PSgrestore(); [[ imageCache contentView] unlockFocus ]; [view getBounds : &bRect ]; [self setupClip : view : &bRect : zoomFactor]; PSsetgray(NX_LTGRAY); NXRectFill(&magnifierBounds); [im drawAt: &activeMagnifier.origin]; [self removeClip : view ]; [im free]; s cured in 3.0 (supposedly to allow the Mac Emulator Package - I forget its name - to function at any reasonable speed). With 3.1 we are back to the old 2.1/2.2 speed. Does anyone have experience of this? This is basically what I do: [[ imageCache contentView] lockFocus]; PSgsave(); curContext = DPSGetCurrentContext(); GetFocus (&c1x, &c1y, &c2x, &c2y, winCTM, &realWinNum); DPSSetContext ([NXApp context]); ReFocus (realWinNum, winCTM, c1x, c1y, c2x, c2y); PSgsave(); im = [[ NXBitmapImageRep alloc ] initData : NULL fromRect: &activeMagnifier ]; [im setSize :&activeMagnifier.size]; PSgrestore(); DPSSetContext (curContext);
Newsgroups: comp.sys.next.programmer From: jq@phcs.com (Jim Quick) Subject: Re: run away jobs Message-ID: <CBI7Cu.Ar@phcs.com> Organization: Private Healthcare Systems, Inc References: <zkessin.743880433@berry.cs.brandeis.edu> <MAX.93Aug5162951@Kolmogorov.gac.edu> Date: Mon, 9 Aug 1993 18:00:29 GMT In article <MAX.93Aug5162951@Kolmogorov.gac.edu> Max Hailperin <max@nic.gac.edu> writes: >In article <zkessin.743880433@berry.cs.brandeis.edu> >zkessin@cs.brandeis.edu (Zach K) writes: > > [when front end dies abnormally, back end keeps runing] . . .(Munch) >So.... my question is, why do the orphaned processes run any how? The >basic problem is that certain interactive programs, including ftp for >example as well as scheme, will go into a tight loop running forever if >their input has gone away on them, rather than quietly dieing on a >SIGPIPE, SIGHUP, or plain old EOF, as one might expect. I have seen this with several interactive applications over the years. So what is going on? Let's look at common features of the programs which behave this way. 1. They are designed to be interactive, and respond to individual characters (in cbreak or raw modes). 2. They do not handle EOF. 3. They may or may not automatically respond to SIGHUP or SIGPIPE. 4. Look at the low level features. If you look at low level system statistics you'll find that they are CPU bound and that system call (rather than user code) CPU climbs through the roof. First, let's look at the runaway CPU activity. Lot's of system calls tells us that short fast system calls (that do not block) are being furiously executed in a loop. This activity is part of a general read/eval/print loop that uses select(2) to determine if input is present. while () { select(); . . . . if (ibits & inputmask) { read(); if (read_returned == -1) do_error(); if (read_returned > 0) do_work(); } . . . } many people fail to catch EOF when implementing such a loop because they misunderstand the semantics of select(). select() on input fd will return immediately when EOF is present. This immediate return makes many people think that actual input must be pending. In fact EOF is always pending on end of file, its just that this input is NOTHING rather than something. Since these programs do not generate output when they read nothing they will not receive SIGPIPE on write to a socket, or otherwise note that stdout is no longer valid. Thus these programs do not pay attention to EOF at all! The only way to ensure that they die gracefully is to arrange for them to receive SIGHUP when their parent dies. If the process does not attempt to make itself the Process Group leader (like shells do). You sould make the parent process a process group leader on the pty or tty that the session is running on. Then you can use the vhangup() if they know the parent will die. On abnormal death I believe that HUP wil be sent to the children automagically. If the child does not respond gracefully to either SIGHUP or EOF, all bets are off. Hope this helps. -- ___ ___ mail: uunet!phcs!jq PHCS, Inc. Advanced Technology Group / / / or jq@phcs.com It's spelled "Luxury Yacht", but it's \_/ (_\/ Fax: (617) 863-8575 pronounced "Throat-Warbler Mangrove". ) Tel: (617) 861-5579 NeXTMail O.K.
Newsgroups: comp.sys.next.programmer Subject: gdb and data breakpoints Message-ID: <1993Aug6.134847.70857@cc.usu.edu> From: hcole@tumbleweed.idec.sdl.usu.edu (Howard R. Cole) Date: 6 Aug 93 13:48:46 MDT Distribution: usa The NeXT documentation for gdb describes a "data-break" command which allows a break to occur if data within a specific address range changes. However, trying to perform a data-break gives me an 'Undefined command: "data-break". Try "help".' error. What's the deal? Is this command implemented or not? Any comments appreciated. Howard Cole USU Space Dynamics Lab hcole@tumbleweed.idec.sdl.usu.edu
Newsgroups: comp.sys.next.programmer Subject: gdb and data breakpoints Message-ID: <1993Aug6.140428.70858@cc.usu.edu> From: hcole@tumbleweed.idec.sdl.usu.edu (Howard R. Cole) Date: 6 Aug 93 14:04:26 MDT Distribution: usa Well, I see in the Release Notes for 3.1 that data breakpoints are no longer supported. Never mind. Howard Cole USU Space Dynamics Lab hcole@tumbleweed.idec.sdl.usu.edu
Newsgroups: comp.sys.next.programmer From: lip@gaudy.media.mit.edu (Andrew Lippman) Subject: rulers Message-ID: <1993Aug9.183958.1287@news.media.mit.edu> Keywords: views and drawing Sender: news@news.media.mit.edu (USENET News System) Organization: MIT Media Laboratory Date: Mon, 9 Aug 1993 18:39:58 GMT Does anyone have a ruler object to attach to an arbitrary view? --andy
From: andrew@stone.com (Andrew Stone) Newsgroups: comp.sys.next.programmer Subject: Re: Anyone have an example of using Instance drawing? Message-ID: <1993Aug9.165816.490@stone.com> Date: 9 Aug 93 16:58:16 GMT Article-I.D.: stone.1993Aug9.165816.490 References: <23vur5$37g@steffi.demon.co.uk> Sender: andrew@stone.com Organization: Stone Design Corp In article <23vur5$37g@steffi.demon.co.uk> robert@steffi.demon.co.uk (Robert Nicholson) writes: > Andrew Stone had a good example that he wrote for an old issue of > BuzzNUG. It was code for Popi which did rubber banding. > > Come on Andrew, where is it :-) ? It's totally vintage 1989 code, so i make no claims... // Returns the rectangle which has p1 and p2 as its corners. static void getRegion(NXRect *region, const NXPoint *p1, const NXPoint *p2) { region->size.width = p1->x - p2->x; region->size.height = p1->y - p2->y; if (region->size.width < 0.0) { region->origin.x = p2->x + region->size.width; region->size.width = abs(region->size.width); } else region->origin.x = p2->x; if (region->size.height < 0.0) { region->origin.y = p2->y + region->size.height; region->size.height = abs(region->size.height); } else region->origin.y = p2->y; } #define DRAG_MASK (NX_MOUSEUPMASK|NX_MOUSEDRAGGEDMASK) - mouseDown:(NXEvent *)event { NXPoint p, last, start; NXRect region, oldRegion,r; static const NXPoint hotChamama = {7.,7.}; int oldMask; static id crossCursor = nil; float rectGray = NX_WHITE; BOOL doubleclick = (event->data.mouse.click == 2) ? YES : NO; // quick copy if (doubleclick) return [self copyPS:self]; oldMask = [window addToEventMask:NX_MOUSEDRAGGEDMASK|NX_MOUSEUPMASK]; if (!crossCursor) { crossCursor = [Cursor newFromMachO:"cross.tiff"]; [crossCursor setHotSpot:&hotChamama]; } [crossCursor push]; p = start = event->location; [self convertPoint:&start fromView:nil]; last = start; [self lockFocus]; PSsetlinewidth(0.0); PSsetinstance(YES); event = [NXApp getNextEvent:DRAG_MASK]; while (event->type != NX_MOUSEUP) { p = event->location; [self convertPoint:&p fromView:nil]; PSnewinstance(); if (p.x != last.x || p.y != last.y) { getRegion(&region, &p, &start); NXInsetRect(&oldRegion, -1.0, -1.0); PSsetinstance(YES); PSsetgray(rectGray=1.-rectGray); /// alternate b&w PSrectstroke(region.origin.x, region.origin.y, region.size.width, region.size.height); PSsetinstance(NO); oldRegion = region; last = p; NXPing(); } p = event->location; event = [NXApp getNextEvent:DRAG_MASK]; } getRegion(&r,&start,&last); /// final rect PSnewinstance(); ///flushes offscreen buffer [self gutsCopyPS:&r]; /// send the rect to be copied [self unlockFocus]; /// the rest is clean up [window flushWindow]; [window setEventMask:oldMask]; [crossCursor pop]; return self; } -- ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>|| !! Andrew Stone !! (505) 345-4800 !! !! andrew@stone.com <> Stone Design Corp !! ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>||
Newsgroups: comp.sys.next.programmer From: nando@ccrma.stanford.edu (Fernando Pablo Lopez Lezcano) Subject: Re: Rounding Error for PS? Message-ID: <1993Aug9.220644.6565@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: Stanford University References: <1301@rtbrain.rightbrain.com> Date: Mon, 9 Aug 93 22:06:44 GMT Glenn Reid writes > Fernando Pablo Lopez Lezcano writes > > Jeff Martin writes > > > I would be te > > mpted to just blow away the whole thing and redraw it at each > > > stage. Undrawing each one of those lines might turn out to be more > > > expensive than a NXSetColor(NX_COLORWHITE), NXRectFill(&bounds). > > > > > > ... jeff > > > > In my small EnvelopeEd application I had the same problem (dots > > remaining in the screen after "erasing" a line). What I did was to > > create a list of all the segments as I was drawing them and then use > > that list to do the erase operation. > If you draw the same line twice with different colors and there are > pixels left over, it's a bug. Either in your program (not quite the > same line) or in Display PostScript (somewhat less likely, but not > impossible). Back to the sources to try to remember what was really happening... :-) It seems the problem was not a Display Postscript bug because when I stored all the points in a list the erasing was perfect (same points = same pixels). If I remember correctly the problem had to do with "calculated" intermediate points. They were calculated using floating point and trascendental functions (I was approximating an exponential by using linear segments). Even though the original numbers were the same and the code used was the same the result was not _exactly_ the same... and supposedly (that 's were I may be wrong) any round off error should be repeatable! Anyway, at the time I did not have the time to track this down so I labeled the problem as "round off error?" and hacked the point-memory-list pseudo solution. > That said, it seems to me that the intermediary position between "blow > the whole thing away and redraw" and "erase and draw as little as > possible" might be Instance Drawing, although Instance Drawing seems to > have become a second-class citizen of recent. Excuse me for my ignorance, but what is exactly "Instance Drawing"? Thanks in advance! -- Fernando
From: duren@eggo.usf.edu (Michael J Duren) Newsgroups: comp.sys.next.programmer Subject: Programming Contest Date: 9 Aug 1993 22:44:01 GMT Organization: University of South Florida, Department of Computer Science and Engineering Message-ID: <246jvh$5v@suntan.eng.usf.edu> /**************************************************************************** ** P R O G R A M M E R 'S C O N T E S T ** ** ** ** W I N A ** ** ** ** U S R O B O T I C S S P O R T S T E R ** ** ** ** 1 4 . 4 K B A U D ** ** ** ** E X T E R N A L M O D E M ** ** ** ** Were looking for the best of the best data communications algorithms ** ** written in "C" or "C++" for our up coming book entitled ** ** "Data Communications Algorithms in C/C++". Each algorithm selected for ** ** publication will include author recognition and the best of the ** ** best will WIN A US ROBOTICS Sportster 14.4K BAUD external modem !!!!!! ** ** ** ** So if you think your code is the BEST send us your entry by following ** ** the contest guidelines below. ** ** ** ** and Good Luck, ** ** ** ****************************************************************************/ // Contest Guidelines if (Date < October 1, 1993) if (Algorithm is pertinent to Data Communications) if (Algorithm < 500 Code Lines) if (!Copyrighted) { Place each entry on a single 3 1/2" || 5 1/4" DOS formatted floppy together with author name, address, phone number (for prize notification) and a short biography. Mail Floppy to: Comm Algorithm Contest P.O. Box 14522 Clearwater, FL 34629 Algorithms will be judged as follows: 20 pts Code Functionality 20 pts Code Readability 20 pts Code Comments 40 pts Code Reusability ALL participants will be notified in writing of the winning entries, as well as, the ranking of all entries by November 15, 1993. All winners will receive prizes by December 1, 1993. Good Luck, and Happy Coding! }
From: besler@gdss.commerce.ubc.ca (Steven Besler) Newsgroups: comp.sys.next.programmer Subject: Re: Anyone have an example of using Instance drawing? Date: 10 Aug 1993 01:17:34 GMT Organization: The University of British Columbia Distribution: world Message-ID: <246sve$4su@iskut.ucs.ubc.ca> References: <BRISINDA.93Aug8123413@fsd.cpsc.ucalgary.ca> Dale Brisinda writes <> It flickers if the area is large (unless you instance-draw into an <> offscreen buffer and composite, which you should do), but it's pretty <> handy. <> <> It seems to me that instancebably has to keep a buffer <> anyway, and since it flickers if you don't, it might as well do both for <> you. <> < <While we're on the subject, does anyone know if there is some way to <set up multiple instance drawing contexts? And how do you set up an offscreen buffer? Sorry if this sounds clueless. -- Steven K. Besler <besler@gdss.commerce.ubc.ca> (NeXTmail) UBC 3.5th yr CS Coop Student & NeXTSTEP Application Developer "Being the richest man in the cemetery doesn't matter to me. Going to bed at night saying we've done something wonderful . . . that's what matters to me." Steven P. Jobs CEO of NeXT, Inc.
Newsgroups: comp.sys.next.programmer From: robert@ictv.com (Robert Patrick Thille) Subject: Looking for an AudioCD object Message-ID: <1993Aug10.011756.6516@ictv.com> Sender: usenet@ictv.com Organization: ICTV, Santa Clara, CA (408) 562-9200 Distribution: usa Date: Tue, 10 Aug 1993 01:17:56 GMT I'd like to find source to and AudioCD object. I basically want to be able to programatically control one or two SCSI CD players to play audio tracks off of audio cd's for a multimedia project I'm working on. Any pointers are also appreciated. Thanks, Robert -- Robert Thille NeXTMail robert@ictv.com OK At All 1548 Maple Ave. RWC CA 94063 Addresses play audio tracks off of audio cd's for a multimedia project I'm working on. Any pointers are also appreciated. Thanks, Robert -- Robert Thille NeXTMail robert@ictv.com
From: isbell@cats.ucsc.edu (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: local libraries and PB Date: 10 Aug 1993 02:59:29 GMT Organization: Cubic Solutions - NeXT software development and consulting Message-ID: <2472uhINN4s5@darkstar.UCSC.EDU> References: <CBCIJu.5C1@SoftDesign.COM> <1993Aug9.093651.2889@pixar.com> In article <1993Aug9.093651.2889@pixar.com> wave@pixar.com writes: >Normally, when you add libraries to PB's Libraries section, it just makes >reference to them in the Makefile, i.e. if you add >/usr/local/lib/libfoo.a, PB now will add "-lfoo" to your link line. It's >up to you to add the following to your Makefile.postamble file: > >OTHER_LDFLAGS= -L/usr/local/lib This shouldn't be necessary because /usr/local/lib is on ld's default search path. What I think is happening is that make hasn't been told that the library is a dependency of the executable so it doesn't compare the library's modification time to that of the executable. -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: (408)335-1154 USmail: 95018-9442 Fax: (408)335-2515
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: User interface quandry Date: 10 Aug 1993 04:10:29 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <247l5l$14a@digifix.digifix.com> The program that I use to generate approvals for comp.sys.next.announce has alot of fields that I need to display. Only some are used on a regular basis though. There are the important fields that I always check From: Subject: Reply-To: and then a whole mess of others.... the nib is laid out much like mail.app's send window, or NewsGrazers post window. But both NG and mail.app require you to open a panel to enter these fields. Since I can have multiple Approval windows open at once, its difficult to be sure which is attached to which. I've thought about using a split view, but that doesn't seem like the "right" thing to do. It would make it appear that you can resize the upper area and the lower area instead of just making the extra fields (the middle area) visible. I've thought about maybe about something like improve uses to separate the main matrix of spreadsheet cells from the formulas area. Its like an NXSplitView, but the "dimple" is right over to the one side. Does anyone have any comments, or have they come across this already, and come up with a better solution? -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: ca.jobs.offered,comp.sys.next.marketplace,comp.sys.next.programmer,misc.jobs.offered From: siamak (Siamak Farah) Subject: STEP2 Seeks NEXTSTEP Software Engineers Message-ID: <1993Aug10.015903.568@STEP2.com> Keywords: NEXTSTEP,jobs,southern california Sender: siamak@STEP2.com Organization: STEP2 Inc. Distribution: world,na Date: Tue, 10 Aug 1993 01:59:03 GMT STEP2 Seeks NEXTSTEP Software Engineers (Southern California) STEP2 is a software development and marketing firm specializing in database publishing and developer products. STEP2 (formerly DCS Intl) was founded in 1983 and is publicly traded on the Vancouver Stock Exchange. dbPUBLISHER, STEP2's flagship product, is recognized as the industry's first true database publishing system and is the industry leader in the DOS market. STEP2 has continued its trend in market leadership with the introduction of the first Object Oriented database publishing program at NeXTWORLD EXPO, dbPUBLISHER for NEXTSTEP. In order to finalize the beta release of dbPUBLISHER for NEXTSTEP, STEP2 is seeking two Software Engineers. The positions are available in Southern California. We need bright and enthusiastic team players. This is an exciting product and an exciting company. This job offer provides a great growth opportunity, especially for recent college graduates. The Software Engineering positions require: - Strong NEXTSTEP, AppKit, and DBKit knowledge - Strong knowledge of database structures - Knowledge of NeXT application development The salary and benefits is commensurate with experience. For more information about these exciting opportunities, call or send your resume to: Siamak Farah President siamak@STEP2.com 1-800-TO-STEP2
Newsgroups: comp.sys.next.programmer,comp.unix.ultrix Subject: curses and the cursor keys Message-ID: <1993Aug10.083254.3796@urz.unibas.ch> From: frank@ifi.unibas.ch (Robert Frank) Date: Tue, 10 Aug 1993 08:32:54 GMT Sender: news@urz.unibas.ch (USENET News System) Organization: Institut fuer Informatik Keywords: curses, cursor keys I'm trying to set up a very simple program to interactively select files and directories displayed on the screen using curses. The program is to run on differen platforms (NeXT, Ultrix, AT&T SYSVR3.2, SUN, ...) and so I started out using curses which is available on all platforms I have access to. Unfortunately, some platforms (NeXT, Ultrix) have only the old version while others (SYSV) have the new version. The old version doesn't have any 'standard' way of catching special keys (all I need are the cursor keys). The function wgetch() simply returns all the characters the keys send. And because different systems use different terminals, I don't want to hardcode anything. Not having any good documentation, I can only refere to the net and hope that some kind soul has a suggestion. Many thanks in advance -Robert P.S. I will create a NeXTSTEP GUI for use on the NeXT, but the program has also to be able to be run via remote access (terminal). -- Robert Frank tel. + (061) 321 99 67 Institut fuer Informatik fax + (061) 321 99 15 University of Basel, Switzerland Mittlere Strasse 142 rfc822: frank@ifi.unibas.ch (NeXT mail accepted) CH-4056 Basel X400: S=frank;OU=ifi;O=unibas;P=switch;A=arcom;C=ch ( if all fails try frank@urz.unibas.ch )
From: Robert Nicholson <robert@steffi.demon.co.uk> Newsgroups: comp.sys.next.programmer,mlist.next-prog Subject: Wierd IB behaviour with NXBrowser's in 3.1 Date: Tue, 10 Aug 93 11:00:29 GMT Message-ID: <199308101015.AA00812@steffi> Organization: me organized? That's a joke! If I put a an NXBrowser in a window and make is autosizable in both horizontal and vertical directions but no springs on the outside. The sucker moves when I resize the window. It only moves a small amount, maybe about 2 pixels vertically. If I replace the NXBrowser with a standard ScrollView/Text object combination no moving takes place. Has anybody else noticed this in 3.1? Can it be reproduced in 3.0 or < 3.0? This really makes a case for Matrices in Scrollview subclasses instead of NXBrowsers.
From: cpesch@markov.fmi.uni-passau.de (Christoph Pesch) Newsgroups: comp.sys.next.programmer Subject: toc of audio CD's Date: 10 Aug 1993 11:40:19 GMT Organization: University of Passau, Germany Distribution: world Message-ID: <CPESCH.93Aug10134019@markov.fmi.uni-passau.de> (How) can I read in the table of contents from an audio CD on black hardware (in C or Objective-C or C++)? (I have an Apple CD 300) Thanks, Christoph Pesch (cpesch@markov.fmi.uni-passau.de --- NO NeXT-Mail please)
From: t146678@lehtori.cc.tut.fi (Tuominen Juha) Newsgroups: comp.sys.next.hardware,comp.sys.next.programmer Subject: Video digitizer on DSP port Date: 10 Aug 1993 15:31:05 +0300 Organization: Tampere University of Technology, Computing Centre Distribution: inet Message-ID: <2484e9$l5u@cc.tut.fi> References: <199308101015.AA00812@steffi> I'm thinking of building a video digitizer, that could hold one PAL frame in a frame buffer so that NeXT could read it afterwards. However I've never used DSP and that port seems very suitable for the digitizer. The interface looks like this: videodigitizer NeXT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <- start digitizing (digitizes the next frame in the frame buffer) frame ready -> <- request next byte byte -> <- request next byte byte -> . . . etc. So those commands are some numbers (I haven't decided them yet) and that's how digitizer and NeXT are supposed to be talking to each others when user clicks DIGITIZE button. The question: Is it possible to use DSP port for that or is there a more suitable port (serial??)? Serial port is quite slow..Transferring 64 kB shouldn't take more than 1 second. Any ideas? Code fragments how to do this with DSP are welcome.. -- Juha Tuominen NeXTMail talks and disk drive walks Opiskelijankatu 30 B 42 Tampere University of Technology 33720 TAMPERE - FINLAND Mail: t146678@cc.tut.fi Phone: +358-31-182 851
From: me@ienext.unl.edu (Dan Scott) Newsgroups: comp.sys.next.programmer Subject: Re: Anyone have an example of using Instance drawing? Date: 10 Aug 1993 15:27:41 GMT Organization: University of Nebraska--Lincoln Distribution: world Message-ID: <248epdINN2tv@crcnis1.unl.edu> References: <23uj8t$6d5@digifix.digifix.com> In article <23uj8t$6d5@digifix.digifix.com> sanguish@digifix.com (Scott Anguish) writes: > Does ANYONE have any examples of the proper way to do instance > drawing? I am almost finished reading Alex Nghiem's excellent introduction to NeXTSTEP programming. (NeXTSTEP Programming Concepts and Applications, PTR Prentice-Hall, Inc.). On pages 237-241 he has some discussion of instance drawing. Perhaps this would be useful to you. By the way, I strongly recommend this book. I also own the book by Mahoney and Garfinkel, and I liked it too. But I would say that this new one is a bit better written and selects its topics well. I think that, on the whole, Nghiem's book is a better introduction to NeXTSTEP. On the other hand, I think that the book by Mahoney and Garfinkel is presented at a little bit more of a nuts and bolts level and therefore presents more detailed information at times. I am happy to own both. ..Just a satisfied customer ---------------------------------------------------------------- Dan Scott me@ienext.unl.edu NeXT mail welcome ----------------------------------------------------------------
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Wierd IB behaviour with NXBrowser's in 3.1 Date: 10 Aug 1993 11:15:09 +0100 Organization: me organized? That's a joke! Message-ID: <247sfd$p4@steffi.demon.co.uk> If I put a an NXBrowser in a window and make is autosizable in both horizontal and vertical directions but no springs on the outside. The sucker moves when I resize the window. It only moves a small amount, maybe about 2 pixels vertically. If I replace the NXBrowser with a standard ScrollView/Text object combination no moving takes place. Has anybody else noticed this in 3.1? Can it be reproduced in 3.0 or < 3.0? This really makes a case for Matrices in Scrollview subclasses instead of NXBrowsers.
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: David Apfelbaum (Is he ok?) Date: 10 Aug 1993 11:44:41 +0100 Organization: me organized? That's a joke! Message-ID: <247u6p$10a@steffi.demon.co.uk> Heard some things about David the other day, is he ok? I hope he's sorted. Can he be reached anywhere?
Newsgroups: comp.sys.next.programmer From: greg@afs.com (Gregory H. Anderson) Subject: Any experience with EO/GO/PenPoint? Message-ID: <1993Aug10.140056.5021@afs.com> Sender: greg@afs.com Date: Tue, 10 Aug 1993 14:00:56 GMT Reply-To: greg@afs.com I read today in Computer Reseller News that EO is shipping a Developer Toolkit for the AT&T EO Personal Communicator. The toolkit and OS are described as being completely object oriented. There's even an Objective-C compiler from a company called Novatech! For less than $4000 you get a 12MB AT&T EO 440, software and symbolic debugger for a PC (apparently you do most of the development on a PC, then download to the portable guy for final testing), and cabling. It must be used in conjunction with Go's PenPoint SDK. So has anyone out there had experience with any of the products in the previous paragraph? Thanks in advance. -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
From: Randy Antler Newsgroups: comp.sys.next.programmer Subject: Re: Video digitizer on DSP port Date: 10 Aug 1993 15:44:50 GMT Organization: CERFnet Distribution: inet Message-ID: <248fpi$4qv@news.cerf.net> References: <2484e9$l5u@cc.tut.fi> Keywords: video DSP digitizer In article <2484e9$l5u@cc.tut.fi> t146678@lehtori.cc.tut.fi (Tuominen Juha) writes: > I'm thinking of building a video digitizer, that could hold one > PAL frame in a frame buffer so that NeXT could read it afterwards. > However I've never used DSP and that port seems very suitable for > the digitizer......The question: Is it possible > to use DSP port for that or is there a more suitable port (serial??)? > Serial port is quite slow..Transferring 64 kB shouldn't take more than > 1 second..... > -- > Juha Tuominen NeXTMail talks and disk drive walks > Opiskelijankatu 30 B 42 Tampere University of Technology > 33720 TAMPERE - FINLAND Mail: t146678@cc.tut.fi Phone: +358-31-182 851 There is already a product that uses the DSP for exactly that purpose, called Color Digital Eye from Meta Research in Portland Oregon, USA. However, the frame rate is limited and the quality is not what I would call "Broadcast Quality." -- Randy Antler Just because I'm paranoid doesn't mean they're not out to get me!
Newsgroups: comp.sys.next.programmer From: laurent@planon.qc.ca (Laurent Daudelin) Subject: Re: Another simple question Message-ID: <1993Aug10.132729.4740@CAM.ORG!planon> Sender: laurent@CAM.ORG!planon References: <zkessin.744905686@berry.cs.brandeis.edu> Date: Tue, 10 Aug 1993 13:27:29 GMT In article <zkessin.744905686@berry.cs.brandeis.edu> zkessin@cs.brandeis.edu (Zach K) writes: | I think I am missing something that is very basic but I am at a loss | to try and do this, I want to have a spreadsheat like matrix of text | cells that can be scrolled in a browser. I tried to create a window | and the in the window make a browser with text cells but it did not | work. In terms of access I nead to be able to have random acces by tag | # or whatever. | | HELP ME! | | thanks a 10^6 | | Zach | zkessin@jensen.cc.brandeis.edu (NeXT mail welcome) Zach: If you really want to scroll your matrix, you will have, first, to put a scrollview inside your window. Create a custom "controller" object and connect it to the scrollview. Then, the way I did it, instantiate a new matrix by programmation from inside your custom object. Send the scrollview the message "setDocView:" with the id of your matrix. You will have to create the cells in your matrix, but, as I said, that's the way I did it many times. Look for the file "NiftyMatrix.m". It's somewhere in the NeXT Developer demos. There is a great example on how to do it, and how to support dragging objects in it. Hope this helps! Laurent. -- ****************************************************************************** Laurent Daudelin, Software Engineer Planon TELEXPERTISE Inc., Boucherville, Quebec, CANADA laurent@planon.qc.ca <-- NeXTMail welcome!
Newsgroups: comp.sys.next.programmer From: nv90-mwe@nada.kth.se (Martin Wennerberg) Subject: How to execute apps? Message-ID: <1993Aug10.161437.22990@kth.se> Sender: usenet@kth.se (Usenet) Organization: Royal Institute of Technology, NADA Date: Tue, 10 Aug 1993 16:14:37 GMT What I want to do: (1) Start a program "aPath" with args "someArgs" on host "aHost" from within my main process. The "aPath" program is a server that registers a distributed object. (2) wait till it has started or failed to start. (3) Connect to it with distributed objects. Problem: If I use fork() and rexec() to start it I don't know how to find out when it is finished starting so I can try (3). Is there an easy way to do this? Thanks /Martin ------- Martin Wennerberg /* I do wish I had one of those fancy quotations...*/ (Student of computerscience at the University of Stockholm) email: nv90-mwe@nada.kth.se
From: doug@foxtrot.ccmrc.ucsb.edu (Douglas Scott) Newsgroups: comp.sys.next.programmer Subject: Undefined math symbols during linking Date: 10 Aug 1993 17:54:07 GMT Organization: University of California, Santa Barbara Distribution: world Message-ID: <248nbv$mr0@hub.ucsb.edu> During the linking stage of a large c++ program, I end up with four undefined math symbols: foxtrot> cc++ -v -I/usr/local/include -I/usr/local/include/g++ -I/usr/local/m68k-next/include -O -g -L. -L./libsynth -L./libdac -o mxv main.o format.o selector.o graphplot.o vmessage.o scaledarea.o graph.o channelgraph.o framegraph.o scale.o dataview.o channelview.o frameview.o datawindow.o scroller.o menus.o status.o editor.o edit_menus.o edit_request.o controller.o X11-keysym.o dialog.o dialog_ctor.o opener.o view_request.o controller_conv.o statuspanel.o -lsnd -lsynth -ldac -lf2c -L/usr/local/InterViews3.1/lib/$CPU -lIV -lXext -lX11 -lg++ Reading specs from /lib/m68k/specs NeXT Computer, Inc. version cc-210.obj~2, gcc version 2.2.2 ld -o mxv -lcrt0.o -L. -L./libsynth -L./libdac -L/usr/local/InterViews3.1/lib/NEXT -L/lib/m68k -L/usr/local/lib -L/lib/m68k main.o format.o selector.o graphplot.o vmessage.o scaledarea.o graph.o channelgraph.o framegraph.o scale.o dataview.o channelview.o frameview.o datawindow.o scroller.o menus.o status.o editor.o edit_menus.o edit_request.o controller.o X11-keysym.o dialog.o dialog_ctor.o opener.o view_request.o controller_conv.o statuspanel.o -lsnd -lsynth -ldac -lf2c -lIV -lXext -lX11 -lg++ -lsys_s ld: Undefined symbols: ___negdi2 ___lshrdi3 ___umoddi3 ___udivdi3 These symbols are defined in /lib/libsys_s.a, which I link in as you can see above. foxtrot> nm -o libsys_s.a | grep __negdi2 | grep A 9541:libsys_s.a:negdi2.o:05004520 A __negdi2 foxtrot> nm -o libsys_s.a | grep __lshrdi3 | grep A 9514:libsys_s.a:lshrdi3.o:0500455c A __lshrdi3 foxtrot> nm -o libsys_s.a | grep __umoddi3 | grep A 9572:libsys_s.a:umoddi3.o:0500453e A __umoddi3 foxtrot> nm -o libsys_s.a | grep __udivdi3 | grep A 9565:libsys_s.a:udivdi3.o:05004538 A __udivdi3 Could the fact that these have 'absolute' value as opposed to 'text section symbol' value (A as opposed to 'T') have something to do with it? I cannot compile this program until I figure this one out. Thanks. -- Douglas Scott (805)893-8352 Center for Computer Music Research and Composition University of California, Santa Barbara Internet: (NeXTMail ok) <doug@foxtrot.ccmrc.ucsb.edu>
Newsgroups: comp.sys.next.programmer,mlist.next-prog From: abell@netcom.com (Steven T. Abell) Subject: Re: Wierd IB behaviour with NXBrowser's in 3.1 Message-ID: <abellCBK3o1.9Bs@netcom.com> Organization: Netcom Online Communications Services (408-241-9760 login: guest) References: <199308101015.AA00812@steffi> Date: Tue, 10 Aug 1993 18:36:00 GMT Robert Nicholson <robert@steffi.demon.co.uk> writes: >If I put a an NXBrowser in a window and make is autosizable in both >horizontal and vertical directions but no springs on the outside. The >sucker moves when I resize the window. It only moves a small amount, >maybe about 2 pixels vertically. This happens in 3.0 also. Maybe it's a bug, but I think it has to do with keeping the sizes of the parts appropriate, based on the font size in the browser cells or something like that. I'll bet if you constrain your window growth to some small number of pixels > 1, you won't see this. But you'll have to discover the small number yourself; I don't know it. Here's something else to try. I discovered it recently. Put a textfield below your browser, aligned on the right with the browser. Configure it to grow horizontally. Now stretch the window several times to the right, by one pixel each time. The browser does not stay aligned: it varies by one or two pixels. Steve abell@netcom.com
From: dbbrown@sponge.mrj.com (Daniel B. Brown) Newsgroups: comp.sys.next.programmer Subject: Shared Libraries Date: 10 Aug 1993 18:22:43 GMT Organization: MRJ, Inc./Oakton, Virginia, USA Distribution: world Message-ID: <248p1j$7u2@turtle.mrj.com> Can anyone out there direct me to where I can find any directions on how to make my own shared library? Hints and clues appreciated. Dan Brown
From: gad@eclipse.its.rpi.edu (Garance A. Drosehn) Newsgroups: comp.sys.next.programmer Subject: Re: toc of audio CD's Date: 10 Aug 1993 19:21:19 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Distribution: world Message-ID: <248sff$71m@usenet.rpi.edu> References: <CPESCH.93Aug10134019@markov.fmi.uni-passau.de> In article <CPESCH.93Aug10134019@markov.fmi.uni-passau.de> cpesch@markov.fmi.uni-passau.de (Christoph Pesch) writes: In comp.sys.next.programmer you wrote: > (How) can I read in the table of contents from an audio CD on > black hardware (in C or Objective-C or C++)? (I have an Apple > CD 300) In the NS 3.0 system, check in the directory: /NextDeveloper/Examples/UNIX/SCSI_CD for a very minimal unix command-line program which can read the TOC. I've played with this a little, and it certainly seems to do the job for NeXT CD-ROM drives. It should also work on the Apple CD300. It is not likely to work on older Apple CD-ROM drives. I imagine the same example source code (or an improved version of it) is available in NeXTSTEP 3.1, but I haven't installed my 3.1 upgrade yet. **NOTE** That you have to be running the program as root (and you have to understand how it's finding the CD-ROM drive...) in order for this to work. It will act like it's working if you run it as a regular user, but you'll just get a bunch of error messages and senseless output from it. -- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu ITS Systems Programmer (handles NeXT-type mail) Rensselaer Polytechnic Institute; Troy NY USA
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.sysadmin,comp.sys.next.programmer,comp.sys.next.misc,comp.sys.next.advocacy,comp.sys.next.bugs,comp.sys.next.hardware,comp.sys.next.marketplace Subject: Quick Guide to the comp.sys.next.* newsgroups Date: 10 Aug 1993 15:20:55 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <248sen$3c4@digifix.digifix.com> The current menagerie: 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. 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. 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. 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. 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. 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!!! 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. comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. (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. Written by: Eric P. Scott eps@toaster.SFSU.EDU Minor editing: Scott Anguish -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
From: corbin@reed.edu (Chris C. Hallstrom) Newsgroups: comp.sys.next.programmer Subject: Re: Video digitizer on DSP port Keywords: video DSP digitizer Message-ID: <248uu7$68o@scratchy.reed.edu> Date: 10 Aug 93 20:03:19 GMT Article-I.D.: scratchy.248uu7$68o References: <2484e9$l5u@cc.tut.fi> <248fpi$4qv@news.cerf.net> Distribution: inet Organization: Reed College, Portland, Oregon In article <248fpi$4qv@news.cerf.net> randy@nacm.com writes: >In article <2484e9$l5u@cc.tut.fi> t146678@lehtori.cc.tut.fi (Tuominen >Juha) writes: >> I'm thinking of building a video digitizer, that could hold one >> PAL frame in a frame buffer so that NeXT could read it afterwards. >> However I've never used DSP and that port seems very suitable for >> the digitizer......The question: Is it possible >> to use DSP port for that or is there a more suitable port (serial??)? >> Serial port is quite slow..Transferring 64 kB shouldn't take more than >> 1 second..... >> -- >> Juha Tuominen NeXTMail talks and disk drive walks >> Opiskelijankatu 30 B 42 Tampere University of Technology >> 33720 TAMPERE - FINLAND Mail: t146678@cc.tut.fi Phone: >+358-31-182 851 > >There is already a product that uses the DSP for exactly that purpose, >called Color Digital Eye from Meta Research in Portland Oregon, USA. >However, the frame rate is limited and the quality is not what I would >call "Broadcast Quality." > If you are capturing a single video frame, then the quality of the image is fairly good (12 bits of color information, 640 by 480 resolution). -- christopher c hallstrom corbin@reed.edu Can you use them ol' U.S. Blues?
Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer,comp.sys.next.software From: chris@iastate.edu (Chris Wong) Subject: How to install Stuart 2.4? Message-ID: <chris.745013161@du139-206.cc.iastate.edu> Keywords: stuart,nextstep,shell Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA Date: Tue, 10 Aug 1993 20:06:01 GMT Just how on the earth can I install Stuart shell on NeXTSTEP 3.1/FIP? Thanks for the help. Chris. -- Chris Wong | "Hardware is supposed to serve Software." chris@iastate.edu | Computer Engineering & Computer Science twba8@isuvax.iastate.edu | Iowa State University of Science and Technology
Newsgroups: comp.sys.next.programmer From: jdeclari@is.rpslmc.edu (John-William DeClaris) Subject: Project Builder Message-ID: <1993Aug10.204714.1988@rpslmc.edu> Sender: news@rpslmc.edu Organization: Rush-Presbyterian-St. Luke's Medical Center Date: Tue, 10 Aug 1993 20:47:14 GMT I just took the NeXT Developer's Camp, and while I was there I started to write a program. So far, all of it was done just using Interface Builder and Project Builder. It worked, I was happy. Then I came back to my place of work... None of the Development tools are currently installed on our server, it runs 3.0, and we are running 3.1 on our machines. Maybe this is a good idea, maybe not, it is not my decision to make. So, we have to install the tools on our machines. I did this, or so I believed... I noticed that after the "installation" process, not all of the files were installed. I manually put them in. This helped, and when I make a clean build, my rooster crows, and there are no bugs. When I try it as an app, I get the sound of breaking glass (followed by several chooice obsentities invented by me on the spot), and the following error message.... cc -g -O -Wall -I./sym -arch m68k -ObjC -sectcreate __ICON __header DoctorMate.iconheader -segprot __ICON r r -sectcreate __ICON app Stethoscope.tiff -o DoctorMate.app/DoctorMate m68k_obj/DoctorMate_main.o -lMedia_s -lNeXT_s ld: Can't locate file for: -lcrt0.o *** Exit 1 Stop. *** Exit 1 Stop. Now, I admit that I am a novice to all of this, and not a true unix guru, but I can not find the file -lcrt0.o either. Remember, I have not written a line of code, and my program worked at the Dev Class. I have reinstalled the Tools 4 times, and still nothing works. Does anyone know what this file is, and where it is, if it a link, or whatever, and where it needs to be copied. I will be ever so grateful. Please e-mail your answers to me directly at jdeclari@is.rpslmc.edu. Thanks, and my NeXT thanks you also. -- John-William DeClaris All comments made by me are mine and not reflective of RUSH or anyone else... even any spelling errors I most likely made. Live each day as if it were your last, because someday it will be.
Newsgroups: comp.sys.next.programmer From: chris@iastate.edu (Chris Wong) Subject: How to install Stuart 2.4 under NS/FIP? Message-ID: <chris.745014591@du139-206.cc.iastate.edu> Keywords: stuart,shell,nextstep Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA Date: Tue, 10 Aug 1993 20:29:51 GMT The subject said it all. -- Chris Wong | "Hardware is supposed to serve Software." chris@iastate.edu | Computer Engineering & Computer Science twba8@isuvax.iastate.edu | Iowa State University of Science and Technology
From: Steven Gemma <sg47+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: Help with Sound Objects Date: Tue, 10 Aug 1993 17:47:28 -0400 Organization: Masters student, Information Networking Institute, Carnegie Mellon, Pittsburgh, PA Message-ID: <cgO1Rkm00io=01mIFZ@andrew.cmu.edu> I am trying to write a small module that will "dial" a phone by playing the appropriate tones. The method takes in a valid phone number as an input. I have set aside an array of Sound objects, each one containing the tone for a different phone button. I can play some of the sounds some of the time, but I seem to be doing something horribly wrong. Once a Sound has been played, the status of it is set to 2 (still playing), and nothing I can do seems to be able to reset it. Thus, each sound is playable only once, and then all further attempts to play it result in silence. In addition, the code will hang at one of the play:self messages at seemingly random times (although usually at the same point for the same number). The samples were read in with the addName:fromSoundfile command. I am running NeXTstep 3.0. If you can help me, please do -- I've spent several frustrating hours today trying to do what I thought would be a simple, straightforward task. Here is the method I am trying to write: - playSounds:(char *)number { int pos; int len; len = strlen(number); pos = -1; printf("Dialtone...\n"); [phoneSounds[10] play:self]; [self delay]; while(++pos < len) { if (NXIsDigit(number[pos])) { printf("Digit %c...\n", number[pos]); [phoneSounds[number[pos]- '0'] play:self]; [self delay]; } } printf("Busy... \n"); [phoneSounds[11] play:self]; [self delay]; return self; } - delay { int q, x; x = 0; for(q=0; q<3999999; q++) { x++; } return self; } Thank you kindly for your help. -Steve
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Protocol question Message-ID: <1993Aug10.210446.6013@afs.com> Sender: Michael_Pizolato@afs.com Date: Tue, 10 Aug 1993 21:04:46 GMT Here's the setup (classes have been reduced to problem-description essentials and renamed to protect the innocent): Foo.h: #import <objc/Object.h> @protocol Foo - aMethod:sender; @end @interface Object(Foo) <Foo> @end Foo.m: #import "Foo.h" @implementation Object(Foo) - aMethod:sender { return [self subclassResponsibility:_cmd]; } @end BarWindow.h: #import <appkit/Window.h> #import "Foo.h" @interfact BarWindow:Window <Foo> @end BarWindow.m: #import <appkit/appkit.h> #import "BarWindow.h" @implementation BarWindow @end Mumble.h: #import <objc/Object.h> @interface Mumble:Object { id myBarWindow; } - setMyBarWindow:aBarWindow; @end Mumble.m: #import "Mumble.h" #import "Foo.h" @implementation Mumble - setMyBarWindow:aBarWindow { id retval; if ([aBarWindow conformsTo:@protocol(Foo)]) { myBarWindow = aBarWindow; retval = self; { else retval = nil; return retval; } @end Here are the questions: 1. Why does the compiler complain that I have not implemented aMethod: in BarWindow when the Foo category of Object implements it for all classes (therefore including BarWindow)? 2. Obviously the conformsTo: method returns YES because BarWindow adopts the Foo protocol directly. If I remove the "<Foo>" protocol spec from BarWindow.h to get rid of the compiler warning, will the conformsTo: method return NO or will it still return YES because it recognizes that all objects must conform to the Foo protocol because of the category implementation? I realize that protocols are poorly/incompletely implemented in NEXTSTEP, so maybe I'm asking, "What do you think _should_ happen?" My classes are not yet in a state where I can test this - that's why I'm asking all you wonderful net.people :-). Thanx, Michael -- Michael Pizolato gnihtyreve noitseuq michael_pizolato@afs.com NeXTMail appreciated
Newsgroups: comp.sys.next.programmer From: aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) Subject: Printing views... Message-ID: <10AUG93.23001130@enh.nist.gov> Sender: news@dove.nist.gov Organization: NIST Date: Wed, 11 Aug 1993 04:00:11 GMT This is an area that I am not particularly fond of, but the need has finaly arose: I need to be able to output some of my views to the printer. I have a feeling that it is really quite easy, and, in fact, I have allready gotten printing to work (by sending a view a -printPScode: message). My question is: What is the best way of going about creating "pretty" documents? I would like the ability to add headers and footers, and make sure that the image is scaled to an appropriate size. My initial guess is to somehow use the copyPSCodeInside:to: method to get ahold of an image that I can then include in a "template" view, which I can send a printPSCode: message to... Does anyone else have any other suggestions, comments, or experiences they can share with me? (source code would be nice, also!) If so, please write directly to me at : day@spot.aoml.erl.gov. I will post a summary. Thanks, Kevin
From: izumi@pinoko.berkeley.edu (Izumi Ohzawa) Newsgroups: comp.sys.next.programmer Subject: Re: Video digitizer on DSP port Date: 10 Aug 1993 23:16:57 GMT Organization: University of California, Berkeley Distribution: inet Message-ID: <249a99$6k8@agate.berkeley.edu> References: <248fpi$4qv@news.cerf.net> In article <248fpi$4qv@news.cerf.net> Randy Antler writes: >In article <2484e9$l5u@cc.tut.fi> t146678@lehtori.cc.tut.fi (Tuominen >Juha) writes: >> I'm thinking of building a video digitizer, that could hold one >> PAL frame in a frame buffer so that NeXT could read it afterwards. >> However I've never used DSP and that port seems very suitable for >> the digitizer......The question: Is it possible >> to use DSP port for that or is there a more suitable port (serial??)? >> Serial port is quite slow..Transferring 64 kB shouldn't take more than >> 1 second..... > >There is already a product that uses the DSP for exactly that purpose, >called Color Digital Eye from Meta Research in Portland Oregon, USA. >However, the frame rate is limited and the quality is not what I would >call "Broadcast Quality." I am not so sure if Color Digtial Eye does *exactly* what he wants: Does Color Digital Eye have a frame buffer that can contain a complete frame? If not, captured image will come from different frames. This will mean that you will need another box to do freeze frame for the Color Digital Eye. DSP port should be able to get data at up to about 6 Mbits/sec, but he should use a better transfer protocol than what he proposes: you won't get any decent throughput doing byte-by-byte handshaking. >>frame ready -> >> <- request next byte >>byte -> >> <- request next byte >>byte -> -- Izumi Ohzawa [ $@Bg_78^=;(J ] USMail: University of California, 360 Minor Hall, Berkeley, CA 94720 Telephone: (510) 642-6440 Fax: (510) 642-3323 Internet: izumi@pinoko.berkeley.edu (NeXTMail OK)
Newsgroups: comp.sys.next.programmer From: anderson (Ken Anderson) Subject: Re: question about fat .o files Message-ID: <1993Aug10.141730.18148@biztech.com> Sender: news@biztech.com Organization: Biztech, Inc. References: <1993Aug8.231400.2691@Princeton.EDU> Date: Tue, 10 Aug 1993 14:17:30 GMT In article <1993Aug8.231400.2691@Princeton.EDU> paul@phoenix.Princeton.EDU (Paul Lansky) writes: > >How do I combine a bunch of fat .o files into a single >fat .o file, for subsequent inclusion in a fat binary. >cc -c doesn't seem to work, and ld doesn't know about >multiple architectures. thanks > >paul lansky >paul@princeton.edu Paul, Use: cc -nostdlib -r -archm68k -arch i386 -o <output file> <.o's> The answer is actually IN the NeXT Developer Release Notes in a file called FatFiles.rtf. Ken Anderson anderson@biztech.com Stamford, CT
Newsgroups: comp.sys.next.programmer From: anderson (Ken Anderson) Subject: Re: gdb and data breakpoints Message-ID: <1993Aug10.142008.18206@biztech.com> Sender: news@biztech.com Organization: Biztech, Inc. References: <1993Aug6.140428.70858@cc.usu.edu> Distribution: usa Date: Tue, 10 Aug 1993 14:20:08 GMT In article <1993Aug6.140428.70858@cc.usu.edu> writes: >Well, I see in the Release Notes for 3.1 that data >breakpoints are no longer supported. > >Never mind. > >Howard Cole >USU Space Dynamics Lab >hcole@tumbleweed.idec.sdl.usu.edu Supposedly, data break-points were removed from gdb support so that 68k and Intel versions could be more alike. As I understand it, there's a problem with implementing data breakpoints on the 486. Ken Anderson anderson@biztech.com Stamford, CT
Newsgroups: comp.sys.next.programmer From: trapac@netcom.com (Transpacific Container) Subject: DBKit: unable to connect to database Message-ID: <trapacCBKJn7.GEI@netcom.com> Organization: NETCOM On-line Communication Services (408 241-9760 guest) Date: Wed, 11 Aug 1993 00:21:07 GMT I've been trying to get the OracleDemo app to connect to our Oracle 7.0 databaserunning on an RS/6000. The Oracle DBkit adapter's login panel doesn't respond with any indication of what the problem is. Using netstat, the only packets being sent are to the loopback device (lo0) even though I'm providing a valid host name. DBmodeler behaves the same way. Is there any additional DBkit Adaptor setup required? Is the Adaptor's SQL*Net implementation complete (no TCP/IP interface from Oracle required) ? The NeXT (3.1 FIP) to RS/6000 network is currently operational (NFS, remote print & remote logins). Any ideas would be welcome. Keith Carpenter trapac@netcom.com (310) 513-7414
Newsgroups: comp.sys.next.programmer From: mike@lorax.com (Mike Ferris) Subject: Re: Tab Stops in Cells Message-ID: <CBK4MG.2uo@lorax.com> Sender: mike@lorax.com (Mike Ferris) Organization: Stultus Enterprises References: <1993Aug7.084656.8298@gleap.sccsi.com> Date: Tue, 10 Aug 1993 18:56:38 GMT In article <1993Aug7.084656.8298@gleap.sccsi.com> clloyd@gleap (Charles C. Lloyd) writes: >Has anyone ever figured out how to set tab stops in a cell? In particular, I'd >really like to know how to set tab stops in an NXBrowserCell. Only thing I can think of off the top of my head is to deal with the text object that is doing the drawing. You'll need to write a -windowWillReturnFieldEditor... method for the window in question. Then, if the object about to be edited is one that needs tabstops, you can set them up in the field editor before returning it. This might work... ____________________________________________________________ Mike Ferris We demand rigidly defined areas mike@lorax.com of doubt and uncertainty. Rubicon Software -Douglas Adams (510) 652-2039
From: corbin@reed.edu (Chris C. Hallstrom) Newsgroups: comp.sys.next.programmer Subject: Re: Video digitizer on DSP port Message-ID: <249nh9$nkg@scratchy.reed.edu> Date: 11 Aug 93 03:03:05 GMT Article-I.D.: scratchy.249nh9$nkg References: <248fpi$4qv@news.cerf.net> <249a99$6k8@agate.berkeley.edu> Distribution: inet Organization: Reed College, Portland, Oregon In article <249a99$6k8@agate.berkeley.edu> izumi@pinoko.berkeley.edu writes: >In article <248fpi$4qv@news.cerf.net> Randy Antler writes: >>In article <2484e9$l5u@cc.tut.fi> t146678@lehtori.cc.tut.fi (Tuominen >>Juha) writes: >>> I'm thinking of building a video digitizer, that could hold one >>> PAL frame in a frame buffer so that NeXT could read it afterwards. >>> However I've never used DSP and that port seems very suitable for >>> the digitizer......The question: Is it possible >>> to use DSP port for that or is there a more suitable port (serial??)? >>> Serial port is quite slow..Transferring 64 kB shouldn't take more than >>> 1 second..... >> >>There is already a product that uses the DSP for exactly that purpose, >>called Color Digital Eye from Meta Research in Portland Oregon, USA. >>However, the frame rate is limited and the quality is not what I would >>call "Broadcast Quality." > >I am not so sure if Color Digtial Eye does *exactly* what he wants: >Does Color Digital Eye have a frame buffer that can contain a complete >frame? If not, captured image will come from different frames. This >will mean that you will need another box to do freeze frame for the >Color Digital Eye. > Hmmm. I'm not sure I understand what *exactly* the problem is. Color Digital Eye does have a frame buffer, so it can capture an image from a single frame. This is what it was designed for. However, the original poster asked about a digitizer that would allow the NeXT to read the image "afterwards". What does this mean? It might suggest a device that would store a digitized image indefinately, until the data was downloaded via the DSP (or other port). In other words, a device one could use to capture an image "in the field" so to speak, which you would then take back to the lab to download. In this case, Color Digital Eye does not fit the bill since the capturing is initiated by the DSP. Any clarifications from the previous posters? -- christopher c hallstrom corbin@reed.edu Can you use them ol' U.S. Blues?
Newsgroups: comp.sys.next.programmer From: wave@pixar.com (Michael B. Johnson) Subject: Re: Video digitizer on DSP port Message-ID: <1993Aug11.023756.21418@pixar.com> Sender: news@pixar.com (Usenet Newsmaster) Organization: Pixar -- Point Richmond, California References: <249a99$6k8@agate.berkeley.edu> Distribution: inet Date: Wed, 11 Aug 1993 02:37:56 GMT In article <249a99$6k8@agate.berkeley.edu> izumi@pinoko.berkeley.edu (Izumi Ohzawa) writes: > In article <248fpi$4qv@news.cerf.net> Randy Antler writes: > >In article <2484e9$l5u@cc.tut.fi> t146678@lehtori.cc.tut.fi (Tuominen > >Juha) writes: > >> I'm thinking of building a video digitizer, that could hold one > >> PAL frame in a frame buffer so that NeXT could read it afterwards. Also note the original poster was asking about PAL, not NTSC. Maybe Digital Eye does this, maybe not... -- --> Michael B. Johnson -- wave@media.mit.edu, wave@pixar.com --> MIT Media Lab -- Computer Graphics & Animation Group --> P*I*X*A*R -- IceMan Group (for the summer)
From: kaelin@Bridge.COM (Kaelin Colclasure) Newsgroups: comp.sys.next.programmer Subject: Where are POSIX libs (NS/FIP)??? Message-ID: <1674@racerx.bridge.COM> Date: 11 Aug 93 04:14:01 GMT Sender: kaelin@racerx.bridge.COM Organization: Bridge Information Systems I am attempting to port some POSIX source to NeXTSTEP (well, actually Mach) and although I can now get a clean compile, I have no idea where the POSIX compliant libraries are located. The on-disk documentation failed to offer any useful references to "posix" (and poking around in /usr/lib didn't turn up anything obvious either). Here's a sample which might spark someones memory: ld: Undefined symbols: _tcgetattr _tcsetattr _cfgetospeed _tcgetpgrp _sigflag _tcsetpgrp _waitpid link edit failed // Kaelin Colclasure --------------------------------------------------------- // EMail: kaelin@haji.bridge.com Mail: Bridge Information Systems, Inc. // Voice: (314)567-8463 717 Office Parkway // Fax: (314)432-5391 St. Louis, MO 63141
Newsgroups: comp.sys.next.programmer From: mabroa01@orion.spd.louisville.edu (Morgan Broadhead) Subject: More Compiler? Trouble... Sender: news@netnews.louisville.edu (Netnews) Message-ID: <mabroa01.745049000@starbase.spd.louisville.edu> Date: Wed, 11 Aug 1993 06:03:20 GMT Organization: University of Louisville I'd like to thank everyone who took the time to email me or post responses to my debugging inquiries. Thanks to them, I am now somewhat familiar with the operation of the MallocDebug.App. (Special thanks to the person who posted the reference - I couldn't understand why everyone seemed so excited by the standard C malloc_debug().) I am also now fairly familiar with gdb. On the other hand, I still don't know what's wrong with my program. I now strongly suspect some compilation or preprocessing bug. I suppose it is possible that my compiler is corrupted in some way - I bought the machine used, and it appears to have been upgraded at least once (now 3.0). The smaller version (FFT_SIZE=1024) runs fine. MallocDebug reveals no leaks or node overruns. I can step through it line by line in gdb and every value checks out as being reasonable. The larger version (FFT_SIZE=2048) compiles without error (or warnings, thanks again) and crashes with the aforementioned 'attempt to free or realloc space not in heap' error when run. When compiled -lMallocDebug, the program runs, generating a 'freed unmalloced pointer: 0x???' error every time through the main loop. MallocDebug shows a corresponding leak of size 4*??? each loop. The caller is listed as 'main, start', and the addresses are generally increasing from the largest listed for the original 'All' listing. The only other difference between the MallocDebug 'All' listings is an offset of 8k between their addresses. The data produced looks reasonable, except that one of the parameters has been modified. Inspection via gdb is useless - it 'loses' several important variables which the program is clearly getting. That is, the program would not work at all without them, but attempts to print their values or addresses result in the 'No symbol 'x' in current context' message. The variables cannot be read anywhere in the program, from the first line of execution on. They are fine in the smaller version. Values of FFT_SIZE larger than 2043 cause increasing amounts of 'lost' variables as the the #define is increased. My brain is melting. The program both works and doesn't work. (A & A') The source of the problem seems to be in the initial allocation of program and data segments, and this should NOT happen. Every 'problem' I've found in the code itself has turned out to be some innocuous statement which cannot be wrong. These 'problems' seem to be randomly generated within a particular version of the program. It appears that my only options are to attempt to check the entire memory map of the program address by address, or to attempt to examine the assembly code. Neither of these alternatives is appetizing, or, in fact, particularly feasible. How a single #define (it's just a label, after all) can cause so much trouble is beyond me. So, anyway, thanks again, and if these further symptoms clarify the problem any (esp. the gdb failure!), or you have solved similar bugs, please email me. Alex -- ------------------------------------------------------------------------------ The Mighty Rev. M. Alexander Broadhead mabroa01@starbase.spd.louisville.edu ------------------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Shared Libraries Message-ID: <1993Aug11.063430.25876@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <248p1j$7u2@turtle.mrj.com> Date: Wed, 11 Aug 1993 06:34:30 GMT In article <248p1j$7u2@turtle.mrj.com> dbbrown@sponge.mrj.com (Daniel B. Brown) writes: >Can anyone out there direct me to where I can find any directions on how >to make my own shared library? Hints and clues appreciated. Convince NeXT you have a legitimate need to know and sign a nondisclosure agreement. Even sites that paid $10K-$15K for a NeXT source code license didn't get the shared library materials. -=EPS=-
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: gdb and data breakpoints Message-ID: <1993Aug11.064420.26406@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Aug6.140428.70858@cc.usu.edu> <1993Aug10.142008.18206@biztech.com> Date: Wed, 11 Aug 1993 06:44:20 GMT In article <1993Aug10.142008.18206@biztech.com> anderson@biztech.com (Ken Anderson) writes: >Supposedly, data break-points were removed from gdb support so that 68k >and Intel versions could be more alike. That _is_ what Julie said at NeXTWORLD Expo. > As I understand it, there's a >problem with implementing data breakpoints on the 486. Another triumph of marketing over technical superiority. Sigh, whimper. -=EPS=-
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Where are POSIX libs (NS/FIP)??? Message-ID: <1993Aug11.064949.26695@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1674@racerx.bridge.COM> Date: Wed, 11 Aug 1993 06:49:49 GMT In article <1674@racerx.bridge.COM> kaelin@Bridge.COM (Kaelin Colclasure) writes: >I am attempting to port some POSIX source to NeXTSTEP (well, actually Mach) >and although I can now get a clean compile, I have no idea where the POSIX >compliant libraries are located. Vaporspace. > The on-disk documentation failed to offer >any useful references to "posix" /NextLibrary/Documentation/NextDev/ReleaseNotes/OperatingSystem.rtf "In Release 3.1, building POSIX applications isn't supported. POSIX will be supported in a future release." ^ unspecified -=EPS=-
Newsgroups: comp.sys.next.programmer From: burchard@geom.umn.edu (Paul Burchard) Subject: DPS "arct" operator vs. printing Message-ID: <CBL8Lu.5As@news2.cis.umn.edu> Keywords: Display PostScript arct AppKit printing Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota, Twin Cities Date: Wed, 11 Aug 1993 09:13:07 GMT Has anyone tried using the "arct" operator in Display Postscript? This is supposed to be like the "arcto" operator except that those "nuisance" return values are omitted. It appears to work fine on the screen, but when printing it produces PS that Preview.app complains about. Specifically, PSarct(-0.1, -0.4, 0, -0.8, 0.5) prints out like this: -0.1 -0.4 0 -0.8 0.5 arcto 3 printobject 2 printobject 1 printobject 0 printobject 0 4 printobject flush When opened in Preview.app, this produces an alert panel warning that the code "erroneously tried to return values to the application [Preview.app]". Is this a bug in the AppKit's print package? Why isn't arct implemented as arcto with a bunch of pops? -- -------------------------------------------------------------------- Paul Burchard <burchard@geom.umn.edu> ``I'm still learning how to count backwards from infinity...'' --------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: ob@obh.in-berlin.de (Oliver Brandmueller) Subject: Re: Video digitizer on DSP port Message-ID: <3W8FBU6W@obh.in-berlin.de> Keywords: video DSP digitizer Organization: obh - private bbs in Berlin/Germany References: <2484e9$l5u@cc.tut.fi> <248fpi$4qv@news.cerf.net> <248uu7$68o@scratchy.reed.edu> Distribution: inet Date: Wed, 11 Aug 93 09:37:21 GMT corbin@reed.edu (Chris C. Hallstrom) writes: >In article <248fpi$4qv@news.cerf.net> randy@nacm.com writes: [Video digitizer on DSP Port] >>There is already a product that uses the DSP for exactly that purpose, >>called Color Digital Eye from Meta Research in Portland Oregon, USA. >>However, the frame rate is limited and the quality is not what I would >>call "Broadcast Quality." >> >If you are capturing a single video frame, then the quality of the image >is fairly good (12 bits of color information, 640 by 480 resolution). While this was developed in the USA are you sure it handles PAL correctly or is it a NTSC-only product (very unusual system on europe's TV stations). Bye, Olli -- | Oliver Brandmueller | Detmolder Str. 64 | 10715 Berlin | Germany (WEST) | | Fax: +49 30 8536544 | V: 030/853 69 80 | Cityruf 3153068 30 (numerisch) | | "Ich werde Millionaer, heirate Jodie Foster und nehme mir eine Nympho- | | manin als Putzfrau. Dann habe ich alles erreicht." - ob@school |
From: duren@eggo.usf.edu (Michael J Duren) Newsgroups: comp.sys.next.programmer Subject: Programming Contest: Contest Clarification Date: 11 Aug 1993 12:57:30 GMT Organization: University of South Florida, Department of Computer Science and Engineering Message-ID: <24aqbq$naj@suntan.eng.usf.edu> Contest Clarification: The intent of providing a broad scope "Data Communications Algorithms" was to open the contest up to a wide range of programmers working in diverse segments of data communications. However, to assist in further definition here are some "possibilites": Terminal Emulation Programs Async Drivers Sync Drivers LAP-B, LAP-M Implementations HDLC, SDLC, Bisync ...Implementations CRC algorithms Data Encryption algorithms Data Compression algorithms Data Communications Monitors Modem and Port Diagnostic Finite State Machines Auto Dialers Caveat: These examples are only provided as a guide. Any algorithm that can be effectively applied to data communications will be accepted and considered seriously. So we encourage you to be as creative and inventive as you wish. Good Luck!
Newsgroups: comp.sys.next.programmer From: brisinda@cpsc.ucalgary.ca (Dale Brisinda) Subject: Re: Anyone have an example of using Instance drawing? In-Reply-To: glenn@rightbrain.com's message of 9 Aug 93 17:39:55 GMT Message-ID: <BRISINDA.93Aug11024355@fsd.cpsc.ucalgary.ca> Sender: news@cpsc.ucalgary.ca (News Manager) Organization: University of Calgary References: <BRISINDA.93Aug8123413@fsd.cpsc.ucalgary.ca> <1310@rtbrain.rightbrain.com> Date: Wed, 11 Aug 1993 09:43:55 GMT > Dale Brisinda writes > > > While we're on the subject, does anyone know if there is some way to > > set up multiple instance drawing contexts? For example, being able to > > instance draw some object, create a new instance drawing context and > > then instance draw another object without erasing the previous object? > > When we DO want to erase the first object we would somehow set that > > particular instance drawing context and then PSnewinstance() to erase > > all instance drawing that occurred in that context. Is this possible > > somehow? > > I'm not sure I entirely follow what you're asking, and I've never > actually tried this, but I imagine that if you use "lockFocus" and > "unlockFocus" judiciously on, say, two different views, then the instance > drawing would only affect the view you were drawing into, and you could > switch between them. Yes, that is exactly what I mean. For example having two objects blinking at different rates (through the use of instance drawing) in the same window within two different views. It makes sense that judicious use of "lockFocus" and "unlockFocus" would have handled this, but it apparently does not. If I lock focus on one view, and PSnewinstance() to clear the view (to simulate the blink for one object), the object in the other view is also erased, even though its view is not the focused view!? This is what leaves me somewhat bewildered... > > You use the word "context", however, which implies Display PostScript > contexts. I would think the same thing would hold for drawing into > different DPS contexts (although I wouldn't think you'd ever want to do > this explicitly). > I apologize, I should have clarified. By context I mean an environment where instance drawing is performed. This could be a locked focus where one would expect all drawing to be limited to the focused view and does not affect anything outside that view. --- Dale Brisinda dale@pegasus.cuc.ab.ca (NeXTmail Welcome) brisinda@cpsc.ucalgary.ca
Newsgroups: comp.sys.next.programmer From: andrew@stone.com (Andrew Stone) Subject: Re: Help with Sound Objects Message-ID: <1993Aug11.115710.278@stone.com> Sender: andrew@stone.com Organization: Stone Design Corp References: <cgO1Rkm00io=01mIFZ@andrew.cmu.edu> Date: Wed, 11 Aug 1993 11:57:10 GMT In article <cgO1Rkm00io=01mIFZ@andrew.cmu.edu> Steven Gemma <sg47+@andrew.cmu.edu> writes: .... > > - delay > { > int q, x; > x = 0; > > for(q=0; q<3999999; q++) > { > x++; > } > return self; > } > I'm not sure what's going on with the sound code, but if you compile that delay method with optimization on, it will be never execute the loop because the vars are never used. If you want optimization, and your loop wait [Wouldn't it be better to just create a DPSTimedEntry, and have the system do the delay for you?], you should encase your delay function with: #pragma CC_OPT_OFF - delay { ..... } #pragma CC_OPT_RESTORE andrew -- ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>|| !! Andrew Stone !! (505) 345-4800 !! !! andrew@stone.com <> Stone Design Corp !! ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>||
From: holcomb@csugrad.cs.vt.edu (David Holcomb) Newsgroups: comp.sys.next.programmer Subject: How to subclass for a drawing app? Date: 11 Aug 1993 10:04:35 -0400 Organization: Virginia Tech Computer Science Dept, Blacksburg, VA Message-ID: <24au9j$bu6@csugrad.cs.vt.edu> I am involved in writing code for a modeling/simulation program. Currently all drawing objects (which are selected from a tools palette) are subclassed from the Object class. Detection of whether an object has been selected on the screen is accomplished by implementing mouseDown: and cycling through a list of all objects on the screen and performing an intersection routine on those objects whose largest enclosing rectangle contains the mouse click. I am new to NeXTSTEP programming, but it appears from all the NeXTSTEP programming texts I have that this same functionality can be accomplished by subclassing the drawing objects (e.g. circles, ellipses, lines) from the View class. Then all you have to do is implement hitTest: to both receive mouse events and determine whether the mouse click was on the object. I would like to know which method seems to be the "better" or more reasonable approach. I am not sure if subclassing from the View class will result in a performance loss. The literature would seem to indicate that the test for the largest enclosing rectangle is implied by subclassing from the View class, that is, only those subviews containing the mouse click in their rectangular area will get the mouse click event. However, if ALL subviews got the mouse event, that would be a waste of messaging. I would appreciate any help, even pointers to other sources. Thanks, David Holcomb holcomb@csugrad.cs.vt.edu
Newsgroups: comp.sys.next.programmer From: greg@afs.com (Gregory H. Anderson) Subject: Re: Shared Libraries Message-ID: <1993Aug11.142957.6603@afs.com> Sender: greg@afs.com References: <248p1j$7u2@turtle.mrj.com> Date: Wed, 11 Aug 1993 14:29:57 GMT In article <248p1j$7u2@turtle.mrj.com> dbbrown@sponge.mrj.com (Daniel B. Brown) writes: > Can anyone out there direct me to where I can find any directions on how > to make my own shared library? Hints and clues appreciated. I'd be a millionaire if I had the answer that that question. Many people want to do this, but it can't be done. NeXT doesn't distribute the tools needed to build them. This is my 2nd biggest complaint about NS (after the source code issue we've been discussing in c.s.n.advocacy). -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
From: corbin@reed.edu (Chris C. Hallstrom) Newsgroups: comp.sys.next.programmer Subject: Re: Video digitizer on DSP port Date: 11 Aug 1993 16:08:05 GMT Organization: Reed College, Portland, Oregon Distribution: inet Message-ID: <24b5h5$q7g@scratchy.reed.edu> References: <2484e9$l5u@cc.tut.fi> <248fpi$4qv@news.cerf.net> <248uu7$68o@scratchy.reed.edu> <3W8FBU6W@obh.in-berlin.de> Keywords: video DSP digitizer In article <3W8FBU6W@obh.in-berlin.de> ob@obh.in-berlin.de (Oliver Brandmueller) writes: >corbin@reed.edu (Chris C. Hallstrom) writes: >>In article <248fpi$4qv@news.cerf.net> randy@nacm.com writes: >[Video digitizer on DSP Port] >>>There is already a product that uses the DSP for exactly that purpose, >>>called Color Digital Eye from Meta Research in Portland Oregon, USA. >>>However, the frame rate is limited and the quality is not what I would >>>call "Broadcast Quality." >>> >>If you are capturing a single video frame, then the quality of the image >>is fairly good (12 bits of color information, 640 by 480 resolution). > >While this was developed in the USA are you sure it handles PAL correctly >or is it a NTSC-only product (very unusual system on europe's TV >stations). > It absolutely _does_ handle PAL, as well as SECAM and NTSC signals. -- christopher c hallstrom corbin@reed.edu Can you use them ol' U.S. Blues?
Newsgroups: comp.sys.next.programmer From: drew@fnbc.com (Drew Davidson) Subject: Re: Protocol question Message-ID: <1993Aug11.142058.24365@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA References: <1993Aug10.210446.6013@afs.com> Date: Wed, 11 Aug 93 14:20:58 GMT In article <1993Aug10.210446.6013@afs.com> Michael_Pizolato@afs.com (Michael Pizolato) writes: [code deleted] > > Here are the questions: > > 1. Why does the compiler complain that I have not implemented > aMethod: in BarWindow when the Foo category of Object implements > it for all classes (therefore including BarWindow)? Because you explicitly said that BarWindow would implement the protocol. The compiler takes you at your word! > 2. Obviously the conformsTo: method returns YES because BarWindow > adopts the Foo protocol directly. If I remove the "<Foo>" > protocol spec from BarWindow.h to get rid of the compiler > warning, will the conformsTo: method return NO or will it still > return YES because it recognizes that all objects must conform > to the Foo protocol because of the category implementation? conformsTo: will return YES if a superclass implements the protocol. > I realize that protocols are poorly/incompletely implemented in > NEXTSTEP, so maybe I'm asking, "What do you think _should_ happen?" > My classes are not yet in a state where I can test this - that's > why I'm asking all you wonderful net.people :-). I think that the current behaviour is correct, although a bit cumbersome. > Thanx, > Michael > > -- > Michael Pizolato gnihtyreve noitseuq > > michael_pizolato@afs.com > NeXTMail appreciated -- +--------------------------------+-------------------------------------------+ | Drew Davidson | "Never ask a programmer if he'll have | | Software Guy | another cup of coffee because it's | | First National Bank of Chicago | nobody's damn business how much he's | | drew@fnbc.com (NeXTmail) | already had!" - me | +--------------------------------+-------------------------------------------+
Newsgroups: comp.sys.next.programmer From: shill@ccsi.com (Sean L. Hill) Subject: Shared Libraries->Bundles Message-ID: <1993Aug11.142453.534@ccsi.com> Sender: shill@ccsi.com Organization: Crystal Computer Systems, Inc. References: <248p1j$7u2@turtle.mrj.com> Date: Wed, 11 Aug 1993 14:24:53 GMT Does anyone suppose NeXT will eventually eliminate Shared Libraries altogether? I think that it would be pretty cool to have all the classes in the form of Bundles and then have the NXBundle mechanism built into the Obj-C runtime so that when you so something like [[NXImage alloc] init...] the Obj-C runtime knows to use NXBundle to find the class so named. This would be very cool for automatically using new classes that a programmer might extend. How about it. What are some of the problems or benefits? -- Sean L. Hill Ergo Science Incorporated shill@ccsi.com Compuserve: 73667,3355
Newsgroups: comp.sys.next.programmer From: jgg@proforma.com (J. G. Gregory) Subject: Re: More Compiler? Trouble... Message-ID: <1993Aug11.145522.733@proforma.com> Sender: jgg@proforma.com Organization: LoftTech Incorporated References: <mabroa01.745049000@starbase.spd.louisville.edu> Date: Wed, 11 Aug 1993 14:55:22 GMT In article <mabroa01.745049000@starbase.spd.louisville.edu> mabroa01@orion.spd.louisville.edu (Morgan Broadhead) writes: >I'd like to thank everyone who took the time to email me or post responses >to my debugging inquiries. [Lot's of very familiar emotion deleted.] Morgan, you are suffering from something that sounds an awful lot like lack of experience. Don't get me wrong, we were all there once, and I feel empathy because I have had exactly the same feelings not too long ago. Some of us still don't escape the really nasty feeling that it is "someone else's" code. But my experience says it isn't the compiler, MallocDebug, or gdb. It is your code. MallocDebug probably would show it to you if you looked at it at the right time, before it starts killing your program, gdb, and whatever else. I learned a motto once from someone. It goes like this: "If you have checked everything and you are sure it is right, but the problem remains, then something you are sure of is wrong." It really is that simple. When you find it, you will sigh and go on to create even bigger bugs. Sometimes a bit of time off will help. Sometimes someone else looking at it with an open mind will help. Sometimes just rewriting a suspect loop will do it. But I rather think it is lack of experience with some strange feature of C that is hurting you. If you have for loops with ++ or -- in them, unitialized variables, pointer mixup (using a number as a pointer, only dereferencing once, etc.), quiet numeric death (like 1/64 is 0, not 0.015625 (I found that yesterday)). Take another look at all assignments. You are overwriting something, somewhere. Look hard at assignments in loops, particularly ones that use your FFT_SIZE macro directly or indirectly. If all else fails, ask someone to come in on it. I would be willing to bet the pros reading this could find it in 15 minutes. Maybe we should have a contest? Email me directly to continue this thread privately. I just wanted to post to give the other struggling types some encouragement. --J Gregory
Newsgroups: comp.sys.next.programmer From: Scott Byer <byer@mv.us.adobe.com> Subject: Re: DPS "arct" operator vs. printing Message-ID: <1993Aug11.172006.18530@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <CBL8Lu.5As@news2.cis.umn.edu> Date: Wed, 11 Aug 1993 17:20:06 GMT Paul Burchard writes > Has anyone tried using the "arct" operator in Display Postscript? > This is supposed to be like the "arcto" operator except that those > "nuisance" return values are omitted. It appears to work fine > on the screen, but when printing it produces PS that Preview.app > complains about. Sounds like a bug in the NeXT printing package. A work around would be for you to define your own operator - "myarct" - which could be defined as "/myarct /arct where { pop /arct load } { { arcto pop pop pop pop } bind } ifelse def". Of course, you can no longer use the "PSarct" singleop, but you can easily write your own "PSmyarct" singleop if you want. But you were planning to slowly gather all those singleop calls into wraps, weren't you? :-) -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Re: Shared Libraries->Bundles Message-ID: <24bck0$lat@ursula.ee.pdx.edu> Date: 11 Aug 93 04:09:04 GMT Article-I.D.: ursula.24bck0$lat References: <248p1j$7u2@turtle.mrj.com> <1993Aug11.142453.534@ccsi.com> shill@ccsi.com (Sean L. Hill) writes: >Does anyone suppose NeXT will eventually eliminate Shared Libraries >altogether? >I think that it would be pretty cool to have all the classes in the form >of Bundles and then have the NXBundle mechanism built into the Obj-C >runtime so that when you so something like [[NXImage alloc] init...] the >Obj-C >runtime knows to use NXBundle to find the class so named. This would be >very cool for automatically using new classes that a programmer might >extend. Why not just subclass Application and add this: int classHandler(const char *className) { id object; object=LOADCLASS(className); return (object != nil); } [Where LOADCLASS(name) is a static/inline function in an include file that uses NXBundle.] + new { classHandler("preloadedclass1"); objc_setClassHandler(classHandler); return [super new]; } The likely reason NeXT doesn't want to support Shared libraries is that they are enormously tedious way to maintain. What do people want shared libraries for? I'd rather NeXT come up with an efficient cleaner alternative. An object broker daemon, perhaps. Any guesses on 3.2 features?
Newsgroups: comp.sys.next.programmer From: jaime@afs.com (Jaime Guerrero) Subject: Re: Archiving a List with a Twist Message-ID: <1993Aug11.165955.1409@afs.com> Sender: jaime@afs.com References: <23smnm$bf2@iskut.ucs.ubc.ca> Date: Wed, 11 Aug 1993 16:59:55 GMT In article <23smnm$bf2@iskut.ucs.ubc.ca> besler@gdss.commerce.ubc.ca (Steven Besler) writes: > I want to archive a List. However, I want it to archive > only references to the objects it contains, not archive the objects > themselves, since they will be archived elsewhere on the same stream. > Is there an easy way to do this? Am I missing something? Please tell > me I won't have to make my own subclass of list to do this... I did this by creating a category of List and adding the methods writeReferences: and readReferences:. I call these instead of write: and read:. The source for the .h and .m file follow this posting, since they're so short. BTW, this technique is required when you have a web of objects that are interconnected in many ways, including circularly. By maintaining a list of those objects somewhere, like in the object's class (factory), and reading or writing just that list, you can read or write the whole web, including connections. Each object's read: and write: methods must only write *references* to the other objects they point to. ======= ListRWReferencesExtension.h ========== @interface List ( RWReferencesExtension ) - writeReferences:(NXTypedStream *)stream; - readReferences:(NXTypedStream *)stream; @end ======= ListRWReferencesExtension.m ========== #import "ListRWReferencesExtension.h" @implementation List ( RWReferencesExtension ) - writeReferences:(NXTypedStream *)stream { int i; NXWriteType( stream, "i", &numElements ); for ( i= 0 ; i < numElements ; i++ ) NXWriteObjectReference( stream, dataPtr[i] ); return self; } - readReferences:(NXTypedStream *)stream { int i, count; NXReadType( stream, "i", &count ); for ( i= 0 ; i < count ; i++ ) [self addObject:NXReadObject( stream )]; return self; } @end -- Jaime Guerrero "Let me take you Anderson Financial Systems, Inc. to the hell where Springhouse, Pennsylvania, U.S.A. all the freaks dwell" jaime@afs.com [NeXTmail ok] -Echo & the Bunnymen
Newsgroups: comp.sys.next.programmer From: mike@lorax.com (Mike Ferris) Subject: Re: Anyone have an example of using Instance drawing? Message-ID: <CBLvxs.5Cv@lorax.com> Sender: mike@lorax.com (Mike Ferris) Organization: Stultus Enterprises References: <BRISINDA.93Aug11024355@fsd.cpsc.ucalgary.ca> Date: Wed, 11 Aug 1993 17:44:15 GMT In article <BRISINDA.93Aug11024355@fsd.cpsc.ucalgary.ca> brisinda@cpsc.ucalgary.ca (Dale Brisinda) writes: >I apologize, I should have clarified. By context I mean an environment >where instance drawing is performed. This could be a locked focus where >one would expect all drawing to be limited to the focused view and >does not affect anything outside that view. Not so fast. Perhaps this is the answer. If lockFocus and unlockFocus on your two views doesn't work now, try giving each view its own dps context. If you don't explicitly give a view its own context it draws in the window's context. Instance drawing may only allow one "instance" per context. So try it that way. A DPS context is, I believe, about as encapsulated as you can get in DPS, so if this doesn't work, I would begin to doubt its possibility. I don't actually know if this will work, but it seems worth a try. ____________________________________________________________ Mike Ferris mike@lorax.com Quaerendo invenietis. Rubicon Software -JSBach (510) 652-2039
Newsgroups: comp.sys.next.programmer From: mike@lorax.com (Mike Ferris) Subject: Re: Printing views... Message-ID: <CBLwL2.5EE@lorax.com> Sender: mike@lorax.com (Mike Ferris) Organization: Stultus Enterprises References: <10AUG93.23001130@enh.nist.gov> Date: Wed, 11 Aug 1993 17:58:13 GMT In article <10AUG93.23001130@enh.nist.gov> aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) writes: [How do I do print formatting for my view?] There are a whole host of view methods that have to do with printing. Probably most important for a sophisticated view is to know where your pages are. If your view knows where its pages are, then it should implement -knowsPagesFirstAndLast and -getRect:forPage:. This will allow you to do your own pagination. Then there are many methods you can implement that the printing machinery will call for you. These methods allow you to do many different things, including adding postscript to the stream at strategic areas. One or more of these methods could be used to do headers and footers or page numbers, or whatever. Look in the General Reference Vol I. The View documentation has info on all these methods. In the method summary, the three sections to look at are "Printing", "Setting up pages" and "Writing conforming PostScript". I hope this helps, ____________________________________________________________ Mike Ferris Every time that wheel goes 'round, mike@lorax.com You're bound to cover Rubicon Software just a little more ground. (510) 652-2039
From: ctm@ardi.com Newsgroups: comp.sys.next.programmer Subject: Re: More Compiler? Trouble... Message-ID: <CBLzK2.4Hr@cobra.cs.unm.edu> Date: 11 Aug 93 19:02:19 GMT Article-I.D.: cobra.CBLzK2.4Hr References: <mabroa01.745049000@starbase.spd.louisville.edu> <1993Aug11.145522.733@proforma.com> Sender: news@cobra.cs.unm.edu Organization: ARDI In article <1993Aug11.145522.733@proforma.com> jgg@proforma.com (J. G. Gregory) writes: >In article <mabroa01.745049000@starbase.spd.louisville.edu> >mabroa01@orion.spd.louisville.edu (Morgan Broadhead) writes: >>I'd like to thank everyone who took the time to email me or post >responses >>to my debugging inquiries. > >[Lot's of very familiar emotion deleted.] > >Morgan, you are suffering from something that sounds an awful lot >like lack of experience. Don't get me wrong, we were all there once, >and I feel empathy because I have had exactly the same feelings not >too long ago. Some of us still don't escape the really nasty feeling >that it is "someone else's" code. But my experience says it isn't >the compiler, MallocDebug, or gdb. It is your code. MallocDebug >probably would show it to you if you looked at it at the right time, >before it starts killing your program, gdb, and whatever else. > >I learned a motto once from someone. It goes like this: > >"If you have checked everything and you are sure it is right, but the >problem remains, then something you are sure of is wrong." ... I can remember when I was quite the novice programmer. I'd program along (in Assembly and Fortran) and when things didn't work, I'd just work it through (much of this was on a Dec-10 with a rather limited debugger). Finally I hit something that I just couldn't figure out. I caved in and asked my best friend and mentor, Chris Caldwell, what the problem was. He futzed with my Fortran for a while and eventually said "compiler bug". (I didn't know enough then to verify that it was indeed a compiler bug, in fact I didn't even think Chris could be wrong. I'll never know about this particular instance). The trouble is that my ability to program temporarily took a major hit since everytime I'd get stuck I'd be sure I found a compiler bug and I'd cry out "Oh Chris!..." Eventually I got over my hangup, *but* now I know enough that I can find and verify compiler bugs myself. Executor and Mat's synthetic CPU push the compiler pretty hard (Fudd's law: push something hard enough and it will fall over). Just within the last month I found a bug in the assembler that was introduced in 3.1 (for you doubters, it has been confirmed as a bug by NeXT). Yahoo. Goes to show you don't ever know... --Cliff ctm@ardi.com
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: question about fat .o files Message-ID: <1993Aug11.002058.3367@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <1993Aug10.141730.18148@biztech.com> Date: Wed, 11 Aug 1993 00:20:58 GMT In article <1993Aug10.141730.18148@biztech.com> anderson (Ken Anderson) writes: -> In article <1993Aug8.231400.2691@Princeton.EDU> paul@phoenix.Princeton.EDU -> (Paul Lansky) writes: -> > -> >How do I combine a bunch of fat .o files into a single -> >fat .o file, for subsequent inclusion in a fat binary. -> >cc -c doesn't seem to work, and ld doesn't know about -> >multiple architectures. thanks -> > -> >paul lansky -> >paul@princeton.edu -> -> Paul, -> -> Use: -> -> cc -nostdlib -r -arch m68k -arch i386 -o <output file> <.o's> -> -> The answer is actually IN the NeXT Developer Release Notes -> in a file called FatFiles.rtf. -> -> Ken Anderson -> anderson@biztech.com -> Stamford, CT The above Multi-architecture compile will indeed make fat .o files. These than then be combined into a linker library with: libtool -s -o <libname> [*.o | <ofilelist>] Bruce Gingery bruce@TotSysSoft.com Total System Software NeXT-Mail preferred -- MIME Mail ok.
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: More Compiler? Trouble... Message-ID: <1993Aug11.005752.3457@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <mabroa01.745049000@starbase.spd.louisville.edu> Date: Wed, 11 Aug 1993 00:57:52 GMT In article <mabroa01.745049000@starbase.spd.louisville.edu> mabroa01@orion.spd.louisville.edu (Morgan Broadhead) writes: [snip] -> These 'problems' seem to be randomly generated within -> a particular version of the program. This is a key phrase that generally indicates 1. a bad stack usage or 2. a stray pointer. Make sure that you're not counting on persistance in returned function values unless the CALLER is explicitly allocating the memory for the return value. Make sure you're not allocating space, freeing it elsewhere based on an arbitrary condition which may change from version to version, but not likely from run-to-run of the same version, and counting on a SHALLOW COPY of that pointer being valid elsewhere. Make sure you're not trying to retain zone allocated data which has been freed -- such as: open NXStream write to it, or fill it from a file Map it to a char * close the stream with a free memory option attempt to use the char * or write to the stream after it's closed. NOTE that some closes do not clear the pointer to stream! Bruce Gingery bruce@TotSysSoft.com Total System Software NeXT-Mail preferred MIME Mail ok.
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: Shared Libraries Message-ID: <1993Aug11.012128.3590@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <1993Aug11.063430.25876@csus.edu> Date: Wed, 11 Aug 1993 01:21:28 GMT In article <1993Aug11.063430.25876@csus.edu> eps@futon.SFSU.EDU (Eric P. Scott) writes: -> In article <248p1j$7u2@turtle.mrj.com> dbbrown@sponge.mrj.com -> (Daniel B. Brown) writes: -> >Can anyone out there direct me to where I can find -> >any directions on how to make my own shared library? -> >Hints and clues appreciated. -> -> Convince NeXT you have a legitimate need to know and sign a -> nondisclosure agreement. Even sites that paid $10K-$15K -> for a NeXT source code license didn't get the shared -> library materials. Bad help again, Eric... From man 1 ld... -fvmlib Produce a Mach-O fixed VM shared library format file. ==================================================== The headers are placed in the first segment but the first section in that segment will be placed on the next segment alignment boundary in that segment. All sections are placed in there proper segments and they are padded to the segment alignment. This has a file type of MH_FVMLIB. Earlier in the ManPages, it gives a rather cryptic explanation of how the shlib linkages are created in normal executables to point to shlib code from the lib*.a stubs.
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: MAB - architectures (repost) Message-ID: <1993Aug11.013851.3668@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software Date: Wed, 11 Aug 1993 01:38:51 GMT Again... Does anyone know the significant difference (if any) between using: -arch m68k or -arch m68030 or -arch m68040 -arch i386 or -arch i486 or -arch i486SX or ... AND -- are any of the other architectures in the slightest valid as yet? (NEXTSTEP_Dev_3.1) Bruce Gingery bruce@TotSysSoft.com
Newsgroups: comp.sys.next.programmer From: roberto@SoftDesign.COM (Roberto Arrocha) Subject: ButtonCell's contents Message-ID: <CBI1CK.C3@SoftDesign.COM> Keywords: NeXTSTEP, Appkit, ButtonCell Sender: roberto@SoftDesign.COM (Roberto Arrocha) Organization: SoftDesign, Inc. Date: Mon, 9 Aug 1993 15:50:43 GMT I have a Button whose title can change depending on a set of conditions. This title can, on occasion, be longer than the Button can display. I would like to programmatically determine how many characters can the Button's ButtonCell display, so that I can make some adjustments and display something that is more readable, rather than let ButtonCell crop the end of the title. I have determined that ButtonCell knows of the entire title string (ButtonCell's char *contents), but when such string is longer than it can be displayed, ButtonCell crops. I guess I am asking how does ButtonCell determine how long a string it can display. It has to do with the Button's frame rect and the current font, I am sure. Thanks. -- Roberto SoftDesign, Inc.
Newsgroups: comp.sys.next.programmer From: aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) Subject: RE: Shared Libraries->Bundles Message-ID: <11AUG93.22344260@enh.nist.gov> Sender: news@dove.nist.gov Organization: NIST References: <248p1j$7u2@turtle.mrj.com> <1993Aug11.142453.534@ccsi.com> Date: Thu, 12 Aug 1993 03:34:42 GMT The main problem with this approach is speed, speed, speed. Currently, I have an app that dynamically loads many of the classes that we work with. Part of the reason is so these classes can be expanded after the program has been running... dynamic class additions are great. On the other hand, as soon as we have a class developed we intend to install it permanently in the main object code. Another problem, and one that might be more obscure is the following: Right now, attempting to make a class call such as: [[AClass alloc] init]; Only works if the compiler knows about the class. If it is dynamically loaded, you are forced to use the more cumbersome (and slower) objc_getClass() function. Because the function must look up a class by a string name, it is very much slower than having compile time references to the classes. In your scenario, the compiler would have to store an open ended reference to each class you use. At run time (or when needed), the system would have to go to an area on the hard drive (imagine the nightmare of coming up with a standard file structure for this one! BTW: the whole reason to use bundles is to avoid such a file structure), load the bundle, and associate each of the "loose" ends (left over from compile time) with it. To make matters worse: If you had a spelling error, the compiler would not know that it could not resolve the class pointer, and you would get run time crashes. If you think these things are hard to track down now!! The object oriented approach to programming has its advantages, and its dis-advantages, and I think it is important that we remember that we are dealing with a language (C) that is defintely NOT obj-oriented. In a true object oriented environment, the idea of having classes linked in through bundles would make a lot more sense: The operating system could keep track of classes in shared libraries, and you could get a class by making a simple request to the O.S.... just think about what the future holds! Kevin
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Re: Shared Libraries->Bundles Message-ID: <1993Aug11.191202.9073@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software References: <1993Aug11.142453.534@ccsi.com> Date: Wed, 11 Aug 1993 19:12:02 GMT Sean L. Hill writes >Does anyone suppose NeXT will eventually eliminate Shared Libraries >altogether? > >I think that it would be pretty cool to have all the classes in the form >of Bundles and then have the NXBundle mechanism built into the Obj-C >runtime so that when you so something like [[NXImage alloc] init...] the >Obj-C >runtime knows to use NXBundle to find the class so named. This would be >very cool for automatically using new classes that a programmer might >extend. > >How about it. What are some of the problems or benefits? Problem is that, if you have five apps that load a given bundle, you'll have five times the amount of virtual mememory consumed as compared to using shared libraries. Shared libraries allow sharing of compiled code across apps, so they save on runtime space as well as disk space (in terms of the size of the app). Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Re: Shared Libraries Message-ID: <1993Aug11.190814.9012@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software References: <1993Aug11.063430.25876@csus.edu> Date: Wed, 11 Aug 1993 19:08:14 GMT Eric P. Scott writes >Convince NeXT you have a legitimate need to know and sign a >nondisclosure agreement. Even sites that paid $10K-$15K for a >NeXT source code license didn't get the shared library materials. > > -=EPS=- I presume you're talking about the source to NetInfo sources? Or has NeXT made Appkit sources available? (This would shut Greg A. and me up 'cept for the price tag involved) Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
Newsgroups: comp.sys.next.programmer From: lloyd@world.std.com (Chris Lloyd) Subject: Re: Shared Libraries Message-ID: <CBMEtz.49A@world.std.com> Organization: The World Public Access UNIX, Brookline, MA References: <1993Aug11.063430.25876@csus.edu> <1993Aug11.012128.3590@ToTSySSoft.com> Date: Thu, 12 Aug 1993 00:32:23 GMT In article <1993Aug11.012128.3590@ToTSySSoft.com> bruce@TotSysSoft.com (Bruce Gingery) writes: >In article <1993Aug11.063430.25876@csus.edu> eps@futon.SFSU.EDU (Eric P. Scott) writes: >-> In article <248p1j$7u2@turtle.mrj.com> dbbrown@sponge.mrj.com >-> (Daniel B. Brown) writes: >-> >Can anyone out there direct me to where I can find any directions on >-> > how to make my own shared library? >-> >-> Convince NeXT you have a legitimate need to know and sign a >-> nondisclosure agreement. Even sites that paid $10K-$15K >-> for a NeXT source code license didn't get the shared library materials. > >Bad help again, Eric... > >From man 1 ld... > >-fvmlib > [.. man entry deleted ..] Uh, yea, nice try. Post an example that works. Go ahead, dare ya! dare ya! blah, -- :: Christopher Lloyd :: Yrrid Incorporated :: lloyd@world.std.com :: :: NEXTSTEP Special Forces ::
Newsgroups: comp.sys.next.programmer From: wave@pixar.com (Michael B. Johnson) Subject: Re: Shared Libraries->Bundles Message-ID: <1993Aug11.233639.17981@pixar.com> Sender: news@pixar.com (Usenet Newsmaster) Organization: Pixar -- Point Richmond, California References: <24bck0$lat@ursula.ee.pdx.edu> Date: Wed, 11 Aug 1993 23:36:39 GMT In article <24bck0$lat@ursula.ee.pdx.edu> marcus@ursula.ee.pdx.edu (Marcus Daniels) writes: > The likely reason NeXT doesn't want to support Shared libraries is > that they are enormously tedious way to maintain. > > What do people want shared libraries for? I'd rather NeXT come up > with an efficient cleaner alternative. An object broker daemon, > perhaps. > Well, not everything is an object. I use tcl (the tool command language from Berkeley) in almost all of my projects. As a matter of fact, I'm using it in several Workspace Inspectors I'm writing. I also use tcl in the various palettes I've written for IB. I also use it in the loadable bundles I've written for 3DReality. I also use it in the sound server I wrote. I also use it... Anyway, you get the idea. tcl is a reasonably large, stable, portable piece of ANSI C code that works just fine, and although I have a TCLInterp object that provides a nice OO cover, that is orthogonal to whether or not I want a shared library version of that library of code. It sure would be nice to have a libtcl_s.a (or whatever their naming convention is) which all my various apps, bundles, palettes, etc. so that the code was loaded into memory once, As opposed to (right now in my system) the one linked into Workspace.app (because of my inspectors), IB (because of my palettes), 3DReality (because of my bundles), and the 4 apps I'm running right now (because they use tcl as their interapplication language). I think that's a pretty good reason... -- --> Michael B. Johnson -- wave@media.mit.edu, wave@pixar.com --> MIT Media Lab -- Computer Graphics & Animation Group --> P*I*X*A*R -- IceMan Group (for the summer)
From: gad@eclipse.its.rpi.edu (Garance A. Drosehn) Newsgroups: comp.sys.next.programmer Subject: Re: User interface quandry Date: 12 Aug 1993 01:18:02 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Distribution: world Message-ID: <24c5oa$t4@usenet.rpi.edu> References: <247l5l$14a@digifix.digifix.com> sanguish@digifix.com (Scott Anguish) writes: > The program that I use to generate approvals for comp.sys.next.announce > has alot of fields that I need to display. Only some are used on a > regular basis though. > > There are the important fields that I always check [eg: From:, > Subject:, and Reply-To:] and then a whole mess of others.... > the nib is laid out much like mail.app's send window, or NewsGrazers > post window. > > But both NG and mail.app require you to open a panel to enter > these fields. Since I can have multiple Approval windows open > at once, its difficult to be sure which is attached to which. > > I've thought about using a split view, but that doesn't seem like > the "right" thing to do. It would make it appear that you can > resize the upper area and the lower area instead of just making > the extra fields (the middle area) visible. > > I've thought about maybe about something like Improv uses to > separate the main matrix of spreadsheet cells from the formulas > area. Its like an NXSplitView, but the "dimple" is right over > to the one side. > > Does anyone have any comments, or have they come across this > already, and come up with a better solution? I was interested in seeing some kinda debate about this, just to see what ideas would pop up. How about having it as a separate panel, setup sorta like a pallette thingy in some of the drawing program. You have the extra-fields panel "stick" to the side of the matching approval window, so the extra-fields panel is at a fixed location wrt the approval window it's related to. Another option is to base it on the key window (sort of the inspectors approach in Workspace). While you may have many approval windows on the screen, there would only be one extra-fields panel, and the contents of that panel would depend on which approval window was the key (or most-recently-key) window. The third option would be to have it like a multi-panel preferences panel. Display the from, subject, and reply-to fields at the top (always). Probably have a row of buttons under that, if it's like a Send window in Mail. Under that, have the text field *-OR-* a form with all the extra fields in it. Use a pop-up menu, a button, or a check-box control to switch between the two forms. Well, actually, that's not too much different than what you started out with, if you change that option to keep the text-field area visible. The difference is that you'd use a button to make the extra fields appear or disappear, instead of using an adjustable split view. -- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu ITS Systems Programmer (handles NeXT-type mail) Rensselaer Polytechnic Institute; Troy NY USA
From: besler@gdss.commerce.ubc.ca (Steven Besler) Newsgroups: comp.sys.next.programmer Subject: Re: How to subclass for a drawing app? Date: 12 Aug 1993 01:39:23 GMT Organization: The University of British Columbia Distribution: world Message-ID: <24c70b$hq1@iskut.ucs.ubc.ca> References: <24au9j$bu6@csugrad.cs.vt.edu> David Holcomb writes <I am involved in writing code for a modeling/simulation <program. Currently all drawing objects (which are selected <from a tools palette) are subclassed from the Object class. <Detection of whether an object has been selected on the <screen is accomplished by implementing mouseDown: and cycling <through a list of all objects on the screen and performing <an intersection routine on those objects whose largest <enclosing rectangle contains the mouse click. I am working on a similar application. Do you use the DPS functions for hit detection? (infill, etc) I do. It works like a charm. My loop stops after finding the first object which is hit, which is also the one which appears on "top" in the diagram. The advantage is that your objects don't need to be rectangular, and "It Just Works". When I was implimenting this system I was warned that it would be "too slow", but I figured that it was so much easier to program that its was worth at least seeing how well it works. I haven't had any problems. I haven't optimized it at all yet, but could only test those objects near the mouse-down location. <I am new to NeXTSTEP programming, but it appears from all the <NeXTSTEP programming texts I have that this same functionality <can be accomplished by subclassing the drawing objects (e.g. <circles, ellipses, lines) from the View class. Then all you <have to do is implement hitTest: to both receive mouse events <and determine whether the mouse click was on the object. Yeah, I noticed references to this after I already implimented mine a different way. I'm also interested in this, especially if I can use it to optimize my app. <I would like to know which method seems to be the "better" <or more reasonable approach. Me too. Steve. -- Steven K. Besler <besler@gdss.commerce.ubc.ca> (NeXTmail) UBC 3.5th yr CS Coop Student & NeXTSTEP Application Developer "Being the richest man in the cemetery doesn't matter to me. Going to bed at night saying we've done something wonderful . . . that's what matters to me." Steven P. Jobs CEO of NeXT, Inc.
From: ben@carie.mcs.mu.edu (Benjamin Black) Newsgroups: comp.sys.next.programmer Subject: Compiling Mach 3.0 under NEXTSTEP Date: 12 Aug 1993 02:00:08 GMT Organization: Marquette University - Dept. Math, Statistics, & Comp. Sci. Distribution: world Message-ID: <24c878$amu@spool.mu.edu> Hi, Has anyone tried to compile the Mach 3 microkernel under NS 3.0? I would guess it would be easier than most Unices because all the special Mach files are in place. Is there some glaring reason this is not possible? I need to know this for a school project, so flawless operation is not essential. I just need to get it to compile so I can work on a server for it. Thanks, Ben ben@carie.mcs.mu.edu (NeXTmail welcome) "Reality is the only word in the language that should always be used in quotes."
Newsgroups: comp.sys.next.programmer From: jfr@aspen.pdh.com (Jon F. Rosen) Subject: Re: More Compiler? Trouble... Message-ID: <CBMCKv.E2G@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. References: <1993Aug11.145522.733@proforma.com> Date: Wed, 11 Aug 1993 23:43:42 GMT J. G. Gregory writes > >[Lot's of very familiar emotion deleted.] >[munched JG's comments on software engineering :-)] > > I learned a motto once from someone. It goes like this: > > "If you have checked everything and you are sure it is right, > but the problem remains, then something you are sure of is > wrong." This reminds me of Stan Kelly-Bootle's Devil's DP Dictionary (a wonderful book if you can find it in print) and following entry: Software Rot (also known as Bit Decay): A phenomenon the existence of which has been shown to exist by the observation that software will cease to work after a lengthy period of time has elapsed even though "nothing has changed". (The double quotes were in the original, of course :-) Jon Rosen
Newsgroups: comp.sys.next.programmer From: ctm@ardi.com Subject: Re: Shared Libraries Message-ID: <CBMLqx.5CC@cobra.cs.unm.edu> Sender: news@cobra.cs.unm.edu Organization: ARDI References: <248p1j$7u2@turtle.mrj.com> <1993Aug11.142957.6603@afs.com> Date: Thu, 12 Aug 1993 03:01:36 GMT In article <1993Aug11.142957.6603@afs.com> greg@afs.com writes: >In article <248p1j$7u2@turtle.mrj.com> dbbrown@sponge.mrj.com (Daniel B. >Brown) writes: >> Can anyone out there direct me to where I can find any directions on how >> to make my own shared library? Hints and clues appreciated. > >I'd be a millionaire if I had the answer that that question. Many people >want to do this, but it can't be done. NeXT doesn't distribute the tools >needed to build them. This is my 2nd biggest complaint about NS (after the >source code issue we've been discussing in c.s.n.advocacy). > >-- >Gregory H. Anderson | "History is the fiction we invent to >Revisionist Autobiographer | persuade ourselves that events are >Anderson Financial Systems | knowable and that life has order and >greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93 Has anyone spent much time trying to reverse engineer the necessary tools. It seems to me that with all the examples in /usr/shlib and with ld, otool, strings and other odd implements of destruction that it shouldn't be too hard to jury rig a solution that would be good enough to shame NeXT into letting the real info out. I've spent fifteen minutes looking into it and I think it's doable, but I've been wrong before. I think EPS could do this. Maybe Christopher Lloyd could. I offer my services as a reenigne if anyone wants a kibitzer. Shared libraries wouldn't really help us over here, but maybe after Executor/NEXTSTEP 1.3 and Executor/DOS 1.0 are shipping I'll look into it. --Cliff ctm@ardi.com
Newsgroups: comp.sys.next.programmer From: abell@netcom.com (Steven T. Abell) Subject: Mouse Click Interval Message-ID: <abellCBMtsE.J4v@netcom.com> Organization: NETCOM On-line Communication Services (408 241-9760 guest) Distribution: na Date: Thu, 12 Aug 1993 05:55:25 GMT How does a program find out what the mouse click interval is? Steve abell@netcom.com
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: User interface quandry Date: 12 Aug 1993 01:03:04 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <24ciu8$4ie@digifix.digifix.com> References: <24c5oa$t4@usenet.rpi.edu> Garance A. Drosehn writes > sanguish@digifix.com (Scott Anguish) writes: > > I've thought about maybe about something like Improv uses to > > separate the main matrix of spreadsheet cells from the formulas > > area. Its like an NXSplitView, but the "dimple" is right over > > to the one side. > > I was interested in seeing some kinda debate about this, just to > see what ideas would pop up. > > How about having it as a separate panel, setup sorta like a pallette > thingy in some of the drawing program. You have the extra-fields I think this is the way Mail.app works now, and its confusing. Although Mail.app doesn't "attach" the panel to the window. I don't like programs that move other windows when I move a window. If I wanted that window to move, I would have moved it! :-) >Another option is to base it on the key window (sort of the >inspectors approach in Workspace). While you may have many approval >windows on the screen, there would only be one extra-fields panel, >and the contents of that panel would depend on which approval >window was the key (or most-recently-key) window. That would work, but again, another window on the screen. More stuff to have to move around. > The third option would be to have it like a multi-panel preferences > panel. Display the from, subject, and reply-to fields at the top > (always). Probably have a row of buttons under that, if it's like > a Send window in Mail. Under that, have the text field *-OR-* a > form with all the extra fields in it. Use a pop-up menu, a button, > or a check-box control to switch between the two forms. Now this one was also suggested in E-Mail by Greg@afs.com. I have to say I should have been able to figure out that what I am talking about is basically a swapping view situation. But it doesn't give me the option of viewing all the information at once, where a "collapsable view" would. There was one other suggestion, and that was to put all the TextFields into a Scrollview. While I appreciate the suggestion, from a UI point of view, thats really ugly. I still haven't really decided on the way to go. greg@afs.com offered a couple of his objects from the afskit to implement it, but since this is going into the comp.sys.next.announce Approval software, I really wanted to try and keep to objects that are available to all. Any other ideas from anyone? -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: SUMMARY: Adding services support to Yap.app Date: 12 Aug 1993 03:01:00 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <24cprc$59f@digifix.digifix.com> Nobody it seems had implemented was I was looking for in Yap.app - a services option to stick the currently selected text into a yap window. - the ability to print a Yap output window. I have done the first part, and the small changes are below. In YapApp.m you need to add the following - yapSelection:pasteboard userData:(const char *)userData error:(char **)msg { const NXAtom *types; char *posting; int postingLength; char buf[MAXPATHLEN+1]; NXStream *ts; id filterboard; /* get the message */ filterboard = [Pasteboard newByFilteringTypesInPasteboard:pasteboard]; [filterboard types]; if ([filterboard readType:NXAsciiPboardType data:&posting length:&postingLength]) { ts = NXOpenMemory(NULL, 0, NX_READWRITE); NXWrite(ts, posting, postingLength); sprintf(buf,"/tmp/XXXXXX"); NXGetTempFilename(buf,strlen(buf)-6); if (NXSaveToFile(ts, buf)==-1) NXBeep(); NXCloseMemory(ts, NX_FREEBUFFER); [YapDocument newFromFile:buf]; vm_deallocate(task_self(), (vm_address_t)posting, postingLength); } else {*msg = "Could not read selection"; return nil;} [filterboard free]; return self; }; - appDidInit:sender { [[NXApp appListener] setServicesDelegate:self]; return self; } ------------------------------------ in YapApp.h add - appDidInit:sender; - yapSelection:pasteboard userData:(const char *)userData error:(char **)msg; ------------------------------------ Add file called Makefile.preamble that contains the line... LDFLAGS=-sectcreate __ICON __services yap.services ------------------------------------ Finally, you need to add a file called yap.services containing Message: yapSelection Port: Yap Send Type: NXAsciiPboardType Menu Item: Yap/Open in Yap ------------------------------------ You could add more Send Types, because I call a routine that will run the selection through a filter to change it to ascii if available. Thats it. Compile and install. You may need to log out to rebuild the services database. Select some ascii text in NewsGrazer or whereever, and pick Services->Yap->Open in Yap It just works. It would probably be good to add being able to select files in the workspace, but that is left as an exercise to the reader. -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
From: blake015@mc.duke.edu (Denise Blakeley) Newsgroups: comp.sys.next.programmer Subject: Re: How to install Stuart 2.4? Message-ID: <18919@news.duke.edu> Date: 11 Aug 93 12:41:16 GMT References: <chris.745013161@du139-206.cc.iastate.edu> Sender: news@news.duke.edu Chris Wong writes > Just how on the earth can I install Stuart shell on NeXTSTEP 3.1/FIP? You can't yet--it's not "fat". Last I knew, Scott Hess was working on it but encountering some hitches. (I hope Scott doesn't mind me speaking up on his behalf...) Denise -- Denise Blakeley | PROGRAM, tr. v., An activity similar Duke Med Center Info Systems | to banging one's head against a wall, Durham, NC | but with fewer opportunities for (919) 282-6468 W | reward. blake015@mc.duke.edu |
From: derek@ittpub.nl Newsgroups: comp.sys.next.programmer Subject: Re: CDPlayer.app only works under "root" -- why? Message-ID: <1993Aug12.123236.377@ittpub.nl> Date: 12 Aug 93 12:32:36 WET+0100 References: <1993Aug9.145006.8536@nrao.edu> Organization: ITT Publitec R+D BV, Amsterdam James, Make sure that the app is owned by root, then set its setuid bit with chmod. Alternatively, re-install the original CDPlayer.app while logged in as root. Derek Denyer ITT Publitec Amsterdam. In article <1993Aug9.145006.8536@nrao.edu>, moose@moose.nosc.mil (James B. Moosmann) writes: > Hi, > I finally got a CD-Player for the NeXT. I decided to play a music CD > using the CDPlayer.app found in /NeXTDeveloper/Demos. Logged in as any > other user besides "root", the CDPlayer complains that it can't find the > CD-ROM drive. The console error generated is " cdutil: opencd: permission > denied". I have tried changing the group permissions to those of the > root's default group for the other user, but it doesn't work either. > Would anyone who knows why this doesn't work, or what does please tell me > what to do. My NeXT is standalone and NetInfo is disabled. BTW, when I > put the NeXT CD-ROM in the player, it gets put on the desktop for both > root and user. > > Thanks in advance. > ______________________ > > James Moosmann NeXT/E-Mail: moose@antilles.nosc.mil > 703-786-0807 @ Home > 703-602-8080 @ Work
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Re: Shared Libraries Date: 12 Aug 1993 11:36:07 +0100 Organization: me organized? That's a joke! Message-ID: <24d6en$3ah@steffi.demon.co.uk> References: <1993Aug11.063430.25876@csus.edu> <1993Aug11.012128.3590@totsyssoft.com> bruce@TotSysSoft.com (Bruce Gingery) wrote > >Bad help again, Eric... OK, let's all lay off Eric please. We are privildeged to have him and others like him participate in this forum. These guys know a lot and do contribute significantly so they don't deserve this shit.
From: hubert@lte.e-technik.uni-erlangen.de (Hubert Moesslein) Newsgroups: comp.sys.next.programmer Subject: DSP-programming Date: Thu, 12 Aug 1993 13:50:06 GMT Organization: LTE, University of Erlangen, Germany Distribution: world Message-ID: <24dhqeEc5p@uni-erlangen.de> Hello, has anyone experience in using the DSP in the NEXT. I'm trying to set up a stream through the DSP to sndout using the function snddriver_stream_setup(...) with dataPath = SNDDRIVER_DMA_STREAM_THROUGH_DSP_TO SNDOUT_44 Now I want to know, what I have to do to get the data from the DSP to SNDOUT. Thanks in advance for your help and please answer via email, because I don't read this group very often. bye Hubert _______________________________________________________________________________ _ | // | email: hubert@lte.e-technik.uni-erlangen.de // | phone: 0049-9131 85-7190 (univ.) ||||| _ // | 0049-9131 24682 (priv.) o(@)^(@)o \\ // | Stubenlohstr.13 91052 Erlangen / W-Germany \ U / \\ // |_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_- <#> \X/ things, that try to look like things, do often more look like things than things
From: Robert Nicholson <robert@steffi.demon.co.uk> Newsgroups: comp.sys.next.programmer,mlist.next-prog Subject: Drag and Drop with appIcon? Date: Thu, 12 Aug 93 14:20:06 GMT Message-ID: <9308121256.AA04824@steffi.demon.co.uk> Organization: me organized? That's a joke! This has been raised before but I've finally needed to be able to do this stuff. I can't find the previous posts anywhere in my archived news. Anyway, I'm trying to use the D&D API with the appIcon Here's the code - appDidInit:sender { NXRect f; [[[NXApp appIcon] contentView] getBounds:&f]; view = [[FileView alloc] initFrame:&f]; [[[NXApp appIcon] contentView] addSubview:view]; //[[[NXApp appIcon] setContentView:view] free]; [view display]; return self; } I've verified that the D&D stuff works in other views ie. not icons and I know that the view has made it's way into my icon as I am drawing in the view. Why doesn't my view receive D&D notification messages when it's in the icon? Alternatively I could use the old API which Opener.app still uses but I'd like to get this working. It's probably a tier thing????
Newsgroups: comp.sys.next.programmer From: aoml@enh.nist.gov (DoC/NOAA/AOML Miami, FL) Subject: An idea about massaging NXImages to my needs... Message-ID: <12AUG93.17414911@enh.nist.gov> Sender: news@dove.nist.gov Organization: NIST Date: Thu, 12 Aug 1993 22:41:49 GMT I posted earlier asking for suggestions on two items: 1. Changing the color of an existing image. 2. Providing an offset for the image (so it would draw about the center, instead of the lower left hand corner). Thanks to everyone who sent me suggestions. On the first item: Problem solved. I finally figured it out this morning: I create a new Image that is the same size as my existing image, use NXRect to fill a rectangle of the desired color. I then lockFocus on the image I want to change, and composite the first image over it, using NX_SIN. It works like a charm, as long as I have everything I want to change color in a solid, and the background in a clear color. Pretty neat. So that got me thinking: If I can lockFocus on an area of the cache window that holds the image, can I send that view a message telling it to offset itself? I obviously don't know enough about how the imaging works, so I am asking if you all think it is plausible. Unfortunately, I can't just offset the view I am drawing to. Thanks for any suggestions or help! Kevin
From: ssircar@canon.com (Subrata Sircar) Newsgroups: comp.sys.next.programmer Subject: Re: Drag and Drop with appIcon? Date: 12 Aug 1993 12:25:24 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9308121723.AA12427@alychne-nc.canon.com> I couldn't do this either, and neither could two others who have brought this up before. There are two problems, both stemming from the fact that the AppKit treats appIcons as special: 1. Drag and drop on the appIcon is against the NeXT Interface Guidelines unless you use the command-key drag interface (which doesn't require any drag-n-drop code). This limits you to a single file at a time. 2. AppIcons are special; they have their own private delegates, which do weird things for them. Setting your own delegate is not allowed (the Kit doesn't let you unless you use objc_setInstanceVariable or directly munge the pointer). a. When I do this, if the Kit "discovers" that the appIcon delegate is not actually connected, then it resets it. A view of some kind over the icon is safer. b. When I place a transparent view over the appIcon, then I get the phenomena that the app will work if I launch it from gdb or from a shell: gdb MyApp.app/MyApp MyApp.app/MyApp but NOT if I double-click it or use "open". Any clues? If someone can explain this I'd be grateful - at least then I could frame an intelligent question to ask_next! --- Subrata Sircar|ssircar@canon.com (NextMail ok)|Prophet & SPAMIT Charter Member Canon Information Systems and I do not share the same views on everything. "I'm just mad that I missed the sexual revolution." - me "Yes, but you dress much better as a result." - Mike
From: ssircar@canon.com (Subrata Sircar) Newsgroups: comp.sys.next.programmer Subject: Otool on the NeXT ... Date: 12 Aug 1993 12:55:44 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9308121755.AA12489@alychne-nc.canon.com> I want to print out the contents of an application's iconheader. I can use something like the following: bugs | /home/alychne/eng/ssircar> otool -s __ICON __header /LocalApps/Tools/Opener.app/Opener | more /LocalApps/Tools/Opener.app/Opener: Contents of (__ICON,__header) section 0001c000 4609 4f70 656e 6572 2e61 7070 094f 7065 0001c010 6e65 7209 6170 700a 4609 4f70 656e 6572 0001c020 094f 7065 6e65 7209 6170 700a 5309 7368 0001c030 6172 094f 7065 6e65 7209 646f 6353 6861 0001c040 720a 5309 677a 094f 7065 6e65 7209 646f 0001c050 6347 7a0a 5309 6c7a 6809 4f70 656e 6572 0001c060 0964 6f63 4c7a 680a 5309 6871 7809 4f70 0001c070 656e 6572 0964 6f63 4871 780a 5309 7073 0001c080 094f 7065 6e65 7209 646f 6350 530a 5309 0001c090 7575 094f 7065 6e65 7209 646f 6355 550a 0001c0a0 5309 7a69 7009 4f70 656e 6572 0964 6f63 0001c0b0 5a69 700a 5309 7a6f 6f09 4f70 656e 6572 0001c0c0 0964 6f63 5a6f 6f0a 5309 7a09 4f70 656e 0001c0d0 6572 0964 6f63 5a0a 5309 7369 7409 4f70 0001c0e0 656e 6572 0964 6f63 5369 740a 5309 6269 0001c0f0 6e09 4f70 656e 6572 0964 6f63 4269 6e0a 0001c100 5309 6172 6309 4f70 656e 6572 0964 6f63 0001c110 4172 630a 5309 7461 7209 4f70 656e 6572 0001c120 090a 5309 5a09 4f70 656e 6572 090a 5309 0001c130 6570 7309 4f70 656e 6572 090a 0000 0000 but how can I parse it back into the Opener.iconheader format? Please e-mail me at ssircar@canon.com (or sksircar@phoenix.princeton.edu or ssircar%canon.com@forsythe.stanford.edu if the first address gives you trouble) since I doubt this is of interest to many people. I'll gladly summarize ... --- Subrata Sircar|ssircar@canon.com (NextMail ok)|Prophet & SPAMIT Charter Member Canon Information Systems and I do not share the same views on everything. "I'm just mad that I missed the sexual revolution." - me "Yes, but you dress much better as a result." - Mike
Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer From: mikem@afs.com (Mike Matlack) Subject: interface vs. implementation (was: We don't need no stinkin sources!) Message-ID: <1993Aug12.164522.1217@afs.com> Followup-To: comp.sys.next.programmer Sender: mikem@afs.com References: <1993Aug10.183817.20966@uropax.contrib.de> Date: Thu, 12 Aug 1993 16:45:22 GMT In article <1993Aug10.183817.20966@uropax.contrib.de> suckow@uropax.contrib.de (Ralf Suckow) writes: > >In article <1993Aug9.141745.2983@afs.com> mikem@afs.com (Mike Matlack) > >writes: > >> In article <1993Aug9.021101.2203@gleap.sccsi.com> clloyd@gleap (Charles > >> C. Lloyd) writes: > >> > NeXT, if you're listening, real OO programming *requires* source; > >> > REQUIRES it! > >> > >> One of the advantages of OO programming is that the implementation > >> details are hidden by the interface. This allows the developer of the > >> objects to totally change the implementation details of an object > >> without affecting the users (i.e. the developers writing subclasses of > >> those objects). ... > > Here's where Mike isn't right. If you want to totally change the > implementation details of an object it's better to rewrite it. Even this I just want to clarify a point. When I say "totally change the implementation details of the object", I am speaking of the _provided_ object. Let me explain... If I write a (non-ui) calculator object and give it to you, I would call the calculator a provided object. You can then do with it what you like...use it as is...subclass it to extend it...throw it away:-), etc. Like all other objects, this calculator object provides an interface for you to use: -add, -multiply, -integrate, etc. I should be able to totally change the way I implement the provided object, e.g. change the way -integrate does it's stuff, without affecting the user (who in this case is a developer) of this provided object. The interface to the method (how the user interacts with the method and the end result of the method) should not change. The implementation (the gory details of how I do integration in code) may change. If you take my provided object and redefine a method, bad things might happen in the future. If my new implementation of -integrate (in the provided object) has a new feature, e.g. dropping information on a stack for UNDO support, you're old redefinition of -integrate will not include that information. You'll need to change your object to include it. In the _worst_ case, if -integrate is part of a shlib (shared library), and I upgrade the shlib to include this new implementation, the application you wrote using your old redefinition might crash with the new shlib. In the not so worst case, your application may not include some new feature I added (e.g. the fax feature that was added to all new apps in 2.0). Followups to comp.sys.next.programmer... mikem -- Michael J. Matlack Anderson Financial Systems Mike_Matlack@afs.com (NeXTmail OK)
From: jayaram@pecan.egr.uh.edu (Prakash Jayaram) Newsgroups: comp.sys.next.programmer Subject: Help needed - App crash involving NXImages, Window Server Date: 12 Aug 1993 20:10:06 GMT Organization: University of Houston Message-ID: <24e82u$oar@menudo.uh.edu> In an application that I am developing, I have Blocks (subclass of user defined Object subclasses) that draw themselves by compositing an NXImage onto a View using NX_SOVER. Typically, I create around 50 such Blocks, each of them using a shared NXImage. When I double click on them, they find another image to display and composite this image instead. However, when I doubleClick Blocks with a high frequency the app crashes withth following error message. Aug 12 13:41:48 pecan WindowServer[2013]: IPCFlushOutput: failed to flush output for stream 0x415038. At other times, the application crashes followed by a whole bunch of messages like this: Aug 12 14:22:32 pecan WindowServer[2013]: Event discarded: window 11: 5 @ (3.550999e+20,1.433553e-305), 0. Aug 12 14:22:32 pecan WindowServer[2013]: Event discarded: window 11: 5 @ (3.597116e+20,1.433567e-305), 0. Aug 12 14:22:32 pecan WindowServer[2013]: Event discarded: window 11: 5 @ (3.643233e+20,1.433573e-305), 0. Have such things happened to anyone out there? Please tell me what you think could be the possible reasons for messages like these. Also, is there any place that error messages are documented? Any clues, NeXTSTEP gurus? -- --------------------------------------------------------------------------- Prakash Jayaram || Electrical Engineering || 3822 N Braeswood #146 University of Houston || Houston TX 77025-3025 jayaram@tree.egr.uh.edu || (713)-660 8731
Newsgroups: comp.sys.next.programmer From: sta@logibec.com Subject: Re: DBKit: unable to connect to database Message-ID: <1993Aug12.165550.17952@logibec.com> Sender: news@logibec.com Organization: Logibec Groupe Informatique Ltee, QC, Canada References: <trapacCBKJn7.GEI@netcom.com> Date: Thu, 12 Aug 1993 16:55:50 GMT In article <trapacCBKJn7.GEI@netcom.com> trapac@netcom.com (Transpacific Container) writes: > I've been trying to get the OracleDemo app to connect to our Oracle 7.0 databaserunning on an RS/6000. The Oracle DBkit adapter's login panel doesn't respond > with any indication of what the problem is. Using netstat, the only packets being sent are to the loopback device (lo0) even though I'm providing a valid host name. DBmodeler behaves the same way. Is there any additional DBkit Adaptor > setup required? Is the Adaptor's SQL*Net implementation complete (no TCP/IP > interface from Oracle required) ? The NeXT (3.1 FIP) to RS/6000 network is > currently operational (NFS, remote print & remote logins). > > Any ideas would be welcome. > > Keith Carpenter > trapac@netcom.com > (310) 513-7414 > On the server and the client, check if you have : orasrv 1525/tcp in /etc/services - if the server use NIS, be sure thta you add the entry in the master server machine. - NeXT: add the entry with NetInfoManager. - BE SURE the server run oracle/bin/orasrv. Stephane Ah-ki Montreal, Canada sta@logibec.com
From: dpp@athena.com (David Pollak) Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer,comp.sys.next.misc Subject: A new alias for suggestions for the New Mesa Date: 12 Aug 1993 21:27:36 GMT Organization: Athena Design, Inc. Message-ID: <24eck9$4j8@hermes.athena.com> Athena Design is starting the first major revision of Mesa. Mesa version 2 (M2) will be the most powerful spreadsheet in the world and will have a series of slick features that will make building and maintaining models easier. We'd like to get all kinds of ideas about where to take Mesa and have created an alias to receive suggestions. The alias is m2@athena.com. Please send mail with ideas and suggestions. We will NOT respond to these, but they will be read and considered. We will ask people with especially cool ideas to help beta-test Mesa2. We will also give out prizes (like t-shirts, etc.) to people with interesting ideas. Mesa version 2 should be out around Expo '94 and will be a free upgrade to all Mesa 1.4 and Mesa 1.5 users. Thanks and we look forward to getting the cool suggestions. David & the Mesa Team P.S. Just as a note, we do not want the suggestion "Clone Excel". If there is a specific feature in Excel that you like, tell us about it. Mesa2 will not be simply a clone of Excel or any other product, but will take the best ideas from the current best spreadsheets and roll them into the worlds best spreadsheet.
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Drag and Drop with appIcon? Date: 12 Aug 1993 13:56:05 +0100 Organization: me organized? That's a joke! Message-ID: <24del5$4mg@steffi.demon.co.uk> This has been raised before but I've finally needed to be able to do this stuff. I can't find the previous posts anywhere in my archived news. Anyway, I'm trying to use the D&D API with the appIcon Here's the code - appDidInit:sender { NXRect f; [[[NXApp appIcon] contentView] getBounds:&f]; view = [[FileView alloc] initFrame:&f]; [[[NXApp appIcon] contentView] addSubview:view]; //[[[NXApp appIcon] setContentView:view] free]; [view display]; return self; } I've verified that the D&D stuff works in other views ie. not icons and I know that the view has made it's way into my icon as I am drawing in the view. Why doesn't my view receive D&D notification messages when it's in the icon? Alternatively I could use the old API which Opener.app still uses but I'd like to get this working. It's probably a tier thing????
From: dpp@athena.com (David Pollak) Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer,comp.sys.next.misc Subject: Re: A new alias for suggestions for the New Mesa Date: 12 Aug 1993 22:01:08 GMT Organization: Athena Design, Inc. Message-ID: <24eej4$4ri@hermes.athena.com> References: <24eck9$4j8@hermes.athena.com> In article <24eck9$4j8@hermes.athena.com> dpp@athena.com (David Pollak) writes: > Mesa version 2 should be out around Expo '94 and will be a free upgrade to all > Mesa 1.4 and Mesa 1.5 users. > I should point out the the upgrade will be free to all people who purchased licenses to Mesa 1.4 or Mesa 1.5. Thanks and sorry about any confusion. David
Newsgroups: comp.sys.next.programmer From: jdawson@oceania.com (John Dawson) Subject: Re: How to install Stuart 2.4? Message-ID: <CBnwGn.2M5@oceania.com> Sender: jdawson@oceania.com (John Dawson) Organization: Oceania Health Care Systems References: <18919@news.duke.edu> Date: Thu, 12 Aug 1993 19:50:44 GMT blake015@mc.duke.edu (Denise Blakeley) writes: > Chris Wong writes > > Just how on the earth can I install Stuart shell on NeXTSTEP 3.1/FIP? > > You can't yet--it's not "fat". Last I knew, Scott Hess was working on it but > encountering some hitches. (I hope Scott doesn't mind me speaking up on his > behalf...) I think he might, in this case. The Stuart.app on my dock right this minute is fat; I use it on both NeXT and Intel hardware all the time. Same with TickleServices.app. Both work flawlessly, as near as I can tell, on both platforms. (P.S. -- I'd try to field the question about installing "Stuart shell" if I could figure out what that was supposed to mean.) ...jkd -- jdawson@oceania.com (John Dawson) We tend to scoff at the beliefs of the ancients. But we can't scoff at them personally, to their faces, and this is what annoys me.
Newsgroups: comp.sys.next.programmer From: amasood@denver.cba.du.edu Subject: DBKIT: How do you connect DbBinder's container to UI Message-ID: <CBo5xv.C75@du.edu> Sender: news@du.edu (USENET News System) Organization: University of Denver Date: Thu, 12 Aug 1993 23:15:30 GMT I have been trying to connect the container which is a list to a UI object for example some text fields and a browser, but I don't know how to do it. I have also been trying to connect the DbBinder with the dbmodule that I have dragged in the interface builder, but have been unsuccessful. Maybe there is another way of connecting the binder container with the UI object specially the NXBrowser? I would greatly appreciate any help in this matter. Aamer. -- NewsGrazer, a NeXTstep(tm) news reader, posting -- M>UQR=&8P7&%N<VE[7&9O;G1T8FQ<9C!<9FYI;"!3>61N97D[?0I<;6%R9VPQ M,C`*7&UA<F=R,3(P"EQP87)D7'1X.3$Q7'1X,3@R,UQT>#(W,S5<='@S-C0V M7'1X-#4U.%QT>#4T-S!<='@V,S@Q7'1X-S(Y,UQT>#@R,#5<='@Y,3$V7&8P M7&(P7&DP7'5L;F]N95QF<S(X7&9C,%QC9C`@22!H879E(&)E96X@=')Y:6YG M('1O(&-O;FYE8W0@=&AE(&-O;G1A:6YE<B!W:&EC:"!I<R!A(&QI<W0@=&\@ M82!522!O8FIE8W0@9F]R(&5X86UP;&4@<V]M92!T97AT(&9I96QD<R!A;F0@ M82!B<F]W<V5R+"!B=70@22!D;VXG="!K;F]W(&AO=R!T;R!D;R!I="Y<"EP* M22!H879E(&%L<V\@8F5E;B!T<GEI;F<@=&\@8V]N;F5C="!T:&4@1&)":6YD M97(@=VET:"!T:&4@9&)M;V1U;&4@=&AA="!)(&AA=F4@9')A9V=E9"!I;B!T M:&4@:6YT97)F86-E(&)U:6QD97(L(&)U="!H879E(&)E96X@=6YS=6-C97-S M9G5L+EP*7`I-87EB92!T:&5R92!I<R!A;F]T:&5R('=A>2!O9B!C;VYN96-T M:6YG('1H92!B:6YD97(@8V]N=&%I;F5R('=I=&@@=&AE(%5)(&]B:F5C="!S M<&5C:6%L;'D@=&AE($Y80G)O=W-E<C]<"EP*22!W;W5L9"!G<F5A=&QY(&%P M<')E8VEA=&4@86YY(&AE;'`@:6X@=&AI<R!M871T97(N(%P*06%M97(N"GT* `
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer,mlist.next-prog Subject: cmsg cancel <9308121256.AA04824@steffi.demon.co.uk> Control: cancel <9308121256.AA04824@steffi.demon.co.uk> Date: 12 Aug 1993 22:41:01 +0100 Organization: me organized? That's a joke! Message-ID: <24eddd$5h7@steffi.demon.co.uk> <9308121256.AA04824@steffi.demon.co.uk> was cancelled from within trn.
Newsgroups: comp.sys.next.programmer From: wave@pixar.com (Michael B. Johnson) Subject: another shared library problem Message-ID: <1993Aug13.011801.23288@pixar.com> Sender: news@pixar.com (Usenet Newsmaster) Organization: Pixar -- Point Richmond, California Date: Fri, 13 Aug 1993 01:18:01 GMT Here's a good example of something which has no good solution right now; only because NeXT won't let us make our own shared libraries. Let's say you write some code that you're putting in a bundle. Let's say that code uses some library (like, oh I don't know, tcl?). Fine, so you link the library in. Load the bundle into your app, everything works fine. Let's say you write some other bundle that gets loaded into the same program. This bundle also uses the same library the first bundle. You can't link the library into this bundle too, because either nasty things will happen or it won't load (multiple definitions). So what do you do? Well, if it's InterfaceBuilder and the bundles are palettes, you can specify the order of loading, so you make sure that the first bundle is always loaded before the second. Fine, kind of a kludge, but at least you can make it work reliably. But what about a program (oh, I don't know, maybe Workspace Manager) where you can't control the order of loading? Let's say you have two WorkSpace Inspectors that both use the same library. You have to make the decision beforehand which one to link the library with, because you can't do both. That means that a user has to cmd-2 (Contents Inspect) some file of the first type before the second (or third, or fourth, etc.) or it won't work. Worse than that, depending on the order things happen, you can kill the Workspace Manager. If I could make a shared library of the library that they all share, this would not be an issue. As far as I can see, if everybody does what NeXT wants them to (move towards making apps frameworks that load bundles in), a programmer is forced to do all sorts of weird kludges if they want to use their own libraries with their objects. NeXT, are you listening? Am I all wet, or I am just the only one trying to do this stuff? (I would happy to be wrong here, folks...) -- --> Michael B. Johnson -- wave@media.mit.edu, wave@pixar.com --> MIT Media Lab -- Computer Graphics & Animation Group --> P*I*X*A*R -- IceMan Group (for the summer)
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Re: another shared library problem Message-ID: <24f69a$t4g@ursula.ee.pdx.edu> Date: 12 Aug 93 14:45:30 GMT Article-I.D.: ursula.24f69a$t4g References: <1993Aug13.011801.23288@pixar.com> wave@pixar.com (Michael B. Johnson) writes: >Here's a good example of something which has no good solution right now; >only because NeXT won't let us make our own shared libraries. >Let's say you write some code that you're putting in a bundle. Let's say >that code uses some library (like, oh I don't know, tcl?). Fine, so you >link the library in. Load the bundle into your app, everything works >fine. >Let's say you write some other bundle that gets loaded into the same >program. This bundle also uses the same library the first bundle. You >can't link the library into this bundle too, because either nasty things >will happen or it won't load (multiple definitions). So what do you do? >Well, if it's InterfaceBuilder and the bundles are palettes, you can >specify the order of loading, so you make sure that the first bundle is >always loaded before the second. Fine, kind of a kludge, but at least you >can make it work reliably. >But what about a program (oh, I don't know, maybe Workspace Manager) where >you can't control the order of loading? Let's say you have two WorkSpace >Inspectors that both use the same library. You have to make the decision >beforehand which one to link the library with, because you can't do both. >That means that a user has to cmd-2 (Contents Inspect) some file of the >first type before the second (or third, or fourth, etc.) or it won't work. >Worse than that, depending on the order things happen, you can kill the >Workspace Manager. I haven't tried it before, but it should work... What happens if you wrap all the TCL symbols in a fake class and use explicit bundle preloading in the palettes? Create a bunch of unreferenced symbols in the class-source and link it against the `TCL' bundle. (or, isn't there a linker option for keeping all the non-unresolved library symbols?) That way the library wouldn't have to be touched and there would still be the advantages of dynamic linking -- without the `multiple defines'. Still, I agree with you, seeing as that it would relatively easy for NeXT to provide the tools. It's an example, perhaps, of NeXT being to religious about the `right approach'. If they would just provide both and a explain the tradeoffs, they'd satisfy and/or impress more people.
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Otool on the NeXT ... Message-ID: <1993Aug13.082311.3969@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <9308121755.AA12489@alychne-nc.canon.com> Date: Fri, 13 Aug 1993 08:23:11 GMT In article <9308121755.AA12489@alychne-nc.canon.com> ssircar@canon.com (Subrata Sircar) writes: >I can use something like the following: > >bugs | /home/alychne/eng/ssircar> otool -s __ICON __header >/LocalApps/Tools/Opener.app/Opener | more > >/LocalApps/Tools/Opener.app/Opener: >Contents of (__ICON,__header) section >0001c000 4609 4f70 656e 6572 2e61 7070 094f 7065 [...] >but how can I parse it back into the Opener.iconheader format? segedit /LocalApps/Tools/Opener.app/Opener -extract __ICON __header Opener.iconheader -=EPS=-
From: t146678@lehtori.cc.tut.fi (Tuominen Juha) Newsgroups: comp.sys.next.programmer Subject: Re: Video digitizer on DSP port Date: 13 Aug 1993 12:21:37 +0300 Organization: Tampere University of Technology, Computing Centre Distribution: inet Message-ID: <24fmf1$s00@cc.tut.fi> References: <248fpi$4qv@news.cerf.net> <249a99$6k8@agate.berkeley.edu> <249nh9$nkg@scratchy.reed.edu> In article <249nh9$nkg@scratchy.reed.edu> corbin@reed.edu (Chris C. Hallstrom) writes: >However, the original poster asked about a digitizer that would allow >the NeXT to read the image "afterwards". What does this mean? It might >suggest a device that would store a digitized image indefinately, until the >data was downloaded via the DSP (or other port). In other words, a device >one could use to capture an image "in the field" so to speak, which you >would then take back to the lab to download. In this case, Color Digital >Eye does not fit the bill since the capturing is initiated by the DSP. No, that's not what I meant.. I have a schematics for a digitizer for a PC that have 128 KB of static RAM and when PC writes to the board (/IOW signal), digitizing begins. The board captures the next incoming frame to the RAM and after that the digitized image can be downloaded to the PC's memory. I was thinking that the same board can be used on a NeXT by changing the interface can writing some software to do the downloading and saving the image as a TIFF etc. -- Juha Tuominen NeXTMail talks and disk drive walks Opiskelijankatu 30 B 42 Tampere University of Technology 33720 TAMPERE - FINLAND Mail: t146678@cc.tut.fi Phone: +358-31-182 851
Newsgroups: comp.sys.next.programmer From: jan@dutnak2.tn.tudelft.nl (Jan Thorbecke) Subject: reading EPS via a pipe using streams Message-ID: <jan.745229440@dutnak2> Summary: reading postscript via a pipe Keywords: pipe, streams, postscript Sender: news@dutrun2.tudelft.nl (UseNet News System) Organization: Delft University of Technology Date: Fri, 13 Aug 1993 08:10:40 GMT I'm trying to read in Postscript data via a pipe. I've first written a program which handles the Postscript image properly and reads in the image from a file on disk. The first few lines of this program are stream = NXMapFile("/data/jan/test.eps", NX_READONLY); anImage = [[NXImage alloc] initFromStream:stream]; NXClose(stream); This works fine so I tried to change the program's input stream from reading from disk to reading from stdin (pipe) with the following lines fileDescriptor = fileno(stdin); stream = NXOpenFile(fileDescriptor, NX_READONLY); anImage = [[NXImage alloc] initFromStream:stream]; NXClose(stream); close(fileDescriptor); This program doesn't work so I tried to write the input from the pipe to a temporary file and then read this temporary file into a stream (this is maybe a better way of programming) /* reading from stdin and writing to disk */ fileDescriptor = fileno(stdin); stream = NXOpenFile(fileDescriptor, NX_READONLY); strcpy(tmpfile, "/tmp/EPSviewxxxxxx.eps"); NXGetTempFilename(tmpfile, 12); temporary = fopen(tmpfile, "w"); while (ch != EOF){ ch = NXGetc(stream); fputc(ch, temporary); } fclose(temporary); /* reading from disk */ stream = NXMapFile("/data/jan/test.eps", NX_READONLY); anImage = [[NXImage alloc] initFromStream:stream]; NXClose(stream); But this still doesn't work. The temporary file on /tmp can be read with preview, so it is properly written to disk. I don't know what I'm doing wrong here. Can anybody help me out of this problem? Jan Thorbecke jan@dutnak2.tn.tudelft.nl Delft University of Technology Faculty of Applied Physics, Delft, The Netherlands.
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: another shared library problem Message-ID: <1993Aug13.144515.1612@afs.com> Sender: Michael_Pizolato@afs.com References: <1993Aug13.011801.23288@pixar.com> Date: Fri, 13 Aug 1993 14:45:15 GMT Michael B. Johnson writes >Here's a good example of something which has no good solution right now; >only because NeXT won't let us make our own shared libraries. [example of multiply loading code munched...] strip -u MyBundle.bundle/MyBundle This works for loading two or more palettes that have linked the same library. I'm assuming it works for bundles, too, though I haven't had occasion to try it. I still want shared libraries, though. Michael -- Michael Pizolato gnihtyreve noitseuq michael_pizolato@afs.com NeXTMail appreciated
From: doug@foxtrot.ccmrc.ucsb.edu (Douglas Scott) Newsgroups: comp.sys.next.programmer Subject: Object outlets not initialized -- why? Date: 13 Aug 1993 16:22:28 GMT Organization: Center for Computer Music Research and Composition, U.C.S.B. Message-ID: <24gf44$4ct@hub.ucsb.edu> I admit to being a novice NextStep programmer, though I have coded in C and C++ for some time. Some aspects of the Interface Builder still elude me... I am working on a fairly simple app -- one window filled with text forms, buttons, and a few sliders, and one custom object which coordinates all of these and has them all as outlets. The custom object is connected as the delegate of the File Owner, and I initialize most of the text form's values in a routine called by appDidInit:sender. This is getting called correctly, but at the time that I wish to set the values of various forms, I find (by using gdb) that about a third of the outlets are still NULL: gdb) bt #0 -[PvocDelegate resetWindow] (self=0xc1580, _cmd=0x8633) at PvocDelegate.m:34 #1 0x45ee in -[PvocDelegate resetToDefaults:] (self=0xc1580, _cmd=0x863f, sender=0xb1668) at PvocDelegate.m:29 #2 0x45a2 in -[PvocDelegate appDidInit:] (self=0xc1580, _cmd=0x61880fe, sender=0xb1668) at PvocDelegate.m:21 #3 0x602fcfc in -[Application run] () #4 0x4a46 in main (argc=1, argv=0x3fffbcc) at PV_main.m:11 Breakpoint 1, -[PvocDelegate resetWindow] (self=0xc1580, _cmd=0x8633) at PvocDelegate.m:34 p *self $1 = { isa = 0x8000, analWindowSize = 0x0, decimFactor = 0x0, endFilter = 0x0, endFilterSlider = 0xb9a34, filterType = 0xb9080, fundFrequency = 0x0, inputChannels = 0xb815c, inputDuration = 0xb80ec, inputFile = 0xb7e7c, inputSampleRate = 0xb7860, inputSkip = 0xb8084, interpFactor = 0xb9de8, numberOfFilters = 0xb7940, outputFile = 0xb85e0, outputFormat = 0xb6b0c, outputSkip = 0xb8430, overlapFactor = 0x0, pitchScaleFactor = 0x0, processMode = 0x0, resynthesizeChannels = 0xb8d10, startFilter = 0x0, startFilterSlider = 0xb94bc, synthWindowSize = 0x0, timeScaleFactor = 0xb9e54, } It was my understanding that these outlets would all be set to point to their appropriate objects (the forms, buttons, and sliders) prior to this function call. Why would some of them be and some not? And YES, ALL OF THEM ARE CONNECTED PROPERLY VIA <control>-dragging. I redid every one of them to make sure. Now, obviously I AM doing something wrong. Could someone point me in the right direction? Thanks. -- Douglas Scott (805)893-8352 Center for Computer Music Research and Composition University of California, Santa Barbara Internet: (NeXTMail ok) <doug@foxtrot.ccmrc.ucsb.edu>
From: bahder@admii.arl.army.mil (Tom Bahder ) Newsgroups: comp.sys.next.programmer Subject: Problem with make of gnu ispell-4.0 under NeXTStep3.1 (Black) Message-ID: <1294@aos.brl.mil> Date: 13 Aug 93 15:27:59 GMT Sender: news@aos.brl.mil Organization: U.S. Army Research Laboratory APG, MD. I am trying to compile ispell-4.0 on e NeXT (Black) under NeXTStep3.1. The configure seems to work O.K. (I have gcc-2.4.5 installed.) However, the make returns an error, see below. Does anone have any ideas on what is going on ? Is the make supposed to work ? Tom Bahder email and NeXT mail: bahder@tbb.arl.army.mil Applied Physics Branch U. S. Army Research Laboratory 2800 Powder Mill Road Adelphi, Maryland 20783 tel. 301-394-2042 fax: 301-394-2103 ----------- installation ----------------- tbb> ./configure checking for gcc checking how to run the C preprocessor checking whether -traditional is needed checking for install checking for BSD string and memory functions checking for BSD checking for i386 checking for -ltermlib checking for -lBSD checking for -lc checking for -lelf checking for -lucb checking for return type of signal handlers checking for working const checking for inline checking for working alloca.h checking for alloca checking for malloc.h checking for termios.h checking for termio.h checking for string.h checking for strings.h checking for checking for broken TIOCGWINSZ creating config.status creating Makefile tbb> make gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g build.c gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g mklextbl.c gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g access.c cp ./c-generic.c charset.c gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g charset.c gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g ctbl.c gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g downcase.c gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g exp.c gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g getopt.c gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g getopt1.c gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g hash.c gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g lexfsm.c gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g nextprime.c gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g suf.c gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g version.c gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g util.c gcc -g -o build build.o mklextbl.o access.o charset.o ctbl.o downcase.o exp.o getopt.o getopt1.o hash.o lexfsm.o nextprime.o suf.o version.o util.o -ltermlib gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g look.c gcc -g -o look look.o getopt.o getopt1.o util.o -ltermlib gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g ispell.c gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g case.c gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g gen.c gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g good.c gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g priv.c gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g screen.c gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g term.c term.c: In function `terminit': term.c:222: `TCGETA' undeclared (first use this function) term.c:222: (Each undeclared identifier is reported only once term.c:222: for each function it appears in.) term.c:230: `termio' has an incomplete type term.c:231: invalid use of undefined type `struct termio' term.c:232: invalid use of undefined type `struct termio' term.c:233: invalid use of undefined type `struct termio' term.c:234: invalid use of undefined type `struct termio' term.c:235: invalid use of undefined type `struct termio' term.c:237: `TCSETA' undeclared (first use this function) term.c: In function `termuninit': term.c:248: `TCSETA' undeclared (first use this function) term.c: In function `termreinit': term.c:258: `TCSETA' undeclared (first use this function) term.c: At top level: term.c:217: storage size of `termio' isn't known term.c:217: storage size of `otermio' isn't known make: *** [term.o] Error 1 tbb>
Newsgroups: comp.sys.next.programmer From: titmouse!bshirley (C. William Shirley) Subject: Re: Archiving a List with a Twist Message-ID: <1993Aug14.013734.3450@gleap.jpunix.com> Sender: bshirley@gleap.jpunix.com Organization: The Republic of Texas References: <1993Aug11.165955.1409@afs.com> Date: Sat, 14 Aug 1993 01:37:34 GMT In article <1993Aug11.165955.1409@afs.com> jaime@afs.com (Jaime Guerrero) writes: > In article <23smnm$bf2@iskut.ucs.ubc.ca> besler@gdss.commerce.ubc.ca (Steven > Besler) writes: > > I want to archive a List. However, I want it to archive > > only references to the objects it contains, not archive the objects > > themselves, since they will be archived elsewhere on the same stream. > > Is there an easy way to do this? Am I missing something? Please tell > > me I won't have to make my own subclass of list to do this... > > I did this by creating a category of List and adding the methods > writeReferences: and readReferences:. I call these instead of write: and > read:. The source for the .h and .m file follow this posting, since they're > so short. I don't think there is ever a need to call read: or write: directly (other than [super read:stream]). The NeXT provided functions will call them. > > BTW, this technique is required when you have a web of objects that are > interconnected in many ways, including circularly. I believe this statement ("this technique is required when you have a web of objects") is incorrect. All that should be required is that you start the archival from an object that "contains" the whole web. If you are archiving different parts of it with different calls, then this would be necessary. > By maintaining a list of > those objects somewhere, like in the object's class (factory), and reading or > writing just that list, you can read or write the whole web, including > connections. Each object's read: and write: methods must only write > *references* to the other objects they point to. > > ======= ListRWReferencesExtension.h ========== > > @interface List ( RWReferencesExtension ) > > - writeReferences:(NXTypedStream *)stream; > - readReferences:(NXTypedStream *)stream; > > @end > > ======= ListRWReferencesExtension.m ========== > > #import "ListRWReferencesExtension.h" > > @implementation List ( RWReferencesExtension ) > > - writeReferences:(NXTypedStream *)stream > { > int i; > NXWriteType( stream, "i", &numElements ); > for ( i= 0 ; i < numElements ; i++ ) > NXWriteObjectReference( stream, dataPtr[i] ); > return self; > } I don't know (because I haven't seen the sources), but I would expect that List's write: method is implemented in this manner. > > - readReferences:(NXTypedStream *)stream > { > int i, count; > NXReadType( stream, "i", &count ); > for ( i= 0 ; i < count ; i++ ) > [self addObject:NXReadObject( stream )]; > return self; > } read: should definately be implemented this way. (barring the order in which it's done. Someone at NeXT seems to think that not using the count variable is an efficiency improvement. - one less wasted word on that call stack ;) > > @end Here's a test I just tried, it suprised me a bit in that the NXWriteObject seemed to work the same as the NXWriteRootObject. (diff ARoot ANoRoot showed no difference). Note, also, that without the second [B addObject:A] there is no difference between A and B. #import <objc/List.h> #import <objc/typedstream.h> main (void) { id A, B; NXTypedStream *typedStream; A = [[List alloc] init]; B = [[List alloc] init]; [A addObject:B]; [B addObject:A]; [B addObject:A]; typedStream = NXOpenTypedStreamForFile("ARoot",NX_WRITEONLY); NXWriteRootObject(typedStream, A); // should get A and B NXCloseTypedStream(typedStream); typedStream = NXOpenTypedStreamForFile("BRoot",NX_WRITEONLY); NXWriteRootObject(typedStream, B); // should get B and A NXCloseTypedStream(typedStream); typedStream = NXOpenTypedStreamForFile("ANoRoot",NX_WRITEONLY); NXWriteObject(typedStream, A); // should get A and ?... NXCloseTypedStream(typedStream); } does anyone have any insight on this?... > > -- > Jaime Guerrero "Let me take you > Anderson Financial Systems, Inc. to the hell where > Springhouse, Pennsylvania, U.S.A. all the freaks dwell" > jaime@afs.com [NeXTmail ok] -Echo & the Bunnymen -bill -- Bill Shirley (NXceptable) BShirley@GLeap.sccsi.com (home) | BShirley@atg.WilTel.com (work) ``I had so many problems, then I got me a Walkman.'' - Frank Black
Newsgroups: comp.sys.next.programmer From: cedman@capitalist.princeton.edu (Carl Edman) Subject: Re: Where are POSIX libs (NS/FIP)??? In-Reply-To: eps@futon.SFSU.EDU's message of Sat, 14 Aug 1993 06:48:34 GMT To: eps@futon.SFSU.EDU (Eric P. Scott) Message-ID: <CEDMAN.93Aug14114744@capitalist.princeton.edu> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University References: <1674@racerx.bridge.COM> <1993Aug11.064949.26695@csus.edu> <CEDMAN.93Aug13223915@capitalist.princeton.edu> <1993Aug14.064834.26882@csus.edu> Date: Sat, 14 Aug 1993 15:47:44 GMT In article <1993Aug14.064834.26882@csus.edu> eps@futon.SFSU.EDU (Eric P. Scott) writes: In article <CEDMAN.93Aug13223915@capitalist.princeton.edu> cedman@capitalist.princeton.edu (Carl Edman) writes: >programs which optionally use posix won't autoconfigure properly any >longer. This actually has been my most frequent installation problem Are you refering to GNU autoconf? That pile of rubbish has *never* worked right with NeXTs. (Admittedly, it's in some ways a lot less braindead than some of the configure scripts I've seen...) The new posix headers don't trick just GNU autoconf into believing that posix functions are available just because they are defined in the system headers. I've never been a great believer in auto configuration -- for an experienced user it is almost always more trouble than doing the configuration by hand (with a reasonably documented makefile and configuration header). For a good example, just look at procmail. In a few minutes anybody could configure procmail 2.70 to work on a NeXT just fine. Then the author had the clever idea to add auto configuration which makes installation such a hassle that I -- for one -- have stopped upgrading procmail. Better auto configuration schemes just detect the OS and use canned configuration files for the OS in question (and ask the user to do the configuration himself if there is no canned configuration for the particular OS). Carl Edman
From: corbin@reed.edu (Chris C. Hallstrom) Newsgroups: comp.sys.next.programmer Subject: Re: Video digitizer on DSP port Date: 14 Aug 1993 18:14:58 GMT Organization: Reed College, Portland, Oregon Distribution: inet Message-ID: <24ja32$1lq@scratchy.reed.edu> References: <248fpi$4qv@news.cerf.net> <249a99$6k8@agate.berkeley.edu> <249nh9$nkg@scratchy.reed.edu> <24fmf1$s00@cc.tut.fi> In article <24fmf1$s00@cc.tut.fi> t146678@lehtori.cc.tut.fi (Tuominen Juha) writes: >In article <249nh9$nkg@scratchy.reed.edu> corbin@reed.edu (Chris C. Hallstrom) writes: >>However, the original poster asked about a digitizer that would allow >>the NeXT to read the image "afterwards". What does this mean? It might >>suggest a device that would store a digitized image indefinately, until the >>data was downloaded via the DSP (or other port). In other words, a device >>one could use to capture an image "in the field" so to speak, which you >>would then take back to the lab to download. In this case, Color Digital >>Eye does not fit the bill since the capturing is initiated by the DSP. > >No, that's not what I meant.. I have a schematics for a digitizer >for a PC that have 128 KB of static RAM and when PC writes to the >board (/IOW signal), digitizing begins. The board captures the next >incoming frame to the RAM and after that the digitized image can be >downloaded to the PC's memory. I was thinking that the same board can be >used on a NeXT by changing the interface can writing some software to >do the downloading and saving the image as a TIFF etc. OK. This is basically how the Color Digital Eye works. The user boots the DSP to begin capture and the data is sent to the DSP and then transfered to memory. You should be able to use your card, provided that you have the right interface with the port you are using and the right software (in the case of the DSP port, you would need to write the assembly code). -- christopher c hallstrom corbin@reed.edu Can you use them ol' U.S. Blues?
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: IB view editors Date: 14 Aug 1993 11:32:32 -0700 Message-ID: <24jb40$npc@ursula.ee.pdx.edu> Summary: Possible to make view editors? The documentation in `ObjectAdditions' states: "View objects inherit Interface Builder's standard View editor" Which would lead one to believe this behavior could be overridden with `getEditorClassName', or possibly `setSelectionFrom'.. The former doesn't get called by IB, and the latter just doesn't work (even if you re-assign it in, say, in `drawSelf' or `resizeSubviews'). Anyone know the trick? (What I'd really like is a way to use arbitrary Box subclasses with IB's grouping capability).
Newsgroups: comp.sys.next.programmer From: Bob_Vadnais@pdh.com (Bob Vadnais) Subject: Re: another shared library problem Message-ID: <CBqCGr.L7F@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. References: <1993Aug13.011801.23288@pixar.com> Date: Sat, 14 Aug 1993 03:31:39 GMT In article <1993Aug13.011801.23288@pixar.com> wave@pixar.com (Michael B. Johnson) writes: > Let's say you write some other bundle that gets loaded into the > same program. This bundle also uses the same library the first > bundle. You can't link the library into this bundle too, because > either nasty things will happen or it won't load (multiple > definitions). So what do you do? Here's something I posted a while ago: Newsgroups: comp.sys.next.programmer From: Bob_Vadnais@pdh.com (Bob Vadnais) Subject: Re: Multiple palettes with shared code: how? Message-ID: <C5yK5E.7F2@pdh.com> Organization: PDH, Inc. Date: Fri, 23 Apr 1993 22:36:50 GMT In article <1993Apr21.135012.975@afs.com> jon@afs.com writes: > > I've got a palette, which I want to break into two palettes. > Problem is, they both use a couple of .c files. If I have > the .c files in both projects and compile, I can only load > one palette at a time. Loading the second causes IB to crash. > If I take the .c files out of one project, then that palette > is dependant upon the other- it won't load unless the other is > loaded first. > > [Summary deleted] > > Any comments? After some experimentation, I've had success stripping the palette with the -u option of strip(1). The following addition to your Makefile.postamble in your palette project directory will do this: all:: $(STRIP) -u $(PRODUCT_ROOT)/$(NAME) I'm curious if this does something evil. I've had no problems with IB rld()'ing palettes stripped like this; someone please correct me if I'm overlooking something. It does strip out the debugging symbols, so you'll want to wait until your palette is debugged and ready for prime time before stripping it. > NeXT, are you listening? Am I all wet, or I am just the only > one trying to do this stuff? At an Expo session, Steve Naroff (of the NeXT developer tools group) mentioned they were working on a design for user shared libs. I got the impression we might see this when 4.0 comes out. Cheers, Bob -- Bob_Vadnais@pdh.com (Actively seeking employment, inquire above if interested.)
Newsgroups: comp.sys.next.programmer From: jjfeiler@relief.com (John Jay Feiler) Subject: Re: Shared Libraries Message-ID: <1993Aug13.055421.4693@relief.com> Sender: jjfeiler@relief.com Organization: relief consulting References: <CBMLqx.5CC@cobra.cs.unm.edu> Date: Fri, 13 Aug 1993 05:54:21 GMT In article <CBMLqx.5CC@cobra.cs.unm.edu> ctm@ardi.com writes: > In article <1993Aug11.142957.6603@afs.com> greg@afs.com writes: > >In article <248p1j$7u2@turtle.mrj.com> dbbrown@sponge.mrj.com (Daniel B. > >Brown) writes: > >> Can anyone out there direct me to where I can find any directions on how > >> to make my own shared library? Hints and clues appreciated. > > > >I'd be a millionaire if I had the answer that that question. Many people > >want to do this, but it can't be done. NeXT doesn't distribute the tools > >needed to build them. This is my 2nd biggest complaint about NS (after the > >source code issue we've been discussing in c.s.n.advocacy). > > > >-- > >Gregory H. Anderson | "History is the fiction we invent to > >Revisionist Autobiographer | persuade ourselves that events are > >Anderson Financial Systems | knowable and that life has order and > >greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93 > > Has anyone spent much time trying to reverse engineer the necessary tools. > It seems to me that with all the examples in /usr/shlib and with ld, otool, > strings and other odd implements of destruction that it shouldn't be too > hard to jury rig a solution that would be good enough to shame NeXT into > letting the real info out. > > I've spent fifteen minutes looking into it and I think it's doable, but > I've been wrong before. I think EPS could do this. Maybe Christopher Lloyd > could. I offer my services as a reenigne if anyone wants a kibitzer. > Shared libraries wouldn't really help us over here, but maybe after > Executor/NEXTSTEP 1.3 and Executor/DOS 1.0 are shipping I'll look into it. > > --Cliff > ctm@ardi.com I'm not sure, but there is circumstantial evidence that NeXT has either allowed a selected site or sites to have the shlib holy grail, or they plan to. If you look in BugNeXT.app, there is an entry for "Developer Tools->Compiler->mkshlib", which sounds awfully suspicious to me. (actually, when I saw this, I submitted a bug report using the BugNeXT app complaining that mkshilb seemed to not only be malfunctioning, but missing.....) John -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!! Edmonds, WA 98026-4433 Independent NeXTSTEP Developer
Newsgroups: comp.sys.next.programmer From: jjfeiler@relief.com (John Jay Feiler) Subject: Re: Object outlets not initialized -- why? Message-ID: <1993Aug15.051256.9376@relief.com> Sender: jjfeiler@relief.com Organization: relief consulting References: <24gf44$4ct@hub.ucsb.edu> Date: Sun, 15 Aug 1993 05:12:56 GMT In article <24gf44$4ct@hub.ucsb.edu> doug@foxtrot.ccmrc.ucsb.edu (Douglas Scott) writes: > I admit to being a novice NextStep programmer, though I have coded in C and > C++ for some time. Some aspects of the Interface Builder still elude me... > > I am working on a fairly simple app -- one window filled with text forms, > buttons, and a few sliders, and one custom object which coordinates all of > these and has them all as outlets. > > The custom object is connected as the delegate of the File Owner, and I > initialize most of the text form's values in a routine called by > appDidInit:sender. This is getting called correctly, but at the time that I > wish to set the values of various forms, I find (by using gdb) that about a > third of the outlets are still NULL: > > gdb) bt > #0 -[PvocDelegate resetWindow] (self=0xc1580, _cmd=0x8633) at > PvocDelegate.m:34 > #1 0x45ee in -[PvocDelegate resetToDefaults:] (self=0xc1580, _cmd=0x863f, > sender=0xb1668) at PvocDelegate.m:29 > #2 0x45a2 in -[PvocDelegate appDidInit:] (self=0xc1580, _cmd=0x61880fe, > sender=0xb1668) at PvocDelegate.m:21 > #3 0x602fcfc in -[Application run] () > #4 0x4a46 in main (argc=1, argv=0x3fffbcc) at PV_main.m:11 > > Breakpoint 1, -[PvocDelegate resetWindow] (self=0xc1580, _cmd=0x8633) at > PvocDelegate.m:34 > p *self > $1 = { > isa = 0x8000, > analWindowSize = 0x0, > decimFactor = 0x0, > endFilter = 0x0, > endFilterSlider = 0xb9a34, > filterType = 0xb9080, > fundFrequency = 0x0, > inputChannels = 0xb815c, > inputDuration = 0xb80ec, > inputFile = 0xb7e7c, > inputSampleRate = 0xb7860, > inputSkip = 0xb8084, > interpFactor = 0xb9de8, > numberOfFilters = 0xb7940, > outputFile = 0xb85e0, > outputFormat = 0xb6b0c, > outputSkip = 0xb8430, > overlapFactor = 0x0, > pitchScaleFactor = 0x0, > processMode = 0x0, > resynthesizeChannels = 0xb8d10, > startFilter = 0x0, > startFilterSlider = 0xb94bc, > synthWindowSize = 0x0, > timeScaleFactor = 0xb9e54, > } > > It was my understanding that these outlets would all be set to point to their > appropriate objects (the forms, buttons, and sliders) prior to this function > call. Why would some of them be and some not? And YES, ALL OF THEM ARE > CONNECTED PROPERLY VIA <control>-dragging. I redid every one of them to make > sure. > > Now, obviously I AM doing something wrong. Could someone point me in the > right direction? Thanks. > > > -- > Douglas Scott (805)893-8352 > Center for Computer Music Research and Composition > University of California, Santa Barbara > Internet: (NeXTMail ok) <doug@foxtrot.ccmrc.ucsb.edu> I'm just guessing, but you wouldn't happen to have methods called - setProcessMode:sender, -setOverlapFactor:sender, etc., would you? If you do have methods with these names, they are called during loadNib.... instead of using the objc_setInstanceVariable() function. Try renaming the methods to something like - takeOverlapFactorFrom:sender, and see what happens........ John -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!! Edmonds, WA 98026-4433 Independent NeXTSTEP Developer
Newsgroups: comp.sys.next.programmer From: jjfeiler@relief.com (John Jay Feiler) Subject: Re: renaming PB.project Message-ID: <1993Aug15.051942.9445@relief.com> Sender: jjfeiler@relief.com Organization: relief consulting References: <CBpICo.F8@np.com> Date: Sun, 15 Aug 1993 05:19:42 GMT In article <CBpICo.F8@np.com> paul@np.com (Paul Nordstrom) writes: > > Is there some sort of hardcoded dependency in ProjectBuilder that > prevents me from renaming PB.project to something more descriptive? > Without going into too much detail, if my app is called FooBar, I want > to rename PB.project to FooBar.project, but I can no longer get > ProjectBuilder to recognize the project (it says it is an invalid > project). Am I missing something, or is that just the way it is? > > -- > Paul Nordstrom > NP Consulting > paul@np.com From what I've been able to tell, it is unfortunately hardwired. I have reported this to NeXT as a bug, we'll see if they do anything about it. Actually, seeing how good the people are on the Developer Tools group, if they actually hear about the complaint, it will probably be fixed..... John -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!! Edmonds, WA 98026-4433 Independent NeXTSTEP Developer
Newsgroups: comp.sys.next.programmer From: grw@oahu.cs.ucla.edu (George Wu) Subject: How to save InterfaceBuilder elements as EPS files ? Message-ID: <1993Aug12.212739.3455@cs.ucla.edu> Sender: usenet@cs.ucla.edu (Mr Usenet) Organization: UCLA, Computer Science Department Distribution: usa Date: Thu, 12 Aug 93 21:27:39 GMT Does anyone know how to save an UI component in IB to an EPS file. For example, I want to take a snapshot of a window I am designing as an EPS file so I can included in a LaTeX file. I have tried Copy and Paste but it does not work. Right I use the screen grabber utility but this produces an TIFF image which does not look good when scaled especially when there are text in the captured image. I have tried Save in the Print panel but it produces a PostScript file which PSFig can not handle directly. Any suggestions ? Thanks, George
From: Robert Nicholson <robert@steffi.demon.co.uk> Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy,mlist.next-prog Subject: CVS and Conrads 3.2 announcement Date: Sun, 15 Aug 93 11:23:15 GMT Message-ID: <9308151043.AA02503@steffi.demon.co.uk> Organization: me organized? That's a joke! I have posted this to advocacy because a lot of intelligent people hang out there :-) It seems to me that NeXT are slowly giving us the tools we require. However, most of us still use CVS for revision control. Here's some correspondance I have sent a CVS user. I hope it generates some discussion as to what is required by developers in order to have a worthwhile and usual revision control system. I'm no expert with CVS but I think there's potential to leverage of what it currently provides. Basic CVS comments Also, suppose you create a real cool view class in your production tree/repository however, this view class is something you would like to maintain in your classes repository in CVS. is there any way you can "cvs add" to a specific repository rather and having to check out the classes area, copying your new copy in there and performing a "cvs commit" that way. Related to this is this one. It seems you have to resort to redunancy if your production tree uses library code/classes. ie. when you import you will be copying your library code instead of linking it to the library repository in cvs. ie. you should be able to implicitly checkout the library classes _out of their own area_ that you have defined in your production tree. (What do you think?) Assuming you don't wish to make custom modifications to those classes perhaps it's a fair point? I think this is leading to that ultimate configuration which needs to be totally integrated into Project Builder for it to be of any use. if you could tag your files in PB such that PB knows the repository to find said files then everything could be performed thru PB. or perhaps CVS needs to be able to link files b/w repositorys and that it's CVS's job to checkout the files and PB still works with the files in their local area. There still needs to be data detailing which files are linked to which repositorys so that things can be checked in properly. This is all based on a centralized model and perhaps that's not appropriate. I'd lean towards keeping PB independent of any version control perhaps and just extending CVS so that it provides the functionallity I'm looking for. I have changed my mind several times in this piece since I'm only brainstorming. This all might be way off base but I'm hoping it will generate some worthwhile discussion that NeXT sees.
From: doug@foxtrot.ccmrc.ucsb.edu (Douglas Scott) Newsgroups: comp.sys.next.programmer Subject: Re: Object outlets not initialized -- ANSWER Date: 15 Aug 1993 18:16:14 GMT Organization: Center for Computer Music Research and Composition, U.C.S.B. Message-ID: <24luhe$lbt@hub.ucsb.edu> References: <24gf44$4ct@hub.ucsb.edu> <1993Aug15.051256.9376@relief.com> In article <1993Aug15.051256.9376@relief.com> jjfeiler@relief.com writes: ] ]In article <24gf44$4ct@hub.ucsb.edu> doug@foxtrot.ccmrc.ucsb.edu (Douglas ]Scott) writes: ]> ]> I am working on a fairly simple app -- one window filled with text forms, ]> buttons, and a few sliders, and one custom object which coordinates all of ]> these and has them all as outlets. ]> ]> The custom object is connected as the delegate of the File Owner, and I ]> initialize most of the text form's values in a routine called by ]> appDidInit:sender. This is getting called correctly, but at the time that ]> I wish to set the values of various forms, I find (by using gdb) that about ]> a third of the outlets are still NULL: ]> [printout deleted] ]> It was my understanding that these outlets would all be set to point to their ]> appropriate objects (the forms, buttons, and sliders) prior to this function ]> call. Why would some of them be and some not? And YES, ALL OF THEM ARE ]> CONNECTED PROPERLY VIA <control>-dragging. I redid every one of them to make ]> sure. ]> ]I'm just guessing, but you wouldn't happen to have methods called - ]setProcessMode:sender, -setOverlapFactor:sender, etc., would you? If you do ]have methods with these names, they are called during loadNib.... instead of ]using the objc_setInstanceVariable() function. Try renaming the methods to ]something like - takeOverlapFactorFrom:sender, and see what happens........ For those who are interested, this turned out to be exactly what I had done. I was unaware that the method names like "setProcessMode:sender" were reserved by IB for initializing the outlet named "processMode". It had nothing to do with *when* I tried to access the outlets -- they are all initalized at the time that appDidInit: is invoked. Thanks to those who pointed this out, and thanks also to those who gave me other suggestions as to what the problem might have been. -- Douglas Scott (805)893-8352 Center for Computer Music Research and Composition University of California, Santa Barbara Internet: (NeXTMail ok) <doug@foxtrot.ccmrc.ucsb.edu>
Newsgroups: comp.sys.next.programmer From: irogers@theme.music.indiana.edu (Ian Rogers) Subject: How to get DoubleClick on an Icon Message-ID: <CBtCFF.AqK@usenet.ucs.indiana.edu> Sender: news@usenet.ucs.indiana.edu (USENET News System) Organization: Indiana University Music Library, Bloomington Date: Sun, 15 Aug 1993 18:23:38 GMT This is probably a somewhat stupid question, but I've been searching for the answer for a while now and can't find it. I have an icon well exactly like the one in Librarian.app and HeaderViewer.app. I have it displaying the icon for the file I am representing in it, and have mouseDown setup to drag the icon out of the well if dragged. When double-clicked, I want to invoke [workspace openFile: documentName]. My question is, how do I know when it is double-clicked? Is it in the theEvent->data.mouse.click? What does this mean? Is there really no documentation on this or am I just looking in the wrong places? I searched using Librarian and HeaderViewer, and looked for the answer in examples in Garfinkel & Mahoney. Thanks, -- Ian Rogers Technical Support, Indiana University Music Library irogers@indiana.edu
Control: cancel <CBtCFF.AqK@usenet.ucs.indiana.edu> Newsgroups: comp.sys.next.programmer From: irogers@theme.music.indiana.edu (Ian Rogers) Subject: cmsg cancel <CBtCFF.AqK@usenet.ucs.indiana.edu> Message-ID: <CBtD3I.B36@usenet.ucs.indiana.edu> Sender: news@usenet.ucs.indiana.edu (USENET News System) Organization: Indiana University Music Library, Bloomington References: <CBtCFF.AqK@usenet.ucs.indiana.edu> Date: Sun, 15 Aug 1993 18:38:05 GMT <CBtCFF.AqK@usenet.ucs.indiana.edu> was cancelled from within trn. -- Ian Rogers Technical Support, Indiana University Music Library irogers@indiana.edu
Newsgroups: comp.sys.next.programmer From: kdburg@incoahe.hanse.de (Klaus Dahlenburg) Subject: Re: Problem with make of gnu ispell-4.0 under NeXTStep3.1 (Black) Message-ID: <1993Aug14.185401.3718@incoahe.hanse.de> Organization: Hanse Networking eV., Hamburg; Germany References: <1294@aos.brl.mil> Date: Sat, 14 Aug 93 18:54:01 GMT bahder@admii.arl.army.mil (Tom Bahder ) writes: >gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" -g good.c correct the makefile/config.h to not set -DHAVE_TERMIOS_H=1; you may run into other such things later on and have to figure out what maybe wrong withe header/why ./configure thinks you have that and and not that .... It's because NeXT did a lot of changes to the headers to incorporate POSIX. (see for instance utime.h (gzip/ taylor-uucp will be fooled by it); dirent.h ... and so on. Klaus -- Klaus Dahlenburg email : kdburg@incoahe.hanse.de P.O.Box 1267 Fax : +49 4287 676 D-21249 Tostedt Voice : +49 4287 681 Germany Timezone : GMT + 2 ++EOM++
From: jeffo@uiuc.edu (J.B. Nicholson-Owens) Newsgroups: comp.sys.next.programmer Subject: Re: renaming PB.project Date: 15 Aug 93 21:50:01 GMT Organization: University of Illinois at Urbana Message-ID: <jeffo.745451401@uiuc.edu> References: <CBpICo.F8@np.com> <1993Aug15.051942.9445@relief.com> jjfeiler@relief.com (John Jay Feiler) writes: >From what I've been able to tell, it is unfortunately hardwired. As a workaround for the time being, you could create a link to PB.project and call it whateverYouWish.project. So, for an application called FooBar you can (in UNIX) "ln -s PB.project FooBar.project" and then double-click on FooBar.project. You still have PB.project there, but at least you can have a more logical approach to accessing it. -- J.B. Nicholson-Owens
From: irogers@theme.music.indiana.edu (Ian Rogers) Newsgroups: comp.sys.next.programmer Subject: Pop-Up lists (thanks and two more questions) Message-ID: <CBtLqB.Fzp@usenet.ucs.indiana.edu> Date: 15 Aug 93 21:44:35 GMT Sender: news@usenet.ucs.indiana.edu (USENET News System) Organization: Indiana University Music Library, Bloomington A couple weeks ago I posted a question on how to get my pop-up list to go away before the action it invokes returns. I got a large number of responses, all of which pointed me to the method: self perform: with: afterDelay: cancelPrevious: This works beautifully for me. Thanks for the help. I have a couple more questions about using pop-up lists: 1) I want to make the title change to a specific cell in the popup list. How can I make it change the button title to a specified cell? 2) How can I make the pop-up list resize to the longest string in the list? I have tried various combinations of sizeToFit to both the pop-up list and the button, but none give the desired results. Thanks again for your help, ian -- Ian Rogers Technical Support, Indiana University Music Library irogers@indiana.edu
From: louie@sayshell.umd.edu (Louis A. Mamakos) Newsgroups: comp.sys.next.programmer Subject: Re: Shared Libraries Date: 15 Aug 1993 23:15:51 GMT Organization: University of Maryland, College Park Message-ID: <24mg37$q3t@ni.umd.edu> References: <1993Aug11.063430.25876@csus.edu> <1993Aug11.190814.9012@gleap.sccsi.com> In article <1993Aug11.190814.9012@gleap.sccsi.com> clloyd@gleap.sccsi.com writes: >Eric P. Scott writes >>Convince NeXT you have a legitimate need to know and sign a >>nondisclosure agreement. Even sites that paid $10K-$15K for a >>NeXT source code license didn't get the shared library materials. >> >> -=EPS=- > >I presume you're talking about the source to NetInfo sources? No, he's refering to the "Mach" sources. Most (but not all) of the kernel sources, and most of the "UNIX" program sources.
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy Subject: CVS and Conrads 3.2 announcement Date: 15 Aug 1993 11:43:35 +0100 Organization: me organized? That's a joke! Message-ID: <24l40n$2dv@steffi.demon.co.uk> I have posted this to advocacy because a lot of intelligent people hang out there :-) It seems to me that NeXT are slowly giving us the tools we require. However, most of us still use CVS for revision control. Here's some correspondance I have sent a CVS user. I hope it generates some discussion as to what is required by developers in order to have a worthwhile and usual revision control system. I'm no expert with CVS but I think there's potential to leverage of what it currently provides. Basic CVS comments Also, suppose you create a real cool view class in your production tree/repository however, this view class is something you would like to maintain in your classes repository in CVS. is there any way you can "cvs add" to a specific repository rather and having to check out the classes area, copying your new copy in there and performing a "cvs commit" that way. Related to this is this one. It seems you have to resort to redunancy if your production tree uses library code/classes. ie. when you import you will be copying your library code instead of linking it to the library repository in cvs. ie. you should be able to implicitly checkout the library classes _out of their own area_ that you have defined in your production tree. (What do you think?) Assuming you don't wish to make custom modifications to those classes perhaps it's a fair point? I think this is leading to that ultimate configuration which needs to be totally integrated into Project Builder for it to be of any use. if you could tag your files in PB such that PB knows the repository to find said files then everything could be performed thru PB. or perhaps CVS needs to be able to link files b/w repositorys and that it's CVS's job to checkout the files and PB still works with the files in their local area. There still needs to be data detailing which files are linked to which repositorys so that things can be checked in properly. This is all based on a centralized model and perhaps that's not appropriate. I'd lean towards keeping PB independent of any version control perhaps and just extending CVS so that it provides the functionallity I'm looking for. I have changed my mind several times in this piece since I'm only brainstorming. This all might be way off base but I'm hoping it will generate some worthwhile discussion that NeXT sees.
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: cmsg cancel <24lrhi$p4@steffi.demon.co.uk> Control: cancel <24lrhi$p4@steffi.demon.co.uk> Date: 15 Aug 1993 18:35:49 +0100 Organization: me organized? That's a joke! Message-ID: <24ls5l$pr@steffi.demon.co.uk> <24lrhi$p4@steffi.demon.co.uk> was cancelled from within trn.
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: PB and libraries (Or how to improve Project Builder) Date: 15 Aug 1993 18:37:34 +0100 Organization: me organized? That's a joke! Message-ID: <24ls8u$r1@steffi.demon.co.uk> An app can contain many things including a ordinary C library. You can build C libraries thru Project Builder however, it doesn't have a recognized "library" project type together with it's own library.make so each time you save in PB using Application as your project type. You get the following lines added to your Makefile which don't relate to libraries. Not to mean NAME.nib as an interface. MFILES = StringFuncs_main.m ICONSECTIONS = -sectcreate __ICON app /usr/lib/NextStep/Workspace.app/applicati on.tiff Thus my compile of a library goes something like this robert:/robert/Programming/NextStep/StringFuncs>make cc -I. -g -O -Wall -I./sym -arch m68k -I. -c StringFuncs_main.m -o ./m68k_obj/StringFuncs_main.o cc -I. -g -O -Wall -I./sym -arch m68k -ObjC -sectcreate __ICON __header StringFuncs.iconheader -segprot __ICON r r -sectcreate __ICON app /usr/lib/NextStep/Workspace.app/application.tiff -o StringFuncs.app/StringFuncs m68k_obj/StringFuncs_main.o -lMedia_s -lNeXT_s clearly not what I expect in a library. So what's the answer? Has anybody devised a library.make that I can use instead of app.make? No doubt MAKEFILE will change each time I save in PB so this behaviour must be included in PB. In fact the obvious solution is to make everything dynamic. ie. produce specifications that PB's uses to save information into the Makefile and determine available project types from the *.make files that exist in MAKEFILEDIR then I could simply add my own project type easily in PB. Can I get away with Bundle or Palette types perhaps? I don't think so as they too have their own assumptions/definitions. I know its easy to build libraries from the command line and hack up the makefiles myself but there should be no reason why I should not be able to do it from PB. Providing PB was made aware of things. Any thoughts?
Newsgroups: comp.sys.next.programmer From: louie@TransSys.COM (Louis A. Mamakos) Subject: Re: Shared Libraries->Bundles Message-ID: <24mgbu$18g@wa3ymh.transsys.com> Sender: usenet@grebyn.com Organization: TransSys, Inc. References: <248p1j$7u2@turtle.mrj.com> <1993Aug11.142453.534@ccsi.com> <24bck0$lat@ursula.ee.pdx.edu> Date: Sun, 15 Aug 1993 23:20:30 GMT >>Does anyone suppose NeXT will eventually eliminate Shared Libraries >>altogether? > >The likely reason NeXT doesn't want to support Shared libraries is >that they are enormously tedious way to maintain. > >What do people want shared libraries for? I'd rather NeXT come up >with an efficient cleaner alternative. An object broker daemon, >perhaps. Shared libraries are a whole lot more VM efficient, since they're only loaded once and multiple processes can share the unmodified pages. When you load a bundle, it presumably gets relocated which would seem to me to render it unusable in terms of sharing pages of the same bundle between processes. -- Louis A. Mamakos TransSys, Inc.
From: riedel@phoenix.cs.ubc.ca (Marko Riedel) Newsgroups: comp.sys.next.programmer Subject: Large NXImage. Date: 16 Aug 1993 01:00:57 GMT Organization: Computer Science, University of B.C., Vancouver, B.C., Canada Distribution: world Message-ID: <24mm89$sja@cs.ubc.ca> Keywords: cache, NXImage, window, off-screen I'm using an NXImage to cache a large view. The view's drawSelf:: simply composites from the cache. (Makes for fast & smooth scrolling.) Everything works fine as long as my image isn't too big. Once I try making a cache for, say, an image 16 landscape pages wide, I get a "placewindow" error, presumably from appkit code. I've verified that my cache resizes okay (i.e. after using setSize:, getSize: will return the correct size); furthermore, although my view is the NXImage's delegate, its imageDidNotDraw method is never invoked. What is going on here? This is extremely hard to debug, as the errors appear in shlib code, i.e. there's no symbol data. Thanks, Marko R. Riedel
From: riedel@cs.ubc.ca (Marko Riedel) Newsgroups: comp.sys.next.programmer Subject: Re: Large NXImage. Date: 16 Aug 1993 01:04:39 GMT Organization: Computer Science, University of B.C., Vancouver, B.C., Canada Distribution: world Message-ID: <24mmf7$sjg@cs.ubc.ca> References: <24mm89$sja@cs.ubc.ca> In article <24mm89$sja@cs.ubc.ca> riedel@phoenix.cs.ubc.ca (Marko Riedel) writes: > > Thanks, > > Marko R. Riedel I forgot -- UBC CPSC is still using 2.1, if that has anything to do with it. - M.
Newsgroups: comp.sys.next.programmer From: nkawai@rkna50.riken.go.jp (Nobuyuki Kawai) Subject: CVS and nib (was Re: RCS and binary files) In-Reply-To: blake015@mc.duke.edu's message of 13 Aug 93 21:25:53 GMT Message-ID: <NKAWAI.93Aug16114044@rkna50.riken.go.jp> Sender: news@rkna50.riken.go.jp (News Administrator) Organization: Institute of Physical & Chemical Research (RIKEN) Saitama,Japan. References: <NKAWAI.93Aug13163119@rkna50.riken.go.jp> <19071@news.duke.edu> Date: Mon, 16 Aug 1993 02:40:44 GMT In comp.sys.next.programmer article <19071@news.duke.edu> Denise Blakeley wrote: > There are two parts to my answer. First, the problem of CVS directories > getting deleted from a nib when you make a change in IB and save it. Art > Isbell (isbell@cats.ucsc.edu) wrote a Makefile.postamble which we have > incorporated into our projects. ........ > As an alternative to this, Robert Thille (robert@ictv.com) has written a > palette object which actually preserves the CVS directories right in the nibs. ........ > Another gentleman on the net has extended Robert Thille's palette object to to > the uuencoding automatically whenever you save your nib (the uudecoding is > still a hitch). > Are these tools available publicly? Where? -- $@2O9g@?G7(J Nobuyuki Kawai RIKEN
Newsgroups: comp.sys.next.programmer From: pfkeb@kaon.SLAC.Stanford.EDU (Paul F. Kunz) Subject: Re: CVS and nib (was Re: RCS and binary files) In-Reply-To: nkawai@rkna50.riken.go.jp's message of Mon, 16 Aug 1993 02:40:44 GMT Message-ID: <PFKEB.93Aug15205436@kaon.SLAC.Stanford.EDU> Sender: news@unixhub.SLAC.Stanford.EDU Organization: Stanford Linear Accelerator Center References: <NKAWAI.93Aug13163119@rkna50.riken.go.jp> <19071@news.duke.edu> <NKAWAI.93Aug16114044@rkna50.riken.go.jp> Date: Mon, 16 Aug 1993 03:54:37 GMT >>>>> On Mon, 16 Aug 1993 02:40:44 GMT, nkawai@rkna50.riken.go.jp (Nobuyuki Kawai) said: > Nntp-Posting-Host: rkna50 > In comp.sys.next.programmer article <19071@news.duke.edu> Denise Blakeley wrote: >> There are two parts to my answer. First, the problem of CVS directories >> getting deleted from a nib when you make a change in IB and save it. Art >> Isbell (isbell@cats.ucsc.edu) wrote a Makefile.postamble which we have >> incorporated into our projects. > ........ > Are these tools available publicly? Where? Art Isbell's Makefile.postamble is calld cvs.postamble and available at the standard NeXT archive sites. Explanation of the problem and use of it is included in the file. -- Paul F. Kunz Paul_Kunz@slac.stanford.edu (NeXT mail ok) Stanford Linear Accelerator Center, Stanford University Voice: (415) 926-2884 (NeXT) Fax: (415) 926-3587
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: What does it mean when -addLink: at: (NXDataLinkManager) fails? Message-ID: <1993Aug16.064235.7268@csus.edu> Sender: news@csus.edu Organization: San Francisco State University Date: Mon, 16 Aug 1993 06:42:35 GMT My turn to ask a stupid question. :-) I have an NXDataLinkManager instance with setInteractsWithUser:NO. When I try adding a link to a file it returns nil and spits out Assertion failed: _registerDependencyAndHookup: Could not add source reference What the [expletive] does this mean? Everything I've read about addLink:at: says little more than it *can* fail, but doesn't give specifics about the circumstances involved, whether it's possible to determine WHY the method failed, etc. I don't think I'm doing anything weird--I'm just trying to follow the example in /NextLibrary/Documentation/NextDev/ReleaseNotes/ObjectLinks.rtfd under "Creating an Object Link to a File." There doesn't seem to be anything in NeXTanswers pertaining to object links. -=EPS=- -- "I never had problems like this under 2.x"
From: peterk@pknms.toppoint.de (Peter Kretzschmar) Newsgroups: comp.sys.next.programmer Subject: Re: Large NXImage. Distribution: world Message-ID: <745496606peterk.postmast@pknms.toppoint.de> Sender: postmast@pknms.toppoint.de Date: Mon, 16 Aug 93 10:23:26 GMT References: <24mm89$sja@cs.ubc.ca> Organization: private site Keywords: cache, NXImage, window, off-screen In article <24mm89$sja@cs.ubc.ca> riedel@phoenix.cs.ubc.ca (Marko Riedel) writes: > >I'm using an NXImage to cache a large view. >The view's drawSelf:: simply composites from the cache. (Makes for fast & >smooth scrolling.) >Everything works fine as long as my image isn't too big. Once I try making >a cache for, say, an image 16 landscape pages wide, I get a "placewindow" >error, presumably from appkit code. >I've verified that my cache resizes okay (i.e. after using setSize:, >getSize: will return the correct size); furthermore, although my view is >the NXImage's delegate, its imageDidNotDraw method is never invoked. >What is going on here? This is extremely hard to debug, as the errors >appear in shlib code, i.e. there's no symbol data. > >Thanks, > >Marko R. Riedel The problem are the NXImage object and limitations in the window server. Windows couldn't be larger as 10000x10000. Last month, i've had the same problem. I solved it by using my own image objects. My code is limited to planar b&w TIFF's, but if you want, you can hack in your own code for loading non-planar Files. I used Sam Lefflers tiff library to load the Files into an structure similar to NXBitmapImageRep. I draw them by copying out a rectangle sized and positioned by a docview in a ScrollView. The docview has the same size as the image. When i scoll, the 'visible' portion of the docview changes and during the drawSelf method of the docview, i draw the underlying image portion by 1) copying out the image rectangle 2) draw the copy using NXDrawBitmap If there is interesting, i can upload the code to ftp.informatik.uni-muenchen.de. But at your own risk, the code isn't well documented. It's my first appkit hack and maybe a little confused. Peter -- Peter Kretzschmar +49 4321 41471 peterk@pknms.toppoint.de Grossflecken 54 24534 Neumuenster GERMANY
From: agray@axion.bt.co.uk (Andy Gray) Newsgroups: comp.sys.next.programmer Subject: Scrolling browsers Date: 16 Aug 1993 11:27:43 GMT Organization: BT Laboratories Distribution: world Message-ID: <24nqvf$39a@zaphod.axion.bt.co.uk> This is a simple question. How can I get a list of strings into a browser so I can then choose one string from that list. For instance char *mylist[] = { "one", "two", ... "ten" }; needs to appear in a view in the same way as if I opened an openPanel or savePanel. One it is up on the screen I want to then click on the line which says "two" and return that string. Thanks Andy Gray
From: edbson@sionext.uio.no (Stein Onsrud) Newsgroups: comp.sys.next.programmer Subject: Loign to a remote sybase server Date: 16 Aug 1993 11:52:13 GMT Organization: University of Oslo Message-ID: <24nsdd$t5s@hermod.uio.no> Hello, I have problems logging in to our sybase server (on a RS/6000 machine) via the DBModeler.app. It does not want to connect when i supply name, password, database server and database. no messages on the console, nothing. I do not know if i have the format of the login command right because i can not find anything about it in the documentation. I know im missing something quite simple here. Stein Onsrud SiO Data
From: blake015@mc.duke.edu (Denise Blakeley) Newsgroups: comp.sys.next.programmer Subject: Re: CVS and nib (was Re: RCS and binary files) Message-ID: <19134@news.duke.edu> Date: 16 Aug 93 13:01:11 GMT References: <NKAWAI.93Aug16114044@rkna50.riken.go.jp> Sender: news@news.duke.edu Nobuyuki Kawai writes > In comp.sys.next.programmer article <19071@news.duke.edu> Denise Blakeley wrote: > > There are two parts to my answer. First, the problem of CVS directories > > getting deleted from a nib when you make a change in IB and save it. Art > > Isbell (isbell@cats.ucsc.edu) wrote a Makefile.postamble which we have > > incorporated into our projects. > ......... > > As an alternative to this, Robert Thille (robert@ictv.com) has written a > > palette object which actually preserves the CVS directories right in the nibs. > ......... > > Another gentleman on the net has extended Robert Thille's palette object to to > > the uuencoding automatically whenever you save your nib (the uudecoding is > > still a hitch). > > > > Are these tools available publicly? Where? As Paul Kunz pointed out, Art Isbell's postamble is available from the archive sites. Robert Thille's palette is not publicly available yet; however a couple of folks are working on making it presentable for public consumption and I anticipate hearing from them this week. If you just can't wait for the more finished version, Robert is probably willing to send it to you (that's why I made sure to mention his e-mail address!) or I can send it to you. Denise -- Denise Blakeley | PROGRAM, tr. v., An activity similar Duke Med Center Info Systems | to banging one's head against a wall, Durham, NC | but with fewer opportunities for (919) 282-6468 W | reward. blake015@mc.duke.edu |
Newsgroups: comp.sys.next.programmer From: stefan@initiera.upnet.se (Stefan Kruger) Subject: help needed - dwrite Message-ID: <1993Aug16.130534.14370@sics.se> Sender: news@sics.se Organization: Swedish Institute of Computer Science, Kista Date: Mon, 16 Aug 1993 13:05:34 GMT Hi, if I want to change the Keyboard "language" using dwrite eg: % dwrite NeXT1 Keymap/NextLibrary/Keyboards/USA the mapping does not seem to change. Do I somehow have to tell the system to re-read the defaults data base ? Any help appreciated Stefan Kruger (stefan@initiera.upnet.se) -- .sig under re-construction
Newsgroups: comp.sys.next.programmer From: simsong@next.cambridge.ma.us (Simson L. Garfinkel) Subject: Re: Large NXImage. Message-ID: <1993Aug16.125254.23844@next.cambridge.ma.us> Sender: simsong@next.cambridge.ma.us Organization: Simson Garfinkel and Associates, Inc. References: <24mm89$sja@cs.ubc.ca> Date: Mon, 16 Aug 1993 12:52:54 GMT In article <24mm89$sja@cs.ubc.ca> riedel@phoenix.cs.ubc.ca (Marko Riedel) writes: > > I'm using an NXImage to cache a large view. > The view's drawSelf:: simply composites from the cache. (Makes for fast & > smooth scrolling.) > Everything works fine as long as my image isn't too big. Once I try making > a cache for, say, an image 16 landscape pages wide, I get a "placewindow" > error, presumably from appkit code. Sounds about right. I believe that NEXTSTEP imposes a 32K x 32K maximum size on any window. Since NXImage uses an offscreen window to cache its image, this is not too terribly surprising. -- ................................................................simson
Newsgroups: comp.sys.next.programmer From: nkawai@rkna50.riken.go.jp (Nobuyuki Kawai) Subject: Re: RCS and binary files In-Reply-To: blake015@mc.duke.edu's message of 3 Aug 93 03:22:11 GMT Message-ID: <NKAWAI.93Aug13163119@rkna50.riken.go.jp> Sender: news@rkna50.riken.go.jp (News Administrator) Organization: Institute of Physical & Chemical Research (RIKEN) Saitama,Japan. References: <CB56z5.JFv@world.std.com> <18572@news.duke.edu> Date: Fri, 13 Aug 1993 07:31:19 GMT In article <18572@news.duke.edu> blake015@mc.duke.edu (Denise Blakeley) writes: CVS still has some shortcomings when it comes to nibs, which can (for the most part) be worked around with some additional steps. We've found that the newfound ease with which we can do multi-person single-project development is well worth the additional hassle for nibs! This problem is also stated in the CVS FAQ. What exactly is the procedure you use to overcome this problem? -- $@2O9g@?G7(J Nobuyuki Kawai RIKEN
Newsgroups: comp.sys.next.programmer From: xinwei@otter.Stanford.EDU (Sha Xin Wei) Subject: dbkit gets null strings from Sybase text field Message-ID: <1993Aug13.201001.21818@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: Stanford University Date: Fri, 13 Aug 93 20:10:01 GMT In Sybase I have a field typed as "text" (not varchar) which I have wired in IB to a textfield just fine -- I can type text in, save to Sybase and get it back. But when I try to retrieve the contents programmatically using getValueForName:"comments": where getValueForName is the following method - getValueForName:(const char *)fieldName at:(unsigned)index { id aProp; id aVal = [[DBValue alloc] init]; aProp = [[currFetchGroup entity] propertyNamed:fieldName]; [[currFetchGroup recordList] getValue:aVal forProperty:aProp at:index]; return aVal; } aVal's stringValue is 0x0 (gdb reports that [aVal isNull] == NO, its typeValue is "*") even when I can see text in the view which is wired to this record's field. By the way, the same method applied to a varchar(255) field of the same record gets its stringValue, so I suspect that the problem is lies with dbkit unable to extract strings from a Sybase text field. Is this true? Sha Xin Wei Academic Software Development Stanford University
From: hickman@cse.unl.edu (Hubert B. Hickman) Newsgroups: comp.sys.next.programmer Subject: Starting multiple copies of apps Date: 13 Aug 1993 21:23:02 GMT Organization: University of Nebraska--Lincoln Distribution: world Message-ID: <24h0nm$g7@crcnis1.unl.edu> I am attempting to start a second copy of a running application programmatically. Is there an easy way to do this? Starting one copy is a piece of cake using the NXWorkspaceRequest protocol messages. Is there any way to do this other than resorting to forks and execs? It *must* be doable - the WM itself does this if you command-alt double click the icon of an app in the file viewer that is already running. Thanks, Hubert Hickman
From: blake015@mc.duke.edu (Denise Blakeley) Newsgroups: comp.sys.next.programmer Subject: Re: RCS and binary files Message-ID: <19071@news.duke.edu> Date: 13 Aug 93 21:25:53 GMT References: <NKAWAI.93Aug13163119@rkna50.riken.go.jp> Sender: news@news.duke.edu Nobuyuki Kawai writes > In article <18572@news.duke.edu> blake015@mc.duke.edu (Denise Blakeley) writes: > > CVS still has some shortcomings when it comes to nibs, which can > (for the most part) be worked around with some additional steps. > We've found that the newfound ease with which we can do > multi-person single-project development is well worth the > additional hassle for nibs! > > This problem is also stated in the CVS FAQ. What exactly is the > procedure you use to overcome this problem? There are two parts to my answer. First, the problem of CVS directories getting deleted from a nib when you make a change in IB and save it. Art Isbell (isbell@cats.ucsc.edu) wrote a Makefile.postamble which we have incorporated into our projects. It provides a couple of extra make targets. You run 'make ckout' right after you've done a 'cvs checkout' or 'cvs update' to create a tar archive of all the CVS directories within your project. You run 'make ckin' right before a 'cvs commit' and it uses that tar archive to repopulate your nibs with the CVS directories that were lost when you made nib changes and saved them. As an alternative to this, Robert Thille (robert@ictv.com) has written a palette object which actually preserves the CVS directories right in the nibs. I haven't had a chance to try it out here yet, but I intend to; I understand it works great, and it will eliminate the need to remember to do the two extra 'make ckout' and 'make ckin' steps at the right time. Second, the problem of resolving conflicts in data.nib files. There isn't really a good solution for this yet, but what we're doing to get by is to store our data.nibs as uuencoded files in the CVS repository. When we do a checkout or update, we run through and uudecode all of them so we can work on them, and before we do a commit we uuencode them for the repository. The uuencoding doesn't prevent nib conflicts from happening, it just makes recovery easier. The drawback is that this makes for two _more_ manual steps to have to remember to do at the right times. Another gentleman on the net has extended Robert Thille's palette object to to the uuencoding automatically whenever you save your nib (the uudecoding is still a hitch). If you need more info, let me know... Denise -- Denise Blakeley | PROGRAM, tr. v., An activity similar Duke Med Center Info Systems | to banging one's head against a wall, Durham, NC | but with fewer opportunities for (919) 282-6468 W | reward. blake015@mc.duke.edu |
Newsgroups: comp.sys.next.programmer From: paul@np.com (Paul Nordstrom) Subject: renaming PB.project Message-ID: <CBpICo.F8@np.com> Organization: NP Consulting, San Francisco Date: Fri, 13 Aug 1993 16:41:11 GMT Is there some sort of hardcoded dependency in ProjectBuilder that prevents me from renaming PB.project to something more descriptive? Without going into too much detail, if my app is called FooBar, I want to rename PB.project to FooBar.project, but I can no longer get ProjectBuilder to recognize the project (it says it is an invalid project). Am I missing something, or is that just the way it is? -- -- Paul Nordstrom NP Consulting paul@np.com
Newsgroups: comp.sys.next.programmer From: mabroa01@orion.spd.louisville.edu (Morgan Broadhead) Subject: Compiler! Trouble Sender: news@netnews.louisville.edu (Netnews) Message-ID: <mabroa01.745278190@starbase.spd.louisville.edu> Date: Fri, 13 Aug 1993 21:43:10 GMT Organization: University of Louisville Once again, thanks to those who responded to my post. To the many who voiced the concern that the optimizer was eating the variables missing in gdb: I don't usually use the optimizer. I was inspired to try it, though, after the first response which mentioned it, and discovered that it 'fixes' the problem! I distilled the program in question down by removing everything that could be removed without fixing the problem. I am posting the results. I would appreciate it if someone could try compiling it under 3.0 (without the optimizer) and email me the results. Here it is: /* * This program blows. */ #import <stdio.h> #import <stdlib.h> #define FFT_SIZE 2048 void main() { float x[FFT_SIZE],c[FFT_SIZE],zero[FFT_SIZE]; float WRe[FFT_SIZE/2],WIm[FFT_SIZE/2]; int n,M,N,*samples; M=100; for(N=0;N<100;N++) { samples=(int *)calloc(M,sizeof(int)); for(n=0;n<M;n++) samples[n]=0; cfree(samples); } } It runs without error on the HP. I have been advised that it also runs without error under 3.1. It generates a bus error (or seg. fault if M is changed) when run on my machine under 3.0. Note the the program isn't supposed to do anything, so if it works, nothing happens. Note also that there are several unused variables; removing (or even shrinking them sufficiently) will remove the error. Removing any of the lines and/or changing the dynamic allocation to static also 'fix' the code. If you can spot a programming error, tell me about it. If you know why this code fails please email me! If it doesn't fail (under 3.0) then it seems very likely that my compiler is corrupted, and I guess I'll have to try to find and install a new one... Thanks, Alex -- ------------------------------------------------------------------------------ The Mighty Rev. M. Alexander Broadhead mabroa01@starbase.spd.louisville.edu ------------------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: dylan@angst.com (Dylan Kohler) Subject: Postscript Interpolate Message-ID: <1993Aug13.210928.5990@Angst.COM> Keywords: Postscript Interpolate Sender: dylan@Angst.COM Organization: Angst Animation Post Production Date: Fri, 13 Aug 1993 21:09:28 GMT Does anyone have any sample code that makes the Interpolate library command work? From what I make of the documentation, it seems this might enable you to display scaled images anti-aliased. (I think I don't quite understand image dictionaries or maybe the 'image' operator.) I'll summarize. -- ___________________________________ Dylan Kohler Angst Animation Post Production dylan@angst.com (NeXTmail welcome)
To: gnu-gcc-bug@cis.ohio-state.edu Distribution: world From: dkolbly@cs.utexas.edu (Donovan Kolbly) Newsgroups: gnu.gcc.bug,comp.sys.next.programmer,comp.sys.next.software Followup-To: gnu.gcc.bug Date: 13 Aug 1993 00:45:54 -0500 Organization: CS Dept, University of Texas at Austin Message-ID: <gnusenetm6makiINN21c@ozona.cs.utexas.edu> Keywords: gcc-2.4.5, m68k Subject: gcc 2.4.5 bug w.r.t. using a d-reg to hold a pointer There appears to be a bug in gcc 2.4.5 for m68k (NeXT) machines, when choosing to declare global register variables. In particular, a reproducible gcc-crash occurs in the appended program. The trigger appears to be when you want to treat the value in a (global variable) data register as a pointer. It only shows up in this particular program when compiling optimized; compiling unoptimized causes a regular call to be made to gvec_read(), so the fact that it's arg is from a data reg is not a problem. I also know this is a non-problem on a SPARC, presumably because it has fully general purpose register values. Sadly, I don't know enough about the workings of gcc to track down a possible fix. I can use address regs for now, but they are scarce on an m68k, so I'd rather not. Anyway, this particular var is often used as data, so it just makes more sense to put it in a data reg. ----------------- transcript --------------- skye:runtime> gcc -v Reading specs from /usr/local/lib/gcc-lib/m68k-next/2.4.5/specs gcc version 2.4.5 skye:runtime> gcc -Wall -O breako2.c breako2.c: In function `multiLoop': breako2.c:25: internal error--unrecognizable insn: (insn/i 12 10 16 (set (reg:SI 30) (mem:SI (reg/v:SI 7 d7))) -1 (nil) (nil)) gcc: Internal compiler error: program cc1 got fatal signal 6 skye:runtime> -------------------- program -------------- typedef unsigned obj; register obj valueReg asm( #ifndef DONT_FAIL "d7" #else "a3" #endif ); static inline obj gvec_read( obj target, unsigned offset ) { return *(obj *)(target + offset); } static inline obj car( obj a ) { return gvec_read(a,0); } void *multiLoop( void ) { valueReg = car( valueReg ); return (void *)0; } ------------------------------------------- --- Donovan Kolbly dkolbly@cs.utexas.edu
Newsgroups: comp.sys.next.programmer From: cedman@capitalist.princeton.edu (Carl Edman) Subject: Re: Where are POSIX libs (NS/FIP)??? In-Reply-To: eps@futon.SFSU.EDU's message of 11 Aug 93 06:49:49 GMT To: eps@futon.SFSU.EDU (Eric P. Scott) Message-ID: <CEDMAN.93Aug13223915@capitalist.princeton.edu> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University References: <1674@racerx.bridge.COM> <1993Aug11.064949.26695@csus.edu> Date: Sat, 14 Aug 1993 02:39:15 GMT In article <1993Aug11.064949.26695@csus.edu> eps@futon.SFSU.EDU (Eric P. Scott) writes: In article <1674@racerx.bridge.COM> kaelin@Bridge.COM (Kaelin Colclasure) writes: >I am attempting to port some POSIX source to NeXTSTEP (well, actually Mach) >and although I can now get a clean compile, I have no idea where the POSIX >compliant libraries are located. Vaporspace. > The on-disk documentation failed to offer >any useful references to "posix" /NextLibrary/Documentation/NextDev/ReleaseNotes/OperatingSystem.rtf "In Release 3.1, building POSIX applications isn't supported. POSIX will be supported in a future release." ^ unspecified But note that there _are_ many of the posix header files in NS 3.1. It is just the code which is missing. So now we have progressed beyond the point where posix dependant programs just won't work to the point where posix dependant programs still won't work but now even programs which optionally use posix won't autoconfigure properly any longer. This actually has been my most frequent installation problem since switching to 3.1. Carl Edman
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Where are POSIX libs (NS/FIP)??? Message-ID: <1993Aug14.064834.26882@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1674@racerx.bridge.COM> <1993Aug11.064949.26695@csus.edu> <CEDMAN.93Aug13223915@capitalist.princeton.edu> Date: Sat, 14 Aug 1993 06:48:34 GMT In article <CEDMAN.93Aug13223915@capitalist.princeton.edu> cedman@capitalist.princeton.edu (Carl Edman) writes: >programs which optionally use posix won't autoconfigure properly any >longer. This actually has been my most frequent installation problem Are you refering to GNU autoconf? That pile of rubbish has *never* worked right with NeXTs. (Admittedly, it's in some ways a lot less braindead than some of the configure scripts I've seen...) (POSIX is by far the greater evil.) -=EPS=-
From: jimb@access.digex.net (Jim Brooking) Newsgroups: comp.sys.next.programmer Subject: Help: 3.1 DBTableView and "Return" Date: 16 Aug 1993 09:41:23 -0400 Organization: Object oriented Distribution: usa Message-ID: <24o2q3$4k9@access.digex.net> Why does the DBTableView do the same thing for "Return" and the down arrow key? Is there a way to make the tableview pass return to the next responder? I have a table which i want to select a row from using the arrow keys, then hit return (to take action on that row). Pressing return just selects the next row. >8^| Thanks -- jimb@access.digex.com | NeXTSTEP Developer | MARRC Cornerworker '93 GSX600FP Katana | Murder Capital, DC | Summit Point Raceway, WV ----------------------+----------------------------+-------------------------- "Relax, Don't Worry, Have a Homebrew"
Newsgroups: comp.sys.next.programmer From: nv90-mwe@nada.kth.se (Martin Wennerberg) Subject: Re: How to execute apps? Message-ID: <1993Aug16.150939.4345@kth.se> Sender: usenet@kth.se Organization: Royal Institute of Technology, NADA References: <1993Aug10.161437.22990@kth.se> Date: Mon, 16 Aug 1993 15:09:39 GMT > What I want to do: > > (1) Start a program "aPath" with args "someArgs" on host "aHost" from > within my main process. The "aPath" program is a server that registers a > distributed object. > > (2) wait till it has started or failed to start. > > (3) Connect to it with distributed objects. .. Thanks to those who helped. This is how I solved it: I have my main program that uses some "Brain" programs on different hosts that performs the calculations. 1) I created an object "Jobserver" in my main program and registered it as a distributed object with name XXX. 2) The jobserver then splits the work into "Jobs" and puts them in a joblist. 3) It then writes a file "~/xxxxxx.jobservertmp" that contains the name of the host it is running on , the name XXX and aditional args. 4) It executes a number of system(cmd), where cmd is a string like open ~/xxxxxx.jobservertmp -a Brain -NXHost aHost 5) When the Brain starts up on aHost, it reads the file and connects to the Jobserver and sends the message "wantsJob:self" to it. 6) The Jobserver takes a Job from the joblist and sends it to the Brain. 7) The Jobserver then continues to send jobs upon request until all work is done (the jopblist is empty) and it tells the Brains to terminate. I d prefer to use the rexec() for (4) but I couldn't make it work. (Am I the only one that finds these UNIX commands a bit hard to use?). ---- Martin Wennerberg email: nv90-mwe@nada.kth.se
Newsgroups: comp.sys.next.programmer From: nico@imani.cam.org (Nicolas Dore) Subject: Re: Shared Libraries Message-ID: <1993Aug16.143513.6866@imani.cam.org> Sender: nico@imani.cam.org References: <24d6en$3ah@steffi.demon.co.uk> Date: Mon, 16 Aug 1993 14:35:13 GMT In article <24d6en$3ah@steffi.demon.co.uk> robert@steffi.demon.co.uk (Robert Nicholson) writes: > bruce@TotSysSoft.com (Bruce Gingery) wrote > > > >Bad help again, Eric... > > OK, let's all lay off Eric please. We are privildeged to have him > and others like him participate in this forum. These guys know > a lot and do contribute significantly so they don't deserve this shit. > So, because he's helpfull, when he starts trowing sh*t around, nobody can answer back? I'll try to be usefull from now on... 8^)) Joking aside, I, amongst others, have complained about his lack of civility MANY times in these forums. If he'd only add smileys... Anyway Ciao -- Nicolas Dore nico@imani.cam.org - - - - - - - - - CAREFUL! NERDIE TV SHOW QUOTE ZONE! - - - - - - - > "Just once I'd like to meet an alien nuisance < > that isn't immune to bullets" Policeman, in Dr Who <
From: kiwi@cs.tu-berlin.de (Axel Habermann) Newsgroups: comp.sys.next.programmer Subject: Re: Help: 3.1 DBTableView and "Return" Date: 16 Aug 1993 16:33:38 GMT Organization: Technical University of Berlin, Germany Distribution: usa Message-ID: <24oct2$6n5@news.cs.tu-berlin.de> References: <24o2q3$4k9@access.digex.net> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 8bit jimb@access.digex.net (Jim Brooking) writes: >Why does the DBTableView do the same thing for "Return" and >the down arrow key? Is there a way to make the tableview pass >return to the next responder? >I have a table which i want to select a row from using the arrow keys, >then hit return (to take action on that row). Pressing return just >selects the next row. >8^| Hello!@ Look at the example /NextDeveloper/Examples/IndexingKit/Ledger/KAYEditableFormatter.m It's a formatter which should point you to the right direction. I use DBTableViews with this Formatter (note that you have to set the Formatter for each column with setFormatter:myFormatter) and pressing Return results in the selected row to be edited. Have fun! -- Axel Habermann \\|// FaxFon: +49 30 4543046 Fehmarnerstr. 4 )o o( eMail: kiwi@cs.tu-berlin.de 13353 Berlin (Wedding) \ | / "Wenn Du nicht weisst Germany \~/ was du tust, mach's mit Eleganz!"
Newsgroups: comp.sys.next.programmer From: drew@fnbc.com (Drew Davidson) Subject: Keyboard macros for Terminal in 3.1? Message-ID: <1993Aug16.161306.25786@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA Date: Mon, 16 Aug 93 16:13:06 GMT I've got this problem on my 3.1 Intel GX Professional: My arrow keys no longer work in Terminal to scroll up/down through histories or left/right through the command line. I've got a .macros file and a .bindings file, but the arrow keys must generate different key sequences on Intel. Help! I miss my arrow keys! - Drew -- +--------------------------------+-------------------------------------------+ | Drew Davidson | "Never ask a programmer if he'll have | | Software Guy | another cup of coffee because it's | | First National Bank of Chicago | nobody's damn business how much he's | | drew@fnbc.com (NeXTmail) | already had!" - me | +--------------------------------+-------------------------------------------+
Newsgroups: comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.misc From: andersen@reality.glv.com (Robert Andersen) Subject: SQL Server FOR NSI, SYBASE Compatible? Message-ID: <1993Aug16.172839.7892@glv.uucp> Sender: usenet@glv.uucp Organization: Encompass Date: Mon, 16 Aug 1993 17:28:39 GMT Subject line says it all. I need to run an SQL server on an Intel box that closely resembles SYBASE, as long as it uses a common SQL it should be fine. Does anyone know of NSI SQL servers that fit this bill? --- Robert John Andersen andersen@reality.glv.com Encompass 919-460-3285
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: PB and libraries (Or how to improve Project Builder) Message-ID: <1993Aug16.172720.581@afs.com> Sender: Michael_Pizolato@afs.com References: <24ls8u$r1@steffi.demon.co.uk> Date: Mon, 16 Aug 1993 17:27:20 GMT Robert Nicholson writes [munch] >Has anybody devised a library.make that I can use instead of app.make? [munch] I have exactly what you need - it works with PB-created Makefiles, so you don't have to worry about PB saves screwing up the works. Basically, you create a bundle project, include my files in your Makefile.preamble and Makefile.postamble, and it just works. There are some modifications to bundle.make and common.make, but they're relatively minor and they don't affect regular bundle builds, or anything else for that matter. I'm sure Robert is not the only one who needs this, so if anyone wants a copy of my solution, please e-mail to me. I'll build a mailing list and NeXTMail the relevant stuff to all interested parties. I also have several other useful (though minor) extensions of the makefiles that come along for free, like my 'relink' target. I have NS3.0 and NS3.1 versions. Thanx, Michael P.S. It may take me a day to make notes concerning what you have to do to install it (a lot of that kind of info about it exists only in my head because up to now no one has asked for any of it), but I'll get it out as fast as I can. -- Michael Pizolato gnihtyreve noitseuq michael_pizolato@afs.com NeXTMail appreciated
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: renaming PB.project Message-ID: <1993Aug16.174309.674@afs.com> Sender: Michael_Pizolato@afs.com References: <1993Aug15.051942.9445@relief.com> Date: Mon, 16 Aug 1993 17:43:09 GMT John Jay Feiler writes >In article <CBpICo.F8@np.com>paul@np.com (Paul Nordstrom) writes: >>Is there some sort of hardcoded dependency in ProjectBuilder that >>prevents me from renaming PB.project to something more descriptive? >>Without going into too much detail, if my app is called FooBar, >>I want to rename PB.project to FooBar.project, but I can no longer >>get ProjectBuilder to recognize the project (it says it is an >>invalid project). Am I missing something, or is that just the >>way it is? > >From what I've been able to tell, it is unfortunately hardwired. >I have reported this to NeXT as a bug, we'll see if they do anything >about it. Actually, seeing how good the people are on the Developer >Tools group, if they actually hear about the complaint, it will >probably be fixed..... I experimented with this. As J.B. Nicholson-Owens suggests in another post, linking to PB.project works. You can double-click the link, it opens correctly, and saving works properly. However, when I tried, for example, foo.project that was _not_ a link but a file containing project data, it opened and PB did not complain. BUT, when I _saved_ the file, it was PB.project that got written, NOT foo.project. I agree that this should be fixed, though it _is_ nice to be able to go to any project directory and quickly find PB.project in an alphabetical directory listing. Thanx, Michael P.S. Open a .project file in Edit sometime - interesting stuff :-). -- Michael Pizolato gnihtyreve noitseuq michael_pizolato@afs.com NeXTMail appreciated
Newsgroups: comp.sys.next.programmer From: cary@fiu.edu (Cary Bakker) Subject: I'm a newbie that needs help... Organization: Florida International University, Miami Date: Mon, 16 Aug 1993 19:31:16 GMT Message-ID: <CBvA84.A4p@fiu.edu> Sender: news@fiu.edu (Usenet Administrator) Hi, My problem is that I'm taking over the development of a project that is being developed on a Next (intel) machine. The fellow before me is the only person that has worked on this program. I was able to start about 3 weeks before he left, and I picked up a lot in the time that he was here, but now I'm on my own. What I need for now is to find out how to draw in a temporary image, and then display after the drawing is done. What I am doing now is connecting points to make a map. Whenever I scroll, the map has to redraw itself, and it is tremendously slow. What I am thinking is that I can draw it in a temp. NXImage, and then composite the image whenever I scroll. I've also read that a userpath can be helpful. (I'm connecting several hundred/thousand points). I feel like I kinda know what to do , but I'd be greatful if someone would kinda walk me through it. Thanks, Cary A. Bakker. NeXT mail to: bakker@spot.aoml.erl.gov
Newsgroups: comp.sys.next.programmer From: greg@afs.com (Gregory H. Anderson) Subject: FAQ Creation Message-ID: <1993Aug16.185110.10547@afs.com> Sender: greg@afs.com Date: Mon, 16 Aug 1993 18:51:10 GMT I know I threatened to do this a while ago, but this time I'm serious. (A recent, 1000th-time-asked question about how to fill a browser is the straw that broke this camel's back.) I've been accumulating the best of c.s.n.programmer for the past 12 months, and I've been compiling it into one document for the last few weeks. It's tougher than it sounds, because I don't want to completely republish source examples every month. One section is just related to where else to go for answers, like NeXT Answers and the next-prog mailing list. In some cases, I'm taking the approach of providing pointers to those references. Before I release it: 1) Does anyone object to me taking over this responsibility? 2) Does anyone have personal favorites for "Top 10 FAQs"? Please email me directly. I don't want to start an FAQ flame war until I can take full responsibility for it... 8^) -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: Scrolling browsers Date: 16 Aug 1993 16:16:04 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <24opu4$g0v@digifix.digifix.com> References: <24nqvf$39a@zaphod.axion.bt.co.uk> Andy Gray writes > This is a simple question. > > How can I get a list of strings into a browser so I can then choose one string > from that list. For instance Get thee to a MiniExample! [ I'm not only the president of the MiniExamples Fan Club. I'm also a client! ] There are several NeXT MiniExamples that demonstrate this behaviour including... [ listed in order of preference] 1254 StringList 93-07-22 1261 ZooView 93-07-22 1249 CellScrollView 93-07-22 1252 NormalBrowser 93-07-22 StringList is a palette that you could actually do much of the setup in IB, and is very easy to integrate with browsers. All are on ftp.next.com or are available from NeXTanswers@next.com by sending a message to that address with 1249 1252 1254 1261 in the body. (that will send you NextMail encoded versions of all the files) And if that isn't enough of a pointer, here is some code from my own MiniExample on implementing a single column browser. theBrowser is an outlet that is connected to the browser in IB, the class these methods are in is the delegate for both the Application and the Browser. -appDidInit:sender { [theBrowser setDelegate:self]; [theBrowser loadColumnZero]; [theBrowser setTarget:self]; [theBrowser setAction:@selector(didClick:)]; [theBrowser setDoubleAction:@selector(didDoubleClick:)]; return self; } -didClick:sender { char buf[255]; int theSelectedRow; theSelectedRow = [[theBrowser matrixInColumn:0] selectedRow]; if (theSelectedRow < 0) {sprintf(buf,"Sample");} else {sprintf(buf,"Clicked row %d", theSelectedRow);} [theBrowser setTitle:buf ofColumn:0]; return self; } -didDoubleClick:sender { char buf[255]; int theSelectedRow; theSelectedRow = [[theBrowser matrixInColumn:0] selectedRow]; if (theSelectedRow < 0) {sprintf(buf,"Sample");} else {sprintf(buf,"Double Clicked row %d", theSelectedRow);} [theBrowser setTitle:buf ofColumn:0]; return self; } -(int)browser:sender getNumRowsInColumn:(int)column { if (column == 0) { return (int)NUMROWS;} else {return (int)0;}; } -browser:sender loadCell:cell atRow:(int)row inColumn:(int)column { char myBuf[255]; sprintf(myBuf,"Browser Item %d",row); [cell setStringValue:myBuf]; [cell setLeaf:YES]; [cell setLoaded:YES]; return self; } @end -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: Shared Libraries (not really) Date: 16 Aug 1993 16:27:51 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <24oqk7$g1j@digifix.digifix.com> References: <1993Aug16.143513.6866@imani.cam.org> Nicolas Dore writes > In article <24d6en$3ah@steffi.demon.co.uk> robert@steffi.demon.co.uk (Robert > Nicholson) writes: > > bruce@TotSysSoft.com (Bruce Gingery) wrote > > > > > >Bad help again, Eric... > > > > OK, let's all lay off Eric please. We are privildeged to have him > > and others like him participate in this forum. These guys know > > a lot and do contribute significantly so they don't deserve this shit. > > > > So, because he's helpfull, when he starts trowing sh*t around, nobody can answer > back? I'll try to be usefull from now on... 8^)) Nicholas... I don't think that Eric has thrown that much sh*t around. His comments on 'second class internet users' was harsh, but they have alternatives. Upgrade their connection, buy a better modem, or use one of many mail-servers that will split downloads across multiple files. > > Joking aside, I, amongst others, have complained about his lack of civility MANY > times in these forums. If he'd only add smileys... Anyway > This coming from the person who publicly flamed NeXT a week ago because he honestly thought that NeXT had posted the cracked version of Microphone. His excuse after the fact? It was late, and he has a 2400 baud connection. -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
From: kheit@gandalf.rutgers.edu (John Kheit) Newsgroups: comp.sys.next.programmer Subject: SND Gains, Microvolts etc... Message-ID: <Aug.16.17.14.59.1993.22257@gandalf.rutgers.edu> Date: 16 Aug 93 21:15:00 GMT Organization: Rutgers Univ., New Brunswick, N.J. If some one could direct me to a book or example of how to get the amplitudes, gains, microvolt levels, of a specific frequency taken from a sound I would be most grateful. Thanks, John
Newsgroups: comp.sys.next.programmer From: wave@pixar.com (Michael B. Johnson) Subject: Re: PB and libraries (Or how to improve Project Builder) Message-ID: <1993Aug16.200401.872@pixar.com> Sender: news@pixar.com (Usenet Newsmaster) Organization: Pixar -- Point Richmond, California References: <24ls8u$r1@steffi.demon.co.uk> Date: Mon, 16 Aug 1993 20:04:01 GMT In article <24ls8u$r1@steffi.demon.co.uk> robert@steffi.demon.co.uk (Robert Nicholson) writes: > An app can contain many things including a ordinary C library. > > You can build C libraries thru Project Builder however, it doesn't > have a recognized "library" project type together with it's own > library.make so each time you save in PB using Application as your > project type. > <<munch - stuff deleted>> > Can I get away with Bundle or Palette types perhaps? I don't think so > as they too have their own assumptions/definitions. > > I know its easy to build libraries from the command line and hack > up the makefiles myself but there should be no reason why I should > not be able to do it from PB. Providing PB was made aware of things. > > Any thoughts? Well, it's probably a kludge, but in my case, where I write a lot of IB palettes that I also want as linkable libraries, I just add a "lib" and "libdebug" target to my Makefile.postamble (with the appropriate incantations to include the .o's I want), and then add those as possible targets under Preferences in PB. Actually, for my stuff, "lib" is the default target that comes up in PB ('cause I want it that way) which builds the IB palettes, builds a library, and installs the palette, the library, and the appropriate header files in the appropriate place. Works for me... -- --> Michael B. Johnson -- wave@media.mit.edu, wave@pixar.com --> MIT Media Lab -- Computer Graphics & Animation Group --> P*I*X*A*R -- IceMan Group (for the summer)
Newsgroups: comp.sys.next.programmer From: wave@pixar.com (Michael B. Johnson) Subject: Re: another shared library problem Message-ID: <1993Aug16.200629.940@pixar.com> Sender: news@pixar.com (Usenet Newsmaster) Organization: Pixar -- Point Richmond, California References: <1993Aug13.144515.1612@afs.com> Date: Mon, 16 Aug 1993 20:06:29 GMT In article <1993Aug13.144515.1612@afs.com> Michael_Pizolato@afs.com (Michael Pizolato) writes: > Michael B. Johnson writes > >Here's a good example of something which has no good solution right now; > >only because NeXT won't let us make our own shared libraries. > [example of multiply loading code munched...] > > strip -u MyBundle.bundle/MyBundle > > This works for loading two or more palettes that have linked the > same library. I'm assuming it works for bundles, too, though I > haven't had occasion to try it. Hmm, I'll try this. Thanks. > > I still want shared libraries, though. > So do I. The above suggestion might solve problem number 1 (having to link the same library against multiple bundles), but it doesn't solve my other problem (having a copy of the same library (dynamically) linked in Workspace.app, IB, my random apps...). -- --> Michael B. Johnson -- wave@media.mit.edu, wave@pixar.com --> MIT Media Lab -- Computer Graphics & Animation Group --> P*I*X*A*R -- IceMan Group (for the summer)
Newsgroups: comp.sys.next.programmer From: wave@pixar.com (Michael B. Johnson) Subject: Re: another shared library problem (fixed!) Message-ID: <1993Aug16.204323.2046@pixar.com> Sender: news@pixar.com (Usenet Newsmaster) Organization: Pixar -- Point Richmond, California References: <1993Aug16.200629.940@pixar.com> Date: Mon, 16 Aug 1993 20:43:23 GMT In article <1993Aug16.200629.940@pixar.com> wave@pixar.com (Michael B. Johnson) writes: > In article <1993Aug13.144515.1612@afs.com> Michael_Pizolato@afs.com > (Michael Pizolato) writes: > > Michael B. Johnson writes > > >Here's a good example of something which has no good solution right > now; > > >only because NeXT won't let us make our own shared libraries. > > [example of multiply loading code munched...] > > > > strip -u MyBundle.bundle/MyBundle > > > > This works for loading two or more palettes that have linked the > > same library. I'm assuming it works for bundles, too, though I > > haven't had occasion to try it. > > Hmm, I'll try this. Thanks. > Cool. I just tried this for two WorkSpace inspectors I wrote that both use tcl (and a couple other libraries I wrote), and it works! This is a much, much better solution than the one various people suggested (via postings and e-mail) about having a separate bundle that contained the various libraries and which the other bundles checked to see if it had been loaded first... Thanks again. Figured I'd follow this up publicly since a lot of other people seemed as un-clued as I was... -- --> Michael B. Johnson -- wave@media.mit.edu, wave@pixar.com --> MIT Media Lab -- Computer Graphics & Animation Group --> P*I*X*A*R -- IceMan Group (for the summer)
From: sanguish@digifix.com Newsgroups: comp.sys.next.announce,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.advocacy,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.bugs,comp.sys.next.programmer,comp.sys.next.marketplace Subject: Quick Guide to the comp.sys.next.* newsgroups Date: 16 Aug 1993 17:36:46 -0400 Organization: Next Announcements Message-ID: <24oulc$gdi@digifix.digifix.com> The current menagerie: 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. 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. 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. 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. 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. 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!!! 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. comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. (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. Written by: Eric P. Scott eps@toaster.SFSU.EDU Minor editing: Scott Anguish
Newsgroups: comp.sys.next.programmer From: gerben@rna.indiv.nluug.nl Subject: RCS? Message-ID: <1993Aug16.213407.6379@rna.indiv.nluug.nl> Sender: gerben@rna.indiv.nluug.nl (Gerben Wierda) Organization: G.R.O.S.S. Date: Mon, 16 Aug 1993 21:34:07 GMT Wel, I just installed rcs 5.6 in /usr/local/bin and I thought: lets make sure the older rcs is not online. So I looked in /usr/bin and I did not see rcs there! It seems NS 3.1 contains the man pages, but not the actual programs... -- Gerben Wierda [NeRD:7539] gerben@rna.indiv.nluug.nl "If you don't know where you are going, any road will take you there." From the Talmud(?), rephrased in Lewis Carroll, "Alice in Wonderland".
From: jweiss@casbah.acns.nwu.edu (Jerry Weiss) Newsgroups: comp.sys.next.programmer Subject: Re: Keyboard macros for Terminal in 3.1? Date: 16 Aug 1993 23:49:09 GMT Organization: Northwestern University, Evanston IL Message-ID: <24p6dl$ggl@news.acns.nwu.edu> References: <1993Aug16.161306.25786@fnbc.com> In article <1993Aug16.161306.25786@fnbc.com> drew@fnbc.com writes: >I've got this problem on my 3.1 Intel GX Professional: > >My arrow keys no longer work in Terminal to scroll up/down through histories or >left/right through the command line. I've got a .macros file and a .bindings >file, but the arrow keys must generate different key sequences on Intel. > >Help! I miss my arrow keys! > The arrow keys generate the same (correct sequences) so the problem is somewhere else. Thus either csh is broken, or the .macros files has a big/little endian problem when moved Black hardware. Several people suggested to me that I get tsch which has more direct support for arrow keys. -- Jerry S. Weiss j-weiss@nwu.edu Dept. Medicine, Northwestern Univ. Medical School, Chicago, Illinois %SYSTEM-S-PHALOKTARG, Phasers Locked on Target, Ready to Fire
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: RCS? Date: 16 Aug 1993 22:38:35 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <24pgbb$hf5@digifix.digifix.com> References: <1993Aug16.213407.6379@rna.indiv.nluug.nl> gerben@rna.indiv.nluug.nl writes > Wel, I just installed rcs 5.6 in /usr/local/bin and I thought: lets make sure > the older rcs is not online. So I looked in /usr/bin and I did not see rcs > there! > > It seems NS 3.1 contains the man pages, but not the actual programs... Hmmm.. It is on my 3.1 system... From my 3.1 NEXTSTEP Users CD /NEXTSTEP_3.1/usr/bin/rcsdiff /NEXTSTEP_3.1/usr/bin/rcsclean /NEXTSTEP_3.1/usr/bin/rcs /NEXTSTEP_3.1/usr/bin/rcsmerge hehe... they ship rcs, but not emacs! -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: comp.sys.next.programmer From: mshaler@tdocad.sps.mot.com (Michael Shaler) Subject: Re: Keyboard macros for Terminal in 3.1? References: <1993Aug16.161306.25786@fnbc.com> Date: Mon, 16 Aug 1993 23:55:14 GMT Organization: Nippon Motorola Ltd., Tokyo, Japan Sender: news@tkymail.sps.mot.com Message-ID: <1993Aug16.235514.9904@tkymail.sps.mot.com> Drew Davidson writes I've got this problem on my 3.1 Intel GX Professional: [munch] tcsh is fat, and does lots of this and lots more... --- Michael Shaler Tokyo Design Center Nippon Motorola Ltd. +813 3280 8245 voice +813 3440 0033 fax mshaler@tdocad.sps.mot.com [NeXTmail]
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer,comp.lang.postscript Subject: Clipping Text in a box nicely... Date: 16 Aug 1993 23:45:59 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <24pk9n$hqq@digifix.digifix.com> (Not a very descriptive title, but ...) I have a column of data that is a fixed width filled with text data. If the entry is shorter than the box, no problem. If the entry is longer than the box, I want to make sure that there are no letters chopped in half. That is that breaks are at whole letters. I've so far considered doing stringwidths on the entire string dropping a letter off the end until it fits, but that seems like it might be slow. Definately isn't efficient. Any suggestions? Any code? :-) Thanks Scott -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy,mlist.next-prog Subject: cmsg cancel <9308151043.AA02503@steffi.demon.co.uk> Control: cancel <9308151043.AA02503@steffi.demon.co.uk> Date: 16 Aug 1993 18:15:52 +0100 Organization: me organized? That's a joke! Message-ID: <24ofc8$1lv@steffi.demon.co.uk> <9308151043.AA02503@steffi.demon.co.uk> was cancelled from within trn.
From: warren@cyberspace.com (Warren Victorian) Newsgroups: comp.sys.next.programmer Subject: What are these? Date: 16 Aug 1993 21:33:55 -0700 Organization: (CYBERSPACE) Public Internet 206.286.1600 Message-ID: <24pn3j$1l2@cyberspace.com> Cc: I found these wierd international phone sex lines in a magazine the otherday and I was just wondering how these people can offer a service like this for free. It makes no sence to me. Anyways it is pretty hardcore and anyone into that type of stuff should give it a shout. 011-239-129-2618 or 011-239-129-2620
Date: Tue, 17 Aug 1993 04:46:14 GMT From: jik@GZA.COM (Jonathan I. Kamens) Message-ID: <jik.cancel.930817044614.137.168@GZA.COM> Newsgroups: comp.sys.next.programmer,control Subject: cmsg cancel <24pn3j$1l2@cyberspace.com> Control: cancel <24pn3j$1l2@cyberspace.com> .
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Clipping Text in a box nicely... Message-ID: <1993Aug17.074552.2555@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <24pk9n$hqq@digifix.digifix.com> Date: Tue, 17 Aug 1993 07:45:52 GMT In article <24pk9n$hqq@digifix.digifix.com> sanguish@digifix.com (Scott Anguish) writes: >I have a column of data that is a fixed width filled with text data. > >If the entry is shorter than the box, no problem. >If the entry is longer than the box, I want to make sure that there >are no letters chopped in half. That is that breaks are at whole letters. > >I've so far considered doing stringwidths on the entire string >dropping a letter off the end until it fits, but that seems like >it might be slow. Definately isn't efficient. Actually, you have the basic idea. To make it efficient, you can use getWidthOf: (Font) instead of PSstringwidth(). Since you're going to do this repeatedly, grab a pointer to its method implementation: float (*getWidthOf)(id, SEL, const char *); getWidthOf=(float (*)(id, SEL, const char *)) [Font instanceMethodFor:@selector(getWidthOf:)]; -or- getWidthOf=(float (*)(id, SEL, const char *)) [fontObj methodFor:@selector(getWidthOf:)]; Then call (*getWidthOf)(fontObj, @selector(getWidthOf:), yourString) to see if it fits; if so, you're home free. If not, make a copy of the string with NXCopyStringBuffer() or NXCopyStringBufferFromZone(), and replace its final character with an ellipsis ('\274'). See if that fits. If not, replace that with '\0' and the character before that with an ellipsis. Repeat until it fits or you're left with nothing but a single NUL-terminated ellipsis. Show what you have and free the copied string. Extra credit: redisplay properly when the column is resized. -=EPS=-
Newsgroups: comp.sys.next.programmer From: lloyd@world.std.com (Chris Lloyd) Subject: Re: Clipping Text in a box nicely... Message-ID: <CBwCzp.DLF@world.std.com> Organization: The World Public Access UNIX, Brookline, MA References: <24pk9n$hqq@digifix.digifix.com> <1993Aug17.074552.2555@csus.edu> Date: Tue, 17 Aug 1993 09:28:35 GMT In article <1993Aug17.074552.2555@csus.edu> eps@cs.sfsu.edu writes: >In article <24pk9n$hqq@digifix.digifix.com> sanguish@digifix.com > (Scott Anguish) writes: >>I have a column of data that is a fixed width filled with text data. >> >>If the entry is shorter than the box, no problem. >>If the entry is longer than the box, I want to make sure that there >>are no letters chopped in half. That is that breaks are at whole letters. >> >>I've so far considered doing stringwidths on the entire string >>dropping a letter off the end until it fits, but that seems like >>it might be slow. Definately isn't efficient. > >Actually, you have the basic idea. To make it efficient, you >can use getWidthOf: (Font) instead of PSstringwidth(). >[...] Eeek. getWidthOf just uses NXFontMetrics, so use them yourself... The pswrap: defineps showlen(char s[l];int l) (s) show endps The function: void showupto(const char *s,float upto,NXFontMetrics *m,float pointSize) { float w=0,cw; int l=0; for(;s[l] && w+(cw=m->widths[s[l]]*pointSize)<upto;l++,w+=cw) ; showlen((char *)s,l); } The usage: showupto("blah blah",fitIntoThisWidth,[font metrics],[font pointSize]); Have fun! -- :: Christopher Lloyd :: Yrrid Incorporated :: lloyd@world.std.com :: :: NEXTSTEP Special Forces ::
Newsgroups: comp.sys.next.programmer From: phil@perennial.com (Phillip Zakhour) Subject: NEXTSTEP consultant available Message-ID: <1993Aug17.092233.4712@perennial.com> Sender: phil@perennial.com Organization: Perennial Software Distribution: usa Date: Tue, 17 Aug 1993 09:22:33 GMT I am seeking a contract position doing NEXTSTEP programming. I have been working in the industry for over 8 years, with the past two years working exclusively under NEXTSTEP. Having developed a soon to be shipping third party application, my experience developing under NEXTSTEP has been very practical. My particular areas of expertise are: Client/Server architectures Distributed Objects AppKit IndexingKit I also have extensive experience using Object-Oriented Analysis techniques to solving large and complex problems. Please contact me for more information and a resume. -- Phillip Zakhour Perennial Software voice: 415-681-9944 fax: 415-681-9945 e-mail: phil@perennial.com
Newsgroups: comp.sys.next.programmer From: nico@imani.cam.org (Nicolas Dore) Subject: Re: Shared Libraries (not really) Message-ID: <1993Aug17.044150.12655@imani.cam.org> Sender: nico@imani.cam.org References: <24oqk7$g1j@digifix.digifix.com> Date: Tue, 17 Aug 1993 04:41:50 GMT In article <24oqk7$g1j@digifix.digifix.com> sanguish@digifix.com (Scott Anguish) writes: > Nicolas Dore writes > > In article <24d6en$3ah@steffi.demon.co.uk> robert@steffi.demon.co.uk (Robert > > Nicholson) writes: > > > bruce@TotSysSoft.com (Bruce Gingery) wrote > > > > > > > >Bad help again, Eric... > > > > > > OK, let's all lay off Eric please. We are privildeged to have him > > > and others like him participate in this forum. These guys know > > > a lot and do contribute significantly so they don't deserve this shit. > > > > > > > So, because he's helpfull, when he starts trowing sh*t around, nobody can > > answer back? I'll try to be usefull from now on... 8^)) > > Nicholas... > > I don't think that Eric has thrown that much sh*t around. His comments > on 'second class internet users' was harsh, but they have alternatives. > Upgrade their connection, buy a better modem, or use one of many mail-servers > that will split downloads across multiple files. Did I say "since he only throws..." or "even if he always throws..."? The contents in his posts are greatly appreciated. It's the stuff around it thats bugs me. And I let it be known, as others do. BTW, what exactly is "that much sh*t"? (As in "[hasn't] thrown that much sh*t") A car-load? A truck-load? A plane load? Enough to smell it from a continent away? I'm wondering here... Besides, I'm referring to stuff he posted prior to the "second-class citizen" comment. That's wasn't bad, actually, as it happened during an actual debate. I refer to answers he gave to questions posted by people who don't know as much as he does, and may be new to NS. Their first contact with the community may end up being with some of his vitriolic posts. That is neither good for NS nor NeXT nor this community, in my opinion. And I sometimes say just that. > > Joking aside, I, amongst others, have complained about his lack of civility > > MANY times in these forums. If he'd only add smileys... Anyway > > > > This coming from the person who publicly flamed NeXT a week ago because > he honestly thought that NeXT had posted the cracked version of Microphone. I was complaining about the bandwidth used without realizing that the bandwidth was being used for illegal, as well as stupid, purposes. I only mentioned NeXT in a passing remark. What's the point of this remark, anyway? Can't you justify EPS's rudeness and lack of basic civility on their own merits? (Trick question) > His excuse after the fact? It was late, and he has a 2400 baud > connection. It was not an "excuse". The dog didn't play with my keyboard. I apologized for my post, and that was one of the the explanations I gave for the mistake. It was a mistake I took full blame for. As I say above, NeXT's faked involvement, by way of the phony adress, was not my main focus. (My original focus remains, BTW: Bandwidth is precious to everyone. More so to modem'ed folks (like me). If I want 1 meg files sent to me, I'll ask for them.) Again, what's that got to do with anything? See trick question above. Anyway, good night Ciao > -- > - Scott Anguish - -- Nicolas Dore nico@imani.cam.org - - - - - - - - - CAREFUL! NERDIE TV SHOW QUOTE ZONE! - - - - - - - > "Just once I'd like to meet an alien nuisance < > that isn't immune to bullets" Policeman, in Dr Who <
Newsgroups: comp.sys.next.programmer From: m@BlueRose.com (M Carling) Subject: Re: SQL Server FOR NSI, SYBASE Compatible? Message-ID: <1993Aug17.030253.14156@BlueRose.com> Sender: m@BlueRose.com Organization: Blue Rose Systems, Inc. References: <1993Aug16.172839.7892@glv.uucp> Date: Tue, 17 Aug 1993 03:02:53 GMT In article <1993Aug16.172839.7892@glv.uucp> andersen@reality.glv.com (Robert Andersen) writes: > Subject line says it all. I need to run an SQL server on an Intel box that > closely resembles SYBASE, as long as it uses a common SQL it should be fine. > Does anyone know of NSI SQL servers that fit this bill? The SQL engine the syntax of which most closely resembles that of Sybase is QuickBase from SofDesign. However, the Gupta SQLserver from Parabase and Rosebase from Blue Rose Systems have more complete feature sets. M Carling President, Blue Rose Systems, Inc.
From: u288869@uebung3.rz.fh-reutlingen.de (Frank Martin Siegert) Newsgroups: comp.sys.next.programmer Subject: PPPAScrollViewDeluxe vs. Text Troubles Date: 17 Aug 1993 21:44:15 GMT Organization: Fachhochschule fuer Technik und Wirtschaft, Reutlingen, Germany Distribution: world Message-ID: <24rjff$fqh@infoserv.zdv.uni-tuebingen.de> Now I downloaded PAScrollViewDeluxe and installed it. Great work! If only my text palette would work again. Nobody to blame, it is mentioned in the README file of PAScrollViewDeluxe. But...Has somebody fixed this? I tracked down the problem to the +finishLoading: methode in the PAInspector.m file. Here a DummyScrollView is used to pose as the real scrollview. As soon as the poseAs: is done the text palette refuse to work. Guess it does not like the imposter (too much pride?)... - Frank
From: riedel@cs.ubc.ca (Marko Riedel) Newsgroups: comp.sys.next.programmer Subject: wait cursor Date: 17 Aug 1993 22:11:05 GMT Organization: Computer Science, University of B.C., Vancouver, B.C., Canada Distribution: world Message-ID: <24rl1p$afj@cs.ubc.ca> problem: app delays for about 10-20s while doing some processing; no wait cursor shows up; DPSStartWaitCursorTimer has no effect answer: ??? - m. ps: i know about modal sessions & how you're supposed to write responsive guis 8-)
Newsgroups: comp.sys.next.programmer From: crespo@vcd.hp.com (Ivan Crespo) Subject: zsh anyone? Sender: news@vcd.hp.com (News user) Message-ID: <CRESPO.93Aug17155623@hpvclic.vcd.hp.com> Date: Tue, 17 Aug 1993 22:56:23 GMT Organization: Hewlett-Packard VCD Has anyone got the 'zsh' to compile on NS 3.1 yet? Last time I tried it there where tons of stuff it couldn't find... Thanks! i. --
From: blake015@mc.duke.edu (Denise Blakeley) Newsgroups: comp.sys.next.programmer Subject: Re: RCS? Message-ID: <19261@news.duke.edu> Date: 17 Aug 93 23:21:35 GMT References: <CBx0CA.5E6@oceania.com> Sender: news@news.duke.edu John Dawson writes > They certainly are shipped. They are, however, only on the developer > tools package. If you don't have RCS tools in /usr/bin, then either > you didn't install them from the developer tools CD-ROM, or they > have accidentally been deleted. Any idea what version of RCS this was? My guess is that it's a very old one. The latest version available from prep.ai.mit.edu is RCS 5.6.0.1. Denise -- Denise Blakeley | PROGRAM, tr. v., An activity similar Duke Med Center Info Systems | to banging one's head against a wall, Durham, NC | but with fewer opportunities for (919) 282-6468 W | reward. blake015@mc.duke.edu |
Newsgroups: comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: Re: Clipping Text in a box nicely... Message-ID: <Aug18.043541.47409@acs.ucalgary.ca> Date: Wed, 18 Aug 1993 04:35:41 GMT References: <CBwCzp.DLF@world.std.com> <1993Aug17.171715.21836@adobe.com> Organization: The University of Calgary, Alberta > > for(;s[l] && w+(cw=m->widths[s[l]]*pointSize)<upto;l++,w+=cw) > Be careful here... > ... > (The example is correct, however.) > > Personally, I'd stick with getWidthOf. Who knows what other > funky things we could do with font metrics... :-) Of course, the example completely ignores the effects of kerning tables. Does getWidthOf: have an equally simplistic view of things? -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
Newsgroups: comp.sys.next.programmer From: andrew@stone.com (Andrew Stone) Subject: Re: Pop-Up lists (thanks and two more questions) Message-ID: <1993Aug18.031457.1487@stone.com> Keywords: WidePopUpManager Sender: andrew@stone.com Organization: Stone Design Corp References: <CBtLqB.Fzp@usenet.ucs.indiana.edu> Date: Wed, 18 Aug 1993 03:14:57 GMT In article <CBtLqB.Fzp@usenet.ucs.indiana.edu> irogers@theme.music.indiana.edu (Ian Rogers) writes: > > 1) I want to make the title change to a specific cell in the popup > list. How can I make it change the button title to a specified cell? > Here's one way: [[metricList itemList]selectCellAt:units :0]; [metricPopUp setTitle:[metricList selectedItem]]; > 2) How can I make the pop-up list resize to the longest string in the > list? I have tried various combinations of sizeToFit to both the > pop-up list and the button, but none give the desired results. Charles Perkins and I wrote a hack to do this [IE, when it's not popped, it's a certain fixed size in your UI, but when it's popped, it sizes to the widest entry] by creating a class which goes between the button and the pop up list as manager, and munges the frame of the Menu before it shows itself. Here's how you'd invoke it: - initializeFindButton:theButton { NXAttachPopUpList(theButton,findPopUp); [[WidePopupManager allocFromZone:[theButton zone]]initForButton:theButton andList:findPopUp]; ..... } andrew WidePopUpManager.h: ===================================================================== @interface WidePopupManager:Object { id button; id popupList; } - initForButton:aButton andList:aPopupList; - popUp:sender; @end ===================================================================== WidePopUpManager.m: ===================================================================== /************************************************************************* * Copyright (c) 1989,1990 Stone Design Corp. All rights reserved. * programmer: Andrew C. Stone/ Charles L. Perkins * File name: WidePopupManager.m * Date: Feb 2 1992 * Purpose: To fool a popup into being wider than normal as needed ************************************************************************** */ #import <appkit/appkit.h> #import "WidePopupManager.h" @implementation WidePopupManager - initForButton:aButton andList:aPopupList { button = aButton; popupList = aPopupList; [popupList sizeToFit]; [button setAction:@selector(popUp:)]; [button setTarget:self]; return self; } //////////////////////////////////////////////////////////////////// // The fake out stuff /////////////////////////////////////////////////////////////////// - popUp:sender { return [popupList popUp: self]; // we are the surrogate button } - getBounds:(NXRect *)theRect { /* so we have the correct width */ NXRect popupFrame; [popupList getFrame: &popupFrame]; [button getBounds: theRect]; if (theRect->size.width < popupFrame.size.width - 1) theRect->size.width = popupFrame.size.width - 1; return self; } - convertPoint:(NXPoint *)aPoint toView:aView { return [button convertPoint:aPoint toView:aView]; } /* this and next 4 messages so we can masquerade as Button to PopUpList */ - window { return [button window]; } - display { return [button display]; } - (BOOL)needsDisplay { return [button needsDisplay]; } - (const char *)title { return [button title]; } - setTitle:(const char *)aString { [button setTitle: aString]; return self; } @end -- ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>|| !! Andrew Stone !! (505) 345-4800 !! !! andrew@stone.com <> Stone Design Corp !! ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>||
Newsgroups: comp.sys.next.programmer From: cedman@princeton.edu (Carl Edman) Subject: Re: zsh anyone? In-Reply-To: crespo@vcd.hp.com's message of Tue, 17 Aug 1993 22:56:23 GMT To: crespo@vcd.hp.com (Ivan Crespo) Message-ID: <CEDMAN.93Aug17215503@capitalist.princeton.edu> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University References: <CRESPO.93Aug17155623@hpvclic.vcd.hp.com> Date: Wed, 18 Aug 1993 01:55:03 GMT In article <CRESPO.93Aug17155623@hpvclic.vcd.hp.com> crespo@vcd.hp.com (Ivan Crespo) writes: Has anyone got the 'zsh' to compile on NS 3.1 yet? Last time I tried it there where tons of stuff it couldn't find... zsh2.4.180beta is the most stable beta of zsh I've seen in a looong time and if you get rid of the autoconfigured POSIX brain damage in the Makefile and config.h it compiles like a baby on NS 3.1. Find it on carlo.phys.uva.nl in pub/bas/zsh. For those not in the know, zsh is probably the most powerful and most feature rich shell available today for any UN*X or UN*X-like operating system (in the widest sense of the word). It offers both all the advanced programmability of ksh descended shells and all the user friendly interactive features of tcsh while improving and extending both. Carl Edman
Newsgroups: comp.sys.next.programmer From: darcy@solutions.ca (Darcy Brockbank) Subject: Re: RCS? (nukes old one maybe?) Message-ID: <1993Aug17.153535.8701@sifon.cc.mcgill.ca> Sender: news@sifon.cc.mcgill.ca Organization: McGill University References: <24pgbb$hf5@digifix.digifix.com> Date: Tue, 17 Aug 1993 15:35:35 GMT In article <24pgbb$hf5@digifix.digifix.com> sanguish@digifix.com (Scott Anguish) writes: > gerben@rna.indiv.nluug.nl writes > > Wel, I just installed rcs 5.6 in /usr/local/bin and I thought: lets make sure > > the older rcs is not online. So I looked in /usr/bin and I did not see rcs > > there! > > > > It seems NS 3.1 contains the man pages, but not the actual programs... > > > Hmmm.. > > It is on my 3.1 system... From my 3.1 NEXTSTEP Users CD I'm pretty sure that the installation procedure for RCS does an "rm" on the old rcs... maybe... I can't seem to verify that from the Makefiles, but for some reason it rings a bell. - db
From: hyongsop@saturn.eecs.umich.edu (Hyong S. Shim) Newsgroups: comp.sys.next.programmer Subject: Mach Port & Message Receiving ... HELP! Date: 17 Aug 1993 16:30:20 GMT Organization: University of Michigan EECS Dept. Message-ID: <24r12s$aqh@zip.eecs.umich.edu> Hi All, I have two tasks A and B that communicates by Mach messages (not Objective-C messages nor Distributed Objects) through a port. A sends messages to B, but B doesn't want to block waiting for A's messages. B doesn't want to poll on the port either. Is there any other way for B to learn that a message has arrived on the port? --Hyong Shim (hyongsop@saturn.eecs.umich.edu)
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: comp.sys.next.programmer Subject: NEXTSTEP Consultant/Programmer Position Date: 17 Aug 1993 11:39:08 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9308171639.AA12599@toto.NeXT.COM> Position open for NEXTSTEP Consultant/Programmer position: Fax resume to: 303-779-9852 or contact Ken Himmelrick at Titan Corp. 303-689-9838.
Newsgroups: comp.sys.next.programmer,comp.sys.next.misc From: drew@fnbc.com (Drew Davidson) Subject: PC Dealer Problems? Not here! Message-ID: <1993Aug17.152028.29616@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA Date: Tue, 17 Aug 93 15:20:28 GMT I was just wondering how people were doing wrt getting NEXTSTEP PCs. I've seen a lot of postings from people along the lines of "Help! I can't get <x> to work in order to install NEXTSTEP!". Naturally most of what you hear are problems; satisfied customers don't usually post. I just got an Intel GX Professional (are a lot of these selling?) and it is very fast! I basically didn't want to deal with the headaches of being on my own about installation and problems (Dealer: "NEXTSTEP? Wuzzat?"). I bought it from Alpine Computing Microage and it the experience was great! Much like getting a NeXT machine - I called and ordered from a person who was knowledgable about what the requirements for NS were, the machine showed up, I plugged it and it booted into NS! The only problem was that Intel shipped a bad board. The person I was working with, Kris Magnusson, called their Tech Support and got a board FedExed to me the next day. I hope that this message helps those people who've been considering NEXTSTEP and were confused (like me) by the dizzying array of options available. I really didn't want to spec out a system with no help and have to install it myself (plus I didn't have a CD-ROM drive!). I've had *awesome* service and support from Kris (Alpine has a group dedicated to NEXTSTEP and Unix systems) and I think that anyone who is considering getting a PC to run NS should consider calling Kris. He really bent over backwards to make sure I was satisfied. They deal in much more than Intel GX's, also. No headaches! FYI: Alpine Computing Microage Kris Magnusson (801) 268-8877 Disclaimer: I am in no way affiliated with Alpine Computing Microage or Kris Magnusson, I'm just an *extremely* satisfied customer and I wanted to let everyone else in on the action. - Drew -- +--------------------------------+-------------------------------------------+ | Drew Davidson | "Never ask a programmer if he'll have | | Software Guy | another cup of coffee because it's | | First National Bank of Chicago | nobody's damn business how much he's | | drew@fnbc.com (NeXTmail) | already had!" - me | +--------------------------------+-------------------------------------------+
From: agray@axion.bt.co.uk (Andy Gray) Newsgroups: comp.sys.next.programmer Subject: Re: Scrolling browsers (Thanks) Date: 17 Aug 1993 17:14:46 GMT Organization: BT Laboratories Distribution: world Message-ID: <24r3m6$92j@zaphod.axion.bt.co.uk> References: <24nqvf$39a@zaphod.axion.bt.co.uk> <24opu4$g0v@digifix.digifix.com> Thanks to all those who sent me hints. I'll be trying them again this evening if my transfer disk isn't corrupt :-( Thanks again Andy.
Newsgroups: comp.sys.next.programmer From: Scott Byer <byer@mv.us.adobe.com> Subject: Re: Clipping Text in a box nicely... Message-ID: <1993Aug17.171715.21836@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <CBwCzp.DLF@world.std.com> Date: Tue, 17 Aug 1993 17:17:15 GMT Chris Lloyd writes > Eeek. getWidthOf just uses NXFontMetrics, so use them yourself... > for(;s[l] && w+(cw=m->widths[s[l]]*pointSize)<upto;l++,w+=cw) Be careful here. Certainly, don't store away the metrics for use with the same face at a different point size. A single font instance may have linearly scalable widths, but if a font is a Multiple Master font with an optical scale axis, those widths may change slightly from point-size to point-size. So don't store the widths, change point size, and expect those widths to always work. (The example is correct, however.) Personally, I'd stick with getWidthOf. Who knows what other funky things we could do with font metrics... :-) (Just kidding.) -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
From: kheit@gandalf.rutgers.edu (John Kheit) Newsgroups: comp.sys.next.misc,comp.sys.next.programmer Subject: SND & Music Kit Concepts and Refrence? Message-ID: <Aug.17.13.47.13.1993.11998@gandalf.rutgers.edu> Date: 17 Aug 93 17:47:14 GMT Followup-To: comp.sys.next.misc Organization: Rutgers Univ., New Brunswick, N.J. Hi, does anyone know where I can find the SND & Music Kit Concepts & Refrence books? Preferably on-line electronic format. I think that the 3.1 Music kit from CCRMA has the DSP portion of the S&M C&R, but I need the whole thing. Muchas gracias for any/all help. Later, John
Newsgroups: comp.sys.next.programmer From: pkim@cory.EECS.Berkeley.EDU (P. Kim) Subject: DBKit adaptors for HP3000? Message-ID: <1993Aug17.175731.7340@pasteur.Berkeley.EDU> Sender: nntp@pasteur.Berkeley.EDU (NNTP Poster) Organization: University of California, Berkeley Date: Tue, 17 Aug 1993 17:57:31 GMT do not respond to this account. all replies should go to: mtcoak!cc@netcom.com ---------------------------------------------------------- we are basically looking for a DBKit adaptor for any database that runs on an HP3000. if anyone has written, seen, have, or know of such a critter, please let us know. thanks, charlie conklin mtcoak!cc@netcom.com (NeXTmail OK)
Newsgroups: comp.sys.next.programmer From: jdawson@oceania.com (John Dawson) Subject: Re: RCS? Message-ID: <CBx0CA.5E6@oceania.com> Sender: jdawson@oceania.com (John Dawson) Organization: Oceania Health Care Systems References: <1993Aug16.213407.6379@rna.indiv.nluug.nl> Date: Tue, 17 Aug 1993 17:52:55 GMT In article <1993Aug16.213407.6379@rna.indiv.nluug.nl> gerben@rna.indiv.nluug.nl writes: > Wel, I just installed rcs 5.6 in /usr/local/bin and I thought: lets make sure > the older rcs is not online. So I looked in /usr/bin and I did not see rcs > there! > > It seems NS 3.1 contains the man pages, but not the actual programs... They certainly are shipped. They are, however, only on the developer tools package. If you don't have RCS tools in /usr/bin, then either you didn't install them from the developer tools CD-ROM, or they have accidentally been deleted. $ ls -ald /usr/bin/{rcs*,ci,co,ident,sccs*,rlog} -rwxr-xr-x 1 root 629104 Jul 21 12:37 /usr/bin/ci -rwxr-xr-x 1 root 601124 Jul 21 12:37 /usr/bin/co -rwxr-xr-x 1 root 138768 Jul 21 12:37 /usr/bin/ident -rwxr-xr-x 1 root 574268 Jul 21 12:37 /usr/bin/rcs drwxrwxr-x 2 root 1024 Jul 21 12:37 /usr/bin/rcs.VERSION.4 -rwxr-xr-x 1 root 24576 Apr 15 01:30 /usr/bin/rcsclean -rwxr-xr-x 1 root 501980 Jul 21 12:37 /usr/bin/rcsdiff -rwxr-xr-x 1 root 463324 Jul 21 12:37 /usr/bin/rcsmerge -rwxr-xr-x 1 root 526540 Jul 21 12:37 /usr/bin/rlog -rwxr-xr-x 1 root 4496 Apr 15 01:30 /usr/bin/sccstorcs Hmm; they're not stripped. I just checked, and in /usr/bin, these things aren't stripped: ci, co, ident, merge, rcs, rcsdiff, rlog, afm2tfm, dvips, rcsmerge. I'll report this as a bug; stripping these things changes their disk usage from 4128k to 953k. Major wastage. ...jkd -- jdawson@oceania.com (John Dawson) We tend to scoff at the beliefs of the ancients. But we can't scoff at them personally, to their faces, and this is what annoys me.
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: Clipping Text in a box nicely... Date: 17 Aug 1993 15:32:05 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <24rbnl$lqo@digifix.digifix.com> References: <1993Aug17.171715.21836@adobe.com> Scott Byer <byer@mv.us.adobe.com> writes > Be careful here. Certainly, don't store away the metrics for use > with the same face at a different point size. A single font instance > may have linearly scalable widths, but if a font is a Multiple > Master font with an optical scale axis, those widths may change [small munch] Whoa.... Do we have to worry about Multiple Master fonts on under NEXTSTEP anytime soon? Hope... hope... > Who knows what other funky things we could do with font metrics... :-) Hmmmm. Sure would be nice if pair kerning was automatic! -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: DBAdaptor headers? Date: 17 Aug 1993 16:19:07 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <24refr$m3r@digifix.digifix.com> While I realize that the DBKit documentation is only available from NeXT, and that there are some licensing fees for the source for one of the adaptors from NeXT, (both of which I have gotten from Next) I haven't been able to get ahold of the DBBasicAdaptor and DBBasicContext headers. I've asked NeXT for them several times, but no reply. Does anyone have just the headers that they could mail me? Thanks -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
From: Michael.Pizolato@f236.n104.z1.FIDONET.ORG (Michael Pizolato) Newsgroups: comp.sys.next.programmer Subject: Re: ANOTHER SHARED LIBRARY PROBLEM Message-ID: <5440.2C71504F@paranet.FIDONET.ORG> Date: 17 Aug 93 03:11:00 GMT Sender: ufgate@paranet.FIDONET.ORG (newsout1.26) Organization: FidoNet node 1:104/236 - MacCircles, Genesee CO -- Michael Pizolato - via ParaNet node 1:104/422 UUCP: !scicom!paranet!User_Name INTERNET: Michael.Pizolato@f236.n104.z1.FIDONET.ORG
Newsgroups: comp.sys.next.programmer From: wfc@cl.cam.ac.uk (William Clocksin) Subject: Power spectrum estimation anyone? Message-ID: <1993Aug18.113252.11118@infodev.cam.ac.uk> Sender: news@infodev.cam.ac.uk (USENET news) Organization: U of Cambridge, England Date: Wed, 18 Aug 1993 11:32:52 GMT In the DSP array processing examples (and documentation), there is an FFT example. Can anybody suggest how to extend this example by finding the power spectrum (estimated by multiplying the FFT by its own complex conjugate)? All the ingredients are supplied in the functions, but I can't understand how to minimise the reading and writing of data to and from the DSP. Ideally, I'd like to see the relevant part of the source of MonsterScope! Thanks. ---------------------------------------------------- W.F. Clocksin, Assistant Director of Research, Computer Laboratory, University of Cambridge Pembroke Street, Cambridge CB2 3QG, U.K. Internet: wfc@CL.cam.ac.uk (NeXTMail is acceptable) Tel UK: (0223) 334628. Tel (Int'l): +44 223-334628. Fax UK: (0223) 334678. Fax (Int'l): +44 223-334678.
From: hilgert@bali.informatik.uni-dortmund.de (Thomas Hilgert) Newsgroups: comp.sys.next.programmer Subject: Shared memory and semaphore Date: 18 Aug 1993 11:07:48 GMT Organization: CS Department, University of Dortmund, Germany Distribution: world Message-ID: <24t2i4$ju@fbi-news.informatik.uni-dortmund.de> Does anyone know where i can find shared memory in NeXt Step FIP? Thanks in advance Thomas
From: hyongsop@saturn.eecs.umich.edu (Hyong S. Shim) Newsgroups: comp.sys.next.programmer Subject: Finding Out The Hostname ... HELP Date: 18 Aug 1993 14:30:55 GMT Organization: University of Michigan EECS Dept. Message-ID: <24teev$28p@zip.eecs.umich.edu> Hi All, In a program, how do you find out the name of the host machine on which the program is running? --Hyong Sop Shim (hyongsop@saturn.eecs.umich.edu)
Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: We don't need no stinkin sources! (was Dell, Compac, et al ``not supporting NEXTSTEP'') Message-ID: <1993Aug18.142824.2603@afs.com> Followup-To: comp.sys.next.programmer Sender: Michael_Pizolato@afs.com References: <CBw0w5.6BF@molly.uucp> Date: Wed, 18 Aug 1993 14:28:24 GMT greg@afs.com (Gregory H. Anderson) writes: >I agree that OOP is about hiding implementation details. But I >understand that to mean hiding details from runtime *consumers* >of the class, not descendents while you are coding them. Awareness >of what you're inheriting leads to more robust code. If the original >class author wrote bogus code that you need to circumvent in a >subclass, you should be able to find out everything his method >assumes and does. Runtime has nothing to do with it. Encapsulation means that _programmers_ who use my class should not have to know anything about my class's internals to use it properly. _All_ methods are encapsulated at runtime - you have no choice but to either use them as they are or override them 100%. Ivars at runtime are not so encapsulated, but as far as I'm concerned they should be because ivars are purely an implementation matter. The fact that the compiler needs them in the interface section to build structures for subclasses is, IMHO, poor compiler design. As long as you don't write code that is dependent on the particular implementation of the superclass, you're correct. Otherwise you're violating encapsulation, which is setting yourself up for danger if the superclass implementation changes. However, even if you override a method by duplicating the superclass implementation of the method and making adjustments (for efficiency, to improve "bogus code", or whatever), the chances are your method will not break even if the superclass implementation changes, unless the internal workings of your method depends on internal details of either other superclass methods or your own methods. Encapsulation also means that no method makes assumptions about the internals of even the other methods in the same class. In the end, though, it's a practical matter of having to know superclass implementation details to write a subclass with minimum time and effort. So I agree that having the superclass source can help in the way you describe, but preventing yourself from introducing dependencies on a particuar implementation is quite difficult. Even more so when you have source. Michael -- Michael Pizolato gnihtyreve noitseuq michael_pizolato@afs.com NeXTMail appreciated
Newsgroups: comp.sys.next.programmer From: jdeclari@is.rpslmc.edu (John-William DeClaris) Subject: Project Builder Message-ID: <1993Aug18.155331.9792@rpslmc.edu> Sender: news@rpslmc.edu Organization: Rush-Presbyterian-St. Luke's Medical Center Date: Wed, 18 Aug 1993 15:53:31 GMT First, I would like to thank all those who responded to my first inquiry about Project Builder, and the error message I was getting. I would name all of those who helped but I got 42 responses!!! There was some interesting responses, and some very useful insight (crt === C run time), the -l in my error message is a library call. My original problem was that Project Builder could not find crt0.o. This happenned because PB did not install all the necessary files (The installation process is farely simple, just press install.). I know because I had to manually copy them and make all of the links. Once that was done, it worked farely simple, except that I got an occasional error saying that PB was looking for Media_s and NeXT_s. This occurred twice, and then it went away and I did not think much of it. By going away I mean that when I built my program, I no longer got that message. I had not made any changes except that I threw away the .app file and rebuilt. I got a program off of the I-net and i wanted to make a few modifications. I immediately got the same error message which as follows: Copied GIFology.nib cc -g -O -Wall -I./sym -arch m68k -I. -c Gif.m -o ./m68k_obj/Gif.o cc -g -O -Wall -I./sym -arch m68k -I. -c gif_main.m -o ./m68k_obj/gif_main.o cc -g -O -Wall -I./sym -arch m68k -ObjC -sectcreate __ICON __header gif.iconheader -segprot __ICON r r -sectcreate __ICON app icon.tiff -o gif.app/gif m68k_obj/Gif.o m68k_obj/gif_main.o GifDecode.o -lMedia_s -lNeXT_s ld: Can't locate file for: -lMedia_s *** Exit 1 Stop. *** Exit 1 Stop. This is the exact message displayed by PB. I checked the CD that has the original developer tools, and i did not see this anywhere. Does someone know what this message is and where these two files are hidden? I would be very grateful. Again, please mail me direct. Thanks very much. -- John-William DeClaris All comments made by me are mine and not reflective of RUSH or anyone else... even any spelling errors I most likely made. Live each day as if it were your last, because someday it will be.
Newsgroups: comp.sys.next.programmer From: darcy@solutions.ca (Darcy Brockbank) Subject: Re: Shared memory and semaphore Message-ID: <1993Aug18.154617.14220@sifon.cc.mcgill.ca> Sender: news@sifon.cc.mcgill.ca Organization: McGill University References: <24t2i4$ju@fbi-news.informatik.uni-dortmund.de> Date: Wed, 18 Aug 1993 15:46:17 GMT In article <24t2i4$ju@fbi-news.informatik.uni-dortmund.de> hilgert@bali.informatik.uni-dortmund.de (Thomas Hilgert) writes: > Does anyone know where i can find shared memory in NeXt Step FIP? > > Thanks in advance > > Thomas NEXTSTEP does not make use of shared memory for IPC. You have two choices when you're making a program for which you need parallelism: threads and mach messages. Mach messages communicate between tasks, and threads allow for parallel lines of control within a single task. Threads provide mutex functionality, and other nice things. - db
From: alex@cs.umd.edu (Alex Blakemore) Newsgroups: comp.sys.next.programmer Subject: Re: Scrolling browsers Message-ID: <70472@mimsy.umd.edu> Date: 18 Aug 93 15:33:36 GMT References: <24nqvf$39a@zaphod.axion.bt.co.uk> Sender: news@mimsy.umd.edu Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 In article <24nqvf$39a@zaphod.axion.bt.co.uk> agray@axion.bt.co.uk (Andy Gray) writes: > How can I get a list of strings into a browser so I can then choose one string > from that list. try to find PAStringListPalette on the archives. its the easiest way to do what you wish I think, and its free. there also used to be a MiniExample named NormalBrowser which is helpful for learning how browsers work. new mini examples can be found at ftp.next.com old ones might still be on sonata.cc.purdue.edu somewhere. -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted -------------------------------------------------------------- "Without an engaged and motivated human being at the keyboard, the computer is just another dumb box." William Raspberry
Newsgroups: comp.sys.next.sysadmin,comp.sys.next.programmer From: inmcoop@bnr.ca (Dennis Pejcha) Subject: Can auto-poweron be set from shell script? Sender: news@bcarh54a.bnr.ca (ZOONEWS News) Organization: Bell-Northern Research, Ottawa, ONT Date: Wed, 18 Aug 1993 14:05:14 GMT Message-ID: <INMCOOP.93Aug18100514@bcarh4ce.bnr.ca> Is there any way to set the automatic power-on time for a NeXTstation from a shell script? I need the functionality of the power panel in Preferences, except from the command line: natasha% setpoweron Aug 20 1993 7:00am What I want to do is set up some cron jobs to back up my (personal) machine overnight. I can't just leave the machine on; the hard drive is too noisy and I'd never get to sleep. I'd like the station to turn itself on at say 3:45am, allow the cron job to run at 4:00, then change the power-on time so that it will turn itself on again tomorrow. After that it shuts down again. When I wake up the next morning, my backup is ready. If such a utility doesn't exist, can I write my own? What are the relevant function calls that I should investigate? Please e-mail your responses and I will summarize if there is interest. -Dennis ----------------------------------+---------------------------------- My undergraduate identity: | My current co-op identity ----------------------------------+---------------------------------- Dennis Pejcha | Dennis Pejcha University of Waterloo | Bell Northern Research, Ottawa Faculty of Mathematics | Carling Labs, Lab 3 Comp. Sci. Major | Integrated Node Mtce, Co-op dpejcha@cantor.math.uwaterloo.ca | inmcoop@bnr.ca ('til Sept 2, 93) ----------------------------------+---------------------------------- If the University of Waterloo, Bell Northern Research, or anyone else for that matter, shares my opinions, that's their problem, not mine ---------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: greg@afs.com (Gregory H. Anderson) Subject: Re: Clipping Text in a box nicely... Message-ID: <1993Aug18.145619.13889@afs.com> Sender: greg@afs.com References: <CBwCzp.DLF@world.std.com> Date: Wed, 18 Aug 1993 14:56:19 GMT In article <CBwCzp.DLF@world.std.com> lloyd@world.std.com (Chris Lloyd) writes: > In article <1993Aug17.074552.2555@csus.edu> eps@cs.sfsu.edu writes: > >In article <24pk9n$hqq@digifix.digifix.com> sanguish@digifix.com > > (Scott Anguish) writes: > >>I have a column of data that is a fixed width filled with text data. > >> > >>If the entry is shorter than the box, no problem. > >>If the entry is longer than the box, I want to make sure that there > >>are no letters chopped in half. That is that breaks are at whole > >>letters. > >Actually, you have the basic idea. To make it efficient, you > >can use getWidthOf: (Font) instead of PSstringwidth(). > >[...] > > Eeek. getWidthOf just uses NXFontMetrics, so use them yourself... I disagree with this whole discussion. First of all, neither of these suggestions deals with the issue of how to scroll the text cleanly to the left, since we're assuming it's longer than the field. If the width of the field is not an even multiple of the font metrics, you just end up with a broken character on the left instead of the right. Second, I think broken characters on the right are an important visual clue that there is more text than you can see. If you crop evenly, the user is left to discover for himself whether or not the entire string is displayed. Why is any of this important? -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
Newsgroups: comp.sys.next.programmer From: arrouye@cosmos.imag.fr (Yves Arrouye) Subject: Key masks... HELP! (really urgent) Message-ID: <ARROUYE.93Aug18192129@mistral.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Wed, 18 Aug 1993 18:21:29 GMT Hi, I am looking for a way to examine if one of the special keys is down at a given instant. The two cases I have to use this are: 1. During a resize (in the windowWillResize:toSize: method). I think I can peek the current event from NXApp then and have a look at at its mask. 2. When accepting a dragged color. I really don't know what to do here, but I need to have a key down for the color to affect a group of objects and not only the one under the cursor. Thanks for any help, Yves -- With one processor, we verify that the time spent Yves Arrouye in controlling parallelism is not too long. arrouye@mistral.imag.fr arrouye@imag.imag.fr -- Yannick Tre'molet, LMC (33) 76 57 48 61
Newsgroups: comp.sys.next.programmer From: dylan@angst.com (Dylan Kohler) Subject: Re: Postscript Interpolate Message-ID: <1993Aug18.172516.12686@Angst.COM> Sender: dylan@Angst.COM Organization: Angst Animation Post Production References: <1993Aug13.210928.5990@Angst.COM> Date: Wed, 18 Aug 1993 17:25:16 GMT I wrote: > > Does anyone have any sample code that makes the Interpolate library > command work? From what I make of the documentation, it seems this > might enable you to display scaled images anti-aliased. > Again, I received NO responses. Either I'm asking things nobody else is interested in, or things people don't know themselves. Boo hoo! For the record, below is a pswrap showing how to test built-in Postscript interpolation. I came up with this after a few days trial and error. Unfortunately, it appears the /Interpolate switch is not yet implemented in Display Postscript for NEXTSTEP; it had no effect for me. Can anyone confirm this? (Scott, Ali?) If this is indeed the case, it's too bad. It makes all sorts of potential anti-aliased imaging applications more cumbersome and costly. I seem to remember a thread a while back in which a few people mentioned they had written anti-aliased PostScript previewers. Were these done by drawing in a larger window, perhaps 4x larger, and manually interpolating down the bitmap (i.e. is that the best, most memory-efficient way without /Interpolate)? Anyway, here's the pswrap: defineps PSsmoothscale(float dstX, dstY, dstW, dstH, srcW, srcH; userobject g; boolean f) /DeviceRGB setcolorspace dstX dstY translate dstW dstH scale << /ImageType 2 /XOrigin 0 /YOrigin 0 /Width srcW /Height srcH /ImageMatrix [srcW 0 0 srcH 0 0] /DataSource g /Interpolate f >> image endps If anyone is interested in a full project to demonstrate this, e-mail me. It's 5k compressed. -- ___________________________________ Dylan Kohler Angst Animation Post Production dylan@angst.com (NeXTmail welcome)
Newsgroups: comp.sys.next.programmer From: drew@fnbc.com (Drew Davidson) Subject: Re: Finding Out The Hostname ... HELP Message-ID: <1993Aug18.175241.25212@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA References: <24teev$28p@zip.eecs.umich.edu> Date: Wed, 18 Aug 93 17:52:41 GMT In article <24teev$28p@zip.eecs.umich.edu> hyongsop@saturn.eecs.umich.edu (Hyong S. Shim) writes: > Hi All, > > In a program, how do you find out the name of the host machine on which > the program is running? > > --Hyong Sop Shim > (hyongsop@saturn.eecs.umich.edu) try 'man 2 gethostname' -- +--------------------------------+-------------------------------------------+ | Drew Davidson | "Never ask a programmer if he'll have | | Software Guy | another cup of coffee because it's | | First National Bank of Chicago | nobody's damn business how much he's | | drew@fnbc.com (NeXTmail) | already had!" - me | +--------------------------------+-------------------------------------------+
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: Clipping Text in a box nicely... Date: 18 Aug 1993 15:01:53 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <24tub1$r0a@digifix.digifix.com> References: <1993Aug18.145619.13889@afs.com> Gregory H. Anderson writes > I disagree with this whole discussion. First of all, neither of these > suggestions deals with the issue of how to scroll the text cleanly to the > left, since we're assuming it's longer than the field. If the width of the > field is not an even multiple of the font metrics, you just end up with a > broken character on the left instead of the right. > > Second, I think broken characters on the right are an important visual > clue that there is more text than you can see. If you crop evenly, the > user is left to discover for himself whether or not the entire string is > displayed. OK, the closest thing that I can think of that will be on most people's NeXTs is Mail.app. The field that indicates the author of the message that is sitting in your mailbox. If its too long, Mail.app just hacks it off at the next shortest letter. There is no indicator of their being anything more in the field. Its not editable, so being able to scroll to the right doesn't seem applicable. EPS's suggestion of shortening it and then sticking an ellipses at the end is that I ended up doing. The column looks much better than it did before. The elipses is the clue that there is more information available on the line. -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: comp.sys.next.programmer From: arrouye@cosmos.imag.fr (Yves Arrouye) Subject: Localizing an application: how? Message-ID: <ARROUYE.93Aug18204708@mistral.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Wed, 18 Aug 1993 19:47:08 GMT Hi, I printed Localization.rtfd from the doc, but I can't manage to localize my application. The doc says: 1. Using ProjectBuilder, create a target_language.lproj subdirectory in the same directory as the source_language.lproj subdirectory, and copy all the language-specific files from the source_language.lproj subdirectory into the target_language.lproj subdirectory. but I can't manage to tell ProjectBuilder to create my French.lproj directory... Anybody has some experience here? Thanks, Yves -- With one processor, we verify that the time spent Yves Arrouye in controlling parallelism is not too long. arrouye@mistral.imag.fr arrouye@imag.imag.fr -- Yannick Tre'molet, LMC (33) 76 57 48 61
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: Re: Finding Out The Hostname ... HELP Message-ID: <CByzsw.Kwo@news2.cis.umn.edu> Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Hospital and Clinic, Labratory Information Services References: <24teev$28p@zip.eecs.umich.edu> Date: Wed, 18 Aug 1993 19:29:07 GMT How about: char name[256]; gethostname(name, 256); your mileage may vary... peter Hyong S. Shim (hyongsop@saturn.eecs.umich.edu) wrote: : Hi All, : In a program, how do you find out the name of the host machine on which : the program is running? : --Hyong Sop Shim : (hyongsop@saturn.eecs.umich.edu) -- Bureaucratically speaking, I am a subversive to obstructionists... peter@tahiti.umhc.umn.edu (Peter Eisch)
Newsgroups: comp.sys.next.programmer From: jdawson@oceania.com (John Dawson) Subject: Re: Shared memory and semaphore Message-ID: <CBywAE.Io8@oceania.com> Sender: jdawson@oceania.com (John Dawson) Organization: Oceania Health Care Systems References: <24t2i4$ju@fbi-news.informatik.uni-dortmund.de> Date: Wed, 18 Aug 1993 18:20:35 GMT In article <24t2i4$ju@fbi-news.informatik.uni-dortmund.de> hilgert@bali.informatik.uni-dortmund.de (Thomas Hilgert) writes: > Does anyone know where i can find shared memory in NeXt Step FIP? Look at the docs for vm_inherit(). However, to save you some time, I'll give a relevant excerpt from the NeXT Mach docs: ``Currently the only way two Mach tasks can share the same physical memory is for one of the tasks to inherit shared access to memory from a parent.'' Shared memory, then, is very limited. If you're looking for a general shared memory model like System V has, you're looking at the wrong operating system. ...jkd -- jdawson@oceania.com (John Dawson) We tend to scoff at the beliefs of the ancients. But we can't scoff at them personally, to their faces, and this is what annoys me.
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: comp.sys.next.programmer Subject: Object Oriented Consultant/Programmer Positions available (Nationwide) Date: 18 Aug 1993 15:13:06 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9308181957.AA02774@seawolf.next.com> Object Oriented Consultant/Programmer positions available Titan Corporation headquartered in San Diego, California with a commercial group in Denver, Colorado is looking for Object oriented software programmers with NEXTSTEP knowledge strongly desired. Requirements: minimum 1 year practical experience required Fax resume to the following contact: Kenneth Himmelrick, Dir of Program Management Fax: 303-779-9852 or send your resume to... Kenneth Himmelrick Dir of Program Management Titan Corp 5690 DTC Blvd, Suite 260 Englewood, CO 80111 Phone: 303-689-9838
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: Finding Out The Hostname ... HELP Date: 18 Aug 1993 16:18:52 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <24u2rc$rf3@digifix.digifix.com> References: <CByzsw.Kwo@news2.cis.umn.edu> > > : In a program, how do you find out the name of the host machine on which > : the program is running? would this work correctly? [NXApp hostname] hostName - (const char *)hostName Returns the name of the host machine on which the Window Server that serves the Application object is running. This method returns the name that was passed to the receiving Application object through the NXHost default; this name is set either from its value in the defaults database or by providing a value for NXHost through the command line. If a value for NXHost isn't specified, NULL is returned. -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: comp.sys.next.programmer From: shill@ccsi.com (Sean L. Hill) Subject: Source for accesing Mathematica Message-ID: <1993Aug18.190231.8011@ccsi.com> Keywords: Mathematica,Source code, front-end Sender: shill@ccsi.com Organization: Crystal Computer Systems, Inc. Date: Wed, 18 Aug 1993 19:02:31 GMT I need to write a program that uses Mathematica's kernel to perform computations and do graphs. Can anyone point me to source for a program that can do this? What I want to do is send data to the kernel, get the results of some calculations and graph the results from within Mathematica get the returned Postscript and display it. I recall Gourmet.app and other similar programs, but I don't remember the source being available. Thanks- Sean -- Sean L. Hill Ergo Science Incorporated shill@ccsi.com Compuserve: 73667,3355
From: Hal.Varian@umich.edu Newsgroups: comp.sys.next.programmer Subject: Re: Source for accesing Mathematica Date: 18 Aug 1993 21:31:52 GMT Organization: University of Michigan - College of Literature, Science, and TheArts Distribution: world Message-ID: <24u748$lp4@controversy.math.lsa.umich.edu> References: <1993Aug18.190231.8011@ccsi.com> In article <1993Aug18.190231.8011@ccsi.com> shill@ccsi.com (Sean L. Hill) writes: > I need to write a program that uses Mathematica's kernel to perform > computations and do graphs. Can anyone point me to source for a program > that can do this? > > What I want to do is send data to the kernel, get the results of some > calculations and graph the results from within Mathematica get the > returned Postscript and display it. > > I recall Gourmet.app and other similar programs, but I don't remember the > source being available. > Look inside Mathematica21.app/Library/Mathematica/MathLink. It is easy to send Mathematica a message asking it to do a calculation and then retreive the results. I imagine you can also ask it to return PostScript. I'm quite sure that you can ask it to write a PostScript file in /tmp (say) and then read it back in to your program. Hal.Varian@umich.edu Hal Varian voice: 313-764-2364 Dept of Economics fax: 313-764-2364 Univ of Michigan Ann Arbor, MI 48109-1220
Newsgroups: comp.sys.next.programmer From: Scott Byer <byer@mv.us.adobe.com> Subject: Re: Postscript Interpolate Message-ID: <1993Aug18.213034.6649@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <1993Aug18.172516.12686@Angst.COM> Date: Wed, 18 Aug 1993 21:30:34 GMT Dylan Kohler writes > For the record, below is a pswrap showing how to test built-in > Postscript interpolation. I came up with this after a few days > trial and error. Unfortunately, it appears the /Interpolate > switch is not yet implemented in Display Postscript for NEXTSTEP; > it had no effect for me. Can anyone confirm this? Unfortunately, yes. Image interpolation has to be added case by case, effectively, and at the time there were no implementations available for most cases. Best act like it's not there, for now. > I seem to remember a thread a while back in which a few people > mentioned they had written anti-aliased PostScript previewers. > Were these done by drawing in a larger window, perhaps 4x larger, > and manually interpolating down the bitmap (i.e. is that the > best, most memory-efficient way without /Interpolate)? Well, there are several methods. The 4x4 averaging is one way, using NXBitmapImageRep to get the data and manipulate it. Until Interpolate is fully implemented, it's about the best way, unfortunately. -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
From: heading@signal.dra.hmg.gb (Anthony Heading) Newsgroups: comp.sys.next.programmer Subject: I need some expert help... Date: 19 Aug 1993 02:31:40 +0100 Organization: Defence Research Agency Message-ID: <24ul5sINN6v2@brahms.dra.hmg.gb> I'm chewing over porting emacs 19.19 to NeXTstep. I want it, and no-one else has done it. The only trouble is I don't know much about NeXTstep! I do basically understand emacs, unix, X11 and DPS, so it's not *quite* as silly as it sounds... I think I need to break the "event loop" model. All my previous NeXTstep programs have done the obvious NXApp: Run sort of thing, and waited to be told what to do. It seems far easier for this to make GetNextEvent() type calls, and use the existing structure. Will this work, and is there anything I need to look out for? Even better, are there any examples of *fully-functional* NeXTstep apps which don't use the standard setup? Email replies are more reliable - I'll summarise (if I get any!) Thanks to you all! Anthony
From: seward@shale.cps.msu.edu (Robert D Seward) Newsgroups: comp.sys.next.programmer Subject: Where can I find tcsh for NEXTSTEP? Date: 19 Aug 1993 02:21:58 GMT Organization: Michigan State University Message-ID: <24uo46$td3@msuinfo.cl.msu.edu> Is NEXTSTEP tcsh available at an FTP site anywhere? reply to : seward@cps.msu.edu
From: seward@shale.cps.msu.edu (Robert D Seward) Newsgroups: comp.sys.next.programmer Subject: Is there a descent dial-up Terminal App. (Unix Windows maybe?) Date: 19 Aug 1993 02:31:08 GMT Organization: Michigan State University Message-ID: <24uolc$10vv@msuinfo.cl.msu.edu> I've become addicted to a nice little Atari ST Unix terminal app called Unix Windows. The terminal allows you to open multiple windows on a Unix host. It is really a rather convenient App for doing remote work on the school's Unix boxes from home. I know it is also availble on the Macintosh, so I was hoping a port of it exists on the NSFI operating system as well. If anyone knows of a better dial-up solution to Unix boxes from NEXTSTEP, by all means let me know. Thank you in advance, Rob reply to: seward@cps.msu.edu
Newsgroups: comp.sys.next.programmer From: jfr@aspen.pdh.com (Jon F. Rosen) Subject: Mail.app interface Message-ID: <CBysnC.55I@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. Date: Wed, 18 Aug 1993 17:01:58 GMT We need to interface to the Mail.app in an application we are developing. We want to bring up a Mail Compose window partially filled in when the user presses a menu item Mail... and then let them finish composing the message and send it off. I know that I probably end up using services but that is an area not real familiar to me. Also I am not sure how to figure out what services Mail.app responds to. Any ideas? Jon
Newsgroups: comp.sys.next.programmer From: dylan@angst.com (Dylan Kohler) Subject: Re: Postscript Interpolate Message-ID: <1993Aug19.025155.759@Angst.COM> Sender: dylan@Angst.COM Organization: Angst Animation Post Production References: <1993Aug18.213034.6649@adobe.com> Date: Thu, 19 Aug 1993 02:51:55 GMT In article <1993Aug18.213034.6649@adobe.com> Scott Byer <byer@mv.us.adobe.com> writes: > > > For the record, below is a pswrap showing how to test built-in > > Postscript interpolation. I came up with this after a few days > > trial and error. Unfortunately, it appears the /Interpolate > > switch is not yet implemented in Display Postscript for NEXTSTEP; > > it had no effect for me. Can anyone confirm this? > > Unfortunately, yes. Image interpolation has to be added case by > case, effectively, and at the time there were no implementations > available for most cases. Best act like it's not there, for now. > Thanks for straightening this out, Scott. How soon can we hope to see it? 3.2? 4.0? As a separate patch? Also, what exactly can we expect from this when it is out? Will images be interpolated when scaled up and down? When rotated? When translated a non-integer number of pixels? Thanks again. -- ___________________________________ Dylan Kohler Angst Animation Post Production dylan@angst.com (NeXTmail welcome)
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: What does it mean when -addLink: at: (NXDataLinkManager) fails? Message-ID: <1993Aug19.062826.19606@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Aug16.064235.7268@csus.edu> Date: Thu, 19 Aug 1993 06:28:26 GMT Well, I still haven't received any helpful responses. I wrote a slightly different test program in which addLink:at: succeeds, but most of the time my delegate never gets messaged. Then I tried it under 3.0, and it would blow up complaining about attempting to free something that had already been freed (since that doesn't happen under 3.1, I assume that aspect was an AppKit bug that had been found and fixed). Maybe I should give up and write my own data link manager. :-( -=EPS=-
Control: cancel <1993Aug19.071416.18272@kakwa.ucs.ualberta.ca> Newsgroups: comp.infosystems.www,comp.sys.next.software,comp.sys.next.programmer From: bradley@cs.UAlberta.CA (Nelson Bradley Glen) Subject: cmsg cancel <1993Aug19.071416.18272@kakwa.ucs.ualberta.ca> Message-ID: <1993Aug19.071829.18455@kakwa.ucs.ualberta.ca> Sender: news@kakwa.ucs.ualberta.ca Organization: University of Alberta References: <1993Aug19.071416.18272@kakwa.ucs.ualberta.ca> Date: Thu, 19 Aug 1993 07:18:29 GMT <1993Aug19.071416.18272@kakwa.ucs.ualberta.ca> was cancelled from within rn.
Newsgroups: comp.infosystems.www,comp.sys.next.software,comp.sys.next.programmer From: bradley@cs.UAlberta.CA (Nelson Bradley Glen) Subject: WorldWideWeb for NS/Intel Message-ID: <1993Aug19.072452.18744@kakwa.ucs.ualberta.ca> Sender: news@kakwa.ucs.ualberta.ca Organization: University of Alberta Date: Thu, 19 Aug 1993 07:24:52 GMT I think I'm in deep doo-doo. I've promised my boss that I could compile the NeXTStep WorldWideWeb browser (not the command-line one) for NeXTStep/Intel. We thought that the source was available on info.cern.ch. But it isn't, and nobody will respond to my email, not even Tim Berners-Lee, the author. Does anyone have this compiled already? Does anyone know if the source is available at all, and if so where I could get it? I'm gonna die a horrible death if this doesn't happen... My apologies if this gets posted more than once - our news server on campus here keeps barfing with "out of space" errors. Thanks, --- -Brad brad%shunda@kakwa.ucs.ualberta.ca bradley@cs.ualberta.ca
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: NNTP reader questions... Date: 19 Aug 1993 01:26:45 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <24v2ul$jm@digifix.digifix.com> I recently came across William Shipley's semi-implemented News0.75 software. Now, I don't think it will compile, as it seems to use a few things that were unofficial at the time, and are now possibly gone completely (ColumnClass for example) However, the thing I am interested in the most is the interaction that it taking place with the server. Because the implementation is incomplete, there is little code to wade through. But the NNTP stuff seems to be in place. I've included a couple of chunks of code below for comments. The entire source is available on cs.orst.edu in the source directory. This is the code used to open the server and set up the communications - openServer:(const char *)serverName { int nntpSocket; struct servent *nntpEnt; struct protoent *nntpProtoEnt; struct hostent *nntpHost; struct sockaddr_in nntpServer; // int inCode; char inCodeText[512]; if ((nntpEnt = getservbyname("nntp", "tcp")) == NULL) { NXRunAlertPanel("News Flash", "Cannot find nntp service in 'services' database.", NULL, NULL, NULL); return nil; } if ((nntpProtoEnt = getprotobyname(nntpEnt->s_proto)) == NULL) { NXRunAlertPanel("News Flash", "Cannot lookup protocol type.", NULL, NULL, NULL); return nil; } if ((nntpSocket = socket(AF_INET, SOCK_STREAM, nntpProtoEnt->p_proto))== -1){ NXRunAlertPanel("News Flash", "Cannot create socket to news server.", NULL, NULL, NULL); return nil; } if ((nntpHost = gethostbyname(serverName)) == NULL) { NXRunAlertPanel("News Flash", "Cannot find address of host %s.", NULL, NULL, NULL, serverName); return nil; } nntpServer.sin_family = nntpHost->h_addrtype; bcopy(nntpHost->h_addr, &nntpServer.sin_addr, nntpHost->h_length); nntpServer.sin_port = nntpEnt->s_port; if ((connect(nntpSocket, (struct sockaddr *) &nntpServer, sizeof(nntpServer))) == -1) { NXRunAlertPanel("News Flash", "Cannot connect to news server on %s.", NULL, NULL, NULL, serverName); return nil; } nntpFile = fdopen(nntpSocket, "r+"); fscanf(nntpFile, "%d %[^\r]\r", &inCode, &inCodeText); fgetc(nntpFile); fseek(nntpFile, (long)0, SEEK_END); switch (inCode) { case OK_CANPOST: case OK_NOPOST: canPost = (inCode == OK_CANPOST); break; default: NXRunAlertPanel("News Flash", "News server on %s responded incorrectly.", NULL, NULL, NULL, serverName); return nil; break; } return self; } and to switch to a newsgroup - (BOOL)selectOnNNTP:(FILE *)nntpFile { int inCode; char inCodeText[BUFFER_SIZE]; long first, last; fprintf(nntpFile, "group %s\r\n", name); fflush(nntpFile); fseek(nntpFile, (long)0, SEEK_END); fscanf(nntpFile, "%d ", &inCode); switch (inCode) { case OK_GROUP: fscanf(nntpFile, "%*ld %ld %ld %*[^\r]\r", &first, &last); [self setAvailableFirst:first last:last]; break; case ERR_NOGROUP: bogus = TRUE; default: fscanf(nntpFile, "%[^\r]\r", &inCodeText); break; } fgetc(nntpFile); fseek(nntpFile, (long)0, SEEK_END); return (inCode == OK_GROUP); } -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Adding templates to IB Date: 19 Aug 1993 03:36:25 -0700 Message-ID: <24vl39$k3m@ursula.ee.pdx.edu> Summary: Possible to add templates to IB? I've been playing with IB to see if there is some way to add new template types (in addition to `Application', `Modules' et. all). I figured I could use appkit's openFile to load a template (say /NextDeveloper/Apps/InterfaceBuilder.app/English.lproj/NewApplication.nib), for starters. Then do something gruesome to rename it back to UNTITLED. AppInspector reports `untitled' and `file'/`dir' instance variables in the (internal) IBDocument class. Reassigning them using runtime functions does cause later Saves to use the new values, but the File Window, etc. are not updated. With some hacking, I could probably get that to work, but it'd be really fragile. Also, I notice the IBDocument class has methods that are surely What I Want (initFromPath:) but exploiting those looks as though it would require several levels of undocumented sneakiness. Has anyone been so bold, er. stupid? As usual, I'm sure I'm just trying way too hard. No doubt there is a clean API way to do this. At this point I think I'll use the methods used in the IB.nib's main-menu to load the template, create a blank template, then use the IBDocuments protocol methods to copy everything, then zap the old one.. If there is a good way to do this, might there be a similar approach to adding project types to PB?
Newsgroups: comp.sys.next.programmer From: jan@dutnak2.tn.tudelft.nl (Jan Thorbecke) Subject: Re: reading EPS via a pipe using streams Message-ID: <jan.745752174@dutnak2> Keywords: pipe, streams, postscript Sender: news@dutrun2.tudelft.nl (UseNet News System) Organization: Delft University of Technology References: <jan.745229440@dutnak2> Date: Thu, 19 Aug 1993 09:22:54 GMT Thank you for your suggestions, but unfortunately the suggestions didn't work. They referred to an typing error I made (line is marked with an * below). The correct program lines are: fileDescriptor = fileno(stdin); stream = NXOpenFile(fileDescriptor, NX_READONLY); strcpy(tmpfile, "/tmp/EPSviewxxxxxx.eps"); NXGetTempFilename(tmpfile, 12); temporary = fopen(tmpfile, "w"); while (ch != EOF){ ch = NXGetc(stream); fputc(ch, temporary); } fclose(temporary); /* reading from disk */ * stream = NXMapFile(tmpfile, NX_READONLY); anImage = [[NXImage alloc] initFromStream:stream]; NXClose(stream); I'm still puzzled about it. When anybody wants to test the program him(or her)self. I can NeXT-mail the program files. Jan Thorbecke jan@dutnak2.tn.tudelft.nl Delft University of Technology Faculty of Applied Physics, Delft, The Netherlands.
Newsgroups: comp.sys.next.sysadmin,comp.sys.next.programmer From: cbaur@blabel.ppp.informatik.uni-muenchen.de (Christian Baur) Subject: Re: Can auto-poweron be set from shell script? Message-ID: <1993Aug19.080238.1188@blabel.ppp.informatik.uni-muenchen.de> Organization: Home of BlackLabel References: <INMCOOP.93Aug18100514@bcarh4ce.bnr.ca> Date: Thu, 19 Aug 1993 08:02:38 GMT inmcoop@bnr.ca (Dennis Pejcha) writes: >Is there any way to set the automatic power-on time for a NeXTstation from >a shell script? I need the functionality of the power panel in Preferences, >except from the command line: >natasha% setpoweron Aug 20 1993 7:00am >If such a utility doesn't exist, can I write my own? What are the relevant >function calls that I should investigate? Please e-mail your responses and >I will summarize if there is interest. > Take a look at power.tar.Z at ftp.informatik.uni-muenchen.de in ~ftp/pub/next/Tools/misc. I don't know if it will compile under 3.0/3.1 since nvram.h is no longer there. cb -- [ Christian Baur, Muenchen-Germany | Suicide is an urban disease ] [ cbaur@informatik.uni-muenchen.de | Spread by people and places like these ]
Newsgroups: comp.sys.next.programmer From: kdburg@incoahe.hanse.de (Klaus Dahlenburg) Subject: Re: RCS? Message-ID: <1993Aug18.192646.1276@incoahe.hanse.de> Organization: Hanse Networking eV., Hamburg; Germany References: <CBx0CA.5E6@oceania.com> <19261@news.duke.edu> Date: Wed, 18 Aug 93 19:26:46 GMT blake015@mc.duke.edu (Denise Blakeley) writes: [...] >Any idea what version of RCS this was? My guess is that it's a very old one. >The latest version available from prep.ai.mit.edu is RCS 5.6.0.1. >Denise >-- from the rcsid around 4.9 date was 1. may 1989 (/usr/bin/rcs) (old but reliable ;-) ) Klaus -- Klaus Dahlenburg email : kdburg@incoahe.hanse.de P.O.Box 1267 Fax : +49 4287 676 D-21249 Tostedt Voice : +49 4287 681 Germany Timezone : GMT + 2 ++EOM++
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Mail.app interface Message-ID: <1993Aug19.113828.2153@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <CBysnC.55I@pdh.com> Date: Thu, 19 Aug 1993 11:38:28 GMT In article <CBysnC.55I@pdh.com> jfr@aspen.pdh.com (Jon F. Rosen) writes: >We need to interface to the Mail.app in an application >we are developing. We want to bring up a Mail Compose >window partially filled in when the user presses a >menu item Mail... and then let them finish composing >the message and send it off. You can do this with the MailSendDemo (MailListener) interface. >I know that I probably end up using services but that >is an area not real familiar to me. Well, that's another possibility--calling NXPerformService(). > Also I am not >sure how to figure out what services Mail.app responds >to. Any ideas? segedit /NextApps/Mail.app/Mail -extract __ICON __request /dev/tty -=EPS=-
Newsgroups: comp.sys.next.programmer From: afm@vogon.mathi.uni-heidelberg.de (Andreas Mueller) Subject: Re: Shared memory and semaphore Message-ID: <1993Aug19.132837.1321@sun0.urz.uni-heidelberg.de> Sender: news@sun0.urz.uni-heidelberg.de (NetNews) Organization: Matlab, University of Heidelberg References: <24t2i4$ju@fbi-news.informatik.uni-dortmund.de> <CBywAE.Io8@oceania.com> Date: Thu, 19 Aug 93 13:28:37 GMT In article <CBywAE.Io8@oceania.com> jdawson@oceania.com (John Dawson) writes: >In article <24t2i4$ju@fbi-news.informatik.uni-dortmund.de> >hilgert@bali.informatik.uni-dortmund.de (Thomas Hilgert) writes: >> Does anyone know where i can find shared memory in NeXt Step FIP? > >Look at the docs for vm_inherit(). > >However, to save you some time, I'll give a relevant excerpt from >the NeXT Mach docs: > > ``Currently the only way two Mach tasks can share the same physical > memory is for one of the tasks to inherit shared access to memory > from a parent.'' > >Shared memory, then, is very limited. If you're looking for a >general shared memory model like System V has, you're looking at >the wrong operating system. Well, this isn't the whole story. Mach is in fact capable of much more powerful memory sharing then the usual System V shmem interface. Some indication of what is possible can be found in the Book `Programming under Mach' by Boykin et al. Chapter 9 in that book describes External Memory Managment. The example built in that chapter implements secure and distributed memory. It seems to me not too difficult to construct a server that implements full SysV shared memory. This is in fact a project I'm currently working on (but don't hold Your breath). The key system call used here is vm_map, on the client side. There is also an undocumented system call mmap(), used to map files to memory. If two processes map the same file, they get shared memory. There is an implementation of part of the SysV shmem interface using this call. It works, but is of limited use without semaphores. The original poster mentionned semaphores, but nothing like this is available on the NeXT. However, it is possible to write a Mach server that implements most of the semaphore system calls of System V. I actually have written such a server, but it is still in an early version: semget and semop work, the simpler semctl calls also (they don't check permissions so far, but that's a simple addition). What is missing is correct behavior when a process gets a signal during a semop or exits (some hooks for this are already in the code, basically semadj has to be added). Perhaps someone with more experience with the EMM interace could help us build a Sys V shmem library? Just my 0.02$ Andreas Mueller -- ------------------------------------------------- Dr. Andreas Mueller <afm@mathi.uni-heidelberg.de> Mathematisches Institut der Universitaet Im Neuenheimer Feld 288 D - 69120 Heidelberg
Newsgroups: comp.sys.next.programmer From: brisinda@cpsc.ucalgary.ca (Dale Brisinda) Subject: Re: Mouse Click Interval In-Reply-To: abell@netcom.com's message of Thu, 12 Aug 1993 05:55:25 GMT Message-ID: <BRISINDA.93Aug18173646@fsd.cpsc.ucalgary.ca> Sender: news@cpsc.ucalgary.ca (News Manager) Organization: University of Calgary References: <abellCBMtsE.J4v@netcom.com> Distribution: na Date: Thu, 19 Aug 1993 00:36:46 GMT > How does a program find out what the mouse click interval is? > > Steve abell@netcom.com Check out the EventStatusDriver.rtf file in the Next Developer Release Notes. In particular, the functions NXOpenEventStatus(void), and NXClickTime(NXEventHandle handle). Dale --- dale@pegasus.cuc.ab.ca (NeXTmail Welcome) brisinda@cpsc.ucalgary.ca
Newsgroups: comp.sys.next.programmer From: lloyd@world.std.com (Chris Lloyd) Subject: Re: Shared memory and semaphore Message-ID: <CC0Fx4.1u7@world.std.com> Organization: The World Public Access UNIX, Brookline, MA References: <24t2i4$ju@fbi-news.informatik.uni-dortmund.de> <CBywAE.Io8@oceania.com> <1993Aug19.132837.1321@sun0.urz.uni-heidelberg.de> Date: Thu, 19 Aug 1993 14:22:14 GMT In article <1993Aug19.132837.1321@sun0.urz.uni-heidelberg.de> afm@vogon.mathi.uni-heidelberg.de (Andreas Mueller) writes: >In article <CBywAE.Io8@oceania.com> jdawson@oceania.com (John Dawson) writes: >>Shared memory, then, is very limited. If you're looking for a >>general shared memory model like System V has, you're looking at >>the wrong operating system. > >Well, this isn't the whole story. Mach is in fact capable of much >more powerful memory sharing then the usual System V shmem interface. >[..] >The key system call used here is vm_map, on the client side. I believe vm_map requires external pagers - NEXTSTEP's Mach does not have external pagers. You could probably add something similar with a kernel server, but that borders on sick and warped. I keep hoping NeXT will secretly put them in the kernel someday, I don't care if they aren't supported, I just want to play! wee, -- :: Christopher Lloyd :: Yrrid Incorporated :: lloyd@world.std.com :: :: NEXTSTEP Special Forces ::
Newsgroups: comp.sys.next.programmer From: simsong@next.cambridge.ma.us (Simson L. Garfinkel) Subject: Re: Mail.app interface Message-ID: <1993Aug19.123923.1525@next.cambridge.ma.us> Sender: simsong@next.cambridge.ma.us Organization: Simson Garfinkel and Associates, Inc. References: <CBysnC.55I@pdh.com> Date: Thu, 19 Aug 1993 12:39:23 GMT In article <CBysnC.55I@pdh.com> jfr@aspen.pdh.com (Jon F. Rosen) writes: > We need to interface to the Mail.app in an application > we are developing. We want to bring up a Mail Compose > window partially filled in when the user presses a > menu item Mail... and then let them finish composing > the message and send it off. > > I know that I probably end up using services but that > is an area not real familiar to me. Also I am not > sure how to figure out what services Mail.app responds > to. Any ideas? > @interface Emailer(ObjectMethods) - openSend; - setTo:(char *)toField; - setSubject:(char *) subjectField; - setCc:(char *)ccField; - setBody:(char *)bodyField; - deliver; - openSend:(int *)sender; - setTo : (char *) toField inWindow:(int)sender; - setSubject : (char *) subjectField inWindow:(int)sender; - setCc : (char *) ccField inWindow:(int)sender; - setBody : (char *) bodyField inWindow:(int)sender; - deliver:(int)sender; @end + sendMailTo:(const char *)to cc:(const char *)cc subject:(const char *)subject body:(const char*)body { id speaker= [[Speaker alloc] init]; port_t portmail = PORT_NULL; port_t portmailSend = PORT_NULL; int win=0; portmail = NXPortFromName("Mail",0); /* launch mail if not launched */ port_deallocate(task_self(), portmail); portmailSend = NXPortFromName("MailSendDemo", 0); if(portmailSend==PORT_NULL) return nil; [speaker setSendPort:portmailSend]; [speaker selectorRPC:"openSend:" paramTypes:"I",&win]; if (to) [speaker selectorRPC:"setTo:inWindow:" paramTypes:"ci",to,win]; if (subject)[speaker selectorRPC:"setSubject:inWindow:" paramTypes:"ci",subject,win]; if (body) [speaker selectorRPC:"setBody:inWindow:" paramTypes:"ci",body,win]; if (cc) [speaker selectorRPC:"setCc:inWindow:" paramTypes:"ci",cc,win]; [speaker free]; port_deallocate(task_self(), portmailSend); return self; } -- ................................................................simson
Newsgroups: comp.sys.next.programmer From: jq@phcs.com (Jim Quick) Subject: Re: Shared memory and semaphore Message-ID: <CC0GIn.Lu5@phcs.com> Organization: Private Healthcare Systems, Inc References: <24t2i4$ju@fbi-news.informatik.uni-dortmund.de> <1993Aug18.154617.14220@sifon.cc.mcgill.ca> Date: Thu, 19 Aug 1993 14:35:11 GMT In article <1993Aug18.154617.14220@sifon.cc.mcgill.ca> darcy@solutions.ca writes: >In article <24t2i4$ju@fbi-news.informatik.uni-dortmund.de> >hilgert@bali.informatik.uni-dortmund.de (Thomas Hilgert) writes: >> Does anyone know where i can find shared memory in NeXt Step FIP? >> >> Thanks in advance >> >> Thomas > >NEXTSTEP does not make use of shared memory for IPC. You have two choices >when you're making a program for which you need parallelism: threads and >mach messages. > >Mach messages communicate between tasks, and threads allow for parallel lines >of control within a single task. Threads provide mutex functionality, and >other nice things. > >- db Though NeXTStep itself does not provide high-level interfaces to shared memory (a la system V shmem) the ability to control the attributes of a 4GB virtual memory space is a primitive in mach. Via inheritance (and explicitly between tasks) memory can be shared. See the documentation for vm_allocate(), vm_protect(), vm_read(), vm_write(), vm_.... In the developer references. -- ___ ___ mail: uunet!phcs!jq PHCS, Inc. Advanced Technology Group / / / or jq@phcs.com It's spelled "Luxury Yacht", but it's \_/ (_\/ Fax: (617) 863-8575 pronounced "Throat-Warbler Mangrove". ) Voice: (617) 861-5579 NeXTMail O.K.
Newsgroups: comp.sys.next.programmer From: darcy@solutions.ca (Darcy Brockbank) Subject: Consultants, or looking for jobs please read... Message-ID: <1993Aug19.151951.22186@sifon.cc.mcgill.ca> Sender: news@sifon.cc.mcgill.ca Organization: McGill University Date: Thu, 19 Aug 1993 15:19:51 GMT Hello everyone... I am going to set up an internet service, a la 'archie' that will allow consultants and those needing consulting services to come together. Prospective clients will be able to browse resumes and names, and download postscript &| plain-text versions of resumes. The service will also allow for searching on areas of expertise and experience by clients. As well, clients should be able to post jobs, and any interested consultants would automatically recieve e-mail notifying them of the new position available. This service will be extended to non-consulting areas (permanent positions, etc.) as well. If you are interested in participating, please send a resume (if you send PostScript, then please send plain-text as well) and any suggestions you may have for functionality... The service should be up and on-line in a couple of weeks! Stay tuned here for more details... - darcy
Newsgroups: comp.sys.next.programmer From: willers@itp.unibe.ch (Moritz Willers) Subject: Re: Source for accesing Mathematica Message-ID: <1993Aug19.150630.18237@aragorn.unibe.ch> Sender: news@aragorn.unibe.ch Organization: University of Berne, Switzerland References: <24u748$lp4@controversy.math.lsa.umich.edu> Date: Thu, 19 Aug 1993 15:06:30 GMT In article <24u748$lp4@controversy.math.lsa.umich.edu> Hal.Varian@umich.edu writes: > In article <1993Aug18.190231.8011@ccsi.com> shill@ccsi.com (Sean L. Hill) > writes: > > I need to write a program that uses Mathematica's kernel to perform > > computations and do graphs. Can anyone point me to source for a program > > that can do this? I once did this forking Mathematica (as it is) in an Objects -init method, the Object being then responsible to do the communication with Mathematica via pipes. Today I would rather do it using MathLink. Yet if your interested in my class I could mail it to you. [...] > the results. I imagine you can also ask it to return PostScript. I'm > quite sure that you can ask it to write a PostScript file in /tmp (say) > and then read it back in to your program. ^^^^^^^^^^^^^^^^^^^^^^^^^^ It is possible, I did it in the same program mentioned above. Send Mathematica: $NeXTDisplay := "!psfix -epsf > /tmp/something.eps" And after doing the graph (Plot[]) I send Mathematica another line which I got back as soon as the graph was finished and saved to disk. Look at the other thread "reading EPS via a pipe using streams" to see how this is done. BTW. there must be better ways then taking the detour via the disk to get a graph from Mathematica into an Image. I remember something like "Workbench" in this context. good luck, moritz > > Hal.Varian@umich.edu Hal Varian > voice: 313-764-2364 Dept of Economics > fax: 313-764-2364 Univ of Michigan > Ann Arbor, MI 48109-1220 -- Moritz Willers Institute for Theoretical Physics, Berne Switzerland willers@itp.unibe.ch
Newsgroups: comp.sys.next.programmer From: darcy@solutions.ca (Darcy Brockbank) Subject: Re: RCS? (nukes old one maybe?) Message-ID: <1993Aug17.153535.8701@sifon.cc.mcgill.ca> Sender: news@sifon.cc.mcgill.ca Organization: McGill University References: <24pgbb$hf5@digifix.digifix.com> Date: Tue, 17 Aug 1993 15:35:35 GMT In article <24pgbb$hf5@digifix.digifix.com> sanguish@digifix.com (Scott Anguish) writes: > gerben@rna.indiv.nluug.nl writes > > Wel, I just installed rcs 5.6 in /usr/local/bin and I thought: lets make sure > > the older rcs is not online. So I looked in /usr/bin and I did not see rcs > > there! > > > > It seems NS 3.1 contains the man pages, but not the actual programs... > > > Hmmm.. > > It is on my 3.1 system... From my 3.1 NEXTSTEP Users CD I'm pretty sure that the installation procedure for RCS does an "rm" on the old rcs... maybe... I can't seem to verify that from the Makefiles, but for some reason it rings a bell. - db
From: hyongsop@saturn.eecs.umich.edu (Hyong S. Shim) Newsgroups: comp.sys.next.programmer Subject: Mach Port & Message Receiving ... HELP! Date: 17 Aug 1993 16:30:20 GMT Organization: University of Michigan EECS Dept. Message-ID: <24r12s$aqh@zip.eecs.umich.edu> Hi All, I have two tasks A and B that communicates by Mach messages (not Objective-C messages nor Distributed Objects) through a port. A sends messages to B, but B doesn't want to block waiting for A's messages. B doesn't want to poll on the port either. Is there any other way for B to learn that a message has arrived on the port? --Hyong Shim (hyongsop@saturn.eecs.umich.edu)
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: comp.sys.next.programmer Subject: NEXTSTEP Consultant/Programmer Position Date: 17 Aug 1993 11:39:08 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9308171639.AA12599@toto.NeXT.COM> Position open for NEXTSTEP Consultant/Programmer position: Fax resume to: 303-779-9852 or contact Ken Himmelrick at Titan Corp. 303-689-9838.
Newsgroups: comp.sys.next.programmer,comp.sys.next.misc From: drew@fnbc.com (Drew Davidson) Subject: PC Dealer Problems? Not here! Message-ID: <1993Aug17.152028.29616@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA Date: Tue, 17 Aug 93 15:20:28 GMT I was just wondering how people were doing wrt getting NEXTSTEP PCs. I've seen a lot of postings from people along the lines of "Help! I can't get <x> to work in order to install NEXTSTEP!". Naturally most of what you hear are problems; satisfied customers don't usually post. I just got an Intel GX Professional (are a lot of these selling?) and it is very fast! I basically didn't want to deal with the headaches of being on my own about installation and problems (Dealer: "NEXTSTEP? Wuzzat?"). I bought it from Alpine Computing Microage and it the experience was great! Much like getting a NeXT machine - I called and ordered from a person who was knowledgable about what the requirements for NS were, the machine showed up, I plugged it and it booted into NS! The only problem was that Intel shipped a bad board. The person I was working with, Kris Magnusson, called their Tech Support and got a board FedExed to me the next day. I hope that this message helps those people who've been considering NEXTSTEP and were confused (like me) by the dizzying array of options available. I really didn't want to spec out a system with no help and have to install it myself (plus I didn't have a CD-ROM drive!). I've had *awesome* service and support from Kris (Alpine has a group dedicated to NEXTSTEP and Unix systems) and I think that anyone who is considering getting a PC to run NS should consider calling Kris. He really bent over backwards to make sure I was satisfied. They deal in much more than Intel GX's, also. No headaches! FYI: Alpine Computing Microage Kris Magnusson (801) 268-8877 Disclaimer: I am in no way affiliated with Alpine Computing Microage or Kris Magnusson, I'm just an *extremely* satisfied customer and I wanted to let everyone else in on the action. - Drew -- +--------------------------------+-------------------------------------------+ | Drew Davidson | "Never ask a programmer if he'll have | | Software Guy | another cup of coffee because it's | | First National Bank of Chicago | nobody's damn business how much he's | | drew@fnbc.com (NeXTmail) | already had!" - me | +--------------------------------+-------------------------------------------+
From: agray@axion.bt.co.uk (Andy Gray) Newsgroups: comp.sys.next.programmer Subject: Re: Scrolling browsers (Thanks) Date: 17 Aug 1993 17:14:46 GMT Organization: BT Laboratories Distribution: world Message-ID: <24r3m6$92j@zaphod.axion.bt.co.uk> References: <24nqvf$39a@zaphod.axion.bt.co.uk> <24opu4$g0v@digifix.digifix.com> Thanks to all those who sent me hints. I'll be trying them again this evening if my transfer disk isn't corrupt :-( Thanks again Andy.
Newsgroups: comp.sys.next.programmer From: Scott Byer <byer@mv.us.adobe.com> Subject: Re: Clipping Text in a box nicely... Message-ID: <1993Aug17.171715.21836@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <CBwCzp.DLF@world.std.com> Date: Tue, 17 Aug 1993 17:17:15 GMT Chris Lloyd writes > Eeek. getWidthOf just uses NXFontMetrics, so use them yourself... > for(;s[l] && w+(cw=m->widths[s[l]]*pointSize)<upto;l++,w+=cw) Be careful here. Certainly, don't store away the metrics for use with the same face at a different point size. A single font instance may have linearly scalable widths, but if a font is a Multiple Master font with an optical scale axis, those widths may change slightly from point-size to point-size. So don't store the widths, change point size, and expect those widths to always work. (The example is correct, however.) Personally, I'd stick with getWidthOf. Who knows what other funky things we could do with font metrics... :-) (Just kidding.) -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
From: kheit@gandalf.rutgers.edu (John Kheit) Newsgroups: comp.sys.next.misc,comp.sys.next.programmer Subject: SND & Music Kit Concepts and Refrence? Message-ID: <Aug.17.13.47.13.1993.11998@gandalf.rutgers.edu> Date: 17 Aug 93 17:47:14 GMT Followup-To: comp.sys.next.misc Organization: Rutgers Univ., New Brunswick, N.J. Hi, does anyone know where I can find the SND & Music Kit Concepts & Refrence books? Preferably on-line electronic format. I think that the 3.1 Music kit from CCRMA has the DSP portion of the S&M C&R, but I need the whole thing. Muchas gracias for any/all help. Later, John
Newsgroups: comp.sys.next.programmer From: pkim@cory.EECS.Berkeley.EDU (P. Kim) Subject: DBKit adaptors for HP3000? Message-ID: <1993Aug17.175731.7340@pasteur.Berkeley.EDU> Sender: nntp@pasteur.Berkeley.EDU (NNTP Poster) Organization: University of California, Berkeley Date: Tue, 17 Aug 1993 17:57:31 GMT do not respond to this account. all replies should go to: mtcoak!cc@netcom.com ---------------------------------------------------------- we are basically looking for a DBKit adaptor for any database that runs on an HP3000. if anyone has written, seen, have, or know of such a critter, please let us know. thanks, charlie conklin mtcoak!cc@netcom.com (NeXTmail OK)
Newsgroups: comp.sys.next.programmer From: jdawson@oceania.com (John Dawson) Subject: Re: RCS? Message-ID: <CBx0CA.5E6@oceania.com> Sender: jdawson@oceania.com (John Dawson) Organization: Oceania Health Care Systems References: <1993Aug16.213407.6379@rna.indiv.nluug.nl> Date: Tue, 17 Aug 1993 17:52:55 GMT In article <1993Aug16.213407.6379@rna.indiv.nluug.nl> gerben@rna.indiv.nluug.nl writes: > Wel, I just installed rcs 5.6 in /usr/local/bin and I thought: lets make sure > the older rcs is not online. So I looked in /usr/bin and I did not see rcs > there! > > It seems NS 3.1 contains the man pages, but not the actual programs... They certainly are shipped. They are, however, only on the developer tools package. If you don't have RCS tools in /usr/bin, then either you didn't install them from the developer tools CD-ROM, or they have accidentally been deleted. $ ls -ald /usr/bin/{rcs*,ci,co,ident,sccs*,rlog} -rwxr-xr-x 1 root 629104 Jul 21 12:37 /usr/bin/ci -rwxr-xr-x 1 root 601124 Jul 21 12:37 /usr/bin/co -rwxr-xr-x 1 root 138768 Jul 21 12:37 /usr/bin/ident -rwxr-xr-x 1 root 574268 Jul 21 12:37 /usr/bin/rcs drwxrwxr-x 2 root 1024 Jul 21 12:37 /usr/bin/rcs.VERSION.4 -rwxr-xr-x 1 root 24576 Apr 15 01:30 /usr/bin/rcsclean -rwxr-xr-x 1 root 501980 Jul 21 12:37 /usr/bin/rcsdiff -rwxr-xr-x 1 root 463324 Jul 21 12:37 /usr/bin/rcsmerge -rwxr-xr-x 1 root 526540 Jul 21 12:37 /usr/bin/rlog -rwxr-xr-x 1 root 4496 Apr 15 01:30 /usr/bin/sccstorcs Hmm; they're not stripped. I just checked, and in /usr/bin, these things aren't stripped: ci, co, ident, merge, rcs, rcsdiff, rlog, afm2tfm, dvips, rcsmerge. I'll report this as a bug; stripping these things changes their disk usage from 4128k to 953k. Major wastage. ...jkd -- jdawson@oceania.com (John Dawson) We tend to scoff at the beliefs of the ancients. But we can't scoff at them personally, to their faces, and this is what annoys me.
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: Clipping Text in a box nicely... Date: 17 Aug 1993 15:32:05 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <24rbnl$lqo@digifix.digifix.com> References: <1993Aug17.171715.21836@adobe.com> Scott Byer <byer@mv.us.adobe.com> writes > Be careful here. Certainly, don't store away the metrics for use > with the same face at a different point size. A single font instance > may have linearly scalable widths, but if a font is a Multiple > Master font with an optical scale axis, those widths may change [small munch] Whoa.... Do we have to worry about Multiple Master fonts on under NEXTSTEP anytime soon? Hope... hope... > Who knows what other funky things we could do with font metrics... :-) Hmmmm. Sure would be nice if pair kerning was automatic! -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: DBAdaptor headers? Date: 17 Aug 1993 16:19:07 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <24refr$m3r@digifix.digifix.com> While I realize that the DBKit documentation is only available from NeXT, and that there are some licensing fees for the source for one of the adaptors from NeXT, (both of which I have gotten from Next) I haven't been able to get ahold of the DBBasicAdaptor and DBBasicContext headers. I've asked NeXT for them several times, but no reply. Does anyone have just the headers that they could mail me? Thanks -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
From: u288869@uebung3.rz.fh-reutlingen.de (Frank Martin Siegert) Newsgroups: comp.sys.next.programmer Subject: PPPAScrollViewDeluxe vs. Text Troubles Date: 17 Aug 1993 21:44:15 GMT Organization: Fachhochschule fuer Technik und Wirtschaft, Reutlingen, Germany Distribution: world Message-ID: <24rjff$fqh@infoserv.zdv.uni-tuebingen.de> Now I downloaded PAScrollViewDeluxe and installed it. Great work! If only my text palette would work again. Nobody to blame, it is mentioned in the README file of PAScrollViewDeluxe. But...Has somebody fixed this? I tracked down the problem to the +finishLoading: methode in the PAInspector.m file. Here a DummyScrollView is used to pose as the real scrollview. As soon as the poseAs: is done the text palette refuse to work. Guess it does not like the imposter (too much pride?)... - Frank
From: riedel@cs.ubc.ca (Marko Riedel) Newsgroups: comp.sys.next.programmer Subject: wait cursor Date: 17 Aug 1993 22:11:05 GMT Organization: Computer Science, University of B.C., Vancouver, B.C., Canada Distribution: world Message-ID: <24rl1p$afj@cs.ubc.ca> problem: app delays for about 10-20s while doing some processing; no wait cursor shows up; DPSStartWaitCursorTimer has no effect answer: ??? - m. ps: i know about modal sessions & how you're supposed to write responsive guis 8-)
Newsgroups: comp.sys.next.programmer From: crespo@vcd.hp.com (Ivan Crespo) Subject: zsh anyone? Sender: news@vcd.hp.com (News user) Message-ID: <CRESPO.93Aug17155623@hpvclic.vcd.hp.com> Date: Tue, 17 Aug 1993 22:56:23 GMT Organization: Hewlett-Packard VCD Has anyone got the 'zsh' to compile on NS 3.1 yet? Last time I tried it there where tons of stuff it couldn't find... Thanks! i. --
From: blake015@mc.duke.edu (Denise Blakeley) Newsgroups: comp.sys.next.programmer Subject: Re: RCS? Message-ID: <19261@news.duke.edu> Date: 17 Aug 93 23:21:35 GMT References: <CBx0CA.5E6@oceania.com> Sender: news@news.duke.edu John Dawson writes > They certainly are shipped. They are, however, only on the developer > tools package. If you don't have RCS tools in /usr/bin, then either > you didn't install them from the developer tools CD-ROM, or they > have accidentally been deleted. Any idea what version of RCS this was? My guess is that it's a very old one. The latest version available from prep.ai.mit.edu is RCS 5.6.0.1. Denise -- Denise Blakeley | PROGRAM, tr. v., An activity similar Duke Med Center Info Systems | to banging one's head against a wall, Durham, NC | but with fewer opportunities for (919) 282-6468 W | reward. blake015@mc.duke.edu |
Newsgroups: comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: Re: Clipping Text in a box nicely... Message-ID: <Aug18.043541.47409@acs.ucalgary.ca> Date: Wed, 18 Aug 1993 04:35:41 GMT References: <CBwCzp.DLF@world.std.com> <1993Aug17.171715.21836@adobe.com> Organization: The University of Calgary, Alberta > > for(;s[l] && w+(cw=m->widths[s[l]]*pointSize)<upto;l++,w+=cw) > Be careful here... > ... > (The example is correct, however.) > > Personally, I'd stick with getWidthOf. Who knows what other > funky things we could do with font metrics... :-) Of course, the example completely ignores the effects of kerning tables. Does getWidthOf: have an equally simplistic view of things? -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
Newsgroups: comp.sys.next.programmer From: andrew@stone.com (Andrew Stone) Subject: Re: Pop-Up lists (thanks and two more questions) Message-ID: <1993Aug18.031457.1487@stone.com> Keywords: WidePopUpManager Sender: andrew@stone.com Organization: Stone Design Corp References: <CBtLqB.Fzp@usenet.ucs.indiana.edu> Date: Wed, 18 Aug 1993 03:14:57 GMT In article <CBtLqB.Fzp@usenet.ucs.indiana.edu> irogers@theme.music.indiana.edu (Ian Rogers) writes: > > 1) I want to make the title change to a specific cell in the popup > list. How can I make it change the button title to a specified cell? > Here's one way: [[metricList itemList]selectCellAt:units :0]; [metricPopUp setTitle:[metricList selectedItem]]; > 2) How can I make the pop-up list resize to the longest string in the > list? I have tried various combinations of sizeToFit to both the > pop-up list and the button, but none give the desired results. Charles Perkins and I wrote a hack to do this [IE, when it's not popped, it's a certain fixed size in your UI, but when it's popped, it sizes to the widest entry] by creating a class which goes between the button and the pop up list as manager, and munges the frame of the Menu before it shows itself. Here's how you'd invoke it: - initializeFindButton:theButton { NXAttachPopUpList(theButton,findPopUp); [[WidePopupManager allocFromZone:[theButton zone]]initForButton:theButton andList:findPopUp]; ..... } andrew WidePopUpManager.h: ===================================================================== @interface WidePopupManager:Object { id button; id popupList; } - initForButton:aButton andList:aPopupList; - popUp:sender; @end ===================================================================== WidePopUpManager.m: ===================================================================== /************************************************************************* * Copyright (c) 1989,1990 Stone Design Corp. All rights reserved. * programmer: Andrew C. Stone/ Charles L. Perkins * File name: WidePopupManager.m * Date: Feb 2 1992 * Purpose: To fool a popup into being wider than normal as needed ************************************************************************** */ #import <appkit/appkit.h> #import "WidePopupManager.h" @implementation WidePopupManager - initForButton:aButton andList:aPopupList { button = aButton; popupList = aPopupList; [popupList sizeToFit]; [button setAction:@selector(popUp:)]; [button setTarget:self]; return self; } //////////////////////////////////////////////////////////////////// // The fake out stuff /////////////////////////////////////////////////////////////////// - popUp:sender { return [popupList popUp: self]; // we are the surrogate button } - getBounds:(NXRect *)theRect { /* so we have the correct width */ NXRect popupFrame; [popupList getFrame: &popupFrame]; [button getBounds: theRect]; if (theRect->size.width < popupFrame.size.width - 1) theRect->size.width = popupFrame.size.width - 1; return self; } - convertPoint:(NXPoint *)aPoint toView:aView { return [button convertPoint:aPoint toView:aView]; } /* this and next 4 messages so we can masquerade as Button to PopUpList */ - window { return [button window]; } - display { return [button display]; } - (BOOL)needsDisplay { return [button needsDisplay]; } - (const char *)title { return [button title]; } - setTitle:(const char *)aString { [button setTitle: aString]; return self; } @end -- ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>|| !! Andrew Stone !! (505) 345-4800 !! !! andrew@stone.com <> Stone Design Corp !! ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>||
Newsgroups: comp.sys.next.programmer From: cedman@princeton.edu (Carl Edman) Subject: Re: zsh anyone? In-Reply-To: crespo@vcd.hp.com's message of Tue, 17 Aug 1993 22:56:23 GMT To: crespo@vcd.hp.com (Ivan Crespo) Message-ID: <CEDMAN.93Aug17215503@capitalist.princeton.edu> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University References: <CRESPO.93Aug17155623@hpvclic.vcd.hp.com> Date: Wed, 18 Aug 1993 01:55:03 GMT In article <CRESPO.93Aug17155623@hpvclic.vcd.hp.com> crespo@vcd.hp.com (Ivan Crespo) writes: Has anyone got the 'zsh' to compile on NS 3.1 yet? Last time I tried it there where tons of stuff it couldn't find... zsh2.4.180beta is the most stable beta of zsh I've seen in a looong time and if you get rid of the autoconfigured POSIX brain damage in the Makefile and config.h it compiles like a baby on NS 3.1. Find it on carlo.phys.uva.nl in pub/bas/zsh. For those not in the know, zsh is probably the most powerful and most feature rich shell available today for any UN*X or UN*X-like operating system (in the widest sense of the word). It offers both all the advanced programmability of ksh descended shells and all the user friendly interactive features of tcsh while improving and extending both. Carl Edman
Newsgroups: comp.sys.next.programmer From: mzeller@gwdu03.gwdg.de (Meinrad Zeller) Subject: Re: Source for accesing Mathematica Message-ID: <B5GGBZ5P@gwdu03.gwdg.de> Organization: GWDG, Goettingen References: <1993Aug18.190231.8011@ccsi.com> Date: Thu, 19 Aug 1993 16:22:07 GMT Sean L. Hill (shill@ccsi.com) wrote: : I need to write a program that uses Mathematica's kernel to perform : computations and do graphs. Can anyone point me to source for a program : that can do this? : What I want to do is send data to the kernel, get the results of some : calculations and graph the results from within Mathematica get the : returned Postscript and display it. : I recall Gourmet.app and other similar programs, but I don't remember the : source being available. Try ftp wri.com. They have lots of sources and also special NeXT directory. Gourmet is also there, but I don't know if there are also the sources of Gourmet. But give it a try. You should also find some documentation on how to talk to the mma kernel. Hope this helps, Meinrad -- Meinrad Zeller Foehrenweg 1 D-37077 Goettingen Tel.: +49-551-300095
Newsgroups: comp.sys.next.programmer From: greg@afs.com (Gregory H. Anderson) Subject: FAQ: Coming soon to a NewsGrazer near you! Message-ID: <1993Aug19.145415.14882@afs.com> Sender: greg@afs.com Date: Thu, 19 Aug 1993 14:54:15 GMT I have secured Nathan Janette's kind permission to take over the FAQ responsibilities for this group. Here's a thumbnail sketch of the twofold strategy I'm pursuing: 1) A master document with an introduction (how does NS differ from other OS and development platforms), list of resources (books, NeXTAnswers, ObjectWare catalog, other online srouces), porting info (available languages, missing headers and functions), top 10 questions, etc. I'm trying to keep this as short as possible, with pointers to... 2) CSNP-REQUEST, a free service we will maintain with the "best of csnp": in-depth articles, book reviews, source code listings for particular problems, etc. The index for CSNP-REQUEST will be reposted monthly at the same time as the FAQ. The entire archive will be ftp-able from somewhere, and we'll have a special alias at afs.com to ask for specific articles. Think of the ways you can get NeXTAnswers, and you have the idea. I've got a working draft of item 1, and I'm collating item 2. I expect to post the first edition of the FAQ on September 1, and we hope to have the automatic mailback system working at that time. It turns out the mail server isn't too difficult if you can read table_of_contents in *.mbox, which we hacked from a posting by Izumi Ohzawa in this group. What comes around goes around! We will be placing the mailback server in the public domain for other organizations that could make use of it. I'm still soliciting suggestions for "top 10 FAQs", and I'll review any material you care to submit for the CSNP-REQUEST archive. All attributions will remain attached to those submissions, unless the submitter requests anonymity. -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
Newsgroups: comp.sys.next.programmer From: Scott Byer <byer@mv.us.adobe.com> Subject: Re: Postscript Interpolate Message-ID: <1993Aug19.165738.26705@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <1993Aug19.025155.759@Angst.COM> Date: Thu, 19 Aug 1993 16:57:38 GMT Dylan Kohler writes > How soon can we hope to see it? 3.2? 4.0? As a separate patch? > Also, what exactly can we expect from this when it is out? Will > images be interpolated when scaled up and down? When rotated? > When translated a non-integer number of pixels? 3.2 would be far too soon; I have no idea when we'll get to see it. When we do, it'll be whatever's implemented at that point. Some more interpolations have been done for some of the color printers, so I'd expect some of that to show up, covering as many cases as possible. But as to what specifically, I couldn't tell you. -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
From: garyc@eecs.nwu.edu (Gary Chang) Newsgroups: comp.sys.next.programmer Subject: Re: Mail.app interface Date: 19 Aug 1993 17:28:39 GMT Organization: Northwestern University, Evanston, IL USA Message-ID: <250d87$4fn@news.acns.nwu.edu> References: <1993Aug19.123923.1525@next.cambridge.ma.us> In article <1993Aug19.123923.1525@next.cambridge.ma.us> simsong@next.cambridge.ma.us (Simson L. Garfinkel) writes: &- In article <CBysnC.55I@pdh.com> jfr@aspen.pdh.com (Jon F. Rosen) writes: &- > We need to interface to the Mail.app in an application &- > we are developing. We want to bring up a Mail Compose &- > window partially filled in when the user presses a &- > menu item Mail... and then let them finish composing &- > the message and send it off. &- @interface Emailer(ObjectMethods) &- - openSend; &- - setTo:(char *)toField; &- - setSubject:(char *) subjectField; [stuff deleted] ................................................................simson How did you get the EMAIL interface? Is it documented anywhere? I would also like to know the interface for other NeXTApps such as Terminal.app, Edit.app, etc. Any thoughts? -- +----------------+ | Gary I. Chang | +----------------+ Northwestern Univ. E-Mail: garyc@eecs.nwu.edu (NeXT-Mail O.K.)
Newsgroups: comp.sys.next.programmer From: cedman@princeton.edu (Carl Edman) Subject: Re: Mail.app interface In-Reply-To: jfr@aspen.pdh.com's message of 18 Aug 93 17:01:58 GMT To: jfr@aspen.pdh.com (Jon F. Rosen) Message-ID: <CEDMAN.93Aug18231129@capitalist.princeton.edu> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University References: <CBysnC.55I@pdh.com> Date: Thu, 19 Aug 1993 03:11:28 GMT In article <CBysnC.55I@pdh.com> jfr@aspen.pdh.com (Jon F. Rosen) writes: We need to interface to the Mail.app in an application we are developing. We want to bring up a Mail Compose window partially filled in when the user presses a menu item Mail... and then let them finish composing the message and send it off. Get the Mailcomposer pallette. If you need a working example get the mailapp-utilities from either nova or orst and have a look at 'nextmail'. It is really not very hard. Carl Edman
Newsgroups: comp.sys.next.programmer From: paul@phoenix.Princeton.EDU (Paul Lansky) Subject: slow ethernet problem Message-ID: <1993Aug19.141842.11761@Princeton.EDU> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University Date: Thu, 19 Aug 1993 14:18:42 GMT We are testing an IntelGX, with an SMC EtherCard+ Elite16-combo. We simply put it in the place of a 68k NeXT running on a local network. Ethernet speeds between the black machines was in the range of 300k to 500k bytes per second. With this machine and card, however, I'm only getting 130k bytes per second. Nothing else on the network has changed. Can somebody tell me what to tweak to get these rates up. This speed is totally unacceptable. Thanks Paul Lansky paul@princeton.edu
From: glenn@rightbrain.com (Glenn Reid) Newsgroups: comp.sys.next.programmer Subject: Re: Clipping Text in a box nicely... Message-ID: <1324@rtbrain.rightbrain.com> Date: 19 Aug 93 21:55:00 GMT References: <24rbnl$lqo@digifix.digifix.com> Sender: glenn@rightbrain.com [whole discussion deleted] If you're going to use "getWidthOf:", at least make it a binary search instead of a linear search, so you don't take the width of all the substrings in the string every time (which is order N!). Look at the whole string, then half the string, then 3/4 of the string, etc. -- Glenn Reid NeXTmail: glenn@rightbrain.com RightBrain Software 415-326-2974 (NeXTfax 326-2977) Palo Alto, California Electronic Frontier Foundation, member #054
From: hugunin@mtl.mit.edu (James Hugunin) Newsgroups: comp.sys.next.programmer Subject: Question: Using Intel IO Ports without Driver Kit Date: 19 Aug 1993 22:53:58 GMT Organization: Massachvsetts Institvte of Technology Message-ID: <2510a6$2a2@senator-bedfellow.MIT.EDU> Keywords: intel, io In my lab we have recently converted a 486 PC that was used for data acquisition to NeXTStep. Unfortunately, this means that this PC can no longer be used for its original purpose until the software is ported to NeXTStep. Fortunately, most of this port has been trivial. The challenging part is controlling the data acquisition board. What I need to be able to do is to set and read values from the PC's IO ports. This is done with assembly language calls to inw and outw. When I try to include these calls in a NeXTStep program, I receive the run-time error "Illegal Instruction." I know that the "proper" solution to this problem is to use the driver kit and to reserve those ports for my driver. However, the beta version of the driver kit, as well as the complexities of creating a full driver make me wary of tackling this job. Does anyone out there know of a way to force mach to run a piece of assembly code without any sort of IO port protection? Please post replies or e-mail to hugunin@mtl.mit.edu.
From: blake015@mc.duke.edu (Denise Blakeley) Newsgroups: comp.sys.next.programmer Subject: Re: Mail.app interface Message-ID: <19356@news.duke.edu> Date: 19 Aug 93 23:39:17 GMT References: <CBysnC.55I@pdh.com> Sender: news@news.duke.edu Jon F. Rosen writes > We need to interface to the Mail.app in an application > we are developing. We want to bring up a Mail Compose > window partially filled in when the user presses a > menu item Mail... and then let them finish composing > the message and send it off. Try taking a look at Opener.app's monitor.m (it's inside the app wrapper). Michael Hawley did just this kind of thing for menu item Suggestion. You can probably just copy the code out of there and not even have to learn a lot of new concepts... Denise -- Denise Blakeley | PROGRAM, tr. v., An activity similar Duke Med Center Info Systems | to banging one's head against a wall, Durham, NC | but with fewer opportunities for (919) 282-6468 W | reward. blake015@mc.duke.edu |
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Mail.app interface Message-ID: <1993Aug20.021742.5240@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Aug19.123923.1525@next.cambridge.ma.us> <250d87$4fn@news.acns.nwu.edu> Date: Fri, 20 Aug 1993 02:17:42 GMT In article <250d87$4fn@news.acns.nwu.edu> garyc@eecs.nwu.edu (Gary Chang) writes: > How did you get the EMAIL interface? Is it documented anywhere? >I would also like to know the interface for other NeXTApps such as >Terminal.app, Edit.app, etc. Any thoughts? If you're running Black Hardware, check out my class-dump program (currently at release 1.3). Sorry, there's no Intel version. Back to the subject--try this: make a file called Mail.msg containing -openSend; -setTo:(char *)aString; -setSubject:(char *)aString; -setCc:(char *)aString; -setBody:(char *)aString; -deliver; -openSend:(int *)mailWindowNumPtr; -setTo:(char *)aString inWindow:(int)mailWindowNum; -setSubject:(char *)aString inWindow:(int)mailWindowNum; -setCc:(char *)aString inWindow:(int)mailWindowNum; -setBody:(char *)aString inWindow:(int)mailWindowNum; -deliver:(int)mailWindowNum; [Note that the first six methods exist for compatibility with pre-3.0 software only; do not use them in new programs.] Now type msgwrap Mail.msg This will create four additional files. You could use MailSpeaker.[hm] directly in your application, but it's obviously going to be more efficient to call selectorRPC: yourself. You also do not need to declare the Mail Listener's @interface anywhere in your application with that approach. [I don't know what Simson had in mind; I can't see any scenario in which using a category makes sense. In any case, all Listener methods return int (not id)--the (int) is only omitted in msgwrap input.] Also, you're better off looking up "MailSendDemo" with NXPortNameLookup() than NXPortFromName(). Other than that, Simson's example is more or less on track. -=EPS=-
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Re: Clipping Text in a box nicely... Message-ID: <1993Aug20.023528.6198@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <24rbnl$lqo@digifix.digifix.com> <1324@rtbrain.rightbrain.com> Date: Fri, 20 Aug 1993 02:35:28 GMT In article <1324@rtbrain.rightbrain.com> glenn@rightbrain.com (Glenn Reid) writes: >If you're going to use "getWidthOf:", at least make it a binary search When you're looking up a name in a telephone directory, do you always start in the middle of the book? :-) -=EPS=-
From: blake015@mc.duke.edu (Denise Blakeley) Newsgroups: comp.sys.next.programmer Subject: Re: Clipping Text in a box nicely... Message-ID: <19362@news.duke.edu> Date: 20 Aug 93 03:20:20 GMT References: <1324@rtbrain.rightbrain.com> Sender: news@news.duke.edu Glenn Reid writes > Look at the whole string, then half the string, then 3/4 of the string, etc. ^^^ I'm pretty sure he meant 1/4. :-) Denise -- Denise Blakeley | PROGRAM, tr. v., An activity similar Duke Med Center Info Systems | to banging one's head against a wall, Durham, NC | but with fewer opportunities for (919) 282-6468 W | reward. blake015@mc.duke.edu |
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: comp.sys.next.programmer Subject: Pencom Seeks 37 NEXTSTEP/OOP Engineers (CA, TX, Northeast, Midwest US) Date: 20 Aug 1993 00:56:48 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9308200551.AA05032@seawolf.next.com> For more information, contact: Clint Tomlinson Manager, Advanced Technologies Recruiting Pencom 9050 Capital of Texas Highway North Austin, Texas 78759 Fax: 512-346-6444 E-Mail: clint@pencom.com Pencom seeks 37 NEXTSTEP/OOP Engineers for internal and external projects for our distinguished list of clients. AUSTIN, TEXAS - August 20, 1993 - Pencom Software's team of NEXTSTEP engineers are dedicated to providing services to developers and end user organizations equipped with workstations and software from NeXT Incorporated. A NeXT-authorized systems integrator as well as a registered NEXTSTEP software developer, Pencom provides a full range of services to support users and vendors in adopting this revolutionary technology. Pencom continues to be the leader in NEXTSTEP/OO software development and consulting services, and has the largest staff of NEXTSTEP engineers outside of NeXT themselves. Pencom Software is a division of Pencom Systems Incorporated, a New York-based firm providing software engineering and manpower resources to Fortune 500 companies and leading computer firms since 1973. Currently the largest recruiting firm specializing in the UNIX/Open Systems market, Pencom employs over 500 people and maintains a large heterogeneous network of workstations including more than 80 NeXT machines. NOTE: The following permanent and contract positions require NO LESS than 2 years industry experience, and permanent positions require permanent residence. THANK YOU for your cooperation. If you are interested in being kept informed about positions but are not actively seeking employment, please email contact information in confidence to clint@pencom.com. CALIFORNIA 1 - NEXTSTEP System Administrator * NEXTSTEP/UNIX/HP system administration experience * Network Management background * Objective-C or C++ experience * Background in a heterogeneous systems environment 1 - NEXTSTEP Network Administrator * NEXTSTEP/UNIX/HP system administration experience * Network Management background * TCP/IP, LAN, WAN, Communications protocols * Objective-C or C++ experience * Background in a heterogeneous systems environment 4 - NEXTSTEP Software Engineers * NEXTSTEP/UNIX application software development * Strong NEXTSTEP, AppKit, Interface Builder experience * High level design, rapid prototyping in NEXTSTEP environment * Ability to work in a dynamic team environment * Strong Objective-C or C++ programming experience * Ability to transfer NEXTSTEP technology to engineers * 5 to 6 years experience 1- Director of Software Engineering * 8-10 years industry experience * Strong management skills * Hands on development UNIX/NEXTSTEP/OOP * Project scheduling, planning, budgeting * Product development * RDBMS or Database KIT 1 - Director of Support * 8-10 years industry experience * Strong customer support experience * Strong management experience * Director level experience * 4 management reports * 37 indirect reports 1 - Manager of Support * 7-9 years industry experience * Strong management skills * Account management * Contract negotiation, proposals, P&L * UNIX/NeXT environment * 8 direct reports 2 - Systems Engineers * 4+ years industry experience * 2+ years OOP (NEXTSTEP/C++) * RDBMS (ORACLE/SYBASE/Database Kit) * Applications development * Sales/Marketing experience * Strong interpersonal skills * Willing to travel 1 - Systems Engineering Manager * 7-10+ years industry experience * 2+ years OOP (NEXTSTEP/C++) * RDBMS (ORACLE/SYBASE/Database Kit) * Sales/Marketing/Management experience * Strong interpersonal skills * Willing to travel 1 - Senior Sybase Database Developer * 5+ years database design and database applications development experience * 3 years application development experience UNIX * 2 years Sybase experience * 1+ year applications experience in NEXTSTEP or OOP 1 - NEXTSTEP/UNIX Trading Applications Developer * 5-7 years UNIX/C/C++ * Financial applications, Equity trading systems * Sybase/RDBMS/Database Kit * OOP/C++/Objective-C * Sun workstation 1- NEXTSTEP Programmer (CONTRACT 4-6 months) * Objective-C ,OOP, GUI, RDBMS, i486 * Strong NEXTSTEP applications development.. * 2+ years NEXTSTEP, 5+ years industry experience TEXAS 1 - Senior Sybase Database Developer (CONTRACT 12 months) * 5+ years database design and database applications development experience * 3 years application development experience UNIX * 2+ years Sybase applications experience * 1+ year applications experience in NEXTSTEP or OOP 1 - NEXTSTEP Software Engineers * Strong NEXTSTEP applications development * Strong UNIX, Objective-C, C++ * AppKit, Interface Builder, Database Kit * Strong RDBMS * Transfer of NEXTSTEP technology * Software training or teaching experience * 4 to 6 years industry experience NORTHEAST 3 - Systems Engineers * 4+ years industry experience * 2+ years OOP (NEXTSTEP/C++) * RDBMS (ORACLE/SYBASE/Database Kit) * Applications development * Strong interpersonal skills * Willing to travel 2 - OOP Software Engineers * 2+ years Object Oriented Programming (C++/Objective C,Smalltalk) * 2+ years Object Oriented analysis/design * 1+ years NEXTSTEP applications development * Strong RDBMS, ORACLE, SYBASE, Database Kit * 3-4 years industry experience 1 - NEXTSTEP/SUN System Administrator * NEXTSTEP/SUN system administration experience * Network Management background * Objective-C or C++ experience * Background in a heterogeneous systems environment a must 4 - NEXTSTEP/UNIX Trading Applications Developers (CONTRACTS 4-6 months) * 5-7 years UNIX/C/C++ * Financial applications, Equity/Derivatives trading systems * Sybase/RDBMS/Database Kit plus * OOP/C++/Objective-C plus * Sun workstations MID-WEST 2 - NEXTSTEP/UNIX Trading Applications Developer * 5-7 years UNIX/C/C++ * Financial applications, Equity trading systems * Sybase/RDBMS/Database Kit * OOP/C++/Objective-C * Sun workstations 1 - NEXTSTEP Customer Support Representative * Customer support rep. to handle day-to-day support issues * Professional phone experience. * 50% phone support, 15% travel, 15% testing * 20% pre/post sales (reactive and pro-active) * High energy level, self starter * Some sadm exp. helpful * Experience w/NEXTSTEP, OOP, UNIX/C/C++ 1 - SQA Engineer * Highly organized, debugging/test/sqa exp. * Build database for testing * Collect and organize bug fixes, reporting bugs * 50% testing, 50% organizing * Back-up sysadm/support engineers 2 - CDI (compact disc interactive) software engineer * NEXTSTEP/C/C++ experience with CDI * OS/9, image compression/audio/CAD, 2-D graphics 2 - CD-ROM Software Engineers * Strong C programmer with multimedia exp. including viewing/emulation * Take multimedia presentations to CD-ROM environment * Disc mastering, video/audio/frame 2 - NEXTSTEP Programmers * Objective-C ,OOP, GUI, RDBMS, i486 * Strong NEXTSTEP applications development.. * 2+ years NEXTSTEP, 5+ years industry experience More positions soon...
Newsgroups: comp.sys.next.programmer From: jdawson@oceania.com (John Dawson) Subject: Re: Shared memory and semaphore Message-ID: <CC0z53.D4L@oceania.com> Sender: jdawson@oceania.com (John Dawson) Organization: Oceania Health Care Systems References: <1993Aug19.132837.1321@sun0.urz.uni-heidelberg.de> Date: Thu, 19 Aug 1993 21:17:19 GMT In article <1993Aug19.132837.1321@sun0.urz.uni-heidelberg.de> afm@vogon.mathi.uni-heidelberg.de (Andreas Mueller) writes: > Well, this isn't the whole story. Mach is in fact capable of much > more powerful memory sharing then the usual System V shmem interface. My understanding, which I would *love* to have proved wrong, is that this applies only to other versions of Mach; NeXT's Mach doesn't support external pagers. Does it? > There is also an undocumented system call mmap(), used to map files > to memory. If two processes map the same file, they get shared > memory. This works under NeXT Mach? Can you post (or email me) example code? I've love to see this in action. ...jkd -- jdawson@oceania.com (John Dawson) We tend to scoff at the beliefs of the ancients. But we can't scoff at them personally, to their faces, and this is what annoys me.
Newsgroups: comp.sys.next.programmer From: m@BlueRose.com (M Carling) Subject: Re: slow ethernet problem Message-ID: <1993Aug20.001109.22501@BlueRose.com> Sender: m@BlueRose.com Organization: Blue Rose Systems, Inc. References: <1993Aug19.141842.11761@Princeton.EDU> Date: Fri, 20 Aug 1993 00:11:09 GMT In article <1993Aug19.141842.11761@Princeton.EDU> paul@phoenix.Princeton.EDU (Paul Lansky) writes: > > We are testing an IntelGX, with an SMC EtherCard+ Elite16-combo. > > We simply put it in the place of a 68k NeXT running on a local > network. Ethernet speeds between the black machines was in the > range of 300k to 500k bytes per second. With this machine and > card, however, I'm only getting 130k bytes per second. Nothing > else on the network has changed. > > Can somebody tell me what to tweak to get these rates up. This > speed is totally unacceptable. Thanks That's how fast the SMC card runs. The Intel EtherExpress is a bit faster because it has a larger cache. To get performance in the range of black hardware, one needs an EISA ethernet card (which requires NS 3.2). M Carling President, Bay Area NeXT Group
Newsgroups: comp.sys.next.programmer From: wave@pixar.com (Michael B. Johnson) Subject: looking for beta-testers for 3D stuff Message-ID: <1993Aug20.071037.1773@pixar.com> Sender: news@pixar.com (Usenet Newsmaster) Organization: Pixar -- Point Richmond, California Date: Fri, 20 Aug 1993 07:10:37 GMT Hi folks. One thing that I've been disappointed with since 3.0 shipped is the dearth of freeware/shareware/exampleware using the 3DKit. We're beginning to see some useful and well done apps using RenderMan running on NeXTSTEP, but I have yet to see a piece of code that I can get the source to that looks interesting, let alone useful. I think one of the big problems is that the 3DKit assumes you know a bit about 3D CG to begin with, and that you "get" RenderMan, which is a non-trivial undertaking. So, since it's never good to whine without a useful suggestion, I've been writing some code this summer that I'd like share with the net. I've written a collection of objects that I'll be using for my PhD thesis ("WavesWorld: a Parallel, Distributed Testbed for Autonomous Animation") that use the 3DKit. Most visible among them is a WWRIBWell, which is a well which you can drag an arbitrary rib file into and get it parsed into a hierarchy of shapes. This allows you to take output from any of the various commercial modelers, both on the NeXT and other platforms (a majority of modelers on Mac/PC/SGI output RIB) and integrate them in a useful manner into your own app. Best of all, this all runs live inside of IB's "test interface" mode, which makes it way cool. All together I've got thirty something classes in the WW3DKit. One of my metrics of usefulness is that you should be able to write a WorkSpace Inspector for slo and .rib files without writing more than a page of code, and you should be able to assemble the whole UI for it inside of IB. I'm not quite ready to send it out for general consumption, as it's not really ready. Most of the gaping holes will be filled in the next week or so, and I would like to get it in the hands of some other folks for feedback and help. Unfortunately, my experience in sending code out to random net-folks looking for feedback has been spotty at best, so I've had to come up another idea. So... Anybody who wants to get involved, send me mail, and I'll send you NeXTMail with an IBPalette containing my 3D stuff in a week or so. If you can't handle NeXTMail, you're not going to be much of a beta tester, so... Anyway, use the palette and give me some feedback. If you give me some useful feedback, I'll send you the source and consider you a bona-fide beta tester. If you play with it for awhile and don't look at it anymore or think it's stupid or send me inane mail, no hard feelings, but I won't send you any more code. I plan to release this stuff sometime in September either way, as that's when I'm back at the MIT Media Lab and they own what I do. I'll probably release the whole thing as a shareware thing, where you can use it for really cheap, or you can send me a slightly bigger check and I'll send you the source. So - anybody interested? -- --> Michael B. Johnson -- wave@media.mit.edu, wave@pixar.com --> MIT Media Lab -- Computer Graphics & Animation Group --> P*I*X*A*R -- IceMan Group (for the summer)
From: schnee@sst170.ncsl.nist.gov (Rick Schneeman) Newsgroups: comp.sys.next.programmer Subject: Is there a Command Line Interface .... Message-ID: <22629@durer.cme.nist.gov> Date: 20 Aug 93 12:07:29 GMT Sender: news@cme.nist.gov I am deciding whether or not to get an evaluation kit for NeXTSTEP 3.1 but I would like to know if within the GUI, does the capability to open up a command line interface window to the BSD/Mach system exist or has the NS environment gone completely graphical. I remember on the cube's version you had this capability. The reason being obviously UNIX people want direct access to the OS for a variety of reasons, I just want to make sure this is still possible. Any info would be appreciated.... -- ============================================================================= Richard D. Schneeman rschneeman@nist.gov National Institute of Standards and Technology (NIST) Computer Systems Lab, Technology Building, MS-B266 Gaithersburg, MD 20899 USA =============================================================================
From: max@Kolmogorov.gac.edu (Max Hailperin) Newsgroups: comp.sys.next.programmer Subject: Re: Clipping Text in a box nicely... Date: 20 Aug 93 08:51:21 Organization: Gustavus Adolphus College, St. Peter, MN Message-ID: <MAX.93Aug20085121@Kolmogorov.gac.edu> References: <24rbnl$lqo@digifix.digifix.com> <1324@rtbrain.rightbrain.com> In-reply-to: glenn@rightbrain.com's message of 19 Aug 93 21:55:00 GMT I'm afraid I'm going to have to vent my natural urges as a computer science professor to grade papers on the posters of this group, since my own students don't return to campus for a couple more weeks. If you don't care about orders of growth, efficiency, search, etc., skip this. I know that two of the three posters used smileys, but I'm going to go ahead and pick on them anyhow. In article <1324@rtbrain.rightbrain.com> glenn@rightbrain.com (Glenn Reid) writes: [whole discussion deleted] If you're going to use "getWidthOf:", at least make it a binary search instead of a linear search, so you don't take the width of all the substrings in the string every time (which is order N!). No, it isn't. (As an aside, I'm assuming you really mean to say not "substrings" but rather "prefixes".) It is order N^2. [N + (N-1) + (N-2) + ... + 1 = N(N+1)/2.] N^2 grows *much* more slowly than N!. Look at the whole string, then half the string, then 3/4 of the string, etc. We then here from Denise Blakeley <blake015@mc.duke.edu>: I'm pretty sure he meant 1/4. :-) No, it could be either 1/4 or 3/4, depending on whether half the string fit or not. If it fit, then the next thing to try is 3/4, to see if you can get more of it to fit. Finally, from Eric P. Scott <eps@futon.SFSU.EDU>: When you're looking up a name in a telephone directory, do you always start in the middle of the book? :-) Phone books aren't comparable, because there is the ability to use indexing and interpolation (we all know that "Scott" must be in the back half of the book, unless San Francisco has an *extremely* skewed distribution of names, wheras we presumably don't know a priori where the truncation point in the string is likely to be).
Newsgroups: comp.sys.next.programmer From: drew@fnbc.com (Drew Davidson) Subject: Re: Clipping Text in a box nicely... Message-ID: <1993Aug20.140134.3214@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA References: <19362@news.duke.edu> Date: Fri, 20 Aug 93 14:01:34 GMT In article <19362@news.duke.edu> blake015@mc.duke.edu (Denise Blakeley) writes: > Glenn Reid writes > > Look at the whole string, then half the string, then 3/4 of the string, etc. > ^^^ > I'm pretty sure he meant 1/4. :-) > > Denise > -- > Denise Blakeley | PROGRAM, tr. v., An activity similar > Duke Med Center Info Systems | to banging one's head against a wall, > Durham, NC | but with fewer opportunities for > (919) 282-6468 W | reward. > blake015@mc.duke.edu | No, he meant 3/4. If 1/2 fits, then check half the distance between 1/2 and 1/1 = 3/4. If that works, then repeat the process until necessary. -- +--------------------------------+-------------------------------------------+ | Drew Davidson | "Never ask a programmer if he'll have | | Software Guy | another cup of coffee because it's | | First National Bank of Chicago | nobody's damn business how much he's | | drew@fnbc.com (NeXTmail) | already had!" - me | +--------------------------------+-------------------------------------------+
Newsgroups: comp.sys.next.programmer From: drew@fnbc.com (Drew Davidson) Subject: Re: Clipping Text in a box nicely... Message-ID: <1993Aug20.141900.3998@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA References: <1993Aug20.140134.3214@fnbc.com> Date: Fri, 20 Aug 93 14:19:00 GMT [deleted] > If 1/2 fits, then check half the distance between 1/2 and 1/1 = 3/4. If that > works, then repeat the process until necessary. ^^^^^ I think I meant "as" here. Sorry about following up to my own post, but I had to correct that.
Newsgroups: comp.sys.next.programmer From: cary@fiu.edu (Cary Bakker) Subject: PS question. Organization: Florida International University, Miami Date: Fri, 20 Aug 1993 18:18:33 GMT Message-ID: <CC2LIy.H0o@fiu.edu> Sender: news@fiu.edu (Usenet Administrator) I have a bunch of points that I am connecting with lines in order to draw a picture. There are several groups of lines, and some but not all of them begin and end at the same point, making a closed path(I guess). I was under the impression that _closepath_ and _fill_ would link the beginning of the line to the end of the line and consequently fill the path with whatever color is set, respectively. If I use lineto between the points, I end up with lines (obviously), but it doesn't fill the path. If I use moveto, the fill colors the points, and that is what I end up with -points. In neither case does it connect the first point with the last as I thought _closepath_ would. Anyone know how to connect random (meaning no regular patern) points and fill the area inside those points with a color? Must be pretty simple, but I'm still learning. Thanks for the help, and please respond if you have any other advice. Cary A. Bakker. You can send nextmail to : bakker@spot.aoml.erl.gov
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: Re: PS question. Message-ID: <CC2IDz.My@news2.cis.umn.edu> Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Hospital and Clinic, Labratory Information Services References: <CC2LIy.H0o@fiu.edu> Date: Fri, 20 Aug 1993 17:03:16 GMT check out the 'fill' operator. you may want to use it after your 'closepath' peter Cary Bakker (cary@fiu.edu) wrote: ... : I was under the impression that _closepath_ and _fill_ would : link the beginning of the line to the end of the line and consequently : fill the path with whatever color is set, respectively. : Cary A. Bakker. : You can send nextmail to : bakker@spot.aoml.erl.gov -- There's one thing you know about a small town -- it's that you know that you've got to get out. (Lou Reed, J.J. Cale) peter@tahiti.umhc.umn.edu (Peter Eisch)
Newsgroups: comp.sys.next.programmer From: dean@world.std.com (Dean S Banfield) Subject: Re: Is there a Command Line Interface .... In-Reply-To: schnee@sst170.ncsl.nist.gov's message of 20 Aug 93 12:07:29 GMT Message-ID: <DEAN.93Aug20131948@world.std.com> Sender: dean@world.std.com (Dean S Banfield) Organization: The World Public Access UNIX, Brookline, MA References: <22629@durer.cme.nist.gov> Date: Fri, 20 Aug 1993 18:19:48 GMT You can open a terminal window and perform native unix activities. Emacs and the GNU suite are there for you as well as the vi editor, uucp and all the native unix tools you'd expect. In addition, all the object development activities *can* be carried out in line mode, as the gcc compiler has been shipped to deal with C (ANSI), C++, and Objective-C. You'll enjoy the GUI wrapping and trappings though. Go for it! -Dean -- Dean S. Banfield Voice: (203) 656-1500 Real Decisions Corporation FAX : (203) 656-1659 22 Thorndal Circle email: dean@world.std.com Darien, CT 06820
Newsgroups: comp.sys.next.programmer From: jfr@aspen.pdh.com (Jon F. Rosen) Subject: Another quick one! Makefile Preambles and Postambles Message-ID: <CC2K73.5tz@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. Date: Fri, 20 Aug 1993 17:49:50 GMT Thanks to the net for the help on including Mail directly in an app. MailComposer looks like one good approach and Andy Stone came through with a direct-coded approach. Here's another quick one. Is there a way to get Project Builder to automatically include a Makefile.preamble in a subproject when it is built? The more general problem is getting header files from the parent project to be shared among subprojects. This does not seem to come for free with the regular Makefile included for a subproject. We have placed a Makefile.preamble in our subproject with adds a CFLAGS -I ../ to get the parent directory header files automatically searcbed but we have to add this .preamble manually every time we build a new subproject. I looked in the Project Builder .app directory and found something called Subproject.table which has a line MAKEFILE = "subproj.make" and I assume this tells PB to find subproj.make in the NextDeveloper/Makefiles directory. Is the a comparable line that can be added to the Subproject.table which will get a .preamble added also? If you have another solution for this issue, I wouldn't mind hearing it also. Thanks for the help and I will post a summary if it looks interesting. Jon Rosen
Newsgroups: comp.sys.next.programmer From: rseguine@buckeye.mitre.org (Roy SeGuine) Subject: Adding Services (Listener/Speaker) Message-ID: <1993Aug20.185043.8066@linus.mitre.org> Keywords: services Sender: news@linus.mitre.org (News Service) Organization: The MITRE Corporation Date: Fri, 20 Aug 1993 18:50:43 GMT We are trying to add an app (Acronym.app) as a service to another app (Nascat.app) both developed in house. The concept would be very similar to the way Webster works with Cmd = but we are stuck. - Background The Acronym.app has been placed into LocalApps and been advertised to the Workspace Manager. The Makefile.preamble has the correct LDFLAGS set. - Question >From what I can gather, we must now implement a method in the Service delegate?. I tried looking at the AtYourService and GraphService examples but they seem too specific and am having trouble relating them to our project. This is where we got lost. Do we need to set up a Listener as described in NeXT Developer man pages? Is it really all this complicated? --- Roy SeGuine NeXT Cyberspace Architect Internet:rseguine@buckeye.mitre.org
Newsgroups: comp.sys.next.programmer From: spagiola@frinext.stanford.edu (Stefano Pagiola) Subject: Re: Where to find CVS/RCS? Message-ID: <1993Aug20.212122.29252@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: Stanford University References: <1993Aug10.224340.24737@galileo.physics.arizona.edu> Date: Fri, 20 Aug 93 21:21:22 GMT Ralph Zazula writes > Could someone point me to a NeXTified version of CVS? OK. Time to reveal my ignorance. What is this CVS that has suddenly generated a flurry of posts? -- - Stefano Pagiola Food Research Institute, Stanford University spagiola@leland.stanford.edu (NeXTMail encouraged) spagiola@FRI-nxt-Pagiola.stanford.edu (NeXTMail encouraged)
From: slv0y@cc.usu.edu Newsgroups: comp.sys.next.programmer Subject: Appkit bug...or me? Message-ID: <1993Aug20.134854.71410@cc.usu.edu> Date: 20 Aug 93 13:48:53 MDT Organization: Utah State University My app is getting stuck in an infinate loop and I'm not sure if it is me (probably) or something the appkit may be doing. Here is the scenario: Controller object displays a panel with button that allows a user to move back and forth within a flat file database (ala indexing kit). The forward and backwards button are "continuous" buttons. (You hold it down instead of having to keep hitting it). All this is set up in IB. If a certain record cannot be read (because it has been deleted), it brings up an alert panel giving an error. The problem is, the button keeps thinking its being held down and as a result when the alert panel is "OKed" it returns, another error happens, and so on and so on... How do I tell the button that it isn't being held down anymore when it thinks it is? Why does't the button know it isn't being held down when the active window changes to the alert panel? Very strange...any help would be appreciated. John Zollinger slv0y@cc.usu.edu
Newsgroups: comp.sys.next.programmer From: Bob_Vadnais@pdh.com (Bob Vadnais) Subject: Re: CVS and nib (was Re: RCS and binary files) Message-ID: <CC2zxu.9L7@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. References: <19134@news.duke.edu> Date: Fri, 20 Aug 1993 23:29:53 GMT In article <19134@news.duke.edu> blake015@mc.duke.edu (Denise Blakeley) writes: > > As Paul Kunz pointed out, Art Isbell's postamble is available > from the archive sites. Robert Thille's palette is not > publicly available yet; however a couple of folks are working > on making it presentable for public consumption and I > anticipate hearing from them this week. If you just can't > wait for the more finished version, Robert is probably > willing to send it to you (that's why I made sure to mention > his e-mail address!) or I can send it to you. About two months ago, I wrote a (very simple) IB palette that does this sort of thing. I corresponded with Robert Thille about it (since I heard the general approach second hand from him), but never got around to sprucing it up for public consumption. Since this is my last day of employment at PDH and I'll probably never get around to it, I've uploaded my CVS palette source to cs.orst.edu:/pub/CVSPalette.tar.Z. Nothing fancy, but "it just works." 8-) Cheers, Bob -- Bob_Vadnais@pdh.com (NeXT Mail welcome) PDH Inc., 2635 North First Street Suite 224, San Jose, CA 95134-2034 Voice: (408)428-9596 Fax: (408)428-9599
From: ramesh@bodhi.esys.cwru.edu (Ramesh Dodamani) Newsgroups: comp.sys.next.programmer Subject: NXBundle Question Date: 21 Aug 1993 03:02:40 GMT Organization: Case Western Reserve University, Cleveland, Ohio (USA) Message-ID: <25438g$2l0@usenet.INS.CWRU.Edu> Hello I am trying to load a nib file from a bundle which is in my main app wrapper. The following is the piece of code: - loadBundle:sender { char path[MAXPATHLEN+1]; NXBundle *bundle; bundle = [[NXBundle alloc] initForDirectory: "/usr/mars/Test/Test1.app/TestBundle.bundle" ]; [bundle getPath:path forResource:"TestBundle1" ofType:"nib"]; printf("Path = %s\n",path); [NXApp loadNibFile:path owner:self withNames:YES]; return self; } The TestBundle1.nib is present in the English.lproj under TestBundle.bundle. NXBundle doesn't seem to find the nib file. The path that gets printed is: /usr/mars/Test/Test1.app/TestBundle.bundle Could somebody point out what is it that I am doing wrong? Thanks Ramesh
Newsgroups: comp.sys.next.programmer From: henry@trilithon.com (Henry McGilton) Subject: Re: PS question. Message-ID: <1993Aug21.173947.15451@trilithon.com> Sender: henry@trilithon.com Organization: Trilithon Software References: <CC2LIy.H0o@fiu.edu> Date: Sat, 21 Aug 1993 17:39:47 GMT In article <CC2LIy.H0o@fiu.edu> cary@fiu.edu (Cary Bakker) writes: * I have a bunch of points that I am connecting with lines * in order to draw a picture. * There are several groups of lines, and some but not all of * them begin and end at the same point, making a closed path(I guess). A sequence of lines, one of which ends at the same place as the starting point of the first, does not constitute a closed path in PostScript. Such points are congruent only by coincidence. * I was under the impression that _closepath_ and _fill_ * would link the beginning of the line to the end of the line * and consequently fill the path with whatever color is set, * respectively. closepath will indeed ``close a path'', in the sense that the last point is joined to the first point. fill performs an implicit closepath but only for the purpose of making a closed shape for filling. * If I use lineto between the points, I end up with lines * (obviously), but it doesn't fill the path. If I use moveto, * the fill colors the points, and that is what I end up with * -points. In neither case does it connect the first point * with the last as I thought _closepath_ would. * Anyone know how to connect random (meaning no regular * patern) points and fill the area inside those points with * a color? To obtain a closed shape, you must construct it with path operators such as moveto, lineto, arc, arcto, curevto, and so on. These sections of code illustrate the ideas of lines, fills, and closepaths. Run this in YAP and see the differences. %!PS % % Draw two sides of a triangle, explicitly close the path. % Fill with gray, and stroke with a fat line. All sides are % drawn, and the lines are joined correctly. % gsave % save graphics state 0 528 translate % set origin 150 50 moveto % set initial point 306 220 lineto % draw left side of triangle 462 50 lineto % draw right side of triangle closepath % finish the shape gsave % save graphics state 0.5 setgray fill % fill the area grestore % restore graphics state 20 setlinewidth stroke % stroke with fat line grestore % restore graphics state % % Draw two sides of a triangle, but don't close the path. % Fill with gray, and stroke with a fat line. Only two sides are % drawn. The path is implicitly closed for filling, but the % last point is not implicitly joined to the first for stroking, % so only two sides are drawn. % gsave % save graphics state 0 264 translate % set origin 150 50 moveto % set initial point 306 220 lineto % draw left side of triangle 462 50 lineto % draw right side of triangle gsave % save graphics state 0.5 setgray fill % fill the area grestore % restore graphics state 20 setlinewidth stroke % stroke with fat line grestore % restore graphics state % % Draw three sides of a triangle, but don't close the path. % Fill with gray, and stroke with a fat line. All three lines are % drawn. The path is implicitly closed for filling, but the % last point is not implicitly joined to the first for stroking, % and notice the ``notch'' where the lines are not correctly joined. % 150 50 moveto % set initial point 306 220 lineto % draw left side of triangle 462 50 lineto % draw right side of triangle 150 50 lineto % draw bottom of triangle gsave % save graphics state 0.5 setgray fill % fill the area grestore % restore graphics state 20 setlinewidth stroke % stroke with fat line showpage % display the page These topics are covered extensively in ``PostScript by Example'', by Mary Campione and Henry McGilton, published by Addison Wesley, ISBN 0-201-63228-4. Available in good bookstores. 640 pages, around 500 examples, and 750 pictures. ``PostScript by Example'' is a tutorial -- you could think of it as an upgrade to the venerable Blue Book. It's the first (and as far as we can tell, the only) *tutorial* to provide extensive coverage of PostScript Level Two. It starts at the novice level and then devotes a chapter to patterns and pattern color spaces, a chapter to forms, half a chapter to composite fonts, and covers Level Two color issues as well as Level Two rectangle operators. Chapter topics (a complete list of all topic headings is 300 lines and too long to include here). 1. Introducing PostScript 2. Paths and Painting 3. Text 4. Transformations 5. PostScript Language 6. Line Weights and Line Styles 7. Arcs and Curves 8. Clipping 9. Images 10. Fonts 11. Patterns 12. Forms 13. Color and Halftones 14. PostScript Nine to Five A. Further Reading PostScript code from the book (about thirteen thousand lines of PostScript) is available on floppy disk and can be ordered from Trilithon Software. Send E-mail to info@trilithon.com for details. ........ Henry
Newsgroups: comp.sys.next.programmer From: kane@cs.purdue.edu (Christopher Kane) Subject: Re: NXBundle Question Message-ID: <CC4nnt.K2r@mentor.cc.purdue.edu> Sender: news@mentor.cc.purdue.edu (USENET News) Organization: Purdue University References: <25438g$2l0@usenet.INS.CWRU.Edu> Date: Sat, 21 Aug 1993 20:59:53 GMT In article <25438g$2l0@usenet.INS.CWRU.Edu> ramesh@bodhi.esys.cwru.edu (Ramesh Dodamani) writes: > I am trying to load a nib file from a bundle which is in my main app > wrapper. The following is the piece of code: > > - loadBundle:sender > { > char path[MAXPATHLEN+1]; > NXBundle *bundle; > bundle = [[NXBundle alloc] initForDirectory: > "/usr/mars/Test/Test1.app/TestBundle.bundle" ]; > [bundle getPath:path forResource:"TestBundle1" ofType:"nib"]; > printf("Path = %s\n",path); > [NXApp loadNibFile:path owner:self withNames:YES]; > return self; > } > > The TestBundle1.nib is present in the English.lproj under > TestBundle.bundle. > > NXBundle doesn't seem to find the nib file. > The path that gets printed is: /usr/mars/Test/Test1.app/TestBundle.bundle You don't say whether or not you are having a problem with an _installed_ version or not. The obvious problem then would be that the path is all wrong. As long as the bundle is "under" main bundle, use [[NXBundle mainBundle] directory] to get the path to that bundle, rather than hard-coding a path: - loadBundle:sender { char path[MAXPATHLEN+1]; NXBundle *bundle; sprintf(path, "%s/TestBundle.bundle", [[NXBundle mainBundle] directory]); bundle = [[NXBundle alloc] initForDirectory:path]; if (bundle==nil) // for debugging fprintf(stderr, "bundle is nil\n"); if ([bundle getPath:path forResource:"TestBundle1.nib" ofType:NULL]) { [NXApp loadNibFile:path owner:self withNames:NO]; fprintf(stderr, "got path: '%s'\n", path); // debugging } else // for debugging fprintf(stderr, "could not get path\n"); return self; } I also usually give the .nib extension explicitly, and pass NULL as the last parameter, but unless there is a bug in the NXBundle class, this should not be your problem. Also, check that English is in your System Language default (`dread -o System`). Other than that, I cannot see what problem you are having. Christopher J. Kane kane@cs.purdue.edu
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Memory, memory, who's got the memory? Message-ID: <1993Aug22.030610.24763@csus.edu> Sender: news@csus.edu Organization: San Francisco State University Date: Sun, 22 Aug 1993 03:06:10 GMT Here's a VM map for user tasks under NEXTSTEP 3.1/m68k. This information primarily comes from running otool(1) against the shared libraries and sorting by segment addresses. I'm [only slightly :-)] curious how other architectures (e.g. i486) compare. [Trivia: in 3.0, there was a conflict between the Phone Kit and the Indexing Kit.] -=EPS=- ------- 0x00000000 .. 0x00001fff ZERO MH_EXECUTE [your application] 0x3f800000 .. 0x03ffffff STAK default; see getrlimit(2) 0x04010000 .. 0x04017fff DATA libsys_s.B.shlib 55 0x04018000 .. 0x0401ffff OBJC libsys_s.B.shlib 55 0x04030000 .. 0x04031fff DATA libNeXT_s.C.shlib 106 0x04080000 .. 0x04081fff DATA libdsp_s.A.shlib 18 0x04090000 .. 0x040b1fff TEXT libdsp_s.A.shlib 18 0x040c0000 .. 0x040cc8bf LKED libdsp_s.A.shlib 18 0x040d0000 .. 0x040d1fff DATA libni_s.A.shlib 22 0x040d2000 .. 0x040d5fff OBJC libni_s.A.shlib 22 0x04100000 .. 0x04109fff TEXT libni_s.A.shlib 22 0x04118000 .. 0x0411a5ef LKED libni_s.A.shlib 22 0x04200000 .. 0x0420ffff DATA libmusic_s.A.shlib 20 0x04210000 .. 0x04227fff OBJC libmusic_s.A.shlib 20 0x04260000 .. 0x04265fff DATA libMedia_s.A.shlib 36 0x04266000 .. 0x0426dfff OBJC libMedia_s.A.shlib 36 0x04270000 .. 0x04271fff DATA libIndexing_s.A.shlib 31 0x04290000 .. 0x04291fff DATA libdbkit_s.A.shlib 64 0x04300000 .. 0x04301fff DATA libnw_s.A.shlib 19 0x05000000 .. 0x050a1fff TEXT libsys_s.B.shlib 55 0x050b0000 .. 0x050eac43 LKED libsys_s.B.shlib 55 0x06000000 .. 0x06157fff TEXT libNeXT_s.C.shlib 106 0x06160000 .. 0x061a1fff OBJC libNeXT_s.C.shlib 106 0x061c0000 .. 0x0622fc63 LKED libNeXT_s.C.shlib 106 0x08000000 .. 0x0807ffff TEXT libmusic_s.A.shlib 20 0x080a8000 .. 0x080d7c13 LKED libmusic_s.A.shlib 20 0x09000000 .. 0x09045fff TEXT libMedia_s.A.shlib 36 0x09050000 .. 0x0906c3b3 LKED libMedia_s.A.shlib 36 0x0a000000 .. 0x0a055fff TEXT libIndexing_s.A.shlib 31 0x0a080000 .. 0x0a08dfff OBJC libIndexing_s.A.shlib 31 0x0a0a0000 .. 0x0a0b3acf LKED libIndexing_s.A.shlib 31 0x0b000000 .. 0x0b031fff TEXT libdbkit_s.A.shlib 64 0x0b034000 .. 0x0b047b9f LKED libdbkit_s.A.shlib 64 0x0b800000 .. 0x0b813fff OBJC libdbkit_s.A.shlib 64 0x0c000000 .. 0x0c025fff TEXT libnw_s.A.shlib 19 0x0c070000 .. 0x0c078deb LKED libnw_s.A.shlib 19
From: zeno@abstractsoft.com (Sean T. Lamont) Newsgroups: comp.sys.next.programmer Subject: Re: another shared library problem Date: 22 Aug 1993 03:43:21 GMT Organization: Abstract Software Message-ID: <256q0p$ffk@news.u.washington.edu> References: <1993Aug13.144515.1612@afs.com> <1993Aug16.200629.940@pixar.com> >> I still want shared libraries, though. >> > >So do I. The above suggestion might solve problem number 1 (having to link >the same library against multiple bundles), but it doesn't solve my other >problem (having a copy of the same library (dynamically) linked in >Workspace.app, IB, my random apps...). > Would using distributed objects solve this, if even in a minor way? I admit, the bandwidth of sending data over some sort of local network is nontrivial, but if you did this carefully I think you could minimize the redundant copies of a single object. -- Sean T. Lamont | Ask me about the WSI-Fonts Abstract Software | Professional collection for NeXT lamont@abstractsoft.com |____________________________________
Newsgroups: comp.sys.next.programmer From: pfkeb@kaon.SLAC.Stanford.EDU (Paul F. Kunz) Subject: Re: Where to find CVS/RCS? In-Reply-To: zazula@soliton.physics.arizona.edu's message of Tue, 10 Aug 1993 22:43:40 GMT Message-ID: <PFKEB.93Aug22081133@kaon.SLAC.Stanford.EDU> Sender: news@unixhub.SLAC.Stanford.EDU Organization: Stanford Linear Accelerator Center References: <1993Aug10.224340.24737@galileo.physics.arizona.edu> Date: Sun, 22 Aug 1993 15:11:34 GMT >>>>> On Tue, 10 Aug 1993 22:43:40 GMT, zazula@soliton.physics.arizona.edu (Ralph Zazula) said: > Could someone point me to a NeXTified version of CVS? Does > one need an updated RCS to go along with it? CVS is at prep.ai.mit.edu and it's mirrors. Yes, you should get the latest RCS at the same site to go along with it and GNU diff as well. > Finally, is there a collection of NeXT-specific CVS usage > information? On the NeXT archive sites, get cvs.postamble for explanation and fix of problem with InterfaceBuilder. At cs.orst.edu, there's also CVSPalette which provides another fix to the problem. For those who ask: "what is CVS?". CVS is a front end to RCS. It handles you whole project rather then file by file, that is, it decends into each subdirectory looking for files to check in/out. The latest version of RCS handles binary files, so your nibs will be taken care of correctly. -- Paul F. Kunz Paul_Kunz@slac.stanford.edu (NeXT mail ok) Stanford Linear Accelerator Center, Stanford University Voice: (415) 926-2884 (NeXT) Fax: (415) 926-3587
Newsgroups: comp.sys.next.programmer From: greg@afs.com (Gregory H. Anderson) Subject: Re: another shared library problem Message-ID: <1993Aug22.183313.17296@afs.com> Sender: greg@afs.com References: <256q0p$ffk@news.u.washington.edu> Date: Sun, 22 Aug 1993 18:33:13 GMT In article <256q0p$ffk@news.u.washington.edu> zeno@abstractsoft.com (Sean T. Lamont) writes: > >> I still want shared libraries, though. > > > > So do I. The above suggestion might solve problem number 1 (having to > > link the same library against multiple bundles), but it doesn't solve > > my other problem (having a copy of the same library (dynamically) > > linked in Workspace.app, IB, my random apps...). > > Would using distributed objects solve this, if even in a minor way? I > admit, the bandwidth of sending data over some sort of local network is > nontrivial, but if you did this carefully I think you could minimize the > redundant copies of a single object. No. It's not the *objects* whose impact you're trying to minimize, it's the compiled code that runs them. Every application has its own private PrintPanel object instance. But the compiled *code* for the PrintPanel class is mapped into a single virtual memory page that is shared by all applications. That's the benefit of shared libraries. -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: westes@netcom.com (Will Estes) Subject: Deciding Between UNIXWARE And NeXTSTEP? Message-ID: <westesCC6ELA.77I@netcom.com> Organization: Mail Group Date: Sun, 22 Aug 1993 19:39:09 GMT I am interested in getting information from others about the relative costs and merits of UNIXWARE versus NeXTSTEP as a general-purpose UNIX machine. Specifically, the requirements are: - support for SMTPD - support for standard UNIX mailers like elm - support for POP3 servers - support for IMAP servers - support for INND news server - support for generic UNIX x-clients - support for Motif x-clients - support for generic UNIX development tools like gcc/awk/sed/perl, etc. etc. I gather that UNIXWARE is the more standard UNIX-based architecture, but that many of these tools have not been ported yet. What about NeXTSTEP? It's proprietary nature is both a plus and a minus, but if all of the above already exist and are stable there this might not be as big an issue. Which of the environments presents a bigger porting challenge for a typical UNIX command-line or x-based application? -- Will Estes Internet: westes@netcom.com
Newsgroups: comp.sys.next.programmer From: gerben@rna.indiv.nluug.nl Subject: Re: Where to find CVS/RCS? (Plus patch) Message-ID: <1993Aug22.212603.904@rna.indiv.nluug.nl> Sender: gerben@rna.indiv.nluug.nl (Gerben Wierda) Organization: G.R.O.S.S. References: <PFKEB.93Aug22081133@kaon.SLAC.Stanford.EDU> Date: Sun, 22 Aug 1993 21:26:03 GMT In article <PFKEB.93Aug22081133@kaon.SLAC.Stanford.EDU> pfkeb@kaon.SLAC.Stanford.EDU (Paul F. Kunz) writes: > >>>>> On Tue, 10 Aug 1993 22:43:40 GMT, zazula@soliton.physics.arizona.edu (Ralph Zazula) said: > > > > Could someone point me to a NeXTified version of CVS? Does > > one need an updated RCS to go along with it? > > CVS is at prep.ai.mit.edu and it's mirrors. Yes, you should get > the latest RCS at the same site to go along with it and GNU diff as well. Don't forget to patch RCS so it understands that .m files (Obj-C) use // for comments (useful with $Log$) Here is a ptach for rcs-5.6.0.1: *** ci.c.orig Fri Nov 22 16:24:26 1991 --- ci.c Tue Aug 17 17:22:26 1993 *************** *** 652,655 **** --- 652,658 ---- /* fall into */ case 1: + # if bad_utime + Ozclose(&exfile); + # endif if (!(r = setfiledate(newworkfilename,mtime))) { Izclose(&workptr); *** co.c.orig Fri Nov 22 16:24:28 1991 --- co.c Tue Aug 17 17:22:26 1993 *************** *** 422,425 **** --- 422,428 ---- if (!join) aflush(neworkptr); + # if bad_utime + Ozclose(&neworkptr); + # endif r = setfiledate(neworkfilename, newdate); } *** rcsedit.c.orig Fri Nov 22 16:24:38 1991 --- rcsedit.c Tue Aug 17 17:22:27 1993 *************** *** 1394,1398 **** # define mode_while_renaming mode # endif ! if (fromp) { # if has_fchmod if (fchmod(fileno(*fromp), mode_while_renaming) != 0) --- 1394,1398 ---- # define mode_while_renaming mode # endif ! if (fromp && *fromp) { # if has_fchmod if (fchmod(fileno(*fromp), mode_while_renaming) != 0) *** rcsfnms.c.orig Fri Nov 22 16:24:41 1991 --- rcsfnms.c Tue Aug 17 17:22:27 1993 *************** *** 193,196 **** --- 193,197 ---- "lisp",";;; ", /* Lucid Lisp */ "lsp", ";; ", /* Microsoft Lisp */ + "m", "// ", /* Objective C */ "mac", ";; ", /* macro (DEC-10, MS-DOS, PDP-11, VMS, etc) */ "me", ".\\\" ",/* me-macros t/nroff*/ -- Gerben Wierda [NeRD:7539] gerben@rna.indiv.nluug.nl "If you don't know where you are going, any road will take you there." From the Talmud(?), rephrased in Lewis Carroll, "Alice in Wonderland".
From: khare@cco.caltech.edu (Rohit Khare) Newsgroups: comp.sys.next.programmer Subject: Paginating the Text object Date: 22 Aug 1993 23:34:45 GMT Organization: California Institute of Technology, Pasadena Message-ID: <258vqlINNf1u@gap.caltech.edu> Does anyone out there have any canonical Text-pagination code, or pointers to available source? Using -printPSCode for Text, obviously enough, just clips the Text at the page-boundaries. I want my Text-subclass to behave like NroffText in Librarian.app -- when the window (and thus the Text) is wider than the imageable rectangle, the printed text is scaled down horizontally to fit, and the resulting layout has more printed lines vertically (i.e. the View rect is magnified by an appropriate amount. I can't get this to work at all. I have been working off of Sam Streeper's PaginationLab MiniExample, but the printing mechanism is just not clear to me. *Someone* must have solved this problem before. Or is this the R&D we're going to pay Glenn $99 for in ExactlyWrite? :-) Oddly enough, doing things like headers and footers is much easier, using other hooks in the default printing mechanism. Inline footnotes, though, are something I realize I *will* pay good money for. :) Rohit Khare The eText Project Caltech
From: tjhendry@mcs.drexel.edu (Jonathan Hendry) Newsgroups: comp.sys.next.programmer Subject: Strange message Message-ID: <1993Aug22.235716.24883@netnews.noc.drexel.edu> Date: 22 Aug 93 23:57:16 GMT Sender: news@netnews.noc.drexel.edu Organization: Drexel University, Dept. of Math. and Comp. Sci. I'm getting a message which I can't explain. It's "The old exception port is 0x1" It happens when I use gzcat foo | gnutar - ; rm foo. The message didn't appear in any of those binaries (via strings). Any ideas?
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: mark@taylor.uucp (Mark A. Davis) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Organization: Lake Taylor Hospital Computer Services Date: Mon, 23 Aug 1993 00:43:34 GMT Message-ID: <1993Aug23.004334.26476@taylor.uucp> References: <westesCC6ELA.77I@netcom.com> westes@netcom.com (Will Estes) writes: >I am interested in getting information from others about the >relative costs and merits of UNIXWARE versus NeXTSTEP as a >general-purpose UNIX machine. >I gather that UNIXWARE is the more standard UNIX-based architecture, >but that many of these tools have not been ported yet. What about >NeXTSTEP? It's proprietary nature is both a plus and a minus, but >if all of the above already exist and are stable there this might >not be as big an issue. I would veer away from any OS which is non main-stream. It seems Next is going out of their way to produce *YET ANOTHER* flavor of Unix and make it different and incompatible enough to be dysfunctional. I have heard NextStep is great looking and technically competitive, but in a world where Unix vendors should be and are trying to come together, Nt seems to be following the old mentality. I predict their failure unless they pull closer to other Unixes and fast! Does it support COFF? No. Does it support ELF? I don't think so. Who is going to port software to it (especially commercial software), when there are many other ESTABLISHED OS's to be considered first- SCO, Sun, V.4.2, DEC, etc... Applications make or break the OS. And if you are not application driven, then why not consider Linux? It is a lot more mainstream and likely to stay around longer. And it is certanly a whole lot cheaper than NextStep. (EEEK, SCO is cheaper, and it has 1000's of applications and has been around forever). >Which of the environments presents a bigger porting challenge for a >typical UNIX command-line or x-based application? Certainly X. Nextstep doesn't even use this standard Unix windowing system. Did they improve on X? Not really. Is it compatible with X? No. Will there be Next Windows Terminals? No. Did they even build on X? No. This just seems very strange. -- /--------------------------------------------------------------------------\ | Mark A. Davis | Lake Taylor Hospital | Norfolk, VA (804)-461-5001x431 | | Sys.Administrator| Computer Services | mark@taylor.wyvern.com .uucp | \--------------------------------------------------------------------------/
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Message-ID: <Aug23.025415.31923@acs.ucalgary.ca> Date: Mon, 23 Aug 1993 02:54:15 GMT References: <westesCC6ELA.77I@netcom.com> <1993Aug23.004334.26476@taylor.uucp> Organization: The University of Calgary, Alberta > > I am interested in getting information from others about the > > relative costs and merits of UNIXWARE versus NeXTSTEP as a > > general-purpose UNIX machine. > > > > I gather that UNIXWARE is the more standard UNIX-based > > architecture, but that many of these tools have not been > > ported yet. What about NeXTSTEP? It's proprietary nature is > > both a plus and a minus, but if all of the above already > > exist and are stable there this might not be as big an issue. NeXTSTEP provides a pretty standard BSD face, so getting most UNIX tools up an running is pretty straightforward. Are there any in particular you are looking for? Noteworthy problems at this point: Sun's NFS sources have a broken file-locking mechanism, so NeXT's initial approach was to disable it entirely. I haven't heard anything more encouraging since. Also, if you're looking at the Intel version there are certainly problems with the serial port that are temporary in nature. NeXT has a fixed serial driver that is available on a limited basis with a public release scheduled any day now. However, if you need UUCP / SLIP right NOW, NeXTSTEP will disappoint you for another week or two. Despite the proprietary face, NeXTSTEP works well in a standard UNIX environment, so you can take advantage of NeXT-specific features while not sufferring incompatibility with the rest of the world. On the standards side, a straightforward VT100 terminal emulator and TN3270 come bundled, and wonderful emulations are available for a wide variety of other terminal types. Third-party X-Windows packages allow X apps to run side-by-side with NeXTSTEP and provide development tools necessary to write X apps using a NeXTSTEP machine. Despite internal use of NetInfo, NeXT's work fine with YP or NIS in a networked environment. On the NeXTSTEP side: NetInfo is a GREAT network management system once you take the time to learn and understand it. The whole NeXT windowing system is very elegant, based on a unified imaging model using Display PostScript. Having a sophisticated object-oriented development environment is wonderful if you're lucky enough to be able to target NeXTSTEP for deployment, but it works just as well for prototyping and personal productivity apps. Having Objective-C side by side with ANSI-C and C++ bundled in one package (assuming you buy the development tools) is a godsend. > I would veer away from any OS which is non main-stream. Then stick to DOS / Windows. > It seems NeXT is going out of their way to produce *YET > ANOTHER* flavor of Unix and make it different and incompatible > enough to be dysfunctional. They are simply taking a standard UNIX flavour (BSD), putting it on top of a decent kernel architecture (Mach) and extending it where current technology doesn't provide an adequate solution for a system designed to be used by end users (NetInfo). > I have heard NextStep is great looking and technically > competitive, but in a world where Unix vendors should be and > are trying to come together, NT seems to be following the old > mentality. I predict their failure unless they pull closer to > other Unixes and fast! NT? I assume you mean NeXTSTEP. The "coming together" of other vendors is a dream that will never come true. Sure I agree that there should be commonality at some level, but ALL vendors will try to differentiate themselves with additional functionality. Otherwise, why buy one vendor's product over another? The indistinguishable "common UNIX" will never happen. NeXT has given every indication of adopting standards that prove to be important to their users, not every standard that comes along. Hence, their commitment to POSIX, CORBA and DCE. If COSE actually produces something coherent which the market likes, I would suspect NeXTSTEP would migrate to support it. > Does it support COFF? No. Does it support ELF? I don't think > so. I don't know on either front, so I won't address it. Neither has been an issue for me. > Who is going to port software to it (especially commercial > software) ... WordPerfect? Oracle? Sybase? Insignia? Altsys? > ... when there are many other ESTABLISHED OS's to be considered > first-SCO, Sun, V.4.2, DEC, etc... Applications make or break > the OS. I agree, so application vendors will port applications to an environment that appeals to their user base. Many of the environments you refer to appeal to a technical and scientific user base, but don't carry so well in a standard business environment. Why does Sun lose so many financial, government and commercial hardware deals to NeXT? Because NeXT provides an ideal end-user environment (I should know, I was part of TWO such major competitions). > And if you are not application driven, then why not consider > Linux? And you said earlier "I would veer away from any OS which is non main-stream" and "Applications make or break the OS". The original poster asked about NeXTSTEP and UnixWare. > > Which of the environments presents a bigger porting challenge > > for a typical UNIX command-line or x-based application? Any command-line or X application designed to compile on a BSD system should have little or no trouble with a NeXTSTEP based system. For X applications you will need a third-party X terminal emulator and development libraries. > Certainly X. Nextstep doesn't even use this standard Unix > windowing system. Check again, NeXTSTEP certainly CAN use the X environment, side-by-side with native applications, it just isn't the standard windowing system under NeXTSTEP. > Did they improve on X? Not really. Care to back that up? Full Display PostScript Level II with device-independant color, an object-oriented development toolset, an end-user oriented environment and a MUCH more consistant look and feel (from Print Panels, Font Panels, Save Panels, Color Panels to menu layout and spell checking, NeXTSTEP applications share an incredible degree of commonality, beyond what you see on the Mac or Windows, never mind X which is a hodge-podge of interfaces). > Is it compatible with X? No. Ahem. Read above, again. > Will there be Next Windows Terminals? No. How can you state this for certain? Like X, NeXTSTEP can redirect input / output to another device on the net. Currently this has to be a NeXTSTEP equipped system, but there is no technical reason why a terminal couldn't be designed. There are no such devices available now. However, NeXTSTEP will run on quite inexpensive PC's. > Did they even build on X? No. This just seems very strange. Given their goals, it certainly does not. Even more so if you consider the state X was in when they originally evaluated it (what, 1986?). X STILL falls short in areas important to NeXTSTEP's designers. -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
Newsgroups: comp.sys.next.programmer From: gordie@cyclesoft.com (Gordie Freedman) Subject: Re: Paginating the Text object Message-ID: <1993Aug23.093816.3392@netcom.com> Sender: gordie@netcom.com Organization: Cyclesoft Media Works References: <258vqlINNf1u@gap.caltech.edu> Date: Mon, 23 Aug 1993 09:38:16 GMT In article <258vqlINNf1u@gap.caltech.edu> khare@cco.caltech.edu (Rohit Khare) writes: > Does anyone out there have any canonical Text-pagination code, or > pointers to available source? > > Using -printPSCode for Text, obviously enough, just clips the Text at the > page-boundaries. I want my Text-subclass to behave like NroffText in > Librarian -- when the window (and thus the Text) is wider than the imageable > rectangle, the printed text is scaled down horizontally to fit, and the > resulting layout has more printed lines vertically (i.e. the View rect is > magnified by an appropriate amount. > You may already know this part: When you open a doc into a text window, you want to set the size to the size specified in the rtf file itself. Have the delegate for the text object perform the following method (which gets called when the text is being read in with "[text readRichText:stream];" - textDidRead:sender paperSize:(NXSize*) psize { // assumes you are tracking the size in an NXSize // called pageSize (i.e. an instance var in text delegate) pageSize.width = psize->width; pageSize.height = psize->height; return self; } After the readRichText, set the window's size (assumes the text object is in a scrollview named "ScrollView", and in a window named "textWindow"): NXSize size; [scrollView getContentSize:&size]; // See prev note about pageSize [textWindow sizeWindow:pageSize.width+NX_SCROLLERWIDTH :size.height]; // Use pageSize.height if you want, in this example I am not // changing the height ... Then, when the text object is printing (during printPSCode), have its delegate implement this method, to scale to fit the pagination: - (BOOL) shouldRunPrintPanel:aView { // Better yet - pinfo is instance var in delegate set // in appDidInit id pinfo = [NXApp printInfo]; NXCoord left, right, top, bottom; // Change the margins to look a little nicer [pinfo getMarginLeft:&left right:&right top:&top bottom:&bottom]; [pinfo setMarginLeft:left*0.8 right:right*0.7 top:top*0.9 bottom:bottom*0.9]; // Set things up so it scales the text window down to the page size [pinfo setHorizPagination:NX_FITPAGINATION]; // Return NO if you want to skip the print panel and do whatever // it did last (preview, save PS, print, fax, etc.) return YES; } NOTE: There may be a bug here, in that you have to reset the margins in the pinfo, else each time you print they get smaller and smaller - I'm just not sure where to do this. Most likely you would save the margins in instance vars for the delegate (which in my case is what called printPSCode in the first place), and than reset them: [text printPSCode:self]; [pinfo setMarginLeft:savedleft right:savedright top:savedtop bottom:savedbottom]; Also, if you want to track the size of the text window when the user resizes it (you do) and save the size when the text is written into an rtf stream (you might), implement these in the delegate (see prev note about pageSize): - windowDidResize:sender { NXSize size; [scrollView getContentSize:&size]; pageSize.width = size.width; pageSize.height = size.height; // This is so the text view remakes its cursorRects, and the // cute ibeam will take up the new size of the // text window (without this, you get the arrow // mouse cursor in the new larger size of the text view [textWindow invalidateCursorRectsForView:text]; return self; } - textWillWrite:sender paperSize:(NXSize*) psize { psize->width = pageSize.width; psize->height = pageSize.height; return self; } Finally, if you noticed the comment for the invalidateCursorRectsForView, you may need to implement a category of the text object and put this in it (or in a subclass of the text object) - you might not need it, its too late to recompile and see if it works without it! - resetCursorRects { NXRect rect; [self getFrame:&rect]; [self addCursorRect:&rect cursor:NXIBeam]; return self; } -- >>> Gordie Freedman -> gordie@cyclesoft.com NeXTMail Yes! >>> Thou shalt not inline functions more complicated than 20
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: duane@shell.portal.com (Duane Takamine) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Message-ID: <CC7L5B.8Hz@unix.portal.com> Sender: news@unix.portal.com Organization: Portal Communications Company -- 408/973-9111 (voice) 408/973-8091 (data) References: <westesCC6ELA.77I@netcom.com> <1993Aug23.004334.26476@taylor.uucp> Date: Mon, 23 Aug 1993 10:58:21 GMT In article <1993Aug23.004334.26476@taylor.uucp> mark@taylor.uucp (Mark A. Davis) writes: >westes@netcom.com (Will Estes) writes: > >>I am interested in getting information from others about the >>relative costs and merits of UNIXWARE versus NeXTSTEP as a >>general-purpose UNIX machine. > >>I gather that UNIXWARE is the more standard UNIX-based architecture, >>but that many of these tools have not been ported yet. What about >>NeXTSTEP? It's proprietary nature is both a plus and a minus, but >>if all of the above already exist and are stable there this might >>not be as big an issue. > >I would veer away from any OS which is non main-stream. It seems Next is >going out of their way to produce *YET ANOTHER* flavor of Unix and make it >different and incompatible enough to be dysfunctional. Actually, I think they simply feel that the Unix level is not as important as others do. Most users interact with the NS GUI environment, which is where they are putting most of their effort (and of course altering the kernel to support any changes they want to make at the NS GUI level). However, for the most part, the differences between NeXT Unix and any other tend to be more annoying than crippling. I would not call it dysfunctional. > >I have heard NextStep is great looking and technically competitive, but in >a world where Unix vendors should be and are trying to come together, Nt >seems to be following the old mentality. I predict their failure unless >they pull closer to other Unixes and fast! I agree that as a long term goal, NeXT should make their Unix layer conform to whatever the final, final, final version of Unix becomes. I am not as convinced as many others that that Unix is "obviously" this or "obviously" that, and even SVR4 is evolving (not radically, of course). So conforming is not just a simple task in and of itself, given the resources available to Next. Their focus is with their prime technology. The most "great looking" and "technically competitive" portions of NS have little or nothing to do with Unix (the NS environment, IB/PB, object kits, DPS, RenderMan, etc). Your prediction misses the point altogether. NeXT's fate has nothing really to do with the fate of Unix in general. General acceptance of Unix in the business community can help NeXT, but whether there is unity in the Unix community or not changes nothing with NeXT. Most NeXT apps are not as tightly coupled with the Unix API, and those NeXT-specific apps are really what sell NS. Perhaps you think that NeXT's goals are to capture 25% of the Unix market or maybe all of it. If so, yes they will fail, but most people in the NeXT community and I would think most people at NeXT would consider NeXT a success if they simply achieve successes in several niche markets which are capable of supporting the company and fund advances in the technology. It would be great, from my point of view, if NS was free and preloaded on every system on the planet, but the truth of it is that most people don't currently need all that NS provides, and thus shouldn't have to pay for it. However, many either need or can make productive use of NS technology, and those people should have it. I'd consider that an all around success. > >Does it support COFF? No. Does it support ELF? I don't think so. >Who is going to port software to it (especially commercial software), when >there are many other ESTABLISHED OS's to be considered first- SCO, Sun, >V.4.2, DEC, etc... Applications make or break the OS. I'll take the risk of sounding like a serious NeXT bigot and also of potentially being in great disagreement with lots of NeXT users. My own experience is that given the choice, NeXT users don't want *ports* of software, they want NeXT native software that has the same capabilities and works in comparable fashion, with all of the NeXT goodies added in integrated fashion. In otherwords, Wordperfect is nice to have on the NeXT, but but a written-for-NeXT-from-scratch word processor would probably be much nicer. Yes! Applications make or break an OS. People buy NS because 1) You can write your own custom software much, much faster than on any other platform, and in a business setting, that can be worth serious money. Even reducing development time in half can save several hundred thousand dollars, which pays for NeXTstep, extra memory, gargantuan hard drives, cable tv, the porsche, and a heated pool. 2) Commercial shrink wrapped apps tend to be of higher quality than on other platforms, and are nearly always more powerful, by virtue of running in the NS environment, and by virtue of NS freeing the developer to invest the time and effort to increase the power of their apps. People buy Unixware, or Solaris, or even Windows to run the apps that everyone else runs. People buy NS when they want to run better apps than those, or if the app they need doesn't exist anywhere, and they have to write it themselves. Apps sell all OS's, adn NeXT is no exception. > >And if you are not application driven, then why not consider Linux? >It is a lot more mainstream and likely to stay around longer. And it is >certanly a whole lot cheaper than NextStep. (EEEK, SCO is cheaper, >and it has 1000's of applications and has been around forever). I'll ignore the claim of Linux to be mainstream, and in fact I consider Linux to be a worthy and rather successful effort. BUT, NS has been around for a while now, and blithely stating that Linux has a better chance of staying around than NS is not a fair statement. NS defenders will claim the same ground as the Linux supporters, namely that if NeXT were to disappear tomorrow, many NS users would continue to support the platform to keep it going, and furthermore NS has a head start in many technologies which give NS supporters lots of breathing room before NS becomes obsolete, probably years. > >>Which of the environments presents a bigger porting challenge for a >>typical UNIX command-line or x-based application? > >Certainly X. Nextstep doesn't even use this standard Unix windowing system. >Did they improve on X? Not really. Is it compatible with X? No. >Will there be Next Windows Terminals? No. Did they even build on X? No. >This just seems very strange. This comparing NS to X is really starting to get under my skin. The COMPONENT of NS roughtly equivalent to X is DPS. The NS GUI is built on DPS, and the environment which coexists with the GUI has additional functionality. There is only one reason for supporting X, and that is to allow the running of X apps. Whether or not the NS GUI is itself built on X is totally irrelevant. And you can get X running on NeXT just like any other Unix platform. So this "compatible with X" thing is a completely vaporous criticism, as is "built with X." Now, why did they not build on X, which the poster thinks is strange. I would say that it is a safe bet that more than 100 times the man hours have gone into making simple X dev tools as have gone into making all of NeXTstep combined. Where is IB/PB for X? Either the NS implementation solves a lot of problems which X cannot, or pretty much everyone working outside of NeXT is a moron. Which of these two are you willing to accept? Now, the terminal argumment is valid. There are no DPS terminals, and there doesn't seem to be any on the horizon. Here, though, you are on somewhat philosophical ground. X terminals are popular now, kind of Wang word processors were popular once. That does not mean they will always be so. I never cared for terminals myself. I would prefer to be working in a client-server network where there is a real CPU on my desk. I understand the cost equations that X terminals solve, but personally I think terminals (X or otherwise) are at best a stopgap solution until the compute needs on the desk outstrip terminal capabilities and compute-power prices drop to the point where it is cost effective to buy general CPUs over terminals. Certainly, even now many business situations call for a CPU on every desk, and in those cases, NS power comes in handy. Put it this way, there is no such thing as a Windows 3.1 terminal, or a Mac Quickdraw terminal, but that does not severely hurt those platforms, because that is not the market they are targetting. The market NS targets happens to be those in which lots of power is desired everywhere; power either to process information or to present it in as human friendly a manner as possible (which also often requires serious crunching). There, terminals are useless, and therefore unneeded. Duane -- ----------------------------------------------------------------- Duane Takamine duane@shell.portal.com Island CD Creations Madd Hacker Productions Home of the Sound Site CDROM - nearly 1400 mods on disc
Newsgroups: comp.sys.next.programmer From: squid9!terry (Terry Wilcox) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Message-ID: <1993Aug23.031136.2470@squid9.cuc.ab.ca> Sender: terry@squid9.cuc.ab.ca Organization: Not Really, Inc. References: <1993Aug23.004334.26476@taylor.uucp> Date: Mon, 23 Aug 1993 03:11:36 GMT In article <1993Aug23.004334.26476@taylor.uucp> mark@taylor.uucp (Mark A. Davis) writes: > > I would veer away from any OS which is non main-stream. It seems Next is > going out of their way to produce *YET ANOTHER* flavor of Unix and make it > different and incompatible enough to be dysfunctional. > Any OS which is not main-stream? You mean anything other than DOS right? As an aside, I find Solaris, HP-UX, and IRIX different enough to make me dysfunctional when I try to use all 3 in one day (which is every day :( ). > I have heard NextStep is great looking and technically competitive, but in > a world where Unix vendors should be and are trying to come together, Nt > seems to be following the old mentality. I predict their failure unless > they pull closer to other Unixes and fast! Well there's an original prediction. People have been saying that for years. Fortunately, crystal balls run DOS and are prone to failure. I predict UNIX vendors will come together to stab each other in the back and develop a truly, stupendously mediocre product. > Does it support COFF? No. Does it support ELF? I don't think so. > Who is going to port software to it (especially commercial software), when > there are many other ESTABLISHED OS's to be considered first- SCO, Sun, > V.4.2, DEC, etc... Applications make or break the OS. Is that number of applications or quality of applications? After all, WordPerfect was ported to NEXTSTEP and it was still crap. Just goes to show that original NEXTSTEP apps are far superior to most ported applications. > And if you are not application driven, then why not consider Linux? > It is a lot more mainstream and likely to stay around longer. And it is > certanly a whole lot cheaper than NextStep. (EEEK, SCO is cheaper, > and it has 1000's of applications and has been around forever). Why not consider Linux? Try installing it. If you're not a UNIX weenie, there's no point in trying. Linux is more mainstream? I thought its advantage was that it had no real UNIX code. That would put it on a level with Coherent (acts like UNIX, but isn't). Could you tell me where I can pick up a copy of SCO with development tools for less than $299 ($249 academic)? Even a non-upgradable release? > Certainly X. Nextstep doesn't even use this standard Unix windowing system. > Did they improve on X? Not really. Is it compatible with X? No. > Will there be Next Windows Terminals? No. Did they even build on X? No. > This just seems very strange. The strange part is that people like X. The more I use it, the more I hate it. The sad part is that I have to teach people to use X and tell them how our X based application is so easy to use. I've found that the only way I could improve on X is too kill it and stick with a nice terminal. X is like McDonald's. Everybody eats there, but not many people do it because they like the food. -- Terry Wilcox | Phone : (403) 286-4344 Squids 'R Us | Fax : (403) 286-4533 NeXTmail welcome | Email : terry@squid9.cuc.ab.ca
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: cedman@princeton.edu (Carl Edman) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? In-Reply-To: westes@netcom.com's message of Sun, 22 Aug 1993 19:39:09 GMT To: westes@netcom.com (Will Estes) Message-ID: <CEDMAN.93Aug22173930@capitalist.princeton.edu> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University References: <westesCC6ELA.77I@netcom.com> Date: Sun, 22 Aug 1993 21:39:30 GMT In article <westesCC6ELA.77I@netcom.com> westes@netcom.com (Will Estes) writes: - support for SMTPD Actually, it is sendmail, but it comes with every NeXT and supports SMTP. Yes, this is the same sendmail which transmits mail on a majority of the workstations in the world. - support for standard UNIX mailers like elm All the standard mailers (including elm) compile just fine on NeXTs. - support for POP3 servers - support for IMAP servers - support for INND news server All of these are no problem. - support for generic UNIX x-clients - support for Motif x-clients This is harder. NeXTs as shipped do not run X windows. However, there are several good X servers for the NeXT available ranging in price from free to several hundred dollars. With those compiling X windows programs is just about as much of a problem as on your average X based workstation. - support for generic UNIX development tools like gcc/awk/sed/perl, etc. etc. All of these either come with every NeXT, or can easily be compiled from the sources available on the net. I gather that UNIXWARE is the more standard UNIX-based architecture, but that many of these tools have not been ported yet. No, all NeXTs run BSD 4.3 which is the standard UNIX architecture. While SysV based systems have been approaching that standard with SysVr4 there are still large areas of incompatibility. What about NeXTSTEP? It's proprietary nature is both a plus and a minus, but if all of the above already exist and are stable there this might not be as big an issue. Not quite. It is only the window system on NeXTs which is proprietary. The underlying operating system is just about as standard as they come. Which of the environments presents a bigger porting challenge for a typical UNIX command-line or x-based application? UNIX command-line tools are as easy to compile on NeXTs as on just about any system on the market and more so than most. X based applications compile reasonably easily with the separately available X servers. Porting X based applications to run on NeXTs natively is a formidable task. Ultimately, if you buy a NeXT you are paying mainly for one of the most powerful, efficient and elegant windowing systems and application development environments available today. If you still need to run an occasional X application or display an X window from another machine, the available servers will do an admirable job for you. But if you intend to run only X programs and completely ignore the NeXTstep world, a NeXT is not the optimal machine for you. Carl Edman
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: mark@taylor.uucp (Mark A. Davis) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Organization: Lake Taylor Hospital Computer Services Date: Mon, 23 Aug 1993 13:18:41 GMT Message-ID: <1993Aug23.131841.2625@taylor.uucp> References: <westesCC6ELA.77I@netcom.com> <1993Aug23.004334.26476@taylor.uucp> <Aug23.025415.31923@acs.ucalgary.ca> bstone@acs.ucalgary.ca (Blake Stone) writes: >> > I am interested in getting information from others about the >> > relative costs and merits of UNIXWARE versus NeXTSTEP as a >> > general-purpose UNIX machine. >> > >> > I gather that UNIXWARE is the more standard UNIX-based >> > architecture, but that many of these tools have not been >> > ported yet. What about NeXTSTEP? It's proprietary nature is >> > both a plus and a minus, but if all of the above already >> > exist and are stable there this might not be as big an issue. >NeXTSTEP provides a pretty standard BSD face, so getting most >UNIX tools up an running is pretty straightforward. Are there >any in particular you are looking for? Yeah, and BSD faces are dead- they have been merged into System 5.4.2. >> I would veer away from any OS which is non main-stream. >Then stick to DOS / Windows. Get real. "DOS" / "Windows" is not an OS. Mainstream Unixes are like SCO, Sun, Dec, 5.4.2. >> It seems NeXT is going out of their way to produce *YET >> ANOTHER* flavor of Unix and make it different and incompatible >> enough to be dysfunctional. >They are simply taking a standard UNIX flavour (BSD), putting it >on top of a decent kernel architecture (Mach) and extending it >where current technology doesn't provide an adequate solution for >a system designed to be used by end users (NetInfo). BSD is not longer a standard Unix flavor (boy can I see the flames coming). It has been folded into the now standard Unix flavor- 5.4.2. I am not saying it is better or worse, just not standard now. >> I have heard NextStep is great looking and technically >> competitive, but in a world where Unix vendors should be and >> are trying to come together, NT seems to be following the old >> mentality. I predict their failure unless they pull closer to >> other Unixes and fast! >NT? I assume you mean NeXTSTEP. Yeowch- Yep, I meant NextStep, sorry. (Calling NextStep "NT" is certainly one of the top insults- it was done purely by mistake). >The "coming together" of other vendors is a dream that will never >come true. Sure I agree that there should be commonality at some >level, but ALL vendors will try to differentiate themselves with >additional functionality. Otherwise, why buy one vendor's >product over another? The indistinguishable "common UNIX" will >never happen. I am not suggesting that there will be ONE and only ONE version of Unix; but that the versions will be closer together. IE: no BSD only, no non-X displays, etc... I also am looking for binary compatibility on the same platform over different vendor's versions. The difference in the products can/will be the documentation, drivers, certain non-critial parts of the OS, support, tweaking, included value-added, included applications, package arrangements, pricing, etc, etc, etc... >NeXT has given every indication of adopting standards that prove >to be important to their users, not every standard that comes >along. Hence, their commitment to POSIX, CORBA and DCE. If COSE >actually produces something coherent which the market likes, I >would suspect NeXTSTEP would migrate to support it. Quite possible. >> Does it support COFF? No. Does it support ELF? I don't think >> so. >I don't know on either front, so I won't address it. Neither has >been an issue for me. Then you don't need to run commercial software. >> Who is going to port software to it (especially commercial >> software) ... >WordPerfect? Oracle? Sybase? Insignia? Altsys? Not anytime soon. >> ... when there are many other ESTABLISHED OS's to be considered >> first-SCO, Sun, V.4.2, DEC, etc... Applications make or break >> the OS. >I agree, so application vendors will port applications to an >environment that appeals to their user base. Many of the >environments you refer to appeal to a technical and scientific >user base, but don't carry so well in a standard business >environment. Why does Sun lose so many financial, government and >commercial hardware deals to NeXT? Because NeXT provides an >ideal end-user environment (I should know, I was part of TWO such >major competitions). But that is a fundimental problem I have with the scheme. Nobody can buy into a platform which will sterotypically fit them into some market segment. This has always caused me difficulties in getting all the software we need. >> And if you are not application driven, then why not consider >> Linux? >And you said earlier "I would veer away from any OS which is non >main-stream" and "Applications make or break the OS". The >original poster asked about NeXTSTEP and UnixWare. Linux is mainstream. Just not commercially mainstream. It is completely standard- from using the X interface to the 5.4.2'ish look and feel. It is built on all the common tools we all use such as gcc. >> > Which of the environments presents a bigger porting challenge >> > for a typical UNIX command-line or x-based application? >Any command-line or X application designed to compile on a BSD >system should have little or no trouble with a NeXTSTEP based >system. For X applications you will need a third-party X >terminal emulator and development libraries. >> Certainly X. Nextstep doesn't even use this standard Unix >> windowing system. >Check again, NeXTSTEP certainly CAN use the X environment, >side-by-side with native applications, it just isn't the standard >windowing system under NeXTSTEP. Hmm, OK. >> Did they improve on X? Not really. >Care to back that up? Yes, they improved on displaying and using graphics; not on improving the X window system. >> Did they even build on X? No. This just seems very strange. >Given their goals, it certainly does not. Even more so if you >consider the state X was in when they originally evaluated it >(what, 1986?). X STILL falls short in areas important to >NeXTSTEP's designers. I certainly don't deny that. Just pointing out that with the advent not of lots of X software, X terminals, and such, we are just starting to take advantage of the synergy of X. Kind of hard to throw it away now! Too bad the Display Postscript could not have been an extension of X rather than a replacement. Or at least at the price of Nextstep; it probably should have been included and "side-by-side" for comaptibility. -- /--------------------------------------------------------------------------\ | Mark A. Davis | Lake Taylor Hospital | Norfolk, VA (804)-461-5001x431 | | Sys.Administrator| Computer Services | mark@taylor.wyvern.com .uucp | \--------------------------------------------------------------------------/
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: mark@taylor.uucp (Mark A. Davis) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Organization: Lake Taylor Hospital Computer Services Date: Mon, 23 Aug 1993 13:42:22 GMT Message-ID: <1993Aug23.134222.3748@taylor.uucp> References: <westesCC6ELA.77I@netcom.com> <1993Aug23.004334.26476@taylor.uucp> <CC7L5B.8Hz@unix.portal.com> duane@shell.portal.com (Duane Takamine) writes: >In article <1993Aug23.004334.26476@taylor.uucp> mark@taylor.uucp (Mark A. Davis) writes: >>westes@netcom.com (Will Estes) writes: >> > Actually, I think they simply feel that the Unix level is not as A very, very well written and thought out response. (See my corrections in other postings) (I don't agree with your assesment of Xterminals, but that's OK). Thanks for the insight. >----------------------------------------------------------------- > Duane Takamine duane@shell.portal.com > Island CD Creations Madd Hacker Productions > Home of the Sound Site CDROM - nearly 1400 mods on disc -- /--------------------------------------------------------------------------\ | Mark A. Davis | Lake Taylor Hospital | Norfolk, VA (804)-461-5001x431 | | Sys.Administrator| Computer Services | mark@taylor.wyvern.com .uucp | \--------------------------------------------------------------------------/
From: glenn@rightbrain.com (Glenn Reid) Newsgroups: comp.sys.next.programmer Subject: Re: Re: Clipping Text in a box nicely... Message-ID: <1326@rtbrain.rightbrain.com> Date: 23 Aug 93 14:20:23 GMT References: <1993Aug20.023528.6198@csus.edu> Sender: glenn@rightbrain.com Eric P. Scott writes > In article <1324@rtbrain.rightbrain.com> glenn@rightbrain.com > (Glenn Reid) writes: > >If you're going to use "getWidthOf:", at least make it a binary search > > When you're looking up a name in a telephone directory, do you > always start in the middle of the book? :-) Well, no, but there's nothing inherent in a binary search that says you have to start in the middle. If you know something about the data (which you do in the case of a telephone book) you can start somewhere else, but you typically still bisect the remaining part until you find the number you're looking for. Okay, okay, so I actually go through the phone book singing "A-B-C-D-E-F-G..." to myself, going sequentially, then passing the page I'm looking for, starting over on the "A-B-C" song, turning back a few pages, then swearing and calling 411 instead :-) -- Glenn Reid NeXTmail: glenn@rightbrain.com RightBrain Software 415-326-2974 (NeXTfax 326-2977) Palo Alto, California Electronic Frontier Foundation, member #054
From: swanton@moose.usmcs.maine.edu (George P. Swanton) Newsgroups: comp.sys.next.programmer Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Date: 23 Aug 1993 10:25:33 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9308231525.AA15218@moose.usmcs.maine.edu> [comments about Linux > NS deleted] NS has been around for a while now, and blithely stating that Linux has a better chance of staying around than NS is not a fair statement. NS defenders would claim the same ground as the Linux supporters, namely that if NeXT ^^^^^^ were to disappear tomorrow, many NS users would continue to support ^^^^^^^^^^^^^^^^^^^^^^^^^^ the platform to keep it going Not to sound like a linux bigot (I don't even use it), but by what means will NS users keep NS alive if Next goes belly up? Does Next turn over distribution rights to NS to current NS users at it's death? There will be little interest in new applications for an unavailable platform, don't you think?
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Message-ID: <Aug23.155109.55345@acs.ucalgary.ca> Date: Mon, 23 Aug 1993 15:51:09 GMT References: <1993Aug23.004334.26476@taylor.uucp> <Aug23.025415.31923@acs.ucalgary.ca> <1993Aug23.131841.2625@taylor.uucp> Organization: The University of Calgary, Alberta I've followed most of the thread elsewhere, but I really do need to address: > > > Who is going to port software to it (especially commercial > > > software) ... > > WordPerfect? Oracle? Sybase? Insignia? Altsys? > Not anytime soon. Errr... the reason I listed all of the above is that they have ALL ported products to NeXTSTEP/Intel. WordPerfect is shipping. Oracle and Sybase client libraries are bundled with the system. SoftPC has been shipping on black for ages and will be available on the Intel platform shortly (two months?), Altsys' Virtuoso is shipping on black now, with their 2.0 version coming to black and white ('486) Sept / Oct. Where are these products for Linux? (cough, gasp) -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
From: sanguish@digifix.com Newsgroups: comp.sys.next.announce,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.advocacy,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.bugs,comp.sys.next.programmer,comp.sys.next.marketplace Subject: Quick Guide to the comp.sys.next.* newsgroups Date: 23 Aug 1993 14:34:46 -0400 Organization: Next Announcements Message-ID: <25b2k4$sv5@digifix.digifix.com> The current menagerie: 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. 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. 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. 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. 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. 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!!! 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. comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. (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. Written by: Eric P. Scott eps@toaster.SFSU.EDU Minor editing: Scott Anguish
Newsgroups: comp.sys.next.programmer From: shill@ccsi.com (Sean L. Hill) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Message-ID: <1993Aug23.194059.4650@ccsi.com> Followup-To: comp.sys.next.advocacy Sender: shill@ccsi.com Organization: Crystal Computer Systems, Inc. References: <Aug23.155109.55345@acs.ucalgary.ca> Date: Mon, 23 Aug 1993 19:40:59 GMT [munch] > > > > Who is going to port software to it (especially commercial > > > > software) ... > > > > WordPerfect? Oracle? Sybase? Insignia? Altsys? > > > Not anytime soon. > > Errr... the reason I listed all of the above is that they have [munch] [non-programming related stuff....] Followups redirected to comp.sys.next.advocacy -- Sean L. Hill Ergo Science Incorporated shill@ccsi.com Compuserve: 73667,3355
From: alex@cs.umd.edu (Alex Blakemore) Newsgroups: comp.sys.next.programmer Subject: Re: Memory, memory, who's got the memory? Message-ID: <70622@mimsy.umd.edu> Date: 23 Aug 93 20:48:44 GMT References: <1993Aug22.030610.24763@csus.edu> Sender: news@mimsy.umd.edu Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 In article <1993Aug22.030610.24763@csus.edu> eps@cs.sfsu.edu writes: > [Trivia: in 3.0, there was a conflict between the Phone Kit and > the Indexing Kit.] not in 3.1 &^) -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted -------------------------------------------------------------- "Without an engaged and motivated human being at the keyboard, the computer is just another dumb box." William Raspberry
Newsgroups: comp.sys.next.programmer From: greg@afs.com (Gregory H. Anderson) Subject: FAQ assistance needed! Message-ID: <1993Aug23.204839.18049@afs.com> Sender: greg@afs.com Date: Mon, 23 Aug 1993 20:48:39 GMT I am trying to finish the FAQ, and I lack knowledge on the following topics. (None of the following entries represent the whole section about any given topic, so don't flame me about that; I have only pulled out the paragraphs I can't finish myself.) If you can complete the '???' in any of the following sentences, please send me a brief email. Thanks! My recommendation for the best general purpose book about OO analysis and design is ???. [full ISBN/publisher info, if possible] NeXTAnswers - NeXT Inc. maintains this public list of known bug workarounds and helpful examples for frequently asked questions. The entire package is updated quarterly and is available through anonymous ftp from ftp.next.com (129.18.1.3) as ???. Other On-Line services with NeXT forums (besides Internet newsgroups, which have their own section in the FAQ) BIX - ??? CompuServe - ??? Others - ??? Mailing Lists gnu-objc - Discussion of the FSF implementation of Objective-C and a suite of tools under development. Listserver: ??? Where is <foo.h> ? NEXTSTEP's genealogy can be traced down the BSD branch of the Unix tree, so /usr/include is a mixture of BSD and ANSI headers. Programs written for SystemV and its variants may contain references to header files that do not exist in the Berkeley Standard Distribution. Known problems include <unistd.h>, ???..., and ???. <dirent.h> and <dir.h> may also cause confusion because most configures just check to see if these files exist. Both exist under NeXTSTEP, but NEXTSTEP uses the BSD version, dir.h. Where is bar(int mumble) ? Just as some header files are missing, so are some standard functions from other Unix variants. Known culprits are putenv(), mmap(), ???..., and ???. Source code for all of these missing functions is available; see the CSNPanswers index for further information. By the way, CSNPanswers--the collected lore of the NEXTSTEP programming gods--is shaping up awesome! A lot of great stuff has been posted here over the past few years, and soon everyone will have access to it. -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
From: kheit@gandalf.rutgers.edu (John Kheit) Newsgroups: comp.sys.next.programmer Subject: Need Old Interface Builder 2.1 Message-ID: <Aug.23.18.44.03.1993.5904@gandalf.rutgers.edu> Date: 23 Aug 93 22:44:03 GMT Organization: Rutgers Univ., New Brunswick, N.J. Hi, I would appreciate it if some one out there could NeXTmail me an old copy of Interface Builder. The one supplied in NS 2.1 (or preferably 2.2). I upgraded to 3.1 and forgot that I left the old version where it could be wiped out. Oh, I will post a stop sending me IB messege right after I get the first copy from some one. Thanks so much, in advance. Later, John
Newsgroups: comp.sys.next.programmer From: glen@instep.wimsey.bc.ca Subject: Re: stumped: getSelectedCells Message-ID: <1993Aug23.234843.3893@instep.wimsey.bc.ca> Sender: glen@instep.wimsey.bc.ca Organization: InStep Mobile Communications Inc. References: <1993Aug23.184604.1629@ecsvax.uncecs.edu> Date: Mon, 23 Aug 1993 23:48:43 GMT In article <1993Aug23.184604.1629@ecsvax.uncecs.edu> jpowell@borg.lib.vt.edu (James Powell) writes: > I have a matrix of check boxes that allow users to set some options > related to a form they are also required to fill out. I want to find out > which of these boxes was checked when the user clicks the SAVE button. I > can't seem to get this info. Here's what I do: > > [subscribeOptions getSelectedCells:optionsList]; > /* subscribeOptions is the matrix of check boxes */ > /* optionsList is of type (List *) */ > > but [optionsList count] returns 0 even when all cells are selected. > > I tried a little test and found [subscribeOptions selectCellWithTag:3]; > does in fact select the check box whose tag is 3. Help? > -- > James Powell - Library Automation, University Libraries, VPI&SU > jpowell@borg.lib.vt.edu - NeXTMail welcome here > Owner of VPIEJ-L, a discussion list for Electronic Journals > Archives: http://borg.lib.vt.edu:80/ gopher://borg.lib.vt.edu:70/ > file://borg.lib.vt.edu/~ftp The checked cells have [cell state] as 1; they are not treated as selected. Unchecked cells have [cell state] as 0. I think the selected cell is the last one checked. If a target is called by the matrix, the action can call back asking for the selected cell to discover which cell is being clicked by the user. -- Glen Biagioni Software Developer glen@instep.wimsey.bc.ca (small NeXTmail accepted) 604 872-7116 604 872-7125 fax
Newsgroups: comp.sys.next.programmer From: jfr@aspen.pdh.com (Jon F. Rosen) Subject: Another one: Workspace File Viewer Message-ID: <CC88tE.7vr@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. Date: Mon, 23 Aug 1993 19:29:35 GMT Can anyone point me to an FTP archive that has an app that simulates the Workspace File Viewer, particularly the icon shelf and icon file browser. We know how to do the file browser itself, that's pretty simple. The graphic stuff is a bit more work and we were hopeful that there is something already done we can look at. (Or maybe its in the MiniExamples but I can't figure out which one.) Or better yet, can this stuff be hacked from Workspace itself? Jon Rosen
Newsgroups: comp.sys.next.programmer From: bav@bergen.siodata.no (Bjorn Asle Valde) Subject: Patching Mail.app for 8-bit-clean? Message-ID: <1993Aug23.150639.27328@alf.uib.no> Sender: usenet@alf.uib.no (Bergen University Newsaccount) Organization: University of Bergen, Norway Date: Mon, 23 Aug 93 15:06:39 GMT The current scenario is that Mail.app follows rfc822 very closely and never sends mail with the eight bit set. Would it be possible for a nib wizard to patch Mail.app so that it sends mail with the 8-bit set and switches to NeXTmail format (compressed/uuencoded) only when fonts/images/etc are used? I don't think I'm up to it, but I'd love to have a patched copy! (Even better: have NeXT put in a preference for this in the new version of the application) Hopefully, -bav -- Bjorn Asle Valde - SiO Data Bergen, Christiesgt.13, N-5015 Bergen, Norway. Email: valde@bergen.siodata.no Phones: +47-5-320240 Fax: +47-5-320238
From: riedel@cs.ubc.ca (Marko Riedel) Newsgroups: comp.sys.next.programmer Subject: Mail & Edit app. (Connectivity) Date: 24 Aug 1993 01:30:03 GMT Organization: Computer Science, University of B.C., Vancouver, B.C., Canada Distribution: world Message-ID: <25bqur$ate@cs.ubc.ca> Keywords: Mail, Edit Could someone please tell me where the docs are re: (a) how to tell the edit app to highlight a selection in a file (b) how to tell the mail app to open a send window for a given recipient, body, etc. Thanks. - Marko R. Riedel
Newsgroups: comp.sys.next.programmer From: kane@cs.purdue.edu (Christopher Kane) Subject: Remotely run apps and connecting to Workspace & WS Message-ID: <CC8tsH.FLt@mentor.cc.purdue.edu> Keywords: rcmd rsh publicwindowserver remote Sender: news@mentor.cc.purdue.edu (USENET News) Organization: Purdue University Date: Tue, 24 Aug 1993 03:02:40 GMT I was developing a project, in which I used rcmd() for the first time, (to launch an appand ran across an interesting problem: apps which I run remotely on the machine on which I am logged into the console cannot connect the the Workspace or WindowServer. The absence of PublicWindowServer (which I don't want to turn on) is much too restrictive in this case. For instance, shouldn't one be able to: symphony> rsh localhost open .newsrc open: can't open connection to Workspace on local host. The same problem manifests itself with rcmd(): app launched can't connect to the WindowServer, and die in [Application new]; Is there any way around this restriction? Is there a good reason why *I* shouldn't be able to launch apps on the computer I am (console-)logged into from a remote computer (some security hole?)? Thanks, Christopher J. Kane kane@cs.purdue.edu
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: duane@shell.portal.com (Duane Takamine) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Message-ID: <CC8xG5.6u6@unix.portal.com> Sender: news@unix.portal.com Organization: Portal Communications Company -- 408/973-9111 (voice) 408/973-8091 (data) References: <1993Aug23.004334.26476@taylor.uucp> <Aug23.025415.31923@acs.ucalgary.ca> <1993Aug23.131841.2625@taylor.uucp> Date: Tue, 24 Aug 1993 04:21:41 GMT In article <1993Aug23.131841.2625@taylor.uucp> mark@taylor.uucp (Mark A. Davis) writes: >>> I would veer away from any OS which is non main-stream. > >>Then stick to DOS / Windows. > >Get real. "DOS" / "Windows" is not an OS. Mainstream Unixes are like >SCO, Sun, Dec, 5.4.2. The point, though, is that you either buy software (including OS's) for functionality, or for popularity. If you want popularity, go DOS/Windows, which UNix will not in the near future eclipse. If you buy for functionality then NeXTstep becomes a possibility again, even if it is not "main stream." For its users, NS is mainstream enough to coexist with and use prevalent technology, plus it offers innovative technology besides. > >I am not suggesting that there will be ONE and only ONE version of Unix; but >that the versions will be closer together. IE: no BSD only, no non-X >displays, etc... I also am looking for binary compatibility on the same >platform over different vendor's versions. > >The difference in the products can/will be the documentation, drivers, >certain non-critial parts of the OS, support, tweaking, included value-added, >included applications, package arrangements, pricing, etc, etc, etc... This is potentially a hairy subject. No matter how much effort you put into making a base platform which is uniform, the value-add stuff can easily itself become enabling technology which, if you build apps which rely on it (because there is no way to do it any other way) then the portablility problem comes up again. >>I don't know on either front, so I won't address it. Neither has >>been an issue for me. > >Then you don't need to run commercial software. Whoa. I run commercial software on NeXT all the time. And COFF and ELF is no big deal to me as well. Oh, I run NeXT commercial software, the stuff everyone says doesn't exist, not COFF or ELF binaries, so maybe I don't count. > >>> Who is going to port software to it (especially commercial >>> software) ... > >>WordPerfect? Oracle? Sybase? Insignia? Altsys? > >Not anytime soon. Buzz. Actually, some time ago. The original poster was naming companies which have already ported software to the platform. > >>> ... when there are many other ESTABLISHED OS's to be considered >>> first-SCO, Sun, V.4.2, DEC, etc... Applications make or break >>> the OS. > >>I agree, so application vendors will port applications to an >>environment that appeals to their user base. Many of the >>environments you refer to appeal to a technical and scientific >>user base, but don't carry so well in a standard business >>environment. Why does Sun lose so many financial, government and >>commercial hardware deals to NeXT? Because NeXT provides an >>ideal end-user environment (I should know, I was part of TWO such >>major competitions). > >But that is a fundimental problem I have with the scheme. Nobody can buy >into a platform which will sterotypically fit them into some market segment. >This has always caused me difficulties in getting all the software we need. Unless, of course, you are already in one of NeXT's stereotypical market segments, in which case no problem. Keep in mind that NeXT did not pick those areas to attack, and make a platform which they thought would suit those markets. They tried to build a platform which appealed to as wide a market as possible, given the technology they wanted to provide, and those markets were those which responded the most strongly. It was only when NeXT saw that that they began to target those markets with more emphasis. > >>> Did they improve on X? Not really. > >>Care to back that up? > >Yes, they improved on displaying and using graphics; not on improving the >X window system. Then, strictly speaking, they DID improve on X. They just didn't improve X. For NeXT end users, improving graphics support would seem to be more important than improving X. If you want X so badly, just get one of the X packages for NS and run X. If you think X isn't good enough, you can spend a lot of time improving it, or use DPS on NS. Which is not to belittle efforts to improve X; it is a laudable effort, but I'm not convinced that it can be improved to the refined point NS is at the moment. > >>> Did they even build on X? No. This just seems very strange. > >>Given their goals, it certainly does not. Even more so if you >>consider the state X was in when they originally evaluated it >>(what, 1986?). X STILL falls short in areas important to >>NeXTSTEP's designers. > >I certainly don't deny that. Just pointing out that with the advent not of >lots of X software, X terminals, and such, we are just starting to take >advantage of the synergy of X. Kind of hard to throw it away now! Too >bad the Display Postscript could not have been an extension of X rather than >a replacement. Or at least at the price of Nextstep; it probably should >have been included and "side-by-side" for comaptibility. Again, NeXT didn't prevent or prohibit X from running on NS. They don't include it with the shipping package, but there are freebee versions of X out there, and there are commercial packages which do not cost a lot on the third party market. That is NeXT's strength. On NS, I can run NS side by side with X. On an X station, or other platform, you can run X, and that's it. As a buyer, that should factor in. Duane -- ----------------------------------------------------------------- Duane Takamine duane@shell.portal.com Island CD Creations Madd Hacker Productions Home of the Sound Site CDROM - nearly 1400 mods on disc
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Patching Mail.app for 8-bit-clean? Message-ID: <1993Aug24.040645.14278@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Aug23.150639.27328@alf.uib.no> Date: Tue, 24 Aug 1993 04:06:45 GMT [Is NeXT even shipping an 8-bit-clean sendmail?] There's no simple patch one could make to Mail.app. People will question your parentage if you generate 8-bit text that isn't in ISO 8859/1 (NEXTSTEP's native encoding isn't even close, and provides several characters with no equivalents). This is an easy job for someone with source code access, but probably not worthwhile otherwise. Multiarchitecture binaries only aggravate matters. -=EPS=-
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Finding the other end of a port Message-ID: <1993Aug24.051612.16769@csus.edu> Sender: news@csus.edu Organization: San Francisco State University Date: Tue, 24 Aug 1993 05:16:12 GMT I want an easy (and nondestructive!) way to determine whether a task has receive rights for a port I know only in task_self()'s name space. I'm looking for either a my_port-to-its_port translation (or an indication that the target task has no rights), or a mutant version of port_type() where port_name would be expressed in "my" name space. I can (uncomfortably) use port_insert_send() to determine if a task holds send rights, but not which name it uses, and this still tells me nothing about receive rights. (I realize that asking for "task kernel port of the task holding receive rights to a given port" is unreasonable, at least not without having the host privilege port available. This would be really useful, however.) Is there a better way than slamming some code into the target task and starting a new thread? -=EPS=-
Newsgroups: comp.sys.next.programmer From: dsdecasp@iiic.ethz.ch (Daniel Stefan Decasper) Subject: DBTableView^2 - where/what/who ? Message-ID: <1993Aug24.064751.19098@neptune.inf.ethz.ch> Sender: news@neptune.inf.ethz.ch (Mr News) Organization: Dept. Informatik, Swiss Federal Institute of Technology (ETH), Zurich, CH Date: Tue, 24 Aug 1993 06:47:51 GMT I'm working on a custom app on NEXTSTEP using the DBKit and Sybase. Till now, I dealed with DBTableViews and it worked just fine for me. Now, my client wants some more "spreadsheet-like" features that DBTableView does not provide, such as calculating, multi-line title bars, variable row and column titles etc... My questions: - is there a third party TableView available that does more than DBTableView does ? - if not, is anybody interested in such an object (palette) as shareware or commercial product (if it's not available I have to write it myself, so why not giving it to other people who need to do the same, if there are any...) ? - does anybody know if NeXT extends the abilities of DBTableViews in upcoming releases of NEXTSTEP ? Thanks for your time Dan
From: kheit@gandalf.rutgers.edu (John Kheit) Newsgroups: comp.sys.next.programmer Subject: SND pointer, pointing problem Summary: problem accessing samples with pointer returned by SNDGetDataPointer fu Message-ID: <Aug.24.02.30.53.1993.13454@gandalf.rutgers.edu> Date: 24 Aug 93 06:30:54 GMT Organization: Rutgers Univ., New Brunswick, N.J. Hi all, I'm having trouble getting at the data of a sound. What I want to do is look at every sample of data in the sound by incrementing the initial ptr given to me by the "int SNDGetDataPointer (SNDSoundStruct *s, char **ptr, int *size, int *width)" function. I need to do this while the sound is being recorded (I don't think this should be a problem). The problem is that I'm probably not incrementing the right pointer nor am I referencing the right value using the right pointer. Any help figuring out how to actually get to the data would be awesome (since I have a deadline for this app for this wed); and to boot you'd by my NEXTSTEP programming hero :-) Below is a short code excerpt (more comments then code) that compiles, but the output I get are incrementing memory addresses when I'm expecting kind a static 8bit mulaw type output. THANKS A ZILLION, in advance. ========================================================== PROGRAM SEGMENT... ========================================================== id tempText; //need to hook this up to a text object. SNDSoundStruct *sound; int bigCounter; int sampleValue; int size, width, length; char aString[32]; char **ptr; void *tempPtr; BOOL notDone; bigCounter = 0; notDone = TRUE; //should set up the sound for input from the mic SNDAlloc(&sound, 9830400, SND_FORMAT_MULAW_8, SND_RATE_CODEC, 1, 0); //should start recording SNDStartRecording(sound, 1, 1, 0, SND_NULL_FUN, SND_NULL_FUN); //once recording I want to look into the sound data sample //slices, but Im having trouble finding it with all the //pointer madness :) while (notDone) { //This should return a ptr to the snd data, but it dont... //This maybe broke :| SNDGetDataPointer(sound, &*ptr, &size, &width); tempPtr = &*ptr; //What I want to do is increment the pointer to the next //sound data sample and then put its rvalue into the //sampleValue variable, but the lines below dont work... //This is probably broke ;( tempPtr = (tempPtr + (bigCounter*width)) ; sampleValue = (int) tempPtr; //this simply dumps the temp value into a text object //this works :) sprintf(aString, "%d\n", temp); length = [tempText textLength]; [tempText setSel: length :length]; [tempText replaceSel:aString]; //increments so next time through I can look at the next //sample of sound data bigCounter = bigCounter + 1; } Later, John
From: kheit@gandalf.rutgers.edu (John Kheit) Newsgroups: comp.sys.next.programmer Subject: SND data pointer problem. Message-ID: <Aug.24.04.39.35.1993.15918@gandalf.rutgers.edu> Date: 24 Aug 93 08:39:35 GMT Organization: Rutgers Univ., New Brunswick, N.J. Hi all, I'm having trouble getting at the data of a sound. What I want to do is look at every sample of data in the sound by incrementing the initial ptr given to me by the "int SNDGetDataPointer (SNDSoundStruct *s, char **ptr, int *size, int *width)" function. I need to do this while the sound is being recorded (I don't think this should be a problem). The problem is that I'm probably not incrementing the right pointer nor am I referencing the right value using the right pointer. Any help figuring out how to actually get to the data would be awesome (since I have a deadline for this app for this wed); and to boot you'd by my NEXTSTEP programming hero :-) Below is a short code excerpt (more comments then code) that compiles, but the output I get are incrementing memory addresses when I'm expecting kinda staticy 8bit mulaw type output. THANKS A ZILLION, in advance. ========================================================== PROGRAM SEGMENT... ========================================================== id tempText; //need to hook this up to a text object. SNDSoundStruct *sound; int bigCounter; int sampleValue; int size, width, length; char aString[32]; char **ptr; void *tempPtr; BOOL notDone; bigCounter = 0; notone = TRUE; //should set up the sound for input from the mic SNDAlloc(&sound, 9830400, SND_FORMAT_MULAW_8, SND_RATE_CODEC, 1, 0); //should start recording SNDStartRecording(sound, 1, 1, 0, SND_NULL_FUN, SND_NULL_FUN); //once recording I want to look into the sound data sample //slices, but Im having trouble finding it with all the //pointer madness :) while (notDone) { //This should return a ptr to the snd data, but it dont... //This maybe broke :| SNDGetDataPointer(sound, &*ptr, &size, &width); tempPtr = &*ptr; //What I want to do is increment the pointer to the next //sound data sample and then put its rvalue into the //sampleValue variable, but the lines below dont work... //This is probably broke ;( tempPtr = (tempPtr + (bigCounter*width)) ; sampleValue = (int) tempPtr; //this simply dumps the temp value into a text object //this works :) sprintf(aString, "%d\n", temp); length = [tempText textLength]; [tempText setSel: length :length]; [tempText replaceSel:aString]; //increments so next time through I can look at the next //sample of sound data bigCounter = bigCounter + 1; } Later John
Newsgroups: comp.sys.next.programmer From: se92psh@brunel.ac.uk (Peter Hauke) Subject: Calling Xlib from NeXT Message-ID: <CC9HvI.GLx@brunel.ac.uk> Organization: Brunel University, Uxbridge, UK Date: Tue, 24 Aug 1993 11:42:53 GMT I know that XWindows can run under NeXTstep in a variety of modes. I was wondering whether it was possible to develop a NeXT application and have it run on a NeXT (or under NeXTstep) but be able to make Xlib calls and communicate with other X servers and clients etc running on different machines. ie the Interface ala NeXT on the NeXT and displaying XWindows on another workstation. Many thanks Peter -- *********************************** * Peter Hauke @ Brunel University * *---------------------------------* * se92psh@brunel.ac.uk * ***********************************
From: neuss@igd.fhg.de (Christian Neuss ) Newsgroups: comp.sys.next.programmer Subject: Text object for cmd line app? Date: 19 Aug 93 17:54:01 GMT Organization: IGD Darmstadt Message-ID: <neuss.745782841@ramazzotti> Yo fellow netters, I have a problem with the text object.. It's quite simple actually: I want to use the text object to do some RTF processing. The problem is that if I have an [Application new] to get everything initialised for the Text object, the application try's to contact the DPS server, which of course usually failos when the program isn't run from the console. Just what the heck can I do? There must be some other way to setup fonts etc, but I'm pretty green with the AppKit. Oh.. I *did* ask.. I *did* look in the FM.. it's only that what I want to do is a bit unusual. Most NeXT apps of course are NeXTstep apps, and they have access to the DPS server. Sigh.. somebody please help! Chris /* * Christian Neuss % neuss@igd.fhg.de % ..in the humdrum */
From: jin@revenge.rutgers.edu (#ifdef) Newsgroups: comp.sys.next.misc,comp.sys.next.programmer Subject: Re: RISING SUN film claims on Japan's economic conquest of USA are true. Read the article with the facts Message-ID: <Aug.24.09.57.55.1993.14009@revenge.rutgers.edu> Date: 24 Aug 93 13:57:55 GMT References: <25cla0$1ko@usenet.INS.CWRU.Edu> Followup-To: comp.sys.next.misc Organization: Rutgers Univ., New Brunswick, N.J. All I know is the bad treatment software developers in Asia received from Canon. Canon had been successful in killing Apple in Asia until Apple realized it and set up offices to sell the machines themselves. See the thread "Why Canon is killing NeXT ..." in comp.sys.next.advocacy. Gavin
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: lorinr@altsys.com (Lorin Rivers III) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Message-ID: <1993Aug24.150832.7885@altsys.com> Organization: Altsys Corporation, Richardson, TX References: <1993Aug23.004334.26476@taylor.uucp> <Aug23.025415.31923@acs.ucalgary.ca> <1993Aug23.131841.2625@taylor.uucp> Date: Tue, 24 Aug 1993 15:08:32 GMT In article <1993Aug23.131841.2625@taylor.uucp> mark@taylor.uucp (Mark A. Davis) writes: >bstone@acs.ucalgary.ca (Blake Stone) writes: > >>> > [read the thread] >>> > >Then you don't need to run commercial software. > >>> Who is going to port software to it (especially commercial >>> software) ... > >>WordPerfect? Oracle? Sybase? Insignia? Altsys? > >Not anytime soon. > Ahem. Two words: Altsys Virtuoso Thanks! -- Lorin Rivers Lorin_Rivers@altsys.com NEXTSTEP Sales Manager 214.680.2518 269 W. Renner Parkway NeXT Mail Expected Richardson, Texas 75080 I said it, not my boss
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: larry@gator.oau.org (Larry D Snyder) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Message-ID: <CC9wMq.EnJ@gator.oau.org> Organization: Gator Communications, Orlando, Florida References: <westesCC6ELA.77I@netcom.com> <1993Aug23.004334.26476@taylor.uucp> <Aug23.025415.31923@acs.ucalgary.ca> <1993Aug23.131841.2625@taylor.uucp> Date: Tue, 24 Aug 1993 17:01:38 GMT mark@taylor.uucp (Mark A. Davis) writes: Linux can not be classified mainstream until we can call our local Unix vendor and order applications that execute under Linux. -- Larry Snyder Internet: larry@gator.oau.org Orlando, Florida UUCP: ..!uunet!tarpit!gator!larry
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: larry@gator.oau.org (Larry D Snyder) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Message-ID: <CC9wnA.EoJ@gator.oau.org> Organization: Gator Communications, Orlando, Florida References: <1993Aug23.004334.26476@taylor.uucp> <Aug23.025415.31923@acs.ucalgary.ca> <1993Aug23.131841.2625@taylor.uucp> <Aug23.155109.55345@acs.ucalgary.ca> Date: Tue, 24 Aug 1993 17:01:58 GMT bstone@acs.ucalgary.ca (Blake Stone) writes: >Where are these products for Linux? (cough, gasp) They won't be there. Why should Word Perfect develop an application for an operating system that is free? -- Larry Snyder Internet: larry@gator.oau.org Orlando, Florida UUCP: ..!uunet!tarpit!gator!larry
From: kheit@gandalf.rutgers.edu (John Kheit) Newsgroups: comp.sys.next.programmer Subject: Re: Need Old Interface Builder 2.1 Message-ID: <Aug.24.12.47.23.1993.6044@gandalf.rutgers.edu> Date: 24 Aug 93 16:47:23 GMT References: <Aug.23.18.44.03.1993.5904@gandalf.rutgers.edu> Organization: Rutgers Univ., New Brunswick, N.J. kheit@gandalf.rutgers.edu (John Kheit) writes: >Hi, I would appreciate it if some one out there could NeXTmail me an old copy of Interface Builder. The one supplied in NS 2.1 (or preferably 2.2). >Thanks so much, in advance. >Later, John Thanks to the people that sent me the copy of IB. MUCHOS GRACIAS!!! Anyway I have the copy now, so please do not send any more copies. Later, John
From: ivo@next.agsm.ucla.edu (Ivo Welch) Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Followup-To: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer Date: 24 Aug 1993 17:12:24 GMT Organization: UCLA Microcomputer Support Office Message-ID: <25di5o$44m@news.mic.ucla.edu> References: <1993Aug23.004334.26476@taylor.uucp> <Aug23.025415.31923@acs.ucalgary.ca> <1993Aug23.131841.2625@taylor.uucp> <Aug23.155109.55345@acs.ucalgary.ca> <CC9wnA.EoJ@gator.oau.org> Let me add 3 brief points: [1] UnixWare's ads claim they have a free 1-800 number for support. NeXT has a $200/call policy for individuals (or a few thousand dollars per institution)--- Unix for the rest of us? No way --- [2] NeXT has a pretty good standard Unix "bundled," but I must agree that they seem a bit impervious to fixing problems/nuisances with it. I understand this attitude may be changing. (For example, the upcoming inclusion of libg++ is a major step forward.) [3] I doubt that you will find a more elegant operating system/work environment than NeXT's anywhere. It is a pleasure to work with and develop for (as long as you do not require [1]). Ivo Welch ivo@128.97.74.50 = next.agsm.ucla.edu Asst Prof of Finance iwelch@agsm.ucla.edu AGSM at UCLA
From: me@ienext.unl.edu (Dan Scott) Newsgroups: comp.sys.next.programmer Subject: A couple of easy questions Date: 24 Aug 1993 17:37:30 GMT Organization: University of Nebraska--Lincoln Message-ID: <25djkq$t61@crcnis1.unl.edu> Yesterday I was messing around trying to improve my NeXTSTEP programming skills. I have an application with a window that displays several views (they are matrices of TextFields if it matters). The layout of this window had been set up in interface builder. I got to thinking that I might want to modify the size of one of my views in response to a user input. So I used a sizeToFit command in my code. This *did* resize the view as desired, but there was a problem: the old (larger) size of the view was still visible (though partly obscured by the new size). After I thought about it this made some sense---the view was getting a command to display itself again (after its size had changed) but there was never any command to "erase" the picture of itself that it had *previously* drawn. What I did was: 1) Before resizing the view I got its frame rectangle 2) I locked focus on the contentView of the Window (which was the superView of the view I was resizing) 3) I filled the frame rectangle with NX_LTGRAY which is the usual background color of a window. 4) Unlocked focus 5) Displayed my resized view This seemed to work ok. Now, At last the questions: 1) Is this more or less what you have to do in this kind of situation? Or is there some simpler way to see to it that old "outdated" images are not left visible? 2) Originally, when I filled the frame rectangle I didn't bother to specify NX_LTGRAY. I figured that I wanted my erasing job to match the color of the background (the contentView's color). Since I had locked focus on the contentView I assumed that it would draw in the background color unless I specified otherwise. Imagine my surprise when my erasure was done in black! Could it be that the last thing drawn in the contentView of this window was in black? (part of the border??---but that's not part of the contentView, right?) Why didn't this work like I thought it would? Thanks for your assistance. ---------------------------------------------------------------- Dan Scott me@ienext.unl.edu NeXT mail welcome ----------------------------------------------------------------
From: doug@foxtrot.ccmrc.ucsb.edu (Douglas Scott) Newsgroups: comp.sys.next.programmer Subject: Useful C++ tools removed from 3.1 Developer Date: 24 Aug 1993 17:07:31 GMT Organization: University of California, Santa Barbara Distribution: world Message-ID: <25dhsj$5jq@hub.ucsb.edu> Has anyone else noticed that the C++ tools nm++ (for examining symbols in C++ object files) and g++filt (for demangling symbols by hand) are missing from the 3.1 developers kit? I mean, these take up a pretty small amount of space -- were they deemed useless or something? Thank goodness I have the 3.0 CDROM ready to mount at any time... -- Douglas Scott (805)893-8352 Center for Computer Music Research and Composition University of California, Santa Barbara Internet: (NeXTMail ok) <doug@foxtrot.ccmrc.ucsb.edu>
Newsgroups: comp.sys.next.programmer From: shayman@Trimark.com (Steve Hayman) Subject: Re: Remotely run apps and connecting to Workspace & WS Message-ID: <1993Aug24.180750.5702@trimark.com> Sender: news@trimark.com Organization: Trimark Investment Management, Toronto References: <CC8tsH.FLt@mentor.cc.purdue.edu> Date: Tue, 24 Aug 1993 18:07:50 GMT In article <CC8tsH.FLt@mentor.cc.purdue.edu> kane@cs.purdue.edu (Christopher Kane) writes: > For instance, shouldn't one be able to: > symphony> rsh localhost open .newsrc > open: can't open connection to Workspace on local host. > If you have PublicWindowServer turned off, the only processes that can connect to Workspace are those that are descendant processes of Workspace itself. This includes applications you launch under Workspace, and their children, so that if you launch an app from the commandline it will run OK - BUT - it doesn't include applications launched via "rsh". Launching something under rsh means that you wind up with a process that's a child of the "rshd" daemon, which is a child of inetd, which is a child of init (process 1). These processes aren't descendants of Workspace, so they can't connect to the window server, so they can't display on your screen if you don't have PublicWindowServer enabled. Similarly applications that you launch via the crontab won't have access to your screen if PublicWindowServer is off. Certain special programs, such as the thing that writes "Printer out of paper", always have screen access anyway. From "man loginwindow": PublicWindowServer is a parameter indicating whether unrestricted access to the window server on this machine should be allkowed while the user is logged in. If it is YES, then any client on any machine may connect to the window server. Otherwise, only processes descending from the Workspace or special system processes such as the printer daemon will be allowed to connect. I wish I knew what the strict definition of "special system processes" is. Anyway, I know of one program that gets around this by installing a server process as a login hook. When you log in at the console, a loginhook program will be launched and will happen to be a child of workspace, so it can hang around and have access to your screen even if PublicWindowServer is off. You could come up with a way to tell that server process to execute something on your behalf, and it would have access to the screen. Hope this sheds some light. Steve -- Steve Hayman Steve Hayman + Associates NeXTSTEP Consulting Toronto, Ontario shayman@Objectario.com (416) 769 8995
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: mark@taylor.uucp (Mark A. Davis) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Organization: Lake Taylor Hospital Computer Services Date: Tue, 24 Aug 1993 18:25:28 GMT Message-ID: <1993Aug24.182528.13192@taylor.uucp> References: <westesCC6ELA.77I@netcom.com> <1993Aug23.004334.26476@taylor.uucp> <Aug23.025415.31923@acs.ucalgary.ca> <1993Aug23.131841.2625@taylor.uucp> <CC9wMq.EnJ@gator.oau.org> larry@gator.oau.org (Larry D Snyder) writes: >mark@taylor.uucp (Mark A. Davis) writes: >Linux can not be classified mainstream until we can call our local >Unix vendor and order applications that execute under Linux. That depends on the way you define mainstream. I do call the design on which Linux is based "mainstream". However, it may not be mainstream itself. Besides, you can call some vendors and get software for OS-9, but I wouldn't consider THAT mainstream! I should have chosen another word, but nothing fit what I was looking for; perhaps "standard"? I give up. -- /--------------------------------------------------------------------------\ | Mark A. Davis | Lake Taylor Hospital | Norfolk, VA (804)-461-5001x431 | | Sys.Administrator| Computer Services | mark@taylor.wyvern.com .uucp | \--------------------------------------------------------------------------/
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: mark@taylor.uucp (Mark A. Davis) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Organization: Lake Taylor Hospital Computer Services Date: Tue, 24 Aug 1993 18:26:41 GMT Message-ID: <1993Aug24.182641.13287@taylor.uucp> References: <1993Aug23.004334.26476@taylor.uucp> <Aug23.025415.31923@acs.ucalgary.ca> <1993Aug23.131841.2625@taylor.uucp> <Aug23.155109.55345@acs.ucalgary.ca> <CC9wnA.EoJ@gator.oau.org> larry@gator.oau.org (Larry D Snyder) writes: >bstone@acs.ucalgary.ca (Blake Stone) writes: >>Where are these products for Linux? (cough, gasp) >They won't be there. Why should Word Perfect develop an application >for an operating system that is free? That is a silly thing to say. COFF/ELF is under development for Linux. So it WABI. When they are complete, a vast array of software will be available. It can't get here fast enough for me, however.... -- /--------------------------------------------------------------------------\ | Mark A. Davis | Lake Taylor Hospital | Norfolk, VA (804)-461-5001x431 | | Sys.Administrator| Computer Services | mark@taylor.wyvern.com .uucp | \--------------------------------------------------------------------------/
Newsgroups: comp.sys.next.misc,comp.sys.next.programmer From: lloyd@world.std.com (Chris Lloyd) Subject: Re: NXHost too slow to SLIP? Message-ID: <CCA5o6.KL4@world.std.com> Followup-To: comp.sys.next.programmer Organization: The World Public Access UNIX, Brookline, MA References: <1993Aug22.161920.22286@cc.umontreal.ca> <1993Aug22.232826.2974@csus.edu> <SCOTT.93Aug24140524@nic.gac.edu> Date: Tue, 24 Aug 1993 20:16:54 GMT Note the followup, this is a really good thread to keep going I think.. In article <SCOTT.93Aug24140524@nic.gac.edu> scott@nic.gac.edu (Scott Hess) writes: >In article <1993Aug22.232826.2974@csus.edu>, > eps@futon.SFSU.EDU (Eric P. Scott) writes: >>Odds are, if you examine a typical NEXTSTEP program (using >>-NXAllWindowsRetained and/or -NXShowAllWindows) you'll >>see a lot of unnecessary drawing. At Ethernet speeds, this >>is no big deal, but over a low-speed link it's a killer. >> >>Application developers: please read NeXT's document called >>"Improving Drawing Performance." Also, learn how to use display >>methods (including -disableDisplay). Even running on the local >>WindowServer the speedups can be noticeable. >[..] >After the majority of the program is done, _all_ developers should >spend a week or so running -NXShowPS and _reading_ the output. >Look for things like "0 setgray 1 setgray" and other code that is >useless. Then look for code that is redundant and can be removed, >[...description of optimizing PS ...] Optimization of PostScript for heavy drawing areas is a good idea, but I find most applications suffer from misuse of AppKit objects more than misuse of PS. E.g. Browsers/Matrices being loaded and reloaded several times, inspectors doing lots of updates, controls having their values set to the same thing over and over - this can be far more damaging than an extra setgray here and there. A couple tricks I adopted early on (maybe it was because I had an '030) was to: - override Application so that if updateWindows is called it happens only ONCE for that event. - write a couple categories for Cell and Control which has methods like setFastEnabled, setFastIntValue, etc. etc. These will only set the value if it is changing - otherwise AppKit objects redraw everytime you set the value regardless of whether it changed or not. - for things like matrices/browsers I use a change count for the data they represent - only reload them if the data actually changed. These couple of simple things when adopted early on make inspectors and UI components blazingly fast. Depending on the complexity of the application, optimization may be some thing to consider from the start, spending 5 months on core functionality and then trying to optimize it later will give you more bugs and headaches than if you had started from the beginning with optimization in mind. la la la, -- :: Christopher Lloyd :: Yrrid Incorporated :: lloyd@world.std.com :: :: NEXTSTEP Special Forces ::
Newsgroups: comp.sys.next.programmer From: Scott Byer <byer@mv.us.adobe.com> Subject: Re: NXHost too slow to SLIP? Message-ID: <1993Aug24.205203.18292@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <CCA5o6.KL4@world.std.com> Date: Tue, 24 Aug 1993 20:52:03 GMT Since this was on SLIP performance, it really is critical to slim down an applications' code the the minimal drawing necessary. There are two things to remember when programming for the Display PostScript System: 1) The model is client server. Stop using single ops. Stop it right now. Don't ping if you don't have to. No, I really mean it. Stop using single ops. :-) 2) It's a *language*. There are three ways of encoding the PostScript to be sent to the server, and it's under application control - the client library will translate for you. Has anyone tried flipping an app their developing to use binary token enoding and *then* trying a SLIP connection? When the pipe is the bottleneck, be gentle on the pipe. Binary encoded PostScript is big - it makes the interpretation speed vs. memory use very far on the speed side. Which is great if you're running on the same machine as the server, and it costs nothing to send gobs of data. Binary *token* encoding makes the exact opposite tradeoff - which is the right thing to do over a slow connection. And the server is always ready to slurp both. There's also always more than one way of doing something. And the best way to do something depends on what your doing. Drawing polygons, you may always want to use moveto/lineto, and avoid special case code. But if you know you're drawing rectangles, use the rect* operators. And if you're going to be drawing *lots* of rectangles, look into the numstring encodings that let you do that with one call. And if they're lots of small rectangles, of a specific number of sizes, think about making a Type 3 font and using xyshow. Like Scott said, RTFPB. Then read the Purple Book again. A lot of experimentation and thought went into that book, for you to take advantage of. Go ahead and spend an extra day to have your application do the pre-clipping based on bounding boxes. Think about what redrawing needs to be done. And when. With these more powerful machines, it's easy to get lazy and not do all the code optimizations that used to be a standard part of writing an app. But there are always going to be situations where that little extra effort would make a critical difference in the useability of an applicaton. -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Finding Cell's Editor Message-ID: <1993Aug25.055609.1075@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software Date: Wed, 25 Aug 1993 05:56:09 GMT How do I get the Text object for a given Cell? The Cell method "edit:inView:editor:delegate:event:" requires a Text object for the "editor:" argument and it must be the one that the cell was created with. Now, looking at Control I can ask for the "currentEditor", but this requires that I must be editing for this to work. It seems like a catch-22 since I can't start editing without the Text object and I can't get the Text object without having started editing. Thanks, Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
From: Kevin Richard O'Toole <ko0m+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: ScrollView Help Date: Wed, 25 Aug 1993 10:14:11 -0400 Organization: Senior, Math/Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <cgSrCny00WBL82JaQH@andrew.cmu.edu> I am drawing a large complicated map in a scroll view. The map contains some 25,000 segments. I want to draw the entire map and then be able to scroll over it. How do I avoid having the scroll view chop off what goes outside the window? Currently, drawSelf:: is being sent the rectangles for what gets moved onto the screen, and I have to recheck all the segments to see if they need to be redrawn, and this takes forever. Any help would be appreciated. Thanks, Kevin R. O'Toole
From: David Pascua <dp3m+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: DBKit: Transactions and DBRecordList Date: Wed, 25 Aug 1993 10:23:15 -0400 Organization: Masters student, Information Networking Institute, Carnegie Mellon, Pittsburgh, PA Message-ID: <cgSrLHK00iV181ys0l@andrew.cmu.edu> Hi, I'm having some difficulties in getting transactions to work. Background info: - NextStep v3.0 running on a NeXTstation Turbo slab - Sybase v? (I forget, but if it's important I can find out) - database is return value from [DBDatabase findDatabaseNamed:"ModelName" connect:YES] - [database areTransactionsEnabled] returns 1 (TRUE) - [database isTransactionInProgress] returns 0 (FALSE) before beginTransaction is called Anyway, I'd like to do something like the following: [database beginTransaction]; [recordList1 appendRecord]; <put info in the newly appended record> [recordList2 appendRecord]; <put info in the newly appended record> [database commitTransaction]; Problem is: this just does NOT work. [database beginTransaction] returns a -1, when it's supposed to return a BOOL. A call to [database beginTransaction] right after database has been instantiated also returns a -1. (Of course, documentation could be wrong.) Ignoring the return value, after the commit, no new records are found in the tables (checking with isql). So has anyone ever gotten transactions to work using DBDatabase beginTransaction, commitTransaction and rollbackTransaction?? If you have, I desparately need your help!!! Thanx in advace, -Dave
Newsgroups: comp.sys.next.programmer From: drew@fnbc.com (Drew Davidson) Subject: Re: Finding Cell's Editor Message-ID: <1993Aug25.143411.11056@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA References: <1993Aug25.055609.1075@gleap.sccsi.com> Date: Wed, 25 Aug 93 14:34:11 GMT In article <1993Aug25.055609.1075@gleap.sccsi.com> clloyd@gleap (Charles C. Lloyd) writes: > How do I get the Text object for a given Cell? > > The Cell method "edit:inView:editor:delegate:event:" requires a Text object for > the "editor:" argument and it must be the one that the cell was created with. > Now, looking at Control I can ask for the "currentEditor", but this requires > that I must be editing for this to work. It seems like a catch-22 since I > can't start editing without the Text object and I can't get the Text object > without having started editing. > > > Thanks, > Charles. > -- > Charles Lloyd clloyd@GLeap.sccsi.com > GiantLeap Software > (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax) The editor argument that you pass simply has to be a Text object - usually the Window's field editor, obtained through the window method fieldEditor. In most cases you want to tell the window to end editing, then grab the field editor and give it to the cell. -- +--------------------------------+-------------------------------------------+ | Drew Davidson | "Never ask a programmer if he'll have | | Software Guy | another cup of coffee because it's | | First National Bank of Chicago | nobody's damn business how much he's | | drew@fnbc.com (NeXTmail) | already had!" - me | +--------------------------------+-------------------------------------------+
Newsgroups: comp.sys.next.programmer From: songer@lexmark.com (Christopher Songer) Subject: Inspector Object Message-ID: <1993Aug25.160551.173298@lexmark.com> Sender: usenet@lexmark.com (News Dude) Organization: Lexington, KY Distribution: usa Date: Wed, 25 Aug 1993 16:05:51 GMT Hi! I seem to recall the existence of an object available on the archive servers to manage views for an "inspector" like object. Unfortunately, I cannot recall the name of the archive. If someone could point me in the right direction I'd really appreciate it. Thanks! -Chris songer@lexmark.com
From: mcgredo@prism.CS.ORST.EDU (Don McGregor) Newsgroups: comp.sys.next.programmer Subject: mixing c++ and obj-c Message-ID: <25g6l1INNa8u@flop.ENGR.ORST.EDU> Date: 25 Aug 93 17:14:09 GMT Organization: Oregon State University, Computer Science Dept. Second try, as the first apparently didn't get through: I want to use just a few c++ objects in a large, otherwise entirely obj-c project. I'd prefer to keep changes to the existing source to an absolute minimum. One of the NeXTanswers suggests that if you have one c++ object, you need to do the extern "Objective-C" ... drill on all the sources in the project. But I've heard rumors that under 3.1 you can mix & match without touching the existing code. There's supposed to be a Makefile in /NextDeveloper/Makefiles that facilitates this. 1) Can you mix obj-c and c++ this way? 2) is there anything other than the trick Makefile involved? 3) can someone email me the makefile? (NeXT mail OK) Thanks a lot, -- Don McGregor | Prodigy is to USENET as croquet is to mcgredo@prism.cs.orst.edu| professional wrestling
Newsgroups: comp.sys.next.misc,comp.sys.next.programmer From: christia@ntua.gr (Panagiotis Christias) Subject: Looking for NeXT's dock icons Message-ID: <christia.746296808@theseas> Organization: National Technical University of Athens Date: Wed, 25 Aug 1993 16:40:08 GMT Can anyone send me a collection of NeXT's dock icons (grayscale and color)? I currently writing a program for the X Windows that creates a dock similar to NeXT's. The program is quite finished but I can't find any stylish icons to use. You can send them uuencoded through mail or (even better) tell me if I can find them in any anonymous ftp site. Thanks in advance, Panagiotis Christias - christia@theseas.ntua.gr -- ------------------------------------------------------------------------------ Panagiotis J. Christias National Technical Univ. of Athens, GREECE E-Mail : christia@theseas.ntua.gr "thanks Amiga for not being a PC" ------------------------------------------------------------------------------
From: mstankus@oba.ucsd.edu (Mark Stankus) Newsgroups: comp.sys.next.programmer,comp.lang.objective-c,comp.object Subject: Making Obj-C faster? Message-ID: <53701@sdcc12.ucsd.edu> Date: 25 Aug 93 17:35:41 GMT Sender: news@sdcc12.ucsd.edu Followup-To: comp.sys.next.programmer Distribution: na Organization: Mathematics @ UCSD I was wondering.... One complaint is that obj-c is slower than C++. For example, -rank {return rank;} is basically a procedure call to return the value of a data field of an object in an object oriented way. In C++, someone would use an inline statement. 1. What about a new directive @inline which would attempt to replace a small function of the type above with an inline function. Since it is only at *attempt*, if the compiler can't resolve the inline command then it doesn't. This allows the programmer to still have the flexibility of objective-c but when the compiler can do better it does. 2. Maybe the compiler should try to do this anyways if it can if an "optimization" flag is set. Also, maybe the compiler could resolve some of the method calls to @selector (or whatever that is -- I am not experienced with objective-c yet) so that there would be a faster run time. Again, if the compiler can't resolve it, then it doesn't. Maybe someone could write a commercial preprocessor? Wouldn't this partially diffuse the static/binding debate in objective-c's favor? If I am all wet, so be it. Mark Stankus
From: isbell@cats.ucsc.edu (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: Finding Cell's Editor Date: 25 Aug 1993 19:12:19 GMT Organization: Cubic Solutions - NeXT software development and consulting Message-ID: <25gdijINN8bc@darkstar.UCSC.EDU> References: <1993Aug25.055609.1075@gleap.sccsi.com> <1993Aug25.143411.11056@fnbc.com> In article <1993Aug25.143411.11056@fnbc.com> drew@fnbc.com writes: >In article <1993Aug25.055609.1075@gleap.sccsi.com> clloyd@gleap (Charles C. >Lloyd) writes: >> How do I get the Text object for a given Cell? >The editor argument that you pass simply has to be a Text object - usually the >Window's field editor, obtained through the window method fieldEditor. In most ^^^^^^^^^^^ What Drew probably really meant to say was getFieldEditor:for: :-) -- -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
From: jimb@access.digex.net (Jim Brooking) Newsgroups: comp.sys.next.programmer Subject: Help: Changing DBTableView Text w/o Fetch Date: 25 Aug 1993 15:12:10 -0400 Organization: Object oriented Distribution: usa Message-ID: <25gdia$fmk@access.digex.net> I need to change the text value of an item in an uneditable DBTableView without fetching (and destroying current record lists). How can I do that? I need to do this because I am programatically changing a value which a one-to-one relationship uses to fetch records. (Make sense?) Thanks for any help! -- jimb@access.digex.com | NeXTSTEP Developer | MARRC Cornerworker '93 GSX600FP Katana | Murder Capital, DC | Summit Point Raceway, WV ---(Katanaraptor)-----+----------------------------+-------------------------- "Relax, Don't Worry, Have a Homebrew"
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: larry@gator.oau.org (Larry D Snyder) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Message-ID: <CCC0vB.Buy@gator.oau.org> Organization: Gator Communications, Orlando, Florida References: <1993Aug23.004334.26476@taylor.uucp> <Aug23.025415.31923@acs.ucalgary.ca> <1993Aug23.131841.2625@taylor.uucp> <Aug23.155109.55345@acs.ucalgary.ca> <CC9wnA.EoJ@gator.oau.org> <1993Aug24.182641.13287@taylor.uucp> Date: Wed, 25 Aug 1993 20:28:22 GMT mark@taylor.uucp (Mark A. Davis) writes: >larry@gator.oau.org (Larry D Snyder) writes: >>bstone@acs.ucalgary.ca (Blake Stone) writes: >>>Where are these products for Linux? (cough, gasp) >>They won't be there. Why should Word Perfect develop an application >>for an operating system that is free? >That is a silly thing to say. COFF/ELF is under development for Linux. So it >WABI. When they are complete, a vast array of software will be available. But what are the chances that software vendors will support the Linux environment? I mean, if you call Progress and ask for support under Linux -- do you think they will support it? Chances are, Linux will not be a supported operating system even if Linux supports COFF/ELF. -- Larry Snyder Internet: larry@gator.oau.org Orlando, Florida UUCP: ..!uunet!tarpit!gator!larry
Newsgroups: comp.sys.next.programmer From: joeba@jbc.com (Joe Barello) Subject: informix DBKIT adapter ? Message-ID: <1993Aug25.191107.9344@pencom.com> Sender: usenet@pencom.com (News system) Organization: Pencom Systems Incorporated Distribution: usa Date: Wed, 25 Aug 1993 19:11:07 GMT Is there a DBKIT adapter available for Informix? Please reply to mail account. -- Thanks; joeba@jbc.com joeba@pencom.com
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: larry@gator.oau.org (Larry D Snyder) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Message-ID: <CCC10I.C3F@gator.oau.org> Organization: Gator Communications, Orlando, Florida References: <1993Aug23.004334.26476@taylor.uucp> <Aug23.025415.31923@acs.ucalgary.ca> <1993Aug23.131841.2625@taylor.uucp> <Aug23.155109.55345@acs.ucalgary.ca> <CC9wnA.EoJ@gator.oau.org> <WAYNE.93Aug24200145@backbone.uucp> Date: Wed, 25 Aug 1993 20:31:29 GMT wayne@backbone.uucp (Wayne Schlitt) writes: > free/cheap that commercial companies won't support it. After all, > DOS is practically free as is OS/2 on IBM PS/2's, and Unix on most > workstations. Yes, but DOS is used slightly more than Linux, afterall, everyone has heard of DOS, but how many folks have heard of Linux? >2) The reason why Word Perfect _might_ develop an application for > Linux is because of it's install base, especially if it grows by > another order of magnitude, or two. Actually, WP is interested in the potential for making money for a specific environment -- -- Larry Snyder Internet: larry@gator.oau.org Orlando, Florida UUCP: ..!uunet!tarpit!gator!larry
Newsgroups: comp.sys.next.programmer From: gemoe@proximus.north.de (Gerhard Moeller) Subject: rtf-sources and NEXTSTEP 3.1 - PROBLEMS!!! Sender: gemoe@proximus.north.de (Gerhard Moeller) Organization: Gerhard Moeller, German NeXT User Group, Oldenburg. Date: Mon, 23 Aug 1993 22:27:42 GMT Message-ID: <1993Aug23.222742.1646@proximus.north.de> HELP!!! A while ago I installed the rtf-compiler (available at the archives) and from then on I wrote all sources in rtf format. (a few hundred kByte source) Today I installed NEXTSTEP 3.1. The rtf-cpp is not compatible anymore with the ProjectBuilder, so I cannot compile anything anymore!!! This is *really* bad. Now I neeed a rtf-compiler that works with NEXTSTEP 3.1 (for NeXT) PLEASE, any help badly needed! Gerhard. -- +---------------------------< principiis obsta! >---------------------------+ N Gerhard Moeller, Teichstr. 12, 26122 Oldenburg (FRG) [*: 02/21/1968] N e Private: gemoe@proximus.north.de Phone (voice): +49-441-75520 e X Uni: Gerhard.Moeller@arbi.Informatik.Uni-Oldenburg.DE NeXTmail X T Z-Net: Gerhard.Moeller@uniol.zer encouraged! T +-> NoGeNUG - Northern German NeXT User Group: NoGeNUG@proximus.north.DE <-+
Newsgroups: comp.sys.next.programmer From: smith@nextone.niehs.nih.gov (Howard C. Smith) Subject: POSIX termios, where? Message-ID: <1993Aug25.204703.27740@alw.nih.gov> Keywords: posix,termios,library Sender: postman@alw.nih.gov (AMDS Postmaster) Organization: National Institutes of Health Date: Wed, 25 Aug 1993 20:47:03 GMT Help! Im trying to compile the latest release of ytalk under NS3.1, but cant seem to find the library in which tcsetattr and tcgetattr reside. I can see the man pages... Did the termios library not really make it into the 3.1 release? -- Howard C. Smith National Institute of Environmental Health Sciences 111 T.W. Alexander Drive Research Triangle Park, NC 27709 smith@nextone.niehs.nih.gov (919) 541-7594
Newsgroups: comp.sys.next.programmer From: matt@drefla.mese.com (Matt Brandt) Subject: Browser display problem Message-ID: <1993Aug25.194359.6835@drefla.mese.com> Sender: matt@drefla.mese.com Organization: Applied Engineering Date: Wed, 25 Aug 1993 19:43:59 GMT I'm having problems getting a browser to display new data. If I fill the data in the delegate's browser:fillMatrix:inColumn: method then that data shows up all right. If I later try adding more cells to the matrix I can't get them to show up. Here is the basic code I am trying to use to add stuff to the browser: BTW, a ThingDiscriptor is a subclass of NXBrowserCell... - newThing:sender { id matrix; thingDescriptor *newcell; matrix = [thingBrowser matrixInColumn: 0]; [matrix addRow]; newcell = [matrix cellAt: [matrix cellCount]-1 : 0]; [[[newcell setLoaded: YES] setEnabled: YES] setLeaf: YES]; [newcell setLoaded: YES]; [thingBrowser displayColumn: 0]; return self; } Any clues? -- ----------------------------------------------------------- Matt Brandt | A short .sig matt@drefla.mese.com | is a good .sig ----------------------------------------------------------- -- ----------------------------------------------------------- Matt Brandt | A short .sig matt@drefla.mese.com | is a good .sig
Newsgroups: comp.sys.next.programmer From: cary@fiu.edu (Cary Bakker) Subject: Simple Q about streams and files. Organization: Florida International University, Miami Date: Wed, 25 Aug 1993 22:17:17 GMT Message-ID: <CCC5wu.CEM@fiu.edu> Sender: news@fiu.edu (Usenet Administrator) I was having trouble with using a stream to create a file. I use a stream to read an input file, and it works fine. Could someone please send me a simple example? I have to make this mssg. brief before the system goes down.... Thanks... Non next mail please.... Cary A. Bakker.
Newsgroups: comp.sys.next.programmer From: wave@pixar.com (Michael B. Johnson) Subject: Re: Inspector Object Message-ID: <1993Aug25.203014.4445@pixar.com> Sender: news@pixar.com (Usenet Newsmaster) Organization: Pixar -- Point Richmond, California References: <1993Aug25.160551.173298@lexmark.com> Distribution: usa Date: Wed, 25 Aug 1993 20:30:14 GMT In article <1993Aug25.160551.173298@lexmark.com> songer@lexmark.com (Christopher Songer) writes: > Hi! > > I seem to recall the existence of an object available on > the archive servers to manage views for an "inspector" like > object. Unfortunately, I cannot recall the name of the archive. > If someone could point me in the right direction I'd really > appreciate it. > Ya know, I think I downloaded every one of these sorts of things over the years that have been posted, and been underwhelmed by all of them. I'm happy to report, though, that the MiniExample written by Thomas Burkholder has just the thing - and it's on a palette, which makes it a joy to use. Just drag a SwitchView onto a Window, and then connect it up to the various views you want to swap in. Because of the ingenious way Thomas implemented it, you can actually test it fully inside of IB. You can get this one at ftp.next.com, it's one of the latest MiniExamples (in TTools, I believe). -- --> Michael B. Johnson -- wave@media.mit.edu, wave@pixar.com --> MIT Media Lab -- Computer Graphics & Animation Group --> P*I*X*A*R -- IceMan Group (for the summer)
Newsgroups: comp.sys.next.programmer From: yanik@planon.qc.ca (Yanik Crepeau) Subject: Distributed Object Multi-Thread server Message-ID: <1993Aug25.191424.3165@CAM.ORG!planon> Keywords: Distributed Oject Task Thread Threaded server Sender: yanik@CAM.ORG!planon Date: Wed, 25 Aug 1993 19:14:24 GMT I work on a Multi-Threaded server project. The purpose of that server is to broadcast ASCII messages over the network to clients. One client send a message, all clients, except the sender, receive such a message. To acheive that, the client application encapsulate its message into an object. That object has four (4) outlets: char theMessage[64]; char theSender[64]; int messageType; int refs; The first three outlets are used to encode the message, the last (refs) is used as reference count; my object conforms to the NXReference protocol. The client uses - (oneway)clientToServer:(in id)anObject method to send the messaging object to the server. It receives from the server messages via the -(oneway)serverToClient:(in id)anObject method. In the server, I have the following method: - (oneway)clientToServer:(in id)anObject { int c, nbreElement; mutex_lock(mutexListe); nbreElement = [uneListe count]; mutex_unlock(mutexListe); for (c = 0; c < nbreElement; c++) { mutex_lock(mutexListe); if ([uneListe objectAt:compteur] != self) [[uneListe objectAt:c] serverToClient:anObject]; nbreElement = [uneListe count]; mutex_unlock(mutexListe); } printf("!\n"); } Right now, my server works. Howver, each time a client send a message, I have an exclamation point and a cariage return printed in my Console. If I remove the "printf("!\n");" statement, the server crashes when a client send a message. The "printf("!\n);" acts like a vaccine against server crashes... The problem is that the printf is NOT the solution to my problem and that hides the real problem, sooner or later the "vaccine" will be inoperative and my server will crash again. Any clues will be welcomed! Yanik -- Yanik Crepeau Programmer Planon Telexpertise E-Mail: yanik@planon.qc.ca (NeXT)
From: bakker@cyclon.aoml.erl.gov (Cary Bakker) Newsgroups: comp.sys.next.programmer Subject: A beginner question about streams.... Date: 25 Aug 1993 22:01:12 GMT Organization: U.S. Department of Commerce, NOAA/AOML Message-ID: <25gnf8$4g2@wave.aoml.erl.gov> This is the code that I tried (everything but the jist munched). I want to use a stream to create a new text file and I thought this would work. The input stream works fine, but the outStream is not created (i.e. it is nil when I try to use it). Could you tell me what I'm doing wrong here? inStream = NXMapFile(inputFile,NX_READONLY); outStream = NXMapFile(outputFile,NX_WRITEONLY); while (!(NXScanf(inStream,"%i %f %f", &pointNo, &lat, &lon)==EOF)) NXPrintf(outStream,"%i\t%f\t%f\n",pointLabel,prevlat,prevlon); NXClose(inStream); NXSaveToFile(outStream, outputFile); NXClose(outStream); Thanks for the help, Cary A. Bakker..
From: kheit@gandalf.rutgers.edu (John Kheit) Newsgroups: comp.sys.next.programmer Subject: FFT amp->freq routine Message-ID: <Aug.25.20.56.39.1993.11207@gandalf.rutgers.edu> Date: 26 Aug 93 00:56:39 GMT Organization: Rutgers Univ., New Brunswick, N.J. Hi all, Im writing a project where I take a whole bunch of amplitudes from a sound file and dump them into an array. Now I believe I need to run an FFT on ths array to break it up into the contributing X number of frequencies. So here is the rub, does anyone have a REAL simple FFT routine that I could use? I'm doing this on a NeXT computer... Does anyone know if its quicker for me to have the DSP do this or just to let the processor do it? I will have to run this FFT every .05 secs so I wonder if its worth the trouble to shoot data over to the DSP? Anyhow thats why I want the code so I can have the CPU do it, but if its faster to have the DSP do it I would appreciate an example of how to use the DSPfftr2() function, giving it my array. Actually I would like the FFT in any case, so the program could run on the Intel machines too... I also noticed the "setFromSamples:" method in the Partials class of the music kit. It takes a samplesObject??? What is this samplesObject??? Can I just pass it a SNDsoundStruct or a sound object with a sound in it??? Or do I just give this method an array of samples??? Does this method even work with sound type or does it work with scoretype sound?? Sorry for the stupid questions, but this is my first project in signal processing. THANKS BIG TIME for all/any help!!! Later, John
From: isbell@cats.ucsc.edu (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: Inspector Object Date: 26 Aug 1993 01:46:02 GMT Organization: Cubic Solutions - NeXT software development and consulting Distribution: world Message-ID: <25h4kqINNfaf@darkstar.UCSC.EDU> References: <1993Aug25.203014.4445@pixar.com> In article <1993Aug25.203014.4445@pixar.com> you write: >I'm >happy to report, though, that the MiniExample written by Thomas Burkholder >has just the thing - and it's on a palette, which makes it a joy to use. >Just drag a SwitchView onto a Window, and then connect it up to the >various views you want to swap in. Because of the ingenious way Thomas >implemented it, you can actually test it fully inside of IB. Unfortunately, I've found this SwitchView to be buggy. After adding at least one view to the list of switch views, when I try to switch the Connections Inspector from the View List Inspector to the Box Inspector, using the Alt-Control-Drag instruction on the Inspector does nothing but open IB Help :-( If I assume that Alt-Click is really meant like for the Attribute Inspector, I get a runtime error: Runtime error: SVConnector : does not recognize selector -label. After dismissing the Alert Panel and clicking on the Inspector panel, the Box Inspector does appear, but this problem hasn't made me anxious to use this in production code when other switch view palettes, although possibly less elegant, work flawlessly. Of course, source code for TTools palette is included, so I guess this bug can be fixed, but releasing a MiniExample that's broken seems a little poor. But I appreciate a buggy MiniExample over none at all, so I'm not really complaining :-) If anyone's patched TTools, please post your patch and save us all from repeating your work. But then maybe this is like a puzzle that NeXT has released. Solving the problem will help us learn how it works :-) -- -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: Distributed Object Multi-Thread server Date: 25 Aug 1993 22:00:26 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <25h5fq$cah@digifix.digifix.com> References: <1993Aug25.191424.3165@CAM.ORG!planon> Yanik Crepeau writes > - (oneway)clientToServer:(in id)anObject > { > int c, nbreElement; > mutex_lock(mutexListe); > nbreElement = [uneListe count]; > mutex_unlock(mutexListe); > > for (c = 0; c < nbreElement; c++) > { > mutex_lock(mutexListe); > if ([uneListe objectAt:compteur] != self) > [[uneListe objectAt:c] serverToClient:anObject]; > nbreElement = [uneListe count]; > mutex_unlock(mutexListe); > } > printf("!\n"); > I don't have an answer to this question, but I had to make a comment. I've NEVER seen code written in french before! That might have kept me interested during my French classes in high school! Please conjugate this variable.... :-) -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
From: michaell@swdev.research.otc.com.au (Michael Lofquist) Newsgroups: comp.sys.next.programmer Subject: DBKIT Network ACCESS ??? Date: 26 Aug 1993 00:46:51 GMT Organization: Technical Development Group, Telstra International Distribution: world Message-ID: <25h15r$qkc@turin.research.otc.com.au> Sorry, I am a novice concerning the DBKit. How does the DBKit access Oracle ( or other db's ) accross a network ? Does it use it's own TCP/IP RPC or use existing Oracle tools like SQLNet ?? Thanks for any reply ! Email answers if possible !! Michael
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: mark@taylor.uucp (Mark A. Davis) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Organization: Lake Taylor Hospital Computer Services Date: Thu, 26 Aug 1993 02:10:41 GMT Message-ID: <1993Aug26.021041.19364@taylor.uucp> References: <1993Aug23.004334.26476@taylor.uucp> <Aug23.025415.31923@acs.ucalgary.ca> <1993Aug23.131841.2625@taylor.uucp> <Aug23.155109.55345@acs.ucalgary.ca> <CC9wnA.EoJ@gator.oau.org> <1993Aug24.182641.13287@taylor.uucp> <CCC0vB.Buy@gator.oau.org> larry@gator.oau.org (Larry D Snyder) writes: >mark@taylor.uucp (Mark A. Davis) writes: >>larry@gator.oau.org (Larry D Snyder) writes: >>>bstone@acs.ucalgary.ca (Blake Stone) writes: >>>>Where are these products for Linux? (cough, gasp) >>>They won't be there. Why should Word Perfect develop an application >>>for an operating system that is free? >>That is a silly thing to say. COFF/ELF is under development for Linux. So it >>WABI. When they are complete, a vast array of software will be available. >But what are the chances that software vendors will support the Linux >environment? I mean, if you call Progress and ask for support under >Linux -- do you think they will support it? Chances are, Linux will >not be a supported operating system even if Linux supports COFF/ELF. What would you do if you had a COFF commercial program for sale and a brand new market just popped up (rather large potential too) and could use your software without your hardly lifting a finger? And what if they don't directly support it? Use it unsupported. Call another company who mmight decide to pick up support for that app (strange, but I have seen stranger). I think your pessimism is too early.... -- /--------------------------------------------------------------------------\ | Mark A. Davis | Lake Taylor Hospital | Norfolk, VA (804)-461-5001x431 | | Sys.Administrator| Computer Services | mark@taylor.wyvern.com .uucp | \--------------------------------------------------------------------------/
Newsgroups: comp.sys.next.programmer From: kurt@frsvnsvn.cts.com (Kurt Werle) Subject: Re: multiple definitions of symbol.... Message-ID: <1993Aug26.013717.19149@frsvnsvn.cts.com> Organization: little to none References: <1993Aug25.051021.11950@frsvnsvn.cts.com> Date: Thu, 26 Aug 1993 01:37:17 GMT Art Isbell wrote me and said: > One can usually deal with these multiple defines using the preprocessor to > rename the function that's being defined in the current code: > > > cc $(CFLAGS) -Dmalloc=newMalloc ... > > Or if that would mean editing a bunch of cc lines, then the -D flag could be > added to CFLAGS. And that did the trick!! Kurt p.s. For Unix's friendliest editor pick up joe from world.std.com
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: mark@taylor.uucp (Mark A. Davis) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Organization: Lake Taylor Hospital Computer Services Date: Thu, 26 Aug 1993 02:13:27 GMT Message-ID: <1993Aug26.021327.19497@taylor.uucp> References: <1993Aug23.004334.26476@taylor.uucp> <Aug23.025415.31923@acs.ucalgary.ca> <1993Aug23.131841.2625@taylor.uucp> <Aug23.155109.55345@acs.ucalgary.ca> <CC9wnA.EoJ@gator.oau.org> <WAYNE.93Aug24200145@backbone.uucp> <CCC10I.C3F@gator.oau.org> larry@gator.oau.org (Larry D Snyder) writes: >wayne@backbone.uucp (Wayne Schlitt) writes: >> free/cheap that commercial companies won't support it. After all, >> DOS is practically free as is OS/2 on IBM PS/2's, and Unix on most >> workstations. >Yes, but DOS is used slightly more than Linux, afterall, everyone has >heard of DOS, but how many folks have heard of Linux? According to statistics, millions at this point. >>2) The reason why Word Perfect _might_ develop an application for >> Linux is because of it's install base, especially if it grows by >> another order of magnitude, or two. >Actually, WP is interested in the potential for making money for >a specific environment -- It is doubtful that WP will port WP to Linux. They might, however, modify a few install scripts and tweek some things for the COFF version if it ran under Linux. The EXACT same thing they are doing for 5.4.2 at this time! -- /--------------------------------------------------------------------------\ | Mark A. Davis | Lake Taylor Hospital | Norfolk, VA (804)-461-5001x431 | | Sys.Administrator| Computer Services | mark@taylor.wyvern.com .uucp | \--------------------------------------------------------------------------/
From: alex@cs.umd.edu (Alex Blakemore) Newsgroups: comp.sys.next.programmer Subject: Re: Inspector Object Date: 26 Aug 1993 03:26:39 GMT Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Distribution: world Message-ID: <25hahf$3v2@neomimsy.cs.umd.edu> References: <1993Aug25.203014.4445@pixar.com> <25h4kqINNfaf@darkstar.UCSC.EDU> In article <25h4kqINNfaf@darkstar.UCSC.EDU> isbell@cats.ucsc.edu (Art Isbell) writes: > Unfortunately, I've found this SwitchView [in TTools] to be buggy. another alternative is FlipPalette on the archives. I only used it a little - no stress test, but it worked. has docs, palette, libraries, and a decent example of a IB inspector. if you dont have ftp access, try info@biztech.com -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted -------------------------------------------------------------- "Without an engaged and motivated human being at the keyboard, the computer is just another dumb box." William Raspberry
From: dcurfman@perot.mtsu.edu (Mr. Don Curfman) Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Date: 26 Aug 1993 03:37:11 GMT Organization: Middle Tennessee State University, Murfreesboro, Tennessee Message-ID: <25hb57$oak@perot.mtsu.edu> References: <westesCC6ELA.77I@netcom.com> <1993Aug23.004334.26476@taylor.uucp> <Aug23.025415.31923@acs.ucalgary.ca> <1993Aug23.131841.2625@taylor.uucp> In <1993Aug23.131841.2625@taylor.uucp> mark@taylor.uucp (Mark A. Davis) writes: >bstone@acs.ucalgary.ca (Blake Stone) writes: >>NeXTSTEP provides a pretty standard BSD face, so getting most >>UNIX tools up an running is pretty straightforward. Are there >>any in particular you are looking for? >Yeah, and BSD faces are dead- they have been merged into System 5.4.2. Having spent the last four months trying to get SysV R4.2 to talk to the Ultrix boxes on the lan, I couldn't disagree more. Software written on a BSD machine CANNOT be compiled on a SVR4.2 machine without extensive modifications. The file system is arranged differently, The BSD Sockets have given me fits (There are pieces missing), etc. etc. What USL has added is a certain degree of BSD Compatability (In an add-on package, NOT part of the foundation set). So you get things like nroff and troff etc. Nice, but far from making System V into BSD. If I was buying a UNIX system instead of working on one sombody else bought (without asking my opinion) I would not even consider System V, simply because of portability problems. >Mainstream Unixes are like SCO, Sun, Dec, 5.4.2. All propriatary to a certain extent. Especially Sun's solaris, it's strange... >>> It seems NeXT is going out of their way to produce *YET >>> ANOTHER* flavor of Unix and make it different and incompatible >>> enough to be dysfunctional. Nope, BSD 4.3 is not another flavor of UNIX. It's what our DEC Ultrix claims to be. Which you have declared to be standard. >BSD is not longer a standard Unix flavor (boy can I see the flames coming). >It has been folded into the now standard Unix flavor- 5.4.2. I am not >saying it is better or worse, just not standard now. In Univel's dreams only. >Linux is mainstream. Just not commercially mainstream. >It is completely standard- from using the X interface >to the 5.4.2'ish look and feel. It is built on all the common tools we all >use such as gcc. Linux has the MooLit toolkit? hmmmm... Does Univel know this? While I'm sure we all wish that every program would run on every platform and under every OS, reality dictates otherwise. Whatever you choose will exclude you from something. Only the end user can decide which capabilities are important and which can be sacrificed. (but LINUX? jeez...) Don Curfman
From: kheit@gandalf.rutgers.edu (John Kheit) Newsgroups: comp.dsp,comp.sys.next.programmer Subject: discrete/continous time FFT, amp->freq routine Keywords: fft, continous, discrete, amplitude, frequency Message-ID: <Aug.25.23.55.54.1993.19776@gandalf.rutgers.edu> Date: 26 Aug 93 03:55:54 GMT Followup-To: comp.dsp Organization: Rutgers Univ., New Brunswick, N.J. Hi all, Im writing a project where I take a whole bunch of amplitudes from a sound file and dump them into an array. Now I believe I need to run an FFT on ths array to break it up into the contributing X number of frequencies. Ok, now I have a radix 4 FFT, and thats OK, but what I found out that I need is either a Discrettime FFT or a Continous time FFT (in C of course :) (If you have such a routine and can email it to me that would be a blessing, If you know where I can find such a routine that, too would be a blessing :) I think this takes a 2 dim array with time data and will give me back the frequncies. MUCHAS GRACIAS for all/any help!!! Later, John
Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs From: sholder@cse.uta.edu (Shane Andrew Holder) Subject: HELP: Problem with NeXT Header files, (all should read) Message-ID: <1993Aug26.040149.6094@news.uta.edu> Keywords: compiler, header, ingres Sender: news@news.uta.edu (USENET News System) Organization: Computer Science Engineering at the University of Texas at Arlington Date: Thu, 26 Aug 1993 04:01:49 GMT OK, The tools: NeXT 68040 NS v3.0 cc v 1.93 default compiler gcc 2.4.5 ingres 8.9 The task: I'm trying to compile Ingres on my NeXT. I'm going to try and port it, big task I know but I'm bored. The problem: (Those damn header files) Because of the way Ingres was written I am having to use a -traditional as one of the flags to cc (someone declared a variable with the name const). When using -traditional neither gcc nor cc will evaluate the #include macros that NeXT uses in some of their header files. ex: #include ARCH_INCLUDE(bsd/, machparam.h) in the file /NextDeveloper/Headers/bsd/machine/machparam.h I wasn't surprised to find out that gcc wouldn't make the translation. I mean, if your compiling with -traditional you should expect traditional stuff, but when cc didn't work (I know it's based on gcc) I was a little peeved. If NeXT is going to do so much untraditional stuff then they should support it fully. Now, I have been happy with my NeXT from the day I bought it. I understand their reasons for dinking with the headerfiles the way they have, and I don't want to start a debate on whether or not it's right or wrong, but damnit if it ain't frustrating to deal with in the real world. If anyone has any real suggestions on how I can get through my delima -- Thanks, Shane Holder sholder@cse.uta.edu
Newsgroups: comp.sys.next.programmer From: titmouse!bshirley (C. William Shirley) Subject: Re: Appkit bug...or me? Message-ID: <1993Aug26.023747.2216@gleap.jpunix.com> Sender: bshirley@gleap.jpunix.com Organization: The Republic of Texas References: <1993Aug20.134854.71410@cc.usu.edu> Date: Thu, 26 Aug 1993 02:37:47 GMT In article <1993Aug20.134854.71410@cc.usu.edu> slv0y@cc.usu.edu writes: > My app is getting stuck in an infinate loop and I'm not sure if it is me > (probably) or something the appkit may be doing. Here is the scenario: > > Controller object displays a panel with button that allows a user to move back > and forth within a flat file database (ala indexing kit). The forward and > backwards button are "continuous" buttons. (You hold it down instead of having > to keep hitting it). All this is set up in IB. If a certain record cannot be > read (because it has been deleted), it brings up an alert panel giving an > error. The problem is, the button keeps thinking its being held down and as a > result when the alert panel is "OKed" it returns, another error happens, and so > on and so on... > > How do I tell the button that it isn't being held down anymore when it thinks > it is? Why does't the button know it isn't being held down when the active > window changes to the alert panel? Very strange...any help would be > appreciated. Ahh, debugging by candlelight. If this loop *really* infinate or is it just long? If you push the OK button enough, will it eventually end? My guess is that the repeat functionality causes events to be appended to the event queue at givin intervals, and that your processing of the events takes longer that it takes for the next event to be appended. So the solution is to get rid of the extra events. I suggest you do it evertime you process one (this will have the added benefit that when the user lifts the mouse, there it won't keep going.) So how do we get rid of those events? [NXApp getNextEvent: waitFor: threshold: ]; should get them for you, there is even a flag fomewhere in the event to check it the event was a "real" mouse down or a "fake" one. For more info check HeaderViewer/Application/getNextEvent:waitFor:threshold: > > John Zollinger > slv0y@cc.usu.edu > -bill -- Bill Shirley (NXceptable) BShirley@GLeap.sccsi.com (home) | BShirley@atg.WilTel.com (work) ``I had so many problems, then I got me a Walkman.'' - Frank Black
Newsgroups: comp.sys.next.programmer From: titmouse!bshirley (C. William Shirley) Subject: Re: Clipping Text in a box nicely... Message-ID: <1993Aug26.031235.2347@gleap.jpunix.com> Sender: bshirley@gleap.jpunix.com Organization: The Republic of Texas References: <MAX.93Aug20085121@Kolmogorov.gac.edu> Date: Thu, 26 Aug 1993 03:12:35 GMT In article <MAX.93Aug20085121@Kolmogorov.gac.edu> max@Kolmogorov.gac.edu (Max Hailperin) writes: > I'm afraid I'm going to have to vent my natural urges as a computer > science professor to grade papers on the posters of this group, since > my own students don't return to campus for a couple more weeks. If > you don't care about orders of growth, efficiency, search, etc., skip > this. I know that two of the three posters used smileys, but I'm > going to go ahead and pick on them anyhow. It's a good thing the English teachers don't read this group... ;-) ...but this *is* an e-format, grammar need not apply. > > In article <1324@rtbrain.rightbrain.com> glenn@rightbrain.com (Glenn > Reid) writes: > > [whole discussion deleted] > > If you're going to use "getWidthOf:", at least make it a binary search > instead of a linear search, so you don't take the width of all the > substrings in the string every time (which is order N!). I thought he was emphatically stating it to be O(N) ;-) > > No, it isn't. (As an aside, I'm assuming you really mean to say not > "substrings" but rather "prefixes".) It is order N^2. [N + (N-1) + > (N-2) + ... + 1 = N(N+1)/2.] N^2 grows *much* more slowly than N!. > > Look at the whole string, then half the string, then 3/4 of the string, > etc. > > We then here from Denise Blakeley <blake015@mc.duke.edu>: > > I'm pretty sure he meant 1/4. :-) > > No, it could be either 1/4 or 3/4, depending on whether half the > string fit or not. If it fit, then the next thing to try is 3/4, to > see if you can get more of it to fit. let's all practice our binary searches: I'm thinking of a number between 1 and 100... > Finally, from Eric P. Scott <eps@futon.SFSU.EDU>: > When you're looking up a name in a telephone directory, do you > always start in the middle of the book? :-) > > Phone books aren't comparable, because there is the ability to use > indexing and interpolation (we all know that "Scott" must be in the > back half of the book, unless San Francisco has an *extremely* skewed > distribution of names, wheras we presumably don't know a priori where > the truncation point in the string is likely to be). I don't think the Big-O analysis is applicable to this problem. We know a lot about the domain of this "algorithm" that we can apply to our decision making: 1) We can assume that most of the strings will be perfectly visible and will only require one call. (If not, we need to redesign some of the gui. What use is never being able to read something that is being displayed) 2) It is reasonable to assume that strings will be relatively short. 10 - 30 chars prob'ly, 30 - 100 possible, if it's more than that, why is it on one line? (99.999% sure < 400 chars) 3) The character based computation is likely orders of magnitude faster than the display of the string. (maybe just multiples and not magnitudes) So, with the above considerations I'd say... If you're hacking 'n slashing, or even if you're quickly impolementing a well thought out design, do it the quick and dirty way. If you notice performance problems or, after profiling your finished app, you discover costly routines, then fix them. <donning philosopher's cap> We need to not forget that our time is worth more than a CPU's time or a disk's space. If we strive for the (theoretically) perfect app, we'll end up striving for a long time. (But if that's what float's your boat, then by all means...) <done waxxing> -bill "the only thing i like less that professors that know big-O, is engineering majors that don't" shirley (PS: ouch, is there anyone i didn't offend?) -- Bill Shirley (NXceptable) BShirley@GLeap.sccsi.com (home) | BShirley@atg.WilTel.com (work) ``I had so many problems, then I got me a Walkman.'' - Frank Black
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: multiple definitions of symbol.... Message-ID: <1993Aug26.073716.22702@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Aug25.051021.11950@frsvnsvn.cts.com> Date: Thu, 26 Aug 1993 07:37:16 GMT In article <1993Aug25.051021.11950@frsvnsvn.cts.com> kurt@frsvnsvn.cts.com (Kurt Werle) writes: >This was once a FAQ, but I couldn't find it. How does one deal with the >infamous 'multiple definitions of symbol (_malloc)' when compiling some >bsd apps? The general rule is that you're not allowed to override procedures in libsys. malloc() is actually one of the few exceptions (yes, there's a trick to it). HOWEVER, software that attempts to provide its own version of malloc() for the hell of it is probably severely misguided. NeXT's malloc() is not the traditional BSD malloc(), and if you think you're going to get better performance with your own version, you're probably wrong. I'd try commenting out the offending code and seeing what happens. >In particular I'm trying to compile joe. I've never heard of this. -=EPS=-
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: POSIX termios, where? Message-ID: <1993Aug26.074652.23270@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Aug25.204703.27740@alw.nih.gov> Date: Thu, 26 Aug 1993 07:46:52 GMT In article <1993Aug25.204703.27740@alw.nih.gov> smith@nextone.niehs.nih.gov (Howard C. Smith) writes: >under NS3.1, but cant seem to find the library in which >tcsetattr and tcgetattr reside. I can see the man pages... >Did the termios library not really make it into the 3.1 release? That's right, and it is documented online. There is *no* POSIX support in 3.1--just some deceptive header files. -=EPS=-
Newsgroups: comp.sys.next.programmer Subject: Re: multiple definitions of symbol.... Message-ID: <1993Aug26.014427.6323@nic.csu.net> From: eps@futon.SFSU.EDU (Eric P. Scott) Date: 26 Aug 93 01:44:25 PDT References: <1993Aug25.051021.11950@frsvnsvn.cts.com> <1993Aug26.073716.22702@csus.edu> Organization: San Francisco State University >>In particular I'm trying to compile joe. In article <1993Aug26.073716.22702@csus.edu> I wrote: >I've never heard of this. OK, I got a copy of joe 1.0.8. I completely replaced heap.c with just this: void *memalign(align,size) int align, size; { extern void *valloc(); return(valloc(size)); } This should have been enough--except that joe defines its own function called valloc() which has no relation whatsoever to the valloc() decent UNIX systems provide. So I added to config.h: #define valloc valloc_ For the Makefile, copy bsd.mak and add -bsd -DTILDE=0 to the CFLAGS= line. -=EPS=-
From: Alexander.Hauer@ifr.luftfahrt.uni-stuttgart.de (Alexander Hauer) Newsgroups: comp.sys.next.programmer Subject: NS3.2 POSIX ? Date: 26 Aug 1993 09:34:25 GMT Organization: Comp.Center (RUS), U of Stuttgart, FRG Message-ID: <25i031$pmo@info2.rus.uni-stuttgart.de> Keywords: NS3.2 POSIX Hi everybody out there, does anybody --KNOW-- whether NS 3.2 will support POSIX (not only with nice useless headers)? alex -- _____________________________________________________________________________ Alexander A. Hauer E-Mail: alexander.hauer@ifr.luftfahrt.uni-stuttgart.de University of Stuttgart Fortststrasse 86 Institute of Flightmechanics and Control 70176 Stuttgart Phone:(+49)711-121-1432 Fax:(+49)711-634856 Fed. Rep. of Germany
Newsgroups: comp.sys.next.programmer From: cedman@princeton.edu (Carl Edman) Subject: Re: POSIX termios, where? In-Reply-To: smith@nextone.niehs.nih.gov's message of 25 Aug 93 20:47:03 GMT To: smith@nextone.niehs.nih.gov (Howard C. Smith) Message-ID: <CEDMAN.93Aug25191945@capitalist.princeton.edu> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University References: <1993Aug25.204703.27740@alw.nih.gov> Date: Wed, 25 Aug 1993 23:19:45 GMT In article <1993Aug25.204703.27740@alw.nih.gov> smith@nextone.niehs.nih.gov (Howard C. Smith) writes: Im trying to compile the latest release of ytalk under NS3.1, but cant seem to find the library in which tcsetattr and tcgetattr reside. I can see the man pages... Did the termios library not really make it into the 3.1 release? No, you aren't. You are trying to compile the penultimate release. Get the latest patch and it will compile without problems. BTW, this is good advise for anyone who ever uses talk -- ytalk is the zsh of talks. :-) Carl Edman
From: Uwe Hoffmann Newsgroups: comp.sys.next.programmer Subject: Re: Browser display problem Date: 26 Aug 1993 12:39:11 GMT Organization: Forschungszentrum Informatik (FZI), Karlsruhe, Germany Message-ID: <25iatg$1gk@gate.fzi.de> References: <1993Aug25.194359.6835@drefla.mese.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In article <1993Aug25.194359.6835@drefla.mese.com> matt@drefla.mese.com (Matt Brandt) writes: > I'm having problems getting a browser to display new data. >....... > - newThing:sender > { > id matrix; > thingDescriptor *newcell; > > matrix = [thingBrowser matrixInColumn: 0]; > [matrix addRow]; > newcell = [matrix cellAt: [matrix cellCount]-1 : 0]; > [[[newcell setLoaded: YES] setEnabled: YES] setLeaf: YES]; > [newcell setLoaded: YES]; > [thingBrowser displayColumn: 0]; > return self; > } > > Any clues? -- I don't know what's wrong with your code. If you still have the problem this is what works for me: I only feed in data into the browser in the delegate method such as "browser:fillMatrix:inColumn:" and what I do in "newThing:sender" is this : 1.) set a flag, so you know you have to add a new cell besides all the old cells in the affected column 2.) get the now selected cell and column 3.) if the selected cell is a leaf, make it a non-leaf 4.) if the column is the last column in the browser send the method "addColumn" to the browser 5.) send the method "reloadColumn" to the browser with argument the last column in the browser 6.)refresh your views, window whatever uwe....................................hoffmann@fzi.de (nextmail ok)
From: hubt@css.itd.umich.edu (-- Spawn --) Newsgroups: comp.sys.next.programmer Subject: Peeking at kernel variables/ where is kgdb? Date: 26 Aug 1993 13:17:42 GMT Organization: University of Michigan ITD Consulting and Support Services Distribution: world Message-ID: <25id5m$sd@stimpy.css.itd.umich.edu> I'm porting a protocol handler to the NeXT and I've been stuck by the problem of not being able to peek at kernel variables. I tried breaking into the monitor and then typing the 'variablename=' but that doesn't work. I've also seen reference to kgdb in the loadable kernel writing documentation, but I can't seem to find it. Can someone help me out? Do you have to use kgdb to look at kernel structures, or am I missing something? If so, where do I get kgdb from? --hubt -- <<<< hubt@umich.edu << Hubert Chen << pgp key on request or via finger <<<< It's not my god damn planet, monkey boy. -- John Bigbootey, Buckaroo Banzai
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: mark@taylor.uucp (Mark A. Davis) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Organization: Lake Taylor Hospital Computer Services Date: Thu, 26 Aug 1993 12:49:13 GMT Message-ID: <1993Aug26.124913.23421@taylor.uucp> References: <westesCC6ELA.77I@netcom.com> <1993Aug23.004334.26476@taylor.uucp> <Aug23.025415.31923@acs.ucalgary.ca> <1993Aug23.131841.2625@taylor.uucp> <25hb57$oak@perot.mtsu.edu> dcurfman@perot.mtsu.edu (Mr. Don Curfman) writes: >In <1993Aug23.131841.2625@taylor.uucp> mark@taylor.uucp (Mark A. Davis) writes: >>bstone@acs.ucalgary.ca (Blake Stone) writes: >>>NeXTSTEP provides a pretty standard BSD face, so getting most >>>UNIX tools up an running is pretty straightforward. Are there >>>any in particular you are looking for? >>Yeah, and BSD faces are dead- they have been merged into System 5.4.2. >Having spent the last four months trying to get SysV R4.2 to talk to the >Ultrix boxes on the lan, I couldn't disagree more. Software written on >a BSD machine CANNOT be compiled on a SVR4.2 machine without extensive >modifications. The file system is arranged differently, The BSD Sockets >have given me fits (There are pieces missing), etc. etc. What USL has >added is a certain degree of BSD Compatability (In an add-on package, >NOT part of the foundation set). So you get things like nroff and >troff etc. Nice, but far from making System V into BSD. The last sentence of your statement is the key. System V.4 is not trying to BE BSD, just to incorporate some of the better features in an attempt to make the newer Unixes closer together and more featureful. >If I was buying a UNIX system instead of working on one sombody else bought >(without asking my opinion) I would not even consider System V, simply >because of portability problems. ?? It depends on what you are porting from. Certainly the point of making porting easier, and bringing Unix together into one is to merge people together, not choose opposing poles. >>Mainstream Unixes are like SCO, Sun, Dec, 5.4.2. >All propriatary to a certain extent. Especially Sun's solaris, it's >strange... Nothing could be stranger than pure BSD compared to pre release 4 of System V. You hit the nail on the head, anyway. Even close Unixes are still not close enough (at least for software interoperability). >>BSD is not longer a standard Unix flavor (boy can I see the flames coming). >>It has been folded into the now standard Unix flavor- 5.4.2. I am not >>saying it is better or worse, just not standard now. >In Univel's dreams only. >>Linux is mainstream. Just not commercially mainstream. >>It is completely standard- from using the X interface >>to the 5.4.2'ish look and feel. It is built on all the common tools we all >>use such as gcc. >Linux has the MooLit toolkit? hmmmm... Does Univel know this? Who said that MooLit is standard? I did not say that Unixware was THE standard right now, just that 5.4.X systems are. Motif is the declared standard now- determined by the market and COSE. Most things will gravitate to it. Will this hurt Novell if they don't fix Unixware, yes. >While I'm sure we all wish that every program would run on every >platform and under every OS, reality dictates otherwise. Whatever you >choose will exclude you from something. Only the end user can decide >which capabilities are important and which can be sacrificed. Unfortunately that is the market we currently live in :( -- /--------------------------------------------------------------------------\ | Mark A. Davis | Lake Taylor Hospital | Norfolk, VA (804)-461-5001x431 | | Sys.Administrator| Computer Services | mark@taylor.wyvern.com .uucp | \--------------------------------------------------------------------------/
Newsgroups: comp.sys.next.programmer From: darcy@solutions.ca (Darcy Brockbank) Subject: Re: Distributed Object Multi-Thread server Message-ID: <1993Aug26.143819.4097@sifon.cc.mcgill.ca> Sender: news@sifon.cc.mcgill.ca Organization: McGill University References: <1993Aug25.191424.3165@CAM.ORG!planon> Date: Thu, 26 Aug 1993 14:38:19 GMT In article <1993Aug25.191424.3165@CAM.ORG!planon> yanik@planon.qc.ca (Yanik Crepeau) writes: > The client uses - (oneway)clientToServer:(in id)anObject method to send the messaging > object to the server. It receives from the server messages via the > -(oneway)serverToClient:(in id)anObject method. I've had some bad luck with DOs using (in id). I'd suggest that you just use '(id)' since (in id) doesn't really make sense for objects. That is, the object will be coming across as a proxy (id) or as a copy (bycopy in id). > - (oneway)clientToServer:(in id)anObject > { > int c, nbreElement; > mutex_lock(mutexListe); > nbreElement = [uneListe count]; > mutex_unlock(mutexListe); > > for (c = 0; c < nbreElement; c++) > { > mutex_lock(mutexListe); > if ([uneListe objectAt:compteur] != self) > [[uneListe objectAt:c] serverToClient:anObject]; The variable 'compteur' (counter) is not declared; did you intend it to be 'c' here? That seems to make sense from the code. > nbreElement = [uneListe count]; > mutex_unlock(mutexListe); > } > printf("!\n"); Note that C library calls are NOT thread safe. > > } > > > Right now, my server works. Howver, each time a client send a message, I have an > exclamation point and a cariage return printed in my Console. If I remove the > "printf("!\n");" statement, the server crashes when a client send a message. I've had distributed objects corrupt memory on occasion (this was with NS 3.0, I haven't tried since getting 3.1). After memory is corrupt, the crash seems to occur during the next message from DOs. If you try to check to see if a remote object conforms to a protocol [remote conformsTo:@protocol(something)] Then DOs will corrupt your server (again, in NS3.0). This has something to do with @protocol resolving to an object instance... Anyway, if you've got this then take it out. If not, send me some e-mail with some gdb information that I can see. DOs in 3.0 are more experimental than anything. I wouldn't base a serious program on them, because they are not robust at all, they have lots of confusing elements in them, and there have been reports of memory leakage. Perhaps 3.1 and 3.2 DOs are better. - db > > The "printf("!\n);" acts like a vaccine against server crashes... The problem is that the > printf is NOT the solution to my problem and that hides the real problem, sooner or later > the "vaccine" will be inoperative and my server will crash again. > > Any clues will be welcomed! > > Yanik > > > > -- > Yanik Crepeau > Programmer > Planon Telexpertise > E-Mail: yanik@planon.qc.ca (NeXT)
Newsgroups: comp.sys.next.programmer From: bav@bergen.siodata.no (Bjorn Asle Valde) Subject: Re: POSIX termios, where? Message-ID: <1993Aug26.142655.28552@alf.uib.no> Sender: usenet@alf.uib.no (Bergen University Newsaccount) Organization: University of Bergen, Norway References: <1993Aug26.074652.23270@csus.edu> Date: Thu, 26 Aug 93 14:26:55 GMT In article <1993Aug26.074652.23270@csus.edu> eps@futon.SFSU.EDU (Eric P. Scott) writes: > In article <1993Aug25.204703.27740@alw.nih.gov> > smith@nextone.niehs.nih.gov (Howard C. Smith) writes: > >under NS3.1, but cant seem to find the library in which > >tcsetattr and tcgetattr reside. I can see the man pages... > >Did the termios library not really make it into the 3.1 release? > > That's right, and it is documented online. There is *no* POSIX > support in 3.1--just some deceptive header files. > > -=EPS=- Could this have anything to do with the product "N5547" (POSIX right to use) ? Mvh, -bav -- Bjorn Asle Valde - SiO Data Bergen, Christiesgt.13, N-5015 Bergen, Norway. Email: valde@bergen.siodata.no Phones: +47-5-320240 Fax: +47-5-320238
From: David Pascua <dp3m+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: Re: DBKit: Transactions and DBRecordList Date: Thu, 26 Aug 1993 10:43:16 -0400 Organization: Masters student, Information Networking Institute, Carnegie Mellon, Pittsburgh, PA Message-ID: <QgTAk4a00iUxE2zpQL@andrew.cmu.edu> In-Reply-To: <cgSrLHK00iV181ys0l@andrew.cmu.edu> Excerpts from netnews.comp.sys.next.programmer: 25-Aug-93 DBKit: Transactions and DBR.. by David Pascua@andrew.cmu. > I'm having some difficulties in getting transactions to work. [stuff deleted] > > [database beginTransaction]; > [recordList1 appendRecord]; > <put info in the newly appended record> > [recordList2 appendRecord]; > <put info in the newly appended record> > [database commitTransaction]; > > Problem is: this just does NOT work. I got the trasaction mechanism to work properly. The fix is as follows: [database beginTransaction]; [recordList1 appendRecord]; <put info in the newly appended record> [recordList1 saveModifications]; [recordList2 appendRecord]; <put info in the newly appended record> [recordList2 saveModifications]; [database commitTransaction]; Basically, as long as saveModifications is called before the commitTransaction, the new records will be saved. Yeah, now that I think about it, it wasn't very hard -- guess I just had my stupid cap on.... Grateful thanks to Art Isbell and Eric [don't know last name]. -dave
Newsgroups: comp.sys.next.programmer From: Gregory_Mutzel@afs.com Subject: Re: Browser display problem Message-ID: <1993Aug26.134002.20199@afs.com> Sender: mutz@afs.com References: <1993Aug25.194359.6835@drefla.mese.com> Date: Thu, 26 Aug 1993 13:40:02 GMT In article <1993Aug25.194359.6835@drefla.mese.com> matt@drefla.mese.com (Matt Brandt) writes: > I'm having problems getting a browser to display new data. If I fill the > data in the delegate's browser:fillMatrix:inColumn: method then that > data shows up all right. If I later try adding more cells to the matrix > I can't get them to show up. Here is the basic code I am trying to use > to add stuff to the browser: > > - newThing:sender > { > id matrix; > thingDescriptor *newcell; > > matrix = [thingBrowser matrixInColumn: 0]; > [matrix addRow]; > newcell = [matrix cellAt: [matrix cellCount]-1 : 0]; > [[[newcell setLoaded: YES] setEnabled: YES] setLeaf: YES]; > [newcell setLoaded: YES]; > [thingBrowser displayColumn: 0]; > return self; > } You need to make sure that you resize the matrix view to fit the newly added cell. /* resize and redisplay matrix */ [matrix sizeToCells]; [matrix display]; Later, Greg -- Gregory L. Mutzel, 215-653-0911 Anderson Financial Systems, Inc. email: Gregory_Mutzel@afs.com [NeXTmail Appreciated]
From: alex@cs.umd.edu (Alex Blakemore) Newsgroups: comp.sys.next.programmer Subject: Re: POSIX termios, where? Date: 26 Aug 1993 16:00:05 GMT Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Message-ID: <25imm5$5jo@neomimsy.cs.umd.edu> References: <1993Aug25.204703.27740@alw.nih.gov> <CEDMAN.93Aug25191945@capitalist.princeton.edu> In article <CEDMAN.93Aug25191945@capitalist.princeton.edu> cedman@princeton.edu (Carl Edman) writes: > ytalk is the zsh of talks. :-) even fails to compile under NS3.1 just like zsh :-) -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted -------------------------------------------------------------- "Without an engaged and motivated human being at the keyboard, the computer is just another dumb box." William Raspberry
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: rtf-sources and NEXTSTEP 3.1 - PROBLEMS!!! Message-ID: <1993Aug26.151202.2356@afs.com> Sender: Michael_Pizolato@afs.com References: <1993Aug23.222742.1646@proximus.north.de> Date: Thu, 26 Aug 1993 15:12:02 GMT Gerhard Moeller writes >HELP!!! > >A while ago I installed the rtf-compiler (available at the archives) >and from then on I wrote all sources in rtf format. (a few >hundred kByte source) Today I installed NEXTSTEP 3.1. The rtf-cpp >is not compatible anymore with the ProjectBuilder, so I cannot >compile anything anymore!!! > >This is *really* bad. > >Now I neeed a rtf-compiler that works with NEXTSTEP 3.1 (for NeXT) > >PLEASE, any help badly needed! This is probably not the best solution for you at this moment, but wait for NS V3.2. I have an AWFULLY good suspicion that RTF source will be at least partially supported in that release, by NeXT. I'm GUESSING that compiles, stepping in gdb "view" mode with Edit, and some other things might work, but maybe IB won't parse RTF headers, and some other things might not work. MAYBE the decision to support RTF was made too close to the release date to hack in full support in time. MAYBE, IF WE DEVELOPERS TELL NeXT THAT WE LIKE IT ENOUGH, they'll decide to support RTF fully in whatever is the next release after V3.2. Of course, I could be wrong about this. What am I basing this suspicion on? Well, I have a little stone Buddha in my basement, and I rubbed his belly, and I heard a mysterious voice... Michael -- Michael Pizolato gnihtyreve noitseuq michael_pizolato@afs.com NeXTMail appreciated
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: (Horace Lim) hal@codex.com.au Subject: OOBBMS State of play in NeXT marketplace Message-ID: <1993Aug26.140815.1547@codex.oz.au> Keywords: OODBMS, NeXT, NEXTSTEP, Object Oriented, Data Base Sender: hal@codex.oz.au Organization: Codex Software Development Pty Ltd Date: Thu, 26 Aug 93 14:08:15 GMT I would like to know how widely used are Object Oriented Data Base Management Systems in the NeXT marketplace and industry in general. I understand, Versant is the only OODBMS shipping on NEXTSTEP. Do DBKit adapters exist for Versant? What about some of the others such as Objectivity and Object Design, Inc.'s Object Store. Certainly, OODBMS (at least client side) deserves to be strong under NEXTSTEP, it's the finest object oriented environment available! There aren't many decent CASE tools out therem let alone ones that support OODBMS. Several years back, I was involved in setting up a cataloguing/inventory database application on a IBM-C mainframe... I think we had close to 400 tables using a relational DBMS. If only I had a OODBMS to work with then... it would have been perfect and much less painful... Horace Lim (AKA HaL) Internet: HaL@xedoc.com.au -- --------------------------------------------------- Horace A. Lim (a.k.a. Hal) Internet : hal@xedoc.com.au (NeXTMail welcome and appreciated) AppleLink: AUST0335
From: isbell@cats.ucsc.edu (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Efficient drawing Date: 26 Aug 1993 16:51:10 GMT Organization: Cubic Solutions - NeXT software development and consulting Message-ID: <25ipluINNrsn@darkstar.UCSC.EDU> References: <1993Aug23.222742.1646@proximus.north.de> <1993Aug26.151202.2356@afs.com> A recent brief thread discussed the virtues of minimizing unnecessary app drawing. Could someone in the know discuss the relative merits of the following (assuming a buffered window)? [window disableDisplay]; ... modify some Views... [[window reenableDisplay] displayIfNeeded]; versus [window disableFlushWindow]; ... modify some Views... [[window reenableFlushWindow] flushWindowIfNeeded]; Is the distinction that the first scenario doesn't draw to the off-screen window buffer and thus stops all traffic between the window server and client app while the second scenario continues to draw to the off-screen buffer but the changes aren't flushed to screen memory thus not affecting window server-client traffic? Or is the off-screen buffer maintained by the window server so that both methods stop server-client traffic? I'm obviously confused :-) -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs From: brad@instep.wimsey.bc.ca Subject: DO MEMORY LEAK in 3.0 and apparently still in 3.1 Message-ID: <1993Aug26.174907.9714@instep.wimsey.bc.ca> Keywords: do memory Sender: brad@instep.wimsey.bc.ca (Bradley Head) Organization: InStep Mobile Communications Inc. Date: Thu, 26 Aug 1993 17:49:07 GMT DISTRIBUTED OBJECTS MEMORY LEAK in 3.0 ... still in 3.1! According to Next's documentation space for arguments passed to the server is allocated on the server side, and a pointer to the local data is received. The server's allocated copy of the data is local in scope and WILL BE FREED BY THE SYSTEM WHEN THE SERVER'S METHOD RETURNS. The capitals in the last statement is NOT the way DO has been implemented in 3.0 (and 3.1) I have written a small test program (shown below) to test/confirm this BLATANT memory leak in Distributed Objects. I see the 3.1 Release notes have fixed some bugs in DO, but failed to mention a fix for this bug. COMMENTS This Memory Leak has serious effects on the whole DO concept! It completely annihilates the concept of transparency of the DO paradigm. Without always passing sender, how is one to know if a method call originated locally or remotely? My patch to call free() explicitly would have very nasty effects if it were to be called on data passed locally on the stack. rfschtkt@banruc60.bitnet has added this to the Known Bugs in NEXTSTEP (KBNS.11.1.005_3.00): "Distributed Objects KBNS.11.1.005_3.0o Memory leak, reported by Bradley_Head on NeXT-prog@cpac.washington.edu on 1993-08-24, verified using his test program (available from him and included in the original report) by me IntroDistObjects.rtf says: In both the useAnIntByReference: and useAString: methods, a pointer is dereferenced on the client side, and the resulting data is sent to the server. On the server side, space for the data is allocated, and a pointer to the local data is received. The server's allocated copy of the data is local in scope and will be freed by the system when the server's method returns. This isn't true on 3.0 for strings: the string is leaked in the server. Bradley_Head said that the first string isn't leaked, but I found that it is." I sent this to bug_next. I can't believe NeXT has not fixed this for NS 3.1. TEST_CODE Here's the test code: I call it DOLeakTest_main.m. The instructions fo compiling and testing it are in the comments: /* * DOLeakTest_main.m * * * Distributed Objects memory leak test program. * * To use this program, first compile it like so: * * 1. Create a new project using Project Builder * 2. De-select "Generate Main file on save" option in Attributes. 3. Replace the _main.m file with this one. 4. Add libMallocDebug.a to the project's Libraries. 5. Compile as usual. * * * Alternatively: * * compile like so: * * cc -Wall -g DOLeakTest_main.m -lMallocDebug -o DOLeakTest * * To run the program, start the first one with the FULL path * name in a shell. This becomes the server. * * Select this "server" from the MallocDebug.app and check for * leaks, by clicking the "Leaks" button. It should say "No nodes" * at this point. * * Now, start another one these. It will become a client and ask * for text to send across to the server. Typing 'q' will quit. * This will be the client which will send the argument string over * to the server. At this point, no leaks should present themselves. * The next time you send a string, the previous string will become * the leaked memory. * * Somebody please test this code under NEXSTEP 3.0 and NEXTSTEP 3.1 * to see if this BUG has been fixed under 3.1. * * Thanks. */ #import <objc/objc.h> #import <objc/Object.h> #import <remote/NXProxy.h> #import <remote/NXConnection.h> #import <stdio.h> #import <string.h> #define RO_NAME "leak_test" @protocol ServerProtocol - receiveStr:(const char *)aStr; @end @interface MyServer:Object { } - receiveStr:(const char *)aStr; @end @implementation MyServer:Object - receiveStr:(const char *)aStr; { fprintf(stderr, "Received '%s'\nThis will not be freed when '%s'" "method returns.\nResults in a %lu octet leak the next time" " this method is called.\n\n", aStr, sel_getName(_cmd), (strlen(aStr) +1)); // According to NeXT Developer Docs, General Reference, Chapter 6 // Distributed Objects: // // "On the server side, space for the data is allocated, and a // pointer to the local data is received. The server's allocated // copy of the data is local in scope and will be freed by the system // when the server's method returns." // // As of NEXSTSTEP 3.0, this does NOT seem to be the case, so we will // explicitely free the data here: // // NOTE: Since this method does not receive sender, we have NO way // of knowing if the sender was a proxy. If it wasn't a proxy // the free() call to fix the memory leak will attempt to free // data passed on the stack, resulting in an exception. // This removes the transparancy of DO, since we must know in // advance that this method is called remotely. // // Note also, that if NeXT fixes this bug in a future release, // this code with the free() call will break, since it will // attempt to free data already freed. Watch out for this!!! // Uncomment the next line to fix the memory leak in 3.0 // free((char *)aStr); //??? This should NOT be required, but is... return self; } @end void main(int argc, char **argv) { MyServer *server; char buffer[2048]; id roserver = [NXConnection connectToName:RO_NAME]; char *str; if (roserver) { [roserver setProtocolForProxy:@protocol(ServerProtocol)]; fprintf(stderr, "Connected to server\n"); fprintf(stderr, "Enter text to send (q to quit):\n"); while (str = gets(buffer)) { if ((strlen(str) == 1) && (str[0] == 'q')) break; [roserver receiveStr:str]; fprintf(stderr, "Sent '%s' to server\n\n", str); fprintf(stderr, "Enter text to send:\n"); } } else { server = [[MyServer alloc] init]; roserver = [NXConnection registerRoot:server withName:RO_NAME]; fprintf(stderr, "Server waiting to receive strings...\n\n"); [roserver run]; } exit(0); } -- Bradley Head Software Developer, InStep Mobile Communications Inc. brad@instep.wimsey.bc.ca (NeXTmail accepted) 604 872-7116 fax: 604 872-7125
From: jimb@access.digex.net (Jim Brooking) Newsgroups: comp.sys.next.programmer Subject: Help: Changing DBTableView Item (2nd try) Date: 26 Aug 1993 15:29:40 -0400 Organization: Object oriented Distribution: usa Message-ID: <25j2v4$8dk@access.digex.net> I posted something about this yesterday, and have since decided that it was badly explained... Here's a cute ascii diagram of my situation... (example records taken from Librarian 8^) BOOK Record AUTHOR Record ----------- ------------- title name authorID------toAuthor---+ address publisher | birthdate bookID +--->authorID A field from AUTHOR is displayed in the same DBTableView as fields from BOOK. My code is changing the value of BOOK's authorID field. After the change, the AUTHOR information, fetched via the toAuthor relationship, is outdated. (And so is the DBTableView.) All I need to do is change the AUTHOR field in the DBTableView so that it correctly represents the new BOOK.authorID for that record. How do I tell DBTableView to change the item where the AUTHOR field is displayed? Something as simple as "setStringValue or setText" to something would work as long as it scrolls properly within the DBTableView. Thanks! -- jimb@access.digex.com | NeXTSTEP Developer | MARRC Cornerworker '93 GSX600FP Katana | Murder Capital, DC | Summit Point Raceway, WV ---(Katanaraptor)-----+----------------------------+-------------------------- "Relax, Don't Worry, Have a Homebrew"
From: pakala@sdl.egr.uh.edu (Rama R. Pakala) Newsgroups: comp.sys.next.programmer,comp.sys.next.misc Subject: Looking for a Plotting Object Date: 26 Aug 1993 19:33:42 GMT Organization: University of Houston Message-ID: <25j36m$9m9@menudo.uh.edu> Hi, In a project I am working on, I need to plot some 2-D curves from data stored in arrays. Info/Pointers to existing objects which can handle plotting, with some basic capabilities such as Zooming in/out of the plot, ability to plot several curves at the same time, etc. would be greatly appreciated. Thanks a lot. Rama. pakala@tree.egr.uh.edu ----- Rama Rao Pakala, Systems Design Laboratory, W224-D3, College of Engineering, University of Houston ******************************************* To be is to do - Immanuel Kant To do is to be - Sigmund Freud Dooby, dooby, do - Frank Sinatra
Newsgroups: comp.os.os2.programmer,comp.os.ms-windows.nt.misc,comp.os.ms-windows.programmer.misc,comp.sys.next.programmer,comp.os.msdos.desqview,biz.sco.general From: Greg Wilson <gregw@advtech.uswest.com> Subject: Need recommendations on porting X window app to 486 PC Message-ID: <1993Aug26.173246.1876@advtech.uswest.com> Summary: Which software platform should I port to? Originator: gregw@isaacs Sender: news@advtech.uswest.com (Radio Free Boulder) Organization: U S WEST Advanced Technologies Date: Thu, 26 Aug 1993 17:32:46 GMT I'm currently developing an X windows application on a Sun workstation. I've been asked to assess the possibility of porting the application to a 486 PC. The application is fairly large - 70000 lines of C++ commented source plus a few sizeable in-house developed libraries, and is based on a client-server model. It is comprised of multiple processes that comminicate using TCP/IP sockets. It must interact with a number of pieces of telecommunications equipment, either co-located on an ethernet LAN or via a modem interface. The application currently relies heavily on Object Design's ObjectStore database and on Wcl (Widget Creation Library). ObjectStore is currently (or soon planned to be) supported on: Windows 3.1, Windows NT, and OS/2. One of the primary aspects of the application is its ability to display data on a geographical map. The geographical maps are stored in ObjectStore and tend to be fairly large (~100 MB each). Porting the software that displays the geographical maps may be impossible, so a PC-based geographical application may be required. One of the reasons for porting to a 486 PC is to minimize hardware configuration costs. Even thought Sun workstations prices keep falling, 486-based systems seem to be a few thousand dollars cheaper. The PC might run the application in stand-alone mode, or as a server with other PCs on the LAN accessing the application remotely. Of course, reducing software license fees is also a priority - it doesn't make much sense to save hardware $ only to pay out bigger run-time fees. So now the question - which software platform should I port to: - Windows 3.1 - Windows NT - OS/2 - Desqview/X - SCO Open Desktop - NextStep - ??? I'm familiar with Windows 3.1, OS/2 and Desqview/X, but I don't know their X-windows and TCP/IP capabilities. Thanks in advance! -- Greg Wilson gregw@uswest.com
Newsgroups: comp.sys.next.programmer From: gemoe@proximus.north.de (Gerhard Moeller) Subject: rtf-sources and NEXTSTEP 3.1 - PROBLEMS!!! (still : -( ) References: <1993Aug23.222742.1646@proximus.north.de> Sender: gemoe@proximus.north.de (Gerhard Moeller) Organization: Gerhard Moeller, German NeXT User Group, Oldenburg. Date: Thu, 26 Aug 1993 09:58:52 GMT Message-ID: <1993Aug26.095852.9942@proximus.north.de> As noone seemed to reply (though I might have lost some news, as I forgot to fix the df/mtab problem again after my update) I will repost my question to the net, pointing out that it IS a real problem -- maybe for quite a few people. I know that I could `sed' the -arch xxx out of cpp or write a makefile.preamble that does an rtf-ascii, but I want a better solution, that is a fixed cpp (3.1) There must be someone who encountered the same problem, mustn't? In article <1993Aug23.222742.1646@proximus.north.de> gemoe@proximus.north.de (Gerhard Moeller) writes: > HELP!!! > > A while ago I installed the rtf-compiler (available at the archives) and > from then on I wrote all sources in rtf format. (a few hundred kByte > source) Today I installed NEXTSTEP 3.1. The rtf-cpp is not compatible > anymore with the ProjectBuilder, so I cannot compile anything anymore!!! > > This is *really* bad. > > Now I neeed a rtf-compiler that works with NEXTSTEP 3.1 (for NeXT) > > PLEASE, any help badly needed! > > Gerhard. -- +---------------------------< principiis obsta! >---------------------------+ N Gerhard Moeller, Teichstr. 12, 26122 Oldenburg (FRG) [*: 02/21/1968] N e Private: gemoe@proximus.north.de Phone (voice): +49-441-75520 e X Uni: Gerhard.Moeller@arbi.Informatik.Uni-Oldenburg.DE NeXTmail X T Z-Net: Gerhard.Moeller@uniol.zer encouraged! T +-> NoGeNUG - Northern German NeXT User Group: NoGeNUG@proximus.north.DE <-+
Newsgroups: comp.os.os2.programmer,comp.os.ms-windows.nt.misc,comp.os.ms-windows.programmer.misc,comp.sys.next.programmer,comp.os.msdos.desqview,biz.sco.general From: lfw@pssparc2.mitek.com (Larry Weiss) Subject: Re: Need recommendations on porting X window app to 486 PC Message-ID: <lfw.746396891@pssparc2.mitek.com> Sender: usenet@ra.oc.com Organization: OpenConnect Systems, Dallas, TX References: <1993Aug26.173246.1876@advtech.uswest.com> Date: Thu, 26 Aug 1993 20:28:11 GMT Greg Wilson <gregw@advtech.uswest.com> writes: >I'm currently developing an X windows application on a Sun workstation. >I've been asked to assess the possibility of porting the application >to a 486 PC. The application is fairly large - 70000 lines of C++ >commented source plus a few sizeable in-house developed libraries, and >is based on a client-server model. It is comprised of multiple processes >that comminicate using TCP/IP sockets. It must interact with a number of >pieces of telecommunications equipment, either co-located on an ethernet >LAN or via a modem interface. >One of the reasons for porting to a 486 PC is to minimize hardware >configuration costs. Even thought Sun workstations prices keep falling, >486-based systems seem to be a few thousand dollars cheaper. The PC >So now the question - which software platform should I port to: >- Windows 3.1 >- Windows NT >- OS/2 >- Desqview/X >- SCO Open Desktop >- NextStep >- ??? SUN's own operating system will soon (if not already) run on '486 hardware. You might do well to contact SUN and find out the specifics. -- Larry Weiss, lfw@oc.com 214/888-0471
Newsgroups: comp.sys.next.programmer From: ludwig@well.sf.ca.us (Michael Rutchik) Subject: Faster Kensington Mouse? Organization: The Whole Earth 'Lectronic Link, Sausalito, CA Date: Thu, 26 Aug 1993 20:41:03 GMT Message-ID: <CCDw4G.8E5@well.sf.ca.us> Keywords: Kensington, Mouse, Mouse driver Sender: news@well.sf.ca.us I posted this request some time ago and I'm hoping someone's come up with their own solution since then. I have a very fast NS/FIP system up and running with a Kensington Expert Mouse (serial version) attached. When I set the mouse prefs to the fastest setting, it's still real slooow. When I last posted this problem, someone suggested that a dwrite command involving NXMouseScaling could override the prefs setting. Unfortunately, I've had no luck in getting this to have any effect whatsoever. First I don't quite understand how dwrite works and second I haven't been able to make much sense of the manuals description of NXMouseScaling. What would the correct settings be for an ultra fast mouse? Thanks in advance.
Newsgroups: comp.sys.next.programmer From: drew@fnbc.com (Drew Davidson) Subject: Re: Finding Cell's Editor Message-ID: <1993Aug26.202446.1566@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA References: <25gdijINN8bc@darkstar.UCSC.EDU> Date: Thu, 26 Aug 93 20:24:46 GMT In article <25gdijINN8bc@darkstar.UCSC.EDU> isbell@cats.ucsc.edu (Art Isbell) writes: > > In article <1993Aug25.143411.11056@fnbc.com> drew@fnbc.com writes: > >In article <1993Aug25.055609.1075@gleap.sccsi.com> clloyd@gleap (Charles C. > >Lloyd) writes: > >> How do I get the Text object for a given Cell? > >The editor argument that you pass simply has to be a Text object - usually the > >Window's field editor, obtained through the window method fieldEditor. In most > ^^^^^^^^^^^ > What Drew probably really meant to say was getFieldEditor:for: :-) > -- > -- > Art Isbell Cubic Solutions > NeXT Registered Developer NEXTSTEP software development and consulting > NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 > USmail: 95018-9442 Fax: +1 408 335 2515 I'm going to start quoting directly from documentation from now on. My memory is failing. :-) -- +--------------------------------+-------------------------------------------+ | Drew Davidson | "Never ask a programmer if he'll have | | Software Guy | another cup of coffee because it's | | First National Bank of Chicago | nobody's damn business how much he's | | drew@fnbc.com (NeXTmail) | already had!" - me | +--------------------------------+-------------------------------------------+
Newsgroups: comp.sys.next.programmer From: yanik@planon.qc.ca (Yanik Crepeau) Subject: Re: Distributed Object Multi-Thread server Message-ID: <1993Aug26.192251.4437@CAM.ORG!planon> Sender: yanik@CAM.ORG!planon References: <1993Aug26.143819.4097@sifon.cc.mcgill.ca> Date: Thu, 26 Aug 1993 19:22:51 GMT In article <1993Aug26.143819.4097@sifon.cc.mcgill.ca> darcy@solutions.ca (Darcy Brockbank) writes: | In article <1993Aug25.191424.3165@CAM.ORG!planon> yanik@planon.qc.ca (Yanik | Crepeau) writes: | | | > The client uses - (oneway)clientToServer:(in id)anObject method to send the | messaging | > object to the server. It receives from the server messages via the | > -(oneway)serverToClient:(in id)anObject method. | | I've had some bad luck with DOs using (in id). I'd suggest that you just | use '(id)' since (in id) doesn't really make sense for objects. That is, | the object will be coming across as a proxy (id) or as a copy (bycopy in id). I don't think so. The id type, is actualy a pointer to any kind of object. If I don't use the "in" keyword, the "oneway" will lost its meaning. When a pointer is given as argument, the DO mecanism will wait to let the method set something. The "in" keyword means "I don't want to change that reference, I just want the value contained in it". | | > - (oneway)clientToServer:(in id)anObject | > { | > int c, nbreElement; | > mutex_lock(mutexListe); | > nbreElement = [uneListe count]; | > mutex_unlock(mutexListe); | > | > for (c = 0; c < nbreElement; c++) | > { | > mutex_lock(mutexListe); | > if ([uneListe objectAt:compteur] != self) | > [[uneListe objectAt:c] serverToClient:anObject]; | | The variable 'compteur' (counter) is not declared; did you intend it | to be 'c' here? That seems to make sense from the code. You are correct. My original code was written with French words as variable names. The "nbreElement" is easy to understand for English speaking reader. I tried to replace any occurence of "compteur" with "c" but I forgot this one. | | > nbreElement = [uneListe count]; | > mutex_unlock(mutexListe); | > } | > printf("!\n"); | | Note that C library calls are NOT thread safe. | | > | > } | > | > | > Right now, my server works. Howver, each time a client send a message, I have | an | > exclamation point and a cariage return printed in my Console. If I remove the | > "printf("!\n");" statement, the server crashes when a client send a message. | | I've had distributed objects corrupt memory on occasion (this was with | NS 3.0, I haven't tried since getting 3.1). After memory is corrupt, the | crash seems to occur during the next message from DOs. | | If you try to check to see if a remote object conforms to a protocol | | [remote conformsTo:@protocol(something)] | | Then DOs will corrupt your server (again, in NS3.0). This has something | to do with @protocol resolving to an object instance... Anyway, if you've | got this then take it out. If not, send me some e-mail with some gdb | information that I can see. | | DOs in 3.0 are more experimental than anything. I wouldn't base a serious | program on them, because they are not robust at all, they have lots of | confusing elements in them, and there have been reports of memory leakage. | | Perhaps 3.1 and 3.2 DOs are better. | | - db | Hum... I would like to have some comments from NeXT. I hope that NeXT will solve these problems. DOs are a very powerfull tools and the concept is easy to master. I worked with Listener/Speaker in the past but it is so complicated and hard to maintain that I would hesitate to use them for new functionalities. With DOs, you distribute intelligence over many applications. You can distibute intelligence over many machines as well. -- Yanik Crepeau Programmer Planon Telexpertise E-Mail: yanik@planon.qc.ca (NeXT)
From: doug@foxtrot.ccmrc.ucsb.edu (Douglas Scott) Newsgroups: comp.sys.next.programmer Subject: Using Edit commands from .commanddict Date: 26 Aug 1993 19:47:48 GMT Organization: Center for Computer Music Research and Composition, U.C.S.B. Message-ID: <25j414$d3d@hub.ucsb.edu> When I try to use the Grep Source command in Edit, I get an Edit window with the following error: egrep -n "changeName" Makefile *makefile *.{C,c,h,l,y,m,s,ps,psw,pswm,lm,ym} egrep: can't open *.{C,c,h,l,y,m,s,ps,psw,pswm,lm,ym} The actual line in my .commanddict says: Grep Source G egrep -n "$selection" Makefile *makefile *.{C,c,h,l,y,m,s,ps,psw,pswm,lm,ym} This same command, run in a shell, produces the desired results. Obviously the shell metachars {,} are not being interpreted correctly when they are used in this fashion. Has anyone else run into this, and is there a solution? Thanks. -- Douglas Scott (805)893-8352 Center for Computer Music Research and Composition University of California, Santa Barbara Internet: (NeXTMail ok) <doug@foxtrot.ccmrc.ucsb.edu>
Newsgroups: comp.sys.next.programmer From: Scott Byer <byer@mv.us.adobe.com> Subject: Re: Faster Kensington Mouse? Message-ID: <1993Aug27.001818.4786@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <CCDw4G.8E5@well.sf.ca.us> Date: Fri, 27 Aug 1993 00:18:18 GMT Michael Rutchik writes asking for MouseScaling info. Try "dwrite NeXT1 MouseScaling '5 2 2 3 6 4 10 5 15 6 22'". The format is: N thresh1 mult1 thresh2 mult2 ... threshN multN If this isn't fast enough, increase the multiplication factors. It *may* be that the Expert Mouse itself isn't spitting the information back to the PC fast enough. (Or an interrupt conflict? Somebody that's PC savvy know better?) -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: darcy@solutions.ca (Darcy Brockbank) Subject: Re: Distributed Object Multi-Thread server Message-ID: <1993Aug27.001244.19929@sifon.cc.mcgill.ca> Sender: news@sifon.cc.mcgill.ca Organization: McGill University References: <1993Aug26.192251.4437@CAM.ORG!planon> Date: Fri, 27 Aug 1993 00:12:44 GMT In article <1993Aug26.192251.4437@CAM.ORG!planon> yanik@planon.qc.ca (Yanik Crepeau) writes: > In article <1993Aug26.143819.4097@sifon.cc.mcgill.ca> darcy@solutions.ca (Darcy > Brockbank) writes: > | I've had some bad luck with DOs using (in id). I'd suggest that you just > | use '(id)' since (in id) doesn't really make sense for objects. That is, > | the object will be coming across as a proxy (id) or as a copy (bycopy in id). > > I don't think so. The id type, is actualy a pointer to any kind of object. > If I don't use the "in" keyword, the "oneway" will lost its meaning. When a pointer > is given as argument, the DO mecanism will wait to let the method set something. The > "in" keyword means "I don't want to change that reference, I just want the value > contained in it". However, you've failed to note that the 'id' type is a special case in distributed objects. The object is vended in one of two ways. The first is as a 'proxy', for which a special mechanism for talking to the remote object is allocated on the local side. For a proxy, 'oneway' does not make sense, since it is always 'oneway'. Also, an object proxy as a method parameter is always 'in', a returned object proxy is always 'out'. Confusin' but: - (oneway out id) methodCall:(oneway in id)obj; is equivalent to - methodCall:obj; Depending on your needs, you can write it either way. I don't like the 'in's though, and this may be just superstition. The second way you can send the object is 'bycopy', in which a copy of the object is sent over the wire. This is implicitly 'in', or 'out' (for method arg or return value respectively) since it does not make sense that the copy of the object you just made should exist at all on the local side. Thus neither 'in' nor 'out' make sense (ie are needed) when an object is a parameter to a method. As well, this is clearly incorrect: - methodCall:(out id)obj; If you assign 'obj', it would go nowhere (What *really* happens then?) This works though: - methodCall:(out id *)obj; Although I'm not sure if DOs can handle this case. This is the only problem with DOs in my opionion... the syntax isn't very robust. > Hum... I would like to have some comments from NeXT. I hope that NeXT will solve these > problems. Expect it in 4.0. :-). > With DOs, you distribute intelligence over many applications. You can distibute > intelligence over many machines as well. I personally love DOs. They're not as simple as NeXT makes them out to be, however they are MORE simple than anything else. - darcy > -- > Yanik Crepeau > Programmer > Planon Telexpertise > E-Mail: yanik@planon.qc.ca (NeXT)
Newsgroups: comp.sys.next.programmer From: jfr@aspen.pdh.com (Jon F. Rosen) Subject: While dragging, text in NXImage from TextField is often invisible Message-ID: <CCDw09.40s@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. Date: Thu, 26 Aug 1993 20:38:31 GMT This is really driving me nuts. I have attempted to implement a text-dragging mechanism like IB uses to drag titles around. My first pass is to merely try and drag the full image of a TextField to another text field. The text is put on a pasteboard as (NXAsciiPboardType) but the entire text field is turned into an NXImage needed for the dragImage:... operation. My early version of this subclassed TextField for both source and destination fields. The only problem is that both mouseDown: and mouseDragged: mean something inside a TextField and I don't want to disrupt that normal operation. My early version used Alt-mouseDown inside the TextField (if the Alt key wasn't pressed, it did a [super mouseDown:event] to get the normal behavior). All of this worked just fine and I could drag DragSourceTextFields around and deposit their text (but not their formatting by choice) into DragDestinationTextFields. I had to do a bit of gymnastics on the View flipping and offsets to get the NXImage to look right, but using [image setFlipped:YES] and the appropriate offset to dragImage:..., I got it to look right. Now I want to do something slightly different. I created a custom view class called TextFieldDragShadow which will be sensitive to a mouseDown operation inside it. The shadow view is expected to sit "around and under" a regular text field by about two pixels, providing a "drag text" border area. Thus, I can leave the regular drag operations in a TextField (for selection) alone and still just use dragging to move the text. This isn't necessary in IB because the title field on the palette is read-only so you can just do mouseDown without worrying whether the user is going to modify the text (at least until it is dropped somewhere). Okay, the problem is when I changed the code to support the TextFieldDragShadow, the drawSelf: message to create the NXImage from the contents of the text field is sent to the textfld outlet which points to the actual TextField (before, it just did a drawSelf:self). The frame draws just fine, but the text drawing is weirdly intermittent depending upon (it seems, anyway) whether I have set the isFlipped status of the NXImage and whether I have set the font to bold in Interface Builder. Usually, if the font is normal Helvetica, the text doesn't show up, but when I set it so bold manually, the text appears. Sometimes. But even that behavior is inconsistent. Sometimes it puts the text in my drawn NXImage, and sometimes it just puts the border (it ALWAYS puts the border, though, so I know the lockFocus and drawSelf are doing SOMETHING). BTW, the text always ends up being deposited in the destination field just fine from the pasteboard. Also, all of the drag-and-drop stuff works just fine (cursor changing, etc.). Its just that the stupid text doesn't get drawn in the dragged image. Ggggrrrrrr.... Here is the all the code for the TextFieldDragShadow class and TextFieldDragDestination class. Create a nib with a CustomView of TextFieldDragShadow on the screen, and place a regular TextField on top of it (you can leave any size border you want). Add a CustomView of TextFieldDragDestination class (where the text will be dragged to) and connect the TextFieldDragDestination view to the regular text field as "textfld". Save it all and run it. The "textfld" outlet reliably points to the text field whose text I want to drag. That's why the border gets drawn. But the text is missing (or am I nuts?) Anyone want to take a whack at this one? -------------------- TextFieldDragShadow.h ---------------------- #import <appkit/appkit.h> @interface TextFieldDragShadow:View { id textfld; } - mouseDown:(NXEvent *)event; - (NXDragOperation)draggingSourceOperationMaskForLocal:(BOOL)flag; - textfld; @end -------------------- TextFieldDragShadow.m ---------------------- #import "TextFieldDragShadow.h" @implementation TextFieldDragShadow - mouseDown:(NXEvent *)event { id myImage; NXRect theRect; const char * pbtype[] = {NXAsciiPboardType}; Pasteboard *pb; NXPoint p,q; char *str; // copy textfld text to pasteboard pb = [Pasteboard newName:NXDragPboard]; [pb declareTypes:pbtype num:1 owner:self]; str = NXCopyStringBuffer([textfld stringValue]); [pb writeType:NXAsciiPboardType data:str length:strlen(str)+1]; // create an NXImage and draw the text field into it [textfld getBounds:&theRect]; myImage = [[NXImage alloc] initSize:&theRect.size]; [myImage setFlipped:YES]; // sometimes YES, sometimes NO works [myImage useCacheWithDepth:NX_DefaultDepth]; if ([myImage lockFocus]) { [textfld drawSelf:&theRect :1]; [myImage unlockFocus]; // change the y location to adjust for flipped coordinates p.x = 0; p.y = theRect.size.height; // i have set this to 0 or height // with varying results q.x = 0; q.y = 0; // start the drag operation [self dragImage:myImage at:&p offset:&q event:event pasteboard:pb source:self slideBack:YES]; } // we're done, clean house free(str); [pb free]; [myImage free]; return(self); } - (NXDragOperation)draggingSourceOperationMaskForLocal:(BOOL)flag { return(NX_DragOperationCopy); } - textfld { return textfld; } @end ----------------- TextFieldDragDestination.h ---------------------- #import <appkit/appkit.h> @interface TextFieldDragDestination:TextField { } - (NXDragOperation)draggingEntered:(id <NXDraggingInfo>)sender; - (BOOL)performDragOperation:(id <NXDraggingInfo>)sender; - (BOOL)prepareForDragOperation:(id <NXDraggingInfo>)sender; - concludeDragOperation:(id <NXDraggingInfo>)sender; @end ----------------- TextFieldDragDestination.m ---------------------- #import "TextFieldDragDestination.h" #import "TextFieldDragShadow.h" @implementation TextFieldDragDestination - (NXDragOperation)draggingEntered:(id <NXDraggingInfo>)sender { // if you are in your own text field, don't accept drag if (([[sender draggingSource] textfld] == self) && [sender isDraggingSourceLocal]) { return(NX_DragOperationNone); } // else accept a copy return(NX_DragOperationCopy); } - (BOOL)performDragOperation:(id <NXDraggingInfo>)sender { int len = 0; char *str = NULL; const char *pbtype = {NXAsciiPboardType}; // get data from pasteboard and copy it to destination [[sender draggingPasteboard] readType:pbtype data:&str length:&len]; [self setStringValue:str]; return(YES); } - (BOOL)prepareForDragOperation:(id <NXDraggingInfo>)sender { // sure, we'll take anything :-) return(YES); } - concludeDragOperation:(id <NXDraggingInfo>)sender { // nothing left to do return(self); } @end ----------------- TextFieldDragDestination.m ---------------------- !!!!!!!!!!! Extra credit :-) Anyone want to give me ideas on how I would just draw the text into the NXImage with alpha so that only the text would be dragged around, not the whole TextField (this would also be useful for dragging text selections as well). IB doesn't do anything special for a border, but I might also want to have a dropshadow behind the letters to make them stand out more. I guess I could do this with direct Postscript single functions after getting the text out of the text field.
From: mcgredo@prism.CS.ORST.EDU (Don McGregor) Newsgroups: comp.sys.next.programmer Subject: Next copiler stuff Date: 27 Aug 1993 01:20:31 GMT Organization: Computer Science Department, Oregon State University Message-ID: <25jngvINN3jd@flop.ENGR.ORST.EDU> Are the sources to the NeXT 3.1 compiler available somewhere? I realize that the changes are supposed to be passed back to gnu, but I'd like the original sources if possible. -- Don McGregor | Prodigy is to USENET as croquet is to mcgredo@prism.cs.orst.edu| professional wrestling
Newsgroups: comp.sys.next.programmer From: mcgowan@emerald.physics.utoronto.ca (Patrick McGowan) Subject: weird behaviour of RtPoints (3DKit) Message-ID: <CCEAFt.7Hs@helios.physics.utoronto.ca> Keywords: RtPoint Sender: news@helios.physics.utoronto.ca (News Administrator) Organization: University of Toronto Physics/Astronomy/CITA Date: Fri, 27 Aug 1993 01:50:17 GMT This isn't first time I've run into strange behavious using RtPoints as types. But this time I'm determined to get to the bottom of it. What is going on here? This code produces an error on compile... static RtPoint convertToWorldCoords(RtPoint * cameraPoint) { RtPoint somePoints[2]; float nearPt, farPt, anRtPoint[3]; NXPoint aPoint; int i; [self getClipPlanesNear:&nearPt far:&farPt]; [self setClipPlanesNear:*cameraPoint[2] far:farPt]; aPoint.x = *cameraPoint[0]; aPoint.y = *cameraPoint[1]; [self convertPoints:&aPoint count:1 toWorld:somePoints]; [self setClipPlanesNear:nearPt far:farPt]; for(i = 0; i < 3; i++) anRtPoint[i] = somePoints[0][i]; return anRtPoint; } The compiler doesn't like this and gives a message: `convertToWorldCoords' declared as function returning an array I'm quite confused. If I change the return type to an NXPoint, which I assume is a structure very similar to RtPoint, I go no such error! What is so mysterious about RtPoints? In the same vein, I've never succeeded in finding the declaration of the RtPoint anywhere in the Headers directory. H E L P ! Thanks in advance... Patrick note: my return address is generally screwed up here, so send mail to mcgowan@emerald.physics.utoronto.ca
Newsgroups: comp.sys.next.programmer From: simsong@next.cambridge.ma.us (Simson L. Garfinkel) Subject: Re: Browser display problem Message-ID: <1993Aug27.003612.9352@next.cambridge.ma.us> Sender: simsong@next.cambridge.ma.us Organization: NeXTWORLD Magazine References: <1993Aug25.194359.6835@drefla.mese.com> Date: Fri, 27 Aug 1993 00:36:12 GMT In article <1993Aug25.194359.6835@drefla.mese.com> matt@drefla.mese.com (Matt Brandt) writes: > I'm having problems getting a browser to display new data. If I fill the data > in the delegate's browser:fillMatrix:inColumn: method then that data shows up > all right. If I later try adding more cells to the matrix I can't get them to > show up. Here is the basic code I am trying to use to add stuff to the browser: > BTW, a ThingDiscriptor is a subclass of NXBrowserCell... Try these changes: > - newThing:sender > { > id matrix; > thingDescriptor *newcell; > > matrix = [thingBrowser matrixInColumn: 0]; > [matrix addRow]; > newcell = [matrix cellAt: [matrix cellCount]-1 : 0]; > [[[newcell setLoaded: YES] setEnabled: YES] setLeaf: YES]; > [newcell setLoaded: YES]; > //[thingBrowser displayColumn: 0]; [[matrix sizeToCells] display] > return self; > } > > Any clues? > > -- > ----------------------------------------------------------- > Matt Brandt | A short .sig > matt@drefla.mese.com | is a good .sig > ----------------------------------------------------------- > -- > ----------------------------------------------------------- > Matt Brandt | A short .sig > matt@drefla.mese.com | is a good .sig -- ................................................................simson -- ................................................................simson
From: glenn@rightbrain.com (Glenn Reid) Newsgroups: comp.sys.next.programmer Subject: Re: Clipping Text in a box nicely... Message-ID: <1330@rtbrain.rightbrain.com> Date: 27 Aug 93 01:30:46 GMT References: <1993Aug26.031235.2347@gleap.jpunix.com> Sender: glenn@rightbrain.com Bill Shirley writes > It's a good thing the English teachers don't read this group... ;-) Indeed. > > I wrote (quite some time back): > > > > If you're going to use "getWidthOf:", at least make it a binary search > > instead of a linear search, so you don't take the width of all the > > substrings in the string every time (which is order N!). Max Hailperin writes: > > No, it isn't. (As an aside, I'm assuming you really mean to say not > > "substrings" but rather "prefixes".) It is order N^2. [N + (N-1) + > > (N-2) + ... + 1 = N(N+1)/2.] N^2 grows *much* more slowly than N!. Bill again: > I thought he was emphatically stating it to be O(N) ;-) No, I did (erroneously) figure it was factorial. I thought of comparing strings that were 100, then 99, then 98, then 98, and whatever, and it seemed like factorial at first blush, because my mind has atrophied since college where I actually used to be conversant in such terminology. Now I rely more on a gut feel for "too damn slow" versus "prob'ly acceptable". [Bill makes some excellent points about knowing some aspects of the problem before you start, which changes everything. He then starts making typos and grammatical slips left and right, so I thought I'd call him on it :-) ] <Glenn dons English teacher's cap> > So, with the above considerations I'd say... > > If you're hacking 'n slashing, or even if you're quickly impolementing ^^^^^^^^^^^^^ > We need to not forget that our time is worth more than a CPU's time or a ^^^^^^^^^^^^^ [split infinitive] > end up striving for a long time. (But if that's what float's your boat, ^^^^^^^ [wrong plural. I don't char about (float)ing boats anyway :-) ] > <done waxxing> ^^^^^^^ > (PS: ouch, is there anyone i didn't offend?) I figured I might as well take a shot at you, to make it all circular :-) Long day, folks. Sorry. -- Glenn Reid NeXTmail: glenn@rightbrain.com RightBrain Software 415-326-2974 (NeXTfax 326-2977) Palo Alto, California Electronic Frontier Foundation, member #054
From: carlton@darkstar.isi.edu (Mike Carlton) Newsgroups: comp.sys.next.programmer Subject: 1-bit EPS to TIFF Date: 26 Aug 1993 12:44:24 -0700 Organization: USC Information Sciences Institute Distribution: usa Message-ID: <25j3qo$l9m@darkstar.isi.edu> I'm looking for a way to produce 1-bit TIFF files from EPS files from the command line. I've got simple little program that I grabbed from the net last year that basically does: NXApp = [Application new]; image = [[NXImage alloc] initFromFile:argv[1]]; [image writeTIFF:stream allRepresentations:YES]; NXSaveToFile(stream,argv[2]); The problem is that this produces 2-bit TIFF with an alpha channel. I want the lowest common denominator possible (these figures will appear on a conference's CD-ROM), and I'm leary that an alpha channel will cause problems (one of the technotes indicates that Next's format is non-standard). I know I can use Icon to re-save the tiff as 1-bit/no-alpha, but I'd rather do it in one step and from the command line. I scanned the Nextstep documentation for NXImage and NXBitmapImage, but didn't see the magic incantation to change the depth or alpha saved. Any hints? I'm still running Nextstep 2.1, if it matters. thanks, --mike (carlton@isi.edu)
Newsgroups: comp.sys.next.programmer From: simsong@next.cambridge.ma.us (Simson L. Garfinkel) Subject: Re: Inspector Object Message-ID: <1993Aug27.004455.9415@next.cambridge.ma.us> Sender: simsong@next.cambridge.ma.us Organization: NeXTWORLD Magazine References: <1993Aug25.203014.4445@pixar.com> Distribution: usa Date: Fri, 27 Aug 1993 00:44:55 GMT In article <1993Aug25.203014.4445@pixar.com> wave@pixar.com (Michael B. Johnson) writes: > Ya know, I think I downloaded every one of these sorts of things over the > years that have been posted, and been underwhelmed by all of them. I'm > happy to report, though, that the MiniExample written by Thomas Burkholder > has just the thing - and it's on a palette, which makes it a joy to use. > Just drag a SwitchView onto a Window, and then connect it up to the > various views you want to swap in. Because of the ingenious way Thomas > implemented it, you can actually test it fully inside of IB. > Even simpler, look on p. 547 of our book NeXTSTEP Application Programming. -- ................................................................simson
Newsgroups: comp.sys.next.programmer From: simsong@next.cambridge.ma.us (Simson L. Garfinkel) Subject: Re: Making Obj-C faster? Message-ID: <1993Aug27.021749.9534@next.cambridge.ma.us> Sender: simsong@next.cambridge.ma.us Organization: NeXTWORLD Magazine References: <53701@sdcc12.ucsd.edu> Distribution: na Date: Fri, 27 Aug 1993 02:17:49 GMT In article <53701@sdcc12.ucsd.edu> mstankus@oba.ucsd.edu (Mark Stankus) writes: > I was wondering.... > One complaint is that obj-c is slower than C++. > For example, > > -rank {return rank;} > > is basically a procedure call to return the value of a > data field of an object in an object oriented way. > In C++, someone would use an inline statement. > > 1. What about a new directive > > @inline > ... The problem with this is that you (or somebody else) might want to have a subclass of your class which doesn't simply return -rank, but does something else. Another advantage of using accessor methods such as -rank above is that you can set a breakpoint on them, making debugging easier. Accessor methods really aren't that slow; you can easily do 300,000 of them in a second (try measuring it). But if you really can't afford the extra 20 cycles, you can always use public variables. -Simson -- ................................................................simson
From: otto@gandalf (Otto Lind) Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs Subject: Re: HELP: Problem with NeXT Header files, (all should read) Followup-To: comp.sys.next.programmer,comp.sys.next.bugs Date: 27 Aug 1993 05:58:09 GMT Organization: Coactive Aesthetics Inc. Message-ID: <25k7phINNjh4@disc.coactive.com> References: <1993Aug26.040149.6094@news.uta.edu> Shane Andrew Holder (sholder@cse.uta.edu) wrote: : When using -traditional neither gcc nor cc will : evaluate the #include macros that NeXT uses in some of their header : files. ex: : : #include ARCH_INCLUDE(bsd/, machparam.h) : : in the file /NextDeveloper/Headers/bsd/machine/machparam.h : If anyone has any real suggestions on how I can get through my delima Running the following script should make gcc happy: ----- cut here ----- #!/bin/sh # # Script to fix all references of ARCH_INCLUDE in NeXT header files # # # Set which machine type we want to convert to # ARCH=m68k # # Determine location of gcc installation # GCCSPEC=`gcc -v 2>&1 | egrep next | sed -e 's:Reading specs from \(.*\)/specs:\1:'` GCCINCLUDE=$GCCSPEC/include if test ! -d $GCCINCLUDE then echo "Cannot find gcc include directory" echo "dir = $GCCINCLUDE" exit 1 fi # # Find all ARCH_INCLUDE files and install them in gcc include subdirectory # cd /usr/include for i in `egrep -l ARCH_INCLUDE */*/*.h` do echo "Fixing $i" SUBDIR=`echo $i | sed -e 's:\(.*\)/.*:\1:'` mkdirs $GCCINCLUDE/$SUBDIR cat $i | egrep -v "architecture/ARCH_INCLUDE.h" | sed -e "s:ARCH_INCLUDE(\([a-z_][a-z_]*\)/,[ ][ ]*\(.*\)):<$ARCH/\2>:" \ > $GCCINCLUDE/$i done ----- cut here ----- Please note that I have not extensively tested this script (though it works with machine/machparam.h). Hope this helps, Otto -- Otto Lind Coactive Aesthetics otto@coactive.com P.O. Box 425967, San Francisco, CA 94142 netcom!coactive!otto voice:(415)626-5152 fax:(415)626-6320
Newsgroups: comp.sys.next.programmer From: atze!aspohr (Alexander Spohr) Subject: Re: ScrollView Help Message-ID: <1993Aug27.085013.217@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <cgSrCny00WBL82JaQH@andrew.cmu.edu> Date: Fri, 27 Aug 93 08:50:13 GMT In article <cgSrCny00WBL82JaQH@andrew.cmu.edu> Kevin Richard O'Toole <ko0m+@andrew.cmu.edu> writes: > I am drawing a large complicated map in a scroll view. The map contains > some 25,000 segments. I want to draw the entire map and then be able to > scroll over it. How do I avoid having the scroll view chop off what > goes outside the window? Currently, drawSelf:: is being sent the > rectangles for what gets moved onto the screen, and I have to recheck > all the segments to see if they need to be redrawn, and this takes > forever. > > Any help would be appreciated. > > Thanks, > Kevin R. O'Toole > Render your map into an object of class NXImage. Make this object an instance of your view. If the ScrollView asks your view to redraw just flush the NXImage. Atze -- Alexander Spohr E-Mail: Alexander_Spohr@dART.de d'ART Software GmbH (NeXTmail welcome) Virchowstr. 17-19 22767 Hamburg Faces and faces Germany See them and complain not (+49) 40 / 380 230 And am content with all -- Alexander Spohr E-Mail: Alexander_Spohr@dART.de d'ART Software GmbH (NeXTmail welcome) Virchowstr. 17-19 22767 Hamburg Faces and faces
Newsgroups: comp.sys.next.programmer From: atze!aspohr (Alexander Spohr) Subject: Re: POSIX termios, here! Message-ID: <1993Aug27.091131.275@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <1993Aug25.204703.27740@alw.nih.gov> Date: Fri, 27 Aug 93 09:11:31 GMT In article <1993Aug25.204703.27740@alw.nih.gov> smith@nextone.niehs.nih.gov (Howard C. Smith) writes: > > > Help! > > Im trying to compile the latest release of ytalk > under NS3.1, but cant seem to find the library in which > tcsetattr and tcgetattr reside. I can see the man pages... > Did the termios library not really make it into the 3.1 release? > > > > -- > Howard C. Smith > National Institute of Environmental Health Sciences > 111 T.W. Alexander Drive > Research Triangle Park, NC 27709 > smith@nextone.niehs.nih.gov > (919) 541-7594 Right, the POSIX-lib did not make it into NS3.1. But you can use the #defines (like CSTOPB for two stop-bits) and the given structs (like termios) and then set all your stuff with ioctl. I give a sample of my own code. It sets device to 19200 Baud, 2 stop-bits, 8 data-bits and no echo. - initDevice:(const char *)device { int answer; struct termios tio; const char *dev = "/dev/ttyfa"; [super init]; if(device) dev = device; if(!(fp = fopen(dev, "r+"))) { fprintf(stderr, "%s:Error opening %s\n", [self name], dev); return nil; } fd = fileno(fp); if(answer = ioctl(fd, TIOCGETA, &tio)) { fprintf(stderr, "%s:Error on gtty:%i\n", [self name], answer); return nil; } tio.c_cflag = CLOCAL | CREAD | CSTOPB | CS8; // control tio.c_iflag = 0; // input tio.c_oflag = CBREAK; // output tio.c_lflag = 0; // local tio.c_ispeed = tio.c_ospeed = B19200; if(answer = ioctl(fd, TIOCSETA, &tio)) { fprintf(stderr, "%s:Error on stty:%i\n", [self name], answer); return nil; } return self; } Atze -- Alexander Spohr E-Mail: Alexander_Spohr@dART.de d'ART Software GmbH (NeXTmail welcome) Virchowstr. 17-19 22767 Hamburg Faces and faces Germany See them and complain not (+49) 40 / 380 230 And am content with all -- Alexander Spohr E-Mail: Alexander_Spohr@dART.de d'ART Software GmbH (NeXTmail welcome) Virchowstr. 17-19 22767 Hamburg Faces and faces
Newsgroups: comp.sys.next.programmer From: atze!aspohr (Alexander Spohr) Subject: Re: weird behaviour of RtPoints (3DKit) Message-ID: <1993Aug27.093927.333@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <CCEAFt.7Hs@helios.physics.utoronto.ca> Date: Fri, 27 Aug 93 09:39:27 GMT In article <CCEAFt.7Hs@helios.physics.utoronto.ca> mcgowan@emerald.physics.utoronto.ca (Patrick McGowan) writes: > This isn't first time I've run into strange behavious using RtPoints as > types. But this time I'm determined to get to the bottom of it. > > What is going on here? This code produces an error on compile... > > > static RtPoint convertToWorldCoords(RtPoint * cameraPoint) { > RtPoint somePoints[2]; > float nearPt, farPt, anRtPoint[3]; > NXPoint aPoint; > int i; > > [self getClipPlanesNear:&nearPt far:&farPt]; > [self setClipPlanesNear:*cameraPoint[2] far:farPt]; > aPoint.x = *cameraPoint[0]; > aPoint.y = *cameraPoint[1]; > [self convertPoints:&aPoint count:1 toWorld:somePoints]; > [self setClipPlanesNear:nearPt far:farPt]; > > for(i = 0; i < 3; i++) > anRtPoint[i] = somePoints[0][i]; > > return anRtPoint; > } > > The compiler doesn't like this and gives a message: > > `convertToWorldCoords' declared as function returning an array > > I'm quite confused. If I change the return type to an NXPoint, which I > assume is a structure very similar to RtPoint, I go no such error! What is > so mysterious about RtPoints? In the same vein, I've never succeeded in > finding the declaration of the RtPoint anywhere in the Headers directory. > > H E L P ! > > Thanks in advance... > Patrick > > note: my return address is generally screwed up here, so send mail to > > mcgowan@emerald.physics.utoronto.ca Hm... didn't you use Librarian.app to peek into your header files? You find it in ri.h together with all other RtSomethings: /* Definitions of Abstract Types used in RI */ typedef short RtBoolean; typedef long RtInt; typedef float RtFloat; typedef char *RtToken; typedef RtFloat RtColor[3]; typedef RtFloat RtPoint[3]; typedef RtFloat RtMatrix[4][4]; typedef RtFloat RtBasis[4][4]; typedef RtFloat RtBound[6]; typedef char *RtString; -- Alexander Spohr E-Mail: Alexander_Spohr@dART.de d'ART Software GmbH (NeXTmail welcome) Virchowstr. 17-19 22767 Hamburg Faces and faces Germany See them and complain not (+49) 40 / 380 230 And am content with all -- Alexander Spohr E-Mail: Alexander_Spohr@dART.de d'ART Software GmbH (NeXTmail welcome) Virchowstr. 17-19 22767 Hamburg Faces and faces
From: khare@cco.caltech.edu (Rohit Khare) Newsgroups: comp.sys.next.programmer Subject: Searching for a FindPanel... Date: 27 Aug 1993 08:43:45 GMT Organization: California Institute of Technology, Pasadena Message-ID: <25khg3INNfqk@gap.caltech.edu> Horrible puns aside, I was wondering if anyone on the net had come across a nice find-panel object. Yap has such a beast, but it doesn't support NXFindPboard, regexes, or replace. Barring any suggestions from the net.community for pointers to prior art, I guess I'm planning to write such a beast myself, including a spec for a protocol to search embedded Cells. Question: How many other developers would *really*, *really* like NeXT to ship /NextDeveloper/Examples/Appkit/Edit? I know and you know that there are some ugly things in the code, and the authors may not be all that proud of that source (at least, I hope so, :), I've been reverse-engineering big chunks of it, and they take remarkable liberties with the AppKit), but there are some mighty nifty things happening in there that we would benefit from. Not to mention extending Edit itself! ObExample: StructText. Edit has no less than 4 subclasses of Text, and one of the most interesting by far is the black magic behind the structure tags. Turns out that part of it involves the undocumented mysteries of writing a replacement for NXScanALine and NXDrawALine. In trying to implement my own version of this, I wanted to use replace:sel:length, which has enough bugs of its own that it took almost 3 days of poking around to find an acceptable solution. In the end, the bugs aren't in the system (generally ture), but always in the documentation (because it never tells you enough to really understand what goes on behind the scenes) ObRant: As the NeXTstep (seeing as how fashinable retro affectations are these days :) market moves towards custom-apps, commercial development, and basically away from education, the dissemination of programming wizardry is drying up. Cool code and architectural designs become trade secrets, which I'm not going to complain about too loudly, but the net effect is that the "training" code base of good NS code for budding developers to read and learn is shrinking, relative to NS's increasing complexity. The only full-scale app left is Draw.app, which is showing its age :) Certainly, I would even pay to become a Registered Developer if it came with lots more code. The whole issue is complementary to the "We don't need no stinkin' code thread" -- even better (from a practical standpoint) than AppKit source is source that shows how to properly use and subclass AppKit objects. Fundamentally, the only way to learn how to program a system is reading and studying code. NS will be much stronger if the developer CD came with a few hundred random apps from NeXT and other participants in source -- even the throwaway, testbeds and single-fn feature tests would be useful. But it will never happen, between Copyright, clean-up, and resources. As it is, even the net-archive-server system is beginning to militate against releasing work-in-progress or throwaways; beyond mere infrastructural issues of disk space and bandwidth, we don't have any editing ability to help us sort out the relevant work. Anyone for a moderated comp.sys.next.source (or comp.source.nextstep ?) <M-x blather-off> (even if I am suffering through vi to write this :) Rohit Khare The eText Project at Caltech
Newsgroups: comp.sys.next.programmer From: arrouye@cosmos.imag.fr (Yves Arrouye) Subject: Button bug? Message-ID: <ARROUYE.93Aug27112205@mistral.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Fri, 27 Aug 1993 10:22:05 GMT Hi, When I use a button with two icons with transparency (typically my app icon and another one), and set the button to temporary change or toggle type, the images are superimposed. Is it normal behaviour for both of these kinds of buttons? It's bad to have two versions of my icons, one with transp. and the other one with a gray background. Thanks, Yves -- With one processor, we verify that the time spent Yves Arrouye in controlling parallelism is not too long. arrouye@mistral.imag.fr arrouye@imag.imag.fr -- Yannick Tre'molet, LMC (33) 76 57 48 61
Newsgroups: comp.sys.next.programmer From: arrouye@cosmos.imag.fr (Yves Arrouye) Subject: How to ignore first click in a double-click? (urgent) Message-ID: <ARROUYE.93Aug27113928@mistral.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Fri, 27 Aug 1993 10:39:28 GMT I have the following problem: I would like to ignore the (n-1) first clicks of a n-click. Is there a easy way to do that (that is, without asking for the click delay, and make some perform:afterDelay:cancelPrevious things in order to let the first clicks pass away; note that I haven't not tried this, but it is annoying, because I will have to do it in every mouseDown: so...)? Thanks in advance, Yves. -- With one processor, we verify that the time spent Yves Arrouye in controlling parallelism is not too long. arrouye@mistral.imag.fr arrouye@imag.imag.fr -- Yannick Tre'molet, LMC (33) 76 57 48 61
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: Re: How to ignore first click in a double-click? (urgent) Message-ID: <CCF4C7.21E@news.cis.umn.edu> Sender: news@news.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Hospital and Clinic, Labratory Information Services References: <ARROUYE.93Aug27113928@mistral.imag.fr> Date: Fri, 27 Aug 1993 12:34:18 GMT How about asking the event which mouse click (in the series) it is: - mouseDown:(NXEvent *)e { if (e->data.mouse.click) { [self doubleClick:e]; } return self; } This is out of memory out of the top of my head, but the data is in each mouse event. peter Yves Arrouye (arrouye@cosmos.imag.fr) wrote: : I have the following problem: I would like to ignore the (n-1) first : clicks of a n-click. Is there a easy way to do that (that is, without : asking for the click delay, and make some : perform:afterDelay:cancelPrevious things in order to let the first : clicks pass away; note that I haven't not tried this, but it is : annoying, because I will have to do it in every mouseDown: so...)? -- The trouble with an impressionist, he looks at a log And he doesn't know who he is, standing, staring at this log... peter@tahiti.umhc.umn.edu (Peter Eisch) peter.a.eisch@uwrf.edu
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: Re: How to ignore first click in a double-click? (urgent) Message-ID: <CCF4Kv.2AJ@news.cis.umn.edu> Sender: news@news.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Hospital and Clinic, Labratory Information Services References: <ARROUYE.93Aug27113928@mistral.imag.fr> <CCF4C7.21E@news.cis.umn.edu> Date: Fri, 27 Aug 1993 12:39:31 GMT Correcting my attempt at cool code in one shot too early in the mornin'... Peter Eisch (peter, who should have tried running the code, but didn't) wrote: : How about asking the event which mouse click (in the series) it is: : - mouseDown:(NXEvent *)e : { : if (e->data.mouse.click == 2) { : [self doubleClick:e]; : } : return self; : } : This is out of memory out of the top of my head, but the data is in : each mouse event. : peter -- The trouble with an impressionist, he looks at a log And he doesn't know who he is, standing, staring at this log... peter@tahiti.umhc.umn.edu (Peter Eisch) peter.a.eisch@uwrf.edu
From: bakker@cyclon.aoml.erl.gov (Cary Bakker) Newsgroups: comp.sys.next.programmer Subject: Re: Simple question about streams, followup. Date: 27 Aug 1993 14:17:07 GMT Organization: U.S. Department of Commerce, NOAA/AOML Message-ID: <25l513$92u@wave.aoml.erl.gov> Although this is a simple topic, it was a little frustrating for me as I am just starting out. I was actually using what was suggested to me to create the outpput file, but I think I found out what is supposed to be done: outStream = NXOpenMemory(NULL,NULL,NX_WRITEONLY); This line will create a stream without a file. Then you can use NXSaveToFile() to create a file with a specified name. This was the problem that I was having. I wanted to use NXSaveToFile() to create a non-existent file, but that required a stream. In order to get a stream to write to, I thought I could use NXMapToFile, but that required a file. Then I found NXOpenMemory(), which creates a stream and then i was able to use the stream in NXSaveToFile() to create the actual file. The only thing I am wondering about is if there are two copies of the info that I NXPrintf() to the outstream. For example, if I open a stream with NXOpenMemory() and then use a series of NXPrintf() statements, they write to a location in memory. Now when I use NXSaveToFile(), what happens? Is there a copy of the stream saved to another memory location, the location being the file named in NXSaveToFile? I think this would be good for the FAQ.... Thanks a lot for the help,
Newsgroups: comp.sys.next.programmer From: greg@pacifica.sce.carleton.ca (Greg Franks) Subject: Re: Making Obj-C faster? In-Reply-To: mstankus@oba.ucsd.edu's message of 25 Aug 93 17:35:41 GMT Message-ID: <GREG.93Aug27104251@pacifica.sce.carleton.ca> Followup-To: comp.sys.next.programmer Sender: news@cunews.carleton.ca (News Administrator) Organization: Real Time Distributed Systems Group, Carleton University, Ottawa, Canada. References: <53701@sdcc12.ucsd.edu> Distribution: na Date: Fri, 27 Aug 1993 15:42:51 GMT In article <53701@sdcc12.ucsd.edu> mstankus@oba.ucsd.edu (Mark Stankus) writes: I was wondering.... One complaint is that obj-c is slower than C++. For example, -rank {return rank;} is basically a procedure call to return the value of a data field of an object in an object oriented way. In C++, someone would use an inline statement. ... The Stepstone Objective C has provisions for "statically binding- where possible so that much of the cost of dynamic dispatch is mitigated. You still end up with a procedure call, but calls are relatively cheap these days. -- Greg Franks, (613) 788-5726 | "The reason that God was able to Systems Engineering, Carleton University, | create the world in seven days is Ottawa, Ontario, Canada K1S 5B6. | that he didn't have to worry about greg@sce.carleton.ca ...!cunews!sce!greg | the installed base" -- Enzo Torresi
Newsgroups: comp.sys.next.programmer From: Jon_Hendry@afs.com Subject: Re: Searching for a FindPanel... Message-ID: <1993Aug27.133909.6054@afs.com> Sender: jon@afs.com References: <25khg3INNfqk@gap.caltech.edu> Date: Fri, 27 Aug 1993 13:39:09 GMT In article <25khg3INNfqk@gap.caltech.edu> khare@cco.caltech.edu (Rohit Khare) writes: |Certainly, I would even pay to become a Registered Developer if it came with |lots more code. That sounds like a really good idea- give registered developers a CD-ROM full of source code to the various demos and NeXTapps, and some code snippets. Obviously, if a person goes to the trouble and expense of signing up for RD status, they're more serious about it than the average joe; most likely, a NeRD will be working on apps that go beyond the scope of NextDeveloper/Examples. And a NeRD might be more able to deal with messy, hacked code. It would be one way to justify the cost of becoming a registered developer. Would 500 megs of source be worth $250 to the folks "around here"? -- Jon Hendry Give me your finest #11 vinyl headsack. Cost is no object! <jon@afs.com>
From: alex@cs.umd.edu (Alex Blakemore) Newsgroups: comp.sys.next.programmer Subject: Re: Searching for a FindPanel... Date: 27 Aug 1993 15:18:25 GMT Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Message-ID: <25l8k1$7ve@neomimsy.cs.umd.edu> References: <25khg3INNfqk@gap.caltech.edu> In article <25khg3INNfqk@gap.caltech.edu> khare@cco.caltech.edu (Rohit Khare) writes: > I was wondering if anyone on the net had come across > a nice find-panel object. Yap has such a beast, but it doesn't support > NXFindPboard, regexes, or replace. Christopher J. Kane (kane@gac.edu) recently placed a FindPanel class designed to be used as a bundle on the archives. it handles regexes and replace, and is localized in several languages. you just have to implement a SearchableText protocol, and then it just works. -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted -------------------------------------------------------------- "Without an engaged and motivated human being at the keyboard, the computer is just another dumb box." William Raspberry
Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs From: cleelacj@agedwards.com (Chris Cleeland) Subject: Re: HELP: Problem with NeXT Header files, (all should read) Message-ID: <CCF8q1.Grt@agedwards.com> Date: Fri, 27 Aug 1993 14:10:48 GMT References: <1993Aug26.040149.6094@news.uta.edu> Organization: A. G. Edwards & Sons, Inc. Followup-To: comp.sys.next.programmer,comp.sys.next.bugs Shane Andrew Holder (sholder@cse.uta.edu) wrote: : OK, : The tools: : NeXT 68040 : NS v3.0 : cc v 1.93 default compiler : gcc 2.4.5 : ingres 8.9 : The task: : I'm trying to compile Ingres on my NeXT. I'm going to try and port : it, big task I know but I'm bored. I know what you mean. I found myself hacking sendmail configuration files the other night. Must be a full moon soon... :-) : The problem: (Those damn header files) : Because of the way Ingres was written I am having to use a : -traditional as one of the flags to cc (someone declared a variable : with the name const). When using -traditional neither gcc nor cc will : evaluate the #include macros that NeXT uses in some of their header : files. ex: : #include ARCH_INCLUDE(bsd/, machparam.h) : in the file /NextDeveloper/Headers/bsd/machine/machparam.h : I wasn't surprised to find out that gcc wouldn't make the translation. : I mean, if your compiling with -traditional you should expect : traditional stuff, but when cc didn't work (I know it's based on gcc) : I was a little peeved. If NeXT is going to do so much untraditional : stuff then they should support it fully. Not to state the obvious, but perhaps sed(1) could be your friend today? If you're really going to port Ingres, then maybe you should change the name of the variable from "const" to something like "ANSItokenThatSignifiesUnchangableValues" :-) Seriously, though, that might be the easiest way to get around it. Perl, if you have it, could do an even better job. Seomthing like the following: % cd <ingres-body-top> % find . -name '*.[ch]' -print | xargs perl -pi.orig -e 's/\wconst\w/aConstant/og' should do the trick, replacing every occurrence of "const" surrounded by word boundaries with the string "aConstant". It will also keep the originals of anything it fixes in <name>.orig, so if you run into problems with the regexp, you can see what the old stuff was. Still, though, you'd think "-traditional" would parse the headers properly... -cj -- ============================================================================== Chris Cleeland | Internet: cleelacj@agedwards.com BOS Dev. Team | USnail: 3878 Connecticut St. Louis 63116 | BellNet: (314) 289-5372
From: scott@nic.gac.edu (Scott Hess) Newsgroups: comp.sys.next.programmer Subject: Re: Clipping Text in a box nicely... Date: 27 Aug 93 11:51:21 Organization: Is a sign of weakness Message-ID: <SCOTT.93Aug27115121@nic.gac.edu> References: <1993Aug26.031235.2347@gleap.jpunix.com> <1330@rtbrain.rightbrain.com> In-reply-to: glenn@rightbrain.com's message of 27 Aug 93 01:30:46 GMT In article <1330@rtbrain.rightbrain.com>, glenn@rightbrain.com (Glenn Reid) writes: >> > I wrote (quite some time back): >> > >> > If you're going to use "getWidthOf:", at least make it a >> > binary search instead of a linear search, so you don't take >> > the width of all the substrings in the string every time >> > (which is order N!). > >Max Hailperin writes: > >> > No, it isn't. (As an aside, I'm assuming you really mean to >> > say not "substrings" but rather "prefixes".) It is order N^2. >> > [N + (N-1) + (N-2) + ... + 1 = N(N+1)/2.] N^2 grows *much* >> > more slowly than N!. > >Bill Shirley writes: > >> I thought he was emphatically stating it to be O(N) ;-) > >No, I did (erroneously) figure it was factorial. I thought of >comparing strings that were 100, then 99, then 98, then 98, and >whatever, and it seemed like factorial at first blush, because my >mind has atrophied since college where I actually used to be >conversant in such terminology. Now I rely more on a gut feel for >"too damn slow" versus "prob'ly acceptable". Bah. I'd rather not spend time arguing about silly points. Like Glenn says, oftena gut feel is worth an hour of O analysis ... here's a category that does the job in O(N): @implementation Font (FontWrapping) /* Figure out where to break the passed string. Previously, you * had to keep adjusting a copy of the string and call -getWidthOf: * until it was too long (or short enough). This way we use the * actual afm data to find things quickly. * * Initially you might think this would be faster as a binary-search * type algorithm - you'd be wrong. Consider that as you break up * the string to find how long the parts are, you have to traverse * the string to find the widths. This does that at the same time * it searches for the right place to break things by using an * accumulator. It remembers the last point at which it had a short * enough string, and returns that if appropriate when if finds that * the string's too long. */ -(int)wordBreakIn:(const char *)string length:(int)length width:(float)wrapWidth { float width=0.0; int i, goodLength=-1; float pointSize=[self pointSize]; NXFontMetrics *metrics=[self metrics]; for( i=0; width<wrapWidth && string[ i] && i<length; i++) { if( isspace( string[ i])) { goodLength=i; } width+=metrics->widths[ string[ i]]*pointSize; } if( width<wrapWidth) { return -1; } else if( goodLength!=-1) { return goodLength; } else { return i-1; } } @end Later, -- scott hess <shess@ssesco.com> <To the BatCube, Robin> 12901 Upton Avenue South, #326 Burnsville, MN 55337 (612) 895-1208 Anytime!
From: kheit@gandalf.rutgers.edu (John Kheit) Newsgroups: comp.sys.next.programmer Subject: GDB/Edit Bug? Message-ID: <Aug.27.12.59.03.1993.27125@gandalf.rutgers.edu> Date: 27 Aug 93 16:59:03 GMT Organization: Rutgers Univ., New Brunswick, N.J. Does anyone else frequently have Edit die when using the GDB debugger with the "Distributed Obect Communication Error"? If so does 3.1 work better (im using NS 3.0). Its pretty annoying, I have to kill edit and re-open all my files. Later, John
Newsgroups: comp.sys.next.programmer From: "Yufeng Tsui" <tsui@cs.indiana.edu> Subject: Re: Finding Out The Hostname ... HELP Message-ID: <1993Aug27.132008.8160@news.cs.indiana.edu> Organization: Computer Science, Indiana University References: <24teev$28p@zip.eecs.umich.edu> <1993Aug18.222031.27282@pencom.com> Date: Fri, 27 Aug 1993 13:20:03 -0500 In article <1993Aug18.222031.27282@pencom.com>, Michael R Riggs <mriggs@lazerus.pencom.com> wrote: >Try [NXApp hostName]. > That only returns the windowServer's hostname. I think gethostname() should work.
Newsgroups: comp.sys.next.programmer From: drew@fnbc.com (Drew Davidson) Subject: Re: Using Edit commands from .commanddict Message-ID: <1993Aug27.172537.11466@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA References: <25j414$d3d@hub.ucsb.edu> Date: Fri, 27 Aug 93 17:25:37 GMT In article <25j414$d3d@hub.ucsb.edu> doug@foxtrot.ccmrc.ucsb.edu (Douglas Scott) writes: > When I try to use the Grep Source command in Edit, I get an Edit window with > the following error: > > egrep -n "changeName" Makefile *makefile *.{C,c,h,l,y,m,s,ps,psw,pswm,lm,ym} > > egrep: can't open *.{C,c,h,l,y,m,s,ps,psw,pswm,lm,ym} > > The actual line in my .commanddict says: > > Grep Source G egrep -n "$selection" Makefile *makefile *.{C,c,h,l,y,m,s,ps,psw,pswm,lm,ym} > > > This same command, run in a shell, produces the desired results. Obviously > the shell metachars {,} are not being interpreted correctly when they are > used in this fashion. Has anyone else run into this, and is there a solution? > > Thanks. The problem here is that Edit launches /bin/sh, not /bin/csh. To make this work, put your stuff in file like: ---------------------<grepsource cut here>---------------------------- #!/bin/csh -f egrep -n $1 Makefile *makefile *.{C,c,h,l,y,m,s,ps,psw,pswm,lm,ym} ---------------------<grepsource cut here>---------------------------- then from .commanddict, put the following: Grep Source G grepsource "$selection" Kind of roundabout, but if you want csh you have to do it. > > -- > Douglas Scott (805)893-8352 > Center for Computer Music Research and Composition > University of California, Santa Barbara > Internet: (NeXTMail ok) <doug@foxtrot.ccmrc.ucsb.edu> -- +--------------------------------+-------------------------------------------+ | Drew Davidson | "Never ask a programmer if he'll have | | Software Guy | another cup of coffee because it's | | First National Bank of Chicago | nobody's damn business how much he's | | drew@fnbc.com (NeXTmail) | already had!" - me | +--------------------------------+-------------------------------------------+
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: peter@nmti.com (peter da silva) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Message-ID: <id.J9321.ALF@nmti.com> Organization: Network/development platform support, NMTI References: <westesCC6ELA.77I@netcom.com> <CEDMAN.93Aug22173930@capitalist.princeton.edu> Date: Fri, 27 Aug 1993 16:19:04 GMT In article <CEDMAN.93Aug22173930@capitalist.princeton.edu> cedman@princeton.edu (Carl Edman) writes: > No, all NeXTs run BSD 4.3 which is the standard UNIX architecture. Wow. That's two inoperative statements in one sentence. NeXT's OS is a BSD server running on top of Mach 2.5, and in most real-life terms System V is much more of a standard UNIX architecture than BSD these days. For all that BSD has less historical cruft, it's also gat far less market penetration. NeXTSTeP is a beautiful environment, and if Steve Jobs could figure out what business he needed to be in it'd be available for every UNIX box out there. The underlying O/S is nothing exceptional. -- Peter da Silva `-_-' Network Management Technology Incorporated 'U` 1601 Industrial Blvd. Sugar Land, TX 77478 USA +1 713 274 5180 "Hast Du heute schon Deinen Wolf umarmt?"
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: peter@nmti.com (peter da silva) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Message-ID: <id.N9321.HRF@nmti.com> Organization: Network/development platform support, NMTI References: <1993Aug23.131841.2625@taylor.uucp> <Aug23.155109.55345@acs.ucalgary.ca> <CC9wnA.EoJ@gator.oau.org> Date: Fri, 27 Aug 1993 16:23:11 GMT In article <CC9wnA.EoJ@gator.oau.org> larry@gator.oau.org (Larry D Snyder) writes: > They won't be there. Why should Word Perfect develop an application > for an operating system that is free? Why should Word Perfect care whether some random third party made any money from selling the O/S? -- Peter da Silva `-_-' Network Management Technology Incorporated 'U` 1601 Industrial Blvd. Sugar Land, TX 77478 USA +1 713 274 5180 "Hast Du heute schon Deinen Wolf umarmt?"
Newsgroups: comp.sys.next.programmer From: jfr@aspen.pdh.com (Jon F. Rosen) Subject: Re: Distributed Object Multi-Thread server Message-ID: <CCEBsI.CqF@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. References: <1993Aug26.192251.4437@CAM.ORG!planon> Date: Fri, 27 Aug 1993 02:19:28 GMT Yanik Crepeau writes > Darcy Brockbank writes: > > > The client uses - (oneway)clientToServer:(in id)anObject > > > method to send the messaging object to the server. It > > > receives messages via the -(oneway)serverToClient:(in > > > id)anObject method. > > > > I've had some bad luck with DOs using (in id). I'd suggest that > > you just use '(id)' since (in id) doesn't really make sense for > > objects. That is, the object will be coming across as a proxy > > (id) or as a copy (bycopy in id). > > I don't think so. The id type, is actualy a pointer to any kind > of object. If I don't use the "in" keyword, the "oneway" will > lost its meaning. When a pointer is given as argument, the DO > mecanism will wait to let the method set something. The "in" > keyword means "I don't want to change that reference, I just want > the value contained in it". Yanik, because objects (ids) are passed by proxy, there is a big different in the way they are handled. The in keyword is intended to specify (much like const in regular C) that the data pointed to by the pointer will not be changed. This permits a one-way copy to be made and makes sure the receiving application does not try to pass the data back to the sending app. Since objects are NOT copied back and forth anyway, the use of in is at best redundant. Worse, it might be confusing things when you try to use it to send a message back to the sending app through the object. One more thing... I assume that you have "run" the connection on the client side as well as the server side. This is the only way a client can receive a message on a connection unless it is awaiting a response from its original message sent to the server (synchronous callbacks are allowed without running the client's connection since it is already waiting on the connection anyway). Since oneway messages are by definition asynchronous, you MUST run the client's connection. If you haven't already thought of this, you must do the following in the client side: remoteObject = [NXConnection connectToName:...]; [[remoteObject connectionForProxy] runFromAppKit]; assuming the client is running under an Application (otherwise, just use the "run" method). Jon Rosen
Newsgroups: comp.sys.next.programmer From: cedman@princeton.edu (Carl Edman) Subject: Re: POSIX termios, where? In-Reply-To: alex@cs.umd.edu's message of 26 Aug 1993 16:00:05 GMT To: alex@cs.umd.edu (Alex Blakemore) Message-ID: <CEDMAN.93Aug26152334@capitalist.princeton.edu> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University References: <1993Aug25.204703.27740@alw.nih.gov> <CEDMAN.93Aug25191945@capitalist.princeton.edu> <25imm5$5jo@neomimsy.cs.umd.edu> Date: Thu, 26 Aug 1993 19:23:33 GMT In article <25imm5$5jo@neomimsy.cs.umd.edu> alex@cs.umd.edu (Alex Blakemore) writes: In article <CEDMAN.93Aug25191945@capitalist.princeton.edu> cedman@princeton.edu (Carl Edman) writes: > ytalk is the zsh of talks. :-) even fails to compile under NS3.1 just like zsh :-) Yes, and for the same reason. NS 3.1 pretends to have POSIX and when naive programs rely on that, NS 3.1 jumps from behind a tree and makes funny faces at them. In any case the latest releases of both are cured of their trusting nature. Zsh autoconfigures properly and ytalk auto-instructs you properly to turn on the sgttyb switch. Carl Edman
From: riedel@cs.ubc.ca (Marko Riedel) Newsgroups: comp.sys.next.programmer Subject: Edit App. (Connectivity) Date: 27 Aug 1993 21:18:59 GMT Organization: Computer Science, University of B.C., Vancouver, B.C., Canada Distribution: world Message-ID: <25lto3$2b8@cs.ubc.ca> Keywords: edit, connect I posted here a while ago about connecting to Edit.app. Seems no one is interested and/or has an answer. Several helpful people have suggested I look at archived news; I can't, on the archive sites, find anything pertaining to my problem. Here it is again: I'd like to get Edit.app to open files, highlight selections, etc. the way PB and GDB do it; i.e. the process should be code-driven and require no intervention from the user. Maybe I'll have more luck this time. - Marko R. Riedel
Newsgroups: comp.sys.next.programmer From: yanik@planon.qc.ca (Yanik Crepeau) Subject: Distributed Object Multi-Thread server <part2> Message-ID: <1993Aug27.201331.5845@CAM.ORG!planon> Sender: yanik@CAM.ORG!planon References: <1993Aug25.191424.3165@CAM.ORG!planon> Date: Fri, 27 Aug 1993 20:13:31 GMT My method is now: - clientAuServeur:unObjet { int compteur, nbreElement; mutex_lock(mutexListe); nbreElement = [uneListe count]; mutex_unlock(mutexListe); for (compteur = 0; compteur < nbreElement; compteur++) { mutex_lock(mutexListe); if ([uneListe objectAt:compteur] != self) [[uneListe objectAt:compteur] envoyer:unObjet]; nbreElement = [uneListe count]; mutex_unlock(mutexListe); //printf("*"); } //printf("!\n"); // That was the vaccine I mentioned in my first message return self; //This is my new vaccine } I have found that if I want to remove the "printf("\n");" so-called vaccine, I MUST have a "return self;" at the end of the method. My first intention, was to use the (oneway void) keyword but since I must do something after I send a message to all members (each one with its own thread) of my list. By now my strategy works. The strategy is as follow: Client1 create a messaging object en encapsulate the message Client1 sends the messaging object (as Proxy) to the server. Client1 sends -free message to the messaging object. The server re-sends that object (as Proxy) to each registered client (except Client1). Each client (except Client1) retreive the data from the Proxy (messaging object) Each client (except Client1) sends -free message to the Proxy (messaging object). Since the messaging object conforms to the NXReference protocol, the messaging object is -freeed only when all the clients in the network have sent the -free message. In the - init and - free method of the messaging object, I use the "gettimeofday()" function to know how long the object lives, the -init is the born of the object and the last -free sent by a client -- the one that reaches the [super free] -- is its dead. As I expected, the life of the messaging object is directly proportional to the number of clients on the network. With just 2 applications (Client1 and Client2) and just one sender (Client1), the life of the messaging object varies between 20000 usec to 35000 usec. When the Client2 does something with the object (printing its contents once every 10 messages received), the life is longer (50000 to 70000 usec). With 10 clients and 1 sender, the life varies from 300000 to 700000 usec when the receiver just discard the messaging object and from 500000 to 1500000 usec when each client prints the content of the messaging object in there respective terminal window. I have the strong feeling that I could make a better job by using the "oneway" keyword with, of course, the "bycopy" and "in" keywords for the parameters. If I have full satisfaction when I use DOs as Proxy, I don't have the same feeling when I use them as Copy. Each time an application (the server or the client) receives a copy, it crashes. Yes, I have made my messaging object conform to the NXTransport protocol! Someone has found how "oneway" and "bycopy" work? -- Yanik Crepeau Programmer Planon Telexpertise E-Mail: yanik@planon.qc.ca (NeXT)
Newsgroups: comp.sys.next.programmer From: stabl@informatik.uni-muenchen.de (Robert Stabl) Subject: "Official" way to get information about "heirs"? Sender: news@informatik.uni-muenchen.de (News System) Message-ID: <stabl.746492819@news.informatik.uni-muenchen.de> Date: Fri, 27 Aug 1993 23:06:59 GMT Organization: Institut fuer Informatik der Universitaet Muenchen Hi, is there an "official" way in Objective-C (and on the NeXT) to get information about all objects (i.e. at runtime) that are instances of subclasses of a specific class? In other words: I'm looking for the heirs of a specific class at runtime. Thanks in advance Robert. -- Robert Stabl | Currently at: Computer Science Institute | Centre de Recherche Informatique de Montreal University of Munich | 1801, avenue McGill College, bureau 800 Leopoldstr. 11B | Montreal (Quebec) Canada H3A 2N4 D-80802 Muenchen | Tel: (514) 398-1520 Germany | Fax: (514) 398-1244
From: annard@theborg.stack.urc.tue.nl (Annard Brouwer) Newsgroups: comp.sys.next.programmer Subject: How to create ghost icon during dragging? Date: 27 Aug 1993 22:50:18 GMT Organization: the Borg Distribution: world Message-ID: <25m33a$25q@theborg.stack.urc.tue.nl> Hi there, For an applet I'm writing I wanted to implement drag-n-drop, so far everything works except a small esthetic part: it seems impossible for me to create a ghost image of the dragged icon. I tried a lot of compositing operators (and thus I've seen interesting images) but to no avail... Even CompositeLab didn't help. Is there someone who is willing to share this secret with me? This might be something for the NeXT Programmer's FAQ too, I guess. Thanks a bundle in advance! Toodlepip, Annard -- Annard Brouwer annard@stack.urc.tue.nl (NeXTmail appreciated) People? You can forget it.
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Re: Searching for a FindPanel... Message-ID: <1993Aug27.200204.316@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software References: <25l8k1$7ve@neomimsy.cs.umd.edu> Date: Fri, 27 Aug 1993 20:02:04 GMT Alex Blakemore writes >In article <25khg3INNfqk@gap.caltech.edu> khare@cco.caltech.edu (Rohit Khare) writes: >> I was wondering if anyone on the net had come across >> a nice find-panel object. Yap has such a beast, but it doesn't support >> NXFindPboard, regexes, or replace. > >Christopher J. Kane (kane@gac.edu) recently placed a FindPanel class designed >to be used as a bundle on the archives. it handles regexes and replace, and >is localized in several languages. you just have to implement a SearchableText >protocol, and then it just works. >-- How about a FindPanel arrangement that works in NXBrowsers (or perhaps more correctly, in a Matrix). I'm thinking of Maill.app and NewsGrazer.app Does Christopher's panel handle this too? Where can we get this bundle? Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
Newsgroups: comp.sys.next.programmer From: joseph@daffy.tip.ameslab.gov (Joseph Reynolds) Subject: Re: A beginner question about streams.... Message-ID: <CCFz8o.9oC@news.iastate.edu> Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA References: <25gnf8$4g2@wave.aoml.erl.gov> Date: Fri, 27 Aug 1993 23:43:35 GMT Hi. In article <25gnf8$4g2@wave.aoml.erl.gov> bakker@cyclon.aoml.erl.gov (Cary Bakker) writes: > > Could you tell me what I'm doing wrong here? > > inStream = NXMapFile(inputFile,NX_READONLY); > outStream = NXMapFile(outputFile,NX_WRITEONLY); > > while (!(NXScanf(inStream,"%i %f %f", &pointNo, &lat, &lon)==EOF)) > NXPrintf(outStream,"%i\t%f\t%f\n",pointLabel,prevlat,prevlon); > > NXClose(inStream); > NXSaveToFile(outStream, outputFile); > NXClose(outStream); The problem is that NXMapFile takes an *existing* file and maps it into memory. You probably want to use NXOpenMemory() to create the stream. (I would just use the standard C library functions (fopen, fscanf, fprintf, and fclose) to do this job. I use NeXT streams only when I need a variable sized buffer or a temporary file.) > Thanks for the help, > Cary A. Bakker.. You're welcome, Joseph
Newsgroups: comp.sys.next.programmer From: mike@lorax.com (Mike Ferris) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Message-ID: <CCFr6I.6xC@lorax.com> Sender: mike@lorax.com (Mike Ferris) Organization: Stultus Enterprises References: <CC7L5B.8Hz@unix.portal.com> Date: Fri, 27 Aug 1993 20:49:29 GMT Duane says: > Either the NS implementation solves a lot of problems > which X cannot, or pretty much everyone working outside > of NeXT is a moron. Hee hee. Now why can't I think of lines like that? Succinct and to the point. ____________________________________________________________ Mike Ferris All statements are true in some mike@lorax.com sense, false in some sense, Rubicon Software and meaningless in some sense. (510) 652-2039 Including this one.
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: mike@lorax.com (Mike Ferris) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Message-ID: <CCFrnx.6yr@lorax.com> Sender: mike@lorax.com (Mike Ferris) Organization: Stultus Enterprises References: <25di5o$44m@news.mic.ucla.edu> Date: Fri, 27 Aug 1993 20:59:56 GMT In article <25di5o$44m@news.mic.ucla.edu> ivo@next.agsm.ucla.edu (Ivo Welch) writes: > >[1] UnixWare's ads claim they have a free 1-800 number for > support. NeXT has a $200/call policy for individuals > (or a few thousand dollars per institution)--- Unix > for the rest of us? No way --- True. However, I have always gotten more prompt answers to my questions through comp.sys.next.programmer or the next-prog mailing list than I ever did from Next. This is not to say that Next isn't helpful, but there are thousands of people to answer your question through the net! In my opinion, this fact makes Next's support pricing less hard to bear. ____________________________________________________________ Mike Ferris God, to me... mike@lorax.com is a verb, not a noun, Rubicon Software proper or improper. (510) 652-2039 -Bucky Fuller
Newsgroups: comp.sys.next.programmer From: mike@lorax.com (Mike Ferris) Subject: Re: How to ignore first click in a double-click? (urgent) Message-ID: <CCFso5.71t@lorax.com> Sender: mike@lorax.com (Mike Ferris) Organization: Stultus Enterprises References: <ARROUYE.93Aug27113928@mistral.imag.fr> Date: Fri, 27 Aug 1993 21:21:40 GMT In article <ARROUYE.93Aug27113928@mistral.imag.fr> arrouye@cosmos.imag.fr (Yves Arrouye) writes: >I have the following problem: I would like to ignore the (n-1) first >clicks of a n-click. Is there a easy way to do that (that is, without >asking for the click delay, and make some >perform:afterDelay:cancelPrevious things in order to let the first >clicks pass away; note that I haven't not tried this, but it is >annoying, because I will have to do it in every mouseDown: so...)? I assume you mean that a single click will do something, but a double-click will do something else that doesn't include the single-click behaviour. Well, the UI guidelines say this is bad, but of course you know that. The author's of workspace probably knew it too, but they were sensible enough to ignore it for shelf clicks and double-clicks where the non-standard behaviour is much more useful. I think what you mention above is the way it has to be. If you get a single click event, you MUST wait for a double-click interval before doing the single action to make sure that the double-click doesn't come. Hopefully you're not planning on doing this without a good reason, and it will only be that way in certain parts of your app. Hopefully, the things which need to act this way are Cell or Control subclasses. Just do it in the mousedown of the subclass. If there are several subclasses of ButtonCell (say) that need the behaviour, make a subclass called DualActingButtonCell, and then have the other subclasses inherit the behaviour from this intermediate class. In other words, if you work it out right, you won't need to do it over and over. ____________________________________________________________ Mike Ferris God, to me... mike@lorax.com is a verb, not a noun, Rubicon Software proper or improper. (510) 652-2039 -Bucky Fuller
Newsgroups: comp.sys.next.programmer From: mike@lorax.com (Mike Ferris) Subject: Re: Inspector Object Message-ID: <CCFsvI.72r@lorax.com> Sender: mike@lorax.com (Mike Ferris) Organization: Stultus Enterprises References: <1993Aug25.203014.4445@pixar.com> Distribution: usa Date: Fri, 27 Aug 1993 21:26:05 GMT In article <1993Aug25.203014.4445@pixar.com> wave@pixar.com (Michael B. Johnson) writes: >In article <1993Aug25.160551.173298@lexmark.com> songer@lexmark.com >(Christopher Songer) writes: >> Hi! >> >> I seem to recall the existence of an object available on >> the archive servers to manage views for an "inspector" like >> object. Unfortunately, I cannot recall the name of the archive. >> If someone could point me in the right direction I'd really >> appreciate it. >> > >Ya know, I think I downloaded every one of these sorts of things over the >years that have been posted, and been underwhelmed by all of them. I'm >happy to report, though, that the MiniExample written by Thomas Burkholder >has just the thing - and it's on a palette, which makes it a joy to use. >Just drag a SwitchView onto a Window, and then connect it up to the >various views you want to swap in. Because of the ingenious way Thomas >implemented it, you can actually test it fully inside of IB. > >You can get this one at ftp.next.com, it's one of the latest MiniExamples >(in TTools, I believe). > A switchview type class is a useful basis for an inspector, but a general inspector manager can go a lot further. There is a class called InspectorManager which is OK and shows the extent to which inspector handling can be taken. The thing with inspectors that makes them a little more than just switchviews is that there might be different views depending on what is selected in the main window as well as what some popup menu says. (Think of the IB Attributes inspectors for Buttons and Sliders. The popup says attributes the whole time, but the inspector must change depending on the selection. I have my problems with InspectorManager, but it's a pretty good start. ____________________________________________________________ Mike Ferris A little bit faster, mike@lorax.com A little bit more, Rubicon Software A little bit further (510) 652-2039 than you've gone before.
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Publicly Available Entry formatters? Date: 27 Aug 1993 22:11:34 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <25mesm$nt8@digifix.digifix.com> Does anyone have any publicly available data formatters? The kind of thing so that when someone types in a phone-number or date or string, the field is automatically hyphenated, slashed or Upper/Lowercased? It looks like Object Technologies SmartFieldPalette will do it, but it also looks like it will do alot more that I don't currently need. Ideally something that is configurable and comes in a source code format. Please point, I will summarize! -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Source Code Collection CD-ROM (was Re: Searching for a FindPanel...) Date: 27 Aug 1993 22:28:37 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <25mfsl$nul@digifix.digifix.com> References: <1993Aug27.133909.6054@afs.com> Jon_Hendry@afs.com writes > In article <25khg3INNfqk@gap.caltech.edu> khare@cco.caltech.edu (Rohit Khare) > writes: [ interesting and informed opinions about a source code CD-ROM ] This brings up a question that I have had for a while now, and fits into this vein nicely. What are people using as examples? I have a directory of available source that I keep indexed for librarian so I can pull out anything that is relevant, or at least look at it in action. I also have file extension filters so that the .app .tiff .snd type files don't get indexed, making search much more pleasant. I've got all the MiniExamples, the Examples from 2.2, 3.1 Examples, as well as some others. Background3 Calendar CircularSliderPalette Clocks ColorBrowser ** these were written by a Jim Millin KeyDownBrowser ** and all his examples are excellent RemoteMailCompose ** just wish I knew what happened to ObjectPalette ** him! DrawingInAnAppIcon MailComposerPalette DragFontPanel DragLab EmbeddedGraphic IconBuilderScaleFilter ImagePortfolio kFilter Magnify mailapp-utilities ManPagesFromHeaders MousyMoved OrthoDraw PersonalPreferences RotationSliderPalette SilkScreen Splat Switchbox TestMsgView Tree3D_3.0 WindowDepth.bproj WrapperInspector YourWS_Inspector The 'criteria' for chosing things for this collection were pretty wide. Sometimes based on the functionality they offered. In other cases I basically took ANYTHING from that author, because they had developed a reputation in my books of providing good examples. Jeff_Martin and Don_Yackman for example. There are some apps/bundles/palettes/preferences/inspectors. I have links to other directories in my LocalDeveloper hierarchy that divides these directories up into the kind of functionality they offer. /LocalLibrary/Examples/Palettes has links to CalPal, CircularSliderPalette etc as well as the related goodies in MiniExamples. I've done the same for Examples that relate to the AppKit/DBKit/IndexingKit and Sound. I also have my work in an indexed directory here, as well as my own MiniExamples that I wrote when I was at DevCamp. All of these snippets have come in handy. OK, so why am I going into all this? Well, it seems like if we all were to post a listing like this, with instructions on where to get these sources, we would be able to accomplish some of what we want from NeXT. True, we won't have access to Edit.app or HeaderViewer, but we will have a good collection of source to build on. And, while being able to get the functionality that is in Edit or whatever is what I'm sure we are all after, I'd much rather that NeXT got an intern or two to separate those classes out and release them on their own, rather than dumping the whole source tree on us. I have problems finding things in my OWN code! :-) -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: comp.sys.next.programmer From: kane@cs.purdue.edu (Christopher Kane) Subject: Re: Searching for a FindPanel... Message-ID: <CCG8t2.29r@mentor.cc.purdue.edu> Sender: news@mentor.cc.purdue.edu (USENET News) Organization: Purdue University References: <1993Aug27.200204.316@gleap.sccsi.com> Date: Sat, 28 Aug 1993 03:10:13 GMT In article <1993Aug27.200204.316@gleap.sccsi.com> clloyd@gleap (Charles C. Lloyd) writes: >Alex Blakemore writes >>In article <25khg3INNfqk@gap.caltech.edu> khare@cco.caltech.edu >>(Rohit Khare) writes: >>> I was wondering if anyone on the net had come across >>> a nice find-panel object. Yap has such a beast, but it doesn't >>> support NXFindPboard, regexes, or replace. >> >> Christopher J. Kane (kane@gac.edu) recently placed a FindPanel class >> designed to be used as a bundle on the archives. it handles regexes >> and replace, and is localized in several languages. you just have >> to implement a SearchableText protocol, and then it just works. > > How about a FindPanel arrangement that works in NXBrowsers (or > perhaps more correctly, in a Matrix). I'm thinking of Maill.app and > NewsGrazer.app. Does Christopher's panel handle this too? Where can > we get this bundle? I'd get it from sonata.cc.purdue.edu in pub/next/submissions (currently). The archive is named FindPanel-1.0.tar.Z and there is an associated README file. It is designed to be a dynamically-loaded bundle that can be dropped into a project under development with minimal fuss and effort. I created the SearchableText protocol Alex Blakemore mentions with Matrixes, selection lists, and, of course, the Text class in mind. My goal was to create a general protocol which any object that had text it wanted to "vend" for searching/replacing operations could implement. For a Text-like object, this is simple. For a Matrix, a programmer would have to decide how to map a linear sort of text model to two/three dimensions. This is not all that difficult either, and there is lots of documentation to explain things. The FindPanel doesn't itself do the searching/replacing/regexpr stuff-- that's the job of an implementor of the SearchableText protocol. I include a simple example app, a category to the Text object that provides much of the necessary code to implement SearchableText for any Text object, and a regular expression module (a quite nice one) posted to comp.sources.misc (vol27/vol29) by Tatu Ylonen. I'd be interested in implementations of the SearchableText protocol for NeXT's *Kit classes, as well as others, to be included (with copyright notices and documentation, as appropriate) in future releases of this bundle/archive. Suggestions, criticisms, and questions are also welcome. Christopher J. Kane kane@gac.edu kane@cs.purdue.edu
From: alex@cs.umd.edu (Alex Blakemore) Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Date: 28 Aug 1993 03:55:42 GMT Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Message-ID: <25mkvu$9uv@neomimsy.cs.umd.edu> References: <25di5o$44m@news.mic.ucla.edu> <CCFrnx.6yr@lorax.com> In article <25di5o$44m@news.mic.ucla.edu> ivo@next.agsm.ucla.edu (Ivo Welch) writes: > NeXT has a $200/call policy for individuals In article <CCFrnx.6yr@lorax.com> mike@lorax.com (Mike Ferris) writes: > True. NOT TRUE. user and sys admin support is $30 per 15 minutes talking to an engineer. ($120/hour billed in 15 minute increments) developer support is $200 per call (really per problem, may involve multiple calls) there are hotline subscriptions which make sense in a large organization but are out of scope for most individuals. you can even get premium support which includes your own NeXT engineer on call and 12 days with them on site. and for absolutely free, they provide the NeXTAnswers service by email, fax and ftp. so it looks like they have a range of services with plenty of options for both the little guy and the fortune 500 company. what more do you want them to do? -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted -------------------------------------------------------------- "Without an engaged and motivated human being at the keyboard, the computer is just another dumb box." William Raspberry
From: alex@cs.umd.edu (Alex Blakemore) Newsgroups: comp.sys.next.programmer Subject: Re: Searching for a FindPanel... Date: 28 Aug 1993 04:04:26 GMT Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Message-ID: <25mlga$a45@neomimsy.cs.umd.edu> References: <25l8k1$7ve@neomimsy.cs.umd.edu> <1993Aug27.200204.316@gleap.sccsi.com> In article <1993Aug27.200204.316@gleap.sccsi.com> clloyd@gleap.sccsi.com writes: > How about a FindPanel arrangement that works in NXBrowsers (or perhaps more > correctly, in a Matrix). I'm thinking of Maill.app and NewsGrazer.app Does > Christopher's panel handle this too? Where can we get this bundle? I think it can search anything that implements the protocol Searchable_Text, (a definition of which comes with the FindPanel class and bundle) It had to be on cs.orst.ed or sonata.cc.purdue.edu I just downloaded it about 2 weeks ago -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted -------------------------------------------------------------- "Without an engaged and motivated human being at the keyboard, the computer is just another dumb box." William Raspberry
From: alex@cs.umd.edu (Alex Blakemore) Newsgroups: comp.sys.next.programmer Subject: cmsg cancel <25mlga$a45@neomimsy.cs.umd.edu> Control: cancel <25mlga$a45@neomimsy.cs.umd.edu> Date: 28 Aug 1993 04:50:50 GMT Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Message-ID: <25mo7a$aka@neomimsy.cs.umd.edu> References: <25l8k1$7ve@neomimsy.cs.umd.edu> <1993Aug27.200204.316@gleap.sccsi.com> <25mlga$a45@neomimsy.cs.umd.edu> Originator: alex@seine.cs.umd.edu <25mlga$a45@neomimsy.cs.umd.edu> was cancelled from within rn. -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted -------------------------------------------------------------- "Without an engaged and motivated human being at the keyboard, the computer is just another dumb box." William Raspberry
From: kheit@gandalf.rutgers.edu (John Kheit) Newsgroups: comp.sys.next.programmer Subject: r4FFT(FAST), & Thanks to friends @ c.s.n.p Message-ID: <Aug.28.01.44.03.1993.23031@gandalf.rutgers.edu> Date: 28 Aug 93 05:44:04 GMT Organization: Rutgers Univ., New Brunswick, N.J. First off a big thanks to all the the folks that helped me out the last couple of days. (I got a big education in signal processing :) Anyway I got phase one of my project done (and only two days late!) and all of you guys really helped--SO A BIG TANX TA YA ALL. Also a bunch of people were interested in the FFT's that I may might have found. The radix 4 FFT that will follow is the fastest one I've found and it was posted to the comp.dsp group (an interesting group I might add). r4FFT below: /* ** Discrete Fourier analysis routine ** from IEEE Programs for Digital Signal Processing ** G. D. Bergland and M. T. Dolan, original authors ** Translated from the FORTRAN with some changes by Paul Kube ** ** Modified to return the power spectrum by Chuck Wooters ** ** Modified again by Tony Robinson (ajr@eng.cam.ac.uk) Dec 92 */ #include <math.h> #include <stdio.h> typedef float real; #define PI 3.1415926535897932 #define PI8 0.392699081698724 /* PI / 8.0 */ #define RT2 1.4142135623731 /* sqrt(2.0) */ #define IRT2 0.707106781186548 /* 1.0/sqrt(2.0) */ #define signum(i) (i < 0 ? -1 : i == 0 ? 0 : 1) int FAST(real*, int); void FR2TR(int, real*, real*); void FR4TR(int, int, real*, real*, real*, real*); void FORD1(int, real*); void FORD2(int, real*); int fastlog2(int); void RealFFT(float *orig, float *fftd, int npoint) { int i; for(i = 0; i < npoint; i++) fftd[i] = orig[i]; if(FAST(fftd, npoint) == 0 ){ fprintf(stderr, "Error calculating fft.\n"); // exit(1); } } /* ** FAST(b,n) ** This routine replaces the real float vector b ** of length n with its finite discrete fourier transform. ** DC term is returned in b[0]; ** n/2th harmonic real part in b[1]. ** jth harmonic is returned as complex number stored as ** b[2*j] + i b[2*j + 1] ** (i.e., remaining coefficients are as a DPCOMPLEX vector). ** */ int FAST(real *b, int n) { real fn; int i, in, nn, n2pow, n4pow, nthpo; n2pow = fastlog2(n); if(n2pow <= 0) return 0; nthpo = n; fn = nthpo; n4pow = n2pow / 2; /* radix 2 iteration required; do it now */ if(n2pow % 2) { nn = 2; in = n / nn; FR2TR(in, b, b + in); } else nn = 1; /* perform radix 4 iterations */ for(i = 1; i <= n4pow; i++) { nn *= 4; in = n / nn; FR4TR(in, nn, b, b + in, b + 2 * in, b + 3 * in); } /* perform inplace reordering */ FORD1(n2pow, b); FORD2(n2pow, b); /* take conjugates */ for(i = 3; i < n; i += 2) b[i] = -b[i]; return(1); } /* radix 2 subroutine */ void FR2TR(int in, real *b0, real *b1) { int k; real t; for(k = 0; k < in; k++) { t = b0[k] + b1[k]; b1[k] = b0[k] - b1[k]; b0[k] = t; } } /* radix 4 subroutine */ void FR4TR(int in, int nn, real *b0, real *b1, real *b2, real* b3) { real arg, piovn, th2; real *b4 = b0, *b5 = b1, *b6 = b2, *b7 = b3; real t0, t1, t2, t3, t4, t5, t6, t7; real r1, r5, pr, pi; real c1, c2, c3, s1, s2, s3; int j, k, jj, kk, jthet, jlast, ji, jl, jr, int4; int L[16], L1, L2, L3, L4, L5, L6, L7, L8, L9, L10, L11, L12, L13, L14, L15; int j0, j1, j2, j3, j4, j5, j6, j7, j8, j9, j10, j11, j12, j13, j14; int k0, kl; L[1] = nn / 4; for(k = 2; k < 16; k++) { /* set up L's */ switch (signum(L[k-1] - 2)) { case -1: L[k-1]=2; case 0: L[k]=2; break; case 1: L[k]=L[k-1]/2; } } L15=L[1]; L14=L[2]; L13=L[3]; L12=L[4]; L11=L[5]; L10=L[6]; L9=L[7]; L8=L[8]; L7=L[9]; L6=L[10]; L5=L[11]; L4=L[12]; L3=L[13]; L2=L[14]; L1=L[15]; piovn = PI / nn; ji=3; jl=2; jr=2; for(j1=2;j1<=L1;j1+=2) for(j2=j1;j2<=L2;j2+=L1) for(j3=j2;j3<=L3;j3+=L2) for(j4=j3;j4<=L4;j4+=L3) for(j5=j4;j5<=L5;j5+=L4) for(j6=j5;j6<=L6;j6+=L5) for(j7=j6;j7<=L7;j7+=L6) for(j8=j7;j8<=L8;j8+=L7) for(j9=j8;j9<=L9;j9+=L8) for(j10=j9;j10<=L10;j10+=L9) for(j11=j10;j11<=L11;j11+=L10) for(j12=j11;j12<=L12;j12+=L11) for(j13=j12;j13<=L13;j13+=L12) for(j14=j13;j14<=L14;j14+=L13) for(jthet=j14;jthet<=L15;jthet+=L14) { th2 = jthet - 2; if(th2<=0.0) { for(k=0;k<in;k++) { t0 = b0[k] + b2[k]; t1 = b1[k] + b3[k]; b2[k] = b0[k] - b2[k]; b3[k] = b1[k] - b3[k]; b0[k] = t0 + t1; b1[k] = t0 - t1; } if(nn-4>0) { k0 = in*4 + 1; kl = k0 + in - 1; for (k=k0;k<=kl;k++) { kk = k-1; pr = IRT2 * (b1[kk]-b3[kk]); pi = IRT2 * (b1[kk]+b3[kk]); b3[kk] = b2[kk] + pi; b1[kk] = pi - b2[kk]; b2[kk] = b0[kk] - pr; b0[kk] = b0[kk] + pr; } } } else { arg = th2*piovn; c1 = cos(arg); s1 = sin(arg); c2 = c1*c1 - s1*s1; s2 = c1*s1 + c1*s1; c3 = c1*c2 - s1*s2; s3 = c2*s1 + s2*c1; int4 = in*4; j0=jr*int4 + 1; k0=ji*int4 + 1; jlast = j0+in-1; for(j=j0;j<=jlast;j++) { k = k0 + j - j0; kk = k-1; jj = j-1; r1 = b1[jj]*c1 - b5[kk]*s1; r5 = b1[jj]*s1 + b5[kk]*c1; t2 = b2[jj]*c2 - b6[kk]*s2; t6 = b2[jj]*s2 + b6[kk]*c2; t3 = b3[jj]*c3 - b7[kk]*s3; t7 = b3[jj]*s3 + b7[kk]*c3; t0 = b0[jj] + t2; t4 = b4[kk] + t6; t2 = b0[jj] - t2; t6 = b4[kk] - t6; t1 = r1 + t3; t5 = r5 + t7; t3 = r1 - t3; t7 = r5 - t7; b0[jj] = t0 + t1; b7[kk] = t4 + t5; b6[kk] = t0 - t1; b1[jj] = t5 - t4; b2[jj] = t2 - t7; b5[kk] = t6 + t3; b4[kk] = t2 + t7; b3[jj] = t3 - t6; } jr += 2; ji -= 2; if(ji-jl <= 0) { ji = 2*jr - 1; jl = jr; } } } } /* an inplace reordering subroutine */ void FORD1(int m, real *b) { int j, k = 4, kl = 2, n = 0x1 << m; real t; for(j = 4; j <= n; j += 2) { if(k - j>0) { t = b[j-1]; b[j - 1] = b[k - 1]; b[k - 1] = t; } k -= 2; if(k - kl <= 0) { k = 2*j; kl = j; } } } /* the other inplace reordering subroutine */ void FORD2(int m, real *b) { real t; int n = 0x1<<m, k, ij, ji, ij1, ji1; int l[16], l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15; int j1, j2, j3, j4, j5, j6, j7, j8, j9, j10, j11, j12, j13, j14; l[1] = n; for(k=2;k<=m;k++) l[k]=l[k-1]/2; for(k=m;k<=14;k++) l[k+1]=2; l15=l[1];l14=l[2];l13=l[3];l12=l[4];l11=l[5];l10=l[6];l9=l[7]; l8=l[8];l7=l[9];l6=l[10];l5=l[11];l4=l[12];l3=l[13];l2=l[14];l1=l[15]; ij = 2; for(j1=2;j1<=l1;j1+=2) for(j2=j1;j2<=l2;j2+=l1) for(j3=j2;j3<=l3;j3+=l2) for(j4=j3;j4<=l4;j4+=l3) for(j5=j4;j5<=l5;j5+=l4) for(j6=j5;j6<=l6;j6+=l5) for(j7=j6;j7<=l7;j7+=l6) for(j8=j7;j8<=l8;j8+=l7) for(j9=j8;j9<=l9;j9+=l8) for(j10=j9;j10<=l10;j10+=l9) for(j11=j10;j11<=l11;j11+=l10) for(j12=j11;j12<=l12;j12+=l11) for(j13=j12;j13<=l13;j13+=l12) for(j14=j13;j14<=l14;j14+=l13) for(ji=j14;ji<=l15;ji+=l14) { ij1 = ij-1; ji1 = ji - 1; if(ij-ji<0) { t = b[ij1-1]; b[ij1-1]=b[ji1-1]; b[ji1-1] = t; t = b[ij1]; b[ij1]=b[ji1]; b[ji1] = t; } ij += 2; } } int fastlog2(int n) { int num_bits, power = 0; if((n < 2) || (n % 2 != 0)) return(0); num_bits = sizeof(int) * 8; /* How big are ints on this machine? */ while(power <= num_bits) { n >>= 1; power += 1; if(n & 0x01) { if(n > 1) return(0); else return(power); } } return(0); }
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: cedman@princeton.edu (Carl Edman) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? In-Reply-To: peter@nmti.com's message of Fri, 27 Aug 1993 16:19:04 GMT To: peter@nmti.com (peter da silva) Message-ID: <CEDMAN.93Aug27170204@capitalist.princeton.edu> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University References: <westesCC6ELA.77I@netcom.com> <CEDMAN.93Aug22173930@capitalist.princeton.edu> <id.J9321.ALF@nmti.com> Date: Fri, 27 Aug 1993 21:02:02 GMT In article <id.J9321.ALF@nmti.com> peter@nmti.com (peter da silva) writes: In article <CEDMAN.93Aug22173930@capitalist.princeton.edu> cedman@princeton.edu (Carl Edman) writes: > No, all NeXTs run BSD 4.3 which is the standard UNIX architecture. Wow. That's two inoperative statements in one sentence. NeXT's OS is a BSD server running on top of Mach 2.5, and in most real-life terms System V is much more of a standard UNIX architecture than BSD these days. For all that BSD has less historical cruft, it's also gat far less market penetration. Nope. The idea of separate servers sitting "on top of" a distinct mach kernel is at least in mach kernels preceding 3.0 (like all NeXT kernels to date) is just a nice abstraction but not in any way a functional description. If you don't believe me, go grab your BSD sources, the NeXT kernel and a disassembler. You'll find that virtually all the relevant parts were compiled straight from the BSD sources. SCO crowing forever about how many hundreds of thousands of system V derivatives it has sold running on single user unconnected 286 PCs doesn't alter the fact that most UN*X software was written for BSD derived systems. A quick scan of any of the major archives should convince you of that. The underlying O/S is nothing exceptional. Yes. It is just good old solid _standard_ BSD 4.3 with a few Mach extensions. As a matter of fact, this was one of the central reasons why I bought a NeXT once upon a time. Carl Edman
Newsgroups: comp.sys.next.programmer From: Karl_Kraft@ensuing.com Subject: Re: Making Obj-C faster? Message-ID: <CCFMq0.15F@ensuing.com> Sender: karl@ensuing.com (Karl Kraft) Organization: Ensuing Technologies Inc. References: <53701@sdcc12.ucsd.edu> Distribution: na Date: Fri, 27 Aug 1993 19:13:08 GMT In article <53701@sdcc12.ucsd.edu> mstankus@oba.ucsd.edu (Mark Stankus) writes: > I was wondering.... > One complaint is that obj-c is slower than C++. > For example, > [Be warned, followup is out of order] > Also, maybe the compiler could resolve some of the method > calls to @selector (or whatever that is -- I am not experienced > with objective-c yet) so that there would be a faster run time. > Again, if the compiler can't resolve it, then it doesn't. > Maybe someone could write a commercial preprocessor? > Wouldn't this partially diffuse the static/binding > debate in objective-c's favor? > My understanding is that @selector is resolved at compile time. So I don't think this is an issue. If someone else knows better, then please correct me. > -rank {return rank;} > > is basically a procedure call to return the value of a > data field of an object in an object oriented way. > In C++, someone would use an inline statement. > > 1. What about a new directive > > @inline > > which would attempt to replace a small function of the > type above with an inline function. Since it is only at *attempt*, > if the compiler can't resolve the inline command then it doesn't. > This allows the programmer to still have the flexibility of > objective-c but when the compiler can do better it does. > This sounds good, but how do you realize inline directives with RUNTIME binding. What if you end up using a subclass that has -rank {return rank+1;} Which method would the compiler inline? And if it's the object is type "id", how will the inline check to see if it's even responded to? There is a way to achieve the speed you need. If an object is declared as follows: @interface MyObject:Object { @public int rank; } @end -myMethodInSomeOtherClass { MyObject *theObject; theObject->rank; } I know this feature is present in the NeXT version of Objective-C, and I would expect it to begin making it's way back into Gnu-Objective-C In real life application the overhead for runtime binding is not all that bad. If you actually create a full application, you will find more cycles burned on excessive drawing or poor algorithms. Those type of delays are easily perceived by the user. Those are the things that make a program slow. If you were to optimize all your method calls as inlines, the speed improvement would be imperceptible to a user. The rare exception is when you do the same method over and over. Even then, you probably shouldn't bother to optimize unless you are talking about several thousand calls in close proximity to the same method. Finally, as Sonny Bono once said, "Machines keep a going faster all the time" -- _________ Karl Kraft Karl_Kraft@ensuing.com (NeXT mail)
Newsgroups: comp.sys.next.programmer From: Karl_Kraft@ensuing.com Subject: Re: 1-bit EPS to TIFF Message-ID: <CCFtKC.1Dz@ensuing.com> Sender: karl@ensuing.com (Karl Kraft) Organization: Ensuing Technologies Inc. References: <25j3qo$l9m@darkstar.isi.edu> Distribution: usa Date: Fri, 27 Aug 1993 21:40:56 GMT In article <25j3qo$l9m@darkstar.isi.edu> carlton@darkstar.isi.edu (Mike Carlton) writes: > I'm looking for a way to produce 1-bit TIFF files from EPS files from > the command line. > > I've got simple little program that I grabbed from the net last year > that basically does: > NXApp = [Application new]; > image = [[NXImage alloc] initFromFile:argv[1]]; > [image writeTIFF:stream allRepresentations:YES]; > NXSaveToFile(stream,argv[2]); > > The problem is that this produces 2-bit TIFF with an alpha channel. > I want the lowest common denominator possible (these figures will > appear on a conference's CD-ROM), and I'm leary that an alpha > channel will cause problems (one of the technotes indicates that > Next's format is non-standard). > The reason you have an alpha channel is that the window that hold's the NXImage gets promoted to hold the Alpha from the EPS file. To get rid of the alpha channel, do this: NXApp = [Application new]; image = [[NXImage alloc] initFromFile:argv[1]]; [image setBackgroundColor:NX_COLORWHITE]; [image writeTIFF:stream allRepresentations:YES]; NXSaveToFile(stream,argv[2]); That will still leave it two-bit. Most well-rounded tiff packages should be able to read two-bit tiff. If you have the space on the CDROM, I would also save a copy as eight-bit, which is probably a bit more universal. -- _________ Karl Kraft Karl_Kraft@ensuing.com (NeXT mail)
Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs From: andy@research.canon.oz.au (Andy Newman) Subject: Re: multiple definitions of symbol.... Message-ID: <CCGoHF.9Ht@research.canon.oz.au> Sender: news@research.canon.oz.au Organization: Canon Information Systems Research Australia References: <1993Aug25.051021.11950@frsvnsvn.cts.com> <1993Aug26.073716.22702@csus.edu> Date: Sat, 28 Aug 1993 08:48:50 GMT eps@cs.sfsu.edu writes: > HOWEVER, software that attempts to provide its own version of malloc() >for the hell of it is probably severely misguided. NeXT's malloc() is >not the traditional BSD malloc(), and if you think you're going to get >better performance with your own version, you're probably wrong. There is one good reason to override malloc(), NeXT's is broken. It doesn't guarantee that the memory is actually there. Do a malloc(1024 * 1024 * 1024 - 1) (you need the minus one to avoid another bug) and see what you get back. Suprised? I didn't think my disk could support that much VM! Now add a loop that touches each page, recompile, save anything you're working on and run it again. Watch your machine grind away. agree that it is often misguided to replace malloc() for performance reasons. -- Andy Newman (andy@research.canon.oz.au)
Newsgroups: comp.sys.next.programmer From: simsong@next.cambridge.ma.us (Simson L. Garfinkel) Subject: Re: Button bug? Message-ID: <1993Aug28.141037.11483@next.cambridge.ma.us> Sender: simsong@next.cambridge.ma.us Organization: NeXTWORLD Magazine References: <ARROUYE.93Aug27112205@mistral.imag.fr> Date: Sat, 28 Aug 1993 14:10:37 GMT In article <ARROUYE.93Aug27112205@mistral.imag.fr> arrouye@cosmos.imag.fr (Yves Arrouye) writes: > Hi, > > When I use a button with two icons with transparency (typically my app > icon and another one), and set the button to temporary change or > toggle type, the images are superimposed. > Don't put transparency on your buttons. This promotes your entire window to have alpha. Make copies of the images that don't have alpha. -- ................................................................simson
Newsgroups: comp.sys.next.programmer From: simsong@next.cambridge.ma.us (Simson L. Garfinkel) Subject: Re: How to create ghost icon during dragging? Message-ID: <1993Aug28.141826.11554@next.cambridge.ma.us> Sender: simsong@next.cambridge.ma.us Organization: NeXTWORLD Magazine References: <25m33a$25q@theborg.stack.urc.tue.nl> Date: Sat, 28 Aug 1993 14:18:26 GMT In article <25m33a$25q@theborg.stack.urc.tue.nl> annard@theborg.stack.urc.tue.nl (Annard Brouwer) writes: > Hi there, > > For an applet I'm writing I wanted to implement drag-n-drop, so far everything > works except a small esthetic part: it seems impossible for me to create a > ghost image of the dragged icon. I tried a lot of compositing operators (and > thus I've seen interesting images) but to no avail... Even CompositeLab didn't > help. Try using dissolve: toPoint: with NXImage, like this: { NXSize aSize = {48,48}; NXPoint origin = {0,0}; id tempImage,icon,image; icon = [NXImage findImageNamed:"<your icon>"]; image = [[NXImage alloc] initSize:&aSize]; tempImage = [[NXImage alloc] initSize:&aSize]; [tempImage lockFocus]; PSsetgray(NX_LTGRAY); PSrectfill(0,0,48,48); [icon composite:NX_SOVER toPoint:&origin]; [tempImage unlockFocus]; /* now I have without the background */ [image lockFocus]; PSsetgray(NX_LTGRAY); PSrectfill(0,0,48,48); [tempImage dissolve:0.5 toPoint:&origin]; /* now I have it dim */ [image unlockFocus]; return self; } -- ................................................................simson
Newsgroups: comp.sys.next.programmer From: abell@netcom.com (Steven T. Abell) Subject: Re: Making Obj-C faster? Message-ID: <abellCCH8Kn.5I8@netcom.com> Organization: Netcom Online Communications Services (408-241-9760 login: guest) References: <53701@sdcc12.ucsd.edu> <CCFMq0.15F@ensuing.com> Distribution: na Date: Sat, 28 Aug 1993 16:02:46 GMT Karl_Kraft@ensuing.com writes: >mstankus@oba.ucsd.edu (Mark Stankus) writes: >> I was wondering.... >> One complaint is that obj-c is slower than C++. >> For example, > [munch] >> Also, maybe the compiler could resolve some of the method >> calls to @selector (or whatever that is -- I am not experienced >> with objective-c yet) so that there would be a faster run time. >> Again, if the compiler can't resolve it, then it doesn't. >> Maybe someone could write a commercial preprocessor? >> Wouldn't this partially diffuse the static/binding >> debate in objective-c's favor? >My understanding is that @selector is resolved at compile time. >So I don't think this is an issue. If someone else knows better, >then please correct me. I remember reading here awhile back that in 3.0, @selector() can no longer be used as a label in a case statement, implying that it is not a constant at compile time anymore. I've never tried it, so I don't know if it's true. If someone else knows better, then please correct me. >> -rank {return rank;} >> >> is basically a procedure call to return the value of a >> data field of an object in an object oriented way. >> In C++, someone would use an inline statement. >> >> 1. What about a new directive >> >> @inline >> >> which would attempt to replace a small function of the >> type above with an inline function. Since it is only at *attempt*, >> if the compiler can't resolve the inline command then it doesn't. >> This allows the programmer to still have the flexibility of >> objective-c but when the compiler can do better it does. > > >This sounds good, but how do you realize inline directives >with RUNTIME binding. I'm less interested in the function call than I am in how the function's address is obtained. When the type of the receiver is known (or at least its branch in the inheritance hierarchy), do selectors still go through the selector hash, or is the C++ style table jump used? The latter gives runtime binding with very fast selector resolution. >What if you end up using a subclass that has > -rank {return rank+1;} >Which method would the compiler inline? And if it's the object >is type "id", how will the inline check to see if it's even >responded to? If the compiler is smart enough, it can restrict inline generation to simple access methods. Once again, if the type of the receiver is known, inline code can be used. The only remaining danger is when the receiver's type is known, but it's a nil at runtime. Short of trap hacks, I'm not sure what to do about that. Steve abell@netcom.com
Newsgroups: comp.sys.next.programmer From: paul@phoenix.Princeton.EDU (Paul Lansky) Subject: cpu usage monitor under 486/NS Message-ID: <1993Aug28.165555.10738@Princeton.EDU> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University Date: Sat, 28 Aug 1993 16:55:55 GMT On black hardware the program iostat shows cpu usage in the rightmost column. On 486/NS this is not there. I need to monitor cpu usage for an application I am working on. What is there on 486/NS that will show this. (vm_stat won't either). thanks Paul Lansky paul@princeton.edu
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: larry@gator.oau.org (Larry D Snyder) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Message-ID: <CCHJJE.LGq@gator.oau.org> Organization: Gator Communications, Orlando, Florida References: <1993Aug23.131841.2625@taylor.uucp> <Aug23.155109.55345@acs.ucalgary.ca> <CC9wnA.EoJ@gator.oau.org> <id.N9321.HRF@nmti.com> Date: Sat, 28 Aug 1993 19:59:37 GMT peter@nmti.com (peter da silva) writes: >In article <CC9wnA.EoJ@gator.oau.org> larry@gator.oau.org (Larry D Snyder) writes: >> They won't be there. Why should Word Perfect develop an application >> for an operating system that is free? >Why should Word Perfect care whether some random third party made any money >from selling the O/S? Because chances are that if folks run an operating system that is free, they expect applications to be free as well.. -- Larry Snyder Internet: larry@gator.oau.org Orlando, Florida UUCP: ..!uunet!tarpit!gator!larry
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Re: While dragging, text in NXImage from TextField is often invisible Date: 27 Aug 1993 10:15:56 +0100 Organization: me organized? That's a joke! Message-ID: <25kjcc$352@steffi.demon.co.uk> References: <CCDw09.40s@pdh.com> Well the first quick fix I tried seems to have done the job :-) if ([myImage lockFocus]) { [textfld setStringValue:[textfld stringValue]]; [textfld drawSelf:&theRect :1]; [myImage unlockFocus];
From: dlm40629@uxa.cso.uiuc.edu (Daniel L. Marks) Newsgroups: comp.sys.next.programmer Subject: Bypassing Next Filesystem to SCSI disk write Date: 28 Aug 1993 20:51:44 GMT Organization: University of Illinois at Urbana Message-ID: <25ogh0$m42@vixen.cso.uiuc.edu> Keywords: SCSI Disk Write Bypassing Filesystem Next How does one access the SCSI disk on a Nextstation at the block level? (bypassing the file system) We are creating a very large database (~6 GB) and saving the space that a filesystem requires is desirable because we plan to dedicate the entire hard disk to the database (which is one large file) and then perhaps use the raw SCSI device to access that file. Also, will the disk blocks be read in the same contiguous order in the Nextstep 486 and Nextstep '040 raw devices? Also, which drive parameters can be used to minimize the amount of overhead required when formatting a SCSI drive that is not necessarily needed for the Nextstep file system? We intend to squeeze every byte possible out of a SCSI disk. Reply by mail please. Will post summary. Thank you Dan Marks dlm40629@uxa.cso.uiuc.edu
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Re: While dragging, text in NXImage from TextField is often invisible Date: 27 Aug 1993 11:24:22 +0100 Organization: me organized? That's a joke! Message-ID: <25kncm$4b9@steffi.demon.co.uk> References: <CCDw09.40s@pdh.com> Try this for the mouseDown in TextFieldDragShadow.m Let me know if I have done anything wrong. Because, this uses the window's fieldEditor it automatically chooses the correct font information in the dragged text object. However the destination's text object is still statically defined. - mouseDown:(NXEvent *)event { id myImage; NXRect theRect; const char * pbtype[] = {NXAsciiPboardType}; Pasteboard *pb; NXPoint p,q; char *str; Text *text; // copy textfld text to pasteboard pb = [Pasteboard newName:NXDragPboard]; [pb declareTypes:pbtype num:1 owner:self]; str = NXCopyStringBuffer([textfld stringValue]); [pb writeType:NXAsciiPboardType data:str length:strlen(str)+1]; // create an NXImage and draw the text field into it [textfld getBounds:&theRect]; myImage = [[NXImage alloc] initSize:&theRect.size]; [myImage setFlipped:YES]; // sometimes YES, sometimes NO works [myImage useCacheWithDepth:NX_DefaultDepth]; if ([myImage lockFocus]) { //[textfld setStringValue:[textfld stringValue]]; PSsetalpha(0.0); PSsetgray(NX_LTGRAY); NXRectFill(&theRect); PSsetalpha(1.0); [window endEditingFor:nil]; text = [window getFieldEditor:YES for:self]; [text setText:[textfld stringValue]]; [text drawSelf:&theRect :1]; [myImage unlockFocus]; // change the y location to adjust for flipped coordinates p.x = 0; p.y = 0; //theRect.size.height; // i have set this to 0 or height // with varying results q.x = 0; q.y = 0; // start the drag operation [self dragImage:myImage at:&p offset:&q event:event pasteboard:pb source:self slideBack:YES]; } // we're done, clean house free(str); [pb free]; [myImage free]; return(self); }
Newsgroups: comp.sys.next.programmer From: cedar@cedar.demon.co.uk (Cedar Systems) Subject: Calling all NeXTStep gurus!!! Distribution: world Organization: Cedar Systems Date: Fri, 27 Aug 1993 10:33:44 +0000 Message-ID: <746447624snz@cedar.demon.co.uk> Sender: usenet@demon.co.uk When considering a class we have not used before, why is it that we have to spend weeks determining exactly how the class works? The documentation available for each class does not give an overall picture of how the class works and how it relates to other classes. We must be missing something!!! We are a small UK company evaluating NeXTStep as a possible means of developing a system we are to write. Although there is a lot of low-level documentation about the methods available for each class, there is not much information about the overall 'design' of the classes. We seem to waste a lot of time trying to determine how the underlying object is meant to perform. We have read 'Concepts' which helps as an introduction to the classes. We have read Ngheim and Garfinkel & Mahoney which were great for getting started but are not extensive enough (eg nothing in either on IndexingKit), and we have looked at the examples provided with release 3.0, but found the use of methods in them quite limited. There must be a quicker and better way! Is there anyone out there who has good 'class level' documentation and/or sample code for the main classes? Thanks in advance, Paul Heffernan. -- Cedar Systems
From: jpl@agra.Berkeley.EDU (John Lynker) Newsgroups: comp.os.os2.programmer,comp.os.ms-windows.nt.misc,comp.os.ms-windows.programmer.misc,comp.sys.next.programmer,comp.os.msdos.desqview,biz.sco.general Subject: Re: Need recommendations on porting X window app to 486 PC Date: 29 Aug 1993 00:52:56 GMT Organization: IntelliCorp, Mountain View, CA Distribution: world Message-ID: <25oul8$7dc@icmv.intellicorp.com> References: <1993Aug26.173246.1876@advtech.uswest.com> In article <1993Aug26.173246.1876@advtech.uswest.com>, Greg Wilson <gregw@advtech.uswest.com> writes: |> I'm currently developing an X windows application on a Sun workstation. |> I've been asked to assess the possibility of porting the application |> to a 486 PC. The application is fairly large - 70000 lines of C++ |> commented source plus a few sizeable in-house developed libraries, and ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lines deleted... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Inquire of IntelliCorp's Kappa 3.0 IntelliCorp, Mt. View, CA (415) 965-5500. You might also check your yellow pages for a user named Mike Williams who has just recently joined USWest/Boulder from IntelliCorp. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |> I'm familiar with Windows 3.1, OS/2 and Desqview/X, but I don't know |> their X-windows and TCP/IP capabilities. |> |> Thanks in advance! |> |> -- |> Greg Wilson |> gregw@uswest.com -- Regards, John Lynker IntelliCorp Mountain View, CA JLynker@IntelliCorp.com
From: louie@sayshell.umd.edu (Louis A. Mamakos) Newsgroups: comp.sys.next.programmer Subject: Re: Bypassing Next Filesystem to SCSI disk write Date: 29 Aug 1993 01:57:00 GMT Organization: University of Maryland, College Park Message-ID: <25p2dc$ro5@ni.umd.edu> References: <25ogh0$m42@vixen.cso.uiuc.edu> Keywords: SCSI Disk Write Bypassing Filesystem Next In article <25ogh0$m42@vixen.cso.uiuc.edu> dlm40629@uxa.cso.uiuc.edu (Daniel L. Marks) writes: >How does one access the SCSI disk on a Nextstation at the block level? >(bypassing the file system) You can use the raw device (e.g., /etc/rsd1a) to access the disk without using the Berkeley fast file system. Alternatively, you could issue raw SCSI commands using the generic SCSI device driver (see 'man 4 sg'), but I suspect that you won't see a big improvement. >We are creating a very large database (~6 GB) and saving the space that >a filesystem requires is desirable because we plan to dedicate the >entire hard disk to the database (which is one large file) and then >perhaps use the raw SCSI device to access that file. Have you tried to newfs the disk, and than use mkfile to create a contiguous file? This is much the same as /private/vm/swapfile, and if the file is created in one fell swoop, the access to it should be pretty efficient. Plus, you get to use normal tools like dump or tar (or SafetyNet) to backup the file system on disk to tape. >Also, will the disk blocks be read in the same contiguous order in the >Nextstep 486 and Nextstep '040 raw devices? I don't see why this would vary based on architecture. >Also, which drive parameters can be used to minimize the amount of overhead >required when formatting a SCSI drive that is not necessarily needed for >the Nextstep file system? We intend to squeeze every byte possible out of >a SCSI disk. In that case, you probably would want to use the raw device, and format the disk to use 1Kbyte blocks. This will give you more space and a higher effective transfer rate for bulk data transfers. Then there are the usual non-NeXT specific tuning issues, like physical sector interleaving on the disk. Usually the SCSI disk does something reasonable when you format it in this regard. Louis Mamakos University of Maryland
Newsgroups: comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.misc,comp.sys.next.advocacy From: andrew@stone.com (Andrew Stone) Subject: *STONE DESIGN: change of Address* Message-ID: <1993Aug29.001541.16671@stone.com> Keywords: Stone Sender: andrew@stone.com Organization: Stone Design Corp Date: Sun, 29 Aug 1993 00:15:41 GMT Hey Folks, We've grown, and had to move to a bigger facility; please update your dataPhiles and sbooks accordingly: Stone Design 3725 Rio Grande NW Albuquerque, NM 87107-3041 Phone: (505) 345 4800 Fax : (505) 345 3424 Email: Information: info@stone.com File server: file-server@stone.com Bugs: bugs@stone.com me: andrew@stone.com ftp: ftp.cs.unm.edu in pub/stone I apologize for the shotgun posting, just wanted to cover all bases. andrew -- ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>|| !! Andrew Stone !! (505) 345-4800 !! !! andrew@stone.com <> Stone Design Corp !! ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>||
Newsgroups: comp.sys.next.programmer From: joseph@daffy.tip.ameslab.gov (Joseph Reynolds) Subject: The Evils of Premature Optimization (was:Re: Making Obj-C faster?) Message-ID: <CCI4uA.BCt@news.iastate.edu> Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA References: <CCFMq0.15F@ensuing.com> Date: Sun, 29 Aug 1993 03:39:46 GMT Hi. In article <CCFMq0.15F@ensuing.com> Karl_Kraft@ensuing.com writes: > [...] If you > were to optimize all your method calls as inlines, the speed > improvement would be imperceptible to a user. The rare > exception is when you do the same method over and over. Even > then, you probably shouldn't bother to optimize unless you ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > are talking about several thousand calls in close proximity > to the same method. > Karl Kraft Exactly. \begin[preach-mode] Much of the optimization done by programmers today is unnecessary. It makes programs harder to write, understand, verify, modify, and debug. (IT MAKES PROGRAMS MORE EXPENSIVE.) Optimization should not be done until the program is working perfectly, and should be treated as a separate project (using specialized tools like a code profiler). \par\end[preach-mode] Joseph "Optimization is the root of all evil (in programming)." --Donald Knuth (I think)
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: Bypassing Next Filesystem to SCSI disk write Date: 28 Aug 1993 23:57:44 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <25p9fo$2l9@digifix.digifix.com> References: <25p2dc$ro5@ni.umd.edu> Louis A. Mamakos writes > In article <25ogh0$m42@vixen.cso.uiuc.edu> dlm40629@uxa.cso.uiuc.edu (Daniel L. Marks) writes: > > >How does one access the SCSI disk on a Nextstation at the block level? > >(bypassing the file system) > > You can use the raw device (e.g., /etc/rsd1a) to access the disk [munch] > > >Also, will the disk blocks be read in the same contiguous order in the > >Nextstep 486 and Nextstep '040 raw devices? > > I don't see why this would vary based on architecture. > [munch] I'm curious what the ramifications would be if this was to end up running on a PC that had an IDE drive instead of SCSI. Are you not limiting yourself to a specific hardware setup? -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: comp.sys.next.programmer From: joseph@daffy.tip.ameslab.gov (Joseph Reynolds) Subject: NXStreams vs. stdio.h Message-ID: <CCI6sL.Bty@news.iastate.edu> Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA Date: Sun, 29 Aug 1993 04:21:57 GMT Hi. >In comp.sys.next.programmer joseph@daffy.tip.ameslab.gov writes > [...] >> (I would just use the standard C library functions (fopen, fscanf, >> fprintf, and fclose) to do this job. I use NeXT streams only when >> I need a variable sized buffer or a temporary file.) [...] > Yes and no, if he uses a memory stream it will be quick when he > writes. I can't see how NXStreams would be significantly faster than the standard C functions in the code [deleted] above. The main difference is *when* you pay for the file access: in small increments with fprintf, or all at the end with NXStreams. It seems like both mechanisms would do the same amount of work. [Yes, I admit NXStreams may be slightly faster, but they probably use more memory, especially for longer files. And more memory in a virtual memory system translates into extra disk time, which slows you way down.] The reason I prefer the standard C functions is because they are standard: they work on C everywhere. More people understand them. And it would make porting the program to a non-NeXT environment easier. Finally, I don't think speed is nearly as important as most programmers would like to think. (See my recent post on Optimization.) > In any case I think you should use open etc so that you have > file descriptors and not FILE pointers. I would like to know why you prefer file descriptors to standard C files. I admit that fd's may be slightly more efficient, but they're not standard C. I think clarity of code and portability of technique are far more important than how fast the code executes (except, of course, when writing optimizing compilers:-). Joseph
From: alex@cs.umd.edu (Alex Blakemore) Newsgroups: comp.sys.next.programmer Subject: Re: NXStreams vs. stdio.h Date: 29 Aug 1993 05:25:52 GMT Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Message-ID: <25pel0$e36@neomimsy.cs.umd.edu> References: <CCI6sL.Bty@news.iastate.edu> In article <CCI6sL.Bty@news.iastate.edu> joseph@daffy.tip.ameslab.gov (Joseph Reynolds) writes: > I would like to know why you prefer file descriptors to standard C files. > I admit that fd's may be slightly more efficient, but they're not standard C. here's one reason. file descriptors are a UNIX OS concept. file pointers are a C library concept. if your code may ever need to link with non C code but remain on UNIX, then using file descriptors will allow your code to easily work with any other language that can make OS calls. if your code may need to be ported to another OS, but will not likely ever have to link with software written in another language besides C (or a C superset), then using file descriptors would build in a UNIX dependency and hurt portability. each alternative has cases when it is the better approach when viewed from this angle. P.S. There are other languages besides C and its derivatives by the way. -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted -------------------------------------------------------------- "Without an engaged and motivated human being at the keyboard, the computer is just another dumb box." William Raspberry
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: NS3.2 POSIX ? Message-ID: <1993Aug29.054122.9627@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <25i031$pmo@info2.rus.uni-stuttgart.de> Date: Sun, 29 Aug 1993 05:41:22 GMT In article <25i031$pmo@info2.rus.uni-stuttgart.de> Alexander.Hauer@ifr.luftfahrt.uni-stuttgart.deu (Alexander Hauer) writes: >does anybody --KNOW-- whether NS 3.2 will support POSIX (not only with nice >useless headers)? NeXT has made an official announcement about what you can expect in 3.2. POSIX support is merely a "future direction"--NeXT *never* committed to deliver it with 3.2 (or even 4.0). It's just a "checklist item" anyway. Programs will have to be compiled and linked as either non-POSIX (default) or POSIX. If you go the POSIX route, expect your code to be portable to other POSIX platforms. (That's good, right?) But forget about using BSD/UNIX features, Objective-C, the AppKit --everything that makes NEXTSTEP attractive. POSIX is a crutch, like SoftPC or co-Xist or Executor. Any of them can manage "hello world," but they're hopelessly alien with respect to each other. The most you can hope for is sharing screen real estate (maybe). What's the difference? POSIX is coming from NeXT and not a third party. But NEXTSTEP is not "evolving toward POSIX," rather, you're getting the moral equivalent of OS/2's "DOS compatibility box"--and paying for it in terms of increased memory and disk space requirements. -=EPS=- -- DOS is merely retarded. POSIX is truly *evil*.
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Peeking at kernel variables/ where is kgdb? Message-ID: <1993Aug29.054801.9838@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <25id5m$sd@stimpy.css.itd.umich.edu> Date: Sun, 29 Aug 1993 05:48:01 GMT kgdb went away with 3.0, its functionality merged into gdb. -=EPS=-
Newsgroups: comp.sys.next.programmer From: ctm@ardi.com Subject: Re: NS3.2 POSIX ? Message-ID: <CCIC6r.Ep@cobra.cs.unm.edu> Sender: news@cobra.cs.unm.edu Organization: ARDI References: <25i031$pmo@info2.rus.uni-stuttgart.de> <1993Aug29.054122.9627@csus.edu> Date: Sun, 29 Aug 1993 06:18:30 GMT In article <1993Aug29.054122.9627@csus.edu> eps@cs.sfsu.edu writes: ... >POSIX is a crutch, like SoftPC or co-Xist or Executor. Any of >them can manage "hello world," but they're hopelessly alien >with respect to each other. The most you can hope for is sharing >screen real estate (maybe). ... Eric may be exaggerting. Executor supports cut and paste of Rich Text and of PICTs. Being able to cut and paste PICTs has always been useful when two applications are running under Executor (Word and Excel come to mind), but with David Burrowes' new (FREE) utilities that translate between PICT and EPS, any program that supports filter services should be able to use the graphical output of a program running under Executor (textual output is already handled by the RTF pasteboard). I don't know what pasteboards SoftPC and co-Xist support, if neither the RTF nor the EPS pasteboards are supported, then I guess Executor is alien to those two, but not because Executor's not doing the right thing. True, Executor will *probably* never be as integrated into NEXTSTEP as much as a *well written* NEXTSTEP app, but it can already do significantly more than share real estate, and it there's good reason to believe that there will be still more integration in the future. I put the "probably" in the above paragraph because with sufficient work there's tons of stuff that we *could* add to Executor/NEXTSTEP. Right now we're putting a lot of work into Executor/DOS, but we haven't forgotten our NEXTSTEP customers (and we even do our DOS development under NEXTSTEP). With all the changes of late, a lot of third party developers are having severe financial difficulties right now. We're very lucky in that we will soon have a cash cow that we can milk during the dry season. BTW, our sale ends Tuesday; we will *not* be extending it into September. Check out ftp.cs.unm.edu:pub/ardi via anonymous ftp for more information. --Cliff ctm@ardi.com
Newsgroups: comp.sys.next.programmer From: wave@pixar.com (Michael B. Johnson) Subject: Re: Inspector Object Message-ID: <1993Aug29.062912.3575@pixar.com> Sender: news@pixar.com (Usenet Newsmaster) Organization: Pixar -- Point Richmond, California References: <CCFsvI.72r@lorax.com> Distribution: usa Date: Sun, 29 Aug 1993 06:29:12 GMT In article <CCFsvI.72r@lorax.com> mike@lorax.com (Mike Ferris) writes: > In article <1993Aug25.203014.4445@pixar.com> wave@pixar.com (Michael B. > Johnson) writes: > >In article <1993Aug25.160551.173298@lexmark.com> songer@lexmark.com > >(Christopher Songer) writes: > A switchview type class is a useful basis for an inspector, but a general > inspector manager can go a lot further. There is a class called > InspectorManager which is OK and shows the extent to which inspector > handling can be taken. The thing with inspectors that makes them a little > more than just switchviews is that there might be different views > depending on what is selected in the main window as well as what some > popup menu says. (Think of the IB Attributes inspectors for Buttons and > Sliders. The popup says attributes the whole time, but the inspector must > change depending on the selection. Fair enough, but I guess I didn't make my point strong enough. I do almost all of my work in IB, and it's important to me that Thomas's SwitchView allows me to more fully prototype stuff in IB. None of the others that I had seen let me do this. Sounds like FlipView (which I didn't know about) is also a good one. Also, this MiniExample had the first informed implementation of implementing a custom IBConnectionInspector that I'd seen. > > I have my problems with InspectorManager, but it's a pretty good start. My problem with at least one of the InspectorManagers out on the net (there were at least two different ones) was memory trashing. The one I remember caused me 3 days of grief until I ripped it out of some code I was writing. -- --> Michael B. Johnson -- wave@media.mit.edu, wave@pixar.com --> MIT Media Lab -- Computer Graphics & Animation Group --> P*I*X*A*R -- IceMan Group (for the summer)
From: cedman@princeton.edu (Carl Edman) Newsgroups: comp.sys.next.programmer Subject: Re: Bypassing Next Filesystem to SCSI disk write Message-ID: <CEDMAN.93Aug29085055@capitalist.princeton.edu> Date: 29 Aug 93 12:50:54 GMT References: <25ogh0$m42@vixen.cso.uiuc.edu> <25p2dc$ro5@ni.umd.edu> Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University In-Reply-To: louie@sayshell.umd.edu's message of 29 Aug 93 01:57:00 GMT To: louie@sayshell.umd.edu (Louis A. Mamakos) Originator: news@nimaster In article <25p2dc$ro5@ni.umd.edu> louie@sayshell.umd.edu (Louis A. Mamakos) writes: In article <25ogh0$m42@vixen.cso.uiuc.edu> dlm40629@uxa.cso.uiuc.edu (Daniel L. Marks) writes: >How does one access the SCSI disk on a Nextstation at the block level? >(bypassing the file system) You can use the raw device (e.g., /etc/rsd1a) to access the disk without using the Berkeley fast file system. Alternatively, you could issue raw SCSI commands using the generic SCSI device driver (see 'man 4 sg'), but I suspect that you won't see a big improvement. Actually, it my very well be worse considering the $#^%#$# limit of 64 kByte on the size of one "read" through the generic SCSI device. This is one of the reasons that play3401 ends up consuming 15% of CPU for something which should basically be just streaming data in from the SCSI port and out through the DACs. Carl Edman
From: pkron@corona.com (Peter Kron) Newsgroups: comp.sys.next.programmer Subject: Re: Making Obj-C faster? Message-ID: <119.UUL1.3#16216@corona.com> Date: Sun, 29 Aug 93 17:32:36 PDT References: <abellCCH8Kn.5I8@netcom.com> Organization: Corona Design, Inc., Seattle, WA > From: abell@netcom.com (Steven T. Abell) > Message-ID: <abellCCH8Kn.5I8@netcom.com> > References: <53701@sdcc12.ucsd.edu> <CCFMq0.15F@ensuing.com> > > Karl_Kraft@ensuing.com writes: > >mstankus@oba.ucsd.edu (Mark Stankus) writes: > >> I was wondering.... > >> One complaint is that obj-c is slower than C++. [munch] > >My understanding is that @selector is resolved at compile time. > >So I don't think this is an issue. If someone else knows better, > >then please correct me. > > I remember reading here awhile back that in 3.0, @selector() can no longer > be used as a label in a case statement, implying that it is not a constant > at compile time anymore. I've never tried it, so I don't know if it's true. > If someone else knows better, then please correct me. > Selectors are assigned at run-time from the method names declared by the classes in the program. Consider classes loaded dynamically from the program: selectors for new methods may differ depending on the order in which classes are loaded. NeXT's compiler takes some short-cuts with the appkit selectors, which seem to be invariant. But then that is a fixed set of classes common to all programs. > >> -rank {return rank;} > >> > >> is basically a procedure call to return the value of a > >> data field of an object in an object oriented way. > >> In C++, someone would use an inline statement. > >> > >> 1. What about a new directive > >> > >> @inline > >> > >> which would attempt to replace a small function of the > >> type above with an inline function. Since it is only at *attempt*, > >> if the compiler can't resolve the inline command then it doesn't. > >> This allows the programmer to still have the flexibility of > >> objective-c but when the compiler can do better it does. > > > > > >This sounds good, but how do you realize inline directives > >with RUNTIME binding. > > I'm less interested in the function call than I am in how the function's > address is obtained. When the type of the receiver is known (or at least > its branch in the inheritance hierarchy), do selectors still go through > the selector hash, or is the C++ style table jump used? The latter gives > runtime binding with very fast selector resolution. I believe the compiler generates an indirect call from an address in a local data structure. The data structure, however, is loaded at run-time based on the method name in the message. So it only differs from a direct call by the address indirection (ignoring additional task startup). Of course, the advantage of a true inline is avoiding the subroutine altogether. > >What if you end up using a subclass that has > > > -rank {return rank+1;} > > >Which method would the compiler inline? And if it's the object > >is type "id", how will the inline check to see if it's even > >responded to? > > If the compiler is smart enough, it can restrict inline generation > to simple access methods. Once again, if the type of the receiver is > known, inline code can be used. The only remaining danger is when the > receiver's type is known, but it's a nil at runtime. Short of trap > hacks, I'm not sure what to do about that. > > Steve abell@netcom.com #define soapbox Inlines are *EVIL* in public interfaces. Well, maybe not evil but the source of many holes in the feet of C++ programmers. As soon as you spread inline accessors around, you have destroyed the ability of the class designer to modify its instance variables without worrying about what clients are dependent (due to inlines) on certain variables being in certain places. (As well as the problem cited above.) Don't get upset about the overhead of accessor methods until you are SURE that it is a significant factor in performance. For example, using an accessor to retrieve the linewidth of an arc isn't going to make any difference if you are then going to image the arc through the Window server. If you are in a tight enough loop that the accessor overhead actually does make a difference, you probably have better alternatives than inline, e.g., copy the value to a local variable or add a method to the target to perform the loop internally. #end --------------- Peter Kron Please don't dominate the rap, Jack, Corona Design, Inc. If you've got nothing new to say... Peter_Kron@corona.com Grateful Dead
Newsgroups: comp.sys.next.programmer From: chris%milo@wpa.com (Chris Cleeland) Subject: How to adjust column widths in NXBrowser? Message-ID: <1993Aug28.214234.12820@milo.UUCP> Sender: chris@milo.UUCP Organization: Milo Designs Distribution: na Date: Sat, 28 Aug 1993 21:42:34 GMT Well, maybe I shouldn't limit my question to NXBrowsers. What I'd really like to be able to do is have browser-like functionality (tree-oriented), but where the individual columns could be different widths. I've messed around with grabbing the Matrix inside a particular column and sending it some of the different size*: methods, then asking the browser to re-display, but the browser did not resize properly; err, it really didn't resize at all. Since I did this all through IB and gdb, I'm not sure if I was doing everything completely properly -- you know, stuff like having the resize "springies" set up. Has anybody out there had to tackle this problem? I guess I could use a simple matrix in a ScrolledView, and have the matrix cell prototype set to NXBrowserCell so that I would get the icons, etc. Seems like at that point I'd be re-designing NXBrowser, though. Help! -cj -- --- ------------------------------------------------------------- Chris Cleeland | Internet: chris%milo@wpa.com Consultant/NeXT Advocate | UUCP: wupost!nimno!milo!chris
Newsgroups: comp.sys.next.programmer From: louie@TransSys.COM (Louis A. Mamakos) Subject: Re: rtf-sources and NEXTSTEP 3.1 - PROBLEMS!!! Message-ID: <25qp21$767@wa3ymh.transsys.com> Sender: usenet@grebyn.com Organization: TransSys, Inc. References: <1993Aug23.222742.1646@proximus.north.de> <1993Aug26.151202.2356@afs.com> Date: Sun, 29 Aug 1993 17:29:37 GMT In article <1993Aug26.151202.2356@afs.com> Michael_Pizolato@afs.com writes: >This is probably not the best solution for you at this moment, but >wait for NS V3.2. I have an AWFULLY good suspicion that RTF source >will be at least partially supported in that release, by NeXT. [Personal opinion] I hope not. I want the C compiler to compile ANSI C and Objective-C code, not RTF-enhanced code.. Given the amount of really useful stuff that NeXT could do, adding support in the compiler or preprocessor for stripping RTF out of source files just really isn't high on the list (or on the list at all). Given that Objective-C is in the GNU release of GNU C these days, I've been writing code with an eye to portability to other platforms. Introducing RTF in the C source code is just another gratutitous incompatibility. If the compiler group in NeXT is looking for stuff to do, there's certainly improvements that can be made in other areas that actually help: improved code generation, improved compiled header support for multiple architectures, improved Objective-C runtime performance, etc. Heck, I'd rather see NeXT work on something that I can really use, like a port of Emacs 19 that uses NeXTStep for its windows rather than being bound to X. This would be a bigger productivity improvement for most developers RTF support in the compiler. There is a difference between well documented, well written code and code that just looks nice. RTF will help you get nice looking code, but isn't going to help in a big way to give you *good* documented code. IMHO, Louis Mamakos -- Louis A. Mamakos TransSys, Inc.
Newsgroups: comp.sys.next.programmer From: louie@TransSys.COM (Louis A. Mamakos) Subject: Re: another shared library problem Message-ID: <25qpgb$77f@wa3ymh.transsys.com> Sender: usenet@grebyn.com Organization: TransSys, Inc. References: <1993Aug13.144515.1612@afs.com> <1993Aug16.200629.940@pixar.com> <256q0p$ffk@news.u.washington.edu> Date: Sun, 29 Aug 1993 17:37:15 GMT In article <256q0p$ffk@news.u.washington.edu> zeno@abstractsoft.com (Sean T. Lamont) writes: >Would using distributed objects solve this, if even in a minor way? I admit, >the bandwidth of sending data over some sort of local network is nontrivial, >but if you did this carefully I think you could minimize the redundant copies >of a single object. But now you have another process and context switching overhead to worry about, assuming this approch somehow give you the same semantics as a local object or function. -- Louis A. Mamakos TransSys, Inc.
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: mark@taylor.uucp (Mark A. Davis) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Organization: Lake Taylor Hospital Computer Services Date: Sun, 29 Aug 1993 18:57:59 GMT Message-ID: <1993Aug29.185759.22001@taylor.uucp> References: <westesCC6ELA.77I@netcom.com> <CEDMAN.93Aug22173930@capitalist.princeton.edu> <id.J9321.ALF@nmti.com> <CEDMAN.93Aug27170204@capitalist.princeton.edu> cedman@princeton.edu (Carl Edman) writes: >SCO crowing forever about how many hundreds of thousands of system V >derivatives it has sold running on single user unconnected 286 PCs >doesn't alter the fact that most UN*X software was written for BSD >derived systems. A quick scan of any of the major archives should >convince you of that. Good God are you on another planet. I think you need to include commercial software in your considerations, or at least specify which base of software your are "counting". There is a very big world out there which has nothing to do with internet archives. -- /--------------------------------------------------------------------------\ | Mark A. Davis | Lake Taylor Hospital | Norfolk, VA (804)-461-5001x431 | | Sys.Administrator| Computer Services | mark@taylor.wyvern.com .uucp | \--------------------------------------------------------------------------/
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: mark@taylor.uucp (Mark A. Davis) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Organization: Lake Taylor Hospital Computer Services Date: Sun, 29 Aug 1993 18:59:40 GMT Message-ID: <1993Aug29.185940.22082@taylor.uucp> References: <1993Aug23.131841.2625@taylor.uucp> <Aug23.155109.55345@acs.ucalgary.ca> <CC9wnA.EoJ@gator.oau.org> <id.N9321.HRF@nmti.com> <CCHJJE.LGq@gator.oau.org> larry@gator.oau.org (Larry D Snyder) writes: >peter@nmti.com (peter da silva) writes: >>In article <CC9wnA.EoJ@gator.oau.org> larry@gator.oau.org (Larry D Snyder) writes: >>> They won't be there. Why should Word Perfect develop an application >>> for an operating system that is free? >>Why should Word Perfect care whether some random third party made any money >>from selling the O/S? >Because chances are that if folks run an operating system that is free, >they expect applications to be free as well.. So I guess nobody pays for MS-"DOS" or MS-"Windows" applications because they are essentially "free" (bundled with most systems). -- /--------------------------------------------------------------------------\ | Mark A. Davis | Lake Taylor Hospital | Norfolk, VA (804)-461-5001x431 | | Sys.Administrator| Computer Services | mark@taylor.wyvern.com .uucp | \--------------------------------------------------------------------------/
Newsgroups: comp.sys.next.programmer From: thangiah@plains.NoDak.edu (sam r. thangiah) Subject: Dynamic sizing of Views Sender: usenet@ns1.nodak.edu (Usenet login) Message-ID: <CCJFH4.qqJ@ns1.nodak.edu> Date: Sun, 29 Aug 1993 20:27:04 GMT Organization: North Dakota Higher Education Computing Network I am using the View to display a digitized file. SOmetimes the digitized file has a lot of information that the View tends to clip it. Using the interface builder, the maximum size of the window can be set only to w=2000, and h=2000. As I am using scrollers, I think that the sixze of the view can be expanded to a larger size. Is there any way to do this dynamically? Thanks, -Sam -- Sam R. Thangiah, Associate Professor/Director Artificial Intelligence and Robotics Lab. Computer Science Department Sipper Rock University INTERNET:thangiah@samuel.cpsc.sru.edu Slippery Rock, PA 16057 thangiah@plains.nodak.edu
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Re: rtf-sources and NEXTSTEP 3.1 - PROBLEMS!!! Message-ID: <1993Aug29.202857.14952@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software References: <25qp21$767@wa3ymh.transsys.com> Date: Sun, 29 Aug 1993 20:28:57 GMT Louis A. Mamakos writes > >I hope not. I want the C compiler to compile ANSI C and Objective-C >code, not RTF-enhanced code.. Given the amount of really useful stuff >that NeXT could do, adding support in the compiler or preprocessor for >stripping RTF out of source files just really isn't high on the list >(or on the list at all). > I wrote the original modifications to the preprocessor to handle the rtf stripping. Without knowing anything about the preprocessor and very little about rtf, it was an afternoon's project; hardly something that would be a schedule buster or anything like that. I presume the guys at NeXT used a more elegant and high-performance solution than I did so maybe it took 'em all day :-) [clip] > >There is a difference between well documented, well written code and >code that just looks nice. RTF will help you get nice looking code, >but isn't going to help in a big way to give you *good* documented >code. > Don't knock it 'til you've tried it. The day I switched over to writing code in rtf, the number of comments in my code when up by %1000. When using straight ascii, I would want to avoid putting comments in because they would cause visual clutter. With rtf, I enjoy putting in comments because they are very unobtrusive. I also feel that overall quality is improved by rtf because there's a feeling that the code *can* be viewed by others (hard to say for straigh ascii), so there's an impetus to make even more well-written code, since you begin to feel that what you're doing will have more lasting value. I still use straight ascii for some of my stuff. Basically anything that is throw-away code for test purposes I do in ascii because it saves me a couple of seconds on the formatting end. Also, if I know its throw away, doing it in ascii helps remind me to throw it away 'cause it looks like garbage. I thereby resist the temptation to integrate RAD-type test code into the rest of my long-lasting rtf code, thus keeping the two separate. There are probably a few software projects which have their fair share of "prototype" code still in them. For me, once my code makes it to the ranks of rtf, its good stuff. :-) Having been the focal point for most users of rtf source in the world, I can say that those who use it (and who have suffered through the problems cause by new NS releases) *really* like it, and most would not go back to straight ascii coding. This truly is a step forward for sotware maintenance, not just fluff. Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
From: rcfa@andi.org (Ronald C.F. Antony) Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs Subject: Re: HELP: Problem with NeXT Header files, (all should read) Date: 29 Aug 1993 22:57:31 GMT Organization: IDS World Network Internet Access Service, (401) 884-9002 GUEST Distribution: world Message-ID: <25rc8r$25m@paperboy.ids.net> References: <CCF8q1.Grt@agedwards.com> Keywords: adding a local header file might fix the problem Many problems I had with the architecture macros could be solved by putting the following text into /LocalDeveloper/Headers/architecture/ARCH_INCLUDE.h -----8<------- cut here ------8<----- /* * ARCH_INCLUDE.h -- helper macro for including architecture specific * header files. * * Usage: * #import ARCH_INCLUDE(prefix_dir/, suffix.h) * Where: * ARCH_INCLUDE(prefix_dir/, suffix.h) * produces (for m68k architecture): * "prefix_dir/m68k/suffix.h" * * NOTE: prefix_dir, if non-null, must end with a '/' * * Current deficiency: can't specify <...>, only "...". * * __TARGET_ARCHITECTURE__ may be defined to specify a different * different architecture that the compiler is generating code for. * Define __TARGET_ARCHITECTURE__ as a string, e.g.: # #define __TARGET_ARCHITECTURE__ "m68k" */ #ifndef _ARCH_INCLUDE_H_ #define _ARCH_INCLUDE_H_ #ifndef __TARGET_ARCHITECTURE__ #define __TARGET_ARCHITECTURE__ __ARCHITECTURE__ #endif __TARGET_ARCHITECTURE__ #ifdef __STDC__ #define ARCH_INCLUDE(prefix, suffix) \ #prefix __TARGET_ARCHITECTURE__ "/" #suffix #else #define ARCH_INCLUDE(prefix, suffix) \ "prefix" __TARGET_ARCHITECTURE__ "/" "suffix" #endif #endif _ARCH_INCLUDE_H_ -----8<----- snipp snipp -----8<----- Since the local include file precede the standart include files in the include path, this file fixes and replaces the corresponding NeXT supplied file. I also sent this to NeXT as a bug report, so maybe it shows up sometime in the future... -- Ronald ============================================================================== "The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man." G.B. Shaw ------------------------------------------------------------------------------ HITECTURE__ "/" #suffix #else #d
Newsgroups: comp.sys.next.programmer From: kdburg@incoahe.uucp (Klaus Dahlenburg) Subject: Re: POSIX termios, here! Message-ID: <CCJ8K6.4sC@incoahe.uucp> References: <1993Aug25.204703.27740@alw.nih.gov> <1993Aug27.091131.275@dart.de> Date: Sun, 29 Aug 1993 17:57:41 GMT Hi, [...] sample deleted I think you missed the point. The one who asked did not want to incorporate a lot of changes into PD software that did compile ok with NeXTstep < 3.1. Further on that software (zsh, tcsh etc) is *not* written in Objective-C. Klaus --
Newsgroups: comp.sys.next.programmer From: kdburg@incoahe.uucp (Klaus Dahlenburg) Subject: Re: POSIX termios, where? Message-ID: <CCJ9r4.4vA@incoahe.uucp> References: <1993Aug25.204703.27740@alw.nih.gov> <CEDMAN.93Aug25191945@capitalist.princeton.edu> <25imm5$5jo@neomimsy.cs.umd.edu> <CEDMAN.93Aug26152334@capitalist.princeton.edu> Date: Sun, 29 Aug 1993 18:23:28 GMT cedman@princeton.edu (Carl Edman) writes: >In article <25imm5$5jo@neomimsy.cs.umd.edu> alex@cs.umd.edu (Alex Blakemore) writes: > In article <CEDMAN.93Aug25191945@capitalist.princeton.edu> cedman@princeton.edu (Carl Edman) writes: > > ytalk is the zsh of talks. :-) > > even fails to compile under NS3.1 just like zsh :-) >Yes, and for the same reason. NS 3.1 pretends to have POSIX and when >naive programs rely on that, NS 3.1 jumps from behind a tree and makes >funny faces at them. In any case the latest releases of both are >cured of their trusting nature. Zsh autoconfigures properly and ytalk >auto-instructs you properly to turn on the sgttyb switch. > Carl Edman in case ytalk includes sgtty.h (because of the sggtyb switch) it still may fail: sgtty.h includes sys/ioctl.h which in turn happily includes termios.h and if the source happens to typedef speed_t and does not protect it by means of #ifndef ... #endif it will fail because termios.h has defined it already. Klaus --
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: duane@shell.portal.com (Duane Takamine) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Message-ID: <CCJoC4.M7q@unix.portal.com> Sender: news@unix.portal.com Organization: Portal Communications Company -- 408/973-9111 (voice) 408/973-8091 (data) References: <id.N9321.HRF@nmti.com> <CCHJJE.LGq@gator.oau.org> <1993Aug29.185940.22082@taylor.uucp> Date: Sun, 29 Aug 1993 23:38:25 GMT In article <1993Aug29.185940.22082@taylor.uucp> mark@taylor.uucp (Mark A. Davis) writes: >larry@gator.oau.org (Larry D Snyder) writes: > >>peter@nmti.com (peter da silva) writes: > >>>In article <CC9wnA.EoJ@gator.oau.org> larry@gator.oau.org (Larry D Snyder) writes: >>>> They won't be there. Why should Word Perfect develop an application >>>> for an operating system that is free? > >>>Why should Word Perfect care whether some random third party made any money >>>from selling the O/S? > >>Because chances are that if folks run an operating system that is free, >>they expect applications to be free as well.. > >So I guess nobody pays for MS-"DOS" or MS-"Windows" applications because they >are essentially "free" (bundled with most systems). People buy software. They just complain if it costs more than $99 these days. And lots and lots of people just steal the software, since they don't want to pay for anything. Duane -- ----------------------------------------------------------------- Duane Takamine duane@shell.portal.com Island CD Creations Madd Hacker Productions Home of the Sound Site CDROM - nearly 1400 mods on disc
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Highlighting Cells Message-ID: <1993Aug29.223508.16160@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software Date: Sun, 29 Aug 1993 22:35:08 GMT I am trying to have indented text in a BrowserCell and, unfortunately, the drawInside:... of browsercells doesn't seem to be well behaved. I tried overriding the getTitleRect: method in hopes that drawInside:... would use this to compute where to draw its text (as the docs say it should), but apparently drawInside:... uses -getDrawRect:... to determine where draw its text. So I simply changed my strategy and overrode getDrawRect:... and the text shows up in the correct place! However, the highlight:inView:lit: method also uses getDrawRect: and so the highlighting of the browsercell is only over the text of the cell rather than over the entire cell, as I would prefer. Anybody have a suggestion for a workaround? Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Edit App. (Connectivity) Message-ID: <1993Aug30.035424.23504@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <25lto3$2b8@cs.ubc.ca> Date: Mon, 30 Aug 1993 03:54:24 GMT In article <25lto3$2b8@cs.ubc.ca> riedel@cs.ubc.ca (Marko Riedel) writes: >Here it is again: I'd like to get Edit.app to open files, highlight >selections, etc. the way PB and GDB do it; i.e. the process should be >code-driven and require no intervention from the user. Here's what class-dump finds in Edit.app: @interface GdbClientDelegate:Object { char useLastWindow; char lastFileName[1024]; char lastDirName[1024]; id gdbClient; } - (int)openFile:(STR)fp16 onHost:(STR)fp20 atLine:(int)fp24; - (int)openFile:(STR)fp16 onHost:(STR)fp20 fromLine:(int)fp24 to:(int)fp28; - (int)connectTo:(int)fp16; - (int)selection:(STR)fp16; - (int)selectionLength; - (int)line; - (STR)filename; - topView; @end @protocol GdbClientDelegate - (int)openFile:(const STR)fp16 onHost:(const STR)fp20 fromLine:(int)fp24 to:(int)fp28; - (int)openFile:(const STR)fp16 onHost:(const STR)fp20 atLine:(int)fp24; - (int)selection:(STR)fp16; - (int)selectionLength; - (int)line; - (const STR)filename; @end @interface EditListener:Listener { } + initialize; - (struct _NXRemoteMethod *)remoteMethodFor:(SEL)fp16; - (int)performRemoteMethod:(struct _NXRemoteMethod *)fp16 paramList:(union *)fp20; - (int)isNewEdit:(int *)fp16; - (int)connectTo:(int)fp16; - (int)openFile:(STR)fp16 onHost:(STR)fp20 fromTrueLine:(int)fp24 to:(int)fp28; - (int)openFile:(STR)fp16 onHost:(STR)fp20 atTrueLine:(int)fp24; @end ProjectBuilder doesn't do a whole lot; as far as I know, the only time it even bothers to talk to Edit directly is when you click on an error summary. Then it uses the Speaker/Listener interface to open the offending file at the appropriate line: 1) edit_port=NXPortFromName("Edit", (const char *)NULL); failure => NXRunAlertPanel() "Couldn't connect to %s" 2) [speaker setSendPort:edit_port]; 3) [NXApp deactivateSelf]; 4) [speaker selectorRPC:"openFile:onHost:atTrueLine:" paramTypes:"cci", file, host, line]; failure => NXRunAlertPanel() "Problem talking to %s" gdb's source code speaks for itself. :-) -=EPS=-
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Page Up and Down by space key Date: 30 Aug 1993 03:09:41 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <25s93l$97h@digifix.digifix.com> Has anyone added the functionality that NewsGrazer has (hit Space to scroll down one screen of text) to a scroll view before? Along this lines I was looking for a sample that implemented page up/down buttons, but I can't find one other than the MiniExample ScrollViewDeluxe. I know I had one for a long time before I had ScrollViewDeluxe... So... two questions 1. anyone already added this functionality? 2. anyone able to point me to a mini example of page up/down? Thanks -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: comp.sys.next.programmer From: Zacharias J. Beckman <zac@dolphin.com> Subject: Dolphin Kit 3.2 Beta Participants Wanted Message-ID: <1993Aug30.082356.9084@dolphin.com> Sender: zac@dolphin.com Organization: Dolphin Technologies Inc. Distribution: usa Date: Mon, 30 Aug 1993 08:23:56 GMT Dolphin Technologies Inc. is seeking participants for the beta release of Dolphin Kit version 3.2, which is entering beta this week. The final release of this version of the kit is scheduled to approximately coincide with release of NeXTSTEP 3.2 (this beta release will operate on NeXTSTEP 3.0). If you are interested, please send electronic mail to <beta@dolphin.com> requesting participation. You MUST have NeXTMAIL capability and be able to receive messages of up to 1 megabyte in size. In response to your request a non-disclosure form will be sent to you via NeXTMAIL; this form must be signed and returned before participation in the program begins. Following is detailed information on Dolphin Kit version 3.1, not yet updated for the enhancements in version 3.2: July 1, 1993--Dolphin Technologies Inc. announced the availability of the Dolphin Kit NeXTSTEP compatible class library, version 3.1, for NeXTSTEP (available for both Intel and Motorola hardware). The kit is a set of classes which run in the NeXTSTEP environment and focus on common functionality that many applications require. The classes expand upon the existing NeXTSTEP API and deliver new objects not formerly available. The Dolphin Kit provides a comprehensive set of tools, classes, and protocols for building applications that use a high-level object oriented approach to many common needs in application development. The kit provides services that include: Simple string and "sentence" storage and manipulation. Encapsulated use of Mach files and devices (i.e.: flat files). Management of C Threads and multitasking. Extensions to several standard NeXTSTEP API classes. New container classes. An interface to generating NeXTMAIL. Limited support for error and alert panel objects. Encapsulation of NXStreams. Part of the functionality of the Dolphin Kit is a set of tools for building more robust applications. Most applications make use of memory to store strings or other blocks of data. Dolphin's DSString class can be used to greatly simplify direct use of memory. For example, calls to memory allocation and free functions are encapsulated. By encapsulating the use of memory in a robust library, many problems in the area of memory management and memory overrun are prevented. The Dolphin Kit helps by providing: Several DSString classes for containment of a block of memory (typically used to store terminated character strings). The DSErrorString class can be used to represent and help in handling error conditions. A DSParser to provide greater flexibility in manipulation of character strings. This makes it possible to manipulate such strings without danger of memory overruns and other miscalculations. Classes for the encapsulation of Mach file and device manipulation and use of multitasking via C Threads. Tight integration between the DSStream, DSFile, DSProcess and DSString class make an excellent tool for execution and reporting on Mach command line operations. A DSNodeTree for storage and manipulation of data which can be stored in a tree. Subclasses of List for sorted storage and delegate notification in the event of changes to the container contents. A simple but very handy encapsulation of memory allocation using NXZone's. The DSMemory class makes using zones and blocks of memory a little bit less tedious, and adds useful methods such as length. Generation of standard electronic mail and NeXTMAIL is supported with the DSMailer class. This class can be used to generate NeXTMAIL with attachments and rich text contents. -- Zacharias J. Beckman - Dolphin Technologies Inc. - zac@dolphin.com - NeXTMAIL! To be "matter of fact" about the world is to blunder into fantasy.... and dull fantasy at that, as the real world is strange and wonderful. --- R. A. Heinlen Those opinions I express herein are my own, I'm fairly sure. --- Z. J. Beckman
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Remotely run apps and connecting to Workspace & WS Message-ID: <1993Aug30.130213.16633@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <CC8tsH.FLt@mentor.cc.purdue.edu> <1993Aug24.180750.5702@trimark.com> Date: Mon, 30 Aug 1993 13:02:13 GMT In article <1993Aug24.180750.5702@trimark.com> shayman@Trimark.com (Steve Hayman) writes: >Certain special programs, such as the thing that writes "Printer out of >paper", always have screen access anyway. From "man loginwindow": > > PublicWindowServer > is a parameter indicating whether unrestricted access > to the window server on this machine should be allkowed > while the user is logged in. If it is YES, then any > client on any machine may connect to the window server. > Otherwise, only processes descending from the Workspace > or special system processes such as the printer daemon > will be allowed to connect. > > >I wish I knew what the strict definition of "special system processes" is. Well, I think NeXT wants you to believe this means "stuff started from /usr/lib/NextPrinter/lpd.children" i.e. if you have some sort of daemon process that would be normally be started at boot time from /etc/rc.local and sticks around forever, starting it from lpd.children instead lets it have access to the Window Server. (But that's not good enough for you, is it?) So what's special about the printer daemon? Nothing, really. There's just a little conspiracy between the Window Server and /usr/lib/lpd. Here's the abridged version: lpd allocates a Mach port, and checks it in with the Bootstrap Server under the name PrintService, and forks a C thread to monitor that port. When the Window Server starts up, it looks up "PrintService" and sends a minimum-size Mach message with its access port as the reply port. lpd then checks that port into a Bootstrap subset as WindowServer. Since lpd's children inherit lpd's bootstrap port, they will have Window Server access. If the Window Server dies, the next time it's restarted it will message lpd with the new access port. If lpd is killed, any tasks holding send rights to its "PrintService" port will receive port death notification from the kernel. So the Window Server presumably knows to poll periodically to see if lpd has come back. Now, suppose you're a root-privileged process that wants access to the Window Server, but has bad heredity. :-) The sleazy way to get around this in 3.1 goes something like: look in /usr/spool/lpd.lock for lpd's process id. Use task_by_unix_pid() to obtain its task kernel port, then task_get_special_port() to find its TASK_BOOTSTRAP_PORT. Use that to do a bootstrap_look_up() of WindowServer. If that succeeds, check in the "stolen" port as WindowServer under a subset of your original bootstrap port and set your current bootstrap port to that subset. (Don't forget to deallocate any ports you no longer need.) [Note that there have been significant changes since NS 2.x!] -=EPS=-
Newsgroups: sci.crypt,comp.sys.next.programmer,comp.dsp From: tomhey@iis.ee.ethz.ch <Tom Heynemann> Subject: IDEA on NeXT DSP Message-ID: <CCKpDq.A5J@bernina.ethz.ch> Followup-To: sci.crypt Keywords: idea,56k,pgp Sender: tomhey@urmel (Tom Heynemann) Organization: Integrated Systems Laboratory, ETH Zurich, Switzerland Date: Mon, 30 Aug 1993 12:58:37 GMT Hello, I'm wondering wether anybody implemented IDEA (or PGP) on Moto's DSP5600X as can be found in NeXT computers (and elsewhere, of course). Tom Heynemann Integrated Systems Lab Federal Institute of Technology Zurich Switzerland tomhey@iis.ee.ethz.ch
Newsgroups: comp.sys.next.programmer From: greg@afs.com (Gregory H. Anderson) Subject: Re: Calling all NeXTStep gurus!!! Message-ID: <1993Aug30.151339.23204@afs.com> Sender: greg@afs.com References: <746447624snz@cedar.demon.co.uk> Date: Mon, 30 Aug 1993 15:13:39 GMT In article <746447624snz@cedar.demon.co.uk> cedar@cedar.demon.co.uk (Cedar Systems) writes: > When considering a class we have not used before, why is it that > we have to spend weeks determining exactly how the class works? > The documentation available for each class does not give an overall > picture of how the class works and how it relates to other classes. > We must be missing something!!! Nope. The only thing you missed is a discussion here on the net a few weeks ago, where everyone agreed we all suffer from the same problem. > Although there is a lot of low-level documentation about the methods > available for each class, there is not much information about the > overall 'design' of the classes. We seem to waste a lot of time trying > to determine how the underlying object is meant to perform. There is a crying need for such a book. Hmm... 8^) -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin From: hugo@IRO.UMontreal.CA (Hugo Desrosiers) Subject: Booting (and installing) NS/FIP 3.1 from floppies. Message-ID: <1993Aug30.171155.2887@IRO.UMontreal.CA> Keywords: Installation, mach, 3.1, floppies Sender: Hugo DesRosiers, MediaSoft Telecomm Organization: Universite de Montreal Date: Mon, 30 Aug 1993 17:11:55 GMT We have a very nice notebook here on which we would really like to see NS/FIP. Of course, this is PC hardware, and trying to get a SCSI controller in a docking station on the notebook didn't work. So I created some floppies to boot and install NS/FIP the hard way. After getting the kernel with the installation disk, startup stops at the "Root disk" question. fd0 is choosen, and the system continues to boot (starting mach_init and init), from a home-made floppy. It then asks in which language installation must be done, and then gives a very nice "/NextCD/CDIS/localecho: cannot execute.". Then a shell prompt appears, and that is it. It turns out that most of the programs on the floppy will give the same error message. But some do execute. For example, in the /usr/etc are the "disk" and "fdisk" programs. Doing a /usr/etc/disk do work, and disk seems to work correctly (disk -q /dev/rhd0a returns "IDE <something>"). But fdisk gets that "cannot execute" message. If I can solve that problem, I'll install NS/FIP on the notebook and then post a find / -print of each floppy I used to install a minimum NS/FIP on a PC machine... Please awnser by email, I don't have time to read the news too much. Thanks, Hugo DesRosiers.
Newsgroups: comp.sys.next.programmer From: pete@ohm.york.ac.uk (Pete French) Subject: Re: Calling all NeXTStep gurus!!! Message-ID: <1993Aug30.125043.310@ohm.york.ac.uk> Organization: Electronics Department, University of York, UK References: <746447624snz@cedar.demon.co.uk> Date: Mon, 30 Aug 93 12:50:43 GMT From article <746447624snz@cedar.demon.co.uk>, by cedar@cedar.demon.co.uk (Cedar Systems): > When considering a class we have not used before, why is it that > we have to spend weeks determining exactly how the class works? > The documentation available for each class does not give an overall > picture of how the class works and how it relates to other classes. > We must be missing something!!! Nope, its just that the documentation is shit. That is assuming that you can find it in the first place. Online documentation that you can only read properly when logged in on console ! Jesus... -bat. -- -Pete French. (the -bat. ) -+ Adaptive Systems Engineering | +- Dont ask anymore stupid questions...
Newsgroups: comp.sys.next.programmer From: csp@ohm.york.ac.uk (Colin Perkins) Subject: Re: Calling all NeXTStep gurus!!! Message-ID: <1993Aug30.153904.4556@ohm.york.ac.uk> Organization: Computer Systems Engineering Group, University of York, UK. References: <746447624snz@cedar.demon.co.uk> <1993Aug30.125043.310@ohm.york.ac.uk> Date: Mon, 30 Aug 93 15:39:04 GMT Pete French (pete@ohm.york.ac.uk) wrote: >From article <746447624snz@cedar.demon.co.uk>, by cedar@cedar.demon.co.uk (Cedar Systems): >> When considering a class we have not used before, why is it that >> we have to spend weeks determining exactly how the class works? >> The documentation available for each class does not give an overall >> picture of how the class works and how it relates to other classes. >> We must be missing something!!! >Nope, its just that the documentation is shit. That is assuming that you >can find it in the first place. Online documentation that you can only read >properly when logged in on console ! Jesus... But, all it takes is a bit of greping around in /NextLibrary/Documentation and a quick "cat ... | rtf-ascii | fmt | less" and you can find and read the documentation anywhere! Who needs that pesky GUI anyway..? ...and people complain that the Unix documentation is hard to use! :-) :-) -- Colin Perkins Computer Systems Engineering Group, Email: csp@ohm.york.ac.uk University of York, YO1 5DD, UK. Phone: +44 904 432379
From: msb@its.COM (Michael S. Barthelemy) Newsgroups: comp.sys.next.programmer Subject: Re: Bypassing Next Filesystem to SCSI disk write Date: 30 Aug 1993 13:48:20 -0400 Organization: The Ohio State University Sender: daemon@magnus.acs.ohio-state.edu Message-ID: <9308301632.AA04947@its.com> In comp.sys.next.programmer article <25p2dc$ro5@ni.umd.edu> you wrote: > In article <25ogh0$m42@vixen.cso.uiuc.edu> dlm40629@uxa.cso.uiuc.edu (Daniel L. Marks) writes: > > >How does one access the SCSI disk on a Nextstation at the block level? > >(bypassing the file system) > > You can use the raw device (e.g., /etc/rsd1a) to access the disk > without using the Berkeley fast file system. Alternatively, you could > issue raw SCSI commands using the generic SCSI device driver (see 'man > 4 sg'), but I suspect that you won't see a big improvement. Try 'man 4 sd.' The disk driver can read or write much larger peices of data than the sg driver. (There is a 32k transfer limit in the sg driver.) I once had to do a driver for a SCSI disk which had a proprietary format and accessed it via the sd driver. Use partition 'h' as described per the man page. (Access this way can be quite fast. In testing I had achieved transfer rates in excess of 3MB/sec. Of-course this is also somewhat device dependent.) > >Also, will the disk blocks be read in the same contiguous order in the > >Nextstep 486 and Nextstep '040 raw devices? > > I don't see why this would vary based on architecture. SCSI disks are transportable between architectures. Thus I would say there is no problem. There would be a problem if you tried to use an IDE drive on a PC however. (The devices you used would have to change, and I don't know if there is a way to access 'raw' IDE drives as there are with SCSI drives.) Mike Barthelemy +-----------------+-------------------------------+ | Mike Barthelemy | NEXTSTEP Developer | | msb@its.com | Graphics & Imaging Specialist | +-----------------+-------------------------------+ | Don't ask me why, as I didn't make the rules. | +-------------------------------------------------+
From: slv0y@cc.usu.edu Newsgroups: comp.sys.next.programmer Subject: Where is Perl? Message-ID: <1993Aug30.111358.94@cc.usu.edu> Date: 30 Aug 93 11:13:58 MDT Organization: Utah State University I have searched around but I cannot seem to find any info on where to get PERL for the Next. Can someone please direct me to its hiding place? Thanks a lot, Z slv0y@cc.usu.edu
Newsgroups: comp.sys.next.programmer From: mshaler@tdocad.sps.mot.com (Michael Shaler) Subject: Re: Remotely run apps and connecting to Workspace & WS References: <1993Aug30.130213.16633@csus.edu> Date: Mon, 30 Aug 1993 15:23:01 GMT Organization: Nippon Motorola Ltd., Tokyo, Japan Sender: news@tkymail.sps.mot.com Message-ID: <1993Aug30.152301.26441@tkymail.sps.mot.com> Eric P. Scott writes: [munch] Now, suppose you're a root-privileged process that wants access to the Window Server, but has bad heredity. :-) The sleazy way to get around this in 3.1 goes something like: look in /usr/spool/lpd.lock for lpd's process id. Use task_by_unix_pid() to obtain its task kernel port, then task_get_special_port() to find its TASK_BOOTSTRAP_PORT. Use that to do a bootstrap_look_up() of WindowServer. If that succeeds, check in the "stolen" port as WindowServer under a subset of your original bootstrap port and set your current bootstrap port to that subset. (Don't forget to deallocate any ports you no longer need.) What are the security implications of such theft, I wonder.... --- Michael Shaler Tokyo Design Center Nippon Motorola Ltd. +813 3280 8245 voice +813 3440 0033 fax mshaler@tdocad.sps.mot.com [NeXTmail]r lpd's process id. Use task_by_unix_pid() to obtain its task kernel port, then task_get_special_port() to find its TASK_BOOTSTRAP_PORT. Use that to do a bootstrap_look_up() of WindowServer. If that succeeds, check in the "stolen" port as WindowServer under a subset of your original bootstrap port and set your current bootstrap port to that subset. (Don't forget to deallocate any ports you no longer need.) What are the security implications of such theft, I wonder.... --- Michael Shaler Tokyo Design Center Nippon Motor
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: comp.sys.next.programmer Subject: NEXTSTEP Object Oriented Programmer/Database Specialist Opportunities at SHL (various US locations) Date: 30 Aug 1993 13:01:09 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9308301737.AA08427@seawolf.next.com> For more information about these exciting opportunities, call or send your resume to: Steve Green - Manager, Human Resources SHL Systemhouse Inc. 885 Third Avenue, 25th Floor New York, New York, U.S.A. 10022-4834 Fax: 212-303-5595 E-Mail: Steve_Green@ny.shl.com Systemhouse, a $800 million Systems Integration firm, is recognized as the industry leader in client/server technology. Systemhouse employs over 4,000 people worldwide and maintains a large heterogeneous network of workstations including more than 100 NeXT machines. We are putting together the best NEXTSTEP expertise available. Since November '92 we have hired a core group in New York and Boulder, Colorado. We are executing concepts that others are still only talking about - Reusable Object Library - Standard Certification of Objects - Distributed Development Furthermore we have established an Object Technology Center(OTC) for applied Object Oriented methodologies and development techniques. The OTC in Boulder, is a research and development facility exploring the cutting edge of the relatively new object technology. The charter of the Center is two-fold: to explore and understand all hardware and software related to the object-oriented development industry; and to establish itself as a focal point where companies in diverse verticals markets can join together to leverage OTC's research and experience. The following opportunities exist in various U.S. locations: - Object Oriented Programmers - (Position C201) * 2+ years Object Oriented Programming (C++/Objective C/SmallTalk) * 2+ years database design and database applications * 5 years UNIX/C application development * 2+ years RDBMS (SYBASE preferred) * 1+ years NeXTSTEP applications development * AppKit, DBKit, NeXTSTEP 3.0, OOD * GUI and Porting experience - Senior Applications Development Engineers - (Position C202) * 5-7 years UNIX/C applications development * Financial trading applications * 1+ years NeXT/NeXTSTEP/AppKit/DBKit/Objective C * Sun, SYBASE/C++ a plus - Software Engineers - (Position C203) * NeXT/UNIX application software development * Strong NeXTSTEP, AppKit, Interface Builder, DBKit * High level design, rapid prototyping in NeXT * Strong Objective C or C++ * 3 to 5 years experience - Database Specialists - (Position C204) * 3+ years database design and database applications development (ORACLE/SYBASE preferred) * 3 years UNIX/C application development * 3 years RDBMS experience using an SQL-based RDBMS * 1+ year NeXTSTEP applications a plus * AppKit, DBKit, NeXTSTEP 3.0, OOD, Objective C a plus We need bright, enthusiastic experienced people!!! For more information about these exciting opportunities, call or send your resume to: Steve Green - Manager, Human Resources SHL Systemhouse Inc. 885 Third Avenue, 25th Floor New York, New York, U.S.A. 10022-4834 Fax: 212-303-5595 E-Mail: Steve_Green@ny.shl.com Please correspond with the proper position number. Systemhouse will only respond to qualified candidates.
From: alex@cs.umd.edu (Alex Blakemore) Newsgroups: comp.sys.next.programmer Subject: Developers stop mousing around (WAS Re: Page Up and Down by space key) Date: 30 Aug 1993 15:47:28 -0400 Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Distribution: world Message-ID: <25tlgg$onq@seine.cs.umd.edu> References: <25s93l$97h@digifix.digifix.com> Send-To: sanguish@digifix.com In article <25s93l$97h@digifix.digifix.com> sanguish@digifix.com writes: > Has anyone added the functionality that NewsGrazer has (hit Space to scroll > down one screen of text) to a scroll view before? YES! you've hit one of my favorite peeves about NeXT, having to use the damn mouse for the simplest things (much as I love NEXTSTEP) TeXView.app does it right IMHO. any app displaying multipage readonly text (FaxReader, PreView, NG, etc) should emulate each and every feature. PreView does only a subset :-( source is in /usr/lib/tex/src/texview here is a partial list: the page number is selected when you enter a page so you can just type a number to go to that page. the space bar pages forward, going to the bottom of the current page if not there yet. left arrow = prev page right arrow = next tpage up arrow = scroll towards top of current page down arrow = scroll towards bottom of current page since the view in this case does not allow selection of text, it even uses mouse drags to scroll the page, which is useful for simultaneous horizontal/vertical scroll. I think it even does f for forward, b for backward without making you hold down the command OR shift key either. Developers, please adopt TeXView techniques to allow us to keep our hands on the keyboard. Stuart has similar good techniques for scrolling, switching windows with arrow key combinations. P.S. another good idea to adopt is Edit.apps trick of highlighting the miniwindow for a doc if it contains unsaved changes. LightHouse Design used it with Diagram! and look what happened with that. -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted -------------------------------------------------------------- "Without an engaged and motivated human being at the keyboard, the computer is just another dumb box." William Raspberry
From: npratt@madmax.modsys (Nevin Pratt) Newsgroups: comp.sys.next.programmer Subject: Re: Making Obj-C faster? Date: 30 Aug 1993 20:48:56 GMT Organization: Sun Microsystems, Inc. Distribution: world Message-ID: <25tp3o$o1i@cnn.sim.es.com> References: <GREG.93Aug27104251@pacifica.sce.carleton.ca> In article 93Aug27104251@pacifica.sce.carleton.ca, greg@pacifica.sce.carleton.ca (Greg Franks) writes: > The Stepstone Objective C has provisions for "statically binding- where > possible so that much of the cost of dynamic dispatch is mitigated. > You still end up with a procedure call, but calls are relatively cheap > these days. Declaring the ivars as pointers to their classes (as shown below) provides the Stepstone compiler sufficient information for static binding: OrdCltn *col; // do this.... col = [OrdCltn new]; // .... for static binding. instead of: id col; // dynamic binding is used here... col = [OrdCltn new]; This same syntax for static binding works on the GNU compiler as well. However, the unanswered question is: "will the first example, when used with the GNU compiler, actually bind statically, or will it still compile down into a call on the messenger?" Anybody know the answer? Nevin
From: koehrsen@offroad.chem.wisc.edu (Michael Koehrsen) Newsgroups: comp.sys.next.programmer Subject: Finding size of content area of a FormCell Date: 30 Aug 1993 21:57:09 GMT Organization: Division of Information Technology Distribution: usa Message-ID: <25tt3l$spe@news.doit.wisc.edu> I'm trying to find the width of the inside (excluding the bezel, I mean) of the content part of a FormCell. This seems like it should be straightforward, but I've spent too much time on it already without success. So far, I've tried Cell's getDrawRect: method, which seems to not be meaningful for a FormCell, and tried subtracting the value returned by FormCell's titleWidth method from the width returned by Matrix's getCellSize: method. Ideas? Many thanks. Michael Koehrsen
Newsgroups: comp.sys.next.programmer From: eric@cs.sfu.ca (Eric) Subject: C++ Libraries Message-ID: <1993Aug30.233250.16943@cs.sfu.ca> Sender: news@cs.sfu.ca Organization: Simon Fraser University Date: Mon, 30 Aug 1993 23:32:50 GMT Does anyone know where I can get the standard C++ libraries, like stream.h, for the NeXT. Please reply to eric@cs.sfu.ca.
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: bad@flatlin.ka.sub.org (Christoph Badura) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Organization: Guru Systems/Funware Department Date: Mon, 30 Aug 1993 23:58:40 GMT Message-ID: <CCLJxt.M4K@flatlin.ka.sub.org> References: <westesCC6ELA.77I@netcom.com> <CEDMAN.93Aug22173930@capitalist.princeton.edu> <id.J9321.ALF@nmti.com> In <id.J9321.ALF@nmti.com> peter@nmti.com (peter da silva) writes: >In article <CEDMAN.93Aug22173930@capitalist.princeton.edu> cedman@princeton.edu (Carl Edman) writes: >> No, all NeXTs run BSD 4.3 which is the standard UNIX architecture. >Wow. That's two inoperative statements in one sentence. And it wrong because some NeXTs run Plan 9. :-) -- Christoph Badura --- bad@flatlin.ka.sub.org --- +49 721 606137 Personally, I don't care whether someone is cool enough to quote Doug Gwyn--I only care whether Doug Gwyn is cool enough to quote. -- Larry Wall
Newsgroups: comp.sys.next.programmer From: seungwoo@hecto.cs.umn.edu (Seung-Woo Kim) Subject: Musickit on 3.x? Message-ID: <seungwoo.746764267@hecto> Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota, Twin Cities Date: Tue, 31 Aug 1993 02:31:07 GMT I upgraded my machine from 2.2 to 3.0 recently, and I couldn't find musickit in there. Is it excluded from the bundle? Does it exist for 3.x anyway? If so, where can I find it? I still have NS2.2 machine. Will 3.0 run the musickit program that was developed on 2.2? Thanks in advance. Seung-Woo
Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy From: (Horace Lim) hal@codex.com.au Subject: Can anyone recommend a simple, flat-file data base for NEXTSTEP. Message-ID: <1993Aug31.021810.3721@codex.oz.au> Sender: hal@codex.oz.au Organization: Codex Software Development Pty Ltd Date: Tue, 31 Aug 93 02:18:10 GMT This may seem like a simple question, sometimes you just don't need a full featured RDBMS like Sybase or Oracle. Thanks Horace -- --------------------------------------------------- Horace A. Lim (a.k.a. Hal) Internet : hal@xedoc.com.au (NeXTMail welcome and appreciated) AppleLink: AUST0335
From: ralf@reswi.en.open.de (Ralf E. Stranzenbach) Newsgroups: comp.sys.next.programmer Subject: Re: C++ Libraries Date: 31 Aug 1993 06:38:05 GMT Organization: News Server fuer en.open.de Message-ID: <RALF.93Aug31083806@jodokus.en.open.de> References: <1993Aug30.233250.16943@cs.sfu.ca> In-reply-to: eric@cs.sfu.ca's message of Mon, 30 Aug 1993 23:32:50 GMT >>>>> "Eric" == Eric <eric@cs.sfu.ca> writes: Eric> Does anyone know where I can get the standard C++ libraries, Eric> like stream.h, for the NeXT. Please reply to Eric> eric@cs.sfu.ca. Please reply with an article. I'm interested, too. Which release of "libg++" can be used with NeXT-cc++ ? - ralf -- Ralf E.Stranzenbach - (NeXT)-Mail: ralf@reswi.en.open.de Fido: Ralf_Stranzenbach 2:245/5800.12 (Voice)-Phone: +49 2302 / 68403 -- Komplexe Probleme haben einfache, leicht umzusetzende aber falsche Loesungen.
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Remotely run apps and connecting to Workspace & WS Message-ID: <1993Aug31.112533.8481@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Aug30.130213.16633@csus.edu> <1993Aug30.152301.26441@tkymail.sps.mot.com> Date: Tue, 31 Aug 1993 11:25:33 GMT In article <1993Aug30.152301.26441@tkymail.sps.mot.com> mshaler@tdocad.sps.mot.com (Michael Shaler) writes: >What are the security implications of such theft, I wonder.... It requires root access. Just don't do anything stupid. :-) -=EPS=-
Newsgroups: comp.sys.next.programmer From: jfr@aspen.pdh.com (Jon F. Rosen) Subject: Re: While dragging, text in NXImage from TextField is often invisible Message-ID: <CCLnKG.72J@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. References: <25kncm$4b9@steffi.demon.co.uk> Date: Tue, 31 Aug 1993 01:17:04 GMT I wanted to thank Robert Nicholson, Andrew Stone, Scott Anguish, Eric Scott, Alex Cone and Mark Onyschuk for their replies to my recent posts. Particularly Robert who came up with the transparent text imaging code which we are now using. It works, its cool (as all good NeXT stuff should be) and even better, it does interapplication drag-and-drop FOR FREE! I had heard all about this stuff but its the first time I have ever done any real "graphic" work on the NeXT (most of my work has been database internals) so I was truly amazed when I took my working app (with the transparent drag-and-drop functioning quite nicely thank you) and brought up a second copy of the app "just to see what would happen". I dragged an image from one copy of the app to the other's destination text field AND IT JUST WORKED! Thanks again to everyone. Jon
From: dohna@ira.uka.de (Ruediger zu Dohna) Newsgroups: comp.sys.next.programmer Subject: Re: Making Obj-C faster? Followup-To: comp.sys.next.programmer Date: Tue, 31 Aug 1993 14:20:32 +0100 Organization: Universitaet Karlsruhe Distribution: na Message-ID: <dohna-310893142032@i02mac191.ira.uka.de> References: <53701@sdcc12.ucsd.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit In article <53701@sdcc12.ucsd.edu>, mstankus@oba.ucsd.edu (Mark Stankus) wrote: > 1. What about a new directive > > @inline The idea is good, but IMHO it reduces polymorphism in that the decision is made at compile time. imagine someone else wants to subclass your class and has only the lib. C++ requires the inline stuff to be in the header, but this is not so nice, is it? The linker would have to do the work. And inline functions are but a few. The speedup would be minor. C++ people say that it is not necessary to have all methods virtual. Objective C people say that it is - on the long run. The difference is that i dont know of any C++ library without the source code. This is a disadvantage!!! alter-think ! Ruediger
Newsgroups: comp.sys.next.programmer From: marcel@nice.usergroup.ethz.ch (Marcel Waldvogel) Subject: Re: Bypassing Next Filesystem to SCSI disk write Message-ID: <CCMKnF.A60@bernina.ethz.ch> Keywords: SCSI Disk Write Bypassing Filesystem Next Sender: news@bernina.ethz.ch (USENET News System) Organization: NiCE - NeXT User Group, Zurich, Switzerland References: <25ogh0$m42@vixen.cso.uiuc.edu> <25p2dc$ro5@ni.umd.edu> Date: Tue, 31 Aug 1993 13:11:38 GMT In article <25p2dc$ro5@ni.umd.edu> louie@sayshell.umd.edu (Louis A. Mamakos) writes: >In article <25ogh0$m42@vixen.cso.uiuc.edu> dlm40629@uxa.cso.uiuc.edu (Daniel L. Marks) writes: >>How does one access the SCSI disk on a Nextstation at the block level? >>(bypassing the file system) [...] >Have you tried to newfs the disk, and than use mkfile to create a >contiguous file? This is much the same as /private/vm/swapfile, and >if the file is created in one fell swoop, the access to it should be >pretty efficient. Plus, you get to use normal tools like dump or tar >(or SafetyNet) to backup the file system on disk to tape. You might also want to change the disk characteristics when using newfs and/or tunefs (only a few inodes, set minfree to zero, ...). For details, have a look at the mkfs, newfs and tunefs man pages. Access through the file system is only somewhat slower than direct access to the raw device (or (uglyly) to the SCSI disk (through sg or sd)). But it has the advantages that the file may be backuped, or moved to another disk or accessed through a network file system (NFS, AFS, ...). Let the path name to the file be configurable, so if someone really wants to use the raw device (s)he can change it. Access to the raw device needs additional privileges for the app and you must take extra care not to take the wrong device (i.e. your home partition). -Marcel
Newsgroups: comp.sys.next.programmer From: simsong@next.cambridge.ma.us (Simson L. Garfinkel) Subject: Re: Remotely run apps and connecting to Workspace & WS Message-ID: <1993Aug31.124051.14653@next.cambridge.ma.us> Sender: simsong@next.cambridge.ma.us Organization: NeXTWORLD Magazine References: <1993Aug30.152301.26441@tkymail.sps.mot.com> Date: Tue, 31 Aug 1993 12:40:51 GMT In article <1993Aug30.152301.26441@tkymail.sps.mot.com> mshaler@tdocad.sps.mot.com (Michael Shaler) writes: > Eric P. Scott writes: > > [munch] > > Now, suppose you're a root-privileged process that wants > access to the Window Server, but has bad heredity. :-) > The sleazy way to get around this in 3.1 goes something like: > look in /usr/spool/lpd.lock for lpd's process id. Use > task_by_unix_pid() to obtain its task kernel port, then > task_get_special_port() to find its TASK_BOOTSTRAP_PORT. Use > that to do a bootstrap_look_up() of WindowServer. If that > succeeds, check in the "stolen" port as WindowServer under a > subset of your original bootstrap port and set your current > bootstrap port to that subset. (Don't forget to deallocate any > ports you no longer need.) > > What are the security implications of such theft, I wonder.... > > --- Not much, since you need to be root to do it. -- ................................................................simson
Newsgroups: comp.sys.next.programmer From: brian@pencom.com (Brian Hobbs) Subject: 3.1 loginwindow screensaver? Message-ID: <1993Aug31.135251.6988@pencom.com> Sender: usenet@pencom.com (News system) Organization: Pencom Systems Incorporated Date: Tue, 31 Aug 1993 13:52:51 GMT Greetings, Has anyone deciphered how to make a 3.1 screensaver.bundle for the loginwindow app? I couldn't find any documentation on it at all... Thanks, Brian
From: ramani@uarc.eecs.umich.edu (Ramani Penmetsa) Newsgroups: comp.sys.next.programmer Subject: Encoding Data Structure to Copy a List across the network Date: 31 Aug 1993 15:16:23 GMT Organization: University of Michigan EECS Dept. Distribution: world Message-ID: <25vq07$mbk@zip.eecs.umich.edu> Hi, I am trying to copy a List from the server to the client (Distributed Objects). The List is a FullCopyList which conforms to the NXTransport protocol(as in the Distributed Object documentation ). The Objects in the List are 'AnnObject' which are as follows: typedef struct { char *dataString; char *author; double time; float value; }AnnData; /* AnnObject.h file */ @interface AnnObject:Object <NXTransport> { int key; Storage *dataStore; int reference; } - init; //NXTransport methods; - encodeRemotelyFor:(NXConnection *)connection freeAfterEncoding:(BOOL *)flagp isBycopy:(BOOL)isBycopy; - encodeUsing:(id <NXEncoding>)portal; - decodeUsing:(id <NXDecoding>)portal; @end The encodeUsing protocol method is as follows: - encodeUsing:(id <NXEncoding>)portal { int i, count = [dataStore count]; AnnData *ad; [portal encodeData:&key ofType:"i"]; [portal encodeData:&count ofType:"i"]; for (i=0; i<count; i++) { ad = [dataStore elementAt: i]; //ERROR at run time here; [portal encodeData: ad ofType:"{**df}"]; } [portal encodeData:&reference ofType:"i"]; return self; } When I run the application, I get the error message: 'encodeData:ofType: can't encode struct {**df}' at [portal encodeData: ad ofType:"{**df}"]; Does anyone know what how I can correct this and be able to copy a list ? Thank you, ramani email: ramani@eecs.umich.edu -- NewsGrazer, a NeXTstep(tm) news reader, posting -- M>UQR=&8P7&%N<VE[7&9O;G1T8FQ<9C!<9FUO9&5R;B!#;W5R:65R.WT*7&UA M<F=L,3(P"EQM87)G<C$R,`I<<&%R9%QT>#$Q-3)<='@R,S`T7'1X,S0U-EQT M>#0V,#A<='@U-S8P7'1X-CDQ,EQT>#@P-C1<='@Y,C$V7'1X,3`S-CA<='@Q M,34R,%QF,%QB,%QI,%QU;&YO;F5<9G,R-%QF8S!<8V8P($AI+%P*22!A;2!T M<GEI;F<@=&\@8V]P>2!A($QI<W0@9G)O;2!T:&4@<V5R=F5R('1O('1H92!C M;&EE;G0@*$1I<W1R:6)U=&5D7`I/8FIE8W1S*2X@5&AE($QI<W0@:7,@82!& M=6QL0V]P>4QI<W0@=VAI8V@@8V]N9F]R;7,@=&\@=&AE($Y85')A;G-P;W)T M('!R;W1O8V]L*&%S(&EN('1H92!$:7-T<FEB=71E9"!/8FIE8W0@9&]C=6UE M;G1A=&EO;B`I+B!4:&4@3V)J96-T<UP*:6X@=&AE($QI<W0@87)E("`G06YN M3V)J96-T)R!W:&EC:"!A<F4@87,@9F]L;&]W<SI<"EP*"71Y<&5D968@<W1R M=6-T(%Q[7`H)"6-H87(@*F1A=&%3=')I;F<[7`H)"6-H87(@*F%U=&AO<CM< M"B`@(`D@"61O=6)L92`@=&EM93L@("!<"@D)9FQO870@=F%L=64[(%P*"5Q] M06YN1&%T83M<"EP*"2\J($%N;D]B:F5C="YH(&9I;&4@*B]<"@E`:6YT97)F M86-E($%N;D]B:F5C=#I/8FIE8W0@/$Y85')A;G-P;W)T/EP*"5Q[7`H)"6EN M="!K97D[("`@("`@("!<"@D)4W1O<F%G92`J9&%T85-T;W)E.R`@(`D)7`H) M"6EN="!R969E<F5N8V4[7`H)7'U<"@DM(&EN:70[7`I<"@DO+TY85')A;G-P M;W)T(&UE=&AO9',[7`H)+2!E;F-O9&5296UO=&5L>49O<CHH3EA#;VYN96-T M:6]N("HI8V]N;F5C=&EO;B!<"@D)9G)E94%F=&5R16YC;V1I;F<Z*$)/3TP@ M*BEF;&%G<"!<"@D):7-">6-O<'DZ*$)/3TPI:7-">6-O<'D[7`H)+2!E;F-O M9&55<VEN9SHH:60@/$Y816YC;V1I;F<^*7!O<G1A;#M<"@DM(&1E8V]D955S M:6YG.BAI9"`\3EA$96-O9&EN9SXI<&]R=&%L.UP*"4!E;F1<"EP*5&AE(&5N M8V]D955S:6YG('!R;W1O8V]L(&UE=&AO9"!I<R!A<R!F;VQL;W=S.EP*7`H) M+2!E;F-O9&55<VEN9SHH:60@/$Y816YC;V1I;F<^*7!O<G1A;%P*"5Q[7`H@ M("`@"6EN="!I+"!C;W5N="`](%MD871A4W1O<F4@8V]U;G1=.UP*"0E!;FY$ M871A("IA9#M<"@D)7`H)"5MP;W)T86P@96YC;V1E1&%T83HF:V5Y(&]F5'EP M93HB:2)=.UP*"0E;<&]R=&%L(&5N8V]D941A=&$Z)F-O=6YT(&]F5'EP93HB M:2)=.R!<"@H)"69O<B`H:3TP.R!I/&-O=6YT.R!I*RLI(%Q[7`H)"0EA9"`] M(%MD871A4W1O<F4@96QE;65N=$%T.B!I73M<"@D)"5P*"0D)+R]%4E)/4B!A M="!R=6X@=&EM92!H97)E.UP*"EQB(`D)"0I<=6Q<9G,R-B!;<&]R=&%L(&5N M8V]D941A=&$Z(&%D(&]F5'EP93HB7'LJ*F1F7'TB73L*7'5L;F]N95QF<S(T M("`)"0E<"@I<8C`@"0E<?5P*"0E;<&]R=&%L(&5N8V]D941A=&$Z)G)E9F5R M96YC92!O9E1Y<&4Z(FDB73M<"@D)<F5T=7)N('-E;&8[7`H)7'U<"EP*"EQB M(%=H96X@22!R=6X@=&AE(&%P<&QI8V%T:6]N+"!)(&=E="!T:&4@97)R;W(@ M;65S<V%G93I<"@DG96YC;V1E1&%T83IO9E1Y<&4Z(&-A;B=T(&5N8V]D92!S M=')U8W0@7'LJ*F1F7'TG7`IA="`@6W!O<G1A;"!E;F-O9&5$871A.B!A9"!O M9E1Y<&4Z(EQ[*BID9EQ](ET[(%P*"EQB,"!<"D1O97,@86YY;VYE(&MN;W<@ M=VAA="!H;W<@22!C86X@8V]R<F5C="!T:&ES(&%N9"!B92!A8FQE('1O(&-O M<'D@82!L:7-T("`_7`I<"E1H86YK('EO=2Q<"G)A;6%N:2`@("`@("`@("`@ J("`@("`@("`@96UA:6PZ("`@<F%M86YI0&5E8W,N=6UI8V@N961U"GT* `
From: slv0y@cc.usu.edu Newsgroups: comp.sys.next.programmer Subject: Palette, IB-like, examples? Message-ID: <1993Aug31.084831.121@cc.usu.edu> Date: 31 Aug 93 08:48:31 MDT Organization: Utah State University Are there any example programs our there (Next or otherwise) that demonstrate how to drag something off of say a palette have the icon of the tool attached to the pointer as you then drop it into your document. I am looking to put together an app very similar to IB...palette...documents...inspector, etc. and would like a good example to look at before I dive in. Many thanks, John Zollinger slv0y@cc.usu.edu
Newsgroups: comp.sys.next.programmer From: root@next1de.scri.fsu.edu (Operator) Subject: multiple active objects- how? Sender: usenet@mailer.cc.fsu.edu Organization: Florida State University ACNS Date: Tue, 31 Aug 1993 18:12:57 GMT Message-ID: <CCMyLL.Ior@mailer.cc.fsu.edu> I'd like to make a NS app which can do *interactive* calculations, that is, I want to be able to change the parameters (with sliders and such) while the calculation is simultaniously being performed and data from it is being displayed. Is there some kind of 'active' option that an object can set that will cause control to be regularly passed back to it, or am I forced to get into a multi-process and associated process communication situation/nightmare? - Steve (Please respond by email)
From: erikkay@next.com (Erik Kay) Newsgroups: comp.sys.next.programmer Subject: Re: C++ Libraries Date: 31 Aug 1993 17:35:35 GMT Organization: NeXT, Inc. Message-ID: <260257$6nv@rosie.next.com> References: <RALF.93Aug31083806@jodokus.en.open.de> > >>>>> "Eric" == Eric <eric@cs.sfu.ca> writes: > > Eric> Does anyone know where I can get the standard C++ libraries, > Eric> like stream.h, for the NeXT. Please reply to > Eric> eric@cs.sfu.ca. you can get a version of libg++ (based on libg++ 2.3) that works with release 3.1 of NEXTSTEP from ftp.next.com. libg++ will be shipped with release 3.2. hope that helps, Erik
From: Mark_Wagner@NeXT.COM (Mark Wagner) Newsgroups: comp.sys.next.programmer Subject: Re: Making Obj-C faster? Date: 31 Aug 1993 18:22:53 GMT Organization: NeXT, Inc. Distribution: world Message-ID: <2604tt$6pe@rosie.next.com> References: <25tp3o$o1i@cnn.sim.es.com> In article <25tp3o$o1i@cnn.sim.es.com> npratt@madmax.modsys (Nevin Pratt) writes: > This same syntax for static binding works on the GNU compiler as well. However, > the unanswered question is: "will the first example, when used with the GNU > compiler, actually bind statically, or will it still compile down into a call > on the messenger?" > > Anybody know the answer? > > Nevin In NeXT's Objective-C, message dispatch is always dynamic. The use of statically typed variables (which I do espouse) is there to help improve correctness by detecting potential type errors at compile time. If one wants to do static dispatch then you either have to use functions or get a hold of the member function as a pointer and call through it. -- Mark
Newsgroups: comp.sys.next.programmer From: abell@netcom.com (Steven T. Abell) Subject: Re: Making Obj-C faster? Message-ID: <abellCCn3yB.Aw1@netcom.com> Organization: Netcom Online Communications Services (408-241-9760 login: guest) References: <25tp3o$o1i@cnn.sim.es.com> <2604tt$6pe@rosie.next.com> Date: Tue, 31 Aug 1993 20:08:34 GMT Mark_Wagner@NeXT.COM (Mark Wagner) writes: >In NeXT's Objective-C, message dispatch is always dynamic. This sucks. Steve abell@netcom.com
From: glenn@rightbrain.com (Glenn Reid) Newsgroups: comp.sys.next.programmer Subject: Re: Can anyone recommend a simple, flat-file data base for NEXTSTEP. Message-ID: <1331@rtbrain.rightbrain.com> Date: 31 Aug 93 20:20:23 GMT References: <1993Aug31.021810.3721@codex.oz.au> Sender: glenn@rightbrain.com Horace Lim writes > This may seem like a simple question, sometimes you just don't need a full featured RDBMS like Sybase or Oracle. You need DataPhile, from Stone Design. It's an awesome flat file database. Stone Design 3725 Rio Grande NW Albuquerque, NM 87107-3041 Phone: (505) 345 4800 Fax : (505) 345 3424 Email: info@stone.com -- Glenn Reid NeXTmail: glenn@rightbrain.com RightBrain Software 415-326-2974 (NeXTfax 326-2977) Palo Alto, California Electronic Frontier Foundation, member #054
Newsgroups: comp.sys.next.programmer From: jfr@aspen.pdh.com (Jon F. Rosen) Subject: Re: Making Obj-C faster? Message-ID: <CCMsyx.G6p@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. References: <25tp3o$o1i@cnn.sim.es.com> Date: Tue, 31 Aug 1993 16:11:20 GMT Nevin Pratt writes > In article 93Aug27104251@pacifica.sce.carleton.ca, greg@pacifica.sce.carleton.ca (Greg Franks) writes: > > Declaring the ivars as pointers to their classes (as ^^^^^ (I think you mean "ids" or objects here) > shown below) provides the Stepstone compiler > sufficient information for static binding: > > OrdCltn *col; // do this.... > col = [OrdCltn new]; // .... for static binding. > > instead of: > > id col; // dynamic binding > col = [OrdCltn new]; // .... is used instead. > > This same syntax for static binding works on the GNU > compiler as well. However, the unanswered question is: > "will the first example, when used with the GNU compiler, > actually bind statically, or will it still compile down > into a call on the messenger?" > > Anybody know the answer? This is an easy one. In the GNU and NeXT Obj-C compilers, the "pointer to a class" syntax gets you STATIC TYPING, not STATIC BINDING. It permits the compiler to give compile warnings when you send an "invalid" message to an object of a static type. However, the compiler still generates the same old objc_MsgSend() function call whether the object is a dynamically typed "id" or a statically typed "pointer to a class". Static typing is also useful to "pierce" the encapsulation of an object. Any statically typed object will "give up" its ivars using object->ivar syntax. This is NOT a good thing to do unless you are absolutely sure that you know what you are doing and you are not concerned about possible future expandability problems. Jon Rosen
Newsgroups: comp.sys.next.programmer From: Robert_La_Ferla@hot.com Subject: Re: Can anyone recommend a simple, flat-file data base for NEXTSTEP. Message-ID: <1993Aug31.175400.21558@hot.com> Sender: robertl@hot.com Organization: Hot Technologies References: <1993Aug31.021810.3721@codex.oz.au> Date: Tue, 31 Aug 1993 17:54:00 GMT If you're looking for something other than DataPhile, take a look at RoseBase by Blue Rose Software and QuickBase by SoftDesign. While not flat-file databases, they are relatively inexpensive and offer much better performance. Robert La Ferla Hot Technologies In article <1993Aug31.021810.3721@codex.oz.au> (Horace Lim) hal@codex.com.au writes: > This may seem like a simple question, sometimes you just don't need a full featured RDBMS like Sybase or Oracle. > > Thanks Horace > -- > --------------------------------------------------- > Horace A. Lim (a.k.a. Hal) > Internet : hal@xedoc.com.au (NeXTMail welcome and appreciated) > AppleLink: AUST0335
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: HeaderViewer didn't install in V3.1 Message-ID: <1993Aug31.213509.595@afs.com> Sender: Michael_Pizolato@afs.com References: <1993Aug31.212606.473@afs.com> Date: Tue, 31 Aug 1993 21:35:09 GMT I write >In four different installations of the NS3.1 developer's toolkit, >HeaderViewer was screwed up or didn't install at all. Has anyone >else had this problem? Can anyone NeXTMail me a working V3.1 >HeaderViewer, fat if possible? Never mind, I'm brain-dead. It's now an app in NS3.1, not a demo. I was looking in the wrong place. Thanx anyway, Michael -- Michael Pizolato gnihtyreve noitseuq Michael_Pizolato@afs.com NeXTMail appreciated
From: louie@sayshell.umd.edu (Louis A. Mamakos) Newsgroups: comp.sys.next.programmer Subject: Re: Making Obj-C faster? Date: 31 Aug 1993 22:38:49 GMT Organization: University of Maryland, College Park Message-ID: <260jtp$jdb@ni.umd.edu> References: <25tp3o$o1i@cnn.sim.es.com> <2604tt$6pe@rosie.next.com> <abellCCn3yB.Aw1@netcom.com> In article <abellCCn3yB.Aw1@netcom.com> abell@netcom.com (Steven T. Abell) writes: >Mark_Wagner@NeXT.COM (Mark Wagner) writes: >>In NeXT's Objective-C, message dispatch is always dynamic. > >This sucks. Before making this judgement, why don't you actually TIME how long the dynamic message dispatch takes as compared to a normal subrouting call? It doesn't take that much longer, and unless your method is trivial and called very frequently, you probably won't notice a difference. It is, for example, orders of magnitude faster than making a system call. There are ways of getting a pointer to the implementation of a method, and invoking it as a function call through a pointer. It's just that in most cases, it's just not worth the trouble. Louis Mamakos
From: erwin@helsinki.ks.uiuc.edu (Edgar Erwin) Newsgroups: comp.sys.next.programmer Subject: Need help printing directly from screen Date: 1 Sep 1993 01:03:10 GMT Organization: University of Illinois at Urbana Distribution: world Message-ID: <260sce$bn2@vixen.cso.uiuc.edu> Hi, I need some help figuring out how to print the bitmap image stored inside a view subclass. Since I don't define a drawSelf:: method, I don't think I can use the printPSCodeInside: method to get the printout. If I try this, I will get a blank sheet for the output. I figured out how to implement a copy: method by creating an NXBitmapImageRep from the image on the screen and pasting this to the pasteboard. However, I don't know how to do something similar for sending code to the printer. Can anyone offer suggestions? I think all of the relevant info is the following: I don't implement a drawSelf method, but just draw dots directly on the screen (for reasons of speed and synchronization with sound output) with the commands [self lockFocus]; PSrectfill(x,y,1,1); [self unlockFocus]; The window backing is `NX_BUFFERED' The image is Black and White with no transparency. Thanks alot for any assistance. This should be an easy question for some of you, but it isn't for me. *------------------------------------------------------------* Ed Erwin erwin@lisboa.ks.uiuc.edu 3117 Beckman Institute (NeXT Mail accepted) 405, N. Mathews, Urbana, IL 61801 *------------------------------------------------------------*
From: erwin@helsinki.ks.uiuc.edu (Edgar Erwin) Newsgroups: comp.sys.next.programmer Subject: MusicKit and 3.x Date: 1 Sep 1993 01:06:21 GMT Organization: University of Illinois at Urbana Distribution: world Message-ID: <260sid$c02@vixen.cso.uiuc.edu> I deleted the post, but someone wanted info on MusicKit for NextSTEP 3.0 and higher... For the current version of MusicKit, use anonymous ftp from ccrma-ftp.stanford.edu. It will work with 3.0. *------------------------------------------------------------* Ed Erwin erwin@lisboa.ks.uiuc.edu 3117 Beckman Institute (NeXT Mail accepted) 405, N. Mathews, Urbana, IL 61801 *------------------------------------------------------------*
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Making Obj-C faster? Message-ID: <1993Sep1.035307.14839@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <25tp3o$o1i@cnn.sim.es.com> <2604tt$6pe@rosie.next.com> <abellCCn3yB.Aw1@netcom.com> <260jtp$jdb@ni.umd.edu> Date: Wed, 1 Sep 1993 03:53:07 GMT Even with static typing, you still can't have static binding if a method is inherited from a superclass--categories can be dynamically loaded. While you're at it, think about the implications of class posing. - methodFor: (Object) is your friend. -=EPS=-
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: multiple active objects- how? Message-ID: <1993Sep1.040828.15455@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <CCMyLL.Ior@mailer.cc.fsu.edu> Date: Wed, 1 Sep 1993 04:08:28 GMT In article <CCMyLL.Ior@mailer.cc.fsu.edu> root@next1de.scri.fsu.edu (Operator) writes: >I'd like to make a NS app which can do *interactive* calculations, >that is, I want to be able to change the parameters (with sliders and >such) while the calculation is simultaniously being performed and data >from it is being displayed. SliderCells (and Sliders instantiated in InterfaceBuilder) are "continuous" by default. Extra effort is needed to not get this behavior. "It just works..." >- Steve >(Please respond by email) No can do--your e-mail address is completely bogus. -=EPS=-
Newsgroups: comp.sys.next.programmer From: abell@netcom.com (Steven T. Abell) Subject: Re: Making Obj-C faster? Message-ID: <abellCCnrLr.94x@netcom.com> Organization: Netcom Online Communications Services (408-241-9760 login: guest) References: <2604tt$6pe@rosie.next.com> <abellCCn3yB.Aw1@netcom.com> <260jtp$jdb@ni.umd.edu> Date: Wed, 1 Sep 1993 04:39:25 GMT louie@sayshell.umd.edu (Louis A. Mamakos) writes: >abell@netcom.com (Steven T. Abell) writes: >>Mark_Wagner@NeXT.COM (Mark Wagner) writes: >>>In NeXT's Objective-C, message dispatch is always dynamic. >> >>This sucks. > >Before making this judgement, why don't you actually TIME how long the >dynamic message dispatch takes as compared to a normal subrouting >call? It doesn't take that much longer, and unless your method is >trivial and called very frequently, you probably won't notice a >difference. The phrase "unless your method is trivial and called very frequently" implies that method calls are rare in typical code. It's true that the dispatch time for any particular method is hard to measure except in the specified cases. But typical ObjC code is *full* of method invocations. Add all those up: I doubt it's going to be epsilonic. If you use accessors the way the textbooks recommend, it definitely won't be. If the genealogy of the receiver is known, there's no excuse for method dispatch requiring more that 3 instructions. Steve abell@netcom.com
Newsgroups: comp.sys.next.programmer From: jjfeiler@relief.com (John Jay Feiler) Subject: Re: C++ Libraries Message-ID: <1993Sep1.045316.20162@relief.com> Sender: jjfeiler@relief.com Organization: relief consulting References: <1993Aug30.233250.16943@cs.sfu.ca> Date: Wed, 1 Sep 1993 04:53:16 GMT In article <1993Aug30.233250.16943@cs.sfu.ca> eric@cs.sfu.ca (Eric) writes: > Does anyone know where I can get the standard C++ libraries, like stream.h, > for the NeXT. Please reply to eric@cs.sfu.ca. They are available from ftp.next.com, I'mnot sure of the exact path, but the file you are looking for is something like: /pub/Software & Tools/Unsupported Software/libg++.pkg.tar -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!! Edmonds, WA 98026-4433 Independent NeXTSTEP Developer
Newsgroups: comp.sys.next.programmer From: seungwoo@hecto.cs.umn.edu (Seung-Woo Kim) Subject: Re: MusicKit and 3.x Message-ID: <seungwoo.746869370@hecto> Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota, Twin Cities References: <260sid$c02@vixen.cso.uiuc.edu> Date: Wed, 1 Sep 1993 07:42:50 GMT In <260sid$c02@vixen.cso.uiuc.edu> erwin@helsinki.ks.uiuc.edu (Edgar Erwin) writes: >I deleted the post, but someone wanted info on MusicKit for NextSTEP 3.0 and >higher... >For the current version of MusicKit, use anonymous ftp from >ccrma-ftp.stanford.edu. It will work with 3.0. Yes, I ftp'ed it, and it works sweet on NS3.0. It took 3 hours to ftp the file over the slip line tho :-P Seung-Woo
Newsgroups: comp.sys.next.programmer From: Karl_Kraft@ensuing.com Subject: Re: Remotely run apps and connecting to Workspace & WS Message-ID: <CCn16z.783@ensuing.com> Sender: karl@ensuing.com (Karl Kraft) Organization: Ensuing Technologies Inc. References: <1993Aug30.152301.26441@tkymail.sps.mot.com> Date: Tue, 31 Aug 1993 19:08:49 GMT In article <1993Aug30.152301.26441@tkymail.sps.mot.com> mshaler@tdocad.sps.mot.com (Michael Shaler) writes: > Eric P. Scott writes: > > [munch] > > Now, suppose you're a root-privileged process that wants > access to the Window Server, but has bad heredity. :-) > > What are the security implications of such theft, I wonder.... > There's not much you can do with WindowServer access that you can't do as root. And he did say that you needed to be a root-privileged process....... -- _________ Karl Kraft Karl_Kraft@ensuing.com (NeXT mail)
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Re: multiple active objects- how? Message-ID: <1993Sep1.072226.5019@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software References: <CCMyLL.Ior@mailer.cc.fsu.edu> Date: Wed, 1 Sep 1993 07:22:26 GMT Operator writes [deleted] > >- Steve >(Please respond by email) The email account you gave here bounces. Please contact me. Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software
From: idealogy@otto.bf.rmit.oz.au (Rob Coulson) Newsgroups: comp.sys.next.software,comp.sys.next.programmer Subject: Expressions with Digital Librarian Date: 1 Sep 93 11:19:17 GMT Organization: Royal Melbourne Institute of Technology, Melbourne, Australia. Message-ID: <idealogy.746882357@otto> Summary: Using complex expressions with digital librarian Keywords: Digital Librarian Expressions Hi, I need to use digital librarian to construct complex queries on data (i.e. not just "mouse usage summary") which is an implied and. I would like to construct arbitrarily complex queries using and, or, not and brackets. I have tried the 'word' mode and cannot figure out 'expression' mode. I cannot find any documentation on librarian and it has no help! I would appreciate any information or leads on where I could find such information (either on my NS486 3.1 system or the net). Thanks in advance, Richard :-) idealogy@otto.bf.rmit.oz.au
From: cpesch@markov.fmi.uni-passau.de (Christoph Pesch) Newsgroups: comp.sys.next.programmer Subject: check if object was deallocated, possible? Date: 01 Sep 1993 13:07:13 GMT Organization: University of Passau, Germany Message-ID: <CPESCH.93Sep1150713@markov.fmi.uni-passau.de> Hello! I hope someone can help me with the following Objective-C problem: Is there a way to check if an object is deallocated (without causing errors)? I.e. if I have a pointer to an object (id) and this object receives a free-message (from somewhere else) then I have a pointer that isn't nil but doesn't point to an object. In this situation it is usually a bad idea to send messages to the "nonexisting object". ;-) So I would like to check if the id points to a well allocated object before sending messages to it. If this isn't possible, maybe someone has an idea how to solve the following problem in another way: I have three views: A, B and C. C is a subview of B. A is a special subclass of View and receives at run-time a pointer to B. (It has a new id to store this pointer). But B can be any kind of view and "doesn't know anything about A". Now A "lends" C from B (i.e. makes C a subview of A. Then of course C isn't any longer a subview of B). When A is deallocated then it should "give C back to B" (i.e. make C a subview of B again). This isn't possible if B was deallocated in the meantime. It can happen (for example) when the whole application is deallocated and B gets its free-message earlier than A. In this case A should not try to give C back to B. (This is why I want to check if an object is deallocated). Because B can be any kind of view and is determined at runtime I only can change the methods for A but not those for B. (If both had pointers to the other view and I could overwrite the free-methods of both, it would be easy ...). I hope you understood my problem and can help me. Many thanks in advance, Christoph Pesch (cpesch@markov.fmi.uni-passau.de --- NO NeXT-mail please)
From: npratt@madmax.modsys (Nevin Pratt) Newsgroups: comp.sys.next.programmer Subject: Re: Making Obj-C faster? Date: 1 Sep 1993 15:46:27 GMT Organization: Sun Microsystems, Inc. Distribution: world Message-ID: <262g4j$no4@cnn.sim.es.com> References: <1993Sep1.035307.14839@csus.edu> In article 14839@csus.edu, eps@futon.SFSU.EDU (Eric P. Scott) writes: > Even with static typing, you still can't have static binding if > a method is inherited from a superclass--categories can be > dynamically loaded. A significant portion of Brad Cox's book, "Object-Oriented Programming, An Evolutionary Approach" is dedicated to explaining just how to implement a compiler that supports static binding (as well as dynamic, of course) regardless of the inheritence chain-- as long as single inheritence is being used. However, I can find no mention of "categories" in his book. The fact that a category can be dynamically loaded (and then inherited by subclasses) definitely throws a kink into his static binding scheme. > While you're at it, think about the implications of class posing. > > - methodFor: (Object) is your friend. > > -=EPS=- Yes, I'm beginning to believe that any scheme for supporting static binding would force us to give up some nice pieces of what we have. Good post. Thanks. Nevin
From: marcos@kaleida.com (Paul Marcos) Newsgroups: comp.sys.next.programmer Subject: Re: 3.1 loginwindow screensaver? Date: 1 Sep 1993 15:27:38 GMT Organization: Kaleida Labs, Inc. Distribution: world Message-ID: <262f1aINN38@golden.kaleida.com> References: <1993Aug31.135251.6988@pencom.com> In article <1993Aug31.135251.6988@pencom.com> brian@pencom.com (Brian Hobbs) writes: > > Has anyone deciphered how to make a 3.1 screensaver.bundle for the loginwindow > app? I couldn't find any documentation on it at all... > Yes, I figured it out and posted an example and a README explaining it all on cs.orst.edu. It's still in /pub/next/submissions and is called ScreenSaver.compressed. It's really easy. Have fun. Paul ................................................................... Paul Marcos NeXTMail appreciated Kaleida Labs, Inc. marcos@kaleida.com ...................................................................
Newsgroups: comp.sys.next.programmer From: simsong@next.cambridge.ma.us (Simson L. Garfinkel) Subject: Re: Making Obj-C faster? Message-ID: <1993Sep1.164308.460@next.cambridge.ma.us> Sender: simsong@next.cambridge.ma.us Organization: NeXTWORLD Magazine References: <abellCCnrLr.94x@netcom.com> Date: Wed, 1 Sep 1993 16:43:08 GMT In article <abellCCnrLr.94x@netcom.com> abell@netcom.com (Steven T. Abell) writes: > The phrase "unless your method is trivial and called very frequently" > implies that method calls are rare in typical code. It's true that the > dispatch time for any particular method is hard to measure except in > the specified cases. But typical ObjC code is *full* of method > invocations. Add all those up: I doubt it's going to be epsilonic. > If you use accessors the way the textbooks recommend, it definitely > won't be. > Well, as the co-author of one of those textbooks, I have to conclude that you simply haven't taken the time to actually write the code and try it out. I have. On a 25MHZ NeXTstation you can do a little more than 600,000 accesses per second. Here is a simple program: int function() { static lvar = 3; return lvar; } main() { int i,k; for(i=0;i<10000000;i++){ k = function(); } } And here is it running: next.cambridge.ma.us> time a 10.5u 0.1s 0:14 73% 0+0k 0+0io 0pf+0w And here is the same program coded with method calls instead: #import <appkit/appkit.h> @interface F:Object { } -(int)value; @end @implementation F -(int)value { static lvar = 3; return lvar; } @end main() { id obj = [[F alloc] init]; int i,k; for(i=0;i<10000000;i++){ k = [obj value]; } } And here is the timing: next.cambridge.ma.us> time a 24.8u 0.1s 0:26 92% 0+0k 0+0io 0pf+0w So a method call takes 1.5x longer than a function call. not a big deal, considering you can still do a million of them every 2.4 seconds. Beleive me --- if you multiple a few numbers together, that's going to outweigh the method dispatch. -- ................................................................simson
From: Stephen G. Edwards <edwards@kong.gsfc.nasa.gov> Newsgroups: comp.sys.next.programmer Subject: Edit's Expansion Dictionary Date: 1 Sep 1993 17:21:00 GMT Organization: NASA Goddard Space Flight Center Distribution: world Message-ID: <262lls$dfm@kong.gsfc.nasa.gov> I'm new to NEXTSTEP and have been delving into the NS/FIP developer tools. The "Development Tools and Techniques" doc describes an Edit utility called the Expansion Dictionary, which allows you to define abbreviations for words and phrases that you type frequently. Supposedly the abbreviation will be expanded in your document if you type it and hit the Escape key. All I get when I hit the Escape key is a system beep. I would find this feature extremely useful. Does anyone know how to get it to work? --- Stephen G. Edwards email: edwards@kong.gsfc.nasa.gov Code 522.2 phone: (301) 286-6676 NASA/Goddard Space Flight Center fax: (301) 286-4627 Greenbelt, MD 20771
From: dave_moore@next.com (Dave Moore) Newsgroups: comp.sys.next.programmer Subject: Re: Making Obj-C faster? Date: 1 Sep 1993 15:50:16 GMT Organization: NeXT, Inc. Message-ID: <262gbo$7v4@rosie.next.com> References: <abellCCnrLr.94x@netcom.com> In article <abellCCnrLr.94x@netcom.com> abell@netcom.com (Steven T. Abell) writes: > louie@sayshell.umd.edu (Louis A. Mamakos) writes: > >abell@netcom.com (Steven T. Abell) writes: > >>Mark_Wagner@NeXT.COM (Mark Wagner) writes: > >>>In NeXT's Objective-C, message dispatch is always dynamic. > >> > >>This sucks. > > > >Before making this judgement, why don't you actually TIME how long the > >dynamic message dispatch takes as compared to a normal subrouting > >call? It doesn't take that much longer, and unless your method is > >trivial and called very frequently, you probably won't notice a > >difference. > > The phrase "unless your method is trivial and called very frequently" > implies that method calls are rare in typical code. It's true that the > dispatch time for any particular method is hard to measure except in > the specified cases. But typical ObjC code is *full* of method > invocations. Add all those up: I doubt it's going to be epsilonic. > If you use accessors the way the textbooks recommend, it definitely > won't be. > > If the genealogy of the receiver is known, there's no excuse for > method dispatch requiring more that 3 instructions. > > Steve abell@netcom.com One thing that should be noted is that the cost of messaging is both the time spent doing the messaging and the memory cost of being able to send messages at all. Most implementations of object oriented languages (especially C++) pay a large premium in the amount of memory they use to enable "fast" messaging. Most C++'s flatten the class tree, creating a large table containing info about all the virtual methods of all ancestors of a class at every node. Not only would this be a huge amount of data in the case of apps using the appkit, but it makes things like dynamic loading and categories much more difficult to implement. In every performance experiment we've done we've found that we pay from 5-10% of CPU time in the messenger. We've also found that we are far more memory bound than CPU bound. That's why most of our work has been to make Objective C more memory efficient. We've done things to enable sharing of class data with the shlibs by not writing on them, tuning the caches so that the hit ratio is about 95%, and laying out the class data in the way it is used. One other reason we use a dispatcher is to enable replacement of shlibs after compilation. Most C++'s embed information about super classes in the implementation of subclasses in the way of offsets. This means the compiler knows the layout of a superclasses methods and puts those offsets in the code it generates. This prevents the shlib vender (us for now) from adding or removing methods from a class that is in a shlib. This capability allows us to fix bugs in a shlib, and add capabilities, while remaining backwards compatable with apps that were built on a previous release of the system. For example, faxing was added in 2.0. Apps built for 1.0 were able to take advantage of this feature without being recompiled. Dave Moore NeXT Inc. Software Development Tools
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Substitute PB Makefile.pre/postamble.template files Message-ID: <1993Sep1.155119.1781@afs.com> Sender: Michael_Pizolato@afs.com Date: Wed, 1 Sep 1993 15:51:19 GMT In NS3.1, I would like to tell PB to look in a directory other than /NextDeveloper/Makefiles/app to find the Makefile.pre/postamble.template files that it copies into new project directories, because I have my own versions and I would rather not replace the shipped files. Any suggestions? Thanx, Michael -- Michael Pizolato gnihtyreve noitseuq Michael_Pizolato@afs.com NeXTMail appreciated
Newsgroups: comp.sys.next.programmer From: yanik@planon.qc.ca (Yanik Crepeau) Subject: Multi-threaded Message-ID: <1993Sep1.143506.422@CAM.ORG!planon> Sender: yanik@CAM.ORG!planon Date: Wed, 1 Sep 1993 14:35:06 GMT I have few question about the multi-thread capabilities of NeXTSTEP. I know that Window Server and Appkit are not thread safe. But... List and HashTable classes are not member of AppKit. I try to imagine a way to have many threads in an application and I would like to have your comments about the following strategy. Threads won't communicate directly but will use a List as a buffer. The secondary thread performs some calculation and place the result in an object. Such object is added to a List. In the main thread (where are Appkit and WindowServer calls), I have a method named -takeCare. That method remove the first object from the List, does some work with that object and frees it. -takeCare will use -perform:with:afterDelay:cancelPrevious: to be called again and again. Is that strategy a multi-thread sin? -- Yanik Crepeau Programmer Planon Telexpertise E-Mail: yanik@planon.qc.ca (NeXT)
Newsgroups: comp.sys.next.programmer From: cuilla@black_silk (Chris Cuilla) Subject: DBTableView printing... Message-ID: <1993Sep1.174808.13955@il.us.swissbank.com> Keywords: tableview, dbkit, printing Sender: root@il.us.swissbank.com (Operator) Organization: Swiss Bank Corporation CM&T Division Date: Wed, 1 Sep 1993 17:48:08 GMT What are the details, pitfalls and problems I should be aware of when printing a DBTableView (NEXTSTEP Release 3.0)? Please don't say it can't be done! I'm sure there is some bright soul out there that has figured it out. Thanks! Chris Cuilla
From: sam_s@NeXT.com (Sam Streeper) Newsgroups: comp.sys.next.programmer Subject: Re: Need help printing directly from screen Date: 1 Sep 1993 18:25:40 GMT Organization: NeXT, Inc. Distribution: world Message-ID: <262pf4$886@rosie.next.com> References: <260sce$bn2@vixen.cso.uiuc.edu> erwin@helsinki.ks.uiuc.edu (Edgar Erwin) writes: > I need some help figuring out how to print the bitmap image stored inside a > view subclass. Since I don't define a drawSelf:: method, I don't think I can > use the printPSCodeInside: method to get the printout. If I try this, I will > get a blank sheet for the output. > > I figured out how to implement a copy: method by creating an NXBitmapImageRep > from the image on the screen and pasting this to the pasteboard. However, I > don't know how to do something similar for sending code to the printer. Can > anyone offer suggestions? Though I don't recommend this approach, I will admit to having done it myself. (8^) I did it because if your only source is a low-res bitmap, the printing scheme can't help you get higher resolution, and this solution can help you dance around problems if the original image was constructed with alpha (which doesn't print well...) - drawSelf:(const NXRect *)rects :(int)rectCount { if (NXDrawingStatus != NX_PRINTING) { // do whatever you do to normally display yourself } else { // we're printing, just grab the bits from the window! id goodImage; DPSContext printingContext = DPSGetCurrentContext(); DPSSetContext([NXApp context]); PSgsave(); PSsetgstate([self gState]); goodImage = [[NXBitmapImageRep alloc] initData:NULL fromRect:&bounds]; PSgrestore(); DPSSetContext(printingContext); // reset to the printing context [goodImage draw]; [goodImage free]; } return self; } cheers, -sam -- Opinions expressed herein are not those of my employer. They're not even mine. They're probably wrong besides. How did they get in here, anyway?
Newsgroups: comp.sys.next.programmer,comp.sys.next.hardware From: cracauer@wavehh.hanse.de (Martin Cracauer) Subject: Writing drivers for video cards (486) ? Message-ID: <1993Sep1.173713.302@wavehh.hanse.de> Organization: Hanse Networking e. V., Hamburg, Germany Date: Wed, 1 Sep 93 17:37:13 GMT Does anybody know, if there is enough documentation on the screen server of NeXTStep/486 to write an own server/driver for a special video card? If yes, is there a sample server to base my work on? [The display in question is a 1660/1200 - pixel 2bit grayscale framebuffer, yes I know, that this will be slow] -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Martin Cracauer <cracauer@wavehh.hanse.de>,Voice+4940-5221829,Fax.-5228536 ------ C is a good language - for implementing programming systems -------
Newsgroups: comp.sys.next.programmer From: jgrace@netcom.com (Joseph Grace) Subject: Re: Making Obj-C faster? Message-ID: <jgraceCCoyAA.Mw8@netcom.com> Organization: Netcom - Online Communication Services (408 241-9760 guest) References: <abellCCnrLr.94x@netcom.com> <1993Sep1.164308.460@next.cambridge.ma.us> Date: Wed, 1 Sep 1993 20:01:21 GMT In article <1993Sep1.164308.460@next.cambridge.ma.us> simsong@next.cambridge.ma.us writes: >And here is the timing: >next.cambridge.ma.us> time a >24.8u 0.1s 0:26 92% 0+0k 0+0io 0pf+0w > >So a method call takes 1.5x longer than a function call. not a big deal, The usual phrase is: 2.5x as long >considering you can still do a million of them every 2.4 seconds. 2.5 Also, your example code ignores the effect of a method table which is scattered and must be paged in... That little operation could take quite a while "longer" than a function call. :-) I think Steve Abell has a point, even if NeXT's design decisions are the right ones for ObjC. I personally would like to see ObjC folded into C++ with "dynamic" added as a keyword. If you want categories, as Eric noted, you then take the hit of dynamic method table look-up. You take the same hit if you're vending classes which need to be "purely" OO (i.e., eminently maintainable). But for the common case that the class is for internal consumption only, and speed matters, direct function calls would be nice. Cheers, = Joe =
From: Steven Gemma <sg47+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: Project Builder Date: Wed, 1 Sep 1993 16:28:47 -0400 Organization: Masters student, Information Networking Institute, Carnegie Mellon, Pittsburgh, PA Message-ID: <0gVELzy00WBN47U4FF@andrew.cmu.edu> My group and I are using Project Builder release 3.0 v14.0 to program modules for a project under NS 3.0. There are times when we need to go into each others directories, change a file or two, and then recompile. Project Builder won't let us do this if the files and directories are in another user's name, even if all permissions are set (chmod a+rw). It gives us the following error: fastcp: Can't set time for '/..../Prog.app/English.lproj//Prog.nib' : Operation not supported on socket *** Exit 255 Stop. *** Exit 1 Stop. Is there any solution for this? -Steve
Newsgroups: comp.sys.next.programmer From: joseph@daffy.tip.ameslab.gov (Joseph Reynolds) Subject: Re: Multi-threaded Message-ID: <CCp5ow.3BF@news.iastate.edu> Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA References: <1993Sep1.143506.422@CAM.ORG!planon> Date: Wed, 1 Sep 1993 22:41:20 GMT Hi. In article <1993Sep1.143506.422@CAM.ORG!planon> yanik@planon.qc.ca (Yanik Crepeau) writes: > I have few question about the multi-thread capabilities of NeXTSTEP. > [...] > Threads won't communicate directly but will use a List as a buffer. > [...] > Is that strategy a multi-thread sin? > Yanik Crepeau I almost certain "List" is not thread safe. That means you can allow at most one thread can access the List at a time. (See a good operating system text for a discussion of what could go wrong.) The conventional solution is to "protect" with List with a semaphore. EVERY access must follow this pattern: lock semaphore; access data structure 1 time or more; unlock semaphore; If all your threads follow this convention, your scheme [deleted] above should work. (Semaphores are thread safe.) Joseph
Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer From: darcy@druid.uucp (D'Arcy J.M. Cain) Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Message-ID: <1993Sep1.115142.6734@druid.uucp> Organization: D'Arcy Cain Consulting References: <CC9wnA.EoJ@gator.oau.org> <id.N9321.HRF@nmti.com> <CCHJJE.LGq@gator.oau.org> Date: Wed, 1 Sep 1993 11:51:42 GMT larry@gator.oau.org (Larry D Snyder) writes: >peter@nmti.com (peter da silva) writes: >>Why should Word Perfect care whether some random third party made any money >>from selling the O/S? >Because chances are that if folks run an operating system that is free, >they expect applications to be free as well.. This is something I happened to be thinking about the other day. Let's face it. Anyone can get a free OS of whatever stripe they want. They just steal (copy from a friend) it. If they care about intellectual property rights and happen to be frugal then they choose Linux because they get it for free without stealing. Other than those banging on the source, most Linux users probably know someone who will let them copy their USG, Esix, SCO whatever so one might argue that Linux users are the safer bet. And since they didn't spend anything on the OS they have more money available for applications. Anyway, if I was selling a major package like that I would consider a Linux port and include the OS in the package. :-) -- D'Arcy J.M. Cain (darcy@druid.com) | D'Arcy Cain Consulting | There's no government Toronto, Ontario, Canada | like no government! +1 416 424 2871 DoD#0082 |
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Re: Substitute PB Makefile.pre/postamble.template files Message-ID: <1993Sep1.223621.14293@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software References: <1993Sep1.155119.1781@afs.com> Date: Wed, 1 Sep 1993 22:36:21 GMT Michael Pizolato writes >In NS3.1, I would like to tell PB to look in a directory other than >/NextDeveloper/Makefiles/app to find the Makefile.pre/postamble.template >files that it copies into new project directories, because I have my own >versions and I would rather not replace the shipped files. > >Any suggestions? > Try this (even though it may be more complicated than you were expecting). This should be fairly transparent after you make the changes. 1. Copy PB.app to ~/Apps (you'll modify this and need your own copy) 2. Copy the folder /NextDeveloper/Makefiles/app to some private loaction (say ~/Developer/Makefiles/app). 3. Replace the Pre/Postamble templates in ~/Makefiles/app with your own. 4. Open PB.app as folder and Edit the file "ProjectBuilder.table". Change the "MakefileDir" to be the path of your modified makefile dir. I haven't tries this myself, but I have done similar things which have worked. I hope that PB uses these strings for its own internal use and not just for creating the Makefile. Good luck, Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software
From: gt8134b@prism.gatech.EDU (Howlin' Bob) Newsgroups: comp.unix.pc-clone.32bit,comp.sys.next.software,comp.sys.next.programmer Subject: Re: Deciding Between UNIXWARE And NeXTSTEP? Message-ID: <111209@hydra.gatech.EDU> Date: 1 Sep 93 23:57:07 GMT References: <CC9wnA.EoJ@gator.oau.org> <id.N9321.HRF@nmti.com> <CCHJJE.LGq@gator.oau.org> <1993Sep1.115142.6734@druid.uucp> Sender: news@prism.gatech.EDU Followup-To: comp.unix.pc-clone.32bit darcy@druid.uucp (D'Arcy J.M. Cain) writes: >larry@gator.oau.org (Larry D Snyder) writes: >>peter@nmti.com (peter da silva) writes: >>>Why should Word Perfect care whether some random third party made any money >>>from selling the O/S? >>Because chances are that if folks run an operating system that is free, >>they expect applications to be free as well.. This is a silly statement. The fact that I run Linux does not impair my judgement in any way. What about people who run a costly operating system: can they not comprehend freeware? >just steal (copy from a friend) it. If they care about intellectual >property rights and happen to be frugal then they choose Linux because >they get it for free without stealing. Other than those banging on Exactly. >are the safer bet. And since they didn't spend anything on the OS they >have more money available for applications. True again. >Anyway, if I was selling a major package like that I would consider a >Linux port and include the OS in the package. :-) There's more to it than that: if you need something that's not in the OS, you can add it. You can include a kernel patch (or patched kernel) in your package, and even send the patch to Linus to include in the standard kernel. You don't need to work around kernel bugs, you can fix them (and don't tell me that the USL-derived Unixes don't have bugs). And, as you said, you don't need to tell someone they need to buy a $1000+ OS just to run your program, you can give one to them. -- Robert Sanders Georgia Institute of Technology, Atlanta Georgia, 30332 uucp: ...!{decvax,hplabs,ncar,purdue,rutgers}!gatech!prism!gt8134b Internet: gt8134b@prism.gatech.edu
Newsgroups: comp.sys.next.programmer From: anderson (Ken Anderson) Subject: Re: multiple active objects- how? Message-ID: <1993Sep1.140818.15542@biztech.com> Sender: news@biztech.com Organization: Biztech, Inc. References: <CCMyLL.Ior@mailer.cc.fsu.edu> Date: Wed, 1 Sep 1993 14:08:18 GMT In article <CCMyLL.Ior@mailer.cc.fsu.edu> root@next1de.scri.fsu.edu (Operator) writes: > >I'd like to make a NS app which can do *interactive* calculations, >that is, I want to be able to change the parameters (with sliders and >such) while the calculation is simultaniously being performed and data >from it is being displayed. > >Is there some kind of 'active' option that an object can set that will >cause control to be regularly passed back to it, or am I forced to get >into a multi-process and associated process communication >situation/nightmare? > >- Steve >(Please respond by email) Steve, Well, you have two possible options here. How much state does your calculation require? My personal recommendation would be to have a timer constantly kicking off your calculation, so that regular screen events can get through. This is the easiest way of 'threading' your application. If you look up DPSTimedEntry, you'll find information regarding the recurring execution of a function. Also, you could look up perform:with:afterDelay:cancelPrevious:, which is an object category (I think) that allows you to 'launch' a method in an object after a specified number of milliseconds. Both methods should allow your program to seemingly handle input and calculation simultaneously. As a little background, the primary thread (usually there's only one) of your application handles events through the event loop in the Application object. This object also allows the timed entries and performs to take place. If you kept a piece of code constantly running, there would be no way for the program to ever receive events (including quitting!). Good luck! Ken Anderson anderson@biztech.com Stamford, CT
Newsgroups: comp.sys.next.programmer From: abell@netcom.com (Steven T. Abell) Subject: Re: Making Obj-C faster? Message-ID: <abellCCptGt.15K@netcom.com> Organization: Netcom Online Communications Services (408-241-9760 login: guest) References: <abellCCnrLr.94x@netcom.com> <1993Sep1.164308.460@next.cambridge.ma.us> Date: Thu, 2 Sep 1993 07:14:53 GMT msong@next.cambridge.ma.us (Simson L. Garfinkel) writes: >abell@netcom.com (Steven T. Abell) writes: >> The phrase "unless your method is trivial and called very frequently" >> implies that method calls are rare in typical code. It's true that the >> dispatch time for any particular method is hard to measure except in >> the specified cases. But typical ObjC code is *full* of method >> invocations. Add all those up: I doubt it's going to be epsilonic. >> If you use accessors the way the textbooks recommend, it definitely >> won't be. > >Well, as the co-author of one of those textbooks, I have to conclude that you >simply haven't taken the time to actually write the code and try it out. I >have. Simson then presents some small programs intended to measure this. Here are the timings for his test program using function calls: >10.5u 0.1s 0:14 73% 0+0k 0+0io 0pf+0w and for his test program using message dispatch through objc_msgSend(): >24.8u 0.1s 0:26 92% 0+0k 0+0io 0pf+0w and he concludes: >So a method call takes 1.5x longer than a function call. But his programs don't measure this phenomenon very accurately. I used three programs: 1) tk assigns a register constant to a non-register variable in a tight loop. /steve> time tk 3.3u 0.1s 0:04 81% 0+0k 0+0io 0pf+0w 2) tf assigns a function value to a non-register variable in a tight loop. /steve> time tf 10.2u 0.1s 0:12 83% 0+0k 0+0io 0pf+0w 3) tm assigns a method value to a non-register variable in a tight loop. /steve> time tm 19.1u 0.1s 0:23 83% 0+0k 0+0io 0pf+0w The assembly code for these programs was compared using otool to ensure that the inner loop instructions were of the same number and type for similar functionality across the three programs. tk is used to find out how much of tf and tm is actually assignment and loop overhead. The result: objc_msgSend() is about 2.28 times slower than a function call. The table jump technique runs about 1.3. He then suggests: >if you multiply a few numbers together, >that's going to outweigh the method dispatch. /steve> time tmmult // Same as tm, but does non-trivial multiply also 25.5u 0.2s 0:31 80% 0+0k 0+0io 0pf+0w Once again, given the density of method calls in ObjC code, we're losing a non-ignorable amount of time in objc_msgSend(). Don't get me wrong: I like the flexibility it gives, and I'm impressed that it does as well as it does. But there are times when I don't need that extra level of flexibility, and I'd rather have the speed. If I, as a programmer, make the wrong call, well, that's my problem. I want the choice. Steve abell@netcom.com
Newsgroups: biz.univel.misc,comp.unix.sys5.r4,comp.unix.misc,comp.sys.next.programmer From: uunet!molly!vlcek (Jim Vlcek) Subject: Re: Turning Windows apps into X clients: Which approach is best? Message-ID: <CCpour.3x9@molly.uucp> Sender: vlcek@molly.uucp (James Vlcek) Organization: The Black Box of Lowertown References: <CCKwDp.CFr@telly.on.ca> Date: Thu, 2 Sep 1993 05:35:15 GMT In article <CCKwDp.CFr@telly.on.ca> evan@telly.on.ca (Evan Leibovitch) writes: > The idea of converting Windows aplications into X/Windows clients is > fascinating, and there appears to be a general move in this direction > as smaller Unix systems move kicking and screaming into GUI-based > computing. > > As far as I know, there are three products which claim to do this: > - Server Merge by Locus > - Desqview/X by Quarterdeck > - Wabi by SunSelect There is also SoftPC from Insignia Solutions. They are a licensee of the Windows source code, and produce a DOS emulator used on a variety of UNIX boxes. Their technology has also been used by Microsoft to help support 16-bit DOS and Windows on NT. There is a lot of discussion of SoftPC in the NeXT groups lately, as this is the technology of choice for Windows integration into NeXTStep. Another approach is Wind/U, a toolkit from Bristol Technology that purports to allow recompilation of Windows sources for UNIX platforms. As such, this is a compile-time option rather than a runtime binary device, but it offers a promise of native-mode apps on the UNIX side. I'll close this post with some material on Wind/U clipped from a recent SunFLASH on world.std.com: ----begin quoted material---- Subject: Wind/U 1.3 - Microsoft Windows and Visual C++ Applications On UNIX Contact: Jean Blackwell Org: Bristol Technology Phone: (203) 438-6969 Email: jean@bristol.com BRISTOL TECHNOLOGY ANNOUNCES WIND/U 1.3 - MICROSOFT WINDOWS AND VISUAL C++ APPLICATIONS ON UNIX - New Version of Wind/U Toolkit Allows Developers to Port By Simply Recompiling Microsoft Windows or Visual C++ Applications to Run As Native UNIX/Motif Programs - - Key New Features Include Microsoft Foundation Class Library 2.0 Support, Integration of Bristol's Newest Xprinter Library, and other Enhancements - Ridgefield, Conn - August 16, 1993 - Bristol Technology Inc. (Bristol) today announced Wind/U(TM) 1.3, a new release of the company's Windows to UNIX(R) portability toolkit with support for Microsoft* Visual C++ applications through the Microsoft Foundation Class (MFC) Library version 2.0. Wind/U 1.3 enables Microsoft Windows and Visual C++ applications to run as native UNIX/Motif(R) applications. Wind/U 1.3 is available on Sun SPARC(R), HP700, and RS/6000 workstations, as well as SVR4 on Intel platforms. The price for Wind/U 1.3 remains $9,950. Like the Microsoft Windows API, Microsoft Visual C++ is quickly becoming the standard object oriented application framework, and the fastest method for creating Windows applications. Visual C++ generates the underlying MFC code that runs on Windows and Windows NT. Wind/U 1.3 now makes it possible for that same MFC code to run on UNIX/Motif, which makes development for UNIX just as fast and easy as development for Windows and Windows NT. A Vision For The Future "We see the industry stampeding towards Visual C++ and the Foundation Class Library," said Keith Blackwell, president of Bristol Technology Inc. "Bristol is creating a path for the billions invested in Windows software development and training to be leveraged onto UNIX. Visual C++ and MFC are the future for programming on Windows and UNIX."
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: 3.1 loginwindow screensaver? Message-ID: <1993Sep2.113326.27195@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Aug31.135251.6988@pencom.com> Date: Thu, 2 Sep 1993 11:33:26 GMT In article <1993Aug31.135251.6988@pencom.com> <1993Aug31.135251.6988@pencom.com> writes: >Has anyone deciphered how to make a 3.1 screensaver.bundle for the loginwindow >app? I couldn't find any documentation on it at all... Then you'll have to settle for the UNdocumentation. :-) [As usual, I make no promises as to the accuracy of this information. Especially not at 4:30 a.m.] -=EPS=- ------- #import <ansi/math.h> #import <objc/List.h> #import <objc/NXBundle.h> #import <appkit/Application.h> #import <appkit/Font.h> #import <appkit/NXImage.h> #import <appkit/TextFieldCell.h> #import <appkit/View.h> #import <dpsclient/psops.h> @interface ImageView:View { id image; id hostname; NXRect textFrame; NXRect imageFrame; List *screenWindows; } - drawSelf:(const NXRect *)rects:(int)rectCount; - moveImage; - moveText; - oneStep; - initFrame:(const NXRect *)frameRect; - init; - stopScreenSaver; - startScreenSaver; - (double)interval; @end @interface ScreenSaver:Object { id view; id saver; ImageView *imageSaver; id selector; float timeout; id pie; id timeout_field; DPSTimedEntry te; } + alloc; - startScreenSaver; - stopScreenSaver; - createScreenSaver; - step; @end float frandom(void) { return (random()&0x7fffffff)/(float)2147483648.0; } float randBetween(float low, float high) { if (low>high) { register float temp; temp=low; low=high; high=temp; } high-=low; high*=frandom(); return low+high; } @implementation ImageView - drawSelf:(const NXRect *)rects:(int)rectCount { PSsetgray(NX_BLACK); NXRectFill(rects); [image composite:NX_SOVER toPoint:&imageFrame.origin]; [hostname drawInside:&textFrame inView:self]; return self; } - moveImage { imageFrame.origin.x=(float)floor((double)randBetween(0.0, bounds.size.width-imageFrame.size.width)); imageFrame.origin.y=(float)floor((double)randBetween(0.0, bounds.size.height-imageFrame.size.height)); return self; } - moveText { register int i, j, k, l; i=0; do { textFrame.origin.x=floor((double)randBetween(0.0, bounds.size.width-textFrame.size.width)); textFrame.origin.y=floor((double)randBetween(0.0, bounds.size.height-textFrame.size.height)); if (!NXIntersectsRect(&textFrame, &imageFrame)) break; } while (++i<50); if (i>49) { register double w; if (imageFrame.size.width/2+imageFrame.origin.x< bounds.size.width/2) { k=imageFrame.origin.x+imageFrame.size.width; w=bounds.size.width; } else { k=0; w=imageFrame.origin.x; } l=w; if (imageFrame.size.height/2+imageFrame.origin.y< bounds.size.height/2) { i=imageFrame.origin.y+imageFrame.size.height; w=bounds.size.height; } else { i=0; w=imageFrame.origin.y; } j=w; if (textFrame.size.width<l-k&&textFrame.size.height<j-i) { textFrame.origin.x=k; textFrame.origin.y=i; } } return self; } - oneStep { [self moveImage]; [self moveText]; [self display]; return self; } - initFrame:(const NXRect *)frameRect { extern char *lwHostName(char *); register char *h; id b; char hn[256]; char hn2[512]; char path[1026]; [super initFrame:frameRect]; (void)sprintf(path, "%s/%s", [[NXBundle mainBundle] directory], "ScreenSaver.bundle"); b=[[NXBundle alloc] initForDirectory:path]; [b getPath:path forResource:"image.tiff" ofType:(const char *)NULL]; image=[[NXImage alloc] initFromFile:path]; [image getSize:&imageFrame.size]; if (h=lwHostName(hn)) { register int i; for (i=0;i<strlen(h);i++) { hn2[i*2]=h[i]; hn2[i*2+1]=' '; } hn2[strlen(h)*2]='\0'; hostname=[[TextFieldCell alloc] initTextCell:hn2]; [hostname setEditable:NO]; [hostname setTextGray:0.333]; [hostname setBackgroundGray:NX_BLACK]; [hostname setFont:[Font newFont:"Times-Italic" size:36.0]]; [hostname calcCellSize:&textFrame.size]; } [self oneStep]; return self; } - init { extern void makeWindowBlack(int); register id w; NXRect fr; const NXScreen *scrns; int nscrns; if (!screenWindows) { register int i; [NXApp getScreens:&scrns count:&nscrns]; screenWindows=[[List alloc] initCount:nscrns]; for (i=0;i<nscrns;i++) { w=[[Window alloc] initContent:&scrns[i].screenBounds style:NX_PLAINSTYLE backing:NX_NONRETAINED buttonMask:0 defer:NO]; [screenWindows addObject:w]; [w setBackgroundGray:NX_BLACK]; [w addToEventMask:NX_MOUSEMOVEDMASK]; PSsetwindowlevel(50, [w windowNum]); makeWindowBlack([w windowNum]); } w=[screenWindows objectAt:0]; [w getFrame:&fr]; w=[w contentView]; [w getBounds:&fr]; [self initFrame:&fr]; srandom(time((long *)NULL)); [w addSubview:self]; } return self; } - stopScreenSaver { [screenWindows makeObjectsPerform:@selector(orderOut:) with:self]; return self; } - startScreenSaver { [screenWindows makeObjectsPerform:@selector(orderFront:) with:self]; [screenWindows makeObjectsPerform:@selector(display)]; return self; } - (double)interval { return 120.0; } @end void step(DPSTimedEntry te, double now, void *userData) { [(ScreenSaver *)userData step]; } @implementation ScreenSaver + alloc { static ScreenSaver *inst; if (inst) return inst; self=[super alloc]; inst=self; imageSaver=[[ImageView alloc] init]; return self; } - startScreenSaver { PShidecursor(); [self createScreenSaver]; if ([saver respondsTo:@selector(startScreenSaver)]) [saver startScreenSaver]; te=DPSAddTimedEntry([saver interval], step, (void *)self, NX_MODALRESPTHRESHOLD); return self; } - stopScreenSaver { PSshowcursor(); DPSRemoveTimedEntry(te); if ([saver respondsTo:@selector(stopScreenSaver)]) [saver stopScreenSaver]; return self; } - createScreenSaver { saver=(id)imageSaver; return self; } - step { [saver lockFocus]; [saver oneStep]; [saver unlockFocus]; return self; } @end
Newsgroups: comp.sys.next.programmer From: sfch@dmu.ac.uk (Simon F C Harwood) Subject: Problem creating shared library Message-ID: <1993Sep2.125121.23513@dmu.ac.uk> Organization: De Montfort University, Leicester, UK. Date: Thu, 2 Sep 1993 12:51:21 GMT This is probably a FAQ but I have a problem creating a shared library. I have a directory containing a number of .o files which I currently put in a library using ar (which works fine). I would however like to put them in a shared library. I have tried the command line : ld -fvmlib -r -o libtest.shlib *.o and all I get back is the error : ld: no LC_IDFVMLIB command in the linked object files Does anyone know what I am doing wrong. The documentation implies that the necessary parts of the header will be created by the link editor. Is this correct, or do I need to add something to either my command line or one of my source files? Simon.. PS. My operating system is NeXTStep 2.1 Extended. -- -- It meant that Crowley had been allowed to develop Manchester, while Aziraphale had a free hand in the whole of Shropshire. Crowley took Glasgow, Aziraphale had Edinburgh. (neither claimed any responsibility for Milton
Newsgroups: comp.sys.next.programmer From: arrouye@cosmos.imag.fr (Yves Arrouye) Subject: Pb with responder chain? Message-ID: <ARROUYE.93Sep2143847@mistral.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Thu, 2 Sep 1993 13:38:47 GMT I repost this question because it seems not to have been posted by our system: I have two responders problems that I don't understand: 1. I have an application with a preference panel which is used to let the user choose a font. The panel contains a view which displays two text fields (one for the font family name, and another one for its point size) and a button which is used to display the font panel. I used the following action for the button in order to be able to reflect font setting (my view answers to changeFont:) - setFont:sender { [window makeFirstResponder:self]; [fontManager orderFrontFontPanel:self]; return self; } This worked fine for a moment, until I added another editable text field to let the user set something. Now, it works until the user types in the text field, and then it does not work anymore. I suspect that the responder chain changed, but I don't know how, nor do I know how to program the intended behaviour for my panel. Does the text field trap the changeFont: message? Or does it pass it to a next responder which is not my view? 2. (Second problem) I have another panel with only switches and color wells, and a Set button which a return sign. How can I make the set button trigger when the user types return? MANY thanks for any helkp, Yves -- With one processor, we verify that the time spent Yves Arrouye in controlling parallelism is not too long. arrouye@petole.imag.fr (33) 76 57 48 61 -- Yannick Tre'molet, LMC NeXT Mail
Newsgroups: comp.sys.next.programmer From: arrouye@cosmos.imag.fr (Yves Arrouye) Subject: Two apps sharing same code with Project Builder? Message-ID: <ARROUYE.93Sep2144231@mistral.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Thu, 2 Sep 1993 13:42:31 GMT I have an application built with ProjectBuilder, and I would like in fact to build two apps in the same directory, the apps sharing some source files. How can I do that? I would like to know, too, how I can put both sources and code in the XXX.app directory. Thanks, Yves -- With one processor, we verify that the time spent Yves Arrouye in controlling parallelism is not too long. arrouye@petole.imag.fr (33) 76 57 48 61 -- Yannick Tre'molet, LMC NeXT Mail
Newsgroups: comp.sys.next.programmer From: simsong@next.cambridge.ma.us (Simson L. Garfinkel) Subject: Re: check if object was deallocated, possible? Message-ID: <1993Sep2.133006.1872@next.cambridge.ma.us> Sender: simsong@next.cambridge.ma.us Organization: NeXTWORLD Magazine References: <CPESCH.93Sep1150713@markov.fmi.uni-passau.de> Date: Thu, 2 Sep 1993 13:30:06 GMT In article <CPESCH.93Sep1150713@markov.fmi.uni-passau.de> cpesch@markov.fmi.uni-passau.de (Christoph Pesch) writes: > Hello! > > I hope someone can help me with the following Objective-C problem: > > Is there a way to check if an object is deallocated (without causing > errors)? I.e. if I have a pointer to an object (id) and this object > receives a free-message (from somewhere else) then I have a pointer > that isn't nil but doesn't point to an object. In this situation it is > usually a bad idea to send messages to the "nonexisting object". ;-) > So I would like to check if the id points to a well allocated object > before sending messages to it. I think that you should restructure your problem so that this isn't necessary. Normally, the isa pointer will be set to nil (I think) when an object is freed, buti f the object is freed, then the memory space can be used by another ojbect, so it's really not reliable to look at a pointer and try to figure out if it is good or not. -- ................................................................simson
From: larry@spike.rprc.washington.edu (Larry Shupe) Newsgroups: comp.sys.next.programmer Subject: Re: Making Obj-C faster? Date: 2 Sep 1993 15:14:30 GMT Organization: University of Washington Message-ID: <2652km$55e@news.u.washington.edu> References: <abellCCptGt.15K@netcom.com> In article <abellCCptGt.15K@netcom.com> abell@netcom.com (Steven T. Abell) writes: [Time comparisons between method calls and function calls deleted] > Don't get me wrong: I like the flexibility it gives, > and I'm impressed that it does as well as it does. > But there are times when I don't need that extra level of flexibility, > and I'd rather have the speed. If I, as a programmer, make the wrong call, > well, that's my problem. I want the choice. > > Steve abell@netcom.com I though that you could take the address of a method at run time, and then make a function call to that address. Am I mistaken? -- Larry
From: bakker@cyclon.aoml.erl.gov (Cary Bakker) Newsgroups: comp.sys.next.programmer Subject: I need help with a PS error. Date: 2 Sep 1993 15:51:23 GMT Organization: U.S. Department of Commerce, NOAA/AOML Message-ID: <2654pr$g5d@wave.aoml.erl.gov> Hi everyone, I've taken over the development of a project on a NeXT computer system. The program uses postscript to draw a map, and allows the user to zoom in on the view. Tha Problem: On one machine (an Intel running NeXT), the zoom works fine. On another (a NeXT Computer) , the zoom crashes after three zooms, and spews out the following error: DPS client library error: PostScript program error, DPSContext 1f6788 %%[ Error: undefinedresult; OffendingCommand: bin obj seq, type=128, elements=3, size=28 ]%% An uncaught exception was raised DPS client library error: PostScript program error, DPSContext 1f6788 %%[ Error: undefinedresult; OffendingCommand: bin obj seq, type=128, elements=19, size=169 ]%% I am new to all of this stuff, could someone give me some advice as to what these errors might mean? I read a little about PS errors but didn't find out much about these..... Thanks, Cary A. Bakker NeXT mail OK.
Newsgroups: comp.sys.next.programmer From: Greg_Anderson@afs.com (Gregory H. Anderson) Subject: comp.sys.next.programmer Frequently Asked Questions (FAQ) Message-ID: <1993Sep2.150649.25896@afs.com> Followup-To: comp.sys.next.programmer Summary: A list of Frequently Asked Questions and Answers for NEXTSTEP programmers. Incorporates the current index for CSNPanswers, collected lore of the NEXTSTEP programming gods. Sender: greg@afs.com Date: Thu, 2 Sep 1993 15:06:49 GMT Archive-name: NEXTSTEP-Programming-FAQ Last-modified: 1993/09/02 Version: 1.0 Many FAQs, including this one, are available via FTP on the archive site rtfm.mit.edu in the directory pub/usenet/news.answers. The name under which this FAQ is archived appears in the Archive-name line above. Submissions, corrections, comments, input, etc., should be directed to Gregory H. Anderson <Greg_Anderson@afs.com>. ========================================================================= TABLE OF CONTENTS 1 INTRODUCTION 1.1 Welcome to comp.sys.next.programmer! 1.2 Format of this document 2 RESOURCES 2.1 Books 2.2 NeXTAnswers 2.3 Internet Archives 2.4 ObjectWare Catalog 2.5 Other Newsgroups and Mailing Lists 3 PORTING 3.1 How difficult is it to port an existing application to NEXTSTEP? 3.2 What languages are available? 3.3 Where is <foo.h> ? 3.4 Where is bar(int mumble) ? 3.5 How difficult is it to port a NEXTSTEP application to other operating systems? 4 TOP 10 FREQUENTLY ASKED QUESTIONS To Be Defined in October 1993 5 CSNPanswers INDEX ========================================================================= 1 INTRODUCTION 1.1 Welcome to comp.sys.next.programmer! ---------------------------------------- This is an unmoderated forum where NEXTSTEP programmers can ask their compatriots for advice and assistance on Objective-C programming, AppKit and other NEXTSTEP kits, user interface guidelines, application development strategies, programming tools, porting to and from other operating systems, and sticky code snippets. Many of the finest NEXTSTEP programmers in the world read this group daily and offer invaluable assistance free of charge. To conserve bandwidth, scan the FAQ first when you have a problem. Otherwise ask all the questions you like and don't be shy about offering advice on how things can be improved. In the spirit of USENET, please return the favor to others once you gain facility with the platform. Contributions are encouraged, and attributions will remain attached to all information added to the FAQ. 1.2 Format of this document --------------------------- comp.sys.next.programmer is a very busy place, and many of the articles provide practical tips and source code to solve specific problems. To keep the FAQ at a manageable size without losing useful content, it has been broken into two sections: The main FAQ (this article) -- Contains embedded information about resources and commonly asked questions, with pointers to other sources for extended discussions of specific issues. CSNPanswers -- The collected lore of the NEXTSTEP programming gods is maintained in an email-accessible database at Anderson Financial Systems and an ftp-able package at several Internet archive sites. The index and instructions for accessing CSNPanswers are included at the bottom of this article. ========================================================================= 2 RESOURCES 2.1 Books --------- There are several well-regarded books on the topics of NEXTSTEP programming, Display PostScript programming, Objective-C programming in general, and object oriented design and analysis. The following abbreviated list contains the book generally acknowledged as the best in each category. Send email to CSNPanswers@afs.com with the subject "resources/books" for a full list of publishers and capsule reviews. Introduction to NEXTSTEP Programming Title: NeXTSTEP Programming Step ONE: Object-Oriented Applications Authors: Simson L. Garfinkel, Michael K. Mahoney Publisher: TELOS/Springer-Verlag, 1993 (800)SPR-INGE ISBN#: 0-387-97884-4 Abstract: A superior tutorial for beginning NEXTSTEP programmers. Crisp writing, clean organization, excellent examples. Includes diskette with source code. Display PostScript Title: Programming the Display PostScript System with NEXTSTEP Author: Adobe Systems Inc. Publisher: Addison-Wesley, 1992 ISBN#: 0-201-58135-3 Abstract: The infamous, unbeatable "Purple Book." No NEXTSTEP library is complete without it. Objective-C Title: Object Oriented Programming: An Evolutionary Approach Author: Brad J. Cox (, Andrew J. Novobilski second edition) Publisher: Addison-Wesley, 1991 ISBN#: 0-201-54834-8 Abstract: Brad Cox is the "father" of Objective-C, and this was the seminal work on the subject. In addition, the first five chapters provide an excellent introduction to object concepts, irrespective of language implementation. Object Oriented Analysis & Design Title: Object-Oriented Design With Applications Author: Grady Booch Publisher: Benjamin/Cummings, 1991 ISBN#: 0-805-30091-0 Abstract: A classic. Covers design notation and methodology. 2.2 NeXTAnswers --------------- NeXT Inc. maintains this public list of known bug workarounds and helpful examples for frequently asked questions. Articles are available through anonymous ftp from ftp.next.com (129.18.1.3). Read the help file pub/NeXTanswers/README for the latest contents. There is no package with the entire database, but you can use MGET to pull the whole directory. This location also provides MiniExamples and patches. For email access, send mail to nextanswers@next.com with "index" as the subject. An automated system will mail back a list of all current topics and instructions on how to retrieve them individually. 2.3 Internet Archives --------------------- Public domain materials and demo packages are available through anonymous ftp at several archive sites, including sonata.cc.purdue.edu and cs.orst.edu. There you will find John Glover's UHOOP tutorial and another package called IBTutorial, as well as numerous public domain classes and palettes. See the general FAQ in comp.sys.next.announce for a complete list, including international sites. 2.4 ObjectWare Catalog ---------------------- One of the greatest advantages of object oriented programming is the ability to leverage other programmers' work. NeXT publishes an annual catalog with shipping third party objects. Before undertaking new work, especially in base classes, scan the ObjectWare catalog to see if it already exists. Plus, we really need the money. 8^) 2.5 Other Newsgroups and Mailing Lists -------------------------------------- Many other USENET newsgroups provide forums for topics of interest to NEXTSTEP programmers, and NeXT forums exist on other online services such as CompuServe. There are also several unmoderated mailing lists. Other USENET Newsgroups comp.sys.next.advocacy Flamewars, arguments about whether NeXT will survive until your product ships comp.sys.next.software Help with shrink-wrapped applications comp.sys.next.hardware Black hardware problems and white hardware configuration comp.sys.next.sysadmin System and network administration comp.object Object oriented analysis and design; OO tools and platforms; extensive FAQ comp.databases.object Object oriented databases comp.lang.objective-c Objective-C for all platforms comp.lang.c NOT object oriented comp.lang.c++ For the truly desperate 8^) comp.lang.postscript PostScript and Display PostScript comp.os.mach The Mach kernel underlying NEXTSTEP comp.soft-sys.nextstep Less traffic than comp.sys.next.* gnu.gcc.* and gnu.gdb.* Help with the compiler and debugger gnu.emacs.* When you don't want anything better 8^) Other On-Line Services CompuServe - GO NEXT Mailing Lists To subscribe to any of the following groups, send email to <list>-request@<listserver> with the Subject "subscribe". For example, to subscribe to next-prog, send email to next-prog-request@cpac.washington.edu. List Purpose Listserver ------------- ----------------------------- ------------------- next-prog Much of the same material as cpac.washington.edu comp.sys.next.programmer next-l NeXT in general antigone.com next-icon Fun pix, mail/dir tiffs gun.com ixkit IndexingKit issues digifix.com rman Renderman and 3DKit issues aero.org gnu-objc FSF implementation of Obj-C/ prep.ai.mit.edu other tools under development info-cvs CVS interface to RCS, popular prep.ai.mit.edu group project source control ========================================================================= 3 PORTING 3.1 How difficult is it to port an existing application to NEXTSTEP? -------------------------------------------------------------------- As with any move to a new operating system, porting effort depends on whether the program was designed with portability in mind. It also helps if the existing application was implemented in an operating system with an event-driven graphical user interface, because that is the interaction paradigm NeXT users expect. For such programs, you will probably find that the AppKit's maintenance of the event loop removes a significant burden from your existing code. If your core code is written in C or C++, you should have very few problems recompiling. Depending on the source operating system and the age of the code, you might need to use the -bsd, -traditional, and/or -ansi command line flags to compile without complaint. The rest of the effort depends on how well your user interface is segregated from your core implementation. It's usually quick and easy to rebuild the visual portion in InterfaceBuilder (the NEXTSTEP user interface tool). For database access, DBKit provides adapters for all major SQL-driven client/server database engines. DBKit has its own style, but if your program already knows how to generate SQL text, there's a simple method (evaluateString:) to pass it right through. If the source environment is X-Windows, you should be able to recompile without modification under one of several X implementations that has been ported to NEXTSTEP. For commercial applications, consider this a stopgap measure to get up and running, not a final solution. Prior experience in the NEXTSTEP community has shown that users shy away from non-native applications unless a native port is under construction. If the source OS was not event oriented (such as MSDOS), your task will be harder. Since NEXTSTEP users expect to have control of when and why things happen, your code will probably need to be reorganized to remove assumptions about what will always happen in a particular order. In this case, rethink the problem and start from scratch. 3.2 What languages are available? --------------------------------- The favored language for NEXTSTEP programming is Objective-C, a minimal extension of ANSI standard C with a dynamic messaging syntax and runtime system. The native compiler delivered with the Developer package is derived from the Free Software Foundation 'gcc' compiler. It will digest ANSI C, Objective-C, and C++ source code. Objects to be manipulated by InterfaceBuilder MUST have their inter-object messaging methods implemented in Objective-C. Internal implementation can be in other languages, if desired. Other available languages include: Ada, APL/J, BASIC, C++, CraftMan, Eiffel & Sather, Forth, FORTRAN, FP, gawk, ICON, Intercal, Lisps (ACL, AKCL, Elk, Scheme, Xlisp), Logo, ML(CAML, SML), Pascal, PCN, Perl, Prolog, and TCL. For Unix shell programmers: ksh, bash, zsh, rc are available. Send email to CSNPanswers@afs.com with the subject "resources/languages" for a list of publishers and capsule reviews. 3.3 Where is <foo.h> ? ---------------------- NEXTSTEP's genealogy can be traced down the BSD branch of the Unix tree, so /usr/include is a mixture of BSD and ANSI headers. Programs written for SystemV and its variants may contain references to header files that do not exist in the Berkeley Standard Distribution. Known problems include <unistd.h>, <termio.h>, and <termios.h>. <dirent.h> and <dir.h> may also cause confusion because most configures just check to see if these files exist. Both exist under NeXTSTEP, but NEXTSTEP uses the BSD version, dir.h. In general, the best strategy is to remove the offending header reference and recompile. Often header files are included through force of habit, not absolute need for the symbols they define. If the missing header file leads to undefined symbols in the compiler, research the reference. It may be that the undefined reference goes along with a library function that is not provided in NEXTSTEP (see next section). Otherwise, look up the problematic symbol on the source OS, and define it in your own header file of the same name. 3.4 Where is bar(int mumble)? ----------------------------- Just as some header files are missing, so are some standard functions from other Unix variants. Known culprits are putenv(), mmap(), strdup(), and System V shared memory calls. mmap() is available in the Mach kernel, but it's not documented in any header file. Source code for all missing functions (including an alternate implementation of mmap) is available; see the CSNPanswers index for further information. 3.5 How difficult is it to port a NEXTSTEP application to other operating systems? --------------------------------------------------------------- As with importing, exporting effort depends on whether the program was designed with portability in mind. (You *do* have your NeXT user interface segregated from your core implementation, don't you?) You will probably want to stick with 32-bit event-driven GUIs. Objective-C compilers are available for Solaris and other flavors of Unix (gcc) and Windows (Berkeley Productivity Group's Objective-C Extensions for the Borland C++ compiler). A somewhat crippled compiler is also available for the PenPoint mobile operating system (Novotech). It is recommended that you use native tools for building user interface objects and database access, then layer those pieces against your core Objective-C code. On Windows, for example, you might use Visual C++ to build the UI and Access to connect to the database. This solution is not optimal, but it is the best strategy currently available. ========================================================================= 4 TOP 10 FREQUENTLY ASKED QUESTIONS CSNPanswers is the definitive source of NEXTSTEP programming wisdom, but some questions occur so frequently that they are included here to save you the trouble of looking them up. This section will be defined in the October release of the FAQ, based on the frequency of questions encountered while building the CSNPanswers database. In the meantime, sit tight. ========================================================================= 5 CSNPanswers INDEX Anderson Financial Systems maintains this collection of the "best of c.s.n.programmer" as an extension of the FAQ. Beginning October 1, 1993, this information will be available through anonymous ftp on cs.orst.edu as CSNPanswers.tar.Z, and will be updated monthly. For email access beginning September 1, 1993, send mail to CSNPanswers@afs.com with the indicated keyword as the subject. Since AFS has a dialup connection to the Internet, please do not abuse this service by asking for more than you need at one time. Violators will be cored and dumped. All useful articles posted to the group will be added to the database. If you answer a question privately through email, please consider sending a cc: to CSNPsubmit@afs.com so that all may benefit from your expertise in the future. All articles added to the CSNPanswers database will retain their original attribution, unless anonymity is requested. The following articles are available as of September 1, 1993, and more are being added daily. By the end of September, this list should be about 10 times longer, as archived material is formatted and added to the database. Submissions of useful older articles are welcomed, but please wait until after the October release, to avoid duplication and excess work for me. Special thanks go out to Alex Blakemore (alex@cs.umd.edu) and Tim Bissell (tim@ursidae.demon.co.uk) for contributing their personal c.s.n.programmer archives to the creation of this database. Keyword Description --------------------- ------------------------------------------------- appkit/DrawWithText Using a Text object to draw random strings appkit/FormEditing Telling a Form how to select the next text cell appkit/NXBrowserBasics Building a single-column browser appkit/NXBrowserTags Setting tags in NXBrowserCells appkit/OpenPanelBasics Getting selected file(s) from an OpenPanel appkit/paginateText Text object pagination methods appkit/stringRules Rules for how objects copy strings and frameRects appkit/WindowCapture Capturing a Window image dbkit/DBTableView Using a DBTableView without the rest of DBKit dbkit/storedproc Using Sybase stored procedures misc/disklabels Encapsulated PS for making Avery 5196 labels objc/corefiles Enabling core files when a program dumps objc/ptrtofunc Specifying functions pointer in method definitions postscript/focusing Optimal use of lockFocus/unlockFocus/flushWindow postscript/printBitmap Print bitmap image stored in a View subclass postscript/setmouse Set the mouse location programmatically resources/languages An annotated summary of programming languages sources/dertf.l A lex grammar for stripping rtf to ascii sources/EditListener Access Edit.app from other programs (3.0 & higher) sources/eps2tiff.m Converts .ps and .eps files to tiff format sources/putenv.c putenv(), setenv(), unsetenv(), getenv() sources/rtfascii.c rtf-to-ascii filter tools/fatflags Command-line compile multi-architecture (fat) app tools/IBcategories Parsing categories into InterfaceBuilder tools/IBTestMode Determining when you are running in IB test mode tools/nibConnections Dropped connections after loadNibFile: tools/palette2to3 Converting a 2.1 palette to a 3.x palette tools/paletteLibrary Making a library from the code on a palette unix/getetherid Get Ethernet ID for host =========================================================================
Newsgroups: comp.sys.next.programmer From: fermat@fermat.dartmouth.edu (Michael Glenn) Subject: rplay - /dev/audio? Message-ID: <CCqL3H.J6u@dartvax.dartmouth.edu> Sender: news@dartvax.dartmouth.edu (The News Manager) Organization: Dartmouth College, Hanover, NH Date: Thu, 2 Sep 1993 17:11:38 GMT I was reading the docs of "rplay", a client/server program to play sounds remotely which some x apps are starting to use. They said the following: > All rplay requires is an audio device where sounds can > be played using the write system call. For example, if > you can "cat sound_file > /dev/audio", then rplay should > work. Is there any such device on the NeXT (black)? Or, is there any unix program I can pipe .snd files into? Thanks. Michael
From: rseymour@reed.edu (Robert Seymour) Newsgroups: comp.sys.next.programmer Subject: Info on Computation Worms? Date: 2 Sep 1993 17:47:58 GMT Organization: Reed College, Portland, Oregon Message-ID: <265bke$ijh@scratchy.reed.edu> I'm looking for info on computation worms, with specific interest in distributed computing tasks. If you know of books, papers, or other information on this or related topics, please let me know. I would like to also find a good source on the worm at PARC (Xerox's Palo Alto Reseach Center) circa 1980. I have a few books with slight mention of the worm and the damage it caused, but I would like to see a more indepth coverage of the topic. Note: by worms I don't mean the hack/virus variety (i.e. the Internet Worm), but segmented multicomputer processing methods. -- Robert Seymour rseymour@reed.edu Philosophy & Economics, Reed College (NeXTmail accepted) Artificial Life Project Reed College Reed Solar Energy Project (SolTrain) Portland, OR
Newsgroups: comp.sys.next.programmer From: alex@data.acs.calpoly.edu (Alex Raftis) Subject: GDB and Run Time Linking Message-ID: <1993Sep02.180000.11184@rat.csc.calpoly.edu> Date: Thu, 02 Sep 93 18:00:00 GMT Organization: Cal Poly, SLO Lately, I've been trying to get a 3.1 version of GraphicsWorkshop available for distribution, however, I've hit a snag. It seems that the compiler under 3.1 brought forth a couple of bugs that hadn't shown before, but are now causing random problems. The snag, is that they're in parts of GraphicsWorkshop that are dynamically linked, and I can't seem to get GDB to allow me to trace through that source code. Anyone got any ideas? If I can get this last bug out, I should have a new release ready within about two weeks. Alex
Newsgroups: comp.sys.next.programmer From: abell@netcom.com (Steven T. Abell) Subject: Re: Making Obj-C faster? Message-ID: <abellCCqoF2.MrF@netcom.com> Organization: Netcom Online Communications Services (408-241-9760 login: guest) References: <abellCCptGt.15K@netcom.com> <2652km$55e@news.u.washington.edu> Date: Thu, 2 Sep 1993 18:23:25 GMT larry@spike.rprc.washington.edu (Larry Shupe) writes: >I though that you could take the address of a method at run time, >and then make a function call to that address. Am I mistaken? Yes, you can, but that's not the point of this discussion. You expend cycles (possibly needlessly) *every* time you [thing gronk]. It would be nice if the compiler could use a different dispatch strategy when certain constraints are known to hold, without the programmer having to do more that state the constraints in a declaration. If you're drawing a lot, it might not make much difference, but if you're trying to use ObjC to *compute*, it would become much more palatable. A recent posting from a NeXT employee makes their position more clear. Thanks, guys. Steve abell@netcom.com
From: reuven@athena.mit.edu (Reuven M. Lerner) Newsgroups: comp.sys.next.programmer Subject: Jumping to Emacs (rather than Edit) from Project Builder Date: 2 Sep 1993 19:25:19 GMT Organization: Massachusetts Institute of Technology Message-ID: <REUVEN.93Sep2152518@primavera.mit.edu> I really like the fact that clicking on a compilation error in Project Builder opens the appropriate file and moves the cursor to the offending line. The thing is, I use Emacs for editing, and would like PB to do the same thing inside of Emacs, rather than in Edit. I tried to use PB's Preferences window to point to Emacs, but it didn't seem to work. (I tried Emacs.app, emacs, and emacsclient.) I'm tempted to write a shell script that re-routes PB's commands to Emacs, but before I do that, I was wondering if someone had already solved this problem. Any ideas? Reuven
From: Rebecca.Hunter@launchpad.unc.edu (Rebecca Hunter) Newsgroups: comp.sys.next.programmer,comp.sys.next.software Subject: Help! Date: 2 Sep 1993 20:36:26 GMT Organization: University of North Carolina Extended Bulletin Board Service Distribution: world Message-ID: <265lga$3jn@samba.oit.unc.edu> Hi y'all! A friend of mine is currently in exile from the net, but she was hoping somebody could help with the following incomprehensible, technical question: Within a code segment, what message can I send that will return the full name of the current user or the full name of a user (given their login ID)? Well...incomprehensible to me, since I don't know NeXT! If some kind person can assist, please e-mail the answer to [ rhunter@kosmos.agu.org ] (since I don't follow this newsgroup). I'm sure we'll both be eternally grateful. -rlh "I wish I could drink like a lady; I can take one or two at the most. Three and I'm under the table--Four and I'm under the host!" --Dorothy Parker -- The opinions expressed are not necessarily those of the University of North Carolina at Chapel Hill, the Campus Office for Information Technology, or the Experimental Bulletin Board Service. internet: laUNChpad.unc.edu or 152.2.22.80
From: andrew@stone.com (Andrew Stone) Newsgroups: comp.sys.next.programmer Subject: Re: Can anyone recommend a simple, flat-file data base for NEXTSTEP. Keywords: DataPhile Message-ID: <1993Aug31.141320.1245@stone.com> Date: 31 Aug 93 14:13:20 GMT Article-I.D.: stone.1993Aug31.141320.1245 References: <1993Aug31.021810.3721@codex.oz.au> Sender: andrew@stone.com Organization: Stone Design Corp In article <1993Aug31.021810.3721@codex.oz.au> (Horace Lim) hal@codex.com.au writes: > This may seem like a simple question, sometimes you just don't need a full featured RDBMS like Sybase or Oracle. > > Thanks Horace > -- > --------------------------------------------------- > Horace A. Lim (a.k.a. Hal) > Internet : hal@xedoc.com.au (NeXTMail welcome and appreciated) > AppleLink: AUST0335 Since I'm just sitting around waiting for the GOLDEN DataPhile 2.0 to compile, I'll toot our horn. DataPhile is a full-featured, totally self-contained, flatfile database which lets you store: Text Rich Text Dates Money Booleans Sounds Pictures Files It comes ready to use with a number of templates. Version 2.0 which ships tomorrow, runs on Intel and NeXT hardware, and is quite powerful while being easy to use and maintain. There will be demos on the archives - we totally believe in "TRY before you BUY", and if you are a student there are extra special low prices! For more info, write info@stone.com. andrew -- ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>|| !! Andrew Stone !! (505) 345-4800 !! !! andrew@stone.com <> Stone Design Corp !! ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>||
From: besler@gdss.commerce.ubc.ca (Steven Besler) Newsgroups: comp.sys.next.programmer Subject: Free Distributed Objects Date: 2 Sep 1993 22:06:16 GMT Organization: The University of British Columbia Distribution: world Message-ID: <265qoo$7vl@iskut.ucs.ubc.ca> References: <111209@hydra.gatech.EDU> I read in the lastest NeXTWORLD that after porting PDO to HPUX, it will be ported to Solaris. Supposedly they will supply a library which replaces the Mach messaging functionality by using Berkley sockets. How efficient is this? Does NeXT intend to corner this market? Will they ever release it so that it could run on, for example Linux? Just how "Portable" are PDO's? How much will this cost the end-user? Imagin PDO's on every machine on the internet... -- Steven K. Besler <besler@gdss.commerce.ubc.ca> (NeXTmail) UBC 3.5th yr CS Coop Student & NeXTSTEP Application Developer "Being the richest man in the cemetery doesn't matter to me. Going to bed at night saying we've done something wonderful . . . that's what matters to me." Steven P. Jobs CEO of NeXT, Inc.
From: besler@gdss.commerce.ubc.ca (Steven Besler) Newsgroups: comp.sys.next.programmer Subject: Re: Making Obj-C faster? Date: 2 Sep 1993 22:09:42 GMT Organization: The University of British Columbia Distribution: world Message-ID: <265qv6$82b@iskut.ucs.ubc.ca> References: <abellCCptGt.15K@netcom.com> Steven T. Abell writes [munch] <Don't get me wrong: I like the flexibility it gives, <and I'm impressed that it does as well as it does. <But there are times when I don't need that extra level of flexibility, <and I'd rather have the speed. If I, as a programmer, make the wrong call, <well, that's my problem. I want the choice. < <Steve abell@netcom.com I don't get it. Don't we have the choice now? -- Steven K. Besler <besler@gdss.commerce.ubc.ca> (NeXTmail) UBC 3.5th yr CS Coop Student & NeXTSTEP Application Developer "Being the richest man in the cemetery doesn't matter to me. Going to bed at night saying we've done something wonderful . . . that's what matters to me." Steven P. Jobs CEO of NeXT, Inc.
Newsgroups: comp.sys.next.programmer From: drew@fnbc.com (Drew Davidson) Subject: Re: check if object was deallocated, possible? Message-ID: <1993Sep2.221400.2265@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA References: <1993Sep2.133006.1872@next.cambridge.ma.us> Date: Thu, 2 Sep 93 22:14:00 GMT In article <1993Sep2.133006.1872@next.cambridge.ma.us> simsong@next.cambridge.ma.us (Simson L. Garfinkel) writes: > In article <CPESCH.93Sep1150713@markov.fmi.uni-passau.de> > cpesch@markov.fmi.uni-passau.de (Christoph Pesch) writes: > > Hello! > > > > I hope someone can help me with the following Objective-C problem: > > > > Is there a way to check if an object is deallocated (without causing > > errors)? I.e. if I have a pointer to an object (id) and this object > > receives a free-message (from somewhere else) then I have a pointer > > that isn't nil but doesn't point to an object. In this situation it is > > usually a bad idea to send messages to the "nonexisting object". ;-) > > So I would like to check if the id points to a well allocated object > > before sending messages to it. > > I think that you should restructure your problem so that this isn't necessary. > Normally, the isa pointer will be set to nil (I think) when an object is freed, > buti f the object is freed, then the memory space can be used by another > ojbect, so it's really not reliable to look at a pointer and try to figure out > if it is good or not. > -- > > .................................................................simson Actually the isa->name is replaced with "FREED(id)" and the method tables are emptied - thus if a message is sent, the forwarding mechanism can call error: which will print "FREED(id) does not respond to foo". Memory re-usage warning is, of course, very valid - don't depend on this. -- +--------------------------------+-------------------------------------------+ | Drew Davidson | "Never ask a programmer if he'll have | | Software Guy | another cup of coffee because it's | | First National Bank of Chicago | nobody's damn business how much he's | | drew@fnbc.com (NeXTmail) | already had!" - me | +--------------------------------+-------------------------------------------+
Newsgroups: comp.sys.next.programmer From: anderson (Ken Anderson) Subject: Re: check if object was deallocated, possible? Message-ID: <1993Sep2.141414.18271@biztech.com> Sender: news@biztech.com Organization: Biztech, Inc. References: <CPESCH.93Sep1150713@markov.fmi.uni-passau.de> Date: Thu, 2 Sep 1993 14:14:14 GMT In article <CPESCH.93Sep1150713@markov.fmi.uni-passau.de> cpesch@markov.fmi.uni-passau.de (Christoph Pesch) writes: >Hello! > >I hope someone can help me with the following Objective-C problem: > >Is there a way to check if an object is deallocated (without causing >errors)? I.e. if I have a pointer to an object (id) and this object >receives a free-message (from somewhere else) then I have a pointer >that isn't nil but doesn't point to an object. In this situation it is >usually a bad idea to send messages to the "nonexisting object". ;-) >So I would like to check if the id points to a well allocated object >before sending messages to it. > > >Christoph Pesch (cpesch@markov.fmi.uni-passau.de --- NO NeXT-mail please) Christoph, I check to see if an object is freed or not this way: struct objDef { @defs(Object) }; if (((struct objDef *) <object> )->isa) [<object> free]; Ken Anderson anderson@biztech.com Stamford, CT
Newsgroups: comp.sys.next.programmer From: RAUCH@SATAN.VMSMAIL (Felix Rauch) Subject: How to change 7/8 bits on serial port (black) Message-ID: <CCr8nn.KrG@bernina.ethz.ch> Sender: news@bernina.ethz.ch (USENET News System) Organization: FEDERAL INSTITUTE OF TECHNOLOGY (ETH) ZURICH, SWITZERLAND Date: Fri, 3 Sep 1993 01:40:34 GMT A friend of mine who has no connection to the usenet aksed me to post this question. He would like to know how to change the settings of the serial ports such as 7/8 bits and the number of stopbits. He said he didn't find anything about this subject in the man-pages. Any hint how to do this, where to find the corresponding man-page or a mini-example would be appreciated. Felix Rauch --- Felix Rauch, CS-Student @ ETH Zurich, Switzerland. internet: rauch@avalon.unizh.ch (NeXT Mail welcome) <Don't let them fool ya, or even try to school ya!> (Bob Marley)
Newsgroups: comp.sys.next.programmer From: joseph@daffy.tip.ameslab.gov (Joseph Reynolds) Subject: Re: Two apps sharing same code with Project Builder? Message-ID: <CCr9Es.MDr@news.iastate.edu> Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA References: <ARROUYE.93Sep2144231@mistral.imag.fr> Date: Fri, 3 Sep 1993 01:56:51 GMT Hi. In article <ARROUYE.93Sep2144231@mistral.imag.fr> arrouye@cosmos.imag.fr (Yves Arrouye) writes: > I have an application built with ProjectBuilder, and I would like in > fact to build two apps in the same directory, the apps sharing some > source files. How can I do that? You'll probably have to modify the project Makefiles. I don't know of anything in ProjectBuilder to let you do this easily.... As an alternative approach, you could make another project directory and add symbolic links for the files you want to share. For example, suppose you have project X in directory X. Make a new project Y in directory Y, and from the terminal do something like: cd ~/project/Y ln -s ../X/sharedfile1.h ln -s ../X/sharedfile2.m ln -s ../X/sharedDirectory This done, changes in a shared file will show up in both places. (Type "man ln" for details.) > I would like to know, too, how I can put both sources and code in the > XXX.app directory. You'll probably have to modify the Makefiles for this, too. Joseph
Newsgroups: comp.sys.next.programmer From: abell@netcom.com (Steven T. Abell) Subject: Re: Making Obj-C faster? Message-ID: <abellCCrFwy.Iy2@netcom.com> Organization: Netcom Online Communications Services (408-241-9760 login: guest) References: <abellCCptGt.15K@netcom.com> <265qv6$82b@iskut.ucs.ubc.ca> Date: Fri, 3 Sep 1993 04:17:22 GMT besler@gdss.commerce.ubc.ca (Steven Besler) writes: >Steven T. Abell writes >[munch] <Don't get me wrong: I like the flexibility it gives, ><and I'm impressed that it does as well as it does. ><But there are times when I don't need that extra level of flexibility, ><and I'd rather have the speed. If I, as a programmer, make the wrong call, ><well, that's my problem. I want the choice. >I don't get it. >Don't we have the choice now? Not within the context of NeXT ObjC as it stands. Any time you [thing gronk], you just called objc_msgSend(). I'd like to [thing gronk] by jumping through thing's isa pointer. Sometimes, anyway. Steve abell@netcom.com
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Making Obj-C faster? Message-ID: <1993Sep3.042026.7013@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <abellCCptGt.15K@netcom.com> <2652km$55e@news.u.washington.edu> <abellCCqoF2.MrF@netcom.com> Date: Fri, 3 Sep 1993 04:20:26 GMT In article <abellCCqoF2.MrF@netcom.com> abell@netcom.com (Steven T. Abell) writes: >You expend cycles (possibly needlessly) *every* time you [thing gronk]. >It would be nice if the compiler could use a different dispatch strategy >when certain constraints are known to hold, without the programmer having >to do more that state the constraints in a declaration. If you're drawing >a lot, it might not make much difference, but if you're trying to use >ObjC to *compute*, it would become much more palatable. Maybe *that's* your problem. Don't use Objective-C where C is appropriate. <<EPS' soapbox>> Y'know what really drives me nuts? People who believe in this crap called "modular programming." They break up their code into little pieces, each no more than about a dozen lines-- and those primarily consist of procedure calls. What do they get? Lousy performance. (1) They pay a lot just in call overhead; (2) they almost completely negate the benefits of instruction caching and pipelining; (3) as code size grows, they start to see pathological VM behavior. OK, (3) can be mollified by link optimization. (2) is pretty much beyond hope. (1) is the killer for Objective C because too many newbies think that methods are a substitute for all procedures!!! How many times have you seen - (void)foo:(int)bar { spam=bogotify(bar); } // ... [self foo:mumble]; when static void foo(struct Whatever *self, int bar) { self->spam=bogotify(bar); } // ... foo(self, mumble); would have worked just fine? And worse, they try to rationalize the former as being "prettier" or "more elegant." Hogwash! It is *not* the job of the compiler/optimizer/linker to outguess your intentions. The old adage "garbage in, garbage out" still applies. If you want fast, efficient code, write it! Objective-C isn't broken. It's appropriate for a certain class of problems and inappropriate for others. Part of the beauty of the NEXTSTEP environment is that you can mix and match different paradigms to capitalize on the strengths of each. If you think Objective-C is a panacea, you are seriously unclear on the concept. It's just one tool in a big chest. -=EPS=- -- All "full lifetime warranty" Craftsman tools double as hammers.
From: gt2186a@prism.gatech.EDU (COBIA,FRANK NAYLOR) Newsgroups: comp.sys.next.programmer Subject: SCSI programming questions Message-ID: <111366@hydra.gatech.EDU> Date: 3 Sep 93 04:42:21 GMT Organization: Georgia Institute of Technology I Have been working on a program to replace the CDPlayer.app that is in the NeXT demos. It has several shortcomings that I would like to fix. I also hope to expand it to be able to extract the music digitally through the SCSI bus and either record, play or both. However, I am having some problems. I will probably be able to build a CDPlayer replacement, but I do not understand it all. I am using the NeXT SCSI example and the source from play3401 to do this. Basically I need pointers to documents on the commands that SCSI CD-ROMs respond to and their response to those commands. Since there is a standard (except extracting audio through the bus), there should be a document somewhere. I also need the layout of audio CDs. What is there file structure? If anyone knows where I can find this kind of documentation I would appreciate the help. I will also list a few of the major questions I have in case anyone knows the answers to these specific things. - How can I find out if there is a disk in the drive. I can send it a spin up message and then check the error fields but I would rather have a command that is a no-op. - Is there a quick and easy way to discover what kind of disk is in the drive. Is it an audio or data? - How can I search the SCSI bus to find the CD-ROM(s) that are connected? I can do this now by opening all the /dev/rsd?h files, but I do not like this. Preferably I want to be able to find the drives even across multiple SCSI host adapters. - How can I make sure that there are not any other programs trying to access the drive at the same time I am? - Right now the program has to be run under the root id (either by root or set uid). Is there a way to do this without being root? This isn't that big a deal to me. I would greatly appreciate any help. Frank -- COBIA,FRANK NAYLOR Georgia Institute of Technology, Atlanta Georgia, 30332 uucp: ...!{allegra,amd,hplabs,ut-ngp}!gatech!prism!gt2186a Internet: gt2186a@prism.gatech.edu
Newsgroups: comp.sys.next.programmer From: lloyd@world.std.com (Chris Lloyd) Subject: Re: Making Obj-C faster? Message-ID: <CCrH7K.8rH@world.std.com> Organization: The World Public Access UNIX, Brookline, MA References: <2652km$55e@news.u.washington.edu> <abellCCqoF2.MrF@netcom.com> <1993Sep3.042026.7013@csus.edu> Date: Fri, 3 Sep 1993 04:45:19 GMT In article <1993Sep3.042026.7013@csus.edu> eps@cs.sfsu.edu writes: > -=EPS=- >-- >All "full lifetime warranty" Craftsman tools double as hammers. Except for chisels, those are screwdrivers. ;-> -- :: Christopher Lloyd :: Yrrid Incorporated :: lloyd@world.std.com :: :: NEXTSTEP Monk ::
Newsgroups: comp.sys.next.programmer,comp.lang.objective-c From: wittb@nextnet.csus.edu (brian witt) Subject: Re: Making Obj-C faster? Message-ID: <1993Sep3.053137.10393@csus.edu> Followup-To: comp.lang.objective-c Summary: Right tool for the application; read FAQs. Keywords: objective-C, dynamic binding, Smalltalk, Eiffel, C++ Sender: news@csus.edu Organization: California State University Sacramento, USA References: <53701@sdcc12.ucsd.edu> Distribution: na Date: Fri, 3 Sep 1993 05:31:37 GMT ( NOTE: This first part is a little religious. But there is enough variety in languages that if you need a feature, like fast dispatching of methods, some language can probably do it for you. And it is good to know what is available.) To summarize: objective-C gets its style from dynamic binding. Polymorphism is important (at the center) of what objective-C does. In C++ static binding is the default, and the "virtual" keyword yields dynamic binding. I wrote an objective-C work-alike, complete with runtime support. It is a translator. Unfortunately, I'm away from school, and I haven't loaded it up yet... :-( If you don't need the "C" syntax, may I suggest two other languages. Modula-3 is an excellent system with support for inheritance (not sure about multiple, don't thing so), threads and generic parameters. There is a freeware implementation that runs under bsd unix (long filenames) and converts modual-3 to plain C. See "comp.lang.modula3" Their slogan "Modula 3: safe and effective." The other language is Eiffel, first presented by Bertram Meyers. This excellent language has method pre- and post- condition checking, as well as class invariants (assertions which must be true on entrance and exit to all methods). This language was designed by a scientist for Better Programming(tm), not by engineers doing systems work (K&R did a fine job and I use C often), and not by a committee. See "comp.lang.eiffel" Bad part is implementations must be precise: which is great for the programmer, but bad for the compiler writer. In article <53701@sdcc12.ucsd.edu> mstankus@oba.ucsd.edu (Mark Stankus) writes: >I was wondering.... >One complaint is that obj-c is slower than C++. >For example, > >-rank {return rank;} > >is basically a procedure call to return the value of a >data field of an object in an object oriented way. >In C++, someone would use an inline statement. [..] >2. Maybe the compiler should try to do this anyways if it can > if an "optimization" flag is set. The famous example is you have some geometric figure, and you want to ask it to return its enclosed area. Sqaures, circles and irregular polygons all compute differently, and not much can be shared. In C++ you jhave a virtual method, and there is no more discussion. Eiffel has an optimize option that at compile time decides if inlining is possible, given which classes an object might be at some given point in the code, taking into account which class overrides a method. C++ does not "examine all your code including libraries and then make decisions," it's just a sophisticated text translator... Objective-C doesn't either, but relies on runtime to dynamically see what is has, and then make the right decision (over and over again, each time the method gets called). To write some preprocessor to grok this for your application might prove troublesome. It would be slow, and would have to re-generate information the compiler builds itself. Also, what is the label stored in the object file for the method "(float) getDistanceTo:(id)" in the class StellarGalaxy? The compiler knows this one for sure. An optimization I've heard about is to "hide" a little structure at each method invokation (ie, each square-bracketted expr). It holds the *class* of the last object that was messaged, along with a pointer to the code. Profiling has shown that for a given HLL statement, the class of object that is messaged there, is usually the same as the class messaged there on the the last attempt... So, if the class of the current object matches that of the last object, the code which does the method is therefore known and a direct call is made. Otherwise, a search must be performed, and the little structure is updated. For example, the method getAtomicWeight is usually performed on an object of class PhysicalAtom. This can speed up loops. Objective-C has the notion of typing an object when it is declared. This hints to the compiler which methods are legal, and given enough information about which superclasses wil lbe linked in, the compiler might be able to generate direct calls. Of course, if you modify a *superclass* to now intercept a message where before none of its child classes had, then that direct call just bypassed the software change! :^| >Wouldn't this partially diffuse the static/binding >debate in objective-c's favor? > >If I am all wet, so be it. You're not all wet, you're just curious.... :-) For each problem, the right tool should be used. From the C++ programs I've worked on, I advise if you are building an application with minimal reuse, C++ can be a fine language. One big makefile to correct inheritance/polymorphism changes. If you have lots of physical RAM, Eiffel can generate correct programs after a long startup code investment, but pays off in the medium run (user enhancement time). People have said Eiffel can be learned in about the time to learn C++ completely. If you're just not sure, try Smalltalk, a LISP, or objective-C. Some one said Smalltalk is easy for COBOL programmers to use because it is so wordy (but in a familiar way). It is the first of the month and the newsgroups should be posting FAQs. Many of them talka about a language's pluses and minuses. >Mark Stankus --- brian witt -- ============================================================================= ! Brian Witt Sac State Computer Science] "Waldo, the pariot, is dead" Internet: wittb@cube01.ccs.csus.edu -- Agent Cooper #define POSIX_ME_HARDER 1 <-- GNU
Newsgroups: comp.sys.next.programmer From: ploeger@aplki.toppoint.de (Andreas Ploeger) Subject: Target/Action for own classes: How to do it Message-ID: <1993Sep2.184757.3070@aplki.toppoint.de> Keywords: target, action, Interface Builder Sender: ploeger@aplki.toppoint.de (Andreas Ploeger) Organization: Andreas Ploeger Date: Thu, 2 Sep 93 18:47:57 GMT Hi, I spent quite some time finding out how to use target/action outlets in own classes and being able to set them up in Interface Builder. NeXT's documentation is inaccurate. It says in NextDev/GeneralRef/08_InterfaceBuilder/IntroInterfaceBuilder.rtf: "... So, when such a connector object receives an establishConnection message, it sets the source object's outlet to the destination object and if the source object's outlet is named target it sets the source's action to the destination's action method." It is not sufficient to have a "target" outlet. In addition the custom class has to have the following methods: - target; - setTarget:s; - (SEL)action; - setAction:(SEL)x; Having done this I was able to set up target/action connections for my own classes exactly as I always did it with controls from NeXT's palettes. Greetings, Andreas -- -------------------------------------------------------------------- Andreas Ploeger E-Mail: ploeger@tpki.toppoint.de
Newsgroups: comp.sys.next.programmer From: vlahos@cubism.portal.com (Harry Vlahos) Subject: Re: Making Obj-C faster? Message-ID: <1993Sep3.060121.2041@cubism.portal.com> Sender: vlahos@cubism.portal.com (Harry Vlahos) Organization: -Independent NeXT Developer- References: <abellCCnrLr.94x@netcom.com> Date: Fri, 3 Sep 1993 06:01:21 GMT In article <abellCCnrLr.94x@netcom.com> abell@netcom.com (Steven T. Abell) writes: > louie@sayshell.umd.edu (Louis A. Mamakos) writes: > >abell@netcom.com (Steven T. Abell) writes: > >>Mark_Wagner@NeXT.COM (Mark Wagner) writes: > >>>In NeXT's Objective-C, message dispatch is always dynamic. > >> > >>This sucks. > > > >Before making this judgement, why don't you actually TIME how long the > >dynamic message dispatch takes as compared to a normal subrouting > >call? It doesn't take that much longer, and unless your method is > >trivial and called very frequently, you probably won't notice a > >difference. > > The phrase "unless your method is trivial and called very frequently" > implies that method calls are rare in typical code. It's true that the > dispatch time for any particular method is hard to measure except in > the specified cases. But typical ObjC code is *full* of method > invocations. Add all those up: I doubt it's going to be epsilonic. > If you use accessors the way the textbooks recommend, it definitely > won't be. > > If the genealogy of the receiver is known, there's no excuse for > method dispatch requiring more that 3 instructions. > > Steve abell@netcom.com If your program runs too slow, get a faster computer !!!! Or.... use C++ where speed is an issue, and use Obj-C everywhere else. The good thing about NeXTstep is that the compiler can do both. Its really up to you to define what code needs to be written in what in order to make full use of your resources. HV
Newsgroups: comp.sys.next.programmer From: cedman@princeton.edu (Carl Edman) Subject: Re: SCSI programming questions In-Reply-To: gt2186a@prism.gatech.EDU's message of 3 Sep 93 04:42:21 GMT To: gt2186a@prism.gatech.EDU (COBIA,FRANK NAYLOR) Message-ID: <CEDMAN.93Sep3083436@capitalist.princeton.edu> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University References: <111366@hydra.gatech.EDU> Date: Fri, 3 Sep 1993 12:34:36 GMT In article <111366@hydra.gatech.EDU> gt2186a@prism.gatech.EDU (COBIA,FRANK NAYLOR) writes: However, I am having some problems. I will probably be able to build a CDPlayer replacement, but I do not understand it all. I am using the NeXT SCSI example and the source from play3401 to do this. Basically I need pointers to documents on the commands that SCSI CD-ROMs respond to and their response to those commands. Since there is a standard (except extracting audio through the bus), there should be a document somewhere. I also need the layout of audio CDs. What is there file structure? You can call Toshiba America and ask them to send you their manual for the 3401. That contains (almost) all the standard CD-ROM scsi commands in addition to the 3401-specific ones and is free. - How can I find out if there is a disk in the drive. I can send it a spin up message and then check the error fields but I would rather have a command that is a no-op. Not as far as I know. But why not just request a disk in a specific drive and have the OS worry about telling you when it gets one ? - How can I search the SCSI bus to find the CD-ROM(s) that are connected? I can do this now by opening all the /dev/rsd?h files, but I do not like this. Preferably I want to be able to find the drives even across multiple SCSI host adapters. There is currently no NeXT support for multiple SCSI host adapters. But if you prefer doing an inquire on all SCSI bus devices, just open a generic scsi device /dev/sg[0-3] and try all the SCSI targets. But then this would fail when NeXT decides to support multiple host adapters, while the /dev/rsd[0-9]h method very likely wouldn't. - Right now the program has to be run under the root id (either by root or set uid). Is there a way to do this without being root? This isn't that big a deal to me. Nope. A program which can send random SCSI commands to your CD ROM drive also can send random SCSI commands to your harddisk which allows it to both read and write all the files on it. A facility to send SCSI commands without being root would be a major security hole and we all know that NeXT would never allow such a thing to exist in a release version, don't we ? Carl Edman
From: dave@truth.asg.arlut.utexas.edu (Dave Slotnick) Newsgroups: comp.sys.next.programmer Subject: Removing a service Date: 3 Sep 1993 13:10:22 GMT Organization: The University of Texas at Austin, Austin, Texas Message-ID: <267fnu$5mj@geraldo.cc.utexas.edu> I have the following problem: I've deleted an application, but the services it provided still appear in the Services menu. Does anyone know how to remove those services from the menu? -- *** David Slotnick *** Applied Research Laboratories *** dave@truth.asg.arlut.utexas.edu NeXTmail desired and appreciated
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: Two apps sharing same code with Project Builder? Message-ID: <1993Sep3.110524.893@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <CCr9Es.MDr@news.iastate.edu> Date: Fri, 3 Sep 1993 11:05:24 GMT On this same note -- can anyone CONFIRM that /LocalDeveloper/Headers is consulted before /NextDeveloper/Headers in standard makes, and that /usr/local/lib is checked by ld for linkable libraries without specific makefile overrides? IF SO, it would appear that merely making the common code to /LocalDeveloper/Headers and /usr/local/lib specifying -lmylib AFTER the code is updated into the library should answer the original question... Bruce Gingery bruce@TotSysSoft.com NeXT-mail preferred
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: Two apps sharing same code with Project Builder? Message-ID: <1993Sep3.141815.1032@afs.com> Sender: Michael_Pizolato@afs.com References: <CCr9Es.MDr@news.iastate.edu> Date: Fri, 3 Sep 1993 14:18:15 GMT Joseph Reynolds writes >Yves Arrouye writes >>I have an application built with ProjectBuilder, and I would like >>in fact to build two apps in the same directory, the apps sharing >>some source files. How can I do that? > >You'll probably have to modify the project Makefiles. I don't >know of anything in ProjectBuilder to let you do this easily.... > >As an alternative approach, you could make another project directory >and add symbolic links for the files you want to share. For >example, suppose you have project X in directory X. Make a new >project Y in directory Y, and from the terminal do something like: > cd ~/project/Y > ln -s ../X/sharedfile1.h > ln -s ../X/sharedfile2.m > ln -s ../X/sharedDirectory >This done, changes in a shared file will show up in both places. >(Type "man ln" for details.) > >>I would like to know, too, how I can put both sources and code in >>the XXX.app directory. > >You'll probably have to modify the Makefiles for this, too. Put the following in Makefile.preamble: OTHER_RESOURCES = copySources and this in Makefile.postamble: copySources: $(FASTCP) $(HFILES) $(CLASSES) $(OTHERSRCS) $(PRODUCT_ROOT) and make will copy them into the app wrapper, in addition to doing all the usual stuff. Note that fastcp will only copy new or changed files. -- Michael Pizolato gnihtyreve noitseuq Michael_Pizolato@afs.com NeXTMail appreciated
Newsgroups: comp.sys.next.programmer Subject: Re: Making Obj-C faster? Message-ID: <1993Sep3.165613.115400@embl-heidelberg.de> From: tuparev@EMBL-Heidelberg.DE (Georg Tuparev) Date: 3 Sep 93 16:56:12 +0100 References: <1993Sep3.060121.2041@cubism.portal.com> I lost the point! Last 10 days 20 or 30 NS gurus are spending hours of discussing how to make their programs to run 2.4ms faster! Isn't it better to stop this discussion (... and write 'thank you' letters to NeXT for giving you the possibility to develop your projects 10 time faster then your colleagues)? BTW, if you test some real big math. programs, you will be surprised how fast they can run on NS (and Obj-C) just because of some brilliant ideas like allocFromZone: and fast swapping. -- georg --
From: admin@bock (FreiNet Administrator) Newsgroups: comp.sys.next.programmer Subject: Re: Edit's Expansion Dictionary Date: 2 Sep 1993 12:45:50 GMT Organization: FreiNet, a VzF* InterNetNews site Distribution: world Message-ID: <264ptu$jc4@bock.freiburg.sub.org> References: <262lls$dfm@kong.gsfc.nasa.gov> Stephen G. Edwards (edwards@kong.gsfc.nasa.gov) wrote: : I'm new to NEXTSTEP and have been delving into the NS/FIP developer tools. : The "Development Tools and Techniques" doc describes an Edit utility called : the Expansion Dictionary, which allows you to define abbreviations for words : and phrases that you type frequently. Supposedly the abbreviation will be : expanded in your document if you type it and hit the Escape key. All I get : when I hit the Escape key is a system beep. I would find this feature : extremely useful. Does anyone know how to get it to work? Yea, just go to your preferences panel and switch emacs key bindings to ON! Be also shure to have started the Edit.app in developer mode. that's all ;-) - Flo
Newsgroups: comp.sys.next.programmer From: rtbrunne@iiic.ethz.ch (Ralf Thomas Brunner) Subject: Text Class: How to create page breaks Message-ID: <1993Sep3.162800.19980@neptune.inf.ethz.ch> Keywords: text class Sender: rtbrunne@iiic.ethz.ch Organization: Dept. Informatik, Swiss Federal Institute of Technology (ETH), Zurich, CH Date: Fri, 3 Sep 1993 16:28:00 GMT I have the following problem: I'd like to insert page breaks in a Text object. Does anyone know how to do this? Is there some sample code somewhere? __________________________________________________________________________ Irrationality is the square root of all evil. Ralf T. Brunner -- Douglas Hofstadter rtbrunne@iiic.ethz.ch __________________________________________________________________________
Newsgroups: comp.sys.next.programmer From: zgeng@nextear1.psych.umn.edu (Zhang Geng) Subject: DSP external memory Message-ID: <CCsGHH.KCx@news2.cis.umn.edu> Keywords: DSP, external memory Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota, Twin Cities Date: Fri, 3 Sep 1993 17:19:12 GMT I am posting this to see if anyone has any information concerning the access to the NeXT DSP external memory. I have a NeXT cube and I am running NeXT 3.0. PROBLEM: I can't set up right to use the 8K DSP private RAM. In the NeXT manual "NeXTStep General Reference, Vol2" Appendix E "Details of the DSP", it says there are two "images" of DSP's private external memory mapping, and at the end, it also says there is another enable for this RAM in the System Control Register 2 besides the address line set up. I want to know where this System Control Register 2 is (its address) and how to set it up to use "image-1" or "image-2" It would be appreciated if anyone in this group could offer the above info or his/her experience to deal with that. Thanks. ----Geng---- zgeng@nextear.psych.umn.edu -- NewsGrazer, a NeXTstep(tm) news reader, posting -- M>UQR=&8P7&%N<VE[7&9O;G1T8FQ<9C!<9FUO9&5R;B!#;W5R:65R.WT*7&UA M<F=L,3(P"EQM87)G<C$R,`I<<&%R9%QT>#$Q-3)<='@R,S`T7'1X,S0U-EQT M>#0V,#A<='@U-S8P7'1X-CDQ,EQT>#@P-C1<='@Y,C$V7'1X,3`S-CA<='@Q M,34R,%QF,%QB,%QI,%QU;&YO;F5<9G,R-%QF8S!<8V8P(%P*22!A;2!P;W-T M:6YG('1H:7,@=&\@<V5E(&EF(&%N>6]N92!H87,@86YY(&EN9F]R;6%T:6]N M7`IC;VYC97)N:6YG('1H92!A8V-E<W,@=&\@=&AE($YE6%0@1%-0(&5X=&5R M;F%L(&UE;6]R>2Y<"DD@:&%V92!A($YE6%0@8W5B92!A;F0@22!A;2!R=6YN M:6YG($YE6%0@,RXP+EP*7`I04D]"3$5-.EP*("`@("`@($D@8V%N)W0@<V5T M('5P(')I9VAT('1O('5S92!T:&4@.$L@1%-0('!R:79A=&4@4D%-+EP*7`I) M;B!T:&4@3F585"!M86YU86P@(DYE6%13=&5P($=E;F5R86P@4F5F97)E;F-E M+"!6;VPR(B!!<'!E;F1I>"!%7`HB1&5T86EL<R!O9B!T:&4@1%-0(BP@:70@ M<V%Y<R!T:&5R92!A<F4@='=O(")I;6%G97,B(&]F($134"=S('!R:79A=&5< M"F5X=&5R;F%L(&UE;6]R>2!M87!P:6YG+"!A;F0@870@=&AE(&5N9"P@:70@ M86QS;R!S87ES('1H97)E(&ES(&%N;W1H97)<"F5N86)L92!F;W(@=&AI<R!2 M04T@:6X@=&AE(%-Y<W1E;2!#;VYT<F]L(%)E9VES=&5R(#(@8F5S:61E<R!T M:&4@7`IA9&1R97-S(&QI;F4@<V5T('5P+EP*7`I)('=A;G0@=&\@:VYO=R!W M:&5R92!T:&ES(%-Y<W1E;2!#;VYT<F]L(%)E9VES=&5R(#(@:7,@*&ET<R!A M9&1R97-S*5P*86YD(&AO=R!T;R!S970@:70@=7`@=&\@=7-E(")I;6%G92TQ M(B!O<B`B:6UA9V4M,B)<"EP*270@=V]U;&0@8F4@87!P<F5C:6%T960@:68@ M86YY;VYE(&EN('1H:7,@9W)O=7`@8V]U;&0@;V9F97(@=&AE(&%B;W9E7`II M;F9O(&]R(&AI<R]H97(@97AP97)I96YC92!T;R!D96%L('=I=&@@=&AA="Y< M"EP*5&AA;FMS+EP*7`HM+2TM1V5N9RTM+2U<"EP*>F=E;F=`;F5X=&5A<BYP 1<WEC:"YU;6XN961U7`H*?0HM `
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: Two apps sharing same code with Project Builder? Message-ID: <1993Sep3.164926.1391@afs.com> Sender: Michael_Pizolato@afs.com References: <1993Sep3.110524.893@ToTSySSoft.com> Date: Fri, 3 Sep 1993 16:49:26 GMT Bruce Gingery writes >On this same note -- can anyone CONFIRM that /LocalDeveloper/Headers >is consulted before /NextDeveloper/Headers in standard makes, and >that /usr/local/lib is checked by ld for linkable libraries without >specific makefile overrides? > >IF SO, it would appear that merely making the common code to >/LocalDeveloper/Headers and /usr/local/lib specifying -lmylib >AFTER the code is updated into the library should answer the >original question... /LocalDeveloper/Headers is not consulted at all. In fact, neither is /NextDeveloper/Headers. BUT, /usr/local/include and /usr/include ARE consulted. /usr/include is a link to /NextDeveloper/Headers, and you should make /usr/local/include be a link to /LocalDevelopers/Headers. Remember that /LocalDeveloper is not supported by NeXT, it's just the most common way to structure programming directories since it parallels NeXT's directory structure. The same applies for /usr/local/lib and /usr/lib - both are consulted (though /usr/lib is not a link, but at our site /usr/local/lib is a link to /LocalDeveloper/Libraries). Thanx, Michael -- Michael Pizolato gnihtyreve noitseuq Michael_Pizolato@afs.com NeXTMail appreciated
Newsgroups: comp.sys.next.programmer From: albert@cs.tut.fi (Pasi 'Albert' Ojala) Subject: How to develope a driver for measurement board Message-ID: <1993Sep3.191905.29782@news.cs.tut.fi> Sender: usenet@news.cs.tut.fi (#Kotilo NEWS system ) Organization: Tampere University of Technology Date: Fri, 3 Sep 1993 19:19:05 GMT This is a forwarded message from: Juha Tuominen (juha.tuominen@cc.tut.fi) (cc.tut.fi is down due to OS update) My boss just called and asked if it's possible to develope a driver for NeXTstep486, which would read measurement values from a National Instrument's data acquisition board. I was unable to answer, because I have never wrote a driver for NeXTstep. The board is very simple, it can be addressed in several places in IO memory and it can respond to several hardware interrupts etc. So basicly, all I have to do is to write some config values to IO ram and then read the measurement data from there. Any ideas how to do that under NeXTstep486? Are there any code fragments available of such driver? Any suggestions are welcome. -Juha -- Pasi Ojala The number of people staring at you albert@cs.tut.fi is straightly proportional to the albert@cc.tut.fi stupidity of your action.
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: Two apps sharing same code with Project Builder? Date: 3 Sep 1993 15:09:20 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <2684p0$9jl@digifix.digifix.com> References: <1993Sep3.164926.1391@afs.com> Michael Pizolato writes > /LocalDeveloper/Headers is not consulted at all. In fact, neither > is /NextDeveloper/Headers. BUT, /usr/local/include and /usr/include > ARE consulted. /usr/include is a link to /NextDeveloper/Headers, Well I agree with Michael that it doesn't seem to be consulted, but its supposed to be. From the 3.1 Release Notes 3.1 Release Notes: Reorganization of Header File Directories To maintain compatibility with existing source, the default search path for included files has been changed, and a set of compatibility header files has been added. The directories in the new search path are listed below, in the order they're searched: /NextDeveloper/Headers /NextDeveloper/Headers/ansi /NextDeveloper/Headers/bsd /LocalDeveloper/Headers /NextDeveloper/2.0CompatibleHeaders /usr/include /usr/local/include The obvious answer is the links that Michael suggests. -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
From: gad@eclipse.its.rpi.edu (Garance A. Drosehn) Newsgroups: comp.sys.next.programmer Subject: Re: SCSI programming questions Date: 3 Sep 1993 19:39:50 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Distribution: world Message-ID: <2686i6$8tn@usenet.rpi.edu> References: <111366@hydra.gatech.EDU> gt2186a@prism.gatech.EDU (COBIA,FRANK NAYLOR) writes: > I Have been working on a program to replace the CDPlayer.app that > is in the NeXT demos. It has several shortcomings that I would > like to fix. I've gotten tired enough of trying to answer FAQ questions about CDPlayer.app that I've also started writing a replacement. I've been threatening to do it for awhile now, but I didn't really start until the thread titled "CDPlayer.app questions (not the usual ones)" that started back on August 19th. I was hoping to have something presentable within a week of that article, but I've been buried with "real work" lately (due to the new semester starting up) so it's not presentable yet. Once it's presentable, I'll make it and it's source code available. > I also hope to expand it to be able to extract the music digitally > through the SCSI bus and either record, play or both. I'd like to see this too, but I wasn't sure if I was going to get to it in the program I'm working on. Certainly it won't be in my initial release. This gets tricky as I don't think the commands to do it have been standardized yet. > However, I am having some problems. I will probably be able to > build a CDPlayer replacement, but I do not understand it all. > I am using the NeXT SCSI example and the source from play3401 > to do this. Basically I need pointers to documents on the > commands that SCSI CD-ROMs respond to and their response to > those commands. Since there is a standard (except extracting > audio through the bus), there should be a document somewhere. > I also need the layout of audio CDs. What is there file > structure? > > If anyone knows where I can find this kind of documentation > I would appreciate the help. I will also list a few of the > major questions I have in case anyone knows the answers to > these specific things. I have a writeup from Sony (which is a little confusingly worded at places). They mailed it to me, but I'd have to search around to find the phone number I had to call to get it. I hope to document my code enough that people will be able to see how the commands work -- but then I always was a dreamer... > - How can I find out if there is a disk in the drive. I can > send it a spin up message and then check the error fields > but I would rather have a command that is a no-op. I suspect this is what CDPlayer.app does, and it's one of the things I am very intent on changing. Doing that causes the CD to stop playing if it was already in there and playing. Instead of that, try doing a playbackstatus command or a readsubchannel "current position" command. These will tell you if there's a CD in there and already running, without interrupting it if it is. > - Is there a quick and easy way to discover what kind of > disk is in the drive. Is it an audio or data? Hmm. Depending on what you mean, it's part of the info that comes back from the readtoc (table-of-contents) command. > - How can I search the SCSI bus to find the CD-ROM(s) that > are connected? I can do this now by opening all the > /dev/rsd?h files, but I do not like this. Preferably I > want to be able to find the drives even across multiple > SCSI host adapters. I'm not enough of a unix guru to know this part yet. It seems that you can't do an open on a CD-ROM drive unless there's a disc in it, and you can't do the identify without doing the open (unless I'm missing something there). I suspect there's a way to do this by using the generic scsi devices of /dev/sg*, but I haven't investigated that yet other than reading a few man pages. > - How can I make sure that there are not any other programs > trying to access the drive at the same time I am? I don't think you can, so I'm assuming I have to write my program such that it won't care if some other program does something with the device. > - Right now the program has to be run under the root id > (either by root or set uid). Is there a way to do this > without being root? This isn't that big a deal to me. I'm hoping to split the application apart, the way Scott Hess split apart Stuart and slog. Have all the priviledged commands in a setuid root program, and have the rest of it be able to run as the user. I haven't done *that* yet either, and the initial version will probably have to run as root too. I am at least using seteruid() calls to flip between being "root" and being the regular user though, so only the parts that have to run as root will be running as root. I consider this a very important issue, as no one should pick up an object file off the net and blindly run it as root. Thus I always give out the source for programs which need to run as root, and if I make this application snazzy enough then I might not want to give out the source code to the snazzy GUI part. And other people will probably want to write their own snazzy GUI part, and it'd be nice if all such programs could use the same code for the stuff that needs to be done as user root. Actually, what would be nice is if NeXTSTEP had more support for the handling of audio CD's, so programmers could get the functions of these special SCSI commands without having to be root to do it. -- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu ITS Systems Programmer (handles NeXT-type mail) Rensselaer Polytechnic Institute; Troy NY USA
Newsgroups: comp.sys.next.programmer From: geom2@sfb256.iam.uni-bonn.de ( Michael Moellney ) Subject: Problems with NXBrowser Sender: news@work1.rhrz.uni-bonn.de (News-Admin) Message-ID: <GMT03Sep.93.35948@work1.rhrz.uni-bonn.de> Date: Fri, 03 Sep 93 18:47:57 GMT Organization: Applied Math, University of Bonn, Germany HI ! I can't find a way to set the numbers of columns my NXBrowser should display from the beginning of my program! Some Questions: 1. Is there a way to define the number of columns in InterfaceBuilder ?? 2. What is the smoothest way to set the number of columns from the delegate of NXBrowser AND what messages must I send NXBrowser to display the choosen number WITHOUT resizing the NXBrowser-Window. There is: setMinColumnWidth:1 setMaxVisibleColumns:5 BUT ?????????? to redisplay with new number of columns I tried display: NOP! I tried sizeBy:0:0 Mmmh, draws correct Cells seperates Titles but no seperators are drawn to cellArea! So whats my fault ?? Thanks for any help, Michael
Newsgroups: comp.sys.next.programmer From: prail@doc.tip.ameslab.gov (Joel Prail) Subject: Re: SCSI programming questions Message-ID: <CCsLqv.5M4@news.iastate.edu> Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA References: <111366@hydra.gatech.EDU> Date: Fri, 3 Sep 1993 19:20:54 GMT In article <111366@hydra.gatech.EDU> gt2186a@prism.gatech.EDU (COBIA,FRANK NAYLOR) writes: > I Have been working on a program to replace the CDPlayer.app that > is in the NeXT demos. It has several shortcomings that I would > like to fix. I also hope to expand it to be able to extract the > music digitally through the SCSI bus and either record, play or > both. > > However, I am having some problems. I will probably be able to > build a CDPlayer replacement, but I do not understand it all. > I am using the NeXT SCSI example and the source from play3401 > to do this. Basically I need pointers to documents on the > commands that SCSI CD-ROMs respond to and their response to > those commands. Since there is a standard (except extracting > audio through the bus), there should be a document somewhere. > I also need the layout of audio CDs. What is there file > structure? > > If anyone knows where I can find this kind of documentation > I would appreciate the help. I will also list a few of the > major questions I have in case anyone knows the answers to > these specific things. > /NextDeveloper/Examples/UNIX/SCSI_CD has all sorts of examples for using the SCSI bus directly from your program. They even throw in some useful fuctions to play, read table of contents, etc. But (!!!!) beware: NeXT made a booboo in these examples. They will not work on intel machines. It seems as though they use bit field structs all over the place. You will need to go in and make these bit fields more portable. I started to do this, but found that it is easier to hack it out by hand using an array of unsigned chars. Poke the scsi ops in this array and pass it to the scsi driver. Look through the example for more info. > - How can I find out if there is a disk in the drive. I can > send it a spin up message and then check the error fields > but I would rather have a command that is a no-op. When you open the device for the CDROM drive (like /dev/rsd1h), it will ask you to insert a disk. If there is a disk in there, chances are that Workspace Man has already got hold of it. > > - Is there a quick and easy way to discover what kind of > disk is in the drive. Is it an audio or data? > > - How can I search the SCSI bus to find the CD-ROM(s) that > are connected? I can do this now by opening all the > /dev/rsd?h files, but I do not like this. Preferably I > want to be able to find the drives even across multiple > SCSI host adapters. > see the example programs... > - How can I make sure that there are not any other programs > trying to access the drive at the same time I am? > the os does this... > - Right now the program has to be run under the root id > (either by root or set uid). Is there a way to do this > without being root? This isn't that big a deal to me. > > > I would greatly appreciate any help. > > Frank > > -- > COBIA,FRANK NAYLOR > Georgia Institute of Technology, Atlanta Georgia, 30332 > uucp: ...!{allegra,amd,hplabs,ut-ngp}!gatech!prism!gt2186a > Internet: gt2186a@prism.gatech.edu
Newsgroups: comp.sys.next.programmer From: dylan@angst.com (Dylan Kohler) Subject: Can't use precompiled headers Message-ID: <1993Sep3.190127.4671@Angst.COM> Sender: dylan@Angst.COM Organization: Angst Animation Post Production Date: Fri, 3 Sep 1993 19:01:27 GMT Help! All of a sudden when I try to compile my project, I get the following warning messages.... Controller.h:4: warning: could not use precompiled header '/NextDeveloper/Headers/appkit/appkit.p', because: Controller.h:4: warning: 'graphics.h' has different date than in precomp This is making compiling absolutely CRAWL. How do I fix this? I'll summarize if anyone asks. -- ___________________________________ Dylan Kohler Angst Animation Post Production dylan@angst.com (NeXTmail welcome)
Newsgroups: comp.sys.next.programmer From: Gregory_Mutzel@afs.com Subject: AfsSecurityKit Alpha Testers Wanted Message-ID: <1993Sep3.205137.4679@afs.com> Keywords: AfsSecurityKit Sender: mutz@afs.com Date: Fri, 3 Sep 1993 20:51:37 GMT Anderson Financial Systems, Inc. is seeking Alpha Testers for its AfsSecurityKit. AfsSecurityKit The AfsSecurityKit provides read, write, and execute privileges to user interface objects in NEXTSTEP applications. The AfsSecurityKit is used to turn the view of a particular set of data on or off for users. For example, the AfsSecurityKit may be used to hide a box containing financial data objects for user Bill while user Bob only has read privileges and Jerry has read and write privileges. The standard set of objects bundled with the kit allow security privileges to be set on Windows, Panels, Boxes, and Buttons. As with the appkit, developers can create their own custom security objects. Administration of security is accomplished with an interface from within your application. Security is designed to be manipulated by a designated administrator. Securable objects have their defaults set using interface builder inspectors, but may be altered at run time. Each valid application user has a corresponding AfsSecurity object which records differences between securable object's default security states and user settings. The security administrator sets the user's states, which are then saved in a HashTable. Non-administrative users may not set security values for any objects. The security flow for most objects is trickle-down: if a controlling object and its subordinates want security, the controlling object has the opportunity to indirectly restrict the security of subordinates by restricting its own security, or by directly setting security for subordinates. Typically, subordinate objects will not receive less restrictive security than the controlling object. Retail price: call Educational price: call Availability: Alpha No runtime distribution fee. OS version requirements: NEXTSTEP 3.0, 3.1 Available immediately for both the NeXT Motorola-based environment, and for NEXTSTEP running on Intel-based 80486 and Pentium computers. If you are interested in participating in our Alpha Testing Program, please email or call: Gregory L. Mutzel, 215-653-0911 Anderson Financial Systems, Inc. email: Gregory_Mutzel@afs.com [NeXTmail Appreciated]
Newsgroups: comp.sys.next.programmer From: johnc@object.com (John Coppinger) Subject: My favorite internal NeXT class Message-ID: <1993Sep3.214203.1591@object.com> Sender: johnc@object.com Organization: Objective Technologies,Inc. Date: Fri, 3 Sep 93 21:42:03 GMT Look for it in HeaderViewer.app: NXSplitViewWithoutConvulsions : NXSplitView jc
Sender: news@stasys.sta.sub.org From: cmarq@salyko.cube.net (Christoph Marquardt) Newsgroups: comp.sys.next.programmer Subject: modified makefile linking problem Date: 3 Sep 1993 19:04:18 GMT Organization: CUBENet Multiline BBS Message-ID: <2684fi$l7p@salyko.cube.net> I'm currently working on a graphical version of Nethack on NextStep. I didn't want to change the whole structure of the sources, so I must incorporate the original unix makefile into the ProjectBuilder maintained makefile. To do this I included the main nethack makefile in makefile.preamble, added new dependencies to OTHER_PRODUCT_DEPENDS and all the nethack object files (that are made by these additional dependencies) to OTHER_OFILES. So the real nethack gets compiled with the new dependencies and can be linked against the Nethack Application. However, if I change an internal nethack source the application makefile tries to make the appropriate .o file before the new dependencies get any chance to make them first. So, how can I prevent the ProjectBuilder makefile from compiling these OTHER_OFILES? I only want them to get linked into the main program, as only the original makefile really knows how to handle them. Is there any other way to incorporate these .o files into the linking process? Thanks, Christoph Marquardt * Christoph Marquardt - cmarq@cube.net * * MausNet: Christoph_Marquardt@N.maus.de * * Phone : (49)9082/2096 Fax: (49)9082/2095 * * SnailMail: Christoph Marquardt - Jagdschloss Hirschbrunn * * D-86736 Dornstadt-Auhausen Germany *
Newsgroups: comp.sys.next.programmer From: RAUCH@SATAN.VMSMAIL (Felix Rauch) Subject: Re: How to change 7/8 bits on serial port (black) In-Reply-To: RAUCH@SATAN.VMSMAIL's message of Fri, 3 Sep 1993 01:40:34 GMT Message-ID: <CCsxIy.CCD@bernina.ethz.ch> Sender: news@bernina.ethz.ch (USENET News System) Organization: FEDERAL INSTITUTE OF TECHNOLOGY (ETH) ZURICH, SWITZERLAND References: <CCr8nn.KrG@bernina.ethz.ch> Date: Fri, 3 Sep 1993 23:35:21 GMT In <CCr8nn.KrG@bernina.ethz.ch> RAUCH@SATAN.VMSMAIL writes: > A friend of mine who has no connection to the usenet aksed me to post this > question. He would like to know how to change the settings of the serial > ports such as 7/8 bits and the number of stopbits. He said he didn't find > anything about this subject in the man-pages. Any hint how to do this, where > to find the corresponding man-page or a mini-example would be appreciated. I'm sorry to followup myself but i forgot to add that he wants to do this from within a programm, not as a setup. Felix Rauch --- Felix Rauch, CS-Student @ ETH Zurich, Switzerland. internet: rauch@avalon.unizh.ch (NeXT Mail welcome) <Don't let them fool ya, or even try to school ya!> (Bob Marley)
Newsgroups: comp.sys.next.programmer From: anderson (Ken Anderson) Subject: Re: Jumping to Emacs (rather than Edit) from Project Builder Message-ID: <1993Sep3.141137.21066@biztech.com> Sender: news@biztech.com Organization: Biztech, Inc. References: <REUVEN.93Sep2152518@primavera.mit.edu> Date: Fri, 3 Sep 1993 14:11:37 GMT In article <REUVEN.93Sep2152518@primavera.mit.edu> reuven@athena.mit.edu (Reuven M. Lerner) writes: >I really like the fact that clicking on a compilation error in Project >Builder opens the appropriate file and moves the cursor to the >offending line. > >The thing is, I use Emacs for editing, and would like PB to do the >same thing inside of Emacs, rather than in Edit. I tried to use PB's >Preferences window to point to Emacs, but it didn't seem to work. (I >tried Emacs.app, emacs, and emacsclient.) > >I'm tempted to write a shell script that re-routes PB's commands to >Emacs, but before I do that, I was wondering if someone had already >solved this problem. Any ideas? > >Reuven Reuven, I've tried exactly what you've mentioned using Emacs.app (latest version), and it works EXCEPT for line # positioning. This would be trivial to implement if I had the time. All you really need to do is modify the Emacs.app front-end to accept the correct messages (they were posted recently in this forum). If you need the messages, I can mail them to you. Ken Anderson anderson@biztech.com Stamford, CT
From: jpburke@emory.edu (James Burkett) Newsgroups: comp.sys.next.programmer Subject: Help Compiling MUSH 7.2.5 Message-ID: <4735@emoryu1.cc.emory.edu> Date: 3 Sep 93 23:02:11 GMT Organization: Emory University, Atlanta, GA Hey, I am trying to compile MUSH 7.2.5 under NEXTStep 2.0 (BSD 4.3), as a BSD 4.3 program. Everything compiles into object files beautifully, but when the linker (ld) tries to link them into an executable, it reports that symbol _end is undefined. I inserted a -y flag (to tell me which files a specified symbol appears, the symbol`s type and whether the file defines or references it) in the Makefile, and it produced a pointer to malloc.o. Malloc.c has some malloc routines, but NeXT doesn't need them. However, there are some additional routines that mush uses for memory management purposes, and one of those declares extern char end[]. Has anyone out there tried to compile MUSH 7.x under NEXTStep 2.0 (BSD 4.3)? If so, did you encounter the same problem, and what was your solution, if you found one? Does anyone have an idea or a lead or a hint about how to fix this, without grepping all the source code for every snippet with "end" in it? Since I am borrowing a friend's account to post this, please don't respond to the account this is posted from. Please either reply to me directly, or post to comp.sys.next with "mush" as part of your subject. thanx in advance, shy aberman labsha@vader.cc.emory.edu
Newsgroups: comp.sys.next.programmer From: Robert_La_Ferla@hot.com Subject: Re: Can anyone recommend a simple, flat-file data base for NEXTSTEP. Message-ID: <1993Sep3.152815.1803@hot.com> Sender: robertl@hot.com Organization: Hot Technologies References: <1993Aug31.175400.21558@hot.com> Date: Fri, 3 Sep 1993 15:28:15 GMT In article <1993Aug31.175400.21558@hot.com> Robert_La_Ferla@hot.com writes: > If you're looking for something other than DataPhile, take a look at > RoseBase by Blue Rose Software and QuickBase by SoftDesign. While > not flat-file databases, they are relatively inexpensive and offer > much better performance. > > Robert La Ferla > Hot Technologies > > In article <1993Aug31.021810.3721@codex.oz.au> (Horace Lim) > hal@codex.com.au writes: > > This may seem like a simple question, sometimes you just don't need > a full featured RDBMS like Sybase or Oracle. > > > > Thanks Horace > > -- > > --------------------------------------------------- > > Horace A. Lim (a.k.a. Hal) > > Internet : hal@xedoc.com.au (NeXTMail welcome and appreciated) > > AppleLink: AUST0335 I'd like to note that I haven't used any of these products and that I am not recommending any of them. DataPhile is the most popular flat-file database for NEXTSTEP. I incorrectly assumed that you were aware of it. RoseBase is a back-end SQL database that is not shipping yet but looks promising. QuickBase is also a back-end database. When I think of databases, it's from a programmer's perspective so I tend to forget that most people use a front-end. Sorry for giving you misinformation. Robert
From: gad@eclipse.its.rpi.edu (Garance A. Drosehn) Newsgroups: comp.sys.next.programmer Subject: Re: SCSI programming questions Date: 4 Sep 1993 02:55:56 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Distribution: world Message-ID: <26903s$2nc@usenet.rpi.edu> References: <CCsLqv.5M4@news.iastate.edu> prail@doc.tip.ameslab.gov (Joel Prail) writes: > gt2186a@prism.gatech.EDU (COBIA,FRANK NAYLOR) writes: > > I Have been working on a program to replace the CDPlayer.app that > > is in the NeXT demos. It has several shortcomings that I would > > like to fix. I also hope to expand it to be able to extract the > > music digitally through the SCSI bus and either record, play or > > both. > > /NextDeveloper/Examples/UNIX/SCSI_CD has all sorts of examples > for using the SCSI bus directly from your program. They even > throw in some useful fuctions to play, read table of contents, > etc. But (!!!!) beware: NeXT made a booboo in these examples. > They will not work on intel machines. Ick. You're right. I tried my application on an NS-Intel box here and it didn't get very far at all. Arg. > > - How can I find out if there is a disk in the drive. I can > > send it a spin up message and then check the error fields > > but I would rather have a command that is a no-op. > > When you open the device for the CDROM drive (like /dev/rsd1h), > it will ask you to insert a disk. If there is a disk in there, > chances are that Workspace Man has already got hold of it. If your call to open looks like: m_fd = open( rawDevName, O_RDONLY | O_NDELAY ); then the system will not ask the user to insert a disk. What happens is that the open succeeds if there's a disk in the drive, and it fails if there is no disk in the drive (or no drive at that raw device address). It's also quite possible for there to be a disk in the drive without the workspace having the drive. > > - How can I make sure that there are not any other programs > > trying to access the drive at the same time I am? > > > > the os does this... Hmm. Does it? I can have both CDPlayer.app and my cd-playing program accessing the CD-ROM drive at the same time, for instance (I know I can, I've done it...). Well, anyway, I guess coming up with a program that works on NS/Intel too is going to make things a little tricker than I was expecting. -- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu ITS Systems Programmer (handles NeXT-type mail) Rensselaer Polytechnic Institute; Troy NY USA
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Help Compiling MUSH 7.2.5 Message-ID: <1993Sep4.025559.3218@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <4735@emoryu1.cc.emory.edu> Date: Sat, 4 Sep 1993 02:55:59 GMT In article <4735@emoryu1.cc.emory.edu> labsha@vader.cc.emory.edu (shy aberman) writes: > I am trying to compile MUSH 7.2.5 under NEXTStep 2.0 (BSD 4.3), >as a BSD 4.3 program. Everything compiles into object files >beautifully, but when the linker (ld) tries to link them >into an executable, it reports that symbol _end is undefined. Standard form response: RTFM get_end(3) >I inserted a -y flag (to tell me which files a specified symbol >appears, the symbol`s type and whether the file defines or >references it) in the Makefile, and it produced a pointer to >malloc.o. Malloc.c has some malloc routines, but NeXT doesn't >need them. However, there are some additional routines that mush >uses for memory management purposes, and one of those declares >extern char end[]. [I don't know where you found mush 7.2.5; archie came up with nothing, and the most recent I found in the usual places is 7.2.3, which according to the comp.mail.misc FAQ is the most recent. I assume this aspect hasn't changed, however.] In 7.2.3, the only reference is in malloc.c's xfree() procedure; xfree() looks like a front end to the real free() that attempts to determine if its argument might have come from malloc(), or is patently absurd (in which case it does nothing). The mere fact that this code exists gives me the creeps! However, it looks like removing the extern line and replacing end with (char *)get_end() should work in _this_ case. -=EPS=-
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Help Compiling MUSH 7.2.5 Message-ID: <1993Sep4.030744.3869@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <4735@emoryu1.cc.emory.edu> <1993Sep4.025559.3218@csus.edu> Date: Sat, 4 Sep 1993 03:07:44 GMT In article <1993Sep4.025559.3218@csus.edu> I wrote: >However, it looks like removing the extern line and replacing >end with (char *)get_end() should work in _this_ case. In case that wasn't clear: #ifndef NeXT extern char end[]; #else void *get_end(); static char *end; if (!end) end=(char *)get_end(); #endif -=EPS=-
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: My favorite internal NeXT class Message-ID: <1993Sep4.034345.5474@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Sep3.214203.1591@object.com> Date: Sat, 4 Sep 1993 03:43:45 GMT In article <1993Sep3.214203.1591@object.com> johnc@object.com (John Coppinger) writes: >Look for it in HeaderViewer.app: > >NXSplitViewWithoutConvulsions : NXSplitView @implementation NXSplitViewWithoutConvulsions - display:(const NXRect *)rects:(int)rectCount { [window disableFlushWindow]; [super display:rects:rectCount]; [window reenableFlushWindow]; [window flushWindowIfNeeded]; return self; } @end [I'm not going to ask--I'm sure I won't like the answer.] -=EPS=-
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Runtime Environment Categories Message-ID: <1993Sep3.194534.1582@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software Date: Fri, 3 Sep 1993 19:45:34 GMT The docs for the runtime types describe a struct for Category (struct objc_category) which holds some interesting information. However, the runtime functions do not allow access to this information. Apparently, the only time this is used is to pass back information for the objc_loadModules() funtion. Anybody have suggestions for how to acces the category information at runtime for things which are not dynamically loaded? I'm afraid this information may not be retained beyond the call of objc_loadModules() which would be too bad. Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software
Newsgroups: comp.sys.next.programmer From: Robert_La_Ferla@hot.com Subject: Re: Two apps sharing same code with Project Builder? Message-ID: <1993Sep4.000609.2719@hot.com> Sender: robertl@hot.com Organization: Hot Technologies References: <1993Sep3.164926.1391@afs.com> Date: Sat, 4 Sep 1993 00:06:09 GMT This is incorrect. /LocalDeveloper/Headers is consulted but not by make. It's part of the standard include search path for the compiler. /NextDeveloper/Headers /NextDeveloper/Headers/ansi /NextDeveloper/Headers/bsd /LocalDeveloper/Headers /NextDeveloper/2.0CompatibleHeaders /usr/include /usr/local/include Robert La Ferla Hot Technologies In article <1993Sep3.164926.1391@afs.com> Michael_Pizolato@afs.com (Michael Pizolato) writes: > Bruce Gingery writes > >On this same note -- can anyone CONFIRM that /LocalDeveloper/Headers > >is consulted before /NextDeveloper/Headers in standard makes, and > >that /usr/local/lib is checked by ld for linkable libraries without > >specific makefile overrides? > > > >IF SO, it would appear that merely making the common code to > >/LocalDeveloper/Headers and /usr/local/lib specifying -lmylib > >AFTER the code is updated into the library should answer the > >original question... > > /LocalDeveloper/Headers is not consulted at all. In fact, neither > is /NextDeveloper/Headers. BUT, /usr/local/include and /usr/include > ARE consulted. /usr/include is a link to /NextDeveloper/Headers, > and you should make /usr/local/include be a link to > /LocalDevelopers/Headers. Remember that /LocalDeveloper is not > supported by NeXT, it's just the most common way to structure > programming directories since it parallels NeXT's directory structure. > > The same applies for /usr/local/lib and /usr/lib - both are consulted > (though /usr/lib is not a link, but at our site /usr/local/lib is > a link to /LocalDeveloper/Libraries). > > Thanx, > Michael > > -- > Michael Pizolato gnihtyreve noitseuq > > Michael_Pizolato@afs.com > NeXTMail appreciated
Newsgroups: comp.sys.next.programmer From: simsong@next.cambridge.ma.us (Simson L. Garfinkel) Subject: Re: Target/Action for own classes: How to do it Message-ID: <1993Sep4.142045.611@next.cambridge.ma.us> Sender: simsong@next.cambridge.ma.us Organization: NeXTWORLD Magazine References: <1993Sep2.184757.3070@aplki.toppoint.de> Date: Sat, 4 Sep 1993 14:20:45 GMT Surprise! That's because IB hides the fact that target/action is really not done by the Button class (for example), but by the ButtonCell class. You need to create two classes - one a subclass of Control (call it Snarf) and another a subclass of Cell (call it SnarfCell), and all will work fine. You'll even be able to alt-drag your control and have it turn into a matrix. Oh joy! -- ................................................................simson
From: haugelan+@pitt.edu (John C Haugeland) Newsgroups: comp.sys.next.programmer Subject: Re: Can anyone recommend a simple, flat-file data base for NEXTSTEP. Message-ID: <718@blue.cis.pitt.edu> Date: 4 Sep 93 17:01:03 GMT Sender: news+@pitt.edu Organization: University of Pittsburgh Horace A. Lim (a.k.a.Hal) asked about flat-file databases for NeXT. Besides DataPhile (which is the market leader, and a good program), I know of two others: There is VarioData (marketed by Impact Software), which is smaller and cheaper than DataPhile -- but has a few convenient features that DataPhile lacks. There are demo versions on the archives. And there is Celebro from Xanthus (the people who make Questor). It is a bigger and more ambitious program than either DataPhile or VarioData. In particular, it supports multi-user write access, and it has a powerful scripting language (similar to the one in Questor). It has just entered a second round of beta-testing. Contact Bjorn Blacklund, celebro@xanthus.se . John
Newsgroups: comp.sys.next.programmer From: kenny@netcom2.Netcom.COM (Ken Smith) Subject: How to make an 'inspector' panel? Message-ID: <KENNY.93Sep4131707@netcom2.Netcom.COM> Sender: kenny@netcom.com (Ken Smith) Organization: Netcom Online Communications Service Distribution: comp Date: Sat, 4 Sep 1993 21:17:07 GMT I'm fairly new to Nextstep programming. I'd like to add a panel similar to Interface Builder's 'Inspector' panel to a geometric shape editing program I'm writing, but I'm not exactly sure what guidlines to follow (if any). I want the inspector panel to contain a different set of widgets for each type of shape that it can inspect. My questions: 1. Do I want a seperate 'nib' file for each inspector? 2. Is it best to refer to all the different subviews in an inspector by assigning them 'tags' in Interface Builder and then having a parallel set of constants in my code to match those tags? Browsing through the developer documentation didn't give me much help. Does anybody know of any sample code that I could model? Thanks in advance, Ken Smith -- _______________________________________________________________________ kenny@netcom.com
Newsgroups: comp.sys.next.programmer From: carlos@thinkmuch.dolphin.com (Carlos Salinas) Subject: Text's Click Table Message-ID: <CCuHMw.KH@thinkmuch.dolphin.com> Sender: carlos@thinkmuch.dolphin.com (Carlos Salinas) Organization: Deep Breakfast Productions Date: Sat, 4 Sep 1993 19:47:19 GMT Does anybody know anything about Text's click table? I need to change the behaviour of double-click in a custom Text object I've built. NeXT's wonderful <cough cough> documentation says very little on the subject. What I do know is: Click table (NXEnglishClickTable) is an array of 80 (NXEnglishClickTableSize) NXFSM structures. Each structure is as follows: typedef struct _NXFSM { const struct _NXFSM *next; /* state to go to, NULL implies final state */ short delta; /* if final state, this undoes lookahead */ short token; /* if final state, < 0 word is newline, * = is dark, > is white space */ } NXFSM; Some Questions: What states do the 80 entries correspond to? What is delta and how is it used? What is token and how is it used? Pointers on use and abuse of click tables would be most appreciated. Thanks! 'Los
Newsgroups: comp.sys.next.programmer From: carlos@thinkmuch.dolphin.com (Carlos Salinas) Subject: Text's Click Table Message-ID: <CCuHp5.LA@thinkmuch.dolphin.com> Sender: carlos@thinkmuch.dolphin.com (Carlos Salinas) Organization: Deep Breakfast Productions Date: Sat, 4 Sep 1993 19:48:41 GMT Does anybody know anything about Text's click table? I need to change the behaviour of double-click in a custom Text object I've built. NeXT's wonderful <cough cough> documentation says very little on the subject. What I do know is: Click table (NXEnglishClickTable) is an array of 80 (NXEnglishClickTableSize) NXFSM structures. Each structure is as follows: typedef struct _NXFSM { const struct _NXFSM *next; /* state to go to, NULL implies final state */ short delta; /* if final state, this undoes lookahead */ short token; /* if final state, < 0 word is newline, * = is dark, > is white space */ } NXFSM; Some Questions: What states do the 80 entries correspond to? What is delta and how is it used? What is token and how is it used? Pointers on use and abuse of click tables would be most appreciated. Thanks! 'Los
Newsgroups: comp.sys.next.programmer From: carlos@thinkmuch.dolphin.com (Carlos Salinas) Subject: Text's Click Table Message-ID: <CCuI4p.Mo@thinkmuch.dolphin.com> Sender: carlos@thinkmuch.dolphin.com (Carlos Salinas) Organization: Deep Breakfast Productions Date: Sat, 4 Sep 1993 19:58:00 GMT Does anybody know anything about Text's click table? I need to change the behaviour of double-click in a custom Text object I've built. NeXT's wonderful <cough cough> documentation says very little on the subject. What I do know is: Click table (NXEnglishClickTable) is an array of 80 (NXEnglishClickTableSize) NXFSM structures. Each structure is as follows: typedef struct _NXFSM { const struct _NXFSM *next; /* state to go to, NULL implies final state */ short delta; /* if final state, this undoes lookahead */ short token; /* if final state, < 0 word is newline, * = is dark, > is white space */ } NXFSM; Some Questions: What states do the 80 entries correspond to? What is delta and how is it used? What is token and how is it used? Pointers on use and abuse of click tables would be most appreciated. Thanks! 'Los
From: david@jaffe.com Newsgroups: comp.sys.next.programmer Subject: Re: Help with Sound Objects Date: 5 Sep 1993 06:46:58 GMT Organization: University of California, Berkeley Message-ID: <26c212$aq1@agate.berkeley.edu> References: <cgO1Rkm00io=01mIFZ@andrew.cmu.edu> It's possible (likely) that the sound object needs you to return to the main event loop so that it can properly get its "done playing" message. It's a bad idea, anyway, to go into a tight loop to do a wait, the way you're doing. A better way would be to queue up each invocation of the sound using timed entries. Timed entry procs allow events and other messages to come through. (Better yet, you could use the Music Kit to do it.) This may not be all the info you need to solve your problem, but it may put you on the right track. David Jaffe
From: david@jaffe.com Newsgroups: comp.sys.next.programmer,zgeng@nextear.psych.umn.edu Subject: Re: DSP external memory Date: 5 Sep 1993 07:05:36 GMT Organization: University of California, Berkeley Message-ID: <26c340$avr@agate.berkeley.edu> References: <CCsGHH.KCx@news2.cis.umn.edu> >PROBLEM: > I can't set up right to use the 8K DSP private RAM. You need to set OMR (operating mode register) to #6. That is, movec #6,omr If you don't already have it, you should get the Motorolla DSP manual. See pages 6-12 and 6-13 for a discussion of the operating mode register. David A. Jaffe -- NewsGrazer, a NeXTstep(tm) news reader, posting -- M>UQR=&8P7&%N<VE[7&9O;G1T8FQ<9C!<9FUO9&5R;B!#;W5R:65R.WT*7&UA M<F=L,3(P"EQM87)G<C$R,`I[7&-O;&]R=&)L7')E9#!<9W)E96XP7&)L=64P M.WT*7'!A<F1<='@Q,34R7'1X,C,P-%QT>#,T-39<='@T-C`X7'1X-3<V,%QT M>#8Y,3)<='@X,#8T7'1X.3(Q-EQT>#$P,S8X7'1X,3$U,C!<9C!<8C!<:3!< M=6PP7&9S,C1<9F,P(%P*/@I<<&%R9%QT>#$Q-#!<='@R,S`P7'1X,S0T,%QT M>#0V,#!<='@U-S8P7'1X-CDP,%QT>#@P-C!<='@Y,C`P7'1X,3`S-C!<='@Q M,34R,"!04D]"3$5-.EP*/B`@("`@("!)(&-A;B=T('-E="!U<"!R:6=H="!T M;R!U<V4@=&AE(#A+($134"!P<FEV871E(%)!32Y<"EP*66]U(&YE960@=&\@ M<V5T($]-4B`H;W!E<F%T:6YG(&UO9&4@<F5G:7-T97(I('1O(",V+B`@(%1H M870@:7,L7`I<"@EM;W9E8R`C-BQO;7)<"EP*268@>6]U(&1O;B=T(&%L<F5A M9'D@:&%V92!I="P@>6]U('-H;W5L9"!G970@=&AE($UO=&]R;VQL82!$4U`@ M;6%N=6%L+B`@4V5E('!A9V5S(#8M,3(@86YD(#8M,3,@9F]R(&$@9&ES8W5S M<VEO;B!O9B!T:&4@;W!E<F%T:6YG(&UO9&4@<F5G:7-T97(N7`H*7'!A<F1< M='@Y-C!<='@Q.3(P7'1X,C@X,%QT>#,X-#!<='@T.#`P7'1X-3<V,%QT>#8W K,C!<='@W-C@P7'1X.#8T,%QT>#DV,#`@7`I$879I9"!!+B!*869F90I]"C8W `
From: david@jaffe.com Newsgroups: comp.sys.next.programmer Subject: Re: DSP external memory Date: 5 Sep 1993 07:36:29 GMT Organization: University of California, Berkeley Message-ID: <26c4tt$b7p@agate.berkeley.edu> References: <26c340$avr@agate.berkeley.edu> I forgot about setting wait states and such. OK, here's a complete enable. May be overkill. movec #6,omr ;data rom enabled, mode 2 bset #0,x:m_pbc ;host port bset #3,x:m_pcddr ; pc3 is an output with value bclr #3,x:m_pcd ; zero to enable the external ram movep #>$000000,x:m_bcr ;no wait states on the external sram David Jaffe -- NewsGrazer, a NeXTstep(tm) news reader, posting -- M>UQR=&8P7&%N<VE[7&9O;G1T8FQ<9C!<9FUO9&5R;B!#;W5R:65R.WT*7&UA M<F=L,3(P"EQM87)G<C$R,`I[7&-O;&]R=&)L7')E9#!<9W)E96XP7&)L=64P M.WT*7'!A<F1<='@Q,34R7'1X,C,P-%QT>#,T-39<='@T-C`X7'1X-3<V,%QT M>#8Y,3)<='@X,#8T7'1X.3(Q-EQT>#$P,S8X7'1X,3$U,C!<9C!<8C!<:3!< M=6PP7&9S,C1<9F,P($D@9F]R9V]T(&%B;W5T('-E='1I;F<@=V%I="!S=&%T M97,@86YD('-U8V@N("`@3TLL(&AE<F4G<R!A(&-O;7!L971E(&5N86)L92X@ M($UA>2!B92!O=F5R:VEL;"Y<"EP*"6UO=F5C("`@(S8L;VUR("`@("`@("`@ M("`@("`@("`@.V1A=&$@<F]M(&5N86)L960L(&UO9&4@,EP*("`@("`@("!B M<V5T("`@(",P+'@Z;5]P8F,@("`@("`@("`@("`@(#MH;W-T('!O<G1<"B`@ M("`@("`@8G-E="`@("`C,RQX.FU?<&-D9'(@("`@("`@("`@("`[("`@<&,S M(&ES(&%N(&]U='!U="!W:71H('9A;'5E7`H@("`@("`@(&)C;'(@("`@(S,L M>#IM7W!C9"`@("`@("`@("`@("`@.R`@('IE<F\@=&\@96YA8FQE('1H92!E M>'1E<FYA;"!R86U<"B`@("`@("`@;6]V97`@("`C/B0P,#`P,#`L>#IM7V)C M<B`@("`@("`[;F\@=V%I="!S=&%T97,@;VX@=&AE(&5X=&5R;F%L('-R86U< M"EP*"EQP87)D7'1X.38P7'1X,3DR,%QT>#(X.#!<='@S.#0P7'1X-#@P,%QT M>#4W-C!<='@V-S(P7'1X-S8X,%QT>#@V-#!<='@Y-C`P7&9C,"!$879I9"!* '869F90I]"G@V `
Newsgroups: comp.sys.next.programmer From: ploeger@aplki.toppoint.de (Andreas Ploeger) Subject: Custom Palettes in IB: Warning Message-ID: <1993Sep5.115931.1089@aplki.toppoint.de> Sender: ploeger@aplki.toppoint.de (Andreas Ploeger) Organization: Andreas Ploeger Date: Sun, 5 Sep 93 11:59:31 GMT I wrote a custom palette for IB and by mistake deleted the file "palette.table" from the project so it wasn't in the palette. When I tried to load the palette all I get is an alert panel saying "unable to load palette ...". No further explanation on the console. No messages when I run IB under gdb. It was pure luck that I found the mistake after 1/2 hour already. -- -------------------------------------------------------------------- Andreas Ploeger E-Mail: ploeger@tpki.toppoint.de
Newsgroups: comp.sys.next.programmer From: sfch@dmu.ac.uk (Simon F C Harwood) Subject: Re: rplay - /dev/audio? Message-ID: <1993Sep5.165342.9044@dmu.ac.uk> Organization: De Montfort University, Leicester, UK. References: <CCqL3H.J6u@dartvax.dartmouth.edu> Date: Sun, 5 Sep 1993 16:53:42 GMT In article <CCqL3H.J6u@dartvax.dartmouth.edu> fermat@fermat.dartmouth.edu (Michael Glenn) writes: <deleted> >> you can "cat sound_file > /dev/audio", then rplay should >> work. > >Is there any such device on the NeXT (black)? Or, is there any unix NeXT (black) hardware has a /dev/sound. You could try using that. Simon.. -- -- It meant that Crowley had been allowed to develop Manchester, while Aziraphale had a free hand in the whole of Shropshire. Crowley took Glasgow, Aziraphale had Edinburgh. (neither claimed any responsibility for Milton
Newsgroups: comp.sys.next.programmer From: ploeger@aplki.toppoint.de (Andreas Ploeger) Subject: IB isTestingInterface: Warning Message-ID: <1993Sep5.165943.2320@aplki.toppoint.de> Keywords: InterfaceBuilder Sender: ploeger@aplki.toppoint.de (Andreas Ploeger) Organization: Andreas Ploeger Date: Sun, 5 Sep 93 16:59:43 GMT I used to have this code in my 'read:' methods runContext = [NXApp respondsTo:@selector(isTestingInterface)] ? ([NXApp isTestingInterface] ? IB_TEST : IB_RUN) : APPL_INIT; to distinguish if my class runs under InterfaceBuilder (IB_RUN), in InterfaceBuilder's test mode (IB_TEST) or in the real application (APPL_INIT). Now under 3.1 this doesn't work any more. '[NXApp isTestingInterface]' yields always 'NO' during 'read:', 'awake' and 'finishUnarchiving' (even in test mode). It only works correctly once the event loop started. This change doesn't make sense to me and it isn't mentioned in the release notes. I'm complaining because I used to have: if (runContext == IB_TEST) [self perform:@selector(awakeFromNib:) with:self afterDelay:0 cancelPrevious:NO]; in the next line to make up for the missing 'awakeFromNib:' message in IB test mode. NeXT, please fix both of this. -- -------------------------------------------------------------------- Andreas Ploeger E-Mail: ploeger@tpki.toppoint.de
Newsgroups: comp.sys.next.programmer From: ploeger@aplki.toppoint.de (Andreas Ploeger) Subject: Loadable Palettes: Install Dir Message-ID: <1993Sep5.183417.3099@aplki.toppoint.de> Sender: ploeger@aplki.toppoint.de (Andreas Ploeger) Organization: Andreas Ploeger Date: Sun, 5 Sep 93 18:34:17 GMT When you start writing a loadable palette ProjectBuilder writes this line into PB.project: INSTALLDIR = /NextDeveloper/Palettes; I changed this to INSTALLDIR = /LocalDeveloper/Palettes; using Edit.app and it works, but it's a hack. NeXT, allow the 'INSTALLDIR' to be set in ProjectBuilder under "Attributes". -- -------------------------------------------------------------------- Andreas Ploeger E-Mail: ploeger@tpki.toppoint.de
Newsgroups: comp.sys.next.programmer From: carlos@thinkmuch.dolphin.com (Carlos Salinas) Subject: Re: Text's Click Table Message-ID: <CCvMor.1p4@thinkmuch.dolphin.com> Sender: carlos@thinkmuch.dolphin.com (Carlos Salinas) Organization: Deep Breakfast Productions Date: Sun, 5 Sep 1993 10:34:03 GMT Sorry for the multiple posts. Another bonehead trying to get his news system to work. (I looked every where for a sign that it was working... I suppose I should have more faith. News is just another one of those bloated Unix software bureaucracies.) My apologies. 'Los BTW: Any click table answers or ideas out there?
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Re: IB isTestingInterface: Warning Keywords: InterfaceBuilder Message-ID: <26dkl5$u2@ursula.ee.pdx.edu> Date: 5 Sep 93 07:11:01 GMT Article-I.D.: ursula.26dkl5$u2 References: <1993Sep5.165943.2320@aplki.toppoint.de> ploeger@aplki.toppoint.de (Andreas Ploeger) writes: >Now under 3.1 this doesn't work any more. '[NXApp isTestingInterface]' >yields always 'NO' during 'read:', 'awake' and 'finishUnarchiving' (even in >test mode). Yeah, what is the deal? isTestingInterface is not terribly useful unless it is set early. fix it or at least explain...
From: di863@cleveland.Freenet.Edu (Tomas Hurka) Newsgroups: comp.sys.next.programmer Subject: Re: SCSI programming questions Date: 6 Sep 1993 07:15:23 GMT Organization: Case Western Reserve University, Cleveland, Ohio (USA) Message-ID: <26eo2c$jeg@usenet.INS.CWRU.Edu> Hi Carl, ======================================================================== >There is currently no NeXT support for multiple SCSI host adapters. >But if you prefer doing an inquire on all SCSI bus devices, just open >a generic scsi device /dev/sg[0-3] and try all the SCSI targets. But >then this would fail when NeXT decides to support multiple host >adapters, while the /dev/rsd[0-9]h method very likely wouldn't. I am not sure about 3.0, but 3.1 supports multiple SCSI host adapters. This is not only theoretical information, since I and my fried are writing driver for VL-Bus SCSI host adapter and our alpha version seems to work correctly with Adaptec 1542. Tomas Hurka
Newsgroups: comp.sys.next.programmer From: cray@news.nsysu.edu.tw (Craig Chao) Subject: NXJournaler Message-ID: <1993Sep6.055751.11529@news.nsysu.edu.tw> Organization: National Sun Yat-Sen University,Taiwan,R.O.C. Date: Mon, 6 Sep 1993 05:57:51 GMT Hi, We could record all events and play back them by the NXJournaler class. All the events are stored in a NXStream. Could we know the data structrue of this stream? I'd like to make some modifications on the recorded event stream and then play them back. Or, would you please tell me how could I program a NXJournaler class by myself? Thank you very much Sincerely, --Cray cray@mis.nsysu.edu.tw
Newsgroups: comp.sys.next.programmer From: cray@news.nsysu.edu.tw (Craig Chao) Subject: appName <--> keyWindow Message-ID: <1993Sep6.060203.11618@news.nsysu.edu.tw> Organization: National Sun Yat-Sen University,Taiwan,R.O.C. Date: Mon, 6 Sep 1993 06:02:03 GMT Hi, How could I get the global window number if I know only the application name? And, in opposite way, how could I know the application name if I know the window number? --Cray cray@mis.nsysu.edu.tw
From: claspac@tallis.ucsc.edu (Jas-Russell) Newsgroups: comp.sys.next.programmer Subject: Centrally stored palettes Date: 6 Sep 1993 07:42:15 GMT Organization: University of California, Santa Cruz Message-ID: <26epknINNsd5@darkstar.UCSC.EDU> Dear Folks: I have tried several times to develop a palette for a view which displays an arbitrarily named image, whose name is settable from the interface builder. The name should first be searched for as an element of the NIB images, then as a file-name (like NXImage is supposed to do). I got some success, but then was really frustrated in trying to get this palette usable from several different Apps (whose source is of course in several different directories). I thought I should be able to put the MyImage.palette directory in a central place and just refer to it. Apparently a palette doesn't have the object code for the classes which support it. And the object code doesn't have the "nib" that goes with it. So - any ideas? Examples? Products? Thanks Will Russell claspac@tallis.ucsc.edu 408-459-2060
Newsgroups: comp.sys.next.programmer From: dekorte@ibm19.scri.fsu.edu (Stephen L. DeKorte) Subject: Re: multiple active objects- how? References: <CCMyLL.Ior@mailer.cc.fsu.edu> <1993Sep1.140818.15542@biztech.com> Sender: usenet@mailer.cc.fsu.edu Organization: Supercomputer Computations Research Institute Date: Mon, 6 Sep 1993 07:41:45 GMT Message-ID: <CCx9DL.IwL@mailer.cc.fsu.edu> In article <1993Sep1.140818.15542@biztech.com> anderson@biztech.com writes: >>In article <CCMyLL.Ior@mailer.cc.fsu.edu> root@next1de.scri.fsu.edu >(Operator) writes: >> >>I'd like to make a NS app which can do *interactive* calculations, >>... >Steve, > > Well, you have two possible options here. How much state does >your calculation require? My personal recommendation would be to have a >timer constantly kicking off your calculation, so that regular screen >events can get through. This is the easiest way of 'threading' your >application. If you look up DPSTimedEntry, you'll find information... >Ken Anderson Thanks Ken (and others who replied), I've since made a TimedEntry class that does what I need beautifully. By the way, is there any collections of (free) low level objects for NeXT or just plain GNU Obj-C that handle stuff like Strings, Ints, Sockets, email, talk, news, List sorting, etc? I've written some of these myself already, but I'm wondering what else is out there. Thanks again, Steve Dekorte dekorte@scri.fsu.edu
Newsgroups: comp.sys.next.programmer From: cray@news.nsysu.edu.tw (Craig Chao) Subject: DPSContext Message-ID: <1993Sep6.063806.12145@news.nsysu.edu.tw> Organization: National Sun Yat-Sen University,Taiwan,R.O.C. Date: Mon, 6 Sep 1993 06:38:06 GMT Hi, How could I know the DPSContext of another runnning application? --Cray cray@mis.nsysu.edu.tw
From: cedman@princeton.edu (Carl Edman) Newsgroups: comp.sys.next.programmer Subject: Re: SCSI programming questions Message-ID: <CEDMAN.93Sep6092837@capitalist.princeton.edu> Date: 6 Sep 93 13:28:36 GMT References: <26eo2c$jeg@usenet.INS.CWRU.Edu> Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University In-Reply-To: di863@cleveland.Freenet.Edu's message of 6 Sep 1993 07:15:23 GMT To: di863@cleveland.Freenet.Edu (Tomas Hurka) Originator: news@nimaster In article <26eo2c$jeg@usenet.INS.CWRU.Edu> di863@cleveland.Freenet.Edu (Tomas Hurka) writes: Hi Carl, ======================================================================== >There is currently no NeXT support for multiple SCSI host adapters. >But if you prefer doing an inquire on all SCSI bus devices, just open >a generic scsi device /dev/sg[0-3] and try all the SCSI targets. But >then this would fail when NeXT decides to support multiple host >adapters, while the /dev/rsd[0-9]h method very likely wouldn't. I am not sure about 3.0, but 3.1 supports multiple SCSI host adapters. This is not only theoretical information, since I and my fried are writing driver for VL-Bus SCSI host adapter and our alpha version seems to work correctly with Adaptec 1542. What have here is a failure to communicate (mostly on my part, admittedly). What I meant was that NeXTstep does not currently support the use of multiple SCSI host adapaters at the same time in one machine. Of course, there are half a dozen different PC SCSI host adapters which will work with NS/FIP, one at a time. Carl Edman
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: check if object was deallocated, possible? Message-ID: <1993Sep6.103503.2590@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <1993Sep2.221400.2265@fnbc.com> Date: Mon, 6 Sep 1993 10:35:03 GMT In article <1993Sep2.221400.2265@fnbc.com> drew@fnbc.com (Drew Davidson) writes: -> In article <1993Sep2.133006.1872@next.cambridge.ma.us> -> simsong@next.cambridge.ma.us (Simson L. Garfinkel) writes: -> > In article <CPESCH.93Sep1150713@markov.fmi.uni-passau.de> -> > cpesch@markov.fmi.uni-passau.de (Christoph Pesch) writes: -> > > Hello! -> > > -> > > I hope someone can help me with the following Objective-C problem: -> > > -> > > Is there a way to check if an object is deallocated -> > > (without causing errors)? I.e. if I have a pointer -> > > to an object (id) and this object receives a -> > > free-message (from somewhere else) then I have a -> > > pointer that isn't nil but doesn't point to an -> > > object. In this situation it is usually a bad -> > > idea to send messages to the "nonexisting object". ;-) -> > > So I would like to check if the id points to a well -> > > allocated object before sending messages to it. -> > -> > I think that you should restructure your problem so -> > that this isn't necessary. ... -> Actually the isa->name is replaced with "FREED(id)" and -> the method tables are emptied - thus if a message is -> sent, the forwarding mechanism can call error: -> which will print "FREED(id) does not respond to foo". -> Memory re-usage warning is, of course, very valid - -> don't depend on this. Back to the original question... If one level of indirection/lookup doesn't greatly degrade your app's performance, why not place the object in a List object and be sure to remove it from the list if freed. #import <objc/List.h> and then use the -addObject or -append when object is created use the -freeObjects method when appropriate, or -removeObject: before calling -free on the object from anywhere. When appropriate, pass the index of the object instead of the id of the object, with addressability to the list already present. ============================================ See if object still exists with the -indexOf: ============================================ The List object seems to be QUITE well thought out for tracking objects, in addition to using them as members of a list. Since it's in the common classes rather than appkit, it can easily be overlooked. Bruce Gingery bruce@TotSysSoft.com Total System Software NeXT-Mail preferred, MIME-Mail ok
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: GDB and Run Time Linking Message-ID: <1993Sep6.104412.2651@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <1993Sep02.180000.11184@rat.csc.calpoly.edu> Date: Mon, 6 Sep 1993 10:44:12 GMT In article <1993Sep02.180000.11184@rat.csc.calpoly.edu> alex@data.acs.calpoly.edu (Alex Raftis) writes: -> -> Lately, I've been trying to get a 3.1 version of -> GraphicsWorkshop available for distribution, however, -> I've hit a snag. It seems that the compiler under -> 3.1 brought forth a couple of bugs that hadn't shown -> before, but are now causing random problems. The snag, -> is that they're in parts of GraphicsWorkshop -> that are dynamically linked, and I can't seem to get -> GDB to allow me to trace through that source code. -> Anyone got any ideas? If I can get this last bug out, -> I should have a new release ready within about two weeks. -> -> Alex Alex, This sounds like the same type thing we run into with browsers from time to time. Fill a browser from -loadColumnZero, and it will never notice that the actual delegate code such as -browser:fillMatrix:inColumn has source available. The trick seems to be to set the breakpoints as soon as the Class is available -- i.e. from Edit before hitting the RUN button in the gdb interface panel -- breaking the entry to methods with ``hidden'' calls. If this is NOT what you mean, sorry for the bandwidth. Perhaps it will help someone else. Bruce Gingery bruce@TotSysSoft.com Total System Software NeXT_Mail preferred, MIME mail ok
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: MAKEFILE Modified after being used. in PB Message-ID: <1993Sep6.110955.2729@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software Date: Mon, 6 Sep 1993 11:09:55 GMT If this has been asked before, I appologize. I haven't seen it. The purpose (I understand) of the Makefile.preamble and Makefile.postamble is to allow USER configuration of the make. If I want to change the make, and get the warning that the file has been modified -- the first time -- so be it -- and actually the notation could be handy. The problem comes in that the warning message is given (seemingly) forever thereafter. Can anyone tell me what conditions are checked to generate that message? It's more of a nuisance than a problem, so I haven't attempted everything I can think of to `touch' in some way after modifying the makefiles. I'd think that something either in PB or the make would eliminate this message according to its description. Bruce Gingery bruce@TotSysSoft.com NeXT-Mail preferred, MIME-Mail ok
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: A List Object Palette Message-ID: <1993Sep6.103243.10150@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software Date: Mon, 6 Sep 1993 10:32:43 GMT I would like to create a palette for List and would like to have an editor (or whatever) so that I can add objects in the nib to the List. Can anyone give pointers on examples that show how to add an Editor and grab the selected items? -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software
Newsgroups: comp.sys.next.programmer From: kane@cs.purdue.edu (Christopher Kane) Subject: Re: Text's Click Table Message-ID: <CCy02x.Gnp@mentor.cc.purdue.edu> Sender: news@mentor.cc.purdue.edu (USENET News) Organization: Purdue University References: <CCuHMw.KH@thinkmuch.dolphin.com> Date: Mon, 6 Sep 1993 17:18:32 GMT In article <CCuHMw.KH@thinkmuch.dolphin.com> carlos@thinkmuch.dolphin.com (Carlos Salinas) writes: > Does anybody know anything about Text's click table? > > I need to change the behaviour of double-click in a custom Text object > I've built. NeXT's wonderful <cough cough> documentation says very little > on the subject. [...] > Pointers on use and abuse of click tables would be most appreciated. A long time ago, I asked this of a campus consultant, who kindly then asked this question to NeXT. The response? That it would probably be a bad idea to use or modify the clickTables in software I was writing. Why? Because NeXT, which seems to think that clickTables are an undocumented feature (and there _is_ very little documentation on them), and thus their use or format might change in future NEXTSTEP releases, or they might go away altogether. As an undocumented feature, it might be decided that Text objects do not have to be backwardly compatible with the previous release in this respect. I have heard/read that a major re-write of the Text class is planned or has been done for NS 4.0. Helpful suggestions? The clickTables are just simple lexical analyzers (or the state machines thereto). Write a small program to write one of the clickTables to stdout, and perhaps then compare the output with what you observe as the behavior of the a Text object when you click on various characters. Write your own tiny app that just has a text-in-scrollview in a window--Edit may play with the clickTables itself, possibly distorting observations. Christopher J. Kane kane@cs.purdue.edu
Newsgroups: comp.sys.next.programmer From: dylan@angst.com (Dylan Kohler) Subject: SUMMARY: Can't use precompiled headers Message-ID: <1993Sep6.175336.3648@Angst.COM> Sender: dylan@Angst.COM Organization: Angst Animation Post Production References: <1993Sep3.190127.4671@Angst.COM> Date: Mon, 6 Sep 1993 17:53:36 GMT My question was this: > Help! All of a sudden when I try to compile my project, I get the > following warning messages.... > > Controller.h:4: warning: could not use precompiled header > '/NextDeveloper/Headers/appkit/appkit.p', because: > Controller.h:4: warning: 'graphics.h' has different date than in precomp > > This is making compiling absolutely CRAWL. How do I fix this? > I'll summarize if anyone asks. Thanks to Art Isbell, David Li, Simson Garfinkel, and Joseph Provine for the help. Somehow some files in my /NextDeveloper/Headers directory must have been touched. (I've had some nasty fsck episodes recently.) They suggested I either pull the original graphics.h file off CD-ROM with its original date and all, or to remake appkit.p. Since it turned out to be many more out-of-date files than just graphics.h, I chose the latter. To do so, as root: # cc -precomp appkit.h -o appkit.p I've since reloaded the system entirely, due to repeatedly nasty shutdowns. Thanks again! Hope this helps someone else. -- ___________________________________ Dylan Kohler Angst Animation Post Production dylan@angst.com (NeXTmail welcome)
Newsgroups: comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: Re: Multi-threaded Message-ID: <Sep6.232159.72404@acs.ucalgary.ca> Date: Mon, 6 Sep 1993 23:21:59 GMT References: <1993Sep1.143506.422@CAM.ORG!planon> Organization: The University of Calgary, Alberta > I have few question about the multi-thread capabilities of > NeXTSTEP. > I know that Window Server and Appkit are not thread safe. > But... List and HashTable classes are not member of AppKit. Nor are they thread-safe. It's probably easist to assume that unless otherwise specified, a class is NOT thread-safe. > I try to imagine a way to have many threads in an application > and I would like to have your comments about the following > strategy. To start with, the easiest way to get up and running with MultiThreaded AppKit programming is to use the ThreadKit classes, soon to be a commercially available product but currently available in beta form from cs.orst.edu in /pub/next/submissions as ThreadKit-0.92.tar. > ... MultiThreading strategy deleted ... Rather than adding a complicated mechanism for queuing requests, by far the best way to approach multi-threading is to protect atomic actions with a locking mechanism. Using the threadkit for example, you could add a member to a list in a threadsafe fashion as follows: [ aList threadLock ] ; [ aList addObject: myObject ] ; [ aList threadUnlock ] ; ... so long as all atomic operations on the list are bounded by threadLock / threadUnlock operations you are guaranteed thread-safety. The ThreadKit extends these locking semantics to instances of ALL classes as well as providing a bevy of other useful features (such as thread-safe use of AppKit classes in an extremely elegant fashion). -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
Newsgroups: comp.sys.next.programmer From: anderson@biztech.com (Ken Anderson) Subject: Re: IB isTestingInterface: Warning Message-ID: <1993Sep6.134817.25823@biztech.com> Sender: news@biztech.com Organization: Biztech, Inc. References: <1993Sep5.165943.2320@aplki.toppoint.de> Date: Mon, 6 Sep 1993 13:48:17 GMT In article <1993Sep5.165943.2320@aplki.toppoint.de> ploeger@aplki.toppoint.de (Andreas Ploeger) writes: > I used to have this code in my 'read:' methods > > runContext = > [NXApp respondsTo:@selector(isTestingInterface)] > ? ([NXApp isTestingInterface] ? IB_TEST : IB_RUN) > : APPL_INIT; > > to distinguish if my class runs under InterfaceBuilder (IB_RUN), in > InterfaceBuilder's test mode (IB_TEST) or in the real application (APPL_INIT). > > Now under 3.1 this doesn't work any more. '[NXApp isTestingInterface]' > yields always 'NO' during 'read:', 'awake' and 'finishUnarchiving' (even in > test mode). > > It only works correctly once the event loop started. This change doesn't make > sense to me and it isn't mentioned in the release notes. > > I'm complaining because I used to have: > > if (runContext == IB_TEST) > [self perform:@selector(awakeFromNib:) with:self afterDelay:0 > cancelPrevious:NO]; > > in the next line to make up for the missing 'awakeFromNib:' message in IB test > mode. > > NeXT, please fix both of this. > > -- Andreas, Since 3.0, I use 'if ([NXApp conformsTo:@protocol(IB)])' which works regardless of where/when/how. I also don't understand why you were sending awakeFromNib manually...IB sends it to any objects I have. What it DOESN'T do is send init or initFrame:. Ken Anderson anderson@biztech.com Stamford, CT
Newsgroups: comp.sys.next.programmer From: klett@sunrayce.solar.umn.edu (James P. Klett) Subject: STDIO???? Message-ID: <CCyKq4.M1C@news2.cis.umn.edu> Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota, Twin Cities Date: Tue, 7 Sep 1993 00:36:16 GMT Question, How can I get a keystroke from the user in the UNIX shell from an ObjectiveC program? For example, the cc compiler chokes on the 'getc' function because of some problem with 'bsd/curses.h' and when I use 'getchar' the user is forced to press return after each key. Anyone????? -- _/_/_/_/_/_/ _/ _/ _/ _/_/_/_/ _/_/_/_/ _/ _/_/ _/_/ _/_/ _/ _/ _/ _/_/_/ _/ _/ _/ _/_/_/ _/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/_/ _/ _/ _/ _/ _/_/_/_/ _/_/_/_/ /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ | | | Programmer James P. Klett | | klett@sunrayce.solar.umn.edu | | | \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
From: sanguish@digifix.com Newsgroups: comp.sys.next.announce,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.advocacy,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.bugs,comp.sys.next.programmer,comp.sys.next.marketplace Subject: Quick Guide to the comp.sys.next.* newsgroups Date: 6 Sep 1993 21:14:59 -0400 Organization: Next Announcements Message-ID: <26gnag$1f2@digifix.digifix.com> The current menagerie: 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. 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. 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. 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. 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. 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!!! 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. comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. related Newsgroups 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. comp.lang.objective-c Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. 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. Written by: Eric P. Scott eps@toaster.SFSU.EDU Minor editing: Scott Anguish Additions from: Greg Anderson (greg@afs.com) and Michael Pizolato (michael@afs.com)
From: gt2186a@prism.gatech.EDU (COBIA,FRANK NAYLOR) Newsgroups: comp.sys.next.programmer Subject: Follup to SCSI questions Message-ID: <111608@hydra.gatech.EDU> Date: 7 Sep 93 05:11:13 GMT Organization: Georgia Institute of Technology I did not get too much help with my questions. However, I have been able to learn some more on my own. I am sending part of this to the people that have replied to Since I have received some interest I will post it here also. I know that if someone sends me email then there are several others that did not. So here it is. ----------------------------------------------------- Well, I have answered several of my own questions. I have discovered most of the documentation I need. Parts of the CD-Audio specification and all of the SCSI specifications can be found in the ansi SCSI-2 specifications. I used ftp to get them from gatekeeper.dec.com they are in the directory /.8/misc/SCSI/SCSI-2/10ctxt.tar.Z I can now tell the CD to play, eject, read the table of contents and spin up or down. I am having two problems though. I can read the audio sense page which tells the volume and where the sound is going, but I can not set those values to what I want. I can not get the MODE SELECt command to work. The other problem I am having is using the TEST READY command which sends back a NO MEDIA message if there isn't a disk in the drive. This I can't even convince the ioctl to send. I also discovered how to talk to the drive without the OS prompting for a disk. This would be a problem if there was a SCSI floppy drive or syquest drive on the chain ahead of the CD-ROM. I do not have either of these, but I assume it prompts the user for any drive that uses removable media. Anyway, If you open /dev/sg0 you can talk to it. Then use /dev/rsdxh when you want the user to insert a disk. Someone suggested creating a CD-ROM object or some kind of loadable module instead of my own replacement for CDPlayer.app. I would like to do that also, but I want a replacement for CDPlayer.app because I have wanted to use CDs with more than 15 track (65 actually) and I got tired of hitting the next track button. Then I want to add to the program to allow it to read the CD through the SCSI bus and play the sound as well as record it to disk in the ".snd" format. I think the user interface will be easy and I hope that I will be able to make the object driving the CD-ROM as generic as possible. Things I still need to do. - Fix the two problems mentioned above. - Find out how CDPlayer.app gets notified of a CD being placed in the drive. - A relatively quick way to find out if the CD is an audio cd. I am not really interested in dealing with the mixed audio/data CDs at this point. - How to create a thread that can read and play the disk but still follow commands from the main application. If you are interested in helping me or are interested in seeing how I have done the things that I have, I would be glad to let you see the code. It is not intended as anything more than experimenting right now (I will have to completely redo it before I write a program), but it is commented well enough to allow you to understand what it is doing. Frank -- COBIA,FRANK NAYLOR Georgia Institute of Technology, Atlanta Georgia, 30332 uucp: ...!{allegra,amd,hplabs,ut-ngp}!gatech!prism!gt2186a Internet: gt2186a@prism.gatech.edu
From: andrew@wire.gatech.EDU (andrew abernathy) Newsgroups: comp.sys.next.programmer Subject: clock palette Date: 7 Sep 1993 03:09:16 -0400 Organization: The Ohio State University Sender: daemon@magnus.acs.ohio-state.edu Message-ID: <9309070629.AA02382@wire.gatech.edu> I at one point found an Interface Builder palette consisting of one or more clocks. I don't have it anymore, and can't find it on the archive sites. Does anyone know where I can find this palette, preferably a NeXTstep 3.x version, or does anyone at least remember the name of it? (yeah, ok, it's probably called Clocks or something, but the only thing I could find by that name was a program.) Thanks. --- andrew_abernathy@wire.gatech.edu (NeXTmail ok) Powered by Motorola
From: cpesch@markov.fmi.uni-passau.de (Christoph Pesch) Newsgroups: comp.sys.next.programmer Subject: MenuTemplate-class ??? Date: 07 Sep 1993 13:59:02 GMT Organization: University of Passau, Germany Message-ID: <CPESCH.93Sep7155902@markov.fmi.uni-passau.de> Hi! Does anyone know anything (any documentation) about the MenuTemplate class which Interfacebuilder seems to use for its PopUpList in one of its standard palettes (the one with the buttons, customnview and so on)? (I couldn't find it with the digital librarian). And does someone know how to get the PopUpList-editor and the special kind of button-inspector for a button which is associated with a PopUpList in an InterfaceBuilder palette? (I mean the button-inspector that ask you if the list should be a popuplist or a pulldown-menu.) --- The PopUpList uses a special subclass of MenuCell for its items. Therefor I can't use the button in IBs standard palette --- If I create a PopUpList, change the matrix to use a special subclass of MenuButton and associate it with a Button-object in IB then I always get the normal ButtonInspector and can't change the items of the PopUpList in IB. I tried to use the PopUpList-Button in the standard IB-palette to create an own palette and tried to change this Button and its associated PopUpList directly (setting up a new prototype-cell for the matrix, remove all items and add new ones). But I got run-time errors, because this Button is associated with a MenuTemplate-object instead of a PopUpList which doesn't respond to all the messages a PopUpList responds to (especially it can't free and add items). Then I tried to change the matrix of the MenuTemplate-object directly. I removed all rows, freed the cells and added new rows with the new MenuCell-type. I selected one cell, set the title of the associated button to the title of this cell ... and got runtime errors, because messages were send to the freed cells. If I remove all rows but don't free the cells then it works fine but it is an awful hack (I think), because I don't know what happens to the removed cells. Any better solutions? Thanks to everyone who has suggestions or solutions for me! Christoph Pesch (cpesch@markov.fmi.uni-passau.de)
From: aj681@cleveland.Freenet.Edu (Carlin Wiegner) Newsgroups: comp.sys.next.programmer Subject: Having problem with G&M Example Date: 7 Sep 1993 14:48:49 GMT Organization: Case Western Reserve University, Cleveland, Ohio (USA) Message-ID: <26i70h$6a1@usenet.INS.CWRU.Edu> I'm doing the first example in G&M NeXTSTEP programming book and for some reason it is not printing the numbers (i.e. buttons 0-9) in the readout as it should be. Any ideas about a connection I missed? I checked the code but didn't see any differences.... CW -- Ryan Wiegner aj681 on Cleveland Freenet
Newsgroups: comp.sys.next.programmer From: Greg_Anderson@afs.com (Gregory H. Anderson) Subject: CSNPanswers index a/o 7 Sep 1993 Message-ID: <1993Sep7.143527.28412@afs.com> Sender: greg@afs.com Date: Tue, 7 Sep 1993 14:35:27 GMT Here is the latest edition of the CSNPanswers database, which continues to grow on a daily basis. Articles added since the FAQ was posted last week begin with a '+'. Don't include the '+' if you send email. BTW, I have not gotten a single comment about the FAQ itself. Surely it's not perfect in its first incarnation? Please tell me if you think any of the material is unnecessary or important things have been left out. ========================================================================= 5 CSNPanswers INDEX Anderson Financial Systems maintains this collection of the "best of c.s.n.programmer" as an extension of the FAQ. Beginning October 1, 1993, this information will be available through anonymous ftp on cs.orst.edu as CSNPanswers.tar.Z, and will be updated monthly. For email access, send mail to CSNPanswers@afs.com with the indicated keyword as the subject. Since AFS has a dialup connection to the Internet, please do not abuse this service by asking for more than you need at one time. Violators will be cored and dumped. All useful articles posted to the group will be added to the database. If you answer a question privately through email, please consider sending a cc: to CSNPsubmit@afs.com so that all may benefit from your expertise in the future. All articles added to the CSNPanswers database will retain their original attribution, unless anonymity is requested. The following articles are available as of September 7, 1993, and more are being added daily. By the end of September, this list should be about 4 times longer, as archived material is formatted and added to the database. Submissions of useful older articles are welcomed, but please wait until after the October release, to avoid duplication and excess work for me. Special thanks go out to Alex Blakemore (alex@cs.umd.edu) and Tim Bissell (tim@ursidae.demon.co.uk) for contributing their personal c.s.n.programmer archives to the creation of this database. Keyword Description --------------------- ------------------------------------------------- +appkit/autoTerminate Auto-terminate app after inactivity period +appkit/commandKeys Triggering command key equivalents on Windows +appkit/copyText Copy the contents of one Text object to another appkit/DrawWithText Using a Text object to draw random strings +appkit/EditFromApp Talking to Edit.app from your app (3.0+ only) appkit/FormEditing Telling a Form how to select the next text cell +appkit/loadNibInits Initialization methods called from loadNibFile +appkit/MailFromApp Talking to Mail.app from your app appkit/NXBrowserBasics Building a single-column browser +appkit/NXBrowserSearh NXBrowser + TextField for dynamic search/scrolling appkit/NXBrowserTags Setting tags in NXBrowserCells +appkit/NXImageInit Status of NXImages after -initFromSection, etc. +appkit/OpenDirectory Subclass OpenPanel to pick directories appkit/OpenPanelBasics Getting selected file(s) from an OpenPanel appkit/paginateText Text object pagination methods +appkit/PopupListBasics Building a PopupList programmatically +appkit/scrollText Manipulate scrollable Text object programmatically appkit/stringRules Rules for how objects copy strings and frameRects +appkit/talkToWorkspace Message Workspace to set a specific browser path +appkit/tryToPerform Bug in Window tryToPerform:with: method appkit/WindowCapture Capturing a Window image dbkit/DBTableView Using a DBTableView without the rest of DBKit dbkit/storedproc Using Sybase stored procedures misc/disklabels Encapsulated PS for making Avery 5196 labels +misc/dwrites Undocumented dwrites and how to find them in gdb +misc/NXStreamBasics Reading, writing, opening, saving objc/corefiles Enabling core files when a program dumps +objc/loadClasses Loading classes dynamically at runtime +objc/performWith Using perform:with: and 3 or more arguments +objc/printMethods Print list of all methods an object responds to objc/ptrtofunc Specifying functions pointer in method definitions +postscript/animation Sam Streeper on optimal animation drawing +postscript/changeAlpha Change alpha channel of image, retaining RGB data postscript/focusing Optimal use of lockFocus/unlockFocus/flushWindow +postscript/hitDetection PSinfill for hit detection in non-rect regions +postscript/instanceDraw An example that demonstrates rubber-banding +postscript/performance Various drawing performance tips postscript/printBitmap Print bitmap image stored in a View subclass postscript/setmouse Set the mouse location programmatically resources/languages An annotated summary of programming languages +sources/AppExceptions.m Application category for exception handling sources/dertf.l A lex grammar for stripping rtf to ascii sources/EditListener Access Edit.app from other programs (3.0 & higher) sources/eps2tiff.m Converts .ps and .eps files to tiff format sources/putenv.c putenv(), setenv(), unsetenv(), getenv() sources/rtfascii.c rtf-to-ascii filter +sources/unhide.m Unhide an app from command line +tools/customMakefiles Copy special files / source code into app wrapper tools/fatflags Command-line compile multi-architecture (fat) app tools/IBcategories Parsing categories into InterfaceBuilder +tools/IBFirstResponder Adding methods to default FirstResponder table +tools/IBParseRules IB parsing rules for outlets and action methods tools/IBTestMode Determining when you are running in IB test mode +tools/linkingC++ C library name mangling leads to undefined symbols tools/nibConnections Dropped connections after loadNibFile: tools/palette2to3 Converting a 2.1 palette to a 3.x palette tools/paletteLibrary Making a library from the code on a palette +tools/subprojVsBundle When to use subprojects and bundles +tools/unloadNibFile Reverse the effect of loadNibFile. Beware popups! unix/getetherid Get Ethernet ID for host +unix/smallExecutables Creating smallest possible generic utilities -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
From: minch@lotka.stanford.edu Newsgroups: comp.sys.next.programmer Subject: DB devt Date: 7 Sep 1993 17:07:21 GMT Organization: Stanford University Message-ID: <26if49$id1@morrow.stanford.edu> I'm having trouble getting started with Sybase, DBKit, etc. Is there an archive with one or more examples that *includes* steps from installation onwards? I have plenty that assume one already has a pubs database and two or three kazillion environment variables defined.... -- Eric Minch
Newsgroups: comp.sys.next.programmer From: Greg_Anderson@afs.com (Gregory H. Anderson) Subject: Re: IB isTestingInterface: Warning Message-ID: <1993Sep7.180451.28612@afs.com> Sender: greg@afs.com References: <1993Sep6.134817.25823@biztech.com> Date: Tue, 7 Sep 1993 18:04:51 GMT In article <1993Sep6.134817.25823@biztech.com> anderson@biztech.com (Ken Anderson) writes: > Since 3.0, I use 'if ([NXApp conformsTo:@protocol(IB)])' which > works regardless of where/when/how. I also don't understand why you > were sending awakeFromNib manually...IB sends it to any objects I have. > What it DOESN'T do is send init or initFrame:. This does not solve the problem at hand, because it fails to distinguish between Run mode and non-Run mode. When the object is being edited within IB, you may want it to act differently than it does in Run mode. -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
From: David Pascua <dp3m+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer,comp.sys.next.software Subject: problem connecting to Sybase Date: Tue, 7 Sep 1993 17:45:32 -0400 Organization: Masters student, Information Networking Institute, Carnegie Mellon, Pittsburgh, PA Message-ID: <MgXE3wa00iUz09Imw6@andrew.cmu.edu> Hi all, I've set up a Sybase server over my network and I can start up an isql session on the server machine as well as remote machines with no problems. The problem is that I can't connect to the database over the network using the Sybase adaptor on remote machines. When I try to run the DBKit example, AddressBook, I get the Sybase Authentication panel (requesting name, DB password, DB server and DB name). When I try to run the same AddressBook application on the server machine, it runs fine (I don't even see the Auth. panel). Has anyone else run into this problem? Anyone have a clue how I can fix this? Oh, I'm running NS 3.0 on black HW. Thanx in advance, -dave
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Pros and Cons of subclassing PrintInfo Date: 7 Sep 1993 18:00:07 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <26j097$86q@digifix.digifix.com> I have a question more about style than actual programming details. I have a situation where I have additional data that needs to be represented in the PageLayout Panel. The additional fields/data are horizontal and vertical overlaps document size (width and height) These seem like they should be attached to the document, and not necessarily the PrintInfo record, but I'm not sure. How difficult is it to set the values in the PageLayout accessory view if they are not from the PrintInfo record? There the readPrintInfo and writePrintInfo seem natural... however there doesn't seem to be any other easy way. It appears that Diagram does it this way, and PencilMeIn as well, but I'd like someone to actually comment rather than just implementing it and then regretting it later. Suggestions? -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: vanguard@oar.net (Tyler Gingrich) Subject: Re: problem connecting to Sybase Message-ID: <1993Sep7.231028.944@oar.net> Organization: Ohio Academic Resources Network References: <MgXE3wa00iUz09Imw6@andrew.cmu.edu> Date: Tue, 7 Sep 1993 23:10:28 GMT In article <MgXE3wa00iUz09Imw6@andrew.cmu.edu> David Pascua <dp3m+@andrew.cmu.edu> writes: > >The problem is that I can't connect to the database over the network >using the Sybase adaptor on remote machines. When I try to run the DBKit >example, AddressBook, I get the Sybase Authentication panel (requesting >name, DB password, DB server and DB name). When I try to run the same >AddressBook application on the server machine, it runs fine (I don't >even see the Auth. panel). > >Has anyone else run into this problem? Anyone have a clue how I can fix this? > What you are probably missing is the following dwrite... dwrite SybaseAdaptor SybaseInterfacesFile fullpathname replace fullpathname with the fully qualified path to your Sybase Interfaces file. Tyler Gingrich tyler@dbkit.com Vanguard Software, Corp.
#################################################################### Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Re: "Official" way to get information about "heirs"? Message-ID: <1993Sep7.224042.17385@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software References: <25t6el$q6@amber.solutions.ca> Date: Tue, 7 Sep 1993 22:40:42 GMT Darcy Brockbank writes >In article <stabl.746492819@news.informatik.uni-muenchen.de> >stabl@informatik.uni-muenchen.de (Robert Stabl) writes: >> Hi, >> >> is there an "official" way in Objective-C (and on the NeXT) to get >> information about all objects (i.e. at runtime) that are instances >> of subclasses of a specific class? In other words: I'm looking for >> the heirs of a specific class at runtime. > >This is a very important question, and the only way I've found to >do it is by forcing all my subclasses to be in dynamically loaded >bundles. This way, I can force the primary class of each bundle >to be initialized upon loading, and I can check them to see if >they are indeed subclasses of my class. > >This is a hack though, and I'd be very happy if someone knew a >better way of finding your heirs. > Well, you could override the +alloc method for the class(es) you're interested in. I would do it something like: static id allInstances +alloc { id newObject = [super alloc]; [allInstances addObject:newObject]; return newObject; } +initialize { allInstances = [[List alloc] init]; return self; } +allInstances { return allInstances; } -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: NEXTSTEP Programmer/Intern needed Date: 7 Sep 1993 22:22:32 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <26jfl8$9pn@digifix.digifix.com> We're in need of some programming help. There doesn't seem to be enough time in the day to get done what needs to get done. Someone who has time available over the next couple of weeks, and has experience would be exactly who we are looking for. Ideally a student or someone who would be willing to work cheap is what we can afford. Please send any resumes/requests for into to sanguish@digifix.com. -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
From: isbell@cats.ucsc.edu (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: cmsg cancel <26jcd6INNdm7@darkstar.UCSC.EDU> Control: cancel <26jcd6INNdm7@darkstar.UCSC.EDU> Date: 8 Sep 1993 02:50:24 GMT Organization: Cubic Solutions - NeXT software development and consulting Message-ID: <26jh9gINNf5p@darkstar.UCSC.EDU> References: <26jcd6INNdm7@darkstar.UCSC.EDU> <26jcd6INNdm7@darkstar.UCSC.EDU> was cancelled from within rn. -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
From: isbell@cats.ucsc.edu (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: gdb problem solved Date: 8 Sep 1993 02:56:04 GMT Organization: Cubic Solutions - NeXT software development and consulting Message-ID: <26jhk4INNf7r@darkstar.UCSC.EDU> In article 12805, I posted about problems I was having with gdb not being able to find source code files. It turns out that "strip -x" was the culprit. This apparently removes the path of the source code file used to build the object file. -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
Newsgroups: comp.sys.next.programmer From: dennis@nebulus.ampr.ab.ca (Dennis S. Breckenridge) Subject: Re: SCSI programming questions References: <111366@hydra.gatech.EDU> Organization: "Alchemy Mindworks" Date: Mon, 6 Sep 1993 02:41:04 GMT Message-ID: <CCwvGI.8C3@nebulus.ampr.ab.ca> gt2186a@prism.gatech.EDU (COBIA,FRANK NAYLOR) writes: ... >If anyone knows where I can find this kind of documentation >I would appreciate the help. I will also list a few of the >major questions I have in case anyone knows the answers to >these specific things. Try pulling the DOS (yuck) stuff from the Adaptec bbs. Send your favourite ftp client off to adaptec. Here is the latest I have: The following utilities a have been designed to run on the AHA-154x/1640 Adaptec SCSI Host adapters. They only run under MS-DOS. These programs are being provided free and were written by an individual(me). If you have any complaints, then send them to the bit bucket. If you have some suggestions, then E-mail them to neese@adaptex. If you call our factory and ask questions about these, you will get a big, "I don't know what you are talking about!" If you use these programs for anything other than your on use, then give credit where credit is due (Roy Neese). Any time a file changes, I will put a date in the appropriate section. The current date is 10/11/1989. The updated files will show themselves as follows: ~/GETDEVS.EXE.Z UD 10/12/1989 So if you keep the old list you can tell which files have been updated from the last time you requested them. To get any of the files, use: uucp adaptex!~/file /usr/spool/uucppublic/file or uucp adaptex!/usr/spool/uucppublic/scsiutil/file /usr/spool/uucppublic/file ------------------------------------------------------------------------------- ~/GETDEVS.EXE.Z Size: 11013 Oct 11 09:12 GETDEVS.EXE.Z UD 1/25/1990 Size: 11190 Jan 25 16:57 GETDEVS.EXE.Z - More robust and now works on fast 386 and 486 machines. This is a quickie utility that displays all of the targets and luns on the SCSI bus. No command line options, just run it. A good way to find out if your SCSI device honors the right target/lun combinations. ------------------------------------------------------------------------------- The following utilities will operate on any hard drive that is INT13H BIOS compatible. ~/GRDRIVE.EXE.Z Size: 26244 Oct 11 09:12 GRDRIVE.EXE.Z ~/GREAD.EXE.Z Size: 26533 Oct 11 09:13 GREAD.EXE.Z ~/GWRITE.EXE.Z Size: 26591 Oct 11 09:13 GWRITE.EXE.Z These three utilities were written out of complete frustration. They will display information graphically, thus requiring at least a CGA Monitor. They all have the same command line options. (Nothing fancy here) For instance, gread 1 2000 gread 1500 gread 0 3000 gread 2 gread 2 4000 The above examples are all valid. If the first argument is a single digit it can be: 0 - test drive zero only 1 - test drive one only 2 - test both drives The larger number, tells the program the range for the transfer rate in KB. Defaults are [test drive zero][1000] None of the programs will destroy data, including gwrite. GRDRIVE does both reading and writing for one drive only and thus will only accept 0 or 1 for single digit arguments. GREAD/GWRITE does read /write tests for one or both drives. All of the programs go through the BIOS and will run on any hard drive. At the end of the run the program silently waits for you enter data concerning the configuration and then pressing <ENTER> will exit. If you have your favorite graphics screen dump program loaded, then you can print the results to a printer. WARNING: GRDRIVE and GWRITE read and write the data read during the test. If you reset your computer to exit these programs, you could blow your boot track. To safely exit while these are running press <CTRL><C>. DO NOT press <CTRL><BREAK>. The programs will exit when it is safe to do so. ------------------------------------------------------------------------------- ~/SCSI.EXE.Z V6.0 Size: 37507 Oct 11 09:12 SCSI.EXE.Z UD 12/08/1989 V6.1 Size: 37466 Dec 18 09:05 SCSI.EXE.Z - Corrects program to work on machines faster than 20Mhz. UD 1/25/1989 V6.2 Size: 38707 Jan 25 16:57 SCSI.EXE.Z - More robust cleanup after itself. Now tested to work on 33 Mhz 386 and 486 machines. UD 6/12/1990 V6.3 Size: 39024 Jun 12 09:14 SCSI.EXE.Z - Removed checks for some tape firmware levels - Added disclaimer banner UD 6/15/1990 V6.4 Size: 39099 Jun 15 10:06 SCSI.EXE.Z - Fixed a bug in the read defect list that caused data overflows UD 7/25/1990 V6.5 Size: 43042 Jul 25 16:50 SCSI.EXE.Z - Added a disclaimer - Now works with the AHA-1640 MCA SCSI adapter - Added all SCSI-2 request sense messages - Request sense errors are now reported based on the sense key, error code, and qualifier. This a diagnostic for the AHA-154x/1640 and devices attached to these host adapters. It is menu driven and will destroy data without much warning. But can be very useful for tracking down problems. ------------------------------------------------------------------------------- ~/SCSICODE.EXE.Z 1/17/92 V1.0 Size: 13212 Jan 17 10:55 SCSICODE.EXE.Z A program to help understand those nasty, cryptic error codes reported by SCSI adapters and drivers. ------------------------------------------------------------------------------- ~/SCSICNTL.EXE.Z V4.4 Size: 49087 Oct 11 09:12 SCSICNTL.EXE.Z UD 12/08/1989 V4.5 Size: 49104 Dec 12 08:44 SCSICNTL.EXE.Z - Corrects program to work on machines faster than 20Mhz. UD 1/22/90 V4.6 Size: 49070 Jan 22 08:54 SCSICNTL.EXE.Z - Adds support for the CDC Wren VII drive. UD 1/25/90 V4.8 Size: 50246 Jan 25 16:57 SCSICNTL.EXE.Z - Corrected the support for the Wren VII drive. They changed the name in the inquiry data to IMPRIMIS. More robust cleanup routine and general improvements to allow fast 386 and 486 machines to work. Option 11 to get the adapter configuration returns more data than ever. UD 6/13/90 V4.9 Size: 50240 Jun 13 14:36 SCSICNTL.EXE.Z - Added support for the Wren VI half height drives - Made an attempt to support the (yuck) Maxtor XT-3xxx series - THIS VERSION IS BUSTED UD 6/14/90 V5.0 Size: 50229 Jun 14 12:21 SCSICNTL.EXE.Z - Corrected what I broke. UD 6/15/90 V5.1 Size: 50298 Jun 15 10:06 SCSICNTL.EXE.Z - Fixed a bug in the read defect list that caused data overflows - Increased stack size UD 7/25/90 V5.2 Size: 54783 Jul 25 16:49 SCSICNTL.EXE.Z - Added a disclaimer - Now works with the AHA-1640 MCA SCSI adapter - Added all (and I mean all) SCSI-2 request sense messages - Select devices now shows whether a dev is removable or fixed, SCSI-0, SCSI-1, or SCSI-2, SCSI style descriptions of the type of device. - Request sense errors are now reported based on the sense key, error code, and qualifier. UD 9/10/90 V5.3 Size: 54806 Sep 10 09:08 SCSICNTL.EXE.Z - General cleanup of the code. UD 6/14/91 V5.8 Size: 76921 Apr 19 19:05 SCSICNTL.EXE.Z - Now large model - Added preliminary support for the AHA-1522 and AIC-6260 - Added support for the Quantum LP Series - Added AHA-1740 Identifier - No ASPI Support (yet) - Enhanced the error reporting UD 9/10/91 V5.9 Size: 76539 Sep 10 09:43 SCSICNTL.EXE.Z - Corrected a display bug in the Disk geometry page UD 1/13/92 V6.0 Size: 76937 Jan 13 11:22 SCSICNTL.EXE.Z - allows more programming options for unknown device types. You will probably need the SCSI guide for the device you are trying to program. - fixed some minor annoyances. UD 1/22/92 V6.1 Size: 76933 Jan 22 10:47 SCSICNTL.EXE.Z - fixed a major bug that broke version 6.0. Somehow got an old source module linked in with the new stuff. UD 3/5/92 V6.3 Size: 81151 Mar 05 09:16 SCSICNTL.EXE.Z - added support for SCSI-2 devices - added support for more drives UD 3/26/92 V6.4C Size: 87651 Mar 26 11:41 SCSICNTL.EXE.Z - added support to allow the program to talk to adapters other than those at 0x330 base port and DMA channel 5. - added general support for SCSI-2 devices - added the Change Definition command to the list of options - added support for a whole bunch of drives (Quantum/Seagate/Fujitsu) - dropped support for the Maxtor XT-3xxxS series UD 4/24/92 V6.4F Size: 87641 Apr 24 08:24 SCSICNTL.EXE.Z - fixed the AHA-1640 (MC) support,....(I think??) - fixed a bug in the cache control screen for the Seagate SCSI-2 drives UD 5/21/92 V6.4G Size: 88109 May 21 09:34 SCSICNTL.EXE.Z - fixed a bug in the AHA-1522 support which pointed to a null command - added more generic support to the disconnect page for unknown devices. UD 6/12/92 V6.4H Size: 88675 Jun 12 16:44 SCSICNTL.EXE.Z - added support for more Fujitsu hard drives. This is a program that gives you access to the mode sense pages of a SCSI device. Although MS-DOS based, can be helpful in all operating environments, as programming the SCSI device is completely transparent to the operating system. It is menu driven, and after choosing a selection from the main menu you may press '?' for further help and/or an explanation of what you are about to do. This program has knowledge of the following drives, but can be used with virtually any SCSI device (I think??). Micropolis 137x CDC/Imprimis Wren III, IV, V, VI, VII (SCSI-1 and SCSI-2) 94181/94241/94601 Seagate ST 1400/1401/1480/2383/2502/4385/4702/4767/41200/41650 Quantum Q250, Q280, Pro 52/105/120/170/210/240/330/425/450/1050 GO 40/80/60/120 Conner CP-340, CP-3100, CP-3200 Maxtor XT-4xxxS, XT-8xxxS, LXT-10xS, LXT20xS Fujitsu M 2261/2262/2263/2611/2612/2613/2614/2622/2623/2624 The scsicntl.doc.Z is a troff user manual for the program. ------------------------------------------------------------------------------- ~/scsicntl.doc.Z Size: 12116 Nov 4 09:37 scsicntl.doc.Z UD 1/25/1990 Size: 12594 Jan 25 16:50 scsicntl.doc.Z - Added a line to generate a table of contents and also some other additions to cover the 4.8 version of SCSICNTL. UD 2/2/1990 Size: 12725 Feb 2 11:30 scsicntl.doc.Z - Minor corrections to the english UD 4/24/1992 Size: 13723 Apr 24 08:33 scsicntl.doc.Z - Updated to show the options available to SCSICNTL.EXE V6.4F. This is a troff document for the SCSICNTL.EXE file. ------------------------------------------------------------------------------- ~/scsiasc.doc.Z Size: 14083 Jun 12 09:01 scsiasc.doc.Z - ASCII version of scsicntl.doc.Z; for those who do not have troff capability ------------------------------------------------------------------------------- ~/SCSIHA.SYS.Z Size: 1160 Oct 11 09:22 SCSIHA.SYS.Z This is a driver for MS-DOS that will allow Windows 386 and Desqview 386 to run with the 154x/1640 host adapters. The only command line option is for setting the buffer size that the drive will use for hard disks transfers. It MUST be the first entry in the config.sys file. device=SCSIHA.SYS /b:[16 or 32] ------------------------------------------------------------------------------- ~/readme.Z Size: 298 Oct 25 10:43 readme.Z The readme file for the usage of the SCSIHA.SYS driver. ------------------------------------------------------------------------------- ~/SETSCSI.EXE.Z Size: 7633 Oct 11 09:24 SETSCSI.EXE.Z This program is meant to be used in a MS-DOS environment in the AUTOEXEC.BAT file. It is only needed for the AHA-154[02][A] host adapters. It has the options: -t:5, 6, 8, 10 This sets the DMA transfer rate of the host adapter. The number indicates the DMA transfer rate in MBytes/sec. *** WARNING **** Not all systems can run as fast as the host adapter is capable. In fact, I don't know of a system that will run at 10MBytes/sec. **************** -f:2-15 This sets the bus-off time of the host adapter. -n:2-15 This sets the bus on time for the adapter. Caution: You can starve memory refresh if you set the host adapter at 15. If your system has static rams only, then this is okay, as static rams do not need refresh. Running this program without any options will cause the program to reset the defaults for the host adapter. ------------------------------------------------------------------------------- ~/setscsi.doc.Z Size: 625 Feb 16 12:49 setscsi.doc.Z Additional ascii doc on the usage of SETSCSI.EXE ------------------------------------------------------------------------------- ~/@0F1F.ADF.Z Size: 1732 Oct 11 09:22 @0F1F.ADF.Z This is the ADF file for the AHA-1640 MCA SCSI Host Adapter ------------------------------------------------------------------------------- ~/inq.Z V1.0 Size: 8658 Dec 19 16:24 inq.Z UD 9/10/90 V1.1 Size: 9983 Sep 10 13:27 inq.Z - Added code to print out everything that the inquiry data can provide as per the SCSI-2 specification. This is a little routine that will get all of the inquiry information from a SCSI device connected to the AHA-1542. It runs under SCO XENIX-386 2.3GT. It's default device is the root device (rhd00), but will accept another device for an argument (i.e. rhd10, rct0). You must be root for this routine to run. ------------------------------------------------------------------------------- ~/1540USR.MAN.Z Size: 92083 Jan 26 17:08 1540USR.MAN.Z This is an ascii version of the AHA-154xA User's manaul. It does have some control codes imbedded in it so that pictures can be displayed on the console. ------------------------------------------------------------------------------- ~/1542B.roms UD 1/13/92 Size: 46204 Sep 12 10:33 1542B.roms This file will always contain the latest version of the 1542B BIOS and firmware. These are binary images of the ROMS only! Use of these ROMS on any other version of the 1540 family *will* cause problems. NOTE: If your adapter was installed by the OEM you purchased the system from, it would be wiser to get the updates through them as they may have had a special made for the them and using these generic BIOS/firmware codes could cause problems. ------------------------------------------------------------------------------- ~/sco.patches.Z Size: 2825 Jan 29 09:18 sco.patches.Z UD 2/5/1990 Size: 3191 Feb 5 16:09 sco.patches.Z - Added some more comments on bus on/off times. A list of patches to allow a user to tune the SCSI driver. ------------------------------------------------------------------------------- ~/1540CPU.LIST.Z Size: 1158 Jan 30 08:27 1540CPU.LIST.Z A list of Adaptex tested CPU's and the 154x adapter. ------------------------------------------------------------------------------- ~/1540DRV.LIST.Z Size: 1304 Jan 30 08:30 1540DRV.LIST.Z A list of drives that have been tested with the 154x adapter. ------------------------------------------------------------------------------- ~/sds3.desc.Z Size: 1046 Jan 31 13:26 sds3.desc.Z A troff file containing a one page description of all SDS options available from Adaptec. You will need to print this out in landscape mode, if you are using a laser printer. ------------------------------------------------------------------------------- ~/xnx_scsi_drv.Z Size: 64789 Sep 10 09:25 xnx_scsi_drv.Z ~/scsi_drv.Z Size: 68721 May 28 09:54 scsi_drv.Z ~/scsi_drv.Z Size: 76265 Aug 29 11:51 scsi_drv.Z - 2.3.4 support added UD 1/13/92 v2.0 Size: 72205 Jan 13 10:13 scsi_drv.Z - better tape/DAT support added. - improved read scatter/gather to increase hit ratios. - interrupt handling reduced. - ccb search/find/release code overhead reduced. - device open code drastically improved to better handle various devices and be more forgiving. - error reporting on reads/writes improved to show the actual block that may have caused the error in the multi-block commands as opposed to just showing the block where the I/O started. UD 2/11/92 v2.1 Size: 72219 Feb 11 09:47 scsi_drv.Z - corrected a bug in the DMA initialization code. (Thanks Per) - calls dma_alloc to reserve the DMA channel the adapter will use. ------------------------------------------------------------------------------- ~/1740mcode.Z Size: 217247 Jan 17 08:37 1740mcode.Z This file contains the current firmware for the AHA-1740, standard mode, enhanced mode, and the program to download the code. This is only for the AHA-1740. The AHA-1742A does not have download capability. ------------------------------------------------------------------------------- ~/update.pkg.Z Size: 120303 Feb 11 09:53 update.pkg.Z This file contains my current SCO XENIX driver and current AHA-1542B roms. ------------------------------------------------------------------------------- ~/1740bios.Z Size: 7474 Feb 26 10:04 1740bios.Z This file contains the latest 1740/1740A/1742A ROM BIOS image. The current version is checksum 8800. ------------------------------------------------------------------------------- ~/OS2DRVS.ZIP Size: 32147 Jun 05 16:02 OS2DRVS.ZIP UD 8/15/92 Size: 44421 Aug 15 15:49 OS2DRVS.ZIP ~/OS2ASPI.ZIP Size: 5781 Aug 15 15:54 OS2ASPI.ZIP These files contain the latest OS2 2.0 drivers for all Adaptec products. The files also contain instructions/changes made since the last posting. NOTE: This is for OS/2 2.0 only. ------------------------------------------------------------------------------- ~/154XP334.ZIP Size: 6959 Apr 20 09:30 154XP334.ZIP Binary ROM image for the AHA-154xB adapter BIOS, which uses 0x334 as the base port. ------------------------------------------------------------------------------- -- ------------------------------------------------------------------------------- Dennis Breckenridge Programming is like sex: One mistake and you support dennis@nebulus.ampr.ab.ca it a lifetime. -------------------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: carlos@thinkmuch.dolphin.com (Carlos Salinas) Subject: Re: NXBundle Question Message-ID: <CCy5E2.7I@thinkmuch.dolphin.com> Sender: carlos@thinkmuch.dolphin.com (Carlos Salinas) Organization: Deep Breakfast Productions References: <CC4nnt.K2r@mentor.cc.purdue.edu> Date: Mon, 6 Sep 1993 19:13:13 GMT Christopher Kane said: : The obvious problem then would be that the path is all wrong. As long : as the bundle is "under" main bundle, use [[NXBundle mainBundle] : directory] to get the path to that bundle, rather than hard-coding a : path: : : - loadBundle:sender : { : char path[MAXPATHLEN+1]; : NXBundle *bundle; : : sprintf(path, "%s/TestBundle.bundle", [[NXBundle mainBundle] directory]); : bundle = [[NXBundle alloc] initForDirectory:path]; : if (bundle==nil) // for debugging : fprintf(stderr, "bundle is nil\n"); : if ([bundle getPath:path forResource:"TestBundle1.nib" ofType:NULL]) : { : [NXApp loadNibFile:path owner:self withNames:NO]; : fprintf(stderr, "got path: '%s'\n", path); // debugging : } : else // for debugging : fprintf(stderr, "could not get path\n"); : return self; : } : Looks good. However, instead of: sprintf(path, "%s/TestBundle.bundle", [[NXBundle mainBundle] directory]); I'd suggest: [[NXBundle mainBundle] getPath:path forResource:"TestBundle" ofType:"bundle"]; That throws a little more of the responsibility onto NXBundle for figuring things out. Also allows for any changes NeXT might make. 'Los BTW: Try wrapping debug statements such as the fprintf()s above with "#ifdef DEBUG" and "#endif DEBUG". "DEBUG" is defined when you "make debug".
From: michaell@swdev.research.otc.com.au (Michael Lofquist) Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin Subject: Re: 3.1 loginwindow screensaver? Date: 8 Sep 1993 04:25:14 GMT Organization: Technical Development Group, Telstra International Distribution: world Message-ID: <26jmra$ok0@turin.research.otc.com.au> References: <1993Aug31.135251.6988@pencom.com> <262f1aINN38@golden.kaleida.com> I noticed that the NS 3.1 for intel had a built in screen saver, that would display a NeXT logo and the hostname for that machine. Just installed the 3.1 on my black box, and nothing happens in that area. What have I done wrong ?? -- -------------------------------------------- Michael Lofquist Email: michaell@swdev.research.otc.com.au michaell@research.otc.com.au --------------------------------------------
Newsgroups: comp.sys.next.programmer From: yanik@planon.qc.ca (Yanik Crepeau) Subject: Re: Distributed Object Multi-Thread server <part2> Message-ID: <1993Sep8.032713.402@CAM.ORG!planon> Sender: yanik@CAM.ORG!planon References: <25t55k$p4@amber.solutions.ca> Date: Wed, 8 Sep 1993 03:27:13 GMT In article <25t55k$p4@amber.solutions.ca> darcy@solutions.ca (Darcy Brockbank) writes: | In article <1993Aug27.201331.5845@CAM.ORG!planon> yanik@planon.qc.ca (Yanik | Crepeau) writes: | | [Yanik's solution deleted] | [Some Darcy's text deleted] | We have made a great deal of use of both oneway and bycopy messages. | I've found them to work very well. | | - darcy That works fine now. However we must: 1) Declare the (oneway) in the @Protocol. If you don't, and you write the (oneway) only in the @implementation, the system will send something anyway and the client will comply that something arrives in the DPS port ##. The thing (in the server side) must be as follow: @Protocol Server - (oneway)fromServerToClient(bycopy in id) anObject; @end @Protocol Client - (oneway)fromClientToServer(bycopy in id)anObject; @end @interface MyServer : Object <Server> //Very Important to make the objet //Protocol compliant @end @implementation MyServer - (oneway)fromServerToClient(bycopy in id) anObject; @end It is very important to have the @Protocol Server somewhere in your files. 2) Don't use Objective-C++! The Objective-C++ does not care about the @Protocol declaration above. The files must be compiled with the Objective-C compiler. Later, copy the myServer.o to the m68k_obj directory of your project if your project is made with the CFLAG -ObjC++ option. -- Yanik Crepeau Programmer Planon Telexpertise E-Mail: yanik@planon.qc.ca (NeXT)
Newsgroups: comp.sys.next.programmer From: rasmus@dannug.dk (Peter Rasmussen) Subject: Making ObjC more flexible Message-ID: <CD15Kr.sJ@dannug.dk> Sender: rasmus@dannug.dk (Peter Rasmussen) Organization: Danish NeXT-Users group Date: Wed, 8 Sep 1993 10:10:03 GMT Hi, Sometimes, the runtime efficiency of dynamic binding is questioned against the flexibility and expressive power it provides - as was the case resently. Seldomly, more flexibility of ObjC dynamic binding has been asked for. I'd love to see *user costumizable* message dispatch in ObjC ... Such Meta-programming would enable us possibilities as: - encapsulators (trickers, monitors, pre/post conditions ..) - pre/post condition checking - new debugging tools (statistic/sequence of msg sending ...) How often (during debugging) wouldn't you have liked to know which messages gets send both TO and FROM a SPECIFIC object and in which sequence ? I often, especially while trying to figure out what a NeXT or third party (no source code) object REALLY does ... I can think of two ways to achieve *user costumizable* message dispatch 1) At a per runtime basis: - Invoking messengers objc_MsgSend* through pointers to functions rather than directly as functions (pay a bitalways) - Enabling linking of second (debugging) objc_Msg* messengers used as function envelopes for messengers invoked through pointers to functions (pay as you play) Then we could implement a variety of our own messengers, install them dynamically into the ObjC runtime and switch between them as needed. This would be very usefull during development. 2) At a per object basis: (Woow) - Add a Meta-object reference to the Object class alongside isa. IF an object (domain object) has a meta object attatched, then pass all messages to this meta object instead of directly. Reaching the domain object is meta-object responsibility. (pay a bit always and more when you play) Such meta-objects could do filtering of message passing, fancy forwarding and take second/third actions also on other domain objects alongside. All this in a *user costumizable* fashion and WITHOUT clutting the code of domain objects (as forward: do). So all Meta-stuff can be turned on/off simply by tatching/detatching meta-objects. Regards Peter Rasmussen --- -------------------------------------------------------------------- Peter Rasmussen : : rasmus@dannug.dk (NeXTmail OK) Borgm. Joergensensvej 5-112 : Tel: (+45) 98 145456 9000 Aalborg, Denmark (EUROPE) : Fax-24h NameMe: (+45) 98 124481 --------------------------------------------------------------------
From: anderson@macc.wisc.edu (Jess Anderson) Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin Subject: Re: 3.1 loginwindow screensaver? Date: 8 Sep 1993 11:46:59 GMT Organization: Division of Information Technology, UW-Madison Message-ID: <26kgnj$re1@news.doit.wisc.edu> References: <1993Aug31.135251.6988@pencom.com> <262f1aINN38@golden.kaleida.com> <26jmra$ok0@turin.research.otc.com.au> In article <26jmra$ok0@turin.research.otc.com.au>, Michael Lofquist <michaell@swdev.research.otc.com.au> wrote: >I noticed that the NS 3.1 for intel had a built in >screen saver, that would display a NeXT logo and >the hostname for that machine. Just installed >the 3.1 on my black box, and nothing happens in >that area. What have I done wrong ?? Could be any of several things. For one, the timer is 30 minutes; did you wait that long? For another, if you upgraded, rather than reinstalling, the old defaults may be the problem; look in the release notes about blowing them away. Lastly, you could try setting the timer to a smaller value: dwrite loginwindow TimeToDim 180 for three minutes (the value is in seconds). I have it working now. -- [Jess Anderson <> Division of Information Technology, University of Wisconsin] [Internet: anderson@macc.wisc.edu {o"o} UUCP:{}!uwvax!macc.wisc.edu!anderson] [Room 3130 <> 1210 West Dayton Street / Madison WI 53706 <> Phone 608/262-5888] [-------> The pure and simple truth is rarely pure and never simple. <--------]
From: David Pascua <dp3m+@andrew.cmu.edu> Newsgroups: comp.sys.next.software,comp.sys.next.programmer Subject: Re: problem connecting to Sybase Date: Wed, 8 Sep 1993 09:47:51 -0400 Organization: Masters student, Information Networking Institute, Carnegie Mellon, Pittsburgh, PA Message-ID: <0gXS_7C00iV2M2=p4O@andrew.cmu.edu> In-Reply-To: <1993Sep7.231028.944@oar.net> Excerpts from mail: 7-Sep-93 Re: problem connecting to S.. by Tyler Gingrich@oar.net > What you are probably missing is the following dwrite... > > dwrite SybaseAdaptor SybaseInterfacesFile fullpathname > > replace fullpathname with the fully qualified path to your Sybase Interfaces > file. > The dwrite worked!! Thanks to Tyler Gingrich and everyone else who reponded. -- dave
Newsgroups: comp.sys.next.programmer From: gvh@metrosoft.com (Gordon Van Huizen) Subject: Re: 3.1 loginwindow screensaver? Message-ID: <1993Sep8.173309.4683@metrosoft.com> Sender: gvh@metrosoft.com Organization: Metrosoft References: <26jmra$ok0@turin.research.otc.com.au> Date: Wed, 8 Sep 1993 17:33:09 GMT In article <26jmra$ok0@turin.research.otc.com.au> michaell@swdev.research.otc.com.au (Michael Lofquist) writes: > I noticed that the NS 3.1 for intel had a built in > screen saver, that would display a NeXT logo and > the hostname for that machine. Just installed > the 3.1 on my black box, and nothing happens in > that area. What have I done wrong ?? > Is it possible you did a dwrite of the dim time while running 3.0? The units changed to seconds in 3.1, so you likely have an astronomical dim time that is never being reached. Try doing the following dwrite and re-starting the Winodw Server: dwrite loginwindow TimeToDim 30 Gordon -- Gordon Van Huizen vox: 619.488.9411 fax: 619.488.3045 Metrosoft gvh@metrosoft.com [NeXTmail welcome]
Newsgroups: comp.sys.next.hardware,comp.sys.next.programmer From: bruce@phantom.com (Bruce Fancher) Subject: Accessing a NeXT printer over ethernet? Message-ID: <1993Sep8.215058.27451@mindvox.phantom.com> Sender: news@mindvox.phantom.com Organization: Phantom Access Technologies, Inc. / Mindvox Date: Wed, 8 Sep 1993 21:50:58 GMT I can't seem to export the NeXT printer to let my SparcStation use it. The f**king NeXT seems to want a NetInfo network. What can I do? Thanks
From: gisli@liapunov.eecs.umich.edu (Gisli Ottarsson) Newsgroups: comp.sys.next.hardware,comp.sys.next.programmer Subject: Re: Accessing a NeXT printer over ethernet? Date: 8 Sep 93 18:43:11 Organization: University of Michigan Distribution: world Message-ID: <GISLI.93Sep8184311@liapunov.eecs.umich.edu> References: <1993Sep8.215058.27451@mindvox.phantom.com> In-reply-to: bruce@phantom.com's message of Wed, 8 Sep 1993 21:50:58 GMT >>>>> bruce@phantom.com (Bruce Fancher) writes: BF> I can't seem to export the NeXT printer to let my SparcStation BF> use it. The f**king NeXT seems to want a NetInfo network. What BF> can I do? My situation is even worse. I occasionally need to print from an Apollo computer (try exporting a NeXT printer to an Apollo). With the Apollo in .rhosts on the NeXT I simply type: cat <filename> | rsh <the NeXT> lpr from an Apollo prompt. Works great. Gisli -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Gisli Ottarsson Grad Student and a Gentleman Delenda est Carthago. University of Michigan gisli@engin.umich.edu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
From: alex@cs.umd.edu (Alex Blakemore) Newsgroups: comp.sys.next.hardware,comp.sys.next.programmer Subject: Re: Accessing a NeXT printer over ethernet? Date: 8 Sep 1993 19:05:38 -0400 Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Message-ID: <26log2$jgb@seine.cs.umd.edu> References: <1993Sep8.215058.27451@mindvox.phantom.com> In article <1993Sep8.215058.27451@mindvox.phantom.com> bruce@phantom.com (Bruce Fancher) writes: > I can't seem to export the NeXT printer to let my SparcStation use > it. The f**king NeXT seems to want a NetInfo network. What can I do? you could start by reading the f**king manual (the _wonderful_ NeXT wants a netinfo network but can deal with f**king NIS etc) look in chapter 11, section 1 of the 3.0 sysadmin docs -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted -------------------------------------------------------------- "Without an engaged and motivated human being at the keyboard, the computer is just another dumb box." William Raspberry
Newsgroups: comp.sys.next.programmer From: richard@sfu.ca (Richard Chycoski) Subject: Re: Accessing a NeXT printer over ethernet? Message-ID: <1993Sep8.230656.3289@sfu.ca> Sender: news@sfu.ca Organization: Simon Fraser University, Burnaby, B.C., Canada References: <1993Sep8.215058.27451@mindvox.phantom.com> Date: Wed, 8 Sep 1993 23:06:56 GMT In article <1993Sep8.215058.27451@mindvox.phantom.com> bruce@phantom.com (Bruce Fancher) writes: > > I can't seem to export the NeXT printer to let my SparcStation use > it. That's odd - I just put a list of acceptable hosts in /etc/hosts.lpd, and other machines have no trouble using the NeXT Printer. - Richard Chycoski Academic Computing Services Simon Fraser University richard@sfu.ca (NeXT Mail OK)
Newsgroups: comp.sys.next.programmer From: cedman@princeton.edu (Carl Edman) Subject: Faking the Application main event loop Message-ID: <CEDMAN.93Sep8200833@capitalist.princeton.edu> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University Date: Thu, 9 Sep 1993 00:08:33 GMT I'm in the process of porting a major X application (no bonus points for guessing which) to run natively under NeXTstep. And as is so often the case with such projects the main remaining problem is that both the Appkit and this application absolutely insist on having their own main event loop. Now, as you can't have two of them in a single thread, going multithreaded is of course an option, but considering how un-threadsafe the Appkit is, I'd prefer not to. So instead I'm trying to avoid using [Application -run] entirely. Unfortunately it seems that [Application -run] still does so much magic that avoiding it entirely will not work. Instead I concocted the following scheme: @implementation MyApp:App - appDidInit: sender { [self stop:self]; return self; } - runAWhile { NXEvent *ev; running=1; while(running && (ev=[NXApp getNextEvent:NX_ALLEVENTS waitFor:0.0 threshold:NX_BASETHRESHOLD])) [NXApp sendEvent:ev]; return running ? self : nil; } - waitEvent { NXEvent ev; [NXApp peekNextEvent:NX_ALLEVENTS into:&ev waitFor:NX_FOREVER threshold:NX_BASETHRESHOLD]; return self; } @end void main(int ac,char *av[]) { [MyApp new]; [NXApp run]; while([NXApp runAWhile]!=nil) [NXApp waitEvent]; [NXApp free]; exit(0); } Contrary to all expectation this actually works perfectly well. The program behaves just as if it was using the genuine main event loop, but instead it returns whenever it runs out of events. In this shape I can integrate it into the other main event loop. All I still need is a method of having a signal sent to me or a file descriptor become available when an event is waiting, but that should be a fairly straightforward proposition (though I appreciate suggestion for that too). Now the question is, how safe is this construct ? Will it break something ? Should I go through the _freelist in each iteration of the fake event loop and free everything in it ? What other magic does [Application -run] do ? In particular, it seems it also messes with the signal handlers on entry and exit. Can you turn this off/replicate it ? Even partial answers to any non-empty subset of these questions will earn my undying gratitude. Carl Edman
From: gisli@liapunov.eecs.umich.edu (Gisli Ottarsson) Newsgroups: comp.sys.next.hardware,comp.sys.next.programmer Subject: Re: Accessing a NeXT printer over ethernet? Date: 8 Sep 93 22:35:40 Organization: University of Michigan Distribution: world Message-ID: <GISLI.93Sep8223540@liapunov.eecs.umich.edu> References: <1993Sep8.215058.27451@mindvox.phantom.com> <GISLI.93Sep8184311@liapunov.eecs.umich.edu> In-reply-to: gisli@liapunov.eecs.umich.edu's message of 8 Sep 93 18:43:11 >>>>> In article <GISLI.93Sep8184311@liapunov.eecs.umich.edu>, gisli@liapunov.eecs.umich.edu (Gisli Ottarsson) writes: myself> NNTP-Posting-Host: liapunov.eecs.umich.edu >>>>> bruce@phantom.com (Bruce Fancher) writes: BF> I can't seem to export the NeXT printer to let my SparcStation BF> use it. The f**king NeXT seems to want a NetInfo network. What BF> can I do? myself> My situation is even worse. I occasionally need to print myself> from an Apollo computer (try exporting a NeXT printer to an myself> Apollo). myself> With the Apollo in .rhosts on the NeXT I simply type: myself> cat <filename> | rsh <the NeXT> lpr myself> from an Apollo prompt. Works great. Actually, before I get more messages, let me clarify. The Apollos I referred to aren't on an ethernet at all. They are on a Token Ring with a sometimes flaky, sometimes nonexistent NFS. Needless to say, tips for overcoming this are welcomed, but till then I'll merrily pipe into the rsh. Gisli -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Gisli Ottarsson Grad Student and a Gentleman Delenda est Carthago. University of Michigan gisli@engin.umich.edu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Newsgroups: comp.sys.next.programmer From: BrianW@SoundS.WA.com (Brian Willoughby) Subject: Q: precompiled headers for multi-architecture binaries Message-ID: <CD2C7z.1q0@sounds.wa.com> Sender: brianw@sounds.wa.com (Brian Willoughby) Organization: Sound Consulting, Bellevue, WA, USA Date: Thu, 9 Sep 1993 01:31:11 GMT I'm having trouble compiling a FAT binary version of a previously working 3.0 application: First of all, a minor point: ProjectBuilder will not create subdirectories as needed (e.g. ./sym, ./m68k_i386_obj or ./i386_obj), so I must create them by hand. Second: I cannot "make depend" when I have both Intel and NeXT checked under "Build for". This means that I must choose one or the other (I chose NeXT) and then switch everything back on to make the app (re-enable Intel, in my case). Most important: I cannot build my app, which makes use of a master precompiled header, because of the following warnings: cc -g -O -Wall -I./sym -arch m68k -arch i386 -I. -c Src.m -o ./m68k_i386_obj/Src.o For architecture i386: Src.m:3: warning: could not use precompiled header 'Project.p', because: Src.m:3: warning: #ifdef 'i386' not defined when precompiled, but now defined: Src.m:3: warning: on the command line Source.h:5: warning: could not use precompiled header '/NextDeveloper/Headers/mach/cthreads.p', because: Source.h:5: warning: macro 'index' defined by /NextDeveloper/Headers/bsd/libc.h conflicts with precomp -- Brian Willoughby Software Design Engineer, BSEE from NCSU NeXTmail welcome Sound Consulting: Software Design and Development BrianW@SoundS.WA.com Bellevue, WA
From: isbell@cats.ucsc.edu (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: Q: precompiled headers for multi-architecture binaries Date: 9 Sep 1993 03:55:57 GMT Organization: Cubic Solutions - NeXT software development and consulting Message-ID: <26m9geINNhk5@darkstar.UCSC.EDU> References: <CD2C7z.1q0@sounds.wa.com> In article <CD2C7z.1q0@sounds.wa.com> BrianW@SoundS.WA.com writes: >I'm having trouble compiling a FAT binary version of a previously working 3.0 >application: >First of all, a minor point: ProjectBuilder will not create subdirectories as >needed (e.g. ./sym, ./m68k_i386_obj or ./i386_obj), so I must create them by >hand. Not sure why this is happening. These directories are created in my projects by PB. >Most important: I cannot build my app, which makes use of a master precompiled >header, because of the following warnings: >cc -g -O -Wall -I./sym -arch m68k -arch i386 -I. -c Src.m -o >./m68k_i386_obj/Src.o >For architecture i386: >Src.m:3: warning: could not use precompiled header 'Project.p', because: >Src.m:3: warning: #ifdef 'i386' not defined when precompiled, but now defined: >Src.m:3: warning: on the command line This happens because the precompiled header isn't MAB. % cc -precomp -arch i386 -arch m68k Project.h -o Project.p >Source.h:5: warning: could not use precompiled header >'/NextDeveloper/Headers/mach/cthreads.p', because: >Source.h:5: warning: macro 'index' defined by /NextDeveloper/Headers/bsd/libc.h >conflicts with precomp This "index" problem seems to pop up frequently. I think someone may have posted a solution, but I can't recall what it is. -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
Newsgroups: comp.sys.next.programmer From: paul@np.com (Paul Nordstrom) Subject: Tracking down included files? Message-ID: <CD04Cz.nH@np.com> Organization: NP Consulting, San Francisco Date: Tue, 7 Sep 1993 20:46:10 GMT I have not been using gcc for that long, so while I did RTFM, I may be missing something simple. What I would like for the compiler (actually the preprocessor) to do is generate a "listing" of my source, including all included/imported files, with or (optionally) without macro expansion. I want it to show conditionally compiled code in such a fashion that I can look at the listing and tell what would be compiled and what would not (that is the real motivation behind this question). The compiler I am used to has these features; As far as I can tell, gcc does not. So, is there a way to get (g)cc or cpp to do what I want? Or, has someone possibly written such a beast as a separate program? I know that I can get the source for gcc and hack the preprocessor to do what I want, but maybe someone else has already solved this problem. Any takers? -- Paul Nordstrom NP Consulting paul@np.com (NeXTMail Appreciated)
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Q: precompiled headers for multi-architecture binaries Message-ID: <1993Sep9.073852.29844@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <CD2C7z.1q0@sounds.wa.com> <26m9geINNhk5@darkstar.UCSC.EDU> Date: Thu, 9 Sep 1993 07:38:52 GMT precomps are a lose. cc -no-precomp is your friend. -=EPS=-
Newsgroups: comp.sys.next.programmer From: michel@unomain.teaser.com Subject: Sending messages from a driver Message-ID: <1993Sep7.141649.18630@unomain.uucp> Sender: michel@unomain.uucp (Michel Gutierrez) Organization: Matra Communication Date: Tue, 7 Sep 1993 14:16:49 GMT Hi, I am currently developing a driver under NS/FIP for one of our communication card. I have no problem for dialoging with the driver functions through mig messages. It is another thing with asynchronous messages. I explain: - the user application allocates a communication port, sends it to the driver and waits for a message to be received on that port. - the driver forks a new thread (which, according to the documentation, should run under the kernel I/O task) - this thread sends a message on the port. - I expect for the user application to receive the message, but it never happens. The documentation tells that the port should be converted with the IOConvertPort. ( Remark: the prototype for this function is: ( port_t IOConvertPort(port_t inport, ( IOIPCSpace from, ( IOIPCSpace to) ( and not: ( port_t IOConvertPort(IOIPCSpace from, ( IOIPCSpace to) ( as it is said in the documentation. I have tried all the combinations for the from and to fields but either the system shut down, or no message is received. According to the documentation, the thread sends the message with the msg_send_from_kernel function. Notice that this function isn't prototyped anywhere. I assume that the parameters are the same as for the msg_send function, but I may be wrong. If someone has an experience in such a problem, any help would be very appreciated. Thanks, Michel. -- ---------------------------------------------------- E-Mail: michel@unomain.teaser.com -----------------------------NeXT Mail-Welcome------
Newsgroups: comp.sys.next.programmer,comp.sys.next. From: michel@unomain.teaser.com Subject: Message Sending from a Driver Message-ID: <1993Sep7.154243.10173@unomain.uucp> Sender: michel@unomain.uucp (Michel Gutierrez) Organization: Matra Communication Date: Tue, 7 Sep 1993 15:42:43 GMT Hi, I am currently developing a driver under NS/FIP for one of our communication card. I have no problem for dialoging with the driver functions through mig messages. It is another thing with asynchronous messages. I explain: - the user application allocates a communication port, sends it to the driver and waits for a message to be received on that port. - the driver forks a new thread (which, according to the documentation, should run under the kernel I/O task) - this thread sends a message on the port. - I expect for the user application to receive the message, but it never happens. The documentation tells that the port should be converted with the IOConvertPort. ( Remark: the prototype for this function is: ( port_t IOConvertPort(port_t inport, ( IOIPCSpace from, ( IOIPCSpace to) ( and not: ( port_t IOConvertPort(IOIPCSpace from, ( IOIPCSpace to) ( as it is said in the documentation. I have tried all the combinations for the from and to fields but either the system shut down, or no message is received. According to the documentation, the thread sends the message with the msg_send_from_kernel function. Notice that this function isn't prototyped anywhere. I assume that the parameters are the same as for the msg_send function, but I may be wrong. If someone has an experience in such a problem, any help would be very appreciated. Thanks, Michel. -- ---------------------------------------------------- E-Mail: michel@unomain.teaser.com -----------------------------NeXT Mail-Welcome------
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: Faking the Application main event loop Message-ID: <1993Sep9.082536.1057@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <CEDMAN.93Sep8200833@capitalist.princeton.edu> Date: Thu, 9 Sep 1993 08:25:36 GMT In article <CEDMAN.93Sep8200833@capitalist.princeton.edu> cedman@princeton.edu (Carl Edman) writes: -> ... going multithreaded is of course an option, but -> considering how un-threadsafe the Appkit is, I'd prefer -> not to. -> -> So instead I'm trying to avoid using [Application -run] -> entirely. Unfortunately it seems that [Application -run] -> still does so much magic that avoiding it entirely will -> not work. Instead I concocted the following scheme: -> -> @implementation MyApp:App -> - appDidInit: sender -> { -> [self stop:self]; -> return self; -> } -> -> - runAWhile [snip] -> } -> @end [snip] -> Contrary to all expectation this actually works perfectly -> well. The program behaves just as if it was using the -> genuine main event loop, but instead it returns -> whenever it runs out of events. In this shape -> I can integrate it into the other main event loop. -> All I still need is a method of having a signal sent -> to me or a file descriptor become available when an -> event is waiting, but that should be a fairly -> straightforward proposition (though I appreciate -> suggestion for that too). -> -> Now the question is, how safe is this construct ? ... It looks safe to me.. (unless PB overwrites your _main file) :-) But it does raise a question for me, at least. I thought that -appDidInit:sender was *only* sent to the NXApp's delegate, not to NXApp's own subclass object. Does Application actually implement the -appDidInit: method????? Bruce Gingery bruce@TotSysSoft.com
From: fasano@nic.cerf.net (Christopher G. Fasano) Newsgroups: comp.sys.next.programmer Subject: Running Appkit objects from batch jobs Date: 9 Sep 1993 13:15:36 GMT Organization: CERFnet Dial n' CERF Customer Message-ID: <26na9o$moe@news.cerf.net> We have a set of general-purpose objects that we have linked into some applications which we want to run both interactively and in batch. The problem is that some of the objects report errors via alert panels -- and if you get an alert panel in a program in the middle of your "night run", and there is no one there to click "OK", then the entire batch job stops in the modal loop. Has anyone else out there faced this problem? What did you do about it? You would think this is a classic time to subclass something, but NXRunAlertPanel() is a function, not an object message, and unless there is something out there none of us have discovered yet, you can't override a function. We could also write another function with another name and then substitute that function name for NXRunAlertPanel() every time it occurs (a pain, but not impossible), but then the question is: how do you tell if the program has been run in batch mode? Is there something I can look at that will tell me this? Any ideas will be gratefully accepted... cathy :-) ---- cathy@scarolina.cerfnet.com
From: rogata@is-next.umd.edu (Richard Scott Ogata) Newsgroups: comp.sys.next.programmer Subject: Re: Q: precompiled headers for multi-architecture binaries Date: 9 Sep 1993 14:37:46 GMT Organization: University Of Maryland, College Park, MD Message-ID: <26nf3q$s8e@umd5.umd.edu> References: <CD2C7z.1q0@sounds.wa.com> <26m9geINNhk5@darkstar.ucsc.edu> >>I'm having trouble compiling a FAT binary version of a previously working 3.0 >>application: > >>First of all, a minor point: ProjectBuilder will not create subdirectories as >>needed (e.g. ./sym, ./m68k_i386_obj or ./i386_obj), so I must create them by >>hand. > Odd. I remember this being a problem with one of the betas, but have never seen it in the release. Rich Ogata rogata@arpa.mil
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: Q: precompiled headers for multi-architecture binaries Message-ID: <1993Sep9.135231.1408@afs.com> Sender: Michael_Pizolato@afs.com References: <1993Sep9.073852.29844@csus.edu> Date: Thu, 9 Sep 1993 13:52:31 GMT Eric P. Scott writes >precomps are a lose. > >cc -no-precomp is your friend. Why? -- Michael Pizolato gnihtyreve noitseuq Michael_Pizolato@afs.com NeXTMail appreciated
Newsgroups: comp.sys.next.programmer From: Greg_Anderson@afs.com (Gregory H. Anderson) Subject: Re: Faking the Application main event loop Message-ID: <1993Sep9.144653.29612@afs.com> Sender: greg@afs.com References: <1993Sep9.082536.1057@ToTSySSoft.com> Date: Thu, 9 Sep 1993 14:46:53 GMT In article <1993Sep9.082536.1057@ToTSySSoft.com> bruce@TotSysSoft.com (Bruce Gingery) writes: > It looks safe to me.. (unless PB overwrites your _main file) > :-) But it does raise a question for me, at least. > > I thought that -appDidInit:sender was *only* sent to the > NXApp's delegate, not to NXApp's own subclass object. > > Does Application actually implement the -appDidInit: > method????? A good question on which there is much confusion, because the AppKit is not consistent (surprise!). For most Application delegate methods, if there is no delegate or it it does not respond, the Application is given a chance, too. That way delegate methods will get sent if they are defined in a subclass, which is what Carl was doing here (MyApp:App). TextFields operate the same way. If your TextField has a delegate and it responds to a method, the delegate gets the message. Otherwise the TextField uses its own implementation of the method. (Remember, these delegate methods actually originate in the Text object, so TextField is always in the process of forwarding them.) Windows, on the other hand, are documented as NOT giving any object other than the delegate a chance to respond. They are also very generous with perform: methods. The tryToPerform:with: method is overridden in Window to allow all such messages to be handled by the delegate. And they wonder why newcomers to NEXTSTEP get confused... 8^) -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
Newsgroups: comp.sys.next.programmer From: Greg_Anderson@afs.com (Gregory H. Anderson) Subject: Re: "Official" way to get information about "heirs"? Message-ID: <1993Sep9.150534.29673@afs.com> Sender: greg@afs.com References: <1993Sep7.224042.17385@gleap.sccsi.com> Date: Thu, 9 Sep 1993 15:05:34 GMT In article <1993Sep7.224042.17385@gleap.sccsi.com> clloyd@gleap (Charles C. Lloyd) writes: > Darcy Brockbank writes > >In article <stabl.746492819@news.informatik.uni-muenchen.de> > >stabl@informatik.uni-muenchen.de (Robert Stabl) writes: > >> > >> is there an "official" way in Objective-C (and on the NeXT) to get > >> information about all objects (i.e. at runtime) that are instances > >> of subclasses of a specific class? In other words: I'm looking for > >> the heirs of a specific class at runtime. > > > Well, you could override the +alloc method for the class(es) you're > interested in. I would do it something like: > > static id allInstances ^^^^^^^^^^^^^^^^^^^^^^^ missing semicolon! -10 pts, Mr. Lloyd! 8^) > > +alloc > { > id newObject = [super alloc]; > [allInstances addObject:newObject]; > return newObject; > } > > +initialize > { > allInstances = [[List alloc] init]; > return self; > } > > +allInstances > { > return allInstances; > } Charles has a good idea here, but their are too problems (besides the missing semicolon; but this is USENET, so I,m aloud to complane about speeling and punctuation(): First, many objects in nib files (certainly all the View classes) do not get +alloc messages at runtime, because they already exist. In that case, you need to include a [allInstances addObject:newObject] message in the awakeFromNib method, too. Second, there is a memory leak in the code. The +initialize method should be implemented as follows: static id allInstances = nil; // statics must be initialized ... +initialize { if (allInstances == nil) allInstances = [[List alloc] init]; return self; } It is possible for the runtime system to call +initialize more than once, in which case a new list gets allocated each time. If this happens as the result of a subclass getting initialized later in a running program, you would lose track of existing instance records, as well as a cluster of unrecoverable memory. -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: Running Appkit objects from batch jobs Message-ID: <1993Sep9.161621.1543@afs.com> Sender: Michael_Pizolato@afs.com References: <26na9o$moe@news.cerf.net> Date: Thu, 9 Sep 1993 16:16:21 GMT cathy@scarolina.cerfnet.com writes >We have a set of general-purpose objects that we have linked into >some applications which we want to run both interactively and in >batch. [rest deleted] This raises the more general question: What is the best way to tell, from within an object, whether or not I'm running in an app? I have a kit of objects that does not use the appkit (all objects in the kit descend from the common classes only), and it's conceivable that they could be used in daemons or command-line utilities or whatever, where the appkit is not in use. If I want their behaviors when not in apps to be different than when in apps (for example, writing a message to stderr vs. using NXRunAlertPanel), how can I distinguish between the two situations? Is it better, since none of the objects descend from appkit classes, to assume that they are not running in an app, and just set up hooks (like methods to be overridden, callbacks, etc.) so that subclasses of these objects can implement appkit-dependent behavior? Thanx, Michael -- Michael Pizolato gnihtyreve noitseuq Michael_Pizolato@afs.com NeXTMail appreciated
Newsgroups: comp.sys.next.programmer From: wave@media.mit.edu (Michael B. Johnson) Subject: Re: IB isTestingInterface: Warning Message-ID: <1993Sep6.042813.13819@news.media.mit.edu> Sender: news@news.media.mit.edu (USENET News System) Organization: MIT Media Laboratory References: <26dkl5$u2@ursula.ee.pdx.edu> Distribution: ne Date: Mon, 6 Sep 1993 04:28:13 GMT Marcus Daniels writes > ploeger@aplki.toppoint.de (Andreas Ploeger) writes: > > >Now under 3.1 this doesn't work any more. '[NXApp isTestingInterface]' > >yields always 'NO' during 'read:', 'awake' and 'finishUnarchiving' (even in > >test mode). > > Yeah, what is the deal? > > isTestingInterface is not terribly useful unless it is set early. > > fix it or at least explain... This has never worked. I reported it directly to Jean-Marie on the order of a year ago. He admitted it was a bug, but wasn't specific about a fix date. By the time you get into init or awake you know whether or not you're in IB, though. It's pretty easy to workaround. Here's a question along the same lines for extra credit: how can you have an object open a nib file when it's in test mode? It's trickier than you think... -- --> Michael B. Johnson --> MIT Media Lab -- Computer Graphics & Animation Group --> (617) 253-0663 -- wave@media-lab.media.mit.edu --> NeXT Mail accepted at wave@nordine.media.mit.edu
Newsgroups: comp.sys.next.programmer From: BrianW@SoundS.WA.com (Brian Willoughby) Subject: Re: Q: precompiled headers for multi-architecture binaries Message-ID: <CD3JA6.2H4@sounds.wa.com> Sender: brianw@sounds.wa.com (Brian Willoughby) Organization: Sound Consulting, Bellevue, WA, USA References: <26nf3q$s8e@umd5.umd.edu> Date: Thu, 9 Sep 1993 17:01:18 GMT Richard Scott Ogata writes | Brian Willoughby writes | >>I'm having trouble compiling a FAT binary version of a previously working | >>3.0 application: | > | >>First of all, a minor point: ProjectBuilder will not create subdirectories | >>as needed (e.g. ./sym, ./m68k_i386_obj or ./i386_obj), so I must create | >>them by hand. | | Odd. I remember this being a problem with one of the betas, but have never | seen it in the release. Just to ease the minds of anyone troubling over this, I found out why I had a problem. The following was in the project's Makefile.postamble: ----- .h.p: cc -precomp $(CFLAGS) $*.h -o $*.p $(OFILE_DIR): Project.p Project.p: $(HFILES) ----- I don't know what I was thinking; whether I hacked that together or got it from someone else. The second rule evidently overrides the rule which initially creates the object file subdirectories. Maybe I need to read a tutorial on using make. Perhaps someone can help by suggesting a Makefile.p*amble rule that would cause Project.p to be built before any source files are compiled, and Project.p would be built only if any of the included headers have been updated. The construction above worked so far as it (seemed to have) made everything in the object file directory depend upon the precompiled header. But that approach only worked when there was just one object file directory. -- Brian Willoughby Software Design Engineer, BSEE from NCSU NeXTmail welcome Sound Consulting: Software Design and Development BrianW@SoundS.WA.com Bellevue, WA
Newsgroups: comp.sys.next.programmer,comp.sys.next.misc From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Extracting images from executable Message-ID: <1993Sep9.192330.1708@afs.com> Followup-To: comp.sys.next.programmer Sender: Michael_Pizolato@afs.com Date: Thu, 9 Sep 1993 19:23:30 GMT I know someone has posted this before. I want to extract an icon from a segment in an executable. What are the segment and section I have to pass to segedit -extract to get this to work? Also, if I'm extracting a tiff, should the <filename> portion of "-extract segname sectname filename" include the .tiff extension or not? Thanx, Michael -- Michael Pizolato gnihtyreve noitseuq Michael_Pizolato@afs.com NeXTMail appreciated
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Still looking for a NEXTSTEP programmer! Date: 9 Sep 1993 17:00:37 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <26o5hl$jit@digifix.digifix.com> I'm still looking for a NEXTSTEP programmer to do some part-time work for me. One thing that I didn't mention was that I am after someone to do the work at their location, and then NextMail me the work. Hopefully this will widen the field a little bit. Basically, I need some functionality added to Draw.app as a proof of concept for a company, I'm trying to convince them that Windows NT is not the way to go for their graphics application. Hopefully this will generate some future business. You can do whatever you want with the modifications later... it doesn't matter to me. I'm basically looking for Bezier curves (implemented like Illustrator does) and scaling/zooming... with the standard pop-up in the lower corner. The scaling/zooming would need to take into account the cached views and the rulers. If you have time, and are interested in earning some extra money, please contact me. They want to make a decision within 2 weeks, so I need this done really quickly. -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: comp.sys.next.programmer From: rob@lighthouse.com (Rob Kedoin) Subject: Re: Q: precompiled headers for multi-architecture binaries Message-ID: <1993Sep9.220503.1629@lighthouse.com> Sender: rob@lighthouse.com Organization: Lighthouse Design, Ltd. References: <26m9geINNhk5@darkstar.UCSC.EDU> Date: Thu, 9 Sep 1993 22:05:03 GMT In article <26m9geINNhk5@darkstar.UCSC.EDU> isbell@cats.ucsc.edu (Art Isbell) writes: > >Source.h:5: warning: could not use precompiled header > >'/NextDeveloper/Headers/mach/cthreads.p', because: > >Source.h:5: warning: macro 'index' defined by /NextDeveloper/Headers/bsd/libc.h > >conflicts with precomp > > This "index" problem seems to pop up frequently. I think someone may have > posted a solution, but I can't recall what it is. > -- > Placing #import <strings.h> as the first line of the header to be precompiled seems to solve the problem. Hopefully this will be fixed in 3.2. -- Robert Kedoin rob@lighthouse.com Lighthouse Design, Ltd NeXTmail accepted and encouraged! 2929 Campus Drive - Suite 250 San Mateo, CA 94403
From: michaell@swdev.research.otc.com.au (Michael Lofquist) Newsgroups: comp.sys.next.programmer Subject: Drag and drop files to an application Date: 9 Sep 1993 23:24:45 GMT Organization: Technical Development Group, Telstra International Distribution: world Message-ID: <26odvt$s3n@turin.research.otc.com.au> I need some help with an application that I am writing. I need to be able to drag and drop files from workspace file viewer into my applications GUI. I have set up a subclass of view that it includes the protocol NXDraggingDestination methods, and when I drag a file across I can follow the sequence of messages sent to that object: -draggingEntered: -draggingUpdated: -prepareToDrag: ( can`t remember the exact method name ) I tried to follow the description of these methods when returning values to the sender object, but I cannot get the performDragOperation: to be issued to my view subclass, or concludeDragOperation: Second problem is that I have not done much development using the view and NXCImage class. I need som detailed guidelines how to implement this whole scheme so that a icon gets placed in my view, and I can access the filename + path from application so do operations on that file. Does anybody have a segment of code or a class that implements this drag and drop of file icons into a view, and lets the application access the filename for operations ( copy, move, delete , whatever )? Are you willing to share that information with me ? I would be most greatful. Thanks in advanced for all advice. ( NeXTMail accepted ) Regards Michael -- -------------------------------------------- Michael Lofquist Email: michaell@swdev.research.otc.com.au michaell@research.otc.com.au --------------------------------------------
From: isbell@cats.ucsc.edu (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: Q: precompiled headers for multi-architecture binaries Date: 10 Sep 1993 05:21:56 GMT Organization: Cubic Solutions - NeXT software development and consulting Message-ID: <26p2tkINNf8g@darkstar.UCSC.EDU> References: <26nf3q$s8e@umd5.umd.edu> <CD3JA6.2H4@sounds.wa.com> In article <CD3JA6.2H4@sounds.wa.com> BrianW@SoundS.WA.com writes: >Perhaps someone can help by suggesting a Makefile.p*amble rule that would cause >Project.p to be built before any source files are compiled, and Project.p would >be built only if any of the included headers have been updated. The >construction above worked so far as it (seemed to have) made everything in the >object file directory depend upon the precompiled header. But that approach >only worked when there was just one object file directory. I'm always game to expose my misunderstanding of Makefiles :-) How about, in Makefile.preamble: PRECOMP_HFILES = foo.h bar.h baz.h # Precompiled headers to be built before any compilation occurs (e.g., draw.p) PRECOMPS = foo.p foo.p: $(PRECOMP_HFILES) $(RM) -f $@; \ $(CC) -precomp $(CFLAGS) $*.h -o $@ Seems to work for me... -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
Newsgroups: comp.sys.next.programmer From: cedar@cedar.demon.co.uk (Cedar Systems) Subject: Justified text??? Distribution: world Organization: Cedar Systems Date: Fri, 3 Sep 1993 17:29:18 +0000 Message-ID: <747077358snz@cedar.demon.co.uk> Sender: usenet@demon.co.uk We are currently using version 3.0 of NeXTStep and note that the text class has provision for justified text although the feature is not implemented. Does anyone know when justified text will be available or if there is some other class somewhere that can handle this. We would also be interesed in any other planned enhancements to the text class. Thanks, Paul. -- Cedar Systems
Newsgroups: comp.sys.next.programmer From: shiva@vega.Stanford.EDU (Marcos Javier Polanco) Subject: Re: "Official" way to get information about "heirs"? Message-ID: <1993Sep7.191202.12060@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: Stanford University References: <25t6el$q6@amber.solutions.ca> Date: Tue, 7 Sep 93 19:12:02 GMT > In article <stabl.746492819@news.informatik.uni-muenchen.de> > stabl@informatik.uni-muenchen.de (Robert Stabl) writes: > > Hi, > > > > is there an "official" way in Objective-C (and on the NeXT) to get > > information about all objects (i.e. at runtime) that are instances > > of subclasses of a specific class? In other words: I'm looking for > > the heirs of a specific class at runtime. > From RunTimeFuncs.rtf: >objc_getClasses() returns a pointer to the hash table containing all the >Objective C classes that are currently known to the run-time system. You >can examine the table using the common hashing functions. So presumably you can get this hash table and examine all the superclasses of the classes which were returned, yielding an inheritance tree. I have not tried this, but can see no reason why it will not work. Enjoy, marcos j. polanco shiva@vega.stanford.edu
Newsgroups: comp.sys.next.programmer From: dnp@phragmen.mit.edu (Dan Port) Subject: needd example use of NXdragging protocol for NXImage Message-ID: <1993Sep10.080406.7534@galois.mit.edu> Sender: news@galois.mit.edu Organization: MIT Department of Mathematics Distribution: usa Date: Fri, 10 Sep 93 08:04:06 GMT Does anyone have a simple example of the use of the NXDragging protocol with NXImage? In particular, dragging an icon from one view and accepted (and drawn) in another. Does the NXDragging protocol composite with the background in this case? Thanks for any help. E-mail replies requested.
Newsgroups: comp.sys.next.programmer From: carlos@thinkmuch.dolphin.com (Carlos Salinas) Subject: Using replaceSel: in text filters. Message-ID: <CD4M55.nJ@thinkmuch.dolphin.com> Sender: carlos@thinkmuch.dolphin.com (Carlos Salinas) Organization: Deep Breakfast Productions Date: Fri, 10 Sep 1993 07:00:40 GMT I'm trying to use replaceSel: within a text filter but it refuses to work (meaning the selection isn't replaced). Does anyone know if Text sets a flag that disables replaceSel: in text filters? Or is it truly a bug on my part? Thanks! 'Los Dolphin Software BTW: Did you know that Text has one method which can be used to change paste, delete (and cut), and key down behaviour in one fell swoop? That method is _replaceSel:::::::. Alas _replaceSel::::::: is undocumented so you have to write lots and hacks and workarounds to change Text's behaviour. (In order to implement a variation on paste, I've had to override the paste method to first save the selection, perform the paste, save the new selection, revert the paste, and then repaste again. Yuck!) Praise the Appkit in its infinite glor!
Newsgroups: comp.sys.next.programmer From: carlos@thinkmuch.dolphin.com (Carlos Salinas) Subject: Re: Pb with responder chain? Message-ID: <CD4q39.u1@thinkmuch.dolphin.com> Sender: carlos@thinkmuch.dolphin.com (Carlos Salinas) Organization: Deep Breakfast Productions References: <ARROUYE.93Sep2143847@mistral.imag.fr> Date: Fri, 10 Sep 1993 08:25:57 GMT In article <ARROUYE.93Sep2143847@mistral.imag.fr> arrouye@cosmos.imag.fr (Yves Arrouye) writes: : I repost this question because it seems not to have been posted by our : system: : : I have two responders problems that I don't understand: : : 1. : : I have an application with a preference panel which is used to let the : user choose a font. The panel contains a view which displays two text : fields (one for the font family name, and another one for its point : size) and a button which is used to display the font panel. : : I used the following action for the button in order to be able to : reflect font setting (my view answers to changeFont:) : : - setFont:sender : { : [window makeFirstResponder:self]; : [fontManager orderFrontFontPanel:self]; : : return self; : } : : This worked fine for a moment, until I added another editable text : field to let the user set something. : : Now, it works until the user types in the text field, and then it does : not work anymore. I suspect that the responder chain changed, but I : don't know how, nor do I know how to program the intended behaviour : for my panel. Does the text field trap the changeFont: message? Or : does it pass it to a next responder which is not my view? : Yes, the text field object is catching the changeFont:. Whenever a user edits a field, the window's field editor (an instance of Text) is used to perform the actual editing. Okay. So user clicks in a field, and the field editor becomes the first responder. So when the user sets the font in the font panel, the field editor NOT your view is the first object to receive the changeFont: message. (I'm not sure if Text forwards changeFont: up the responder chain.) So how do you keep random objects such as fields from receiving changeFont:? Well, you can't unless you want to mangle the responder chain. However, what you can do is tell the FontManager to send a different message instead of changeFont:. That is done with - [FontManager setAction:]. Your view implements the new method instead of changeFont: and you don't have to worry about mangling the responder chain. So far so good. However, how and when do you restore FontManager's normal behaviour? If the FontManager is sending this new message, none of your text fields are going to be updated correctly when the user changes the font. Hmmmm... well what I'd suggest is setting your preference panel's delegate. When the preference panel becomes key, set FontManager's action message. When the preference panel resigns key, reset the FontManager's action message. In the preference panel's delegate... Add the following instance variable: SEL fontManagerAction; Add the following two Window delegate methods: /*** Window Delegation ***/ - windowDidBecomeKey:sender // Sets the FontManager's action to setPreferredFont:. // Saves the previous action. { id fontManager = [FontManager new]; fontManagerAction = [fontManager action]; // Save default action. [fontManager setAction:@selector(setPreferredFont:)]; return self; } - windowDidResignKey:sender // Restores the FontManager's action. { [[FontManager setAction:fontManagerAction]; // Restore default action. return self; } ---------- In your custom view... Rename your changeFont: method to the following: - setPreferredFont:sender { } Modify setFont: as follows: - setFont:sender { // [window makeFirstResponder:self]; // Unnecessary. [fontManager orderFrontFontPanel:self]; return self; } The above should work. (I've never done this before... this is untested... good luck!) : 2. (Second problem) : : I have another panel with only switches and color wells, and a Set : button which a return sign. How can I make the set button trigger when : the user types return? : Well the method involved is performKeyEquivalent: if the window is a Panel, then the button should trigger. If the window is a Window, then you need override commandKey: for that window. NeXT suggests the following code: - (BOOL)commandKey:(NXEvent *)theEvent { if ( [contentView performKeyEquivalent:theEvent] ) return YES; else return NO; } For more information search for performKeyEquivalent: in Digital Librarian. : : MANY thanks for any helkp, : Yves : : : -- : With one processor, we verify that the time spent Yves Arrouye : in controlling parallelism is not too long. arrouye@petole.imag.fr : (33) 76 57 48 61 : -- Yannick Tre'molet, LMC NeXT Mail 'Los Dolphin Software
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: To APP or not to APP -- that is the question (was Re: Running Appkit objects from batch jobs) Message-ID: <1993Sep10.082328.1589@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <1993Sep9.161621.1543@afs.com> Date: Fri, 10 Sep 1993 08:23:28 GMT In article <1993Sep9.161621.1543@afs.com> Michael_Pizolato@afs.com (Michael Pizolato) writes: -> cathy@scarolina.cerfnet.com writes -> >We have a set of general-purpose objects that we have -> > linked into some applications which we want to run -> > both interactively and in batch. -> [rest deleted] I've done this by using different -init and -initNonApp methods. Use the -initNonApp to set a local (static BOOL) Class variable (the same object is not going to support both app and non-app instances in the same run until we can get shlib's up). - showError:(const char *)errMsg { if (isApp) NXRunAlertPanel("", errMsg, NULL, NULL, NULL ); else syslog( LOG_WARN,"%s\n", errMsg ); return self; } - init { [super init] var1 = STARTUPVALUE; myStr = (char *)NULL; isApp = YES; etc... return self; } - initNonApp:(const char *)argv0 { [self init]; if ((argv0) && (myAppName == NULL) isApp = NO; } It really doesn't matter that isApp gets set/reset every instantiation, as the time to CHECK would exceed the time taken to deposit a char value. NOTE: The syslog should be initialized for desired options in main(), probably before the first instantiation takes place, thus good logging to the desired LOCALx or DAEMONx, etc... can be set before any logging can take place. -> This raises the more general question: What is the -> best way to tell, from within an object, whether or -> not I'm running in an app? -> -> I have a kit of objects that does not use the appkit -> (all objects in the kit descend from the common -> classes only), and it's conceivable that they could -> be used in daemons or command-line utilities or -> whatever, where the appkit is not in use. If I -> want their behaviors when not in apps to be different -> than when in apps (for example, writing a message to -> stderr vs. using NXRunAlertPanel), how can I -> distinguish between the two situations? I don't know if this is the BEST way, but it would be fairly simple to set a facility standard that NXApp is ALWAYS included as a global in all programs, set to nil if non-app, and automatically set before the initial un-arcing from NIB in a normal app. Then a simple test if (NXApp) printf( "I am an app" ); else printf( "I am not an app" ); -> Is it better, since none of the objects descend from -> appkit classes, to assume that they are not running -> in an app, and just set up hooks (like methods to be -> overridden, callbacks, etc.) so that subclasses of -> these objects can implement appkit-dependent behavior? My personal opinion is that it is NOT better to assume anything :-) which is beyond your control, or could be beyond your recollection. Possible solutions: Design non-appkit-based objects to assume NEITHER that they are being run in an .app, nor not. Utilize delegation to handle the app/non-app question, and ... abort with an error if the delegate is not filled. This places the determination at build time. Similarly design non-appkit-based objects to assume NEITHER that they are being run in an .app nor not. Utilize delegation to handle the app/non-app question and... create a non-app style delegate if no delegate is present when dependant behaviour is needed. This allows an app to have the delegate filled in NIB, and the daemon to have the delegate filled at run time. Once the delegate is instantiated or unarc'd from NIB, it is just used. Other ideas ??? Bruce Gingery bruce@TotSysSoft.com NeXT-mail preferred, MIME-Mail ok
Newsgroups: comp.sys.next.programmer From: jq@phcs.com (Jim Quick) Subject: Re: Tracking down included files? Message-ID: <CD553q.99E@phcs.com> Organization: Private Healthcare Systems, Inc References: <CD04Cz.nH@np.com> Date: Fri, 10 Sep 1993 13:50:14 GMT In article <CD04Cz.nH@np.com> paul@np.com (Paul Nordstrom) writes: ... >missing something simple. What I would like for the compiler >(actually the preprocessor) to do is generate a "listing" of my >source, including all included/imported files, with or (optionally) >without macro expansion. I want it to show conditionally compiled ... > >-- >Paul Nordstrom >NP Consulting >paul@np.com >(NeXTMail Appreciated) Not terribly elegent, but a 'cheap' way to do this is: cc -E -C foo.c | cat -s > outfile '-E' runs the preprocessor only. '-C' tells preprocessor not to strip comments (so you have more context). cat -s will collapse multiple blank lines to make the output more readable. If you have a standard form of comment for preprocessor #ifdefs such as: #ifndef SOME_DEF /* !SOME_DEF */ a = aint_somedef(); #else /* SOME_DEF */ a = is_somedef(); #end then you can easily tell what conditionally compiled code is bein called. -- ___ ___ mail: uunet!phcs!jq PHCS, Inc. Advanced Technology Group / / / or jq@phcs.com It's spelled "Luxury Yacht", but it's \_/ (_\/ Fax: (617) 863-8575 pronounced "Throat-Warbler Mangrove". ) Voice: (617) 861-5579 NeXTMail O.K.
Newsgroups: comp.sys.next.programmer From: mrothste@worf.acs.calpoly.edu (Rothstein) Subject: How do I get inside NXData Object? Message-ID: <1993Sep10.164721.116038@zeus.aix.calpoly.edu> Sender: news@zeus.calpoly.edu Organization: /usr/spool/news/organization Date: Fri, 10 Sep 1993 16:47:21 GMT Please Help me. I am trying to output some text to a file. The problem is that the text is in rtfd form and is passed to me in an NXData object. When I send the data method to the NXData object all I get back is "rtfd". The docs say that a void* is being returned but I don't know how to actually get to the data. Of course once I have the data I have to strip the rtfd stuff and get it to plain ascii so if someone knows how to do this also I would appreciate it. Any help is greatly appreciated. -- -Mont NeXTmail OK :-) President CP-NUG (Cal Poly NeXT User Group, SLO)
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: Q: precompiled headers for multi-architecture binaries Message-ID: <1993Sep10.153732.526@afs.com> Sender: Michael_Pizolato@afs.com References: <26p2tkINNf8g@darkstar.UCSC.EDU> Date: Fri, 10 Sep 1993 15:37:32 GMT Art Isbell writes >I'm always game to expose my misunderstanding of Makefiles :-) >How about, in Makefile.preamble: > >PRECOMP_HFILES = foo.h bar.h baz.h > ># Precompiled headers to be built before any compilation occurs >(e.g., draw.p) >PRECOMPS = foo.p > >foo.p: $(PRECOMP_HFILES) > $(RM) -f $@; \ > $(CC) -precomp $(CFLAGS) $*.h -o $@ > >Seems to work for me... It's even simpler than that: Makefile.preamble: PRECOMPS = fookit.p Makefile.postamble: fookit.p: $(HFILES) There should be a file, fookit.h, that #imports all the headers in HFILES, and you're done. If you want to leave out some of the headers, just list the ones you want and #import the same ones in fookit.h. Since there's already a .h.p rule in the NeXT-supplied makefiles, it just works. For example, if foo is a library project, this will make a precompiled header for the entire library, properly named. No other headers will be precompiled, which is good because .p files are _huge_. And if you're really concerned about space you should only make fookit.p when you're ready to install or ship the library, and delete it when you're done. Actually, if you're going to always name your libraries after the project name (e.g. a project named fookit will always produce libfookit.a and fookit.p), you can make the above rule generic for any library like this: $(NAME).p : $(HFILES) I've done this, and put the rule in a central MRPMakefile.postamble that I always -include in every Makefile.postamble in every project. Then I don't have to think about it. You can even leave out this rule, and whatever you define in PRECOMPS will compile every time, I think, though that's rather undesirable. Either way you do have to modify fookit.h every time you add a new .h file. Thanx, Michael -- Michael Pizolato gnihtyreve noitseuq Michael_Pizolato@afs.com NeXTMail appreciated
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: To APP or not to APP -- that is the question (was Re: Running Appkit objects from batch jobs) Message-ID: <1993Sep10.155614.594@afs.com> Sender: Michael_Pizolato@afs.com References: <1993Sep10.082328.1589@ToTSySSoft.com> Date: Fri, 10 Sep 1993 15:56:14 GMT Bruce Gingery writes > I've done this by using different -init and -initNonApp >methods. Use the -initNonApp to set a local (static BOOL) >Class variable (the same object is not going to support both >app and non-app instances in the same run until we can get >shlib's up). > >- showError:(const char *)errMsg >{ > if (isApp) > NXRunAlertPanel("", errMsg, NULL, NULL, NULL ); > else > syslog( LOG_WARN,"%s\n", errMsg ); > return self; >} [some deleted] > I don't know if this is the BEST way, but it would be >fairly simple to set a facility standard that NXApp is ALWAYS >included as a global in all programs, set to nil if non-app, >and automatically set before the initial un-arcing from NIB in >a normal app. Then a simple test > > if (NXApp) > printf( "I am an app" ); > else > printf( "I am not an app" ); Does NXApp exist in non-app programs (in compilations on an unmodified system as shipped by NeXT - no modifications having been done at the site to insure its existence in non-apps)? If the symbol isn't there, then the program won't even link, and the above code can't work. Although, I guess you're saying that in your example such a modification has been made. >-> Is it better, since none of the objects descend from >-> appkit classes, to assume that they are not running >-> in an app, and just set up hooks (like methods to be >-> overridden, callbacks, etc.) so that subclasses of >-> these objects can implement appkit-dependent behavior? > > My personal opinion is that it is NOT better to assume >anything :-) which is beyond your control, or could be beyond >your recollection. Well, I didn't mean assume so much as this: design all objects that do not descend from appkit so that they _never_ try to use appkit stuff. So, your showError: method above wouldn't invoke NXRunAlertPanel because that's an appkit thing. Then if you want to use the object in an app, you'd have to either subclass the non-appkit objects and use NXRunAlertPanel, or deal with errors from the non-appkit objects in another way. If the latter, then the non-appkit objects should be designed to return specific, documented values to indicate error or other conditions requiring special treatment, so that in an app the callers could deal with errors in an appkit-friendly way. >Possible solutions: > > Design non-appkit-based objects to assume NEITHER that they >are being run in an .app, nor not. Utilize delegation to >handle the app/non-app question, and ... > abort with an error if the delegate is not filled. This >places the determination at build time. > > Similarly design non-appkit-based objects to assume NEITHER >that they are being run in an .app nor not. Utilize >delegation to handle the app/non-app question and... > create a non-app style delegate if no delegate is present >when dependant behaviour is needed. This allows an app to >have the delegate filled in NIB, and the daemon to have the >delegate filled at run time. Once the delegate is >instantiated or unarc'd from NIB, it is just used. If you're designing objects that descend from common objects only, and they're not intended to be additions to the appkit but instead are extensions of the common classes, IMHO you should not build any of this "Am I running with appkit or not?" kind of code into the object. They're not appkit objects, so they should not even acknowledge the existence of appkit. The same would go for a new appkit object that might act differently if, say, dbkit is linked into the app or not. In that case, it's an appkit object, and it should not even acknowledge the existence of dbkit in its implementation. The programmer who is writing the program, app, or kit that uses both should resolve the behavior changes in subclasses or other objects. Thanx, Michael -- Michael Pizolato gnihtyreve noitseuq Michael_Pizolato@afs.com NeXTMail appreciated
Newsgroups: comp.sys.next.programmer From: Greg_Anderson@afs.com (Gregory H. Anderson) Subject: Book: NEXTSTEP Programming - A Master's Class Message-ID: <1993Sep10.182431.561@afs.com> Sender: greg@afs.com Date: Fri, 10 Sep 1993 18:24:31 GMT No, the book in the subject line doesn't exist yet, but I am talking to several publishers about writing it. The remainder of this article is the proposed chapter outline. I welcome all comments on whether the material is complete, germane, and properly organized to the task at hand. Thanks in advance for any ideas you care to share. ========================================================================= NEXTSTEP Programming: A Master's Class Chapter Outline Introduction The focus of this book is on real-world business problem solving with NEXTSTEP, primarily AppKit and extensions. Prerequisite: Garfinkel & Mahoney or several months of hands-on experience. Every chapter provides an insider's look at some aspect of the runtime system and AppKit classes, with a concrete example to reinforce the concepts. By the end of the book, you will have the spine of a multi-form application with swappable inspectors, a sophisticated new user interface control to replace PopupLists, and a palette that provides access to your application from other applications through distributed objects. Chapter 1: Getting Organized Programming with object technology is different from traditional methods. No matter how well you understand the technology discussions that follow, your experiences will be less than satisfactory if the work is organized poorly. Outline new approaches in the following areas: workgroup composition, division of responsibilities, determinants of compensation. Chapter 2: The Teachings of InterfaceBuilder Premise: InterfaceBuilder is a great example of open-ended design. How the "application as transactor" paradigm provides flexibility. Multi-document and multi-form applications. Leveraging from existing ObjectWare. Models, Inspectors, Finders, Views, and Data Sources: portability and flexibility in action. @protocol: Planning for reuse. Chapter 3: The Objective-C Runtime System and Common Classes Dynamic binding is your #1 pal. Designing applications that are intended to be assembled at runtime and not one second earlier. Available runtime functions and how to use them effectively. Categories and when to use them instead of subclasses. Warnings with multiple categories. Project: Using HashTables to implement class variables. Chapter 4: The Application Class Describes the internal operations of the Application class and optimal strategies for building subclasses and delegates. The role of the application object as central coordinator and how to make the most of it. Project: The spine of a multi-form application with an inspector. Chapter 5: The Window and Panel Classes Describes the event and View management provided by these two key classes, with optimal strategies for building subclasses and delegates. How the NeXT-supplied panels (Font, PageLayout, Print) emphasize good design practices. Accessory views. Popups are Windows, and you shouldn't use them as controls. Project: Panel subclass that will be the base for a swappable inspector, with Popups used in the intended manner. Chapter 6: The View Class Hierarchy View management. What happens when you display, and how to optimize the results. Changing the subview hierarchy to rearrange back-to-front order. Project: SwapView for the inspector. Putting the SwapView and the SwapPanel on a palette. Chapter 7: The Text and ScrollView Classes What Text can and cannot do. How Text serves the Window and Control classes. All those funky tables and what they mean. Do-it-yourself pagination. Managing Text in a ScrollView. Project: Contents Inspector with a scrollable Text object. Chapter 8: The Control and Cell Class Hierarchies Describes how these two apparently disparate classes are combined into the primary UI objects. Goes into detail about how the most common objects are constructed, with the goal of teaching how to subclass new Controls effectively. Project: LookupField, a new Control to replace PopupLists, with all override methods demonstrated. Build a custom palette for this object, with its own private IBConnector and IBEditor. Chapter 9: The NXImage and NXCursor Class Image management. Animation. Cursor rectangles. Project: Designing and implementing a custom cursor for the LookupField's button area. Chapter 10: The Matrix, NXBrowser, and (DB)TableView Classes Complex controls and how to design them. 50 ways to fill your browser. A method to refocus a browser through a TextField. Using Drag-and-drop to add and remove items. Project: A multiple selection inspector. Chapter 11: Distributed Objects What are they and how do they work? Synchronous/async messaging. What are Portable Distributed Objects? Project: Designing a simple client/server process with distributed objects. Extending the server side to be multi-threaded. Chapter 12: Inter-Application functionality What the application already knows how to do, how you can extend it. Talking to Workspace. Designing a good API. Allowing your app to be extended vs. giving other programs a chance to talk to it. Services provision. Project: Using a non-View palette to deliver the functionality to other programmers. Chapter 13: Performance Considerations All of these are brought up in the rest of the text as appropriate; this is a summary for quick reference. Common PostScript errors. Memory management. -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
Newsgroups: comp.sys.next.programmer From: carlos@thinkmuch.dolphin.com (Carlos Salinas) Subject: Using first responder instead of file's owner (twas CustomApp development with IB) Message-ID: <CD5GvM.A5@thinkmuch.dolphin.com> Sender: carlos@thinkmuch.dolphin.com (Carlos Salinas) Organization: Deep Breakfast Productions Date: Fri, 10 Sep 1993 18:04:33 GMT In article <23752d$28c@cnn.sim.es.com> npratt@madmax.modsys (Nevin Pratt) writes: : I connect the First Responder as the target of all (well, : "most") action messages, and let the First Responder chain take care of : dispatching the method to the appropriate NIB manager (via the window : delegation mechanism). : If you use the First Responder chain to dispatch the action methods, you : effectively divorce the target/action stuff from the specific : organization of the classes and views in the app. In article <CAxFtu.AE1@demon.co.uk> robertn@steffi.demon.co.uk (Robert Nicholson) responds: : Right, well I tried it and as far as I can tell it basically gives you : an approach that as you say divorces the target/action connection from : the specific UI element and places it onto the first responder and : eventually is forwarded by the window's delegate. I like this however, : can you please give me a tangible explaination as to why this is such a : desirable approach? : : ie. why go indirectly thru first responder to file owner rather than : directly to file owner. : In most multi-document applications (such as Edit, Draw, Workspace Manager, IB), there are at least two realms of responsibility. One is the responsibility for the application as a whole. For managing the menu, for handle service request, for creating new document. The second realm of responsibility is over the individual documents. Each document is a stand-alone unit, operationally independent from the rest of the application. (Meaning, it's able to perform most of its work without having to call on other documents or the application itself.) In a well written application, well written meaning an application that enforces strict separation of realms of responsibility and conforms to other object-oriented guidelines and principles, creating a new document can be as simple as "newDocument = [[Document alloc] init]", a single method. The responder chain provides a way of separating the application realm of responsibility from the document realm of responsibility. By connecting your menus to responder you are making the application realm indepedent of the implementation of the document realm. You can change the menus without effecting or having to perform any work on the document realm. You can change the interface, or the code in your document realm without effecting or having to perform any work on the application realm. The only thing that's needed is some agreement between the two realms on what methods, what protocol is to be used to communicate between them. Here's a real world example. Cut, copy and paste. Imagine if you had to connect the cut, copy and paste menu items to each and every interface item in your document. Further, if you wanted to create a new document, or close a document, you'd have to modify each and every connection. Also, when the window changes you'd have to modify each and every connection. Instead the responder system is used. Whatever the current responder is, regardless of the window or interface element involved, it receives the cut, copy and paste messages. Also notice that this relies heavily on polymorhphism, the ability for several objects to define and implement the same methods. As long as an object can handle cut copy and paste, it just works. Notice that it is the responsibility of the receiving object to handle the message. The sending object, in this case the menu, isn't responsible for, nor does it care about the implementation on the receiving end. So why route target/action message through the first responder instead of file's owner? Because it enforces a strict separation of responsibilities in your application. And this in turn means that your application is easier to maintain, and it also enables your application to support multiple documents, inspection systems, and so forth with less effort than a conventional approach. ----- I hope you were able to glean something out of this. It's kinda hard to discuss object-oriented programming, principles, and methodology sometimes. The important thing to take from this is to try to think of your application in terms of responsibilities. What are the realms of responsibility within your application? Who is responsible for what? Who should be responsible for what? And then once each object is an expert in its particular field, develop interfaces between them so that they can communicate. For example, Controls in all their various forms and flavors are responsible for editing and displaying a value on screen. Yet despite their complexity they have a simple interface, setStringValue:, stringValue. That's all the rest of the world needs to know about them. And so if you have a problem with editing, or display, you know exactly who is responsible, and where to go to make the change. Well enough. Hope this was of use. 'Los
Newsgroups: comp.sys.next.programmer From: carlos@thinkmuch.dolphin.com (Carlos Salinas) Subject: Re: Help: Changing DBTableView Item Message-ID: <CD5Gx5.Ay@thinkmuch.dolphin.com> Sender: carlos@thinkmuch.dolphin.com (Carlos Salinas) Organization: Deep Breakfast Productions Date: Fri, 10 Sep 1993 18:05:28 GMT : I need to change the text value of an item in an uneditable : DBTableView without fetching (and destroying current record lists). : How can I do that? I think (i.e. the following is untested but should be correct) that the thing to do is to use setValueFor::from: or setValueFor:at:from: (defined by the informal protocol DBTableDataSources): Given: id aTableView - the table view in question. int row, column - the row and column of the cell you want to change. const char *textValue - the new text value. id dataSource = [aTableView dataSource]; id newValue = [[DBValue alloc]; // Set the value of value to the text value. [newValue setStringValue:textValue]; // Note: Following assumes columns are static (fixed number of), and // rows are dynamic. If the reverse (columns dynamic, rows static), // swap variables row and column. [dataSource setValueFor:[[aTableView columnAt:column] identifier] at:row from:newValue]; ---- Explanations: When a DBTableView is connected to a database, the table view's data source is a DBTableAssociation (undocumented subclass of DBAssociation) that conforms to the DBTableDataSources informal protocol. The DBTableAssociation acts as a go between for the table view and the record list the table view is displaying. Whenever a change occurs in the table view, the DBTableAssociation (data source) is notified (via setValueFor::from: or setValueFor:at:from:). The DBTableAssociation then updates the record list with the new value. 'Los
Newsgroups: comp.sys.next.programmer From: carlos@thinkmuch.dolphin.com (Carlos Salinas) Subject: Re: Pb with responder chain? Message-ID: <CD5HDM.DM@thinkmuch.dolphin.com> Sender: carlos@thinkmuch.dolphin.com (Carlos Salinas) Organization: Deep Breakfast Productions References: <CD4q39.u1@thinkmuch.dolphin.com> Date: Fri, 10 Sep 1993 18:15:21 GMT I'm following up to my previous post... : : 2. (Second problem) : : : : I have another panel with only switches and color wells, and a Set : : button which a return sign. How can I make the set button trigger when : : the user types return? : : : : Well the method involved is performKeyEquivalent: if the window is a : Panel, then the button should trigger. If the window is a Window, then : you need override commandKey: for that window. NeXT suggests the : following code: : : - (BOOL)commandKey:(NXEvent *)theEvent : { : if ( [contentView performKeyEquivalent:theEvent] ) : return YES; : else : return NO; : } : : For more information search for performKeyEquivalent: in Digital : Librarian. : Also for Window's need to implement: - keyDown:(NXEvent *)theEvent { [self commandKey:theEvent]; return self; } in addition to commandKey:. 'Los Dolphin Software
Newsgroups: comp.sys.next.programmer From: carlos@thinkmuch.dolphin.com (Carlos Salinas) Subject: Re: rtf-sources and NEXTSTEP 3.1 - PROBLEMS!!! Message-ID: <CD5IJs.G2@thinkmuch.dolphin.com> Followup-To: comp.sys.next.advocacy Sender: carlos@thinkmuch.dolphin.com (Carlos Salinas) Organization: Deep Breakfast Productions References: <1993Aug29.202857.14952@gleap.sccsi.com> Date: Fri, 10 Sep 1993 18:40:39 GMT Short followup (cause this belongs in comp.sys.next.advocacy) I have to agree with Charles Lloyd on the advantages of RTF over straight ASCII. The richness of a language and the method of writing that language impact your expressiveness. With RTF I'm able to be much more expressive than with straight ASCII. I can use bold, italics, real open and close quotes. Some may dismiss this is just prettying things up, but bold and italics and all that do impart additional information. They do have meaning outside of appearence. Imagine if the NeXT documentation where written in Man page format? Imagine if the New York Times or magazines or any other literature was written in the stodgy courier / ohlfs fonts. You'd lose something more than just appearence. I will agree with Louis Mamakos that there are more important things for NeXT to work on than supporting RTF code. However, I gratefully accept any improvements NeXT makes. It's better than nothing which is what everyone else is doing. That's my nickel. (Inflation). Send flames to comp.sys.next.advocacy. 'Los
Newsgroups: comp.sys.next.programmer From: brad@instep.wimsey.bc.ca Subject: Re: How to change 7/8 bits on serial port (black) Message-ID: <1993Sep10.192009.3626@instep.wimsey.bc.ca> Sender: brad@instep.wimsey.bc.ca (Bradley Head) Organization: InStep Mobile Communications Inc. References: <CCsxIy.CCD@bernina.ethz.ch> Date: Fri, 10 Sep 1993 19:20:09 GMT In article <CCsxIy.CCD@bernina.ethz.ch> RAUCH@SATAN.VMSMAIL (Felix Rauch) writes: > In <CCr8nn.KrG@bernina.ethz.ch> RAUCH@SATAN.VMSMAIL writes: > > A friend of mine who has no connection to the usenet aksed me to post > this question. He would like to know how to change the settings of the > serial ports such as 7/8 bits and the number of stopbits. He said he > didn't find anything about this subject in the man-pages. Any hint how > to do this, where to find the corresponding man-page or a mini-example > would be appreciated. > > I'm sorry to followup myself but i forgot to add that he wants to do this from > within a programm, not as a setup. > > Felix Rauch > --- > Felix Rauch, CS-Student @ ETH Zurich, Switzerland. > internet: rauch@avalon.unizh.ch (NeXT Mail welcome) > <Don't let them fool ya, or even try to school ya!> (Bob Marley) Read: man tty man stty man ioctl Brad -- Bradley Head Software Developer, InStep Mobile Communications Inc. brad@instep.wimsey.bc.ca (NeXTmail accepted) 604 872-7116 fax: 604 872-7125
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Re: "Official" way to get information about "heirs"? Message-ID: <1993Sep10.185129.430@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software References: <1993Sep9.150534.29673@afs.com> Date: Fri, 10 Sep 1993 18:51:29 GMT Gregory H. Anderson writes [my sloppy, off the cuff example deleted] > >Charles has a good idea here, but their are too problems (besides the >missing semicolon; but this is USENET, so I,m aloud to complane about >speeling and punctuation(): > >First, many objects in nib files (certainly all the View classes) do not >get +alloc messages at runtime, because they already exist. In that case, >you need to include a [allInstances addObject:newObject] message in the >awakeFromNib method, too. > >Second, there is a memory leak in the code. The +initialize method should >be implemented as follows: > >static id allInstances = nil; // statics must be initialized > >... > >+initialize >{ > if (allInstances == nil) > allInstances = [[List alloc] init]; > return self; >} > >It is possible for the runtime system to call +initialize more than once, >in which case a new list gets allocated each time. If this happens as the >result of a subclass getting initialized later in a running program, you >would lose track of existing instance records, as well as a cluster of >unrecoverable memory. > Greg makes an excellent point as well as some good mental parsing that I was too lazy to do myself. Its only fitting that I add an edition which Bill Shirley (still singed from Glenn R's flaming tounge in cheek) gave me: -free { [[self allInstances] removeObject:self]; return [super free]; } Which keeps the allInstances list in synch with reality. One problem: I still don;t know if this is what the original poster was asking. There seem to be two totally distinct answer-threads in this one thread. So, Robert Stabl, what were you asking? Charles. --- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax) -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software
From: alex@cs.umd.edu (Alex Blakemore) Newsgroups: comp.sys.next.programmer Subject: IEEE Software call for articles on software reuse Date: 10 Sep 1993 16:08:09 -0400 Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Distribution: world Message-ID: <26qmr9$4gv@seine.cs.umd.edu> Summary: Chance to show the world what software reuse is really about CALL FOR ARTICLES ON SOFTWARE REUSE IEEE Software seeks articles for a special issue on software reuse, scheduled for September 1994. This special issue will focus on the current status of reuse technology and on important research. **Case studies and experience reports are particularly welcome.** We are especially interested in articles that address the following kinds of questions * what have you done in your reuse program that worked? * what have you done in your reuse program that didn't work? * what sort of resources (time money, personnel) have you expended on your reuse program? * what benefits have you observed? * based on your experience, what are the key factors for a successful reuse program? We are also interested in research articles that report new significant work, especially those providing empirical results. SUBMISSION DEADLINE IS DECEMBER 1, 1993 If you work in North or South America, send five copies to William B. Frakes Virginia Polytechnic Institute and State University Northern Virginia Graduate Center Department of Computer Science 2990 Telestar Court Falls Church, VA 22042 USA If you work in Asia, Europe, or Africa, send five copies to Sadahiro Isoda Nippon Telegraph and Telephone NTT Shinagawa TWINS 1-9-1 Kohnan, Minato-Ku Tokyo JAPAN All articles are peer-reviewed; all accepted article are edited. For detailed author guidelines, contact Angela Burgess, Managing Editor, fax (714) 821-4010; Internet a.burgess@compmail.com. -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted -------------------------------------------------------------- "Without an engaged and motivated human being at the keyboard, the computer is just another dumb box." William Raspberry
From: "Jeremy G. Mereness" <zonker+@CMU.EDU> Newsgroups: comp.sys.next.programmer Subject: Serial Port Event. Date: Fri, 10 Sep 1993 18:44:18 -0400 Organization: Graduate School of Industrial Administr., Carnegie Mellon, Pittsburgh, PA Message-ID: <MgYEB2u00iMSE1H1ku@andrew.cmu.edu> I would like to learn how to create my own event in NeXTStep. I would like to create something such that an event is generated when something comes in through the serial port. I can employ non-blocking techniques to watch the serial port for input, but how do I poll it without stalling the Event Loop? Alternatively, Is there a way for the serial port to generate an interrupt that could be handled with the Application Kit? Thanks in Advance! ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |Jeremy Mereness zonker+@cmu.edu | Support \ Ye Olde Disclaimer: | |Programmer/Analyst, FAST Program | Free \ The above represents my| |GSIA - Carnegie Mellon University | Software \ opinions, alone. | |B.S.Mechanical Engineering, CMU '92| NeXTMail Welcome\ Ya Gotta Love It. | | Every Silver Lining's Got a Touch of Grey | -----------------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: Re: Serial Port Event. Message-ID: <CD5wJt.CDu@news2.cis.umn.edu> Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Hospital and Clinic, Labratory Information Services References: <MgYEB2u00iMSE1H1ku@andrew.cmu.edu> Date: Fri, 10 Sep 1993 23:34:40 GMT How does DPSAddFD() not do what you need/want? peter Jeremy G. Mereness (zonker+@CMU.EDU) wrote: : I can employ non-blocking techniques to watch the serial port for input, : but how do I poll it without stalling the Event Loop? Alternatively, Is : there a way for the serial port to generate an interrupt that could be : handled with the Application Kit? -- Advice found in a pamphlet found on a university campus: "Sex for the sake of scoring is dumb!" peter@tahiti.umhc.umn.edu (Peter Eisch) peter.a.eisch@uwrf.edu
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Running Appkit objects from batch jobs Message-ID: <1993Sep11.005350.17814@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <26na9o$moe@news.cerf.net> Date: Sat, 11 Sep 1993 00:53:50 GMT In article <26na9o$moe@news.cerf.net> cathy@scarolina.cerfnet.com writes: >Has anyone else out there faced this problem? Yeah--NeXT! > What did you do about it? -setInteractsWithUser: (NXDataLinkManager) -=EPS=-
From: jmd@cube.handheld.com (Jim De Arras) Newsgroups: comp.sys.next.misc,comp.sys.next.software,comp.sys.next.programmer Subject: Black Hardware, 8 bit serial I/O + even parity? Date: 10 Sep 1993 19:47:10 GMT Organization: Hand Held Products, Inc. Distribution: world Message-ID: <26qljuINNt6k@clem.handheld.com> Is it possible to have 8 bit data AND even parity I/O on a NeXT? I have a box I need to talk to that requires it! Thanks, Jim jmd@cube.handheld.com
From: isbell@cats.ucsc.edu (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: Book: NEXTSTEP Programming - A Master's Class Date: 11 Sep 1993 02:57:58 GMT Organization: Cubic Solutions - NeXT software development and consulting Message-ID: <26rermINN7ja@darkstar.UCSC.EDU> References: <1993Sep10.182431.561@afs.com> In article <1993Sep10.182431.561@afs.com> Greg_Anderson@afs.com writes: > NEXTSTEP Programming: A Master's Class > Chapter Outline > >Introduction > The focus of this book is on real-world business problem solving >with NEXTSTEP, primarily AppKit and extensions. If we are to believe NeXT, then DBKit is one of the more important NEXTSTEP kits. However, Greg seems to have omitted any discussion of DBKit which could certainly use some knowledgeable discussion. I vote for an in-depth DBKit chapter (or 2 or 3). -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
Newsgroups: comp.sys.next.programmer From: gibber@kits.sfu.ca (Rory Gibson) Subject: Re: Simple question about streams, followup. Message-ID: <1993Sep11.024802.21838@sfu.ca> Keywords: validating entries DBTableView Sender: alex@oolesson.com Organization: Simon Fraser University, Burnaby, B.C., Canada References: <25l513$92u@wave.aoml.erl.gov> Date: Sat, 11 Sep 1993 02:48:02 GMT NOTE: PLEASE REPLY DIRECTLY TO alex@oolesson.com Hello there: I have an app that's using a DBTableView to display my data source (a custom collection of objects). IT works fine for displaying but I have trouble field. IDeally, I want to validate the value before I commit it to the database and if the commit fails, the value should not change and the selection should not move on. From the documentation, I have concluded that I need to use the setValueFor: identifer a:(unsigned int)aPosition from:aValue to validate the input and then use setValueFor:identifier at:(unsigned int)aPosition from:aValue to actually commit the value to the data source. My two questions are: 1. How does the formatterWillChangeFor:at:to:sender method work According to the documentation, this method is invoked before the value is changed. I'm using a Controller class which I've set up as the delegate of the formatter of each column of my DBTableView. The delegate (Controller) never receives a formatterWillChangeFor:at:to:sender message, however; I'd expected this message to be generated each time the user edits a field. Do I need to explicitly generate this message? 2. Is the formatterWillChangeFor:at:to:sender generated before the setValueFor:identifier:at:from: message? The latter is actually used by the DBTableView to update the data source. I would appreciate any help on this. Since I have difficulty reading news these days, please reply directly to alex@oolesson.com. Regards, Alex
Newsgroups: comp.sys.next.programmer From: gibber@kits.sfu.ca (Rory Gibson) Subject: Re: Simple question about streams, followup. Message-ID: <1993Sep11.025145.22053@sfu.ca> Keywords: DBBinder Sender: alex@oolesson.com Organization: Simon Fraser University, Burnaby, B.C., Canada References: <25l513$92u@wave.aoml.erl.gov> Date: Sat, 11 Sep 1993 02:51:45 GMT NOTE: Please reply directly to alex@oolesson.com. Hello there: Is there a way to make DBBinder associate ivars that are arrays with identically sized arrays in a Sybase database? The example code deas only with the case: @interface ... { char *p1; char *p2; char *p3; ... } and I need to do: @interface ... { char f1[20]; char f2[20]; ... } The failure mode is that the DBBinder comes back with all the scalar ivars set as expected and the leaves the arrays empty. Any help would be appreciated. Please reply directly to alex@oolesson.com. Regards, Alex Object Lesson Inc.
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: Black Hardware, 8 bit serial I/O + even parity? Message-ID: <1993Sep11.132953.6835@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <26qljuINNt6k@clem.handheld.com> Date: Sat, 11 Sep 1993 13:29:53 GMT In article <26qljuINNt6k@clem.handheld.com> jmd@cube.handheld.com (Jim De Arras) writes: -> -> Is it possible to have 8 bit data AND even parity I/O on a NeXT? I have a box -> I need to talk to that requires it! -> -> Thanks, -> Jim -> jmd@cube.handheld.com Considering that it is possible to use 16 bit ``bytes'' on the ZS device, I suppose so... but rather strange. If you're referring to normal serial I/O 7-bit Even, Odd, Mark (none) Space 8-bit None Are you quite sure that you don't have a box that requires 8-bit OR even parity? Bruce Gingery bruce@TotSysSoft.com NeXT-mail preferred, MIME-mail ok
Newsgroups: comp.sys.next.programmer From: Greg_Anderson@afs.com (Gregory H. Anderson) Subject: Re: Book: NEXTSTEP Programming - A Master's Class Message-ID: <1993Sep11.161511.1386@afs.com> Sender: greg@afs.com References: <26rermINN7ja@darkstar.UCSC.EDU> Date: Sat, 11 Sep 1993 16:15:11 GMT In article <26rermINN7ja@darkstar.UCSC.EDU> isbell@cats.ucsc.edu (Art Isbell) writes: > > In article <1993Sep10.182431.561@afs.com> Greg_Anderson@afs.com writes: > > NEXTSTEP Programming: A Master's Class > > Chapter Outline > > > >Introduction > > The focus of this book is on real-world business problem solving > >with NEXTSTEP, primarily AppKit and extensions. > > If we are to believe NeXT, then DBKit is one of the more important > NEXTSTEP kits. However, Greg seems to have omitted any discussion of > DBKit, which could certainly use some knowledgeable discussion. I vote > for an in-depth DBKit chapter (or 2 or 3). Whoops! I should have mentioned that there is already an entire book about DBKit in the pipeline, so I was trying to avoid duplication. Mike Mahoney and someone whose name escapes me are writing it for TELOS (publisher of Garfinkel & Mahoney), with expected release in time for Expo 94. Still, a summary chapter about DBKit is a good idea, regardless of what else is also published. Thanks for the suggestion! -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
From: darcy@solutions.ca (Darcy Brockbank) Newsgroups: comp.sys.next.programmer Subject: Re: Multi-threaded Date: 11 Sep 1993 18:35:33 GMT Organization: The Hutchison Avenue Software Corp. Message-ID: <26t5pl$7d2@amber.solutions.ca> References: <Sep6.232159.72404@acs.ucalgary.ca> In article <Sep6.232159.72404@acs.ucalgary.ca> bstone@acs.ucalgary.ca (Blake Stone) writes: > > [ aList threadLock ] ; > [ aList addObject: myObject ] ; > [ aList threadUnlock ] ; > .... so long as all atomic operations on the list are bounded by > threadLock / threadUnlock operations you are guaranteed > thread-safety. Actually, I'm not sure this isn't totally correct since there's no guarantee over the atomic nature of the "threadLock" and "threadUnlock" methods 8-]. You can do like the IXKit does, and provide a public IVar... //////////// @interface IXBTree: Object <IXNameAndFileAccess, IXComparatorSetting, IXComparisonSetting> { @public struct mutex mutexLock; // public for explicit locking //////////// Of course, this may just be excessive paranoia!!! - darcy
From: wmorse@erasure-sl.cc.emory.edu (William Morse) Newsgroups: comp.sys.next.misc,comp.sys.next.programmer Subject: How to Compile Programs on a NeXT for Intel Date: 11 Sep 1993 19:34:53 GMT Organization: Emory University, Dept of Math and CS Distribution: world Message-ID: <26t98tINNefu@emory.mathcs.emory.edu> I am having some difficulty getting programs not built with IB to compile for Intel on my NeXTStation. Specifically, I am trying to compile BackSpaceViews on my NeXT for an Intel workstation. (BackSpace compiled for Intel fine.) Anyway, I load the makefile for BackSpaceViews into IB and click Intel under options. But, when I built it, it still seems to compile for the NeXT moto. and it does not work on the Intel machine. I next tried to do it manually but again was met with failure. Does anyone know how to do this? I would much appreciate some help. - William ======================================================================= Consult./ITD :::::::::::::::::::::::::::::::::::::::: Emory Law Student =======================================================================
Newsgroups: comp.sys.next.programmer From: pchin@fraser.sfu.ca (Patrick Keng Seng Chin) Subject: Projectbuilder Message-ID: <pchin.747780644@sfu.ca> Sender: news@sfu.ca Organization: Simon Fraser University, Burnaby, B.C., Canada Date: Sat, 11 Sep 1993 20:50:44 GMT I remember reading on this newsgroup about a problem that occurred with Makefiles or ProjectBuilder where if source code is modified then that source doesn't get recompiled. And I heard that this happens with either NeXTstep 3.0 or 3.1. Furthermore, I heard that it has something to do with file creation times and remote file servers that contain the files. It appears that I have the same problem and I'd appreciate any help if anyone remembers... Thanks, Patrick Chin
From: isbell@cats.ucsc.edu (Art Isbell) Newsgroups: comp.sys.next.misc,comp.sys.next.programmer Subject: Re: How to Compile Programs on a NeXT for Intel Date: 11 Sep 1993 22:23:00 GMT Organization: Cubic Solutions - NeXT software development and consulting Distribution: world Message-ID: <26tj44INNoej@darkstar.UCSC.EDU> References: <26t98tINNefu@emory.mathcs.emory.edu> In article <26t98tINNefu@emory.mathcs.emory.edu> wmorse@erasure-sl.cc.emory.edu (William Morse) writes: >I am having some difficulty getting programs not built with IB >to compile for Intel on my NeXTStation. > >Specifically, I am trying to compile BackSpaceViews on my NeXT >for an Intel workstation. (BackSpace compiled for Intel fine.) Again, always willing to display my misunderstanding of Makefiles (I've noticed that this seems to flush out better solutions so we all win :-), I've attached a context diff that "patch" would be only too eager to apply to the original Makefile in the Bezier BackSpace view. For those not familiar with context diff notation, '!' signifies lines that have been changed and '+', lines that have been added. Similar changes can be applied to all BackSpaceView Makefiles that I've seen, both NeXT-supplied and otherwise. - This builds a MAB version (remove "-arch m68k" if you want an Intel-only version). - This uses the -O2 optimization flag rather than -O (has anyone had trouble with -O2?). - This strips the loadable bundle (I've not had any problems with this, but stripping remains a black art as far as I'm concerned :-) *** /NEXTSTEP_Dev_3.1/NextDeveloper/Examples/AppKit/BackspaceViews/Bezier/Makefile Mon Feb 17 23:20:37 1992 --- /NextDeveloper/Examples/AppKit/BackspaceViews/Bezier/Makefile Sun Sep 5 20:24:32 1993 *************** *** 6,32 **** PSWFILES = BezierWraps.o .SUFFIXES: .m .o .c .psw .c.o: ! cc -O -g -Wall -c $*.c -o $*.o .m.o: ! cc -O -g -Wall -c $*.m -o $*.o .psw.h: pswrap -a -h $*.h -o $*.c $*.psw .psw.o: pswrap -a -h $*.h -o $*.c $*.psw ! cc -O -g -Wall -c $*.c -o $*.o all:: $(MAKE) $(PSWFILES) $(MAKE) $(DYNAVIEWS) ! BezierView.BackO: BezierView.o BezierView.h BezierWraps.o ! ld -x -r -o BezierView.BackO BezierView.o BezierWraps.o clean:: rm -rf $(PSWFILES) $(DYNAVIEWS) $(THINGSTOREMOVE) ! install:: all install-views --- 6,34 ---- PSWFILES = BezierWraps.o + CFLAGS = -O2 -g -Wall -arch i386 -arch m68k + .SUFFIXES: .m .o .c .psw .c.o: ! cc $(CFLAGS) -c $*.c -o $*.o .m.o: ! cc $(CFLAGS) -c $*.m -o $*.o .psw.h: pswrap -a -h $*.h -o $*.c $*.psw .psw.o: pswrap -a -h $*.h -o $*.c $*.psw ! cc $(CFLAGS) -c $*.c -o $*.o all:: $(MAKE) $(PSWFILES) $(MAKE) $(DYNAVIEWS) ! BezierView.BackO: BezierView.o BezierView.h BezierWraps.o ! cc $(CFLAGS) -nostdlib BezierView.o BezierWraps.o -r -o BezierView.BackO clean:: rm -rf $(PSWFILES) $(DYNAVIEWS) $(THINGSTOREMOVE) ! install:: all install-views *************** *** 34,37 **** --- 36,40 ---- mkdirs $(INSTALLDIR) && \ for view in $(DYNAVIEWS); do \ cp $$view $(INSTALLDIR); \ + strip -x -u $(INSTALLDIR)/$$view; \ done -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
Newsgroups: comp.sys.next.programmer From: BrianW@SoundS.WA.com (Brian Willoughby) Subject: Re: Q: precompiled headers for multi-architecture binaries Message-ID: <CD7nz5.Jt@sounds.wa.com> Sender: brianw@sounds.wa.com (Brian Willoughby) Organization: Sound Consulting, Bellevue, WA, USA References: <26p2tkINNf8g@darkstar.UCSC.EDU> Date: Sat, 11 Sep 1993 22:33:05 GMT Art Isbell writes | In article <CD3JA6.2H4@sounds.wa.com> BrianW@SoundS.WA.com writes: | >Perhaps someone can help by suggesting a Makefile.p*amble rule that would | >cause Project.p to be built before any source files are compiled, and | >Project.p would be built only if any of the included headers have been | >updated. The construction above worked so far as it (seemed to have) made | >everything in the object file directory depend upon the precompiled header. | >But that approach only worked when there was just one object file directory. | | I'm always game to expose my misunderstanding of Makefiles :-) How about, in | Makefile.preamble: | | PRECOMP_HFILES = foo.h bar.h baz.h | | # Precompiled headers to be built before any compilation occurs | PRECOMPS = foo.p | | foo.p: $(PRECOMP_HFILES) First of all, I don't know if PRECOMPS is new to 3.1 (my optical backup of 3.0 has unreadable sectors), but I didn't run across it until after I made my original posting. It certainly solves most of my problem. But I guess I'm still pretty lazy. I would expect the "make depend" rule to create a rule like the following: foo.p: foo.h bar.h baz.h without any manual intervention on my part. I usually try to make sure that Makefile.dependencies is up to date with my projects. For now, I'm just using the following in Makefile.postamble: foo.p: $(HFILES) -- Brian Willoughby Software Design Engineer, BSEE from NCSU NeXTmail welcome Sound Consulting: Software Design and Development BrianW@SoundS.WA.com Bellevue, WA
Newsgroups: comp.sys.next.programmer From: sela@iastate.edu (Brian J. Morrison) Subject: shell programming Message-ID: <CD85Iq.783@news.iastate.edu> Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA Date: Sun, 12 Sep 1993 04:52:02 GMT How does one specify fields on a NeXT? Under previous machines I could pick a field with the cut command. When I try this on my NeXT it gives me a no command error. -- **********************IOWA***STATE***UNIVERSITY********************** * Brian Morrison sela@iastate.edu (NeXT Mail welcome!) * * -------------------------------------------------------------- * * He who throws mud loses ground. * *********************************************************************
Newsgroups: comp.sys.next.software,comp.sys.next.programmer Subject: NeXT and a Quickdraw printer? Message-ID: <1993Sep12.005844.1@vax2.winona.msus.edu> From: surion@vax2.winona.msus.edu Date: 12 Sep 93 00:58:44 CDT Organization: Winona State University Can anybody ut there answer a couple of questions? Even partial answers (wrong ones too :-) are appreciated. 1) Does anybody know if it's possible to drive an Apple Stylewriter with my next 030 cube. Connecting the thing isn't a problem through the serial interface, but making them talk seems harder than it should be. I know that the next is running display postscript and that the printer is Quickdraw, so I should only need a software implementation of Postscript like ATM for the Mac or software RIP (though I shudder at the prices of these). I talked to somebody who had run an HP inkjet from his cube, but I don't know what software he used. Can anybody out there on the net give me any info on possible solutions? 2) Related, though not entirely the same; is it possible to convert the PS outline fonts on the next to work with ATM on my Mac? What would I need. Again I heard rumors of a shareware piece to convert from Mac to the unix platform, but not vice-versa. Any help on this one would be much appreciated. Thanks to all you who answered some of my other NeXT questions sincerely, seth
Newsgroups: comp.sys.next.programmer From: carlos@thinkmuch.dolphin.com (Carlos Salinas) Subject: Re: Running Appkit objects from batch jobs Message-ID: <CD8EwL.3oJ@thinkmuch.dolphin.com> Sender: carlos@thinkmuch.dolphin.com (Carlos Salinas) Organization: Deep Breakfast Productions References: <26na9o$moe@news.cerf.net> Date: Sun, 12 Sep 1993 08:14:44 GMT In article <26na9o$moe@news.cerf.net> fasano@nic.cerf.net (Christopher G. Fasano) writes: : : We have a set of general-purpose objects that we have linked into some : applications which we want to run both interactively and in batch. The : problem is that some of the objects report errors via alert panels -- : and if you get an alert panel in a program in the middle of your "night : run", and there is no one there to click "OK", then the entire batch job : stops in the modal loop. : : Has anyone else out there faced this problem? What did you do about it? : You would think this is a classic time to subclass something, but : NXRunAlertPanel() is a function, not an object message, and unless there : is something out there none of us have discovered yet, you can't : override a function. : : We could also write another function with another name and then : substitute that function name for NXRunAlertPanel() every time it occurs : (a pain, but not impossible), but then the question is: how do you tell : if the program has been run in batch mode? Is there something I can : look at that will tell me this? : : Any ideas will be gratefully accepted... : : cathy :-) : ---- : cathy@scarolina.cerfnet.com I would suggest that you add a default called "Batch". (Lookup NXRegisterDefaults() in Librarian.) If "Batch" is YES, then the application assumes it is running in batch mode. Otherwise the application assumes it is not running in batch mode. Note that defaults can be specified from the command line, ie. "application -Batch YES" as well as being set in the user's defaults database. Okay, that solves the batch conundrum. Now how to handle the alert panel. Well, I'd suggest writing an object to manage alerts for you. So instead of: NXRunAlertPanel(const char *title, const char *msg, const char *defaultButton, const char *alternateButton, const char *otherButton, ...) you'd have: [[AlertManager new] title: message: defaultButton: alternateButton: otherButton: otherArgs:]; This object would check the Batch default, and if NO the alert object would display the alert panel. If Batch is YES, it would log the alert. You're gonna probably need to add support for alert severity - warning, assume yes, assume no, wait for user (email alert?), fatal. Well it could get pretty hairy. Depends on what you want to do. Anyway that's how you should (imho) do it. Good luck! 'Los
Newsgroups: comp.sys.next.programmer From: chris@milo.st-louis.mo.us (Chris Cleeland) Subject: Re: Book: NEXTSTEP Programming - A Master's Class Message-ID: <1993Sep12.042245.5275@milo.UUCP> Sender: chris@milo.UUCP Organization: Milo Designs References: <1993Sep11.161511.1386@afs.com> Distribution: na Date: Sun, 12 Sep 1993 04:22:45 GMT In article <1993Sep11.161511.1386@afs.com> Greg_Anderson@afs.com (Gregory H. Anderson) writes: > In article <26rermINN7ja@darkstar.UCSC.EDU> isbell@cats.ucsc.edu (Art > Isbell) writes: > > > > In article <1993Sep10.182431.561@afs.com> Greg_Anderson@afs.com writes: > > > NEXTSTEP Programming: A Master's Class > > > Chapter Outline > > > > > >Introduction > > > The focus of this book is on real-world business problem solving > > >with NEXTSTEP, primarily AppKit and extensions. > > > > If we are to believe NeXT, then DBKit is one of the more important > > NEXTSTEP kits. However, Greg seems to have omitted any discussion of > > DBKit, which could certainly use some knowledgeable discussion. I vote > > for an in-depth DBKit chapter (or 2 or 3). > > Whoops! I should have mentioned that there is already an entire > book about DBKit in the pipeline, so I was trying to avoid > duplication. Mike Mahoney and someone whose name escapes me are > writing it for TELOS (publisher of Garfinkel & Mahoney), with > expected release in time for Expo 94. > > Still, a summary chapter about DBKit is a good idea, regardless > of what else is also published. Thanks for the suggestion! > Whether it's got a chapter on DBKit or not, I'll be one of the first in line for it. Thanks for taking the effort, Greg! If anybody else out there has extra time, one of the books I'd really like to see is something similar to the O'Reilly books for X. Those little beasts are invaluable when doing stuff in X. Just my 2 cents... -cj -- --- ------------------------------------------------------------- Chris Cleeland | Internet: chris%milo@wpa.com Consultant/NeXT Advocate | UUCP: wupost!nimno!milo!chris
Newsgroups: comp.sys.next.programmer From: roberto@SoftDesign.COM (Roberto Arrocha) Subject: hardware/software configuration Message-ID: <CCzLEu.u4@SoftDesign.COM> Sender: roberto@SoftDesign.COM (Roberto Arrocha) Organization: SoftDesign, Inc. Date: Tue, 7 Sep 1993 13:56:54 GMT Sorry to ask a question, I am sure someone must have asked before. I'd like to know how does BugNeXT.app get information about the hardware/software configuration it is running on. I am looking to do this programmatically, for similar purposes as BugNeXT.app. I know where to find the software version /usr/lib/NextStep/software_version Can developers rely that NeXT will keep this and similar files in the same location in future releases? Given that it is NeXT's prerogative to change its mind about such things, this info, I believe, should be provided via an Appkit method/function, ..assuming it isn't already. Thanks. ------------------ BugNeXT.app info ------------------ Reported_Version: lightning4h Hardware Configuration: Processor: MC680x0 (68040) Processor speed: 25 MHz Primary memory: 32.00 MB Software Configuration: NeXT Mach 3.1: Fri Apr 30 08:31:15 PDT 1993; root(rcbuilder):mk-149.22.3.obj~2/RC_m68k/RELEASE_M68K ------------------------------------------------------ -- Roberto SoftDesign, Inc.
Newsgroups: comp.sys.next.programmer From: cray@news.nsysu.edu.tw (Craig Chao) Subject: msgPaste method of Speaker class Message-ID: <1993Sep12.150358.10138@news.nsysu.edu.tw> Organization: National Sun Yat-Sen University,Taiwan,R.O.C. Date: Sun, 12 Sep 1993 15:03:58 GMT Hi, Did you use the msgPaste:ok method in the Speaker class? I used it. However, it opened a new terminal window, and then pasted the pasteboard data, if I setSendPort to the public port of Terminal program. Could you tell me what's wrong? The testing program is followed. --Cray cray@mis.nsysu.edu.tw ----- #import <appkit/appkit.h> @interface MyObject:Object { } - startTesting:sender; @end ------ #import "MyObject.h" #import "appkit/Speaker.h" #import "appkit/Listener.h" #import <appkit/Pasteboard.h> #define cannotTouchMsg "\tOoops!\nCan't touch this program!\nTr y again!!" id workingSpeaker; @implementation MyObject - launchApp:(char *)appName { port_t appPort; [[Application workspace] launchApplication:appName]; if ((appPort = NXPortFromName(appName, NULL)) == PORT_NULL) { NXRunAlertPanel("TEST ERROR", cannotTouchMsg, "OK", NULL, NULL); return self; } if (workingSpeaker) [workingSpeaker free];//give up last settings. workingSpeaker = [[Speaker alloc] init]; [workingSpeaker setSendPort:appPort]; return self; } - copyToPasteboard:pboard data:(const void *)data length:(int)length { NXAtom typelist[2]; typelist[0] = NXAsciiPboardType; //typelist[1] = NXRTFPboardType; //telling the pasteboard which type I can provide [pboard declareTypes:typelist num:1 owner:self]; //copy to pasteboard [pboard writeType:NXAsciiPboardType data:data length:length]; return self; } - copy:sender data:(const void *)data length:(int)length { [self copyToPasteboard:[Pasteboard new] data:data length:length]; return self; } - startTesting:sender { int isOk; char codes[20]={"123*`-5:"}; printf("Start testing!!\n"); //YES! YES!! Here comes the real work!!! //First, copy big5 codes to pasteboard. //[self copy:self data:codes length:strlen(codes)]; //second, asking the current selection. [self launchApp:"Terminal"]; //Then, paste it to the specified application. isOk=NO; //[workingSpeaker msgVersion:buf ok:&isOk]; //printf("Test speaker: version = %s\n", buf); [workingSpeaker msgPaste:&isOk]; if (!isOk) { printf("Test: msgPaste error!\n"); return self; } return self; } @end
From: isbell@cats.ucsc.edu (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: Running Appkit objects from batch jobs Date: 12 Sep 1993 16:36:23 GMT Organization: Cubic Solutions - NeXT software development and consulting Message-ID: <26vj67INNaji@darkstar.UCSC.EDU> References: <26na9o$moe@news.cerf.net> <CD8EwL.3oJ@thinkmuch.dolphin.com> In article <CD8EwL.3oJ@thinkmuch.dolphin.com> carlos@thinkmuch.dolphin.com writes: >I would suggest that you add a default called "Batch". (Lookup >NXRegisterDefaults() in Librarian.) If "Batch" is YES, then the >application assumes it is running in batch mode. Otherwise the application >assumes it is not running in batch mode. Note that defaults can be >specified from the command line, ie. "application -Batch YES" as well as >being set in the user's defaults database. This seems like overkill. NXArgv[0] is the name of the executable if launched from the command line but is the full path of the executable if launched by Workspace. So if NXArgv[0][0] == '/', the app was launched by Workspace. There's no need to add yet another defaults variable because NXArgv is a global variable and thus is available from anywhere within an app. -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
From: isbell@cats.ucsc.edu (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: Q: precompiled headers for multi-architecture binaries Date: 12 Sep 1993 16:15:25 GMT Organization: Cubic Solutions - NeXT software development and consulting Message-ID: <26vhutINNab1@darkstar.UCSC.EDU> References: <26p2tkINNf8g@darkstar.UCSC.EDU> <CD7nz5.Jt@sounds.wa.com> In article <CD7nz5.Jt@sounds.wa.com> BrianW@SoundS.WA.com writes: >But I guess I'm still pretty lazy. I would expect the "make depend" rule to >create a rule like the following: > >foo.p: foo.h bar.h baz.h > >without any manual intervention on my part. I usually try to make sure that >Makefile.dependencies is up to date with my projects. This doesn't seem like a good idea because I don't usually want precompiled headers to be built automatically from $(HFILES). Once a precompiled header is imported by a source code file, a change in one of the header files within the precompiled header would cause this source code file to be recompiled even though it might not actually depend upon the one header file actually modified. How would "make" know when to create such a dependency without the developer instructing it to do so (which is the functionality that NeXT has provided)? -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
Newsgroups: comp.sys.next.programmer From: joseph@daffy.tip.ameslab.gov (Joseph Reynolds) Subject: The "cut" command (was Re: shell programming) Message-ID: <CD92H9.F2I@news.iastate.edu> Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA References: <CD85Iq.783@news.iastate.edu> Date: Sun, 12 Sep 1993 16:43:57 GMT Hi. In article [...] (Brian J. Morrison) writes: > How does one specify fields on a NeXT? > Under previous machines I could pick a field with the cut command. > When I try this on my NeXT it gives me a no command error. Perhaps you could port the "cut" command to the NeXT. I'm sure the sources are available somewhere.... (Funny how NeXT forgot cut but included paste.) Joseph
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Cock-up or conspiracy? Organization: Primitive Software Ltd. Date: Wed, 8 Sep 1993 13:59:11 +0000 Message-ID: <1993Sep8.135911.3622@prim.demon.co.uk> Sender: usenet@demon.co.uk The RTF spec defines a certain type of group known as a "destination". It has the following syntax: {\myDestination and here are some parameters} The font table is an example of a destination group. Rich Text Format has a fairly well defined syntax. So if you were going to extend it with your own control words/destinations, you'd stick to the standard syntax, right? Wrong. Not if you're NeXT. That would be too easy. :-) I tried to create my own destination control word and have it recognized by the Text class using registerDirective:forClass:. But it didn't work because I was using the standard syntax for destination groups. It turns out that the Text class expects _this_ syntax: {{\myDestination and here are some parameters},} Now this is very odd. It breaks the rules. Any other RTF parser would treat that extra "," as part of the text. So why did NeXT do it this way? It's so bizarre and unnecessary I'm wondering if it was done deliberately to prevent non-NeXT editors from understanding NeXT RTF. Or was it just a cock-up? Dave Griffiths
Newsgroups: comp.sys.next.programmer From: ntomczak@vega.math.ualberta.ca (N Tomczak-Jaegermann) Subject: Re: The "cut" command (was Re: shell programming) Message-ID: <ntomczak.747864531@vega> Sender: news@kakwa.ucs.ualberta.ca Organization: University Of Alberta, Edmonton Canada References: <CD85Iq.783@news.iastate.edu> <CD92H9.F2I@news.iastate.edu> Date: Sun, 12 Sep 1993 20:08:51 GMT joseph@daffy.tip.ameslab.gov (Joseph Reynolds) writes: >Perhaps you could port the "cut" command to the NeXT. I'm sure the >sources are available somewhere.... (Funny how NeXT forgot cut but >included paste.) Even funnier is that this is not THAT 'paste'. According to man page it is pasting from "NeXTSTEP(tm) pasteboard", where you could put things by 'copy'. Surprise! You may likely use awk for both cutting and pasting. Michal Jagermann ntomczak@vega.math.ualberta.ca
Newsgroups: comp.sys.next.programmer From: carlos@thinkmuch.dolphin.com (Carlos Salinas) Subject: Re: Wierd IB behaviour with NXBrowser's in 3.1 Message-ID: <CD99tA.6r@thinkmuch.dolphin.com> Sender: carlos@thinkmuch.dolphin.com (Carlos Salinas) Organization: Deep Breakfast Productions References: <abellCBK3o1.9Bs@netcom.com> Date: Sun, 12 Sep 1993 19:22:22 GMT The moving is probably due to round-off error. After a while the error builds up enough to equal a pixel or two. Split-views have the same problem. If you have a split-view with several subviews and then resize it larger, and then resize it smaller (both presumably by resizing the window), you'll notice that things are not quite the same when you're done. The proportional scaling of the subviews ignores round-off error (bug? oversight? or why bother?) so things get a bit raggedy after a while. 'Los
From: jmd@cube.handheld.com (Jim De Arras) Newsgroups: comp.sys.next.programmer Subject: Re: Black Hardware, 8 bit serial I/O + even parity? Date: 12 Sep 1993 19:56:15 GMT Organization: Hand Held Products, Inc. Distribution: world Message-ID: <26vusvINN43u@clem.handheld.com> References: <1993Sep11.132953.6835@ToTSySSoft.com> In article <1993Sep11.132953.6835@ToTSySSoft.com> bruce@TotSysSoft.com (Bruce Gingery) writes: > In article <26qljuINNt6k@clem.handheld.com> > jmd@cube.handheld.com (Jim De Arras) writes: > -> > -> Is it possible to have 8 bit data AND even parity I/O on a > NeXT? I have a box > -> I need to talk to that requires it! > -> > -> Thanks, > -> Jim > -> jmd@cube.handheld.com > > Considering that it is possible to use 16 bit ``bytes'' on the > ZS device, I suppose so... but rather strange. > > If you're referring to normal serial I/O > > 7-bit Even, Odd, Mark (none) Space > 8-bit None > > Are you quite sure that you don't have a box that requires > 8-bit OR even parity? Thanks, but after 15 years in data communication, I'm pretty sure of what I mean! I need a 9 bit "word", 8 bits of data, and one bit of parity. Add start and stop bits and you get 11 bits. Screwy, for sure, but what this box needs. I wrote the code for it on a PC years back, and see that the hardware on the NeXT can do it, but I don't know how to get to that chip in this virtual memory enviorment! Any pointers as to how to just poke at the chip would help, I can probably set up everything in "C", then make one "poke" at the chip to change the bits/word, and it'd probably work just fine thereafter! > > Bruce Gingery bruce@TotSysSoft.com > NeXT-mail preferred, MIME-mail ok Jim -- ---------------------------------------------------------------------------- Jim De Arras - WA4ONG | "Government is not reason; it is not eloquence; NRA-ILA, GOA, CCRKBA, | it is a force. Like fire, it is a dangerous GSSF, VSRRA | servant and a fearful master." jmd@handheld.com | -- George Washington
Newsgroups: comp.sys.next.programmer From: pclark@is.com (Pete Clark) Subject: Re: hardware/software configuration Message-ID: <CD9EHv.3LK@is.com> Sender: pclark@is.com (Pete Clark) Organization: Integrity Solutions, Inc. References: <CCzLEu.u4@SoftDesign.COM> Date: Sun, 12 Sep 1993 21:03:30 GMT In article <CCzLEu.u4@SoftDesign.COM> roberto@SoftDesign.COM (Roberto Arrocha) writes: > Sorry to ask a question, I am sure someone must have asked before. I'd > like to know how does BugNeXT.app get information about the > hardware/software configuration it is running on. I am looking to do this > programmatically, for similar purposes as BugNeXT.app. > (137)milo% hostinfo Mach kernel version: NeXT Mach 3.1: Fri Apr 30 08:31:15 PDT 1993; root(rcbuilder):mk-149.22.3.obj~2/RC_m68k/RELEASE_M68K Kernel configured for a single processor only. 1 processor is physically available. Processor type: MC680x0 (68040) Processor speed: 25 MHz Processor active: 0 System type: 2 Board revision: 0x0 Primary memory available: 28.00 megabytes. Default processor set: 79 tasks, 120 threads, 1 processors Load average: 0.00, Mach factor: 0.99 (138)milo% Best, Pete Clark pclark@is.com -- ********************************************************************* Pete Clark - Software Engineer | You know that way that Integrity Solutions, Inc. | you always are? pclark@is.com NeXTMail preferred | Don't be that way.
Newsgroups: comp.sys.next.programmer From: pclark@is.com (Pete Clark) Subject: Re: Running Appkit objects from batch jobs Message-ID: <CD9EqM.3Mp@is.com> Sender: pclark@is.com (Pete Clark) Organization: Integrity Solutions, Inc. References: <26vj67INNaji@darkstar.UCSC.EDU> Date: Sun, 12 Sep 1993 21:08:46 GMT In article <26vj67INNaji@darkstar.UCSC.EDU> isbell@cats.ucsc.edu (Art Isbell) writes: > > In article <CD8EwL.3oJ@thinkmuch.dolphin.com> carlos@thinkmuch.dolphin.com writes: > >I would suggest that you add a default called "Batch". (Lookup > >NXRegisterDefaults() in Librarian.) If "Batch" is YES, then the > >application assumes it is running in batch mode. Otherwise the application > >assumes it is not running in batch mode. Note that defaults can be > >specified from the command line, ie. "application -Batch YES" as well as > >being set in the user's defaults database. > > This seems like overkill. NXArgv[0] is the name of the executable if > launched from the command line but is the full path of the executable if > launched by Workspace. So if NXArgv[0][0] == '/', the app was launched by > Workspace. There's no need to add yet another defaults variable because NXArgv > is a global variable and thus is available from anywhere within an app. This is nice, but not really reliable. argv[0][0] can well be '/' if the program's pathname was fully specified in the command line. It can also be pretty convoluted - it's just whatever the user typed in: (142)milo% cd /tmp (143)milo% cat > foo.c #include <stdio.h> main(int argc, char *argv[]) { printf("Argv[0] is: %s\n", argv[0]); return 0; } (144)milo% cc foo.c (145)milo% ./a.out Argv[0] is: ./a.out (146)milo% /tmp/a.out Argv[0] is: /tmp/a.out (147)milo% ../tmp/a.out Argv[0] is: ../tmp/a.out (148)milo% ../../private/tmp/a.out Argv[0] is: ../../private/tmp/a.out (149)milo% Best, Pete Clark -- ********************************************************************* Pete Clark - Software Engineer | You know that way that Integrity Solutions, Inc. | you always are? pclark@is.com NeXTMail preferred | Don't be that way.
Newsgroups: comp.sys.next.programmer From: mcgowan@emerald.physics.utoronto.ca (Patrick McGowan) Subject: 3D Kit - converting a worldSpace point to camera co-ords! Message-ID: <CD9H9o.CL9@helios.physics.utoronto.ca> Sender: news@helios.physics.utoronto.ca (News Administrator) Organization: University of Toronto Physics/Astronomy/CITA Date: Sun, 12 Sep 1993 22:03:23 GMT I'm trying to manipulate points in the worldSpace using the mouse and keys. If I select a point to move (in worldSpace), I want to know where I am wrt not only the flat 2d postscript screen (the output of the N3DCamera method "convertPoints:count:fromSpace" gives me camera's "s" and "t" variables) but also wrt its depth into the screen (camera's "u" coord). I find it odd that there isn't a convertPoints method that goes from x,y,z (world coords) to s,t,u (camera coords). Do I have to write my own (can I get a handle on the transform matrix?) method. Does someone out there have such a beast canned that they can send to me so I don't have to do the messy transformation based on the camera's eyepoint and viewpoint? Thanks in advance for taking the time to look at this request from a 3Dkit novice. Patrick mcgowan@emerald.physics.utoronto.ca
Newsgroups: comp.sys.next.programmer From: jfr@aspen.pdh.com (Jon F. Rosen) Subject: Re: "Official" way to get information about "heirs"? Message-ID: <CD7Awt.AHs@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. References: <1993Sep9.150534.29673@afs.com> Date: Sat, 11 Sep 1993 17:50:52 GMT In comp.sys.next.programmer article <1993Sep9.150534.29673@afs.com> you wrote: > First, many objects in nib files (certainly all the View > classes) do not get +alloc messages at runtime, because > they already exist. In that case, you need to include a > [allInstances addObject:newObject] message in the > awakeFromNib method, too. Are you ABSOLUTELY sure about this? I have never actually traced the code in an NXReadObject but I am POSITIVE that alloc gets called for each object. Aren't you really talking about -init? -init does not get called for any object read from a .nib file unless its -read: method does an -init directly. I don't see how the objects can be created in memory without using alloc... I am going to trace the code just to be sure because this just seems wrong. Objects don't exist until they are created and the only way to physically create them is to allocate memory for them at run-time. Now I know that you can create them using normal memory allocation routines (or just pointing at some existing memory) without using +alloc but I would assume that the NXReadObject method doesn't try to be quite that cute about it. Or does it (yah-hah-hah)???? > Second, there is a memory leak in the code. The +initialize > method should be implemented as follows: > > static id allInstances = nil; // statics must be initialized > > .... > > +initialize > { > if (allInstances == nil) > allInstances = [[List alloc] init]; > return self; > } > > It is possible for the runtime system to call +initialize more > than once, in which case a new list gets allocated each time. If > this happens as the result of a subclass getting initialized > later in a running program, you would lose track of existing > instance records, as well as a cluster of unrecoverable memory. > The run-time will NOT call +initialize more than once for each class DIRECTLY. However there are still two problems which can cause strange things to happen in +initialize. First, if your class is subclassed and the subclass does NOT provide a +initialize method, your +initialize method will be called to initialize the subclass. Note that if the subclass provides a +initialize method, then generally it will NOT call its [super initialize] method (at least most of the classes I am aware about do not) so providing a subclass +initialize method prevents this from happening. However you do have to guard against it. The preferred way of doing this, however, is: > +initialize > { > if (self == [ThisClass class]) { > // > // place all class initialization code here > // > allInstances = [[List alloc] init]; > } > return self; > } The code inside the outer if{} will ONLY be executed ONCE by the run-time system in any execution of the program. The only way the code could be executed again is if the program actually executes its own [ThisClass initialize] method directly. In this latter case, the if{} test for a nil allInstances id would still be necessary. Jon Rosen
Newsgroups: comp.sys.next.programmer From: mark@xexos.com (Mark Chamberlain) Subject: Re: Drag and drop files to an application Message-ID: <1993Sep10.143222.4093@xexos.com> Sender: news@xexos.com Organization: Xexos, Ltd (London) References: <26odvt$s3n@turin.research.otc.com.au> Date: Fri, 10 Sep 1993 14:32:22 GMT In article <26odvt$s3n@turin.research.otc.com.au> michaell@swdev.research.otc.com.au (Michael Lofquist) writes: > I need some help with an application that I am writing. I need > to be able to drag and drop files from workspace file viewer into > my applications GUI. > > I have set up a subclass of view that it includes the > protocol NXDraggingDestination methods, and when I drag a file > across I can follow the sequence of messages sent to that > object: > > -draggingEntered: > -draggingUpdated: > -prepareToDrag: ( can`t remember the exact method name ) > > I tried to follow the description of these methods when returning > values to the sender object, but I cannot get the performDragOperation: > to be issued to my view subclass, or concludeDragOperation: > You must register the window that the view is in, so that it may receive dragged files. const char *fileTypes[] = {NXFilenamePboardType}; [aWindow registerForDraggedTypes:fileTypes count:1]; Then when you are done with dragging, get the filename from the Pasteboard. char *data; int length; thePasteboard = [sender draggingPasteboard]; if ([thePasteboard readType:NXFilenamePboardType data:&data length:&length]) printf("Dragged fileName [%s] \n", data); And then ask the workspace for its icon, and copy it into your view. theImage = [[Application workspace] getIconForFile:data]; -- Mark Chamberlain +44 71 237 4535 Xexos Ltd fax +44 71 231 0844 London mark@xexos.com
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: "Official" way to get information about "heirs"? Message-ID: <1993Sep12.234812.19136@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Sep9.150534.29673@afs.com> <CD7Awt.AHs@pdh.com> Date: Sun, 12 Sep 1993 23:48:12 GMT In article <CD7Awt.AHs@pdh.com> jfr@aspen.pdh.com (Jon F. Rosen) writes: >I don't see how the objects can be created in memory without using >alloc... Not all objects come from +alloc--some come from +allocFromZone:. Both simply "inline" class_createInstanceFromZone(), passing 0 for indexedIvarBytes. Getting your claws in there is easy with the _zoneAlloc hook. (See /NextLibrary/Documentation/NextDev/GeneralRef/15_RunTime/ TypesAndConstants/RunTimeTypes.rtf) Take care to avoid unwanted recursion. :-) -=EPS=-
Newsgroups: comp.sys.next.programmer From: cedar@cedar.demon.co.uk (Cedar Systems) Subject: Help on setting up code libraries required. Distribution: world Organization: Cedar Systems Date: Fri, 10 Sep 1993 17:25:35 +0000 Message-ID: <747681935snz@cedar.demon.co.uk> Sender: usenet@demon.co.uk I am a novice programmer with NeXTStep and I have produced several classes that I would like to set up in a library so that they will appear in the class browser of IB. I have looked at custom palettes but they seem to be oriented towards custom views. My classes are subclasses of object, how do I get them to feature in the class browser without explicitly dragging the source into every project that I want to use them in. Thanks in advance, Paul. -- Cedar Systems
From: jmd@cube.handheld.com (Jim De Arras) Newsgroups: comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.sysadmin,comp.sys.next.hardware Subject: Hardware map memory map of black hardware, anyone? Date: 13 Sep 1993 01:32:04 GMT Organization: Hand Held Products, Inc. Distribution: world Message-ID: <270iikINN4b7@clem.handheld.com> I'm specifically looking for the actual address of the Zilog serial I/O chip. Any pointers appreciated! Jim -- ---------------------------------------------------------------------------- Jim De Arras - WA4ONG | "Government is not reason; it is not eloquence; NRA-ILA, GOA, CCRKBA, | it is a force. Like fire, it is a dangerous GSSF, VSRRA | servant and a fearful master." jmd@handheld.com | -- George Washington
Newsgroups: comp.sys.next.programmer From: chris@milo.st-louis.mo.us (Chris Cleeland) Subject: Programmatically setting the document view of a ScrollView Message-ID: <1993Sep12.213904.6744@milo.UUCP> Sender: chris@milo.UUCP Organization: Milo Designs Distribution: na Date: Sun, 12 Sep 1993 21:39:04 GMT Howdy all. Please save my sanity... I am having a devil of a time trying to programmatically set the document view of a ScrollView instance. Anybody have a good reason why this wouldn't work? I get a lovely SIGIOT. The ScrollView was originally created via IB by dragging the ScrollView onto a panel, thus having a Text instance as its docView. On occasion I need to replace this with a Matrix instance that was allocated and init'ed in-line (not in IB). Here's my code, if anybody's held on this long and is really nice or really a glutton for punishment :-) - replaceDocWithMatrix: theScrollView; { id matrix; NXRect theFrame; if (theScrollView && [theScrollView isKindOf: [ScrollView class]]) { // Free the text object that IB forces us to have after we get // its frame size [theScrollView getDocVisibleRect:&theFrame]; [[theScrollView docView] free]; matrix = [[Matrix alloc] initFrame:&theFrame mode:NX_RADIOMODE cellClass:[NewsBrowserCell class] numRows:1 numCols:1]; if (! matrix) return nil; [theScrollView setDocView:matrix]; // <<-- Right here is where // everything goes to // hell-in-a-handbasket! } else { return nil; } return self; } Thanks for any and all help! -cj -- --- ------------------------------------------------------------- Chris Cleeland | Internet: chris%milo@wpa.com Consultant/NeXT Advocate | UUCP: wupost!nimno!milo!chris
Newsgroups: comp.sys.next.programmer From: Robert_La_Ferla@hot.com Subject: Re: hardware/software configuration Message-ID: <1993Sep12.202803.14304@hot.com> Sender: robertl@hot.com Organization: Hot Technologies References: <CCzLEu.u4@SoftDesign.COM> Date: Sun, 12 Sep 1993 20:28:03 GMT Look at the MACH OS documentation for "host_info()" and related functions as well as the UNIX manuals for "gethostname()" and the utility "hostinfo" Robert La Ferla Hot Technologies In article <CCzLEu.u4@SoftDesign.COM> roberto@SoftDesign.COM (Roberto Arrocha) writes: > Sorry to ask a question, I am sure someone must have asked before. I'd > like to know how does BugNeXT.app get information about the > hardware/software configuration it is running on. I am looking to do this > programmatically, for similar purposes as BugNeXT.app. > > I know where to find the software version > > /usr/lib/NextStep/software_version > > Can developers rely that NeXT will keep this and similar files in the same > location in future releases? Given that it is NeXT's prerogative to change > its mind about such things, this info, I believe, should be provided via > an Appkit method/function, ..assuming it isn't already. > > Thanks. > > ------------------ BugNeXT.app info ------------------ > Reported_Version: lightning4h > > Hardware Configuration: > Processor: MC680x0 (68040) > Processor speed: 25 MHz > Primary memory: 32.00 MB > > Software Configuration: > NeXT Mach 3.1: Fri Apr 30 08:31:15 PDT 1993; > root(rcbuilder):mk-149.22.3.obj~2/RC_m68k/RELEASE_M68K > ------------------------------------------------------ > -- > Roberto > SoftDesign, Inc.
Newsgroups: comp.sys.next.programmer From: Robert_La_Ferla@hot.com Subject: Re: Extracting images from executable Message-ID: <1993Sep12.204040.14396@hot.com> Sender: robertl@hot.com Organization: Hot Technologies References: <1993Sep9.192330.1708@afs.com> Date: Sun, 12 Sep 1993 20:40:40 GMT The segname is "__ICON" Use "otool -l" to list the sectnames. segedit filename_of_executable -extract __ICON sectname sectname.tiff Robert La Ferla Hot Technologies In article <1993Sep9.192330.1708@afs.com> Michael_Pizolato@afs.com (Michael Pizolato) writes: > I know someone has posted this before. I want to extract an icon > from a segment in an executable. What are the segment and section > I have to pass to segedit -extract to get this to work? Also, if > I'm extracting a tiff, should the <filename> portion of "-extract > segname sectname filename" include the .tiff extension or not? > > Thanx, > Michael > > -- > Michael Pizolato gnihtyreve noitseuq > > Michael_Pizolato@afs.com > NeXTMail appreciated
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Hardware map memory map of black hardware, anyone? Message-ID: <1993Sep13.023928.25247@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <270iikINN4b7@clem.handheld.com> Date: Mon, 13 Sep 1993 02:39:28 GMT [Inappropriate crossposting removed] In article <270iikINN4b7@clem.handheld.com> jmd@cube.handheld.com (Jim De Arras) writes: >I'm specifically looking for the actual address of the Zilog serial I/O chip. Find a copy of NeXTSTEP 2.2 or 2.2a. Some *ssh*le at NeXT obliterated nearly all of the essential hardware and kernel information pre-3.0 releases provided. -=EPS=-
From: bosborne@nature.BErkeley.EDU Newsgroups: comp.sys.next.programmer Subject: Re: The "cut" command Date: 13 Sep 1993 00:30:27 -0400 Organization: The Ohio State University Sender: daemon@magnus.acs.ohio-state.edu Message-ID: <9309130326.AA15441@nature.berkeley.edu.cnr-net> > Perhaps you could port the cut command to the NeXT. I'm sure the > sources are available somewhere.... (Funny how NeXT forgot cut but > included paste.) cut is available from ftp.uu.net in /systems/unix/bsd-sources/usr.bin/cut. However, the bsd event 'paste' conflicts with NeXT's paste, which uses the pasteboard. ------------------------------------------------------------ Brian Osborne Plant Gene Expression Center bosborne@nature.berkeley.edu Albany CA USA ------------------------------------------------------------
From: claspac@tallis.ucsc.edu (Jas-Russell) Newsgroups: comp.sys.next.programmer Subject: LabelWriter II Date: 13 Sep 1993 06:42:01 GMT Organization: University of California, Santa Cruz Message-ID: <2714npINNn1s@darkstar.UCSC.EDU> I got an ad from a company selling a Label printer, it seemed like a neat idea to have a label printer print out the From and To labels for every letter or package I want to mail automatically. Letter goes to my NeXT printer, labels come out on LabelWriter II. Great. Except it doesn't work without some more magic. Costar LabelWriter II Price: $117.70 Software: 4 DOS/Windows 3.5" disks Documentation: 1 blue-white paper-back book Description: A non-ascii dot-matrix label printer Vendor: Costar Corporation PO Box 119 Buffalo, NY 14207-9965 Voice: (800) 370-9010 FAX: 716-873-0906 They sold this gadget with the assumption that everyone who buys it wants to use DOS. I want to drive it from my NeXTSTEP boxes. They gave out a "development disk" but it only solved the problem of communicating out the serial port under DOS. They didn't give out any software for converting ASCII text into the bit-mapped representations the label printer wants. I wondered if anyone else has bought this printer and made it work from UNIX/NeXTSTEP. If so - I'd gladly know if you have this code as a product or share-ware. Thanks Will Russell claspac@cats.ucsc.edu 408-459-2060
From: claspac@tallis.ucsc.edu (Jas-Russell) Newsgroups: comp.sys.next.programmer Subject: GUI version of Vi Date: 13 Sep 1993 06:35:38 GMT Organization: University of California, Santa Cruz Message-ID: <2714bqINNn1l@darkstar.UCSC.EDU> Has anyone else been interested in a NeXTSTEP GUI implmentation of Vi? Am I the only one who thinks Vi is still god's gift to programmers? I started the laborious work of trying to implement a char-filter for the text object that would make the text object "emulate" Vi, but could see that I was a bit over my head. Wondered if anyone has a product like this? Thanks, E-mail reponses appreciated, Posteds responses may be of interest to others. Will Russell claspac@cats.ucsc.edu 408-459-2060
Newsgroups: comp.sys.next.programmer From: carlos@thinkmuch.dolphin.com (Carlos Salinas) Subject: Re: A couple of easy questions Message-ID: <CDA248.1Js@thinkmuch.dolphin.com> Sender: carlos@thinkmuch.dolphin.com (Carlos Salinas) Organization: Deep Breakfast Productions References: <25djkq$t61@crcnis1.unl.edu> Date: Mon, 13 Sep 1993 05:33:43 GMT In article <25djkq$t61@crcnis1.unl.edu> me@ienext.unl.edu (Dan Scott) writes: : : I got to thinking that I might want to modify the size of one of : my views [a Matrix containing TextFieldCells] in response to a user : input. So I used a sizeToFit command in my code. This *did* resize the : view as desired, but there was a problem: the old (larger) size of the : view was still visible (though partly obscured by the new size). I suppose you used sizeToFit because you wanted the Matrix to fit what the user typed into the text field cell... Anyway, the documentation specifically states that -[Matrix sizeToFit] does not redraw the Matrix. To redraw the Matrix, send it a display message. (But, I don't see how anything was drawn in the first place.) : After I thought about it this made some sense---the view was : getting a command to display itself again (after its size had : changed) but there was never any command to "erase" the picture : of itself that it had *previously* drawn. : : [Description of erasing space occupied by view.] : : Now, At last the questions: : 1) Is this more or less what you have to do in this kind of : situation? Or is there some simpler way to see to it that old : "outdated" images are not left visible? Sorry, but this is not what's done. In the first place it's not your object's job to have to clean up after the view. It is the view's job to clean up after itself. So the cleanup code, if any, should belong in the view. (Fundamental law of object oriented programming, separation of concerns. Displaying is not your objects concern. It is the views concern. The view is responsibility for displaying and cleaning up after itself.) So what should you do? Well, sending display to the Matrix should do the trick. But for future reference: if you want to display a view that is not opaque (ie. doesn't "paint" 100% of its surface leaving some of its superview exposed), send it displayFromOpaqueAncestor:::. That will traverse the view hierarchy until an opaque superview is found. That opaque superview is then sent display:::. Lookup displayFromOpaqueAncestor in the Concepts documentation. : 2) Originally, when I filled the frame rectangle I didn't bother : to specify NX_LTGRAY. I figured that I wanted my erasing job to : match the color of the background (the contentView's color). : Since I had locked focus on the contentView I assumed that it : would draw in the background color unless I specified otherwise. : Imagine my surprise when my erasure was done in black! Could it : be that the last thing drawn in the contentView of this window : was in black? (part of the border??---but that's not part of the : contentView, right?) Why didn't this work like I thought it : would? Another lesson for the day. Don't make assumptions. What you were trying to do, which was basically correct, was redraw the view's superview. However, instead of you doing the work, you should have let the view hierarchy do the work. To redisplay the superview all you needed was: [[view superview] display]; or even better (because it is more direct): [view displayFromOpaqueAncestor:NULL :0 :NO]; That should have cleared everything up. : Thanks for your assistance. : : ---------------------------------------------------------------- : Dan Scott me@ienext.unl.edu NeXT mail welcome : ---------------------------------------------------------------- A bit of advice. NeXT time if you have a problem, stop and think how it should be done in terms of object oriented programming. In particular ask, what is the problem? and what object is responsible for this problem? By all means DO NOT start hacking something together. It is very tempting to patch things together and just make it work, but what you will end up with is a mess. Object oriented programming isn't magic. The benefits don't magically appear. You have to have a lot of discipline and do things right. In this case you should have thought - Okay, display isn't working? Whose job is it? Matrix. Why isn't Matrix displaying correctly? - and then from there you could have used Librarian to zeroe in on everything (reference, concepts, example code) having to do with displaying Matrixs. Hope this helped. Tell me how things turn out. Good luck! 'Los Dolphin Software carlos@thinkmuch.dolphin.com <- color NeXTmail preferred.
From: fxg@damabus.informatik.rwth-aachen.de (Felix Gatzemeier) Newsgroups: comp.sys.next.programmer Subject: PrintFilter problems Date: 13 Sep 93 08:58:56 GMT Organization: Rechnerbetrieb Informatik - RWTH Aachen Message-ID: <fxg.747910736@damabus> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Summary: filter works in shell but crashes from PrintPanel Keywords: services I'm working on a simple print filter that is supposed to rearrange the pages from 1 2 3 4 to 1 3 2 4, so that duplex printing by hand is possible. The program works fine in a shell window as a regular filter. I've also written an identityFilter that takes its input and writes it to stdout or a file given via -o filename, which is just about ALL the next docu says about Print Filters. The identityFilterworks fine in the Edit PrintPanel (my test case), but the duplex filter crashes regularly. To be more precise, gdb reveals that a NXPing() call from Edit in NXRunLocalAlertPanel (ca.) crashes with a memory exception --- and Edit is gone immedeatly. I guessed that unbuffered files would do the trick, but to no avail. And does anyone have an idea whysuch a function like NXPing() should fail AT ALL? I'm thankful for any help on this problem, plus pointers to PS DSC - Document managers so I don't have to do everything myself. Thanks, -- Felix (fxg@Pool.Informatik.RWTH-Aachen.de, No NeXT-Mail, please!)
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: Programmatically setting the document view of a ScrollView Message-ID: <1993Sep13.105022.4379@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <1993Sep12.213904.6744@milo.UUCP> Date: Mon, 13 Sep 1993 10:50:22 GMT In article <1993Sep12.213904.6744@milo.UUCP> chris@milo.st-louis.mo.us (Chris Cleeland) writes: -> Howdy all. Please save my sanity... -> -> I am having a devil of a time trying to programmatically -> set the document view of a ScrollView instance. Anybody -> have a good reason why this wouldn't work? I get a -> lovely SIGIOT. [ code snipped omitted ] Take a look at Yap's source. Yap creates a new Text for every loaded file, replacing the one unarced-from-nib with the new one. My guess is that your problem is freeing the old text BEFORE placing a new doc view. Yap (as I recall) frees the returned OLD doc as a nested call in the insertion of the new one. Bruce Gingery bruce@TotSysSoft.com Total System Software NeXT-mail preferred, MIME-mail ok
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: hardware/software configuration Message-ID: <1993Sep13.104158.4230@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <CD9EHv.3LK@is.com> Date: Mon, 13 Sep 1993 10:41:58 GMT In article <CD9EHv.3LK@is.com> pclark@is.com (Pete Clark) writes: -> In article <CCzLEu.u4@SoftDesign.COM> roberto@SoftDesign.COM (Roberto Arrocha) -> writes: -> > Sorry to ask a question, I am sure someone must -> > have asked before. I'd like to know how does -> > BugNeXT.app get information about the hardware/ -> > software configuration it is running on. I am -> > looking to do this programmatically, for similar -> > purposes as BugNeXT.app. -> > -> -> (137)milo% hostinfo [command output omitted] You can even get the current mach version in a makefile with... head -1 /usr/lib/NextStep/software_version * Good for v2.1 - 3.1 In 2.1 system distributions there was a soft link from this file to /usr/adm/software_version, which was omitted from later distributions. As for hardware info, there should be system/function calls, but I don't recall just where to find them at this point. With the restructuring of the headers from 2.x to 3.x, as EPS so aptly put, some <expletive deleted> at NeXT left out most of the hardware info -- Why??? Bruce Gingery bruce@TotSysSoft.com NeXT-Mail preferred MIME-Mail ok
Newsgroups: comp.sys.next.programmer From: Greg_Anderson@afs.com (Gregory H. Anderson) Subject: Re: "Official" way to get information about "heirs"? Message-ID: <1993Sep13.142817.2128@afs.com> Sender: greg@afs.com References: <CD7Awt.AHs@pdh.com> Date: Mon, 13 Sep 1993 14:28:17 GMT In article <CD7Awt.AHs@pdh.com> jfr@aspen.pdh.com (Jon F. Rosen) writes: > In comp.sys.next.programmer article <1993Sep9.150534.29673@afs.com> > you wrote: > > First, many objects in nib files (certainly all the View > > classes) do not get +alloc messages at runtime, because > > they already exist. In that case, you need to include a > > [allInstances addObject:newObject] message in the > > awakeFromNib method, too. > > Are you ABSOLUTELY sure about this? I have never actually traced > the code in an NXReadObject but I am POSITIVE that alloc gets > called for each object. Aren't you really talking about -init? > -init does not get called for any object read from a .nib file > unless its -read: method does an -init directly. You are confusing creation with archiving. The -read: and -write: methods archive existing objects, they don't create new ones. IB creates new objects by making a -copy of an instantiated object from a palette. After that, it is never necessary to +alloc again. Objects in a nib file are asleep, not dead. I did trace the code--I've got a reputation to uphold 8^)--and I can confirm that +alloc is NOT called by the loadNibFile/NXReadObject()/-read: process to reinstantiate Views. The Objective-C runtime function class_createInstanceFromZone() is called, which in turn uses the object allocation function to which _alloc points. -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
Newsgroups: comp.sys.next.programmer From: yanik@planon.qc.ca (Yanik Crepeau) Subject: Re: 8 bit serial I/O + even parity? Message-ID: <1993Sep13.132248.1208@CAM.ORG!planon> Sender: yanik@CAM.ORG!planon References: <1993Sep11.132953.6835@ToTSySSoft.com> Date: Mon, 13 Sep 1993 13:22:48 GMT In article <1993Sep11.132953.6835@ToTSySSoft.com> bruce@TotSysSoft.com (Bruce Gingery) writes: | In article <26qljuINNt6k@clem.handheld.com> | jmd@cube.handheld.com (Jim De Arras) writes: | -> | -> Is it possible to have 8 bit data AND even parity I/O on a | NeXT? I have a box | -> I need to talk to that requires it! | -> | -> Thanks, | -> Jim | -> jmd@cube.handheld.com | | Considering that it is possible to use 16 bit ``bytes'' on the | ZS device, I suppose so... but rather strange. | | If you're referring to normal serial I/O | | 7-bit Even, Odd, Mark (none) Space | 8-bit None | | Are you quite sure that you don't have a box that requires | 8-bit OR even parity? | | Bruce Gingery bruce@TotSysSoft.com | NeXT-mail preferred, MIME-mail ok We have made a call to NeXT a year ago with that question. The serial ports of Sony Broadcast VCR (and most of the serial ports on Broadcast Equipments) are configured as follow: 1 Start Bit + 8 Bits Data + 1 ODD Parity bit + 1 (sometimes 2) Stop bit(s) Yes, Yes, ODD PARITY is used. A character is coded with eleven (11) or twelve (12) bits. Yes again, 8 bits PLUS PARITY! A very bizarre configuration but used everywhere by manufacturers of Broadcast equipments. Speed are rated from 9600 to 38400. RS-422 is prefered over RS-232 or RS-423. The Serial Controller Chip inside the NeXTSTATION (zs) is the same used in many other micro-computers including the Macintosh. As many of us know, the Macintosh serial port is capable of many things including support of LocalTalk (230kb/sec). If someone could access the registers of the SCC, everything would be very fine. The answer from NeXT: Don't touch that! UNIX serial drivers don't support exotic configuration. NeXT won't fix that and NeXT won't support anyone who try to write some driver that will take full advantage of the SCC chip. Period. With the Intel release and DRIVERKIT, I just hope that something will change! Please NeXT, when DRIVERKIT will be used to support Serial I/O, publish the source code and let some hooks to subclass such serial port objects to let us add our own functionalities. -- Yanik Crepeau Programmer Planon Telexpertise E-Mail: yanik@planon.qc.ca (NeXT)
From: darcy@solutions.ca (Darcy Brockbank) Newsgroups: comp.sys.next.programmer Subject: Re: "Official" way to get information about "heirs"? Date: 13 Sep 1993 16:58:30 GMT Organization: The Hutchison Avenue Software Corp. Message-ID: <2728rm$58c@amber.solutions.ca> References: <1993Sep7.224042.17385@gleap.sccsi.com> In article <1993Sep7.224042.17385@gleap.sccsi.com> clloyd@gleap (Charles C. Lloyd) writes: > > Well, you could override the +alloc method for the class(es) you're interested > in. I would do it something like: > > static id allInstances > > +alloc > +initialize This doesn't work, because +initialize is lazy. So if I have a known superclass, and I have an unknown number of subclasses, I can't at any point in time, be sure that each subclass has been entered into my "allInstances" table. The subclass has to be sent an "+initialize" message first before it gets added to the table, which means that someone tried to allocate my class. I need to know which subclasses are out there without someone allocating each class first. If the system automatically sent a +initialize to each class object before running the program, then what you wrote would work fine. The system doesn't do this (NeXT likes laziness :-) so we're still stuck... - darcy
Newsgroups: comp.sys.next.programmer From: pete@ohm.york.ac.uk (Pete French) Subject: Re: GUI version of Vi Message-ID: <1993Sep13.115002.9769@ohm.york.ac.uk> Organization: Electronics Department, University of York, UK References: <2714bqINNn1l@darkstar.UCSC.EDU> Date: Mon, 13 Sep 93 11:50:02 GMT From article <2714bqINNn1l@darkstar.UCSC.EDU>, by claspac@tallis.ucsc.edu (Jas-Russell): > Has anyone else been interested in a NeXTSTEP GUI implmentation > of Vi? Am I the only one who thinks Vi is still god's gift > to programmers? No, but whats the point of making it into an app ? just run it in a shell window. almost all my work on my NeXT is doen in /bin/sh terminal windows, why not just use the machine as a nice UNIX box ? -bat. -- -Pete French. (the -bat. ) -+ Adaptive Systems Engineering | +- Desperation is wednesday in Stranraer
Newsgroups: comp.sys.next.programmer From: ian@ohm.york.ac.uk (I Stephenson) Subject: Re: GUI version of Vi Message-ID: <1993Sep13.135826.15164@ohm.york.ac.uk> Sender: ian@ohm.york.ac.uk (D I Stephenson) Organization: Electronics Department, University of York, UK References: <1993Sep13.115002.9769@ohm.york.ac.uk> Date: Mon, 13 Sep 93 13:58:26 GMT In article <1993Sep13.115002.9769@ohm.york.ac.uk> pete@ohm.york.ac.uk (Pete French) writes: > From article <2714bqINNn1l@darkstar.UCSC.EDU>, by claspac@tallis.ucsc.edu (Jas-Russell): > > Has anyone else been interested in a NeXTSTEP GUI implmentation > > of Vi? Am I the only one who thinks Vi is still god's gift > > to programmers? > > No, but whats the point of making it into an app ? just run it in a shell > window. almost all my work on my NeXT is doen in /bin/sh terminal windows, > why not just use the machine as a nice UNIX box ? > > -bat. > -- > -Pete French. (the -bat. ) -+ > Adaptive Systems Engineering | > +- Desperation is wednesday in Stranraer There are a number of advantages: Automatic opening of files Use of mouse for cursor movement/cut+paste Ability to use services properly Better handling of multiple files. Scrollbars, easy resizing Simple inclusion of a Vi Text object into other Apps Prehaps rich text - fonts, graphics, spell checking etc General integration into the environment I hate Emacs, but its ability to operate directly on the desktop is a considerable bonus (or would be if I used it). I've played around subclassing the text object to interpret simple vi commands, but had limited success (largley to do with scrolling). I'd be VERY intrested in this project Ian Stephenson
From: sanchezp@bigdog.engr.arizona.edu (Paul J. Sanchez) Newsgroups: comp.sys.next.programmer Subject: Re: GUI version of Vi Date: 13 Sep 1993 18:03:54 GMT Organization: University of Arizona UNIX Users Group Message-ID: <SANCHEZP.93Sep13110354@bigdog.engr.arizona.edu> References: <1993Sep13.115002.9769@ohm.york.ac.uk> <1993Sep13.135826.15164@ohm.york.ac.uk> In-reply-to: ian@ohm.york.ac.uk's message of Mon, 13 Sep 93 13:58:26 GMT Why not use the Emacs front end, and add vip-mode to your startup file so you are using the vi emulation under emacs? -- --paul paul@whimsy.umsl.edu ================================================================= The Law, in its majestic equality, forbids the rich, as well as the poor, to sleep under the bridges, to beg in the streets, and to steal bread. -- Anatole France =================================================================
From: sowa@amdew.llnl.gov (Erik C. Sowa) Newsgroups: comp.sys.next.programmer Subject: Re: GUI version of Vi Date: 13 Sep 1993 19:08:15 GMT Organization: LLNL Chemistry and Materials Science Message-ID: <SOWA.93Sep13120815@amdew.llnl.gov> References: <2714bqINNn1l@darkstar.UCSC.EDU> In-reply-to: claspac@tallis.ucsc.edu's message of 13 Sep 1993 06:35:38 GMT >>>>> "Will" == Jas-Russell <claspac@tallis.ucsc.edu> writes: Will> Has anyone else been interested in a NeXTSTEP GUI implmentation Will> of Vi? Am I the only one who thinks Vi is still god's gift Will> to programmers? Sinner! -- erik sowa (sowa@amdew.llnl.gov)
Newsgroups: comp.sys.next.programmer From: carlos@thinkmuch.dolphin.com (Carlos Salinas) Subject: Re: Another simple question Message-ID: <CDA2tF.1Lx@thinkmuch.dolphin.com> Sender: carlos@thinkmuch.dolphin.com (Carlos Salinas) Organization: Deep Breakfast Productions References: <1993Aug10.132729.4740@CAM.ORG!planon> Date: Mon, 13 Sep 1993 05:48:51 GMT In article <zkessin.744905686@berry.cs.brandeis.edu> zkessin@cs.brandeis.edu (Zach K) writes: | I think I am missing something that is very basic but I am at a loss | to try and do this, I want to have a spreadsheat like matrix of text | cells that can be scrolled in a browser. I tried to create a window | and the in the window make a browser with text cells but it did not | work. In terms of access I nead to be able to have random acces by tag | # or whatever. In article <1993Aug10.132729.4740@CAM.ORG!planon> Laurent Daudelin responded: : If you really want to scroll your matrix, you will have, first, to put a : scrollview inside your window. Create a custom "controller" object and : connect it to the scrollview. Then, the way I did it, instantiate a new : matrix by programmation from inside your custom object. Send the : scrollview the message "setDocView:" with the id of your matrix. You : will have to create the cells in your matrix Step one. Terminology. A browser is a ui construction in which two or more lists of data are hierarchically related. For clarity, refer to a single column browser as a list. Okay, I'm assuming that you don't want a browser or a list (if the matrix has several columns), what you really want to do is scroll your matrix, ie put your matrix in a ScrollView. Laurent's method will work. But the easier approach is: In IB create the matrix in your window. Select the matrix, then use the "/Format/Layout/Group In ScrollView" command to wrap a ScrollView around the Matrix. That's it. No need to make any connections to the ScrollView, it just works. 'Los
Newsgroups: comp.sys.next.programmer Subject: Dynamic Loading under 2.1 Message-ID: <1993Sep13.142017.2672@yvax.byu.edu> From: sean@digaudio.byu.edu (Sean Luke) Date: 13 Sep 93 14:20:16 -0700 Sender: -Not-Authenticated-[3945] Organization: Brigham Young University Xdisclaimer: No attempt was made to authenticate the sender's name. Is dynamic loading new to 3.x, or was it available under 2.1? Bundles too? Also, could you create bundles in IB under 2.1? If not, how did you do it? Thanks, __________________________________________________________________ Sean Luke MILK: It Comes From Cows Brigham Young University sean@digaudio.byu.edu No NeXTmail right now :( __________________________________________________________________
Newsgroups: comp.sys.next.programmer From: gordie@cyclesoft.com (Gordie Freedman) Subject: Re: Book: NEXTSTEP Programming - A Master's Class Message-ID: <1993Sep13.170534.10786@netcom.com> Sender: gordie@netcom.com Organization: Cyclesoft Media Works References: <1993Sep10.182431.561@afs.com> Date: Mon, 13 Sep 1993 17:05:34 GMT In article <1993Sep10.182431.561@afs.com> Greg_Anderson@afs.com (Gregory H. Anderson) writes: > No, the book in the subject line doesn't exist yet, but I am talking to > several publishers about writing it. The remainder of this article is the > proposed chapter outline. I welcome all comments on whether the material > is complete, germane, and properly organized to the task at hand. Thanks > in advance for any ideas you care to share. > This looks like a great idea, we could use more NeXT programming books. One thing to keep in mind is making this complementary to the existing materials (the two NS programming books already out, the proposed "NeXTStep Programming: part 2" by Simson <which I have heard will have a lot of DBkit stuff>, and the online documentation you get with the Developer kit). Some additional things I think could go in an advanced book are: Using/creating palettes in IB Testing code in IB, how to tell if simply unarchived into IB, or in test mode Archiving and unarchiving objects DBkit Also, the things mentioned for Distributed Objects, category descriptions (from the proposed chapter 3), and chapters 7 and beyond looks good. Based on what is mentioned for this book I think it would be very useful. Go for it! -- >>> Gordie Freedman -> gordie@cyclesoft.com NeXTMail Yes! >>> Thou shalt not inline functions more complicated than 20
Newsgroups: comp.sys.next.programmer From: fred@cubx.com (Frederic Pralong) Subject: Drag and drop within Interface Builder Message-ID: <1993Sep13.160320.14639@cubx.com> Sender: news@cubx.com Organization: Cub'x Systemes - Rueil Malmaison, France. Date: Mon, 13 Sep 1993 16:03:20 GMT I post this question for a friend, please send your answers to stephane@swt.fdn.org FReD I need a custom View with an effective Drag and Drop inside IB. When you drag a Button inside a Window and then drag an image upon the Button, you've got a "link cursor" and the image appears immediatly inside in the Button. I've made a palette of a custom View, that works in an test application. But in IB i can't drag and drop the image into my View. It seems like I'm not registered with the good Pasteboard. How do I inform IB that my custom View supports drag and drop ? Any information ? thanks ... -- Frederic PRALONG Cub'x Systemes Small NeXTmail OKAAAYYY ! fred@cubx.com Citation du jour : "Une intuition de femme est toujours bien plus exacte qu une certitude d homme" Rudyard Kipling.
From: kerry@totara.cs.waikato.ac.nz (Kerry Guise) Newsgroups: comp.sys.next.programmer Subject: Re: GUI version of Vi Date: 13 Sep 1993 21:04:50 GMT Organization: CompSci, U of Waikato, New Zealand Message-ID: <272n9i$t1n@venus.cs.waikato.ac.nz> References: <2714bqINNn1l@darkstar.UCSC.EDU> In article <2714bqINNn1l@darkstar.UCSC.EDU> claspac@tallis.ucsc.edu (Jas-Russell) writes: > Has anyone else been interested in a NeXTSTEP GUI implmentation > of Vi? Am I the only one who thinks Vi is still god's gift > to programmers? Couldn't agree more. Its small, fast and does everything I want it to do. Emacs users have Emacs.app. Wouldn't it be nice to have a Vi.app ?
Newsgroups: comp.sys.next.programmer From: Jon_Hendry@afs.com Subject: Opening programs in X from NeXTSTEP App Message-ID: <1993Sep13.181421.573@afs.com> Sender: jon@afs.com Date: Mon, 13 Sep 1993 18:14:21 GMT I'm looking at the possibility of doing a certain project for an independent study at school this year. It consists of a NeXTSTEP front-end to an artificial intelligence software repository. I need to be able to start up a program on a remote Sun and have that program run on the local NeXTSTEP box via X. I need to do this from within the NeXTSTEP front end. For example, the user would look through a browser of AI apps. If he finds one he's interested in, he would double click on it. Through some means, the app would be started on the remote machine and would come up in an X-window on the NeXT. (The apps are stored on the remote Sun). Is this possible? Or should I look for a new project? Thanks, Jon -- Jonathan Hendry Anderson Financial Systems, Inc. Co-op jon@afs.com #import <disclaimers/afsdisclaimer.h>
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: libtool(1) aggravation Message-ID: <1993Sep13.212423.806@afs.com> Sender: Michael_Pizolato@afs.com Date: Mon, 13 Sep 1993 21:24:23 GMT The only way to build fat libraries in NS3.1 is to use libtool(1). But, libtool(1) only builds libraries, it won't update existing libraries the way ar(1) does. THIS BUGS ME! It means that if I have a library project with 100 source files, my library will get rebuilt from 100 object files even if only one source changes. This sucks recycler cruft, wouldn't you say? Thanx, Michael -- Michael Pizolato Michael_Pizolato@afs.com Mu-I-Jin NeXTMail appreciated Anderson Financial Systems Inc.
Newsgroups: comp.sys.next.programmer From: pbiron@oahu.cs.ucla.edu (Paul Biron) Subject: Re: GUI version of Vi Message-ID: <1993Sep13.215204.26804@cs.ucla.edu> Sender: usenet@cs.ucla.edu (Mr Usenet) Organization: UCLA, Computer Science Department References: <2714bqINNn1l@darkstar.UCSC.EDU> <1993Sep13.115002.9769@ohm.york.ac.uk> Date: Mon, 13 Sep 93 21:52:04 GMT In article <1993Sep13.115002.9769@ohm.york.ac.uk> pete@ohm.york.ac.uk (Pete French) writes: >From article <2714bqINNn1l@darkstar.UCSC.EDU>, by claspac@tallis.ucsc.edu (Jas-Russell): >> Has anyone else been interested in a NeXTSTEP GUI implmentation >> of Vi? Am I the only one who thinks Vi is still god's gift >> to programmers? > >No, but whats the point of making it into an app ? just run it in a shell >window. almost all my work on my NeXT is doen in /bin/sh terminal windows, >why not just use the machine as a nice UNIX box ? > >-bat. >-- >-Pete French. (the -bat. ) -+ >Adaptive Systems Engineering | > +- Desperation is wednesday in Stranraer While not a full-fledged app, I've got a parital solution for those who use Stuart. I've coded up a little app (based on the old Unknown app from 1.0 (or was it 0.9) days, that allows me to open files in vi from the workspace. Basically, its just an Application delegate object which knows how to open multiple files (i.e., acceptAnotherFile returns YES) and the app:openFile:type: method simply exec's soil with 'vi filename' as the -Shell argument. This pops up another Sutart window with the filename loaded into vi, when you quit vi the window goes away. I don't use this very often, but since I dispise Edit it saves me the grief of "accidentally" launching that. Now, all I need is for IB to ask the Workspace to open .[hm] files, instead of what appears to be the hardcoded launching of Edit and I'm in business :-( If anyone wants the sources I'll submit them to cs.orst.edu and sonata.cc.purdue.edu. -- Paul Biron (310) 825-5614 | Outside of a dog, a book is man's best friend pbiron@gslis.ucla.edu | Inside of a dog, it's too dark to read GSLIS, UCLA | ---Groucho Marx What's another word for ``thesaurus''? ---Stephen Wright
From: bakker@cyclon.aoml.erl.gov (Cary Bakker) Newsgroups: comp.sys.next.programmer Subject: Question about debugger. Date: 14 Sep 1993 00:01:46 GMT Organization: U.S. Department of Commerce, NOAA/AOML Message-ID: <2731la$q4n@wave.aoml.erl.gov> The problem is that I have added instance variables to a class and they don't show up in the debugger. The variables are in the class .h file, I updated the file in the interface builder because I instantiate an object in the interface. They show up in the interface builder, but when I run the program under the debugger, the new variables don't show up even after they are initialized ! What am I forgetting? Thanks, Cary A. Bakker
From: slv0y@cc.usu.edu Newsgroups: comp.sys.next.programmer,comp.sys.next.misc,comp.sys.next.sysadmin Subject: How2 change date/time format in fax? Message-ID: <1993Sep13.190311.515@cc.usu.edu> Date: 13 Sep 93 19:03:11 MDT Organization: Utah State University I am trying to change the format of the date that appears in the date field of the fax cover page. I have played around the the GLOBAL defaults NXDate, NXTime, and NXDateAndTime, and they don't seem to have any effect. How can I change the date/time format for stuff like the fax cover page? I have checked all of the logical places for info, but to no avail... Any help would be greatly appreciated, John Z. slv0y@cc.usu.edu
Newsgroups: comp.sys.next.programmer From: mshaler@tdocad.sps.mot.com (Michael Shaler) Subject: Re: LabelWriter II References: <2714npINNn1s@darkstar.UCSC.EDU> Date: Mon, 13 Sep 1993 13:47:48 GMT Organization: Nippon Motorola Ltd., Tokyo, Japan Sender: news@tkymail.sps.mot.com Message-ID: <1993Sep13.134748.14003@tkymail.sps.mot.com> Jas-Russell writes I got an ad from a company selling a Label printer, it seemed like a neat idea to have a label printer print out the From and To labels for every letter or package I want to mail automatically. Letter goes to my NeXT printer, labels come out on LabelWriter II. Great. Except it doesn't work without some more magic. [munch] I think Marble Associates was at one time working on a similar project--perhaps they are still selling the software, if not hardware? --- Michael Shaler Tokyo Design Center Nippon Motorola Ltd. +813 3280 8245 voice +813 3440 0033 fax mshaler@tdocad.sps.mot.com [NeXTmail]I think Marble Associates was at one time work Christian Kelling *
From: mahoney@csulb.edu (Mike Mahoney) Newsgroups: comp.sys.next.programmer Subject: Re: Book: NEXTSTEP Programming - A Master's Class Date: 14 Sep 1993 02:55:23 GMT Organization: Cal State Long Beach Message-ID: <273bqr$mtk@garuda.csulb.edu> References: <1993Sep13.170534.10786@netcom.com> "NEXSTEP Programming - STEP TWO: Object-Oriented Toolkits" by Mike Mahoney and Bill Ballew (Simson is sitting this one out) will focus on DB Kit. Therefore, it will complement the two books currently in release ("STEP ONE" and Nghiem's book) and the one proposed by Greg Anderson. -mike BTW Greg's proposed book looks very interesting, and I'd like a copy on my shelf. -- - Mike Mahoney, SCaN President Professor and Chair Computer Engineering and Computer Science Dept California State University, Long Beach Long Beach, CA 90840-8302
Newsgroups: comp.sys.next.programmer From: mike@lorax.com (Mike Ferris) Subject: Re: IB isTestingInterface: Warning Message-ID: <CDBGtJ.A2q@lorax.com> Sender: mike@lorax.com (Mike Ferris) Organization: Stultus Enterprises References: <1993Sep7.180451.28612@afs.com> Date: Mon, 13 Sep 1993 23:48:53 GMT In article <1993Sep7.180451.28612@afs.com> Greg_Anderson@afs.com (Gregory H. Anderson) writes: >In article <1993Sep6.134817.25823@biztech.com> anderson@biztech.com (Ken >Anderson) writes: >> Since 3.0, I use 'if ([NXApp conformsTo:@protocol(IB)])' which >> works regardless of where/when/how. I also don't understand why you >> were sending awakeFromNib manually...IB sends it to any objects I have. >> What it DOESN'T do is send init or initFrame:. > >This does not solve the problem at hand, because it fails to distinguish >between Run mode and non-Run mode. When the object is being edited within >IB, you may want it to act differently than it does in Run mode. > This brings up a question. Is there a way that you are "supposed" to implement, say, a control like a matrix, which edits very differently in IB? There is no mention of this in the docs. It seems possible that you're meant to do it with clever use of an IBEditor, but it seems it would be very complicated to actually try this. If there were a good way to determine whether your object is in IB build mode or not, then it could be built in to the object itself as has been suggested above. Or maybe we're not supposed to do it at all :-). Anybody care to comment? Anyone from Next? ____________________________________________________________ Mike Ferris It's log, It's log, mike@lorax.com It's big, It's heavy, It's wood. Rubicon Software It's log, It's log, (510) 652-2039 It's better than bad, It's good.
From: andrew@stone.com (Andrew Stone) Newsgroups: comp.sys.next.programmer Subject: Re: Programmatically setting the document view of a ScrollView Message-ID: <1993Sep14.033852.24789@stone.com> Date: 14 Sep 93 03:38:52 GMT Article-I.D.: stone.1993Sep14.033852.24789 References: <1993Sep12.213904.6744@milo.UUCP> Sender: andrew@stone.com Distribution: na Organization: Stone Design Corp In article <1993Sep12.213904.6744@milo.UUCP> chris@milo.st-louis.mo.us (Chris Cleeland) writes: > Howdy all. Please save my sanity... > > I am having a devil of a time trying to programmatically set the > document view of a ScrollView instance. Anybody have a good reason > why this wouldn't work? I get a lovely SIGIOT. > > The ScrollView was originally created via IB by dragging the > ScrollView onto a panel, thus having a Text instance as its docView. > On occasion I need to replace this with a Matrix instance that was > allocated and init'ed in-line (not in IB). > > Here's my code, if anybody's held on this long and is really nice or > really a glutton for punishment :-) > > - replaceDocWithMatrix: theScrollView; > { > id matrix; > NXRect theFrame; > > if (theScrollView && [theScrollView isKindOf: [ScrollView class]]) > { > // Free the text object that IB forces us to have after we get > // its frame size > [theScrollView getDocVisibleRect:&theFrame]; > [[theScrollView docView] free]; > matrix = [[Matrix alloc] initFrame:&theFrame > mode:NX_RADIOMODE > cellClass:[NewsBrowserCell class] > numRows:1 > numCols:1]; > if (! matrix) > return nil; > > [theScrollView setDocView:matrix]; // <<-- Right here is where > // everything goes to > // hell-in-a-handbasket! Try commenting out: // [[theScrollView docView] free]; and below: [[theScrollView setDocView:matrix] free]; // the OO way andrew -- ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>|| !! Andrew Stone !! (505) 345-4800 !! !! andrew@stone.com <> Stone Design Corp !! ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>||
Newsgroups: comp.sys.next.programmer From: carlos@thinkmuch.dolphin.com (Carlos Salinas) Subject: Re: How do I get inside NXData Object? Message-ID: <CDBtxM.10o@thinkmuch.dolphin.com> Sender: carlos@thinkmuch.dolphin.com (Carlos Salinas) Organization: Deep Breakfast Productions References: <1993Sep10.164721.116038@zeus.aix.calpoly.edu> Date: Tue, 14 Sep 1993 04:32:10 GMT In article <1993Sep10.164721.116038@zeus.aix.calpoly.edu> mrothste@worf.acs.calpoly.edu (Rothstein) writes: : Please Help me. I am trying to output some text to a file. The problem : is that the text is in rtfd form and is passed to me in an NXData : object. When I send the data method to the NXData object all I get back : is "rtfd". The docs say that a void* is being returned but I don't know : how to actually get to the data. Of course once I have the data I have : to strip the rtfd stuff and get it to plain ascii so if someone knows : how to do this also I would appreciate it. : : Any help is greatly appreciated. : -- : -Mont : : NeXTmail OK :-) : President CP-NUG (Cal Poly NeXT User Group, SLO) Doesn't seem like you are getting the data. Are you sure the sender is working correctly? Maybe the data is there but contains '\0'? Also, why are you using distributed objects (I'm assuming) and not the Pasteboard? To convert the data, how about using the new filter stuff? Try the method newByFilteringData:ofType:. According to the docs that will give you a Pasteboard object defining all of the types of data that can be derived from the given NXData which is of the specified type. You can then send that Pasteboard object readFileContentsType:toFile: to write the data to a file. id aPasteboard; aPasteboard = [Pasteboard newByFilteringData:anNXData ofType: NXRTFPboardType]; [aPasteboard readFileContentsType:NXAsciiPboardType toFile:filename]; (The above assumes that there exists an RTF to ASCII filter. Alternatively you could use Text to do the conversion, but that seems to be a bit of a hack.) I've never tried any of this before... so it's all speculation. Try it out. Post the results. If anybody out there knows anything about this please comment. Good luck! 'Los BTW: Why are all the Pasteboard input/output names reversed? Why does the Pasteboard "read" data for output and "write" data for input? Text, for example, "writes" data for output and "reads" data for input. My opinion is that direction should be relative to the object, object centric.
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Dynamic Loading under 2.1 Message-ID: <1993Sep14.061833.26621@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Sep13.142017.2672@yvax.byu.edu> Date: Tue, 14 Sep 1993 06:18:33 GMT In article <1993Sep13.142017.2672@yvax.byu.edu> sean@digaudio.byu.edu (Sean Luke) writes: >Is dynamic loading new to 3.x, or was it available under 2.1? Bundles >too? Dynamic loading has been around since at least 2.0 using objc_loadModules()/objc_unloadModules() and/or rld(3) functions. rld_load_from_memory() and rld_forget_symbol() are new with 3.x. NXBundles were introduced as a common class in 3.0. Their primary attraction is in making localization easier. -=EPS=-
Newsgroups: comp.sys.next.programmer From: roy@indirect.com (Roy Stewart) Subject: Re: GUI version of Vi Message-ID: <roy.747991665@indirect.com> Organization: Internet Direct Inc. -- (602) 274-0100 References: <2714bqINNn1l@darkstar.UCSC.EDU> Date: Tue, 14 Sep 1993 07:27:45 GMT What is wrong with Edit.app?!?!?! Why are you using Vi on a NeXT? -- Thank You. roy@indirect.com
From: dave@truth.asg.arlut.utexas.edu (Dave Slotnick) Newsgroups: comp.sys.next.programmer Subject: NXBitmapImageRep Date: 14 Sep 1993 12:57:00 GMT Organization: The University of Texas at Austin, Austin, Texas Message-ID: <274f2s$pqe@geraldo.cc.utexas.edu> Hello! I'm looking for some example code which uses the NXBitmapImageRep class to display an array of floating point numbers as a bitmap. If you have such code, and are willing to share it, please e-mail a copy to the address below. Any help is *greatly* appreciated! -- *** David Slotnick *** Applied Research Laboratories *** dave@truth.asg.arlut.utexas.edu NeXTmail desired and appreciated
From: pkron@corona.com (Peter Kron) Organization: Corona Design, Inc., Seattle, WA Message-ID: <1993Sep14.1@corona.com> Date: Tue, 14 Sep 1993 07:00:05 PDT Newsgroups: comp.sys.next.programmer Subject: Experience with NXScanALine()? Has anyone tried substituting a new scan function in a Text object? The documentation on the subject is a bit sparse...you get a pointer to an NXLayInfo and fill it in! ________________________________________________________ NeXTMail:Peter_Kron@corona.com Corona Design, Inc. P.O. Box 51022 Seattle, WA 98115-1022
From: darcy@solutions.ca (Darcy Brockbank) Newsgroups: comp.sys.next.programmer Subject: Re: Distributed Object Multi-Thread server <part2> Date: 14 Sep 1993 14:42:49 GMT Organization: The Hutchison Avenue Software Corp. Message-ID: <274l99$abd@amber.solutions.ca> References: <1993Sep8.032713.402@CAM.ORG!planon> In article <1993Sep8.032713.402@CAM.ORG!planon> yanik@planon.qc.ca (Yanik Crepeau) writes: > 1) Declare the (oneway) in the @Protocol. If you don't, and you write the (oneway) only > in the @implementation, the system will send something anyway and the client will > comply that something arrives in the DPS port ##. The thing (in the server side) must > be as follow: Ah ha! Some light shed on the darkness of DOs!!! I consider this a BUG in the NeXT implementation. The implementation should be a little more robust than this, I think. Jeez, if we say (oneway) but it doesn't really give a (oneway) unless you say it twice, and tap the monitor three times with your left hand while chanting, "Steve GOOD, Bill BAD..." over and over, then the DO syntax is weak. I like DOs, but the complaint remains that the syntax is inconsistent, redundant, and broken in different places. NeXT should give some thought to re-working it. - darcy
From: cc100aa@xray.oit.gatech.edu (Ray Spalding) Newsgroups: comp.sys.next.programmer Subject: Re: Question about debugger. Date: 14 Sep 1993 15:29:32 GMT Organization: Georgia Institute of Technology Message-ID: <274o0sINNal0@mephisto.gatech.edu> References: <2731la$q4n@wave.aoml.erl.gov> In article <2731la$q4n@wave.aoml.erl.gov> bakker@cyclon.aoml.erl.gov (Cary Bakker) writes: > >The problem is that I have added instance variables to a class >and they don't show up in the debugger. The problem is likely that the debugger is picking up the symbols for your class in an outdated .o file that imports the class definition .h file. You should recompile all the .m files that import your modified .h file. Use "touch" in a shell window; or re-Save them in Edit; or use the "depend" target in ProjectBuilder.
Newsgroups: comp.sys.next.programmer From: Greg_Anderson@afs.com (Gregory H. Anderson) Subject: Re: IB isTestingInterface: Warning Message-ID: <1993Sep14.142631.3035@afs.com> Sender: greg@afs.com References: <CDBGtJ.A2q@lorax.com> Date: Tue, 14 Sep 1993 14:26:31 GMT In article <CDBGtJ.A2q@lorax.com> mike@lorax.com (Mike Ferris) writes: > This brings up a question. Is there a way that you are "supposed" to > implement, say, a control like a matrix, which edits very differently in > IB? There is no mention of this in the docs. It seems possible that > you're meant to do it with clever use of an IBEditor, Yes. > but it seems it would be very complicated to actually try this. Yes. > If there were a good way to determine whether your object is in IB build > mode or not, then it could be built in to the object itself as has been > suggested above. Yes. For example, all of our TextField subclasses have a built-in title region. There's no reason to edit the title in run mode, but it would be nice to do so in IB. Right now, you have to enter the title on the Inspector, which is kind of a pain and not as elegant as it should be. > Or maybe we're not supposed to do it at all :-). No comment. -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
From: Christopher_Lane@Med.Stanford.EDU Newsgroups: comp.sys.next.programmer Subject: Re: IB isTestingInterface: Warning Date: 14 Sep 1993 16:03:13 GMT Organization: Stanford University Message-ID: <274q01$ki7@morrow.stanford.edu> References: <CDBGtJ.A2q@lorax.com> > This does not solve the problem at hand, because it fails to distinguish > between Run mode and non-Run mode. When the object is being edited within > IB, you may want it to act differently than it does in Run mode. I believe there's another way for a custom object class to tell if it's running under 'Test Interface' mode in InterfaceBuilder as opposed to running as part of an application. Building an IB palette under 3.0, it appeared that when IB went into 'test' mode, it used 'read' and 'write' to duplicate the objects -- before I implemented archiving methods, my object's bit flags wouldn't function in 'test' mode. So, if you add a flag bit that doesn't get archived, then it's value can be setup to be different if it was init'd or copied and you'd have a rough guide as to whether you're runnning in 'test' mode. Yes, it's crude. - Christopher
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: comp.sys.next.programmer Subject: Phoenix Data Trend Seeking 2 NEXTSTEP Programmers in Calgary (Alberta, Canada) Date: 14 Sep 1993 13:09:33 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9309141803.AA05171@seawolf.next.com> If interested, please send your resume to the following: Phoenix Data Trend 1150,10201 Southport Road SW Calgary Alberta Canada T2W 4X9 Fax: (403)259-6206 Phone: (403)252-3282 Email: alex@steppingstone.com Phoenix Data Trend Seeking 2 NEXTSTEP Programmers in Calgary (Alberta, Canada) There are currently two NEXTSTEP positions available with Phoenix Data Trend located in Calgary. If you are aware of accountants and/or system professionals interested in exploring NEXTSTEP programming opportunities with us, please read on: JOB REQUIREMENTS: - Knowledge of relational databases and SQL (Oracle, Sybase experience preferred) - Proficiency with graphical user interfaces - NEXTSTEP, UNIX, OOP programming experience necessary - These are permanent full time positions. Read about our the SteppingStone Unified Accounting project below: __________________________________________________________________ What Sets Us Apart? SteppingStoneTM systems are developed from the ground up for the rich NeXTSTEP environment, they are: o graphical, as only NeXTSTEP knows how; o unified (non-modular); and, o entirely user-definable. What Is Unified Accounting Anyway? Very simply put, it is good old-fashioned accounting - the way we used to do it before the initial computerization process messed it all up. We don't make you differentiate between source documents for AR, AP, etc. Each piece of paper tells a story - simply record the facts and let the computer sort it out. We Let You Configure Your Own System! With the InfraStructureTM Builder, the accountant or system administrator is in complete charge of the system structure and procedures. You, the user, are in complete control over every aspect - there is virtually no limitation. You can: o set up any number of Transaction and Master fields; o define the type, size and smartness of every field; o create simple or complex account number structures of practically any size and meaningful hierarchy; o designate any number of GL accounts as Subsidiary Ledger control accounts to handle AR, AP, Inventory or whatever; o establish Global Tables for data that is account chart independent such as a single name and address table; o create any number of data entry templates consisting of desired fields and lay them out in any format. o identify control features of source documents and Special GL accounts. Getting Data In. o document driven; o through user defined input formats including simulated forms, with or without user defined formulae; o post on a batch and/or real-time basis; o solid audit controls permit posting into current, past, or future periods at any time; o process balanced transactions to cross "borders" between different accounting periods, fiscal years, and legal entities and generate offsetting transactions; o automatically calculate allocation of prepaid and similar expenses and generate transactions into the future; o capture actual, budget, and restatement data; o the "open period" concept allows the layering of data into as many levels as necessary - "13th period", etc. for adjustments at year end are no longer needed. Getting Data Out. o graphical design of all reports; o create templates to control the display and positioning of all data in a user-defined, purpose-specific manner; o printer options: laser for high quality, or non-laser for cost effective high volume hard copy generation. Get Started Now. Version 1.0 will ship at the end of the last quarter of 1993. The first pre-release sales have already taken place and we are busy helping our customers defining their needs and system set-ups. They are planning to beat their competitors and earn pre-release discounts at the same time. You can too. Let us give you an administrative check-up, on-site. Suitability Guaranteed! SteppingStone delivers what it promises. We guarantee it, when you enroll in Mi Training Camp. If you are unable to spare your senior staff, we can help. Our trained, independent Configurators can provide on-site implementation support, on a fee-for-service basis. Forward To The Past. SteppingStone proudly re-introduces the classic approach to data entry (as opposed to the inverted approach). If interested in joining us, please send your resume to the following: Phoenix Data Trend 1150,10201 Southport Road SW Calgary Alberta Canada T2W 4X9 Fax: (403)259-6206 Phone: (403)252-3282 Email: alex@steppingstone.com
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Driverkit: user level? Date: 14 Sep 1993 11:02:48 -0700 Message-ID: <275108$sjn@ursula.ee.pdx.edu> Summary: Driver kit improvements for 3.2? Has anyone heard about planned improvements in DriverKit if any, for 3.2 and beyond? Will there be user-level driver support? It little something to compare favorably vs. NT, eh?
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: comp.sys.next.programmer Subject: Developer Training Position Open at NeXT (Redwood City, CA) Date: 14 Sep 1993 13:31:25 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9309141825.AA05278@seawolf.next.com> Contact: Scott Weiner NEXTSTEP Mentorship Program Manager Phone: (415)780-3806 Email: Scott_Weiner@next.com Developer Training Position Open at NeXT (Redwood City, CA) NeXT Computer Inc. is seeking a highly-skilled and energetic person to join the Developer Training team. The role of the Developer Trainer is to deliver and develop courses on programming NeXT computer systems. The Developer Trainer will participate in evaluating the effectiveness of training and course materials, and help evolve the curriculum and programs to meet the needs of NeXT's customers, and track new NeXT software and hardware products. The skills required to fill this position successfully include: + Excellent written and verbal communication skills + Ability to deliver classroom training + Knowledge of object-oriented programming and Objective-C + Knowledge of UNIX and MACH operating systems + Knowledge of PostScript + Knowledge of NEXTSTEP + Ability to develop and design course curriculum The experience to fill this position successfully includes: + Technical computing, commercial software development, corporate custom application development + Public presentation or training experience. In addition, experience in program and user interface design, hardware troubleshooting, and administering NeXT computers are all desirable. This position requires a person who cares about people, and thrives in a team-oriented environment. Some travel is required.
From: pedja@midgard.cs.umd.edu (Pedja Bogdanovich) Newsgroups: comp.sys.next.programmer Subject: Thread signals Date: 14 Sep 93 14:20:24 Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Distribution: world Message-ID: <PEDJA.93Sep14142024@midgard.cs.umd.edu> Does anyone have a program example of how to send a ``signal'' from one thread to another thread of the same task. It is explained in thread_abort() page (use thread_syspend/abort/set_state/resume call sequence). An example for black and/or white hardware is highly appreciated. Thanks. Pedja
From: gbrown@raven.ctr.columbia.edu (Glenn Brown) Newsgroups: comp.sys.next.programmer Subject: Archiving a window Date: 14 Sep 1993 19:23:58 GMT Organization: Columbia University Center for Telecommunications Research Message-ID: <2755oe$64s@sol.ctr.columbia.edu> I tried archiving a window with many subviews from IB using writeRootObject(myWindow). When I reload it using [[readObject(myTypedStream) makeKeyAndOrderFront:self] display] I get the window back, and the cursor changes as it passes over textFields in the window, but NONE OF THE SUBVIEWS IS DRAWN. Nothing I try fixes this problem, including invalidate::ing the content view of the window. In GDB, the archived data structure looks copacetic (to my untrained eye) after it has been reloaded. Any ideas? It's worth some effort for me because although this save method is inefficient in terms of disk space, it is WAY FAST, which is important to me. Thanks, --Glenn P.S.: Some of the stuff that I have tried: o Rebuilding the first responder chain by hand, since it is not archived. o invalidate::ing the content view's bounds rect o [myWindow getFieldEditor: YES for:[ret window]]; to force the window to create a field editor (I think).
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: comp.sys.next.programmer Subject: NEXTSTEP Mentorship Project Leader Open at NeXT (Redwood City, CA) Date: 14 Sep 1993 16:29:03 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9309142125.AA05547@seawolf.next.com> Contact: Scott Weiner NEXTSTEP Mentorship Program Manager Phone: (415)780-3806 Email: Scott_Weiner@next.com NEXTSTEP Mentorship Project Leader Open at NeXT (Redwood City, CA) Mentorship project leaders provide a single point of contact for a customer. They are responsible for the management of the customer's education. They work with NeXT's trainers and third- party consulting resources to create a tailored curriculum for each client. Project leaders must possess strong project management, technical and communication skills. The successful candidate will have a mix of software engineering skills, and understanding of education and enjoy working with people and new technology. Specific Responsibilities: - Project management - Provide on site remediation for design and programming problems within the Mentorship program. - Determine requirements, create design documents and deliverable proposal for client. - Teach analysis and design to students. Oversee the development of the class project. - Track status on assigned projects and provide weekly update reports to client and program manager. - Customize the curriculum based on student profiles and client's special interests. - Work with developer trainers to tailor training to the class individuals and class project requirements. - Coordinate with consultants assigned to the project. - Help other Mentor teams with design and implementation issues. A typical Mentorship project leader will spend one third of their time in requirements analysis, proposal development and customizing curriculum. One third will be spent in student observation and remediation and training. One third is project management within the program. Assume 4-5 weeks of travel over a fourteen week Mentorship program Necessary Skills and Requirements: - Solid software engineering background - Ability to articulate technically complex issues to a wide variety of audiences and to train and/or act as consultant for clients - Strong understanding of object oriented development cycles - Demonstrated aptitude for working independently while being a team player - Ability to work with limited supervision in an autonomous, results oriented environment - Strong problem solving skills - Ability to juggle multiple tasks - Minimum of two years developing in NEXTSTEP - B.S.C.S or equivalent with 4 years experience required; M.S.C.S preferred Relevant Experience: - Object oriented programming - NeXTSTEP, Objective C, Mach - Advanced application programming in C, LISP, and FORTRAN (or equivalent) - Windowing application development (Macintosh, X11, MSWindows, etc.) - Database application development (Sybase, Oracle, etc.) - PostScript - Presales support experience - Experience in consulting, training, technical sales and/or technical presentation desired
From: ernest@pundit.cithep.caltech.edu (Ernest Prabhakar) Newsgroups: comp.sys.next.programmer Subject: Re: "Official" way to get information about "heirs"? Date: 14 Sep 1993 21:35:40 GMT Organization: California Institute of Technology, Pasadena Distribution: world Message-ID: <275dfcINN1sc@gap.caltech.edu> [I emailed this to Darcy, and he found it useful enough he suggested I post it] Darcy, Do you want to know which *classes* inherit from your class, which is a compile-time issue? Or do you want to know which *instances* of your class, or its subclasses, are created, which is a *runtime* issue? Perhaps that distinction is why you're having trouble getting a useful answer. [Darcy pointed out that classes can be dynamically loaded/created, so that it is ALSO a runtime issue] Have you looked at objc_getClasses to see if that might help? >From GeneralRef/15_RunTime/Functions: objc_getClasses() returns a pointer to the hash table containing all the Objective C classes that are currently known to the run-time system. You can examine the table using the common hashing functions. In the following example, NXNextHashState() gets each class from the table in turn, and object_getClassName() asks for their names: NXHashTable *classes = objc_getClasses(); NXHashState state = NXInitHashState(classes); Class thisClass; while ( NXNextHashState(classes, &state, (void **)&thisClass) ) fprintf(stderr, "%s\n", object_getClassName((id)thisClass)); I think this is probably the only way to do it. Once you have the classes, you can do a "IsKindOf" to see if they inherit from you. There may be a way to check if the NXHashTable has changed, so that your list of subclass types can be updated before any query. - Ernie P. -- Ernest N. Prabhakar Caltech High Energy Physics Member, League for Programming Freedom (league@prep.ai.mit.edu) CaJUN President NeXTMail:ernest@pundit.cithep.caltech.edu "...and ourselves, your servants for Jesus sake." - II Cor 4:5b #import <std/disclaimer.h>
Newsgroups: comp.sys.next.programmer From: gross@stimpy.ame.nd.edu (George B. Ross) Subject: Re: GUI version of Vi Message-ID: <1993Sep14.213724.9750@news.nd.edu> Sender: news@news.nd.edu (USENET News System) Organization: University of Notre Dame References: <272n9i$t1n@venus.cs.waikato.ac.nz> Date: Tue, 14 Sep 1993 21:37:24 GMT Kerry Guise writes > In article <2714bqINNn1l@darkstar.UCSC.EDU> claspac@tallis.ucsc.edu > (Jas-Russell) writes: > > Has anyone else been interested in a NeXTSTEP GUI implmentation > > of Vi? Am I the only one who thinks Vi is still god's gift > > to programmers? > > Couldn't agree more. Its small, fast and does everything I want it to do. > Emacs users have Emacs.app. Wouldn't it be nice to have a Vi.app ? While we're on the subject of alternatives to Edit.app, how about an editor similar to the old xedit on IBM mainframes. I have a version called kedit on my pc. The only reason I would use x/kedit is because of the neat cut and paste utilities. You can highlight a block of text that is not continuous, say one column of numbers from a file with 5 columns of data, and copy that column to somewhere else, or shift the whole column left or right or all sorts of cool things. Yeah, you could use shell scripts to do the same thing, but I already know how to cut and past with my mouse. Anyone know of something like this? -george +------- Stop it, you're talking crazy--Stimpson J. Cat -------+ | George B. Ross University of Notre Dame | | gross@stimpy.ame.nd.edu Aerospace and Mechanical Engineering | +--------------------- NeXT mail welcome ----------------------+
From: sowa@amdew.llnl.gov (Erik C. Sowa) Newsgroups: comp.sys.next.programmer Subject: Re: GUI version of Vi Date: 14 Sep 1993 22:57:33 GMT Organization: LLNL Chemistry and Materials Science Message-ID: <SOWA.93Sep14155734@amdew.llnl.gov> References: <272n9i$t1n@venus.cs.waikato.ac.nz> <1993Sep14.213724.9750@news.nd.edu> In-reply-to: gross@stimpy.ame.nd.edu's message of Tue, 14 Sep 1993 21:37:24 GMT >>>>> "George" == George B. Ross <gross@stimpy.ame.nd.edu> writes: George> version called kedit on my pc. The only reason I would use x/kedit George> is because of the neat cut and paste utilities. You can highlight George> a block of text that is not continuous, say one column of George> numbers from a file with 5 columns of data, and copy that George> column to somewhere else, or shift the whole column left or right George> or all sorts of cool things. Yeah, you could use shell scripts to George> do the same thing, but I already know how to cut and past with my George> mouse. Anyone know of something like this? Yes, you probably already have it. It is called emacs. The relevant commands refer to "rectangles" of text. M-x apropos rectangle will tell you more. -- erik sowa (sowa@amdew.llnl.gov)
From: rabahya@yang.earlham.edu Newsgroups: comp.sys.next,comp.sys.next.programmer,comp.sys.next.misc Subject: Problem with Word Perfect under NeXTStep 3.1 Keywords: word perfect, nextstep 3.1 Message-ID: <1993Sep14.191722.24320@yang.earlham.edu> Date: 15 Sep 93 00:17:14 GMT Distribution: world Organization: Earlham College HI ALL!! The NeXT computers at our advanced computing lab were upgraded recently to NeXT Step v. 3.1. I was try to type something in Word Perfect today on of the Nexts, but some commands were not working from the font menu like the bold, italic ... and that kind of stuff ... anyone has a clue why this happened ? Does it have to do with the new system upgrade? Or does it have to do with Word Perfect? Is there a new release of Word Perfect that is compatible with the new version of NeXT Step? Thanks to all of you NeXT wizards out there in the net space ..... --- Jack A. Rabah / | | _ Computer Science Dept. \ | | / \ Earlham College | / | | / \ RabahYa@yang.Earlham.edu ---------- ----------- - send next mail to: jack@math.earlham.edu
Newsgroups: comp.sys.next.programmer From: brill@sybase.com (Michael Brill) Subject: Developing RTF Text Object from scratch Message-ID: <CDDAvE.G21@sybase.com> Sender: usenet@sybase.com Organization: Sybase, Inc. Date: Tue, 14 Sep 1993 23:35:37 GMT Would anyone hazard a guess how long it would take to redesign and develop a new text object that could read, write and display RTF data? Also, about how much longer would it take to add TIFF support? I'd like to hear from anyone who's attempted or thought of attempting to write a new Text object. Thanks, ...Michael (brill@sybase.com)
Newsgroups: comp.sys.next.programmer From: carlos@thinkmuch.dolphin.com (Carlos Salinas) Subject: Re: Programmatically setting the document view of a ScrollView Message-ID: <CDDIuy.vK@thinkmuch.dolphin.com> Sender: carlos@thinkmuch.dolphin.com (Carlos Salinas) Organization: Deep Breakfast Productions References: <1993Sep12.213904.6744@milo.UUCP> Distribution: na Date: Wed, 15 Sep 1993 02:28:09 GMT In article <1993Sep12.213904.6744@milo.UUCP> chris@milo.st-louis.mo.us (Chris Cleeland) writes: : : The ScrollView was originally created via IB by dragging the : ScrollView onto a panel, thus having a Text instance as its docView. : On occasion I need to replace this with a Matrix instance that was : allocated and init'ed in-line (not in IB). : : ------------------------------------------------------------- : Chris Cleeland | Internet: chris%milo@wpa.com : Consultant/NeXT Advocate | UUCP: wupost!nimno!milo!chris If you don't need the Text object, what you could do is (in IB) drag a Matrix into your window, and then use the "Format/Layout/Group in ScrollView" command to wrap a ScrollView around the Matrix. As for the code, try freeing the old docView after you set the new doc view (setDocView: as well as the rest of the ScrollView is probably relying on a valid docView): [[theScrollView setDocView:matrix] free]; (In general, I only free stuff at the end of a method after all the real work is done... avoids problems.) 'Los
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: "patch" on NeXT? Message-ID: <1993Sep15.053803.13302@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <2756gi$6ab@sol.ctr.columbia.edu> Date: Wed, 15 Sep 1993 05:38:03 GMT In article <2756gi$6ab@sol.ctr.columbia.edu> gbrown@raven.ctr.columbia.edu (Glenn Brown) writes: >Has anyone gotten patch to work with NeXTs? I can't get the configure >script ('88 version) to work (It doesn't like NeXT's "cc -E", apparently), >so I can't get patch compiled, and I can't find a modified version on the >'net anywhere. I've had a m68k executable available for anonymous FTP from sutro.sfsu.edu for about 4 years now. I guess that's a "yes." As I recall, one needed to change a 'abc.xyz' to 'abc .xyz' and ensure the Makefile ended up with -bsd in CFLAGS=. I don't think I made any changes to the actual source. -=EPS=-
From: otto@coactive.com (Otto Lind) Newsgroups: comp.sys.next.programmer Subject: Using gdb 4.7 with C++ on a 3.1 system Date: 15 Sep 1993 05:57:47 GMT Organization: Coactive Aesthetics Inc. Message-ID: <276asrINN7lm@disc.coactive.com> Keywords: gdb,c++ Is anyone developing C++ code using the gdb debugger and cc++ compiler that comes with 3.1? When I debug a program (built using about 60K lines of code), it takes about 20 seconds to display a variable, move up or down the stack, etc. Is anyone else experiencing this? What version of gdb will 3.2 come with? Will the NeXT changes ever make it back to the FSF so that we can have the latest gdb available on the NeXT? Enquiring minds want to know... Otto -- Otto Lind Coactive Aesthetics otto@coactive.com P.O. Box 425967, San Francisco, CA 94142 netcom!coactive!otto voice:(415)626-5152 fax:(415)626-6320
Newsgroups: comp.sys.next.programmer From: pete@ohm.york.ac.uk (Pete French) Subject: Re: GUI version of Vi Message-ID: <1993Sep15.101739.3946@ohm.york.ac.uk> Organization: Electronics Department, University of York, UK References: <roy.747991665@indirect.com> Date: Wed, 15 Sep 93 10:17:39 GMT From article <roy.747991665@indirect.com>, by roy@indirect.com (Roy Stewart): > What is wrong with Edit.app?!?!?! Why are you using Vi on a NeXT? Well for starters it only runs if you are logged in on Console as far as I know. Not really any way of getting round that one is there... -- -Pete French. (the -bat. ) -+ Adaptive Systems Engineering | +- Desperation is wednesday in Stranraer
Newsgroups: comp.sys.next.programmer From: ian@ohm.york.ac.uk (I Stephenson) Subject: Re: GUI version of Vi Message-ID: <1993Sep15.114134.5410@ohm.york.ac.uk> Sender: ian@ohm.york.ac.uk (D I Stephenson) Organization: Electronics Department, University of York, UK References: <SANCHEZP.93Sep13110354@bigdog.engr.arizona.edu> Date: Wed, 15 Sep 93 11:41:34 GMT In article <SANCHEZP.93Sep13110354@bigdog.engr.arizona.edu> sanchezp@bigdog.engr.arizona.edu (Paul J. Sanchez) writes: > Why not use the Emacs front end, and add vip-mode to your startup file > so you are using the vi emulation under emacs? > -- Excuse me while I throw up/core dump/run out of VM etc... Vi users HATE Emacs - this is fundamental, and important roy@indirect.com writes: >What is wrong with Edit.app?!?!?! Why are you using Vi on a NeXT? I do use Edit most of the time - it has some great features. I also use vi, because vi is generally faster to use and more powerfull. If the two could be brought together it would be fantastic... I can imaging a Vi which behaves virtually like edit while in insert mode, but pressing escape takes you into a Vi command mode, where all the great keyboard driven stuff can take place. A naive user could treat such an editor like Edit, never leaving insert mode, but someone with Vi experience could ignore the extra options in insert mode, and keep switching back to command mode to move around, copy/delete blocks etc. The all round experienced user could make use of both modes to the full, and get the best of both worlds. Ian Stephenson
From: js@balu.hnv.icem.de (Juergen Sell) Newsgroups: comp.sys.next.programmer Subject: Re: The "cut" command (was Re: shell programming) Date: 15 Sep 1993 16:22:06 GMT Organization: ICEM Systems Message-ID: <277ffe$sdr@balu.hnv.icem.de> References: <CD85Iq.783@news.iastate.edu> <CD92H9.F2I@news.iastate.edu> <ntomczak.747864531@vega> Get 'cut' out of the gnu-utils collection. Just can't remember which one - should be file-utils. It just works great like you expect it to. Juergen -- _ _ Juergen Sell E-Mail juergen.sell@icem.de ' | (_ Icem Systems ( NeXTMail welcome ) ,| _) Deisterstr. 18 Fax ++49-511-440617 (_| BRD 30449 Hannover Fon ++49-511-440688
From: js@balu.hnv.icem.de (Juergen Sell) Newsgroups: comp.sys.next.programmer Subject: Re: "patch" on NeXT? Date: 15 Sep 1993 16:28:14 GMT Organization: ICEM Systems Message-ID: <277fqu$sdr@balu.hnv.icem.de> References: <2756gi$6ab@sol.ctr.columbia.edu> I got it compiled under NS3.0 on black pizza box. All i did was run configure in a shell-window, then make and make install afterwards. Haven't checked for proper functionality yet, but you asked for compiling... patch was version 2.1. Juergen -- _ _ Juergen Sell E-Mail juergen.sell@icem.de ' | (_ Icem Systems ( NeXTMail welcome ) ,| _) Deisterstr. 18 Fax ++49-511-440617 (_| BRD 30449 Hannover Fon ++49-511-440688
From: sanchezp@bigdog.engr.arizona.edu (Paul J. Sanchez) Newsgroups: comp.sys.next.programmer Subject: Re: GUI version of Vi Date: 15 Sep 1993 19:12:55 GMT Organization: University of Arizona UNIX Users Group Message-ID: <SANCHEZP.93Sep15121255@bigdog.engr.arizona.edu> References: <SANCHEZP.93Sep13110354@bigdog.engr.arizona.edu> <1993Sep15.114134.5410@ohm.york.ac.uk> In-reply-to: ian@ohm.york.ac.uk's message of Wed, 15 Sep 93 11:41:34 GMT In article <1993Sep15.114134.5410@ohm.york.ac.uk> ian@ohm.york.ac.uk (I Stephenson) writes: In article <SANCHEZP.93Sep13110354@bigdog.engr.arizona.edu> sanchezp@bigdog.engr.arizona.edu (Paul J. Sanchez) writes: > Why not use the Emacs front end, and add vip-mode to your startup file > so you are using the vi emulation under emacs? > -- Excuse me while I throw up/core dump/run out of VM etc... Vi users HATE Emacs - this is fundamental, and important Excuse me, but you didn't really address the suggestion. Yes, many vi users hate emacs. (You're not going to believe this, but I prefer vi over emacs myself, for most editing tasks, but I am also aware that there are things I can do more easily in emacs.) What I don't understand is what's the point of such hatred when emacs can be set up so that it works *just like vi*, unless it's purely a knee-jerk reaction? The lisp code for vip-mode comes with the emacs distribution, and can be invoked from the startup file. And since there's already a snazzy interface for emacs, you get your mouse/window setup, *AND* your vi command set, without anyone having to write anything new. -- --paul paul@whimsy.umsl.edu ================================================================= The Law, in its majestic equality, forbids the rich, as well as the poor, to sleep under the bridges, to beg in the streets, and to steal bread. -- Anatole France =================================================================
Newsgroups: comp.sys.next.programmer From: cleelacj@agedwards.com (Chris Cleeland) Subject: Re: GUI version of Vi Message-ID: <CDEr8u.Mw9@agedwards.com> Date: Wed, 15 Sep 1993 18:26:54 GMT References: <1993Sep14.213724.9750@news.nd.edu> Organization: A. G. Edwards & Sons, Inc. George B. Ross (gross@stimpy.ame.nd.edu) wrote: : While we're on the subject of alternatives to Edit.app, how about : an editor similar to the old xedit on IBM mainframes. I have a : version called kedit on my pc. The only reason I would use x/kedit : is because of the neat cut and paste utilities. You can highlight : a block of text that is not continuous, say one column of : numbers from a file with 5 columns of data, and copy that : column to somewhere else, or shift the whole column left or right : or all sorts of cool things. Yeah, you could use shell scripts to : do the same thing, but I already know how to cut and past with my : mouse. Anyone know of something like this? You can do this in Emacs using the *-rectangle commands. Set your mark at the upper-left corner of the rect, then move the point to one column past the lower-right corner of the rect. Do a Meta-X cut-rectangle and the rectangle disappears with all the stuff to the right moved over; if you had used "copy-rectangle" instead, that would have left the original in place and allowed you to paste. Pasting is just like any other kind of pasting: place the point where you want the start to go and hit Ctrl-Y (or Paste if you're in Emacs.app). Pretty powerful; wish Emacs.app had a UI for this... -cj -- ============================================================================== Chris Cleeland | Internet: cleelacj@agedwards.com BOS Dev. Team | USnail: 3878 Connecticut St. Louis 63116 | BellNet: (314) 289-5372
From: bakker@cyclon.aoml.erl.gov (Cary Bakker) Newsgroups: comp.sys.next.programmer Subject: Coordinate systems for NXImages. Date: 15 Sep 1993 19:53:40 GMT Organization: U.S. Department of Commerce, NOAA/AOML Message-ID: <277rs4$io5@wave.aoml.erl.gov> Hi, I want to create an NXImage that is the same size as the current View, so that when it is composited onto the view, it will cover the whole view. The main reason for this is to speed up scrolling of the drawn images for my app. What I thought the right thing to do is: theNXImage = [[NXImage newSize:&bounds.size] setFlipped:NO]; Then lockfocus & all that jazz, then to composite: [theNXImage composite:NX_COPY toPoint:&bounds.origin]; Anyone know what I'm doing wrong here? I thought I knew what was going on after reading the documentation, but apparently not. I get some tiny little image in the lower left corner of my view. Must be something simple, THanks for the help, Cary A. Bakker
From: danon@aludra.usc.edu (Alexander Danon) Newsgroups: comp.sys.next.programmer Subject: Making movies out of ps and the next Date: 15 Sep 1993 13:13:00 -0700 Organization: University of Southern California, Los Angeles, CA Sender: danon@aludra.usc.edu Message-ID: <277t0c$3ul@aludra.usc.edu> References: <1993Aug18.113252.11118@infodev.cam.ac.uk> I have an NextDimension board, and 727 ps files, and I want to make a movie out of them and get a video tape of it. Any Suggestions? (I'm a first time Next User) Alex
Newsgroups: comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Re: Running Appkit objects from batch jobs Organization: Primitive Software Ltd. References: <26na9o$moe@news.cerf.net> <1993Sep9.161621.1543@afs.com> Date: Fri, 10 Sep 1993 08:54:59 +0000 Message-ID: <1993Sep10.085459.9500@prim.demon.co.uk> Sender: usenet@demon.co.uk In article <1993Sep9.161621.1543@afs.com> Michael_Pizolato@afs.com writes: > >This raises the more general question: What is the best way to >tell, from within an object, whether or not I'm running in an app? >I have a kit of objects that does not use the appkit (all objects >in the kit descend from the common classes only), and it's conceivable >that they could be used in daemons or command-line utilities or >whatever, where the appkit is not in use. If I want their behaviors >when not in apps to be different than when in apps (for example, >writing a message to stderr vs. using NXRunAlertPanel), how can I >distinguish between the two situations? How about checking to see if the variable NXApp is set? This gets dragged in at link time if you're using the NeXT library, and will be zero if it's not an app. Dave Griffiths
Newsgroups: comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: Re: Distributed Object Multi-Thread server <part2> Message-ID: <Sep15.155153.33595@acs.ucalgary.ca> Date: Wed, 15 Sep 1993 15:51:53 GMT References: <1993Sep8.032713.402@CAM.ORG!planon> <274l99$abd@amber.solutions.ca> Organization: The University of Calgary, Alberta > I consider this a BUG in the NeXT implementation. I consider it a bug in the compiler. > The implementation should be a little more robust than this, I > think. Jeez, if we say (oneway) but it doesn't really give a > (oneway) unless you say it twice, and tap the monitor three > times with your left hand while chanting, "Steve GOOD, Bill > BAD..." over and over, then the DO syntax is weak. It works fine for me without the chanting. The compiler should let you know that your declarations are inconsistant, like it does if you use a different return type in the implementation than in the interface: TKObject.m: In method `tryThreadLock' TKObject.m:45: conflicting types for `-(int)tryThreadLock' TKObject.h:21: previous declaration of `-(BOOL)tryThreadLock' ... but the duplication of the declaration is 100% consistant with the way C does function prototypes. There HAS to be enough information in the interface to allow the compiler to generate the right code for a client, and having the declaration repeated in the implementation makes the code more readable. > I like DOs, but the complaint remains that the syntax is > inconsistent, redundant, and broken in different places. NeXT > should give some thought to re-working it. A simple fix to the compiler would make me happy in this instance. Are you referring to any other limitation in particular? Would you rather do it all the way Gates and crew are shaping up for Windows 4.0? -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
Newsgroups: comp.sys.next.programmer From: andrew@stone.com (Andrew Stone) Subject: Re: Archiving a window Message-ID: <1993Sep15.144458.280@stone.com> Sender: andrew@stone.com Organization: Stone Design Corp References: <2755oe$64s@sol.ctr.columbia.edu> Date: Wed, 15 Sep 1993 14:44:58 GMT In article <2755oe$64s@sol.ctr.columbia.edu> gbrown@raven.ctr.columbia.edu (Glenn Brown) writes: > I tried archiving a window with many subviews from IB using > writeRootObject(myWindow). When I reload it using > > [[readObject(myTypedStream) makeKeyAndOrderFront:self] display] > > I get the window back, and the cursor changes as it passes over textFields > in the window, but NONE OF THE SUBVIEWS IS DRAWN. Nothing I try fixes > this problem, including invalidate::ing the content view of the window. > In GDB, the archived data structure looks copacetic (to my untrained eye) > after it has been reloaded. > > Any ideas? It's worth some effort for me because although this save > method is inefficient in terms of disk space, it is WAY FAST, which is > important to me. > > Thanks, > --Glenn > > > P.S.: Some of the stuff that I have tried: > o Rebuilding the first responder chain by hand, since it is not archived. > o invalidate::ing the content view's bounds rect > o [myWindow getFieldEditor: YES for:[ret window]]; to force the window to > create a field editor (I think). > A couple things: I say bag archiving the whole window - I tried this a few years ago when DP first shipped and we found some bugs in the archiving routine. When we unarchived the window, it would never respond to certain events, like keyDown! Instead, just archive the window's contentView, and at readtime, toss it into a brand new window. You may also want to archive the window's rect, so you can restore it just the way the user left it - or if it's a single instance type window, like an inspector - just use: [panel setFrameUsingName:[self name]]; [panel setFrameAutosaveName:[self name]]; Also, if you need the window to redraw everything, use Window's: - placeWindowAndDisplay:(const NXRect *)frameRect andrew -- ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>|| !! Andrew Stone !! (505) 345-4800 !! !! andrew@stone.com <> Stone Design Corp !! ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>||
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: Re: Coordinate systems for NXImages. Message-ID: <CDF68p.2F6@news2.cis.umn.edu> Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Hospital and Clinic, Labratory Information Services References: <277rs4$io5@wave.aoml.erl.gov> Date: Wed, 15 Sep 1993 23:42:13 GMT NX_SOVER, NX_SOVER, NX_SOVER, NX_SOVER, NX_SOVER, NX_SOVER, NX_SOVER, NX_SOVER, NX_SOVER, NX_SOVER, NX_SOVER, NX_SOVER, NX_SOVER, NX_SOVER... If I'm at all unclear about which compositing operator I could elaborate....<friendly-sinister grin> Once past this detail, let's look at the rest of the code: In the View subclass, the methods may look something like this: @interface MyCachedView : View { NXImage *theNXImage; ... } - cacheImage; @end @implementation MyCachedView - drawSelf:(const NXRect *)rects :(int)count { [theNXImage composite:NX_SOVER fromRect:rects toPoint:&(rects->origin)]; return self; } - initFrame:(const NXRect *)aRect { [super initFrame:aRect]; theNXImage = [[NXImage alloc] initSize:&(rects->aRect)]; /* other init code (load up you coord's */ [self cacheImage]; return self; } - sizeTo:(NXCoord)newWid :(NXCoord)newHei { NXSize aSize; aSize.width = newWid; aSize.height = newHei; [theNXImage setSize:&aSize]; [self cacheImage]; return self; } - cacheImage { if ([theNXImage lockFocus]) { /* PSmoveto(); PSlineto(); PSlineto(); ... */ /* you know what to do here... */ [theNXImage unlockFocus]; } else { NXLogError("cacheImage failure!"); } return self; } @end This is pretty much off the top of my head (Through Composition to you music folks out there.) so there may be a typo or two. The concept should be clear though. I guess quotes from various education books may have been just as helpful...? peter Cary Bakker (bakker@cyclon.aoml.erl.gov) wrote: : Hi, : I want to create an NXImage that is the same size as the current View, so that : when it is composited onto the view, it will cover the whole view. The main : reason for this is to speed up scrolling of the drawn images for my app. : What I thought the right thing to do is: : theNXImage = [[NXImage newSize:&bounds.size] setFlipped:NO]; : Then lockfocus & all that jazz, then to composite: : [theNXImage composite:NX_COPY toPoint:&bounds.origin]; : Anyone know what I'm doing wrong here? I thought I knew what was going on : after reading the documentation, but apparently not. I get some tiny little : image in the lower left corner of my view. : Must be something simple, : THanks for the help, : Cary A. Bakker -- ...future author of: "Safe Cellular Compilations at Speeds Greater Than 140 kph." peter@tahiti.umhc.umn.edu (Peter Eisch) peter.a.eisch@uwrf.edu
Newsgroups: comp.dsp,comp.sys.next.programmer From: grw@oahu.cs.ucla.edu (George Wu) Subject: Audio Transform Compression Code Request Message-ID: <1993Sep16.055621.13202@cs.ucla.edu> Sender: usenet@cs.ucla.edu (Mr Usenet) Organization: UCLA, Computer Science Department Distribution: usa Date: Thu, 16 Sep 93 05:56:21 GMT Is there any PD C code available for compressing and decompressing the sound samples using the Audio Transform Compression on the NeXT ? Short of source code, is there any document describing the compression scheme available ? Any help is appreciated. George
Newsgroups: comp.dsp,comp.sys.next.programmer From: grw@oahu.cs.ucla.edu (George Wu) Subject: Audio Transform Compression Code/Algorithm Request Message-ID: <1993Sep16.060240.15242@cs.ucla.edu> Sender: usenet@cs.ucla.edu (Mr Usenet) Organization: UCLA, Computer Science Department Distribution: usa Date: Thu, 16 Sep 93 06:02:40 GMT Is there any PD C source code available for converting NeXT .snd files compressed using the Audio Transform Compression scheme to an uncompressed integer (16 or 32-bit) format ? Short of source code, is there any document describing ATC available ? Any help is appreciated. George
Newsgroups: comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Re: Book: NEXTSTEP Programming - A Master's Class Organization: Primitive Software Ltd. References: <1993Sep10.182431.561@afs.com> Date: Sat, 11 Sep 1993 09:15:03 +0000 Message-ID: <1993Sep11.091503.3567@prim.demon.co.uk> Sender: usenet@demon.co.uk In article <1993Sep10.182431.561@afs.com> Greg_Anderson@afs.com writes: >No, the book in the subject line doesn't exist yet, but I am talking to >several publishers about writing it. I look forward to it! >Chapter 8: The Control and Cell Class Hierarchies > Describes how these two apparently disparate classes are combined >into the primary UI objects. Goes into detail about how the most common >objects are constructed, with the goal of teaching how to subclass new >Controls effectively. Project: LookupField, a new Control to replace >PopupLists, with all override methods demonstrated. Build a custom palette >for this object, with its own private IBConnector and IBEditor. I suggest taking Button and ButtonCell as an example. I found this a very confusing split when I first started programming on the NeXT, and I'm still not convinced of the need for the separate Control/Cell heirachies rather than having everything under a more lighweight View. So if you can explain some of the rationale behind the Appkit design, I'll buy it! Dave Griffiths
Newsgroups: comp.sys.next.programmer From: gordie@cyclesoft.com (Gordie Freedman) Subject: Re: Opening programs in X from NeXTSTEP App Message-ID: <1993Sep16.021625.15320@netcom.com> Sender: gordie@netcom.com Organization: Cyclesoft Media Works References: <1993Sep13.181421.573@afs.com> Date: Thu, 16 Sep 1993 02:16:25 GMT In article <1993Sep13.181421.573@afs.com> Jon_Hendry@afs.com writes: > >I need to be able to start up a program on a > remote Sun and have that program run on the local NeXTSTEP box > via X. I need to do this from within the NeXTSTEP front end. > > For example, the user would look through a browser of AI apps. > If he finds one he's interested in, he would double click on it. > Through some means, the app would be started on the remote machine > and would come up in an X-window on the NeXT. (The apps are stored > on the remote Sun). > If I understand the problem right, you should be able to invoke "rsh" from a system() function (from within your NeXTStep program) to run the program on the remote Sun, with "-display hostnameOfNeXTMachine" i.e. to run the program xfontsel (you pulled the name "xfontsel" out of the browser in the NeXTStep app, or from an OpenPanel which was in an NFS mounted directory from the Sun) on a sun named "thesun" from a NeXT named "thenext", you'll have to build a char[] buffer with: char buf [BIG_ENOUGH] strcpy (buf, "/usr/ucb/rsh thesun xfontsel -display thenext &"); (Of course, you won't use a literal string, and in fact you'll probably do something like this:) /* You have the sun host and the next host, and got the */ /* prog from an openpanel or browser ... */ sprintf(buf, "/usr/ucb/rsh %s %s -display %s &", sunHost, prog, nextHost); and than: system(buf); There are fancier things than system (such as fork/exec), and you may want to fork another process (or start another thread) before doing the system() call, but I think the "&" will cause the system() call to return immediately, so your NeXT app is not hung. This, of course, assumes: 1) You can rlogin to the Sun as the same user running the program on the NeXT (involving .rhosts files, etc.), 2) The X server on the NeXT will host X programs from the Sun (you did "xhost +" or "xhost +thesun" from the NeXT). Most of this is standard Unix stuff, but with a twist, since you are fronting it from within a NeXT app, and using remote X display. I've done all of these things, although not all in the same app. If you have any problems, I can elaborate. Man rsh, system, fork, exec, X (for -display), rhosts for more info. -- >>> Gordie Freedman -> gordie@cyclesoft.com NeXTMail Yes! >>> Thou shalt not inline functions more complicated than 20
From: slv0y@cc.usu.edu Newsgroups: comp.sys.next.programmer Subject: EPS to TIFF with certain dpi...how? Message-ID: <1993Sep16.084609.606@cc.usu.edu> Date: 16 Sep 93 08:46:09 MDT Organization: Utah State University How can I convert an EPS to a TIFF with a specific DPI? What I am looking for is the ability to convert an EPS to a TIFF via the shell, and the resulting TIFF will be manipulated via PBM stuff. I know there are some GNU Ghostscript stuff that will do this, but I would rather use the nice built in Display PostScript to do the converting. Any help would be appreciated. John Zollinger slv0y@cc.usu.edu
From: doug@foxtrot.ccmrc.ucsb.edu (Douglas Scott) Newsgroups: comp.sys.next.programmer Subject: Re: Using gdb 4.7 with C++ on a 3.1 system Date: 16 Sep 1993 16:29:39 GMT Organization: University of California, Santa Barbara Distribution: world Message-ID: <27a49j$hb9@hub.ucsb.edu> References: <276asrINN7lm@disc.coactive.com> In article <276asrINN7lm@disc.coactive.com> otto@coactive.com (Otto Lind) writes: ] Is anyone developing C++ code using the gdb debugger and cc++ compiler that ] comes with 3.1? When I debug a program (built using about 60K lines of ] code), it takes about 20 seconds to display a variable, move up or down the ] stack, etc. Is anyone else experiencing this? What version of gdb will 3.2 ] come with? Will the NeXT changes ever make it back to the FSF so that we can ] have the latest gdb available on the NeXT? ] I have found gdb to be a bit slow, and I am working with about the same size of C++ program, but nothing as slow as you have mentioned. Most of the time I have been using gcc/g++ 2.4.5 rather than the native C++ compiler, but the gdb results are the same. If it makes you feel any better, gdb 4.10 on a Sparc machine has the same slowness problem. Regarding 3.2 -- I dont know which they will use, but you must understand that it is impossible for NeXT to develop a stable OS without freezing the source at some point and working on it, i.e., not upgrading to newer versions of Gnu source, so there is no way for them to really "catch up". Lets hope that they can get a version back to FSF that will work with 3.1 and later versions. -- Douglas Scott (805)893-8352 Center for Computer Music Research and Composition University of California, Santa Barbara Internet: (NeXTMail ok) <doug@foxtrot.ccmrc.ucsb.edu>
From: nelsonr@delhi.eecs.umich.edu (Nelson R. Manohar) Newsgroups: comp.sys.next.programmer Subject: Window Server Global Window Number Date: 16 Sep 1993 18:47:44 GMT Organization: University of Michigan EECS Dept., Ann Arbor, MI Distribution: world Message-ID: <27accgINN45l@srvr1.engin.umich.edu> Can someone tell me the global window number for the Window Server.
Newsgroups: comp.sys.next.programmer From: manzara@cpsc.ucalgary.ca (Leonard Manzara) Subject: Alt-dragging custom controls in IB Message-ID: <CDFEvn.F88@cpsc.ucalgary.ca> Sender: news@cpsc.ucalgary.ca (News Manager) Organization: University of Calgary Computer Science Date: Thu, 16 Sep 1993 02:57:22 GMT In Interface Builder, one can alt-drag on certain controls to create a matrix of controls. Of course, one cannot do this with custom controls, say, from a palette. This is clearly stated in the Developer Release Notes for 3.1 and 3.0: Interface Builder Known Problems "Unable to create matrix with custom subclass of control." However, I saw an article here a few weeks ago (I think it was Simson Garfinkle) which said that this could be done. I've tried and I can't get it to work (which is consistent with the release notes). Has anybody managed to get this to work? If so, how? And if it is definitely not possible, can we expect this capability in a future version of IB? Leonard Manzara manzara@cpsc.UCalgary.CA
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: comp.sys.next.programmer Subject: C++ / Obj-C / Smalltalk / Unix / NEXTSTEP /Sybase Positions Open (NYC) Date: 16 Sep 1993 16:23:56 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9309162020.AA00977@seawolf.next.com> If you match any of these profiles, please contact: NorthStar Technologies, Inc. 15 Maiden Lane, Suite 803 New York, New York 10038 Attention: Alexis Rzewski Fax: 212-267-4468 Email: rzewski@northstar.com NorthStar Technologies, Inc. is a small software development and consulting firm based in New York City specializing in the use of object-oriented and client-server technologies. We provide innovative software solutions for financial institutions and other businesses. We are enlarging our staff due to an influx of new business and seek employees that match the following profiles: 1) Two Senior Managers - BSCC or equivalent, MS preferred - 7 to 9 years of software engineering experience - Mastery of object-oriented design and development techniques - Mastery of client-server techniques - Extensive knowledge and ability using C++ and other object-oriented languages - Extensive knowledge of UNIX - Extensive knowledge of Sybase, both the Open Client library (API) as well as the server. Knowledge of other RDBMS products in commercial use a plus - Good working knowledge with GUIs including Motif - Knowledge of the financial business a strong plus - Good working knowledge of NEXTSTEP a strong plus - Consulting experience preferred, especially technical leadership and account management 2) Five Senior Software Engineers/Consultants - BSCC or equivalent - 3 to 5 years of software engineering experience - Good working knowledge of object-oriented design and development techniques - Good working knowledge of client-server techniques - Good working knowledge of C++ - Good working knowledge of UNIX - Good working knowledge of Motif (OpenLook experience a plus) - Good working knowledge of the Sybase Open Client library (API) - Good working knowledge of NeXTstep a strong plus - Consulting experience a strong plus - Knowledge of the financial business a strong plus 3) Two NEXTSTEP Software Engineers - BSCC or equivalent - More than a year's experience with NEXTSTEP application development - Extensive knowledge of the NEXTSTEP appkit - Good working knowledge of Objective C - Good working knowledge of UNIX - Experience with the Sybase Open Client library (API) and other commercial RDBMS application programming a strong plus - Knowledge of C++ a plus 4) A UNIX System Administrator - BSCC or equivalent - Significant experience with heterogeneous UNIX network environments - Good working knowledge of UNIX system administration tools - Commercial RDBMS installation and maintenance - Significant experience with hardware purchasing, installation, configuration and maintenance - Good working knowledge of NeXTstep a strong plus - C, C++ or Objective C experience a plus - Consulting experience a plus Contact: NorthStar Technologies, Inc. 15 Maiden Lane, Suite 803 New York, New York 10038 Attention: Alexis Rzewski Fax: 212-267-4468 Email: rzewski@northstar.com
From: ccwf@gg.caltech.edu (Charles Fu) Newsgroups: comp.sys.next.programmer Subject: Re: GUI version of Vi Date: 16 Sep 1993 18:06:37 GMT Organization: California Institute of Technology, Pasadena Message-ID: <27a9vdINNokd@gap.caltech.edu> References: <SANCHEZP.93Sep13110354@bigdog.engr.arizona.edu> sanchezp@bigdog.engr.arizona.edu (Paul J. Sanchez) writes: >What I don't understand is what's the point of such hatred when emacs >can be set up so that it works *just like vi*, unless it's purely a >knee-jerk reaction? I use both vi and emacs--vi for programming and sys admin work and emacs for typing, writing news articles, TeXing, and so forth. When I first started using emacs, I tried the VIP mode but found the many differences between it and vi subtle but annoying. So, I now I use emacs as emacs (except for some custom stuff like making TeX-buffer also update the display in TeXview--by the way, I *hate* how TeXview makes itself the active app whenever its asked to (re)display a file; this is against the UI guidelines, although a lot of apps do it). Admittedly, I haven't tried VIP mode in some years so the emulation might have improved, but I doubt it. I would argue that knowing how to use vi (or ex) is important for sys admins. When the system crashes and only comes up in single user mode (or if you are doing single user mode stuff like making secure backups), neither emacs nor Edit will be available. As a consultant, I don't know how many times I've had to tell someone how to use enough of vi to edit configuration files to get a system working properly. -ccwf Charles C. Fu
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Stupid thing to do? Global/local window #'s Summary: What the hell is the local/global window number scheme? Message-ID: <27b5ub$arr@ursula.ee.pdx.edu> Date: 16 Sep 93 12:03:55 GMT Article-I.D.: ursula.27b5ub$arr Will a given application always have some number x where: NXConvertWinNumToGlobal(x,&globalBaseWinNum); globalBaseWinNum-=x; ..will provide `globalBaseWinNum', a value which can reliably discriminate local from global window #'s? This assumes that windowNumbers are contiguous and increasing (for all typical values). Is this so? NXConvert*WinNum* seems to have trouble with bad values, it generates DPS errors... How can they be checked them (other than as above)?
Newsgroups: comp.sys.next.programmer From: (slugg jello) Subject: Re: GUI version of Brief Message-ID: <1993Sep17.031754.9619@mouthers.nwnexus.wa.com> Sender: slugg@mouthers.nwnexus.wa.com Organization: Mouthing Flowers References: <SANCHEZP.93Sep13110354@bigdog.engr.arizona.edu> Date: Fri, 17 Sep 1993 03:17:54 GMT In article <SANCHEZP.93Sep13110354@bigdog.engr.arizona.edu> sanchezp@bigdog.engr.arizona.edu (Paul J. Sanchez) writes: > Why not use the Emacs front end, and add vip-mode to your startup file > so you are using the vi emulation under emacs? > -- > Anyone happen to know whether emacs has a 'Brief' mode, or whether there exists an emacs macro file which would cause emacs to emulate the Brief editor? Thanks. -- Doug Kent Mouthing Flowers, Inc. slugg@mouthers.wa.com
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: comp.sys.next.programmer Subject: Announcing 1994 East Coast NEXTSTEP Developer Conference (January 24-26, 1994) Date: 16 Sep 1993 23:56:25 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9309170454.AA01534@seawolf.next.com> Greetings, I have great news for NEXTSTEP Developers on the east coast of the US and in Europe and also for others interested in becoming NEXTSTEP developers: Announcing... Event: 1994 East Coast NEXTSTEP Developer Conference Date: January 24 - 26, 1994 Hotel: Sheraton Washington City: Washington D.C. Agenda: Keynotes, Technical sessions, Panel discussions, Training classes Those interested can register today by calling: 1-800-767-2336 or 508-470-3880. See the full details below. There is a discount for early registration. Conrad Geiger NeXT __________________________________________________________________ FOR IMMEDIATE RELEASE Contact: Karen Logsdon NeXT Computer, Inc. 415/780-3786 or Todd Keefe Digital Consulting, Inc. (DCI) 508/470-3870 NeXT ANNOUNCES 1994 EAST COAST DEVELOPER CONFERENCE IN WASHINGTON D.C. IN JANUARY, 1994 REDWOOD CITY, CA - September 16, 1993 - NeXT Computer, Inc. and Digital Consulting, Inc. today announced they will host the 1994 East Coast NEXTSTEP Developer Conference, January 24 - 26 at the Sheraton Washington in Washington D.C. The conference agenda will compliment the West Coast NEXTSTEP Developer Conference to be held in June concurrently with NeXTWORLD EXPO. Steven P. Jobs, chairman and CEO of NeXT, will be the Conference's first day keynote speaker. Software developers, information systems management, system integrators and independent software vendors who want to learn more about object technology are invited to attend two days of sessions and one full day of courses focusing on NEXTSTEP, NeXT's object-oriented software. NEXTSTEP integrates a system-wide object architecture with the industry standard UNIX operating system, providing the industry's most complete object-oriented operating environment. NEXTSTEP Developer provides visual application construction environment and frameworks of reusable objects for the development of client/server applications. "Everyone is talking about object-oriented technology, but only NeXT delivers a complete object solution to client/server computing today." said Jobs. "NEXTSTEP is for those developers who are not willing to wait two or more years for the benefits of object-orientation expected to be delivered by other vendors such as Microsoft." DEVELOPER CONFERENCE SESSIONS and NEXTSTEP COURSES Developers are invited to see how object-oriented design allows for the creation of more flexible and robust objects, applications and systems in a client/server environment. The conference also includes general sessions which cover debugging and performance tuning as they relate to NEXTSTEP. A lab offers developers one-on-one time with members of NeXT's technical staff. The Conference is divided into four tracks to best meet developers' needs: * "NeXT in the Marketplace" is designed to give managers an overview of the technical services and development opportunities offered with NEXTSTEP. * "The Art of Design" focuses on how object-oriented design can create more flexible and robust objects, applications and systems. * "A Closer Look" features sessions focusing on NEXTSTEP's object kits and distributed objects. * "Hardware is Inevitable" focuses on hardware platforms, system administration and configuration issues for systems engineers. * NEXTSTEP Courses Conference attendees also have the option of enrolling in four in-depth, half-day NEXTSTEP Courses. Two of the Courses are intended for those new to NEXTSTEP as they feature an introduction to both the NEXTSTEP and NEXTSTEP Developer products. More advanced Courses focus on object-oriented design and Portable Distributed Objects, as well as provide an introduction to NEXTSTEP's Database Kit. Conference Pricing & Registration The cost for the 2-day East Coast NEXTSTEP Developer Conference is $545 for those who register before December 3, and $595 for those who register on-site. NEXTSTEP Courses are $160 (each course) for those who register before December 3, and $200 (each course) for those who register on-site. Those interested can register by calling: 1-800-767-2336 or 508-470-3880. NeXT Computer, Inc. NeXT develops and markets the award-winning NEXTSTEP object-oriented software for industry-standard computer architectures. Customers use NEXTSTEP to develop and deploy custom client/server applications, using both custom and shrink-wrapped software. Headquartered in Redwood City, California, with offices throughout the world, NeXT serves customers requiring enterprise-wide, object-oriented productivity environments. Digital Consulting, Inc. (DCI) Digital Consulting, Inc. (DCI), with headquarters in Andover, MA, is America's leading computer industry seminar, conference and exposition company. DCI currently sponsors more than 75 computer-related events held throughout the world, including NeXTWORLD EXPO, CASEWORLD, OBJEX, DATABASE WORLD & CLIENT/SERVER WORLD, MOBILE WORLD and SOFTWARE WORLD. DCI also manages user and developer conferences for Digital Equipment, IBM and Sybase. # # # # NeXT, the NeXT logo and NEXTSTEP are registered trademarks of NeXT Computer, Inc. All other trademarks mentioned belong to their respective owners.
From: scott@nic.gac.edu (Scott Hess) Newsgroups: comp.sys.next.programmer Subject: I want to see more files in ProjectBuilder. Date: 17 Sep 93 00:30:41 Organization: Is a sign of weakness Distribution: world Message-ID: <SCOTT.93Sep17003041@nic.gac.edu> Anyone ever wish that there were a mode in ProjectBuilder under which you could see _all_ your classes (interfaces, images, etc)? I mean something where under Classes it would show top-level classes, plus classes from subprojs. I'm always forgetting where in the world this or that class is located, and ProjectBuilder _already_ knows, it just doesn't want to tell me. This actually wouldn't be too bad. Note that class names cannot conflict (ie, you can't have "MyClass" in a subproject _and_ in the main project), likewise with interfaces and images and most everything else. So, that wouldn't be a problem. Still and all, it would probably be nice if it did like Windows menus and had stuff like "MyApp - ./" and "MyAgent - MySubproj/" so that you could easily tell which subproject these beasties belong in. Hmm, while we're here ... how in _heck_ do you get PB to add, for instance, a French version of a .nib. From what I can see, there's nothing I can do that makes projects build correctly with other .lproj directories. [Well, coding extra Makefile.* targets certainly does it, but I could already have _that_ fun under NS2.1. I expect that PB would know these things for me, don't you think? Perhaps it does and I'm stupid ...] Later, -- scott hess <shess@ssesco.com> <To the BatCube, Robin> 12901 Upton Avenue South, #326 Burnsville, MN 55337 (612) 895-1208 Anytime!
Newsgroups: comp.sys.next.programmer From: mike@lorax.com (Mike Ferris) Subject: Re: IB isTestingInterface: Warning Message-ID: <CDGzIz.40z@lorax.com> Sender: mike@lorax.com (Mike Ferris) Organization: Stultus Enterprises References: <1993Sep14.142631.3035@afs.com> Date: Thu, 16 Sep 1993 23:20:59 GMT In article <1993Sep14.142631.3035@afs.com> Greg_Anderson@afs.com (Gregory H. Anderson) writes: >In article <CDBGtJ.A2q@lorax.com> mike@lorax.com (Mike Ferris) writes: >> This brings up a question. Is there a way that you are "supposed" to >> implement, say, a control like a matrix, which edits very differently in >> IB? There is no mention of this in the docs. It seems possible that >> you're meant to do it with clever use of an IBEditor, > >Yes. > >> but it seems it would be very complicated to actually try this. > >Yes. > So do you think Mssr. Hullot is actually using an IBEditor to do this with the "built-in" classes? Think of what this entails. An IBEditor is a panel. You'd have to make the editor with a custom Window subclass that didn't have a frame. You'd have to size it and place it exactly on top of the actual object. You'd have to stick some special version of your object in there that edited differently. >> If there were a good way to determine whether your object is in IB >> build mode or not, then it could be built in to the object itself as >> has been suggested above. > >Yes. For example, all of our TextField subclasses have a built-in title >region. There's no reason to edit the title in run mode, but it would be >nice to do so in IB. Right now, you have to enter the title on the >Inspector, which is kind of a pain and not as elegant as it should be. > Well, you're supposed to be able to tell if you're in IB by seeing if NXApp conforms to the IB protocol. Then, if it does, you can see if you're in test or build mode by sending NXApp an -isTestingInterface message. This distinguishes between the three choices: running in a compiled app, editing in IB and testing in IB. You're object could have the smarts to allow title editing in editing mode in IB only. ...Now someone could always write their app so NXApp conforms to IB, but then either they would desire the resulting behavior or they would be perverse. :-) ____________________________________________________________ Mike Ferris A little bit faster, mike@lorax.com A little bit more, Rubicon Software A little bit further (510) 652-2039 than you've gone before.
Newsgroups: comp.sys.next,comp.sys.next.programmer,comp.sys.next.misc Subject: Question: CD-ROM protection? Message-ID: <1993Sep16.215016.24342@yang.earlham.edu> From: rabahya@yang.earlham.edu Date: Fri, 17 Sep 93 02:50:08 GMT Distribution: world Organization: Earlham College Keywords: CD-ROM, protection Hi all- How can I change the protection on a device (a CD-ROM drive) so that users other than the root who are using the station can use it ? Thanks --- Jack A. Rabah / | | _ Computer Science Dept. \ | | / \ Earlham College | / | | / \ RabahYa@yang.Earlham.edu ---------- -----------
Newsgroups: comp.sys.next.programmer From: aberno@saltwater.com (Anthony Berno) Subject: Portable Development Message-ID: <1993Sep17.030142.2173@saltwater.com> Sender: aberno@saltwater.com Organization: Saltwater City Software, Inc. Date: Fri, 17 Sep 1993 03:01:42 GMT Well, after deciding that the "minimum" specs for a development machine were probably out to lunch (NeXT reccommends 24 Mb RAM, 330 Mb hard disk) I went ahead and put a minimal NEXTSTEP installation and development system onto an NEC Ultralite Versa with a 180 Mb disk and 12 Mb of RAM. The results: 1. It works, with ~45 Mb to spare on the disk. (No docs were installed.) 2. The screen is small, but usable. 3. It's a lot slower. A 70-class app that took 10 min. to compile and 1 minute to link on my 040 Cube (28 Mb RAM, 660 HD) took 23 min. to compile and 2 1/2 min. to link on the Versa. 4. It Just Works, otherwise. Conclusions: If you REALLY want portability, go for it, but it's not going to be as productive as working at your desk. -Anthony
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: comp.sys.next.programmer Subject: Announcing NEXTSTEP Registered Developer and Consultant Programs Date: 17 Sep 1993 03:45:10 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9309170841.AA02122@seawolf.next.com> FOR IMMEDIATE RELEASE Contact: Karen Logsdon NeXT Computer, Inc. Phone: 415/780-3786 or Marilyn Kilinski Ketchum Public Relations Phone: 212/536-8865 NeXT'S REGISTERED DEVELOPER AND CONSULTANT PROGRAMS POSITIVELY RECEIVED REDWOOD CITY, CA. - September 16, 1993 - NeXT Computer, Inc. today announced new NEXTSTEP Registered Developer and NEXTSTEP Registered Consultant programs for third-party developers and independent consultants in the NEXTSTEP community. Even before the official announcement, the company received more than 3,000 inquiries about the programs. The programs are aimed at facilitating the success of third-party developers and consultants by providing technical support, communications and co-marketing opportunities. NEXTSTEP is the industry-acclaimed object-oriented software available from NeXT. "NEXTSTEP already has a large third-party community with hundreds of products shipping on NEXTSTEP for Intel processors. We believe proactive technical communication and better co-marketing opportunities are clearly the areas that best enhance a commercial developers' experience with NEXTSTEP," said Julie Saffren, manager of developer relations at NeXT. "We also have gone one step further in offering this new support to another important constituency - NEXTSTEP consultants." The NeXT Registered Developer Program (NRDP) Members of the registered developer program receive discounted pricing on NEXTSTEP software, support and education, technical support, as well as direct communications, marketing and co-marketing opportunities from and with NeXT. Individuals or organizations developing and distributing commercially available, third-party NEXTSTEP products are eligible for this program. The cost is $250 annually. The NeXT Registered Consultants Program (NRCP) Like registered developers, members of the registered consultant program receive discounted pricing on NEXTSTEP software, support and education, technical support, as well as direct communications, marketing and co-marketing opportunities from and with NeXT. Individuals or organizations providing custom application development services, training or system administration services to NEXTSTEP customers are eligible for this program. The cost is $250 annually. Applying To The Programs NeXT is currently accepting applications from qualified developer and consultant organizations. For more information, or to receive an information packet and application form, please call 1-800-TRY-NeXT. NeXT Computer, Inc. NeXT develops and markets the award-winning NEXTSTEP object-oriented software for industry-standard computer architectures. Customers use NEXTSTEP to develop and deploy custom client/server applications, using both custom and shrink-wrapped software. Headquartered in Redwood City, California, and with offices throughout the world, NeXT serves customers requiring enterprise-wide, object-oriented productivity environments. # # # # NeXT, the NeXT logo and NEXTSTEP are registered trademarks of NeXT Computer, Inc. All other trademarks mentioned belong to their respective owners.
From: pkron@corona.com (Peter Kron) Organization: Corona Design, Inc., Seattle, WA Message-ID: <1993Sep16.1@corona.com> Date: Thu, 16 Sep 1993 21:07:05 PDT Newsgroups: comp.sys.next.programmer Subject: old exception port from vfork()? I have been experimenting with the Subprocess class provided in the Examples directory (/NextDeveloper/Examples/UNIX/Subprocess/Subprocess.m). This class performs an vfork with execl to control a child process. I call it with id subprocess = [[Subprocess alloc] init: "/bin/cat"]; [subprocess send: "hello, world"]; [subprocess send: "goodbye, world"]; [subprocess free]; intending that a shell will be forked and fork /bin/cat, which will then copy the two text lines to stdout. (This is an appkit app, so messages should appear on the console or gdb window.) Instead I occasionally get nothing, but usually get the following on stdout The old exception port is 0x1 Can anyone explain what this means? and what I need to get the cat to work? I do get a csh and a cat process created...they show up with "ps -ax". They don't seem to go away though, when I free the subprocess. (I modified it to do a [self terminate: self] when freeing to kill the child process.) Thanks Peter ________________________________________________________ NeXTMail:Peter_Kron@corona.com Corona Design, Inc. P.O. Box 51022 Seattle, WA 98115-1022
Newsgroups: comp.sys.next.programmer From: monty@its.com (Montgomery Zukowski) Subject: Re: Thread signals Message-ID: <1993Sep16.140423.5390@its.com> Sender: monty@its.com Organization: Information Technology Solutions References: <PEDJA.93Sep14142024@midgard.cs.umd.edu> Date: Thu, 16 Sep 1993 14:04:23 GMT In article <PEDJA.93Sep14142024@midgard.cs.umd.edu> pedja@midgard.cs.umd.edu (Pedja Bogdanovich) writes: > Does anyone have a program example of how to send a ``signal'' from > one thread to another thread of the same task. It is explained in > thread_abort() page (use thread_syspend/abort/set_state/resume call > sequence). An example for black and/or white hardware is highly > appreciated. There are some good examples in the mach docs. The first chapter which explains the concepts is essential to understanding what is going on. This "signal" is actually a message sent to the thread's kernel port. The kernel recieves the message and modifies the state of the thread. The process they outline (use thread_syspend/abort/set_state/resume call sequence) actually changes the HARDWARE REGISTERS causing excecution to jump to your signal handler. They are assuming you change all of the stack info and whatnot for the executing program. The mach docs Next has published are only slightly modified and reformatted versions of the docs which were written by the folks at CMU who wrote mach and were aiming their discussions at people who would use the mach microkernel to write their own OS on top of it, like they did with BSD. That is why the example is so obtuse. It is relatively easy to send messages between threads using normal mach messages and ports. This can also be accomplished with distributed objects. In either case I recommend familiarizing yourself with the basic concepts of mach so you know the limitations of each approach. For me making a diagram of the concepts helped dramatically. Monty The proce
Newsgroups: comp.sys.next.programmer From: arrouye@cosmos.imag.fr (Yves Arrouye) Subject: My app STEALS activation! (and I am depressed) Message-ID: <ARROUYE.93Sep17132127@mistral.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Fri, 17 Sep 1993 12:21:27 GMT Hi, I am driving mad... I have an application which seems to steals activation, as in the following example: 1. I launch my app 2. I activate Terminal 3. I launch Edit 4. I quit Edit 4. My app is activated -----> Why? In fact, it seems even more bad, because my app is not really activated: if it is hidden, for instance, its menus do not appear, and in any case its delegate does not receive an appDidBecomeActive: message. Does anybody have an idea about *how* and *why* this is appearing? It is really frustratingand I do not know what to do... Thanks, Yves. -- With one processor, we verify that the time spent Yves Arrouye in controlling parallelism is not too long. arrouye@petole.imag.fr (33) 76 57 48 61 -- Yannick Tre'molet, LMC NeXT Mail
Newsgroups: comp.sys.next.programmer From: arrouye@cosmos.imag.fr (Yves Arrouye) Subject: Re: My app STEALS activation! (and I am depressed) In-Reply-To: arrouye@cosmos.imag.fr's message of Fri, 17 Sep 1993 12:21:27 GMT Message-ID: <ARROUYE.93Sep17134512@mistral.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France References: <ARROUYE.93Sep17132127@mistral.imag.fr> Date: Fri, 17 Sep 1993 12:45:12 GMT I follow up to my previous message (I have found the problem, sorry) The problem was that my application created windows in a tier above the main menu tier (20), and the activateNextApp procedure in windowPackage activated it just because of that. Now, my windows are in the main menu tier and all is working fine... Yves -- With one processor, we verify that the time spent Yves Arrouye in controlling parallelism is not too long. arrouye@petole.imag.fr (33) 76 57 48 61 -- Yannick Tre'molet, LMC NeXT Mail
Newsgroups: comp.sys.next.programmer From: wissner@beech.mcs.gvsu.edu () Subject: altering behavior of sybase datestring in textfield? Message-ID: <1993Sep17.133230.16212@beech.csis.gvsu.edu> Sender: news@beech.csis.gvsu.edu Organization: Grand Valley State University, Allendale MI Date: Fri, 17 Sep 1993 13:32:30 GMT Hello: I'm working on an app that displays sybase datestrings in a textfield. I just "dragged" the sybase variable into the field to make the connection. What happens when the app is run, of course, is that the fields which were set to "" (empty string) show up as "Jan 1 1900", the sybase default. I also noticed that if the datestring value is uninitialized (ie NULL) that the field just remains blank, which is how I would like it. However, I don't wish to embed "NULL"s in all the datestrings throughout the system. So, my question is, is there any way to have these values show up blank in the textfield as opposed to the "Jan 1 1900" value? Thanks, - Jim wissner@beech.csis.gvsu.edu -- Jim Wissner ex-Campus Consultant Grand Valley State University wissner@beech.csis.gvsu.edu
From: sanchezp@bigdog.engr.arizona.edu (Paul J. Sanchez) Newsgroups: comp.sys.next.programmer Subject: Re: GUI version of Vi Date: 17 Sep 1993 14:50:26 GMT Organization: University of Arizona UNIX Users Group Message-ID: <SANCHEZP.93Sep17075026@bigdog.engr.arizona.edu> References: <SANCHEZP.93Sep13110354@bigdog.engr.arizona.edu> <27a9vdINNokd@gap.caltech.edu> In-reply-to: ccwf@gg.caltech.edu's message of 16 Sep 1993 18:06:37 GMT In article <27a9vdINNokd@gap.caltech.edu> ccwf@gg.caltech.edu (Charles Fu) writes: sanchezp@bigdog.engr.arizona.edu (Paul J. Sanchez) writes: >What I don't understand is what's the point of such hatred when emacs >can be set up so that it works *just like vi*, unless it's purely a >knee-jerk reaction? I use both vi and emacs--vi for programming and sys admin work and emacs for typing, writing news articles, TeXing, and so forth. When I first started using emacs, I tried the VIP mode but found the many differences between it and vi subtle but annoying. So, I now I use emacs as emacs (except for some custom stuff like making TeX-buffer also update the display in TeXview--by the way, I *hate* how TeXview makes itself the active app whenever its asked to (re)display a file; this is against the UI guidelines, although a lot of apps do it). Admittedly, I haven't tried VIP mode in some years so the emulation might have improved, but I doubt it. I also prefer to use vi for vi tasks and emacs for emacs tasks. However, the original poster wanted an app window version of vi, and I was suggesting Emacs and vip-mode would probably meet his needs without anyone needing to write anything new. I would argue that knowing how to use vi (or ex) is important for sys admins. When the system crashes and only comes up in single user mode (or if you are doing single user mode stuff like making secure backups), neither emacs nor Edit will be available. As a consultant, I don't know how many times I've had to tell someone how to use enough of vi to edit configuration files to get a system working properly. I'd argue the same thing. In fact, that's why I tell my students that they're free to use emacs for their work if they are more comfortable with it, but they will by damn know how to use vi! None of which is apropos to the original question. -- --paul paul@whimsy.umsl.edu ================================================================= Man is the only animal that blushes. Or needs to. --Mark Twain (1835-1910) =================================================================
Newsgroups: comp.sys.next.programmer From: fugue!william (William Wei) Subject: child threads won't die after they finish their work Message-ID: <1993Sep17.150702.1476@imagine.com> Sender: william@imagine.com (William Wei) Organization: Imagine Multimedia, Inc., Ann Arbor, MI, USA Distribution: usa Date: Fri, 17 Sep 1993 15:07:02 GMT The following is the test program: #import <mach/cthreads.h> void slave(any_t n) { } main() { int i, j; for (i=0; i<15; i++) { cthread_detach(cthread_fork((cthread_fn_t)slave, (any_t)i)); } while(1) ; } I excuted the compiled program and uses ps -xm to examine it. I got the following result: % ps -xm william 961 p1 72.8 R 2 0:00.12 0:03.49 try 0.0 S 10 0:00.00 0:00.00 0.0 S 10 0:00.00 0:00.00 0.0 S 10 0:00.00 0:00.00 0.0 S 10 0:00.00 0:00.00 0.0 S 10 0:00.00 0:00.00 0.0 S 10 0:00.00 0:00.00 0.0 S 10 0:00.00 0:00.00 0.0 S 10 0:00.00 0:00.00 0.0 S 10 0:00.00 0:00.00 0.0 S 10 0:00.00 0:00.00 0.0 S 10 0:00.00 0:00.00 0.0 S 10 0:00.00 0:00.00 0.0 S 10 0:00.00 0:00.00 0.0 S 10 0:00.00 0:00.00 0.0 S 10 0:00.00 0:00.00 Why are all child threads in sleep? I even explicitly put a cthread_exit() in the slave() and it did the same things. If I fork off child threads slower then some child threads will die and some will still be in sleep. Anyone knows what's going on? Thanks. -- ++ William Wei Imagine Multimedia william@imagine.com (NeXTmail accepted)
Newsgroups: comp.sys.next.programmer From: lloyd@world.std.com (Chris Lloyd) Subject: +initialize for categories Message-ID: <CDILvp.KCp@world.std.com> Organization: The World Public Access UNIX, Brookline, MA Distribution: na Date: Fri, 17 Sep 1993 20:21:25 GMT Wouldn't it be handy to have some sort of category initializer method along the same lines as +initialize for classes? I run across a need for this quite often. shrug, -- :: Christopher Lloyd :: Yrrid Incorporated :: lloyd@world.std.com ::
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Re: +initialize for categories Message-ID: <1993Sep17.212231.758@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software References: <CDILvp.KCp@world.std.com> Date: Fri, 17 Sep 1993 21:22:31 GMT Chris Lloyd writes > >Wouldn't it be handy to have some sort of category initializer method >along the same lines as +initialize for classes? > >I run across a need for this quite often. > >shrug, >-- >:: Christopher Lloyd :: Yrrid Incorporated :: lloyd@world.std.com :: If you're willing to go to the extra trouble of dynamically loading the category, you can use +finishLoading:. Chek it out in Object docs; I believe it'll do pretty much what you want. The *Other* Lloyd, Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
From: andrew@stone.com (Andrew Stone) Newsgroups: comp.sys.next.programmer Subject: re: old exception port from vfork()? Message-ID: <1993Sep17.211854.8366@stone.com> Date: 17 Sep 93 21:18:54 GMT Article-I.D.: stone.1993Sep17.211854.8366 References: <1993Sep16.1@corona.com> Sender: andrew@stone.com Organization: Stone Design Corp In article <1993Sep16.1@corona.com> pkron@corona.com (Peter Kron) writes: > I have been experimenting with the Subprocess class provided > in the Examples directory > (/NextDeveloper/Examples/UNIX/Subprocess/Subprocess.m). This > class performs an vfork with execl to control a child process. > > I call it with > > id subprocess = [[Subprocess alloc] init: "/bin/cat"]; > > [subprocess send: "hello, world"]; > [subprocess send: "goodbye, world"]; > [subprocess free]; > > intending that a shell will be forked and fork /bin/cat, > which will then copy the two text lines to stdout. (This is > an appkit app, so messages should appear on the console or > gdb window.) > > Instead I occasionally get nothing, but usually get the > following on stdout > The old exception port is 0x1 > > Can anyone explain what this means? and what I need to get > the cat to work? I do get a csh and a cat process > created...they show up with "ps -ax". They don't seem to go > away though, when I free the subprocess. (I modified it to do > a [self terminate: self] when freeing to kill the child > process.) > Having just read the Subprocess.rtf [nice class, Charles!] today, I would suggest that you send the subprocess a terminate: message when you get back the output of your send: command in Subprocess's delegate method subprocessOutput:; and then send the free message in the subprocessDone: method. EXP: - subprocessOutput:(char *)buffer { [text setText:buffer]; // or whatever you are doing with stdout [subprocess terminate:self]; return self; } - subprocessDone { [subprocess free]; return self; } andrew -- ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>|| !! Andrew Stone !! (505) 345-4800 !! !! andrew@stone.com <> Stone Design Corp !! ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>||
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Open doesn't pop window forward Message-ID: <1993Sep17.235605.581@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software Date: Fri, 17 Sep 1993 23:56:05 GMT I am using "open filename" in a shell script and, while the file is displayed in an Edit.app window, that window doesn't pop to the fore. Anyone have a suggestion for how to make Edit become the main/active app from script or pop that newly-opened window to the fore? -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
Newsgroups: gnu.g++,comp.sys.next.programmer From: rahner@zuni.litc.lockheed.com (Mark Rahner) Subject: Need Help Building libg++ for NeXTSTEP 3.1 Message-ID: <1993Sep18.035655.13838@butch.lmsc.lockheed.com> Sender: news@butch.lmsc.lockheed.com Organization: Lockheed Date: Sat, 18 Sep 93 03:56:55 GMT Hello everybody, I recently upgraded my non-turbo NeXTstation to NeXTSTEP 3.1. The NeXTSTEP 3.1 compiler is documented as being a NeXT-modified version of the 2.2.2 release of the GNU compiler. So I downloaded libg++-2.2.tar.gz from cb-iris.stanford.edu. I unbundled the distribution and ran './configure next' which said that it couldn't find gcc which was not surprising since NeXT calls their compiler cc. So I made a link from /bin/cc to /usr/local/bin/gcc and reran './configure next' which appeared to have no more problems. I then ran 'make all' which worked well for a while until I got the following error message: gcc -g -nostdinc++ -I. -I.. -I. -I./../src -I./../g++-include -c procbuf.C procbuf.C: In method `int procbuf::sys_close ()': procbuf.C:91: incompatible pointer types for argument 0 of `int wait (union wait*)' *** Exit 1 Stop. *** Exit 1 Stop. *** Exit 1 Stop. I have no clue what to do next. Any help would be greatly appreciated. Thanks in advance. -- Mark V. Rahner rahner@lmsc.lockheed.com
From: alex@cs.umd.edu (Alex Blakemore) Newsgroups: comp.sys.next.programmer Subject: Re: Need Help Building libg++ for NeXTSTEP 3.1 Date: 18 Sep 1993 00:28:33 -0400 Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Message-ID: <27e2ph$jq3@seine.cs.umd.edu> References: <1993Sep18.035655.13838@butch.lmsc.lockheed.com> Summary: libg++ prebuilt for NEXTSTEP 3.1 available by ftp from ftp.next.com Send-To: rahner@lmsc.lockheed.com rahner@zuni.litc.lockheed.com (Mark Rahner) writes: > I downloaded libg++-2.2.tar.gz from cb-iris.stanford.edu. [errors building omitted] > I have no clue what to do next. stick with a real object oriented language :-) or you could download libg++ from ftp.next.com, they already built it for you, and converted the docs to rtf suitable for Digital Librarian. its in a directory with "unsupported" in the title, maybe under NeXTanswers. I think they said it comes bundled and supported in 3.2. -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted -------------------------------------------------------------- "Without an engaged and motivated human being at the keyboard, the computer is just another dumb box." William Raspberry
Newsgroups: comp.sys.next.programmer From: BrianW@SoundS.WA.com (Brian Willoughby) Subject: (not a valid program) from ProjectBuilder applications Message-ID: <CDJJ23.Kt0@sounds.wa.com> Sender: brianw@sounds.wa.com (Brian Willoughby) Organization: Sound Consulting, Bellevue, WA, USA Date: Sat, 18 Sep 1993 08:18:02 GMT So far, I have converted two applications from 3.0 to 3.1 and found that ProjectBuilder will not Run them. The first time around, I managed to make the problem go away - but I don't know how. Now that it is happening with a second project, I notice three things: 1) I cannot run the program by double-clicking it in the Workspace either. 2) I can run the program in place from the command line (i.e. the copy of the app that's in the project directory). 3) I can run the program from the Workspace if I first drag it into another directory (either moving or copying it will work). Here is the message from the console: Sep 18 01:02:13 Workspace: Cannot exec /brianw/Projects/ImageMangler/ImageMangler.app: (not a valid program) I don't understand why the application would be invalid when executed from the project directory, but no change is needed once it is copied to another directory. Permissions and ownership of all files are the same in both places. I am running on a NeXTdimension and compiling for the "Current" architecture (i.e. "NeXT"). Is there something about the project directory which might be getting in the way? What should I look for to fix this? I would hate to run into the problem with every application that I recompile under 3.1! -- Brian Willoughby Software Design Engineer, BSEE from NCSU NeXTmail welcome Sound Consulting: Software Design and Development BrianW@SoundS.WA.com Bellevue, WA
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: Re: (not a valid program) from ProjectBuilder applications Message-ID: <CDJy6z.DEq@news2.cis.umn.edu> Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Hospital and Clinic, Labratory Information Services References: <CDJJ23.Kt0@sounds.wa.com> Date: Sat, 18 Sep 1993 13:36:18 GMT Brian Willoughby (BrianW@SoundS.WA.com) wrote: : So far, I have converted two applications from 3.0 to 3.1 and found that : ProjectBuilder will not Run them. The first time around, I managed to make the : problem go away - but I don't know how. Now that it is happening with a second : project, I notice three things: 1) I cannot run the program by double-clicking : it in the Workspace either. 2) I can run the program in place from the command : line (i.e. the copy of the app that's in the project directory). 3) I can run : the program from the Workspace if I first drag it into another directory : (either moving or copying it will work). : Here is the message from the console: : Sep 18 01:02:13 Workspace: Cannot exec : /brianw/Projects/ImageMangler/ImageMangler.app: (not a valid program) Jeff Martin and I bounced exactly one round of email about this back in June. I had noticed it a couple times, he thought he had seen this as well, but was looking for more info surrounding the situation. I dug a little deeper and seemed to determine it was actually the Workspace that has the problem. If you launch the program manually (from the command-line) it typically will run. If you log out and log back in, typically the workspace will launch it. If you can get more details about the scenario, please post. It's more of an annoyance than a problem. (Since then I've been doing daemons and other non-appkit stuff, so I haven't been subjected to this.) peter -- ...future author of: "Safe Cellular Compilations at Speeds Greater Than 140 kph." peter@tahiti.umhc.umn.edu (Peter Eisch) peter.a.eisch@uwrf.edu
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: Re: Open doesn't pop window forward Message-ID: <CDJyJJ.DM3@news2.cis.umn.edu> Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Hospital and Clinic, Labratory Information Services References: <1993Sep17.235605.581@gleap.sccsi.com> Date: Sat, 18 Sep 1993 13:43:51 GMT Charles C. Lloyd (clloyd@gleap) wrote: : I am using "open filename" in a shell script and, while the file is displayed : in an Edit.app window, that window doesn't pop to the fore. Anyone have a : suggestion for how to make Edit become the main/active app from script or pop : that newly-opened window to the fore? Run 2.0. The automagic process you describe is protected against. If you activate Edit via workspaceRequest (or something like that) it will bring the app and your window to the front. (Just an idea.) peter -- ...future author of: "Safe Cellular Compilations at Speeds Greater Than 140 kph." peter@tahiti.umhc.umn.edu (Peter Eisch) peter.a.eisch@uwrf.edu
From: pkron@corona.com (Peter Kron) Organization: Corona Design, Inc., Seattle, WA Message-ID: <1993Sep18.1@corona.com> References: <1993Sep16.1@corona.com> Date: Sat, 18 Sep 1993 06:46:05 PDT Newsgroups: comp.sys.next.programmer Subject: RE: old exception port from vfork()? > I have been experimenting with the Subprocess class provided > in the Examples directory > (/NextDeveloper/Examples/UNIX/Subprocess/Subprocess.m). This > class performs an vfork with execl to control a child process. > > I call it with > > id subprocess = [[Subprocess alloc] init: "/bin/cat"]; > > [subprocess send: "hello, world"]; > [subprocess send: "goodbye, world"]; > [subprocess free]; > > intending that a shell will be forked and fork /bin/cat, > which will then copy the two text lines to stdout. (This is > an appkit app, so messages should appear on the console or > gdb window.) > > Instead I occasionally get nothing, but usually get the > following on stdout > The old exception port is 0x1 > I have since found that this is only a problem when running under gdb. I assume the exception port has something to do with communication between gdb and the target app. Running without gdb seems to work fine. Unfortunately this makes for awkward development, since gdb affects the behavior of the app, but I can get around that for now by developing with a fake Subprocess class. Peter ________________________________________________________ NeXTMail:Peter_Kron@corona.com Corona Design, Inc. P.O. Box 51022 Seattle, WA 98115-1022
From: pkron@corona.com (Peter Kron) Organization: Corona Design, Inc., Seattle, WA Date: Sat, 18 Sep 1993 07:54:10 PDT Message-ID: <1993Sep18.145410.5210@corona.com> Newsgroups: comp.sys.next.programmer Subject: Re: child threads won't die after they finish their work References: <1993Sep17.182139.8439@tycho.ncsc.mil> > The cthreads package is actually a thread manager. So when > you call cthread_fork(), it first goes to see if it has an > available thread in its thread pool and, if not, it then calls > Mach with a thread_create() to get mach to allocate it a > thread. > > When a "c" thread terminates (either implicity or by > cthread_exit()) the cthreads package puts the thread asleep > and retains it in its thread pool for later allocation (by > chread_fork()). > > This done for performance reasons, since you do not have to > incur the overhead of setting up a thread in the kernel. > > Eugene D. Myers I thought one purpose of threads in the first place was to be fast and efficient to create and destroy frequently.? --- NeXTMail:Peter_Kron@corona.com Corona Design, Inc. P.O. Box 51022 Seattle, WA 98115-1022
From: marcos@kaleida.com (Paul Marcos) Newsgroups: comp.sys.next.programmer Subject: Re: (not a valid program) from ProjectBuilder applications Date: 18 Sep 1993 16:51:26 GMT Organization: Kaleida Labs, Inc. Distribution: world Message-ID: <27feaeINN71a@golden.kaleida.com> References: <CDJJ23.Kt0@sounds.wa.com> In article <CDJJ23.Kt0@sounds.wa.com> BrianW@SoundS.WA.com (Brian Willoughby) writes: > > I am running on a NeXTdimension and compiling for the "Current" architecture > (i.e. "NeXT"). Is there something about the project directory which might be > getting in the way? What should I look for to fix this? I would hate to run > into the problem with every application that I recompile under 3.1! I ran into this problem once. I had one app that I couldn't compile and run on an Intel machine. It wasn't a particularly special app, just one that did some image compositing. I could run it from the command line, but not from anywhere else. It all worked fine on a NeXTstation. I couldn't get any response out of NeXT so just filed a bug report and that was the end of it. Paul ................................................................... Paul Marcos NeXTMail appreciated Kaleida Labs, Inc. marcos@kaleida.com ...................................................................
Newsgroups: comp.sys.next.programmer From: thf@zelator.in-berlin.de (Thomas Funke) Subject: Debugger and fork/execv Message-ID: <1993Sep16.120327.607@gamelan> Sender: thomas@gamelan (thomas) Organization: Disorganization Date: Thu, 16 Sep 1993 12:03:27 GMT Does anybody know how to debug programs which 'fork' or 'execv' ? I want to continue with the forked child or the exec'd program. I know about detach/attach, but in this case the forked program has been running for a while, but I want to 'single step' into it. Any help appreciated. -- ------------------------------------------------------------------ Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de Brook's Law: Adding manpower to a late software project makes it later ------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: BrianW@SoundS.WA.com (Brian Willoughby) Subject: Is ProjectBuilder missing a System File Type icon? Message-ID: <CDKKIM.46n@sounds.wa.com> Sender: brianw@sounds.wa.com (Brian Willoughby) Organization: Sound Consulting, Bellevue, WA, USA Date: Sat, 18 Sep 1993 21:47:09 GMT In the Attributes window for a project, you find a System File Types list which has checkboxes beside each extension, and the Document Icons and Extension scrollview which shows the selected icons and the extension associated with it. I've noticed that "tif" has the question mark icon associated with it for some reason. You can check any other system file type, and the expected icon will appear in the scrollview, but checking "tif" seems to add the wrong icon. Does anyone know the story here? Could I have installed 3.1 incorrectly? I think this one is bound for bug-next, but I thought I would do a quick sanity check before mailing it in. Wouldn't want to increment the apparent bug report count for no good reason :-) -- Brian Willoughby Software Design Engineer, BSEE from NCSU NeXTmail welcome Sound Consulting: Software Design and Development BrianW@SoundS.WA.com Bellevue, WA
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: i386 Serial Port question Message-ID: <CDKsIq.AKH@news.cis.umn.edu> Sender: news@news.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Hospital and Clinic, Labratory Information Services Date: Sun, 19 Sep 1993 00:37:58 GMT I'm using the new serial driver (never tried anything with the old). I'm getting this in /usr/adm/messages (not the console) (as posted in c.s.n.b): Sep 18 17:32:41 norfolk mach: ttyscc1: receive error 2 (-900) Sep 18 17:32:41 norfolk mach: ttyscc1: receive error 2 (-901) Sep 18 17:32:41 norfolk mach: ttyscc1: receive error 2 (-902) ...in arbitrary order and plenty of them. Is this a sign of the buffers getting blown away by quantity of data? Is it mild and can be ignored? What do the [-90?] flags mean, and why can't I find that in the headers? The serial port is opened at 2400 baud, the alleged speed of the InfraRed port on this HP Vectra XM. Just curious --- trying to complete my Mission-Critical VCR+/NEXTSTEP app. (Those of you that have the Phillips CD-I players may soon be able to use your remote-control joystick for something other than looking at PhotoCD pictures...) peter -- ...future author of: "Safe Cellular Compilations at Speeds Greater Than 140 kph." peter@tahiti.umhc.umn.edu (Peter Eisch) peter.a.eisch@uwrf.edu
Newsgroups: comp.sys.next.programmer From: wwright@shell.portal.com (Bradly William Wright) Subject: First Responder Woes on NS/FIP Message-ID: <CDL1FE.MoM@unix.portal.com> Summary: Problems getting the first responder chain to work Keywords: First Responder, NS/FIP Sender: news@unix.portal.com Organization: Portal Communications Company Date: Sun, 19 Sep 1993 03:52:23 GMT I'm having some trouble getting the First responder in interface builder to work. I need a class to receive a message called "saveTextFile". For some reason, the message is not being called through the first responder chain. The program is a slightly modified version of TextEditor tutorial that came with the developers kit. This program contains two nib files. One nib was created for the main application menu, and another is created for the document class. Every time a new document is created, a new instance of the document nib is loaded and a new instance of the document class is created. In the document class, there is a method called "saveTextFile" which I want called from the menu panel. I parsed the class to make the method "saveTextFile" visible to IB. I connected the "save" menu panel to the First Responder at the action "saveTextFile". In the document.nib I created an action called "saveTextFile". I did a make clean and then a build to ensure that everthing got recompiled. Unfortunately, the menu panel generates the message, but the method in the document class "saveTextFile" never gets called. This is the code that gets called to create a new document.nib and class. - createDocument:sender { newDocument = [[Document alloc] init]; [newDocument show:self]; return self; } Since I have two First Responders, I put "saveTextFile" action entries into both First Responders (one for the main application nib TextEditor.nib and one for the dynamically loaded nib document.nib). I'm totally stumped. Does anyone have suggestions? Brad Wright ================================================== | Software Engineer (Massivus Nerdus) | | Premisys Communications (The Access Company) | | 1032 Elwell Court, Palo Alto California 94303 | | wwright@premisys.com, wwright@shell.portal.com | --------------------------------------------------
Newsgroups: comp.sys.next.programmer From: ugubser@avalon.unizh.ch (gubser urs) Subject: Drawing Text ? Message-ID: <1993Sep19.122138.21770@ifi.unizh.ch> Sender: news@ifi.unizh.ch (USENET News Admin) Organization: University of Zurich, Department of Computer Science Date: Sun, 19 Sep 1993 12:21:38 GMT I wonder how i can draw plain text into any view, without using the Text object. Could someone give me an Example ? *Thanx in Advance* -- * Urs Gubser | Email: * * Bergheimstrasse 7 | ugubser@avalon.unizh.ch (NeXT - mail) * * Zuerich | * * Switzerland | *
Newsgroups: comp.sys.next.programmer From: simsong@next.cambridge.ma.us (Simson L. Garfinkel) Subject: Re: (not a valid program) from ProjectBuilder applications Message-ID: <1993Sep19.153427.11089@next.cambridge.ma.us> Sender: simsong@next.cambridge.ma.us Organization: NeXTWORLD Magazine References: <CDJJ23.Kt0@sounds.wa.com> Date: Sun, 19 Sep 1993 15:34:27 GMT Does the application inside the [foo].app wrapper have the name [foo]? I've seen this be a problem before. That was how we fixed it. -simson -- ................................................................simson
Newsgroups: comp.sys.next.programmer From: ronchet@itncpl.science.unitn.it Subject: Adding code to an app at runtime - help Content-Type: text/plain Message-ID: <ronchet.93Sep19184336@itncpl> Sender: news@itnnext4.cineca.it (Network news administrator) Organization: Dipartimento di Informatica e Studi Aziendali, Universita' di Trento Mime-Version: 1.0 Distribution: world,fj Date: Sun, 19 Sep 1993 17:43:36 GMT Imagine having a button which opens a text window: you write some Objective-C code there and when the window is closed, the code gets executed (as a part of the app which opened the window), allowing therefore many juicy things like: - modifying the values of global variables - adding new objects at runtime - sending messages to existing objects (by explicitely writing code) Since Objective C supports late binding, this should be possible and probably easy, but I have no idea of how to do it. I was told that something like that has been posted on orst (ClassBuilder ?) but unfortunately that archive is corrupt. Can anyone help me by a) giving some hints on how to solve the problem, or b) indicating where I can find a fresh copy of ClassBuilder, or c) indicating any other soft which might give a clue on the solution. Please respond by e-mail, if I get useful answers I'll summarize for the net. Thanks Marco Ronchetti - ronchet@itncpl.science.unitn.it
From: qiu@tree.egr.uh.edu (Feng Qiu) Newsgroups: comp.sys.next.misc,comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.hardware,comp.sys.next.sysadmin Subject: Boot to DOS from a second hard disk? Date: 19 Sep 1993 18:56:50 GMT Organization: University of Houston Message-ID: <27ia1i$857@menudo.uh.edu> My system is a 486/DX2 66MHz with a 525 M hard disk loaded with NeXTStep3.1. I have a second hard disk bootable for DOS and Windows but without NeXTStep partition. My question is how can you boot to the second hard disk to DOS? Now in order to run DOS(I have no SoftPC) I have to disconnect the hard disk for NeXTStep and set it at master mode then reboot. Any opinions? Fen qiu@tree.egr.uh.edu
From: hugunin@mtl.mit.edu (James Hugunin) Newsgroups: comp.sys.next.programmer Subject: Accessing physical memory from a driver Date: 19 Sep 1993 19:52:39 GMT Organization: Massachvsetts Institvte of Technology Message-ID: <27ida7$1l3@senator-bedfellow.MIT.EDU> Keywords: DriverKit, Physical, Memory I am attempting to write a driver for a Frame Grabber board. I previously recieved a lot of good advice from the net on accessing the IO ports. Now I would like to read the physical memory locations 0xA00000-0xA40000 from the PC. I am aware that this is made particularly difficult by the protected mode memory addressing schemes of the i486. I have tried two approaches to solving this problem, neither has worked: 1st Approach: Write a DriverKit Object and use the method [self mapMemoryRange:0 to:(vm_address_t *)vm_add findSpace:YES cache:IO_CacheOff]; My device has a single valid memory range declared. When I run my driver, this method returns the error -107(UNDEFINED). This unfortunately is not any of the "legitimate" return codes for this function so I have no information to go on when trying to figure out what is wrong. 2nd Approach: Write a loadable kernel server and use the function call unsigned char * data = (unsigned char *)map_addr(0xA00000, 4); When I use this function call I get an error when I try to install the loadable kernel server from rld saying that map_addr is undefined. This is very surprising since map_addr is specifically listed as a loadable kernel server function. Any information on what I might be doing wrong with either of these two approaches, or suggestions for alternative methods of solving this problem would be greatly appreciated. Recently I've found myself longing for the "good-old-days" of DOS where you'd just load a segment register and an offset register and go. Thanks in advance for any help, Jim Hugunin hugunin@mtl.mit.edu
Newsgroups: comp.sys.next.programmer From: lloyd@world.std.com (Chris Lloyd) Subject: Re: child threads won't die after they finish their work Message-ID: <CDIErH.J02@world.std.com> Organization: The World Public Access UNIX, Brookline, MA References: <1993Sep17.150702.1476@imagine.com> Distribution: usa Date: Fri, 17 Sep 1993 17:47:40 GMT In article <1993Sep17.150702.1476@imagine.com> fugue!william (William Wei) writes: > for (i=0; i<15; i++) { > cthread_detach(cthread_fork((cthread_fn_t)slave, (any_t)i)); > >% ps -xm >william 961 p1 72.8 R 2 0:00.12 0:03.49 try >[... lot's o'threads ...] > >Why are all child threads in sleep? >I even explicitly put a cthread_exit() in the slave() and it did the same >things. >If I fork off child threads slower then some child threads will die and >some will still be in sleep. > >Anyone knows what's going on? Thanks. This is a "feature" of the cthreads package. It caches the threads for reuse at a later date. If you fork 15 threads which then exit, then fork 15 more - you will still have 15 threads as the second set reuse the 15 ones from the first forks. This is ok if you're constantly reusing some small range of threads, because it doesn't have to keep recreating them from scratch, but really sucks in general. The cthreads package lacks, and unfortunately getting around it's deficiencies is non-trivial and would be better done with writing a replacement. Blaaaaaah. -- :: Christopher Lloyd :: Yrrid Incorporated :: lloyd@world.std.com ::
Newsgroups: comp.sys.next.programmer From: edm@tycho.ncsc.mil (Eugene D. Myers) Subject: Re: child threads won't die after they finish their work Message-ID: <1993Sep17.182139.8439@tycho.ncsc.mil> Organization: dept of defense References: <1993Sep17.150702.1476@imagine.com> Distribution: usa Date: Fri, 17 Sep 93 18:21:39 GMT From article <1993Sep17.150702.1476@imagine.com>, by fugue!william (William Wei): > > The following is the test program: > > #import <mach/cthreads.h> > > void slave(any_t n) > { > } > > main() > { > int i, j; > for (i=0; i<15; i++) { > cthread_detach(cthread_fork((cthread_fn_t)slave, > (any_t)i)); > } > while(1) > ; > } > > I excuted the compiled program and uses ps -xm to examine it. I got the > following result: > > % ps -xm > william 961 p1 72.8 R 2 0:00.12 0:03.49 try > 0.0 S 10 0:00.00 0:00.00 > 0.0 S 10 0:00.00 0:00.00 > 0.0 S 10 0:00.00 0:00.00 > 0.0 S 10 0:00.00 0:00.00 > 0.0 S 10 0:00.00 0:00.00 > 0.0 S 10 0:00.00 0:00.00 > 0.0 S 10 0:00.00 0:00.00 > 0.0 S 10 0:00.00 0:00.00 > 0.0 S 10 0:00.00 0:00.00 > 0.0 S 10 0:00.00 0:00.00 > 0.0 S 10 0:00.00 0:00.00 > 0.0 S 10 0:00.00 0:00.00 > 0.0 S 10 0:00.00 0:00.00 > 0.0 S 10 0:00.00 0:00.00 > 0.0 S 10 0:00.00 0:00.00 > > Why are all child threads in sleep? > I even explicitly put a cthread_exit() in the slave() and it did the same > things. > If I fork off child threads slower then some child threads will die and > some will still be in sleep. > > Anyone knows what's going on? Thanks. > The cthreads package is actually a thread manager. So when you call cthread_fork(), it first goes to see if it has an available thread in its thread pool and, if not, it then calls Mach with a thread_create() to get mach to allocate it a thread. When a "c" thread terminates (either implicity or by cthread_exit()) the cthreads package puts the thread asleep and retains it in its thread pool for later allocation (by chread_fork()). This done for performance reasons, since you do not have to incur the overhead of setting up a thread in the kernel. Eugene D. Myers > -- > ++ > William Wei > Imagine Multimedia > william@imagine.com (NeXTmail accepted)
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Method Cache population question Message-ID: <1993Sep19.215905.13116@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software Date: Sun, 19 Sep 1993 21:59:05 GMT Does anybody know if the function: Method class_getInstanceMethod(Class aClass, SEL aSelector) results in the located-method being put into the Class' method cache (if its not already cahced)? -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
Newsgroups: comp.sys.next.programmer From: jq@phcs.com (Jim Quick) Subject: Re: Debugger and fork/execv Message-ID: <CDMJJu.9q2@phcs.com> Organization: Private Healthcare Systems, Inc References: <1993Sep16.120327.607@gamelan> Date: Sun, 19 Sep 1993 23:21:29 GMT In article <1993Sep16.120327.607@gamelan> thf@zelator.in-berlin.de (Thomas Funke) writes: > >Does anybody know how to debug programs which 'fork' or 'execv' ? >I want to continue with the forked child or the exec'd program. I know >about detach/attach, but in this case the forked program has been running >for a while, but I want to 'single step' into it. > >Any help appreciated. The attach command does exactly what you want it to do. 'attach pid' stops the program when it attaches. An s will start single step from there. What you may be having problems with is search path for the code. In the most general case you run gdb PATH_TO_EXECUTABLE, then attach PID. You must also run the dir command within gdb to enter the paths to the directories containing the source code. You should do this whenever you receive the error foo.c: No such file or directory -- ___ ___ mail: uunet!phcs!jq PHCS, Inc. Advanced Technology Group / / / or jq@phcs.com It's spelled "Luxury Yacht", but it's \_/ (_\/ Fax: (617) 863-8575 pronounced "Throat-Warbler Mangrove". ) Voice: (617) 861-5579 NeXTMail O.K.
Newsgroups: comp.sys.next.programmer From: Greg_Anderson@afs.com (Gregory H. Anderson) Subject: Re: Drawing Text ? Message-ID: <1993Sep20.012812.6773@afs.com> Sender: greg@afs.com References: <1993Sep19.122138.21770@ifi.unizh.ch> Date: Mon, 20 Sep 1993 01:28:12 GMT In article <1993Sep19.122138.21770@ifi.unizh.ch> ugubser@avalon.unizh.ch (gubser urs) writes: > I wonder how i can draw plain text into any view, > without using the Text object. Could someone give me an Example ? In the View's -drawSelf:: method, PSmoveto(x,y) and then PSshow(text). Beware flipped coordinates! -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: Re: Drawing Text ? Message-ID: <CDMuDz.BxI@news2.cis.umn.edu> Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Hospital and Clinic, Labratory Information Services References: <1993Sep19.122138.21770@ifi.unizh.ch> Date: Mon, 20 Sep 1993 03:06:51 GMT gubser urs (ugubser@avalon.unizh.ch) wrote: : I wonder how i can draw plain text into any view, : without using the Text object. Could someone give me an Example ? This is probably not the popular suggestion, but I'll give it a go... id aCell = [[TextFieldCell alloc] initTextCell:"example?"]; [aCell setFont:[Font xxx]]; [aCell drawInside:&aRect ofView:aView]; peter -- ...future author of: "Safe Cellular Compilations at Speeds Greater Than 140 kph." peter@tahiti.umhc.umn.edu (Peter Eisch) peter.a.eisch@uwrf.edu
Newsgroups: comp.sys.next.programmer From: abell@netcom.com (Steven T. Abell) Subject: Menu location at launch with 2 heads Message-ID: <abellCDn0sq.H39@netcom.com> Organization: NETCOM On-line Communication Services (408 241-9760 guest) Distribution: na Date: Mon, 20 Sep 1993 05:34:02 GMT I have a two-headed cube. The color screen is the main screen, which is to the right of the mono screen. I'm trying to make an app remember which screen its main menu was on the last time it was terminated. I get a variety of misbehaviors that I don't understand. Approach #1 in appDidInit: (use current menu location) iScreen = atoi(NXGetDefaultValue([NXApp appName],"Screen"));// put in DDB by me [NXApp getScreens:&pvsScreen count:&nScreen]; [[NXApp mainMenu] getFrame:&sRect]; [[NXApp mainMenu] moveTo:sRect.origin.x :sRect.origin.y screen:&pvsScreen[iScreen]]; after suitable rangechecking on iScreen, of course. The result is almost right. When the program is launched, its main menu is on the correct screen, but if it is on the mono screen, its location is right-shifted by an amount that seems to depend on the menu's distance from the left edge of the screen. Approach #2 in appDidInit: (use menu location in defaults) iScreen = atoi(NXGetDefaultValue([NXApp appName],"Screen"));// put in DDB by me [NXApp getScreens:&pvsScreen count:&nScreen]; pkvbLocation = NXGetDefaultValue([NXApp appName],"NXMenuLocations"); sPoint.x = atof(pkvbLocation); while (' ' != *pkvbLocation++); sPoint.y = atof(pkvbLocation); [[NXApp mainMenu] moveTo:sPoint.x :sPoint.y screen:&pvsScreen[iScreen]]; This causes the main menu to always appear on the main screen at launch, regardless of its previous location. Various kinds of fooling around with fabs and fmod on the x-value don't seem to affect it at all. For both methods, I have verified that the values being used for the screen and menu location are reasonable. Does anyone know what's going on here, and how to do it right? In this case, I think I'd be happy to hear someone say that I'm a doofus and I missed the obvious. Steve abell@netcom.com
From: fxg@tolkien.imib.rwth-aachen.de (Felix Gatzemeier #Alwd#) Newsgroups: comp.sys.next.programmer Subject: Re: Programmatically setting the document view of a ScrollView Date: 20 Sep 1993 14:02:52 GMT Organization: Rechnerbetrieb Informatik - RWTH Aachen Distribution: na Message-ID: <FXG.93Sep20150255@gimli.tolkien.imib.rwth-aachen.de> References: <1993Sep12.213904.6744@milo.UUCP> <1993Sep14.033852.24789@stone.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-reply-to: andrew@stone.com's message of 14 Sep 93 03:38:52 GMT In article <1993Sep14.033852.24789@stone.com> andrew@stone.com (Andrew Stone) writes: Path: urmel.informatik.rwth-aachen.de!gmd.de!rrz.uni-koeln.de!unidui!math.fu-berlin.de!xlink.net!howland.reston.ans.net!europa.eng.gtefsd.com!uunet!ogicse!mimbres.cs.unm.edu!droid!andrew From: andrew@stone.com (Andrew Stone) [ problem with source code below explained... ] > - replaceDocWithMatrix: theScrollView; > { > id matrix; > NXRect theFrame; > > if (theScrollView && [theScrollView isKindOf: [ScrollView class]]) > { > // Free the text object that IB forces us to have after we get > // its frame size > [theScrollView getDocVisibleRect:&theFrame]; > //[[theScrollView docView] free]; **Changed: DO NOT free the ScrollView's docView this way! What is it supposed to display then? As long as a View is in use, you should never free it. > matrix = [[Matrix alloc] initFrame:&theFrame > mode:NX_RADIOMODE > cellClass:[NewsBrowserCell class] > numRows:1 > numCols:1]; > if (! matrix) > return nil; > > [[theScrollView setDocView:matrix] free]; // <<-- Right here is where > // everything goes to > // hell-in-a-handbasket! **Changed: THIS is where you free an obsolete view. The docu about setDocView tells you that the old docView is the return value. So what should it have returned anyway? (ok, nil maybe). [solution proposed -- I integrated it into the source (**Changed)] ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>|| !! Andrew Stone !! (505) 345-4800 !! !! andrew@stone.com <> Stone Design Corp !! ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>|| I just thought that a little explanation would help. -- Felix (fxg@Pool.Informatik.RWTH-Aachen.de fxg@tolkien.ImIB.RWTH-Aachen.de, No NeXT-Mail, please!)
From: hyongsop@saturn.eecs.umich.edu (Hyong S. Shim) Newsgroups: comp.sys.next.programmer Subject: Increasing the Buffer Size of a Port ... HELP! Date: 20 Sep 1993 14:36:46 GMT Organization: University of Michigan EECS Dept. Message-ID: <27kf5u$fjj@zip.eecs.umich.edu> Hi, Is there any way to increase the size of the message buffer of a Mach port? I am playing with the Mach message system (as opposed to Distributed Objects) and need to increase the default size of the buffer allocated to a mach port. Thanks. --Hyong Sop Shim (hyongsop@saturn.eecs.umich.edu)
Newsgroups: comp.sys.next.programmer From: mihe@gordon.enea.se (Mike Henry) Subject: Re: Book: NEXTSTEP Programming - A Master's Class Message-ID: <1993Sep20.151234.26148@enea.se> Sender: usenet@enea.se Organization: ENEA DATA AB, Stockholm, Sweden References: <1993Sep13.170534.10786@netcom.com> <273bqr$mtk@garuda.csulb.edu> Date: Mon, 20 Sep 1993 15:12:34 GMT In article <273bqr$mtk@garuda.csulb.edu> mahoney@csulb.edu writes: >"NEXSTEP Programming - STEP TWO: Object-Oriented Toolkits" > by Mike Mahoney and Bill Ballew (Simson is sitting this one out) >will focus on DB Kit. Could you please give us a hint as to when this book will be released? I have been hearing about it for a while now and I am dying to get my hands on it. >- Mike Mahoney, SCaN President -Mike -- Mike Henry /// ENEA DATA AB TEL : +46 8 638-5000 /// Box 232 TFX : +46 8 638-5050 \\\/// S-183 23, SWEDEN INET : mihe@enea.se (NeXTmail OK) \XX/
Newsgroups: comp.sys.next.programmer From: dsdecasp@iiic.ethz.ch (Daniel Stefan Decasper) Subject: How do I get a password in DBKit Message-ID: <1993Sep20.165352.24713@neptune.inf.ethz.ch> Keywords: DBKit, password, sybase Sender: news@neptune.inf.ethz.ch (Mr News) Organization: Dept. Informatik, Swiss Federal Institute of Technology (ETH), Zurich, CH Date: Mon, 20 Sep 1993 16:53:52 GMT How do I get the users password using DBKit (or a bypass) ? I know that I can get the login string with DBDatabase *myDatabase; ... loginstring=[myDatabase currentLoginString]; ... which looks like "dan@SYBASE/database" but obviously there is no password. Any help would be greatly appreciated. Dan ---------------------------------------------------------------------------- = Dan S. Decasper email: dan@fanatic.open.ch or dsdecasp@iiic.ethz.ch = = Uetlibergstr.16 voice: 41-1-4930361 [NeXTMail ok]; = = CH-8142 Uitikon fax: 41-1-4930361 09/24/69 = = Switzerland fight against racism - dance2trance = = Student in Computer Science Swiss Federal Institute of Technology (ETH) = ----------------------------------------------------------------------------
From: scott@nic.gac.edu (Scott Hess) Newsgroups: comp.sys.next.programmer Subject: Re: Debugger and fork/execv Date: 20 Sep 93 13:02:51 Organization: Is a sign of weakness Message-ID: <SCOTT.93Sep20130251@nic.gac.edu> References: <1993Sep16.120327.607@gamelan> In-reply-to: thf@zelator.in-berlin.de's message of Thu, 16 Sep 1993 12:03:27 GMT In article <CDMJJu.9q2@phcs.com>, jq@phcs.com (Jim Quick) writes: >In article <1993Sep16.120327.607@gamelan> > thf@zelator.in-berlin.de (Thomas Funke) writes: >>Does anybody know how to debug programs which 'fork' or 'execv' ? >>I want to continue with the forked child or the exec'd program. I know >>about detach/attach, but in this case the forked program has been running >>for a while, but I want to 'single step' into it. > >The attach command does exactly what you want it to do. >'attach pid' stops the program when it attaches. An s >will start single step from there. What you may be having >problems with is search path for the code. No. The problem is that most programs look something like: if( !(cpid=fork())) { /* Do some processing like setting up stdio or terminal. */ /* Then call on a child program. */ exec*(*); } The amount of time spent on the child side of the fork() is generally so small as to make it impossible to attach and debug it before the exec* is called. In general, you want to debug that child code, and not the program it executes! [Worse, usually it's not executing the right program due to bugs in that code ...] Anyhow, I've had success with inserting a sleep() call at the top of the child code, which will give me time to attach to the child process from a different GDB. Then I can return from the sleep() call and continue where I wanted to be. There are still generally tremendous amounts of trouble involved with timeouts and the like (running the debugger on the child throws timing concerns in the parent right off the scales), but it _is_ doable, with care. Another hint is to make certain that you understand the difference between fork() and vfork() well enough to use vfork(), if that's what you're using. I've found that vfork() can get you into trouble if you don't move slowly and carefully. Later, -- scott hess <shess@ssesco.com> <To the BatCube, Robin> 12901 Upton Avenue South, #326 Burnsville, MN 55337 (612) 895-1208 Anytime!
Newsgroups: comp.sys.next.programmer Subject: openFile:type method too early Message-ID: <1993Sep20.130126.776@cc.usu.edu> From: hcole@tumbleweed.nrcabq.com (Howard R. Cole) Date: 20 Sep 93 13:01:26 MDT Distribution: usa I have an application that requires substantial initialization before it can open files up properly. No problem, except that when a user double clicks on a document icon and the application isn't already running, it receives the openFile:type method well before it's ready to open the files up. Is there a graceful way to postpone this message until everything is ready to go? Any suggestions welcome! -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Howard Cole | Nichols Research Corp. | hcole@tumbleweed.nrcabq.com 2201 Buena Vista SE | Suite 203 | "Leaders on the trailing Albuquerque, NM 87106 | edge of technology" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Newsgroups: comp.sys.next.programmer From: ugubser@avalon.unizh.ch (gubser urs) Subject: Re: Drawing Text ? Message-ID: <1993Sep20.202910.27465@ifi.unizh.ch> Sender: news@ifi.unizh.ch (USENET News Admin) Organization: University of Zurich, Department of Computer Science References: <1993Sep19.122138.21770@ifi.unizh.ch> <CDMuDz.BxI@news2.cis.umn.edu> Date: Mon, 20 Sep 1993 20:29:10 GMT Peter Eisch (peter@corsica) wrote: : gubser urs (ugubser@avalon.unizh.ch) wrote: : : I wonder how i can draw plain text into any view, : : without using the Text object. Could someone give me an Example ? : This is probably not the popular suggestion, but I'll give it a go... : id aCell = [[TextFieldCell alloc] initTextCell:"example?"]; : [aCell setFont:[Font xxx]]; : [aCell drawInside:&aRect ofView:aView]; : peter OK...first i would like to Thanx for your answers. But my problem is a bit different. I have subclassed a Cell and i would like to draw not only one but N strings in that cell. Therefore i wrote a new: "drawInside:(const NXRect *) cellFrame inView:controlView" methode. The problem is that if the cell's state changed (eg. highlight) everything gets redrawn but text. Altough i have implemented a "highlight:(const NXRect *)cellFrame inView: controlView lit:(BOOL)flag" method in which i use the drawInside method. (just like ScrollDoodScroll's custom cell). Now the funny thing happens, if i click in a neighbour cell: the old selected cell shows all the text but the new selected cell shows nothing and so on. any ideas ? Thanx in advance - Urs PS: i hope you can understand my "english" -- * Urs Gubser | Email: * * Bergheimstrasse 7 | ugubser@avalon.unizh.ch (NeXT - mail) * * Zuerich | * * Switzerland | Bix: urs *
From: frank@atlas (Frank Siegert) Newsgroups: comp.sys.next.programmer Subject: Dragging in an app icon? Date: 20 Sep 1993 22:56:42 GMT Organization: IPC, University of Tuebingen, Germany Message-ID: <27lcfa$ktf@klaus.physchem.chemie.uni-tuebingen.de> Summary: question about dragging in 3.1 Keywords: icon application dragging I tried an old application today I once wrote back in 1990 that "imports" files by dragging them on the app icon. As long as I do not dock the app in the workspace everything was fine. But as soon as I docked it, no files were accepted anymore...? Now the release notes said that iconEntered and friends are obsolete and so I tried it using the newer dragging protocol. I wrote a simple test - appDidInit:sender { const char *fileType[] = {NXFilenamePboardType}; [[NXApp appIcon] setDelegate:self]; [[NXApp appIcon] registerForDraggedTypes:fileType count:1]; fprintf(stderr,"Registered\n"); return self; } - (NXDragOperation)draggingEntered:sender { fprintf(stderr,"Entered\n"); return NX_DragOperationCopy; } - draggingExited:sender { fprintf(stderr,"Exited\n"); return self; } - (BOOL)prepareForDragOperation:sender { fprintf(stderr,"Dropped\n"); return YES; } This does not even work in non-docked state! This program only outputs "registered". If I replace [NXApp appIcon] by a real window it works ok. Am I missing something? All I want to do is drag a file from workspace to the app icon when the app is docked in workspace, just like in the old acceptor example from 2.1. Thanks Frank -- // God is real, unless declared integer ////////////////////////////
Newsgroups: comp.sys.next.programmer From: brad@instep.wimsey.bc.ca Subject: Can NXProxies serve mutiple protocols? Message-ID: <1993Sep20.234146.4379@instep.wimsey.bc.ca> Sender: brad@instep.wimsey.bc.ca (Bradley Head) Organization: InStep Mobile Communications Inc. Date: Mon, 20 Sep 1993 23:41:46 GMT If I message an NXProxy object with -setProtocolForProxy: several times, such as: [myProxy setProtocolForProxy:@protocol(Protocol_A)]; [myProxy setProtocolForProxy:@protocol(Protocol_B)]; [myProxy setProtocolForProxy:@protocol(Protocol_C)]; will this alleviate the need for the initial round-trip message (to determine support of the protocol at the remote end) for all three protocols? When I look at Protocol.h, it shows an instance variable of type Protocol *proto; /* what protocol do we serve? */ which would seem to suggest that one NXProxy instance can only support ONE protocol. This then suggests that the code above would merely set the protocol to Protocol_C, and then the previously set protocols would require the time-consuming initial round trip. Can someone clarify this for me? Thanks. Brad. -- Bradley Head Software Developer, InStep Mobile Communications Inc. brad@instep.wimsey.bc.ca (NeXTmail accepted) 604 872-7116 fax: 604 872-7125
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: Re: Can NXProxies serve mutiple protocols? Message-ID: <CDoJ01.A0y@news.cis.umn.edu> Sender: news@news.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Hospital and Clinic, Labratory Information Services References: <1993Sep20.234146.4379@instep.wimsey.bc.ca> Date: Tue, 21 Sep 1993 01:02:41 GMT As a consultant, I would open an editor, type in: @protocol Protocol_D <Protocol_A, Protocol_B, Protocol_C> @end and submit you an invoice for $50. The you could simply have: [myProxy setProtocolForProxy:@protocol(Protocol_d)]; But this is usenet....so see line 388 in: /NextLibrary/Documentation/NextDev/Concepts/ObjectiveC/3_MoreObjC/MoreObjC.rtfd (on 3.1 -- it may be the same on 3.0 -- remember this came for free!) peter brad@instep.wimsey.bc.ca wrote: : If I message an NXProxy object with -setProtocolForProxy: several times, : such as: : [myProxy setProtocolForProxy:@protocol(Protocol_A)]; : [myProxy setProtocolForProxy:@protocol(Protocol_B)]; : [myProxy setProtocolForProxy:@protocol(Protocol_C)]; : will this alleviate the need for the initial round-trip : message (to determine support of the protocol at the remote end) : for all three protocols? : When I look at Protocol.h, it shows an instance variable of type : Protocol *proto; /* what protocol do we serve? */ : which would seem to suggest that one NXProxy instance can only : support ONE protocol. This then suggests that the code above would : merely set the protocol to Protocol_C, and then the previously : set protocols would require the time-consuming initial round trip. : Can someone clarify this for me? : Thanks. : Brad. : : -- : Bradley Head : Software Developer, InStep Mobile Communications Inc. : brad@instep.wimsey.bc.ca (NeXTmail accepted) : 604 872-7116 fax: 604 872-7125 -- ...future author of: "Safe Cellular Compilations at Speeds Greater Than 140 kph." peter@tahiti.umhc.umn.edu (Peter Eisch) peter.a.eisch@uwrf.edu
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: Re: Drawing Text ? Message-ID: <CDoK6G.Ass@news.cis.umn.edu> Sender: news@news.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Hospital and Clinic, Labratory Information Services References: <1993Sep19.122138.21770@ifi.unizh.ch> <CDMuDz.BxI@news2.cis.umn.edu> <1993Sep20.202910.27465@ifi.unizh.ch> Date: Tue, 21 Sep 1993 01:28:04 GMT gubser urs (ugubser@avalon.unizh.ch) wrote: : Peter Eisch (peter@corsica) wrote: : : gubser urs (ugubser@avalon.unizh.ch) wrote: : : : I wonder how i can draw plain text into any view, : : : without using the Text object. Could someone give me an Example ? : : This is probably not the popular suggestion, but I'll give it a go... : : id aCell = [[TextFieldCell alloc] initTextCell:"example?"]; : : [aCell setFont:[Font xxx]]; : : [aCell drawInside:&aRect ofView:aView]; : : peter : OK...first i would like to Thanx for your answers. But my problem is a bit : different. I have subclassed a Cell and i would like to draw not only one but : N strings in that cell. Therefore i wrote a new: "drawInside:(const NXRect *) : cellFrame inView:controlView" methode. The problem is that if the cell's state : changed (eg. highlight) everything gets redrawn but text. : Altough i have implemented a "highlight:(const NXRect *)cellFrame inView: : controlView lit:(BOOL)flag" method in which i use the drawInside method. : (just like ScrollDoodScroll's custom cell). Now the funny thing happens, if i : click in a neighbour cell: the old selected cell shows all the text but the new : selected cell shows nothing and so on. : any ideas ? Thanks for the flames I've received for the above suggestion. Knowing more about the situation, I'd like to offer up one more slimy attempt, and then one more that may be more useful. 1. Continue with the idea I presented earlier. Use one TextFieldCell as ScrollDoodScrool poorly demonstrates and just feed it different sub-strings and give it different regions to draw in. Remember to set the state of the cell to be similar to YOUR cell's state so the proper drawing and highlighting happens. Make sure that all of YOUR cell's drawing happens inside of drawInside:ofView: (from memory -- the method may be different) and make sure you draw appropriate to your state. 2. In your cells drawInside:ofView (again, same brain) set up your drawing state (font, color dependent on whether you're highlighted or selected or not, etc.) and the draw each line with PSmoveto() and PSshow(). If I'm missing the point, please gently straighten me out (I may break) and I'll give it one more try. (Or, to please scott, I'll shut up.) Scott? peter -- ...future author of: "Safe Cellular Compilations at Speeds Greater Than 140 kph." peter@tahiti.umhc.umn.edu (Peter Eisch) peter.a.eisch@uwrf.edu
From: sanguish@digifix.com Newsgroups: comp.sys.next.announce,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.advocacy,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.bugs,comp.sys.next.programmer,comp.sys.next.marketplace Subject: Quick Guide to the comp.sys.next.* newsgroups Date: 20 Sep 1993 23:04:59 -0400 Organization: Next Announcements Message-ID: <27lr0p$khb@digifix.digifix.com> The current menagerie: 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. 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. 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. 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. 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. 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!!! 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. comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. related Newsgroups 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. comp.lang.objective-c Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. 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. Written by: Eric P. Scott eps@toaster.SFSU.EDU Minor editing: Scott Anguish Additions from: Greg Anderson (Greg_Anderson@afs.com) and Michael Pizolato (Michael_Pizolato@afs.com)
From: michaell@swdev.research.otc.com.au (Michael Lofquist) Newsgroups: comp.sys.next.programmer Subject: Re: Drag and drop files to an application Date: 21 Sep 1993 02:33:29 GMT Organization: Technical Development Group, Telstra International Distribution: world Message-ID: <27lp5p$s09@turin.research.otc.com.au> References: <26odvt$s3n@turin.research.otc.com.au> <1993Sep10.143222.4093@xexos.com> Thanks to all who responded to my original message for help with the drag & drop. All advice was good and I was able to implement the drag & drop feature as I required. Thanks for amount of responses. Regards Michael -- -------------------------------------------- Michael Lofquist Email: michaell@swdev.research.otc.com.au michaell@research.otc.com.au --------------------------------------------
From: otto@coactive.com (Otto Lind) Newsgroups: comp.sys.next.programmer Subject: Re: Debugger and fork/execv Date: 21 Sep 1993 04:19:11 GMT Organization: Coactive Aesthetics Inc. Message-ID: <27lvbvINNlk9@disc.coactive.com> References: <1993Sep16.120327.607@gamelan> <SCOTT.93Sep20130251@nic.gac.edu> Scott Hess (scott@nic.gac.edu) wrote: : No. The problem is that most programs look something like: [deleted] : : Anyhow, I've had success with inserting a sleep() call at the top : of the child code, which will give me time to attach to the child : process from a different GDB. Using pause and signals, you can debug fork'd programs without worrying about race conditions. An example of how to do this is the following: ----- snip ----- #include <stdio.h> #include <signal.h> #include <libc.h> /* This was compiled with 'cc -DDEBUG -g -Wall sample.c' */ #ifdef DEBUG #define WAIT_FOR_GDB() wait_for_gdb(__FILE__, __LINE__) #else #define WAIT_FOR_GDB() #endif void got_gdb_signal(sig) int sig; { /* do nothing */ return; } void wait_for_gdb(char *file, int line) { void (*savefunc)(int); fprintf(stdout, "wait_for_gdb: Stopping process execution at file %s, line %d\n", file, line); fprintf(stdout, "execute the following gdb commands to continue execution:\n"); fprintf(stdout, "\nattach %d\n", getpid()); fprintf(stdout, "signal %d\n\n", SIGUSR1); savefunc = signal(SIGUSR1, got_gdb_signal); pause(); signal(SIGUSR1, savefunc); } int main() { int pid; pid = fork(); if (pid == 0) { fprintf(stdout, "child, calling WAIT_FOR_GDB\n"); WAIT_FOR_GDB(); fprintf(stdout, "child, executing program\n"); execl("/bin/ls", "/bin/ls", "-FC", NULL); } wait(NULL); fprintf(stdout, "parent, child exited\n"); return 0; } ----- snip ----- Invoke the process in one window. In another window load gdb with the debug executable, set you break points (for some reason you need to set break points after the pause, so don't try to break at got_gdb_signal()), then execute the commands printed in the first window. This trick can also be used in code like: if (I_detected_a_bug) { WAIT_FOR_GDB(); } Hope this helps, Otto -- Otto Lind Coactive Aesthetics otto@coactive.com P.O. Box 425967, San Francisco, CA 94142 netcom!coactive!otto voice:(415)626-5152 fax:(415)626-6320
Newsgroups: comp.sys.next.programmer From: ugubser@avalon.unizh.ch (gubser urs) Subject: Re: Drawing Text ? Message-ID: <1993Sep21.081723.21332@ifi.unizh.ch> Sender: news@ifi.unizh.ch (USENET News Admin) Organization: University of Zurich, Department of Computer Science References: <1993Sep19.122138.21770@ifi.unizh.ch> <CDMuDz.BxI@news2.cis.umn.edu> <1993Sep20.202910.27465@ifi.unizh.ch> <CDoK6G.Ass@news.cis.umn.edu> Date: Tue, 21 Sep 1993 08:17:23 GMT : 1. Continue with the idea I presented earlier. Use one TextFieldCell as : ScrollDoodScrool poorly demonstrates and just feed it different : sub-strings and give it different regions to draw in. Remember to set the : state of the cell to be similar to YOUR cell's state so the proper drawing : and highlighting happens. Make sure that all of YOUR cell's drawing : happens inside of drawInside:ofView: (from memory -- the method may be : different) and make sure you draw appropriate to your state. Already tried that. Looks great, but it's a bit slow (depending on how many cells i used in my cell, aprox. 20 cells) : 2. In your cells drawInside:ofView again, same brain) set up your : drawing state (font, color dependent on whether you're highlighted or : selected or not, etc.) and the draw each line with PSmoveto() and PSshow(). I don't get the point here :-). But i think this is what i have right now, The problem is that every single pixel gets redrawn except for text. That means if i use moveto and lineto it works. If i add a psshow and highlight the cell, all the other gfx shows up (moveto,lineto,rectfill ...) but no text :-( : If I'm missing the point, please gently straighten me out (I may break) : and I'll give it one more try. (Or, to please scott, I'll shut up.) Maybe it's just my way of explaning a simple thing :-) : Scott? : peter - Urs : -- : ...future author of: : "Safe Cellular Compilations at Speeds Greater Than 140 kph." : peter@tahiti.umhc.umn.edu (Peter Eisch) peter.a.eisch@uwrf.edu -- * Urs Gubser | Email: * * Bergheimstrasse 7 | ugubser@avalon.physik.unizh.ch (NeXT - mail) * * Zuerich | * * Switzerland | Bix: urs *
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Increasing the Buffer Size of a Port ... HELP! Message-ID: <1993Sep21.085800.6708@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <27kf5u$fjj@zip.eecs.umich.edu> Date: Tue, 21 Sep 1993 08:58:00 GMT In article <27kf5u$fjj@zip.eecs.umich.edu> hyongsop@saturn.eecs.umich.edu (Hyong S. Shim) writes: >Is there any way to increase the size of the message buffer of a Mach >port? I am playing with the Mach message system (as opposed to >Distributed Objects) and need to increase the default size of the buffer >allocated to a mach port. There are two different limits that apply to Mach ports. One is the maximum size of a simple message: MSG_SIZE_MAX (8192). That value can't be raised, and includes headers and type information. The other is the backlog--the number of messages that can be in transit. port_allocate initializes that to PORT_BACKLOG_DEFAULT (5), but you can raise it up to PORT_BACKLOG_MAX (16) using port_set_backlog(). -=EPS=-
From: trefoil.demon.co.uk!martin (Martin) Newsgroups: comp.sys.next.programmer Subject: DPSCreateStreamContext Date: 20 Sep 1993 21:19:05 +0100 Organization: any offers? Sender: martin@trefoil.demon.co.uk Distribution: world Message-ID: <27l37p$fn@trefoil.demon.co.uk> I have an application that wants to read data from the serial port and to pass it directly to the print spooler. The incoming data is postscript. I think, but am not sure that I want to use DPSCreateStreamContext to do this, but I can find very little in the way of documentation. I would be very grateful for any pointers to books or better still sample source on how to use DPSCreateStreamContext(). Alternatively would it be possible to just set the PS Context to the context found in the PrintInfo structure and issue DPSWritePostscript commands to that? Some how I can't believe it would be that simple. Martin Higham
From: mstankus@oba.ucsd.edu (Mark Stankus) Newsgroups: comp.sys.next.programmer Subject: Archiving a class? Message-ID: <54593@sdcc12.ucsd.edu> Date: 21 Sep 93 13:36:45 GMT Article-I.D.: sdcc12.54593 Sender: news@sdcc12.ucsd.edu Organization: Mathematics @ UCSD Hi, I am new to programming NeXT,so the following may be easy/well-known. Basically as far as I know, the object archiving (NXSave?) saves instances of objects. I want to be able to save a class. The longer version of the explination: Below, A is either 'program A' or 'file A'. If A refers to 'file A', then file A would be a binary file. A knows about class a. Program B does not know about class a when it is compiled, it does however know that A will give it a description of class a. The optimal solution would allow the user to be able to type in the name of (program/file) A and the name of class a at run time. If A above refers to file A, then there would have to be a program to create this file. I envision a short piece of code for which only a few lines are changed each time to create different files holding the classes (like the include line and maybe a preprocessor command). In this case, it would suffice to have Program B have the user type in just the name of the file (as I could store one class per file if nec.). If A above refers to program A, I would assume that B would be invoke it via a process. I think I would like the 'file A' solution better. I expect to have many A's sitting around and the file solution would use less space (I would think). What about speed? I have been reading the Garfinkel book. I am still (very) early in the design stage so ANY comments/suggestions would be appreciated. A list of NeXT object descriptions which I should look up in the General Reference manual to do this task would be very helpful. Thanks, Mark Stankus
From: dave@truth.asg.arlut.utexas.edu (Dave Slotnick) Newsgroups: comp.sys.next.programmer Subject: Can Edit be made to use spaces for tabs? Date: 21 Sep 1993 14:38:09 GMT Organization: The University of Texas at Austin, Austin, Texas Message-ID: <27n3kh$al6@geraldo.cc.utexas.edu> Hello! I'm looking for a way to make Edit use spaces for tabs, in exactly the way emacs does when indent-tabs-mode is set to nil. I use both Edit and emacs, but when I load up a document created with Edit into Emacs the tabs screw up my indentation scheme. -- *** David Slotnick *** Applied Research Laboratories *** dave@truth.asg.arlut.utexas.edu NeXTmail desired and appreciated
Newsgroups: comp.sys.next.programmer From: andrew@stone.com (Andrew Stone) Subject: Re: openFile:type method too early Message-ID: <1993Sep21.021256.10569@stone.com> Sender: andrew@stone.com Organization: Stone Design Corp References: <1993Sep20.130126.776@cc.usu.edu> Distribution: usa Date: Tue, 21 Sep 1993 02:12:56 GMT I'll just post this around the world to your site across town! This same bug has bitten me enough times... What I do is something like this: create a method, initApp: which calls the initialization methods once - it has a static class var, BOOL inited, that gets set once the initialization is done; then from each of the various entry points [appOpenFile:type:, appDidInit: for a normal launch, or appDidBecomeActive: if you are a good sportsperson and allow the app to launch in the background], you call initApp:. This way, everything is in order by the time the docs are launched. Here are the methods I have in the AppDelegate's class: static BOOL inited = NO; - appDidBecomeActive:sender { [self initApp:self]; return self; } - appDidInit:sender { [self initApp:nil]; // only if user wants the second half done return self; } - (int)appOpenFile:(const char *)fullPath type:(const char *)type { [self initApp:self]; return [NXApp appOpenFile:fullPath type:type]; } - initApp:sender { if (!inited) { inited = YES; [NXApp appDidInit:self]; // where real initialization code is } return self; } andrew In article <1993Sep20.130126.776@cc.usu.edu> writes: > I have an application that requires substantial initialization before > it can open files up properly. No problem, except that when a user > double clicks on a document icon and the application isn't already > running, it receives the openFile:type method well before it's > ready to open the files up. Is there a graceful way to postpone > this message until everything is ready to go? > > Any suggestions welcome! > > -- > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Howard Cole | > Nichols Research Corp. | hcole@tumbleweed.nrcabq.com > 2201 Buena Vista SE | > Suite 203 | "Leaders on the trailing > Albuquerque, NM 87106 | edge of technology" > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>|| !! Andrew Stone !! (505) 345-4800 !! !! andrew@stone.com <> Stone Design Corp !! ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>||
Newsgroups: comp.sys.next.programmer From: Scott Byer <byer@mv.us.adobe.com> Subject: Re: DPSCreateStreamContext Message-ID: <1993Sep21.154206.1438@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <27l37p$fn@trefoil.demon.co.uk> Date: Tue, 21 Sep 1993 15:42:06 GMT Martin writes > I have an application that wants to read data from the serial > port and to pass it directly to the print spooler. The incoming > data is postscript. I think, but am not sure that I want to > use DPSCreateStreamContext to do this, but I can find very > little in the way of documentation. > I would be very grateful for any pointers to books or better > still sample source on how to use DPSCreateStreamContext(). > Alternatively would it be possible to just set the PS Context to > the context found in the PrintInfo structure and issue > DPSWritePostscript commands to that? Some how I can't believe > it would be that simple. DPSCreateStreamContext doesn't open up a "real" context at all, but simply shoves everything at the stream provided, possibly with some conversion (e.g., from binary encoded objects to ASCII). You probably don't need any conversion - using DPSCreateStreamContext would be superfluous. If you believe the PostScript you are going to receive from the serial port is a full print job, then the way to do it would be to make sure the stream starts with "%!" and pipe it off to an lpr process. You could, in theory, simply use DPSWritePostscript to the printer context. I'm not sure if the printing package can add DSC comments at that point. To guarantee that you get the full benefits of the printing package, you'll have to do some work. You'll need to capture the PostScript stream, splitting it up into pages, and activate the print command, having drawSelf:: draw each of the pages in turn. 99% of the PostScript out there can be split up into pages simply by scanning for "showpage", but there are some annoying exceptions. -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: Scott Byer <byer@mv.us.adobe.com> Subject: Re: Drawing Text ? Message-ID: <1993Sep21.155722.2130@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <CDoK6G.Ass@news.cis.umn.edu> Date: Tue, 21 Sep 1993 15:57:22 GMT gubser urs (ugubser@avalon.unizh.ch) wrote: > I wonder how i can draw plain text into any view, without using > the Text object. Could someone give me an Example ? I don't know about "AppKit correct" ways - I'd jump immediately to using "xyshow" with a number string in a wrap. Let me pull up an example... In a wrap: defineps PLWDrawPlanets(float gray, X, Y; char CharString[i]; float numstring XYCoords[j]; int i, j) gray setgray X Y moveto (CharString) XYCoords xyshow endps In C: static void drawPlanetSet(PDrawingSet set, float gray) { set->deltas[set->last++] = 0.0; set->deltas[set->last++] = 0.0; PLWDrawPlanets(gray, set->firstX, set->firstY, set->radii, set->deltas, set->which, set->which * 2); } This is done within the confines of a lockFocus on the view to be drawn into. The deltas are in a single array, organized as pairs (I have a bad habit of not using multi-demensional arrays when I could - I don't trust compilers :-). Note that this one call could draw all the text for a view. The numstring is also a *very* efficient way of getting large amounts of numerical data into the interpreter. (If you are doing a lot of "rect" operations, consider going to the numstring form of those operators. You'll have to write your own wrap, but it can be worth it.) However, note that the values for xyshow are _deltas_, not absolute coordinates. That means that if you have to edit a portion of the string, it can be tricky. But the performance gains from coalescing everything into one show are significant (up to a point - don't try and show more that about 800 characters at once, or the interpreter bumps out of the "fast" special case). Do the xyshow along with the other graphics being drawn for your view - and don't forget to set the font for the view sometime beforehand. I wouldn't go setting it everytime, unless you are unsure how it's set. -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
From: dave_moore@next.com (Dave Moore) Newsgroups: comp.sys.next.programmer Subject: Re: I want to see more files in ProjectBuilder. Date: 20 Sep 1993 23:07:01 GMT Organization: NeXT, Inc. Distribution: world Message-ID: <27ld2l$6oj@rosie.next.com> References: <SCOTT.93Sep17003041@nic.gac.edu> In article <SCOTT.93Sep17003041@nic.gac.edu> scott@nic.gac.edu (Scott Hess) writes: > Anyone ever wish that there were a mode in ProjectBuilder under > which you could see _all_ your classes > Stuff deleted > Hmm, while we're here ... how in _heck_ do you get PB to add, for > instance, a French version of a .nib. > More stuff deleted > scott hess <shess@ssesco.com> <To the BatCube, Robin> Using HeaderViewer's way of deciding what to look at (a popup over the appropriate column in the browser) might be a nice way to deal with your first problem, but for 3.2 we've added a find mode that allows you to search your project textually. That should help you find things you've lost. As for the French version of a nib, you can drag a French.lproj directory into your resources suitcase (you can't use the Add Resources panel). Make sure it isn't a localized resource (no flag icon). Then it will get installed into you app wrapper at build time. Dave Moore
From: neuss@igd.fhg.de (Christian Neuss ) Newsgroups: comp.sys.next.programmer Subject: Re: GUI version of Vi Date: 21 Sep 93 18:19:57 GMT Organization: IGD Darmstadt Message-ID: <neuss.748635597@ramazzotti> References: <SANCHEZP.93Sep13110354@bigdog.engr.arizona.edu> <1993Sep15.114134.5410@ohm.york.ac.uk> ian@ohm.york.ac.uk (I Stephenson) writes: [munch] >I can imaging a Vi which behaves virtually like edit while in insert mode, >but pressing escape takes you into a Vi command mode, where all the great >keyboard driven stuff can take place. [munch] Yes! Yes! Yes! That'd be the greatest thing since sliced bread for all of us who grew up with vi and now fell in love with the mouse interface of Edit.app. I often miss the powerful pattern matching and macros that vi gives us.. just to think I could have both.. Boy, what an idea.. I bet I'm not the only person who'd pay good $$$ for this. Chris /* * Christian Neuss % neuss@igd.fhg.de % ..in the humdrum */
From: neuss@igd.fhg.de (Christian Neuss ) Newsgroups: comp.sys.next.programmer Subject: Re: EPS to TIFF with certain dpi...how? Date: 21 Sep 93 18:25:06 GMT Organization: IGD Darmstadt Message-ID: <neuss.748635906@ramazzotti> References: <1993Sep16.084609.606@cc.usu.edu> slv0y@cc.usu.edu writes: >How can I convert an EPS to a TIFF with a specific DPI? What I am looking for >is the ability to convert an EPS to a TIFF via the shell, and the resulting >TIFF will be manipulated via PBM stuff. Fairly easy.. use TIFFandEPS.app from the NextExamples. I think I picked up my copy at ftp.next.com. Chris /* * Christian Neuss % neuss@igd.fhg.de % ..in the humdrum */
From: campb001@casey.mc.duke.edu (Jim Campbell) Newsgroups: comp.object,comp.lang.smalltalk,comp.sys.next.programmer Subject: OO/RDBMS developers going to OOPSLA... Message-ID: <CAMPB001.93Sep21070759@casey.mc.duke.edu> Date: 21 Sep 93 11:07:59 GMT Sender: news@news.duke.edu Followup-To: comp.object Organization: /Lerna/Users/campb001/.organization I'm a programmer at Duke Medical center, where we've been writing OO client applications to access an RDBMS for a couple of years. I'll be attending OOPSLA and would like to talk shop with other developers who are involved with this sort of stuff. If you know of Birds of a Feather types of gatherings that will be going on and could drop me a line I'd appreciate it. Alternatively, if you'll be attending the conference and have similar interests drop me a line and I'll pass on what I find out. thanks, Jim -- Jim Campbell Duke Univ. Med. Center Info. Systems campb001@mc.duke.edu
From: aking@bbn.com (Allen King) Newsgroups: comp.sys.next.programmer Subject: DSP development on NS/FIP with JTAG Date: 21 Sep 1993 19:19:04 GMT Organization: Bolt Beranek and Newman Inc., Cambridge MA Distribution: world Message-ID: <m9ukt8INN8k4@news.bbn.com> We're planning a system containing a hand full of DPS chips (C40's or 96002's) and specialized hardware as a stand-alone system, which interfaces to a "host" for source development, operational control and graphics display. Since I've been using a Next at home for the last 18 months, I know the advantages of NextStep for developing the user interface on it, and I'd like the system I use at work to use NS/FIP. (Man, it's hard to "do X" after you've become accoustomed to NextStep.) And I think the GUI which resulted would turn some heads. However the devil lies in the details, and the GUI is not necessarily a part of the project which we want to take risks on. But if I could understand how the following would work, it might fly: 1) Source Tools: Theory says that DOS programs should "just work", given the correct DOS emulator. Is there something I have to buy that works with 3.1, and/or don't I remember that 3.2 comes with it bundled. What performance should I expect, what fraction of native DOS or windows mode? 2) Program Loading/Control: We plan to use JTAG, and I'd bet that there are custom boards for PC's that let you talk to DSP's that way. I'd also bet that their drivers do not support NS/FIP! Has anybody gotten NS/FIP to talk JTAG? If not, how long would it take to develop one? How would one go about it? What are good boards to use? How risky is it? 3) Data Exchange: We need only about 1MBit (on 4kByte blocks) and 15 feet here, and its implementation on both the DSP and NS end should be minimal. (Nothing fancy, fixed point to point.) What exists that is, or could be made to be, NS/FIP compatible. I've been thinking Async Serial, SCSII, JTAG, or ... Ideally, I'd like to put a couple of chips (or less) on the DSP board, buy an off the shelf board for the PC, and start accessing it through objects ;-) So I'm looking for approaches, pointers, experiences, sanity checks, driver consultants, bright ideas, or anything else which could help me bring this technology to my company. We plan to talk to the DSP manufacturers in the next few weeks, and info gained here will help. Thanks Allen King P.S.: Unfortunately, I am only able to read about 50% of this group, usually with some delay. Therefore I'd appreciate email responses, and I'll summarize (that is, providing my Pnews gets better). Thanks again. aking.bbn.com
Newsgroups: comp.sys.next.programmer From: BrianW@SoundS.WA.com (Brian Willoughby) Subject: Re: openFile:type method too early Message-ID: <CDpn3u.1uI@sounds.wa.com> Sender: brianw@sounds.wa.com (Brian Willoughby) Organization: Sound Consulting, Bellevue, WA, USA References: <1993Sep20.130126.776@cc.usu.edu> Distribution: usa Date: Tue, 21 Sep 1993 15:31:05 GMT hcole@tumbleweed.nrcabq.com (Howard R. Cole) writes | I have an application that requires substantial initialization before | it can open files up properly. No problem, except that when a user | double clicks on a document icon and the application isn't already | running, it receives the openFile:type method well before it's | ready to open the files up. Is there a graceful way to postpone | this message until everything is ready to go? Yes! Look up -appWillInit:sender in Librarian. I ran into the same trouble you have with initialization. After I found out about -appWillInit:, I moved the bare minimum of init code (just the stuff that was needed to open a file) from my -appDidInit: method (which comes too late) into -appWillInit: and all was well. I remember reading someone else's suggestion to write -appAcceptsAnotherFile:sender so that it returns NO at first, and then returns YES after initialization is complete. However, I haven't tried that approach: it seems like it would prevent the first document from opening. -- Brian Willoughby Software Design Engineer, BSEE from NCSU NeXTmail welcome Sound Consulting: Software Design and Development BrianW@SoundS.WA.com Bellevue, WA
Newsgroups: comp.sys.next.programmer From: mikes@ceco.ceco.com (Michael Stepniczka) Subject: Sending messages to multiple objects Message-ID: <CDq54q.1Ar@ceco.ceco.com> Sender: root@ceco.ceco.com (Operator) Organization: Commonwealth Edison Co. Date: Tue, 21 Sep 1993 22:00:25 GMT I seem to recall reading about a palette object for IB that allows you to take a single target/action (say from a button) and split it off to multiple receivers. I thought it was called something like Tee (maybe Tree?), but have not been able to find it or anything that sounds like it as a palette. Does anyone know if this actually exists and/or where to find it? Thanks in advance. Mike Stepniczka mikes@ceco.ceco.com
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: deciphering NeXT's ATC format Date: 21 Sep 1993 16:08:01 -0700 Message-ID: <27o1gh$nd5@ursula.ee.pdx.edu> Summary: Anyone deciphered the ATC format? I'm working on a Workspace Inspector for sound files. For ATC files, I'd like to provide a realtime spectrum analyzer. Can't get any info outa NeXT or CCRMA. Trouble is, ATC seems to extend its format as the complexity of the sound increases. For single frequency files, there appears to be two sets of ordered 10 word frequency data, possibly sin/cos transform coefficients. The remainder is variably sized, probably including phase information. For complex sound files, the blocks are larger than 10 bytes, and the obvious symmetry of the blocked the sine wave data is less evident. Has anyone figured the format out, or happen to have information they'd care to share? I hope they aren't so secretive with the NeXTime formats!
From: hugunin@mtl.mit.edu (James Hugunin) Newsgroups: comp.sys.next.programmer Subject: Accessing memory from vm_address_t Date: 22 Sep 1993 00:29:44 GMT Organization: Massachvsetts Institvte of Technology Message-ID: <27o69o$pv3@senator-bedfellow.MIT.EDU> Keywords: Drivers, virtual memory I recently posted a question about problems that I was having with using the mapMemoryRange method in a device driver. I have discovered that my problems resulted from not invoking this method in my initFromDeviceDescription method. My thanks to Joe Pasqua for pointing this out to me. Now I have another problem. Invoking mapMemoryRange returns me a variable of type vm_address_t. I can't for the life of me figure out what to do with this beast. I had thought that this could be cast into an arbitrary pointer and away you go. Unfortunately, this is not working out for me. Does anybody know how to properly use these vm_address_t variables? Thanks for any help you can offer, Jim Hugunin hugunin@mtl.mit.edu
Newsgroups: comp.sys.next.programmer From: pasqua@adobe.com Subject: Re: Accessing memory from vm_address_t Message-ID: <1993Sep22.004630.25714@adobe.com> Keywords: DriverKit Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <27o69o$pv3@senator-bedfellow.MIT.EDU> Date: Wed, 22 Sep 1993 00:46:30 GMT In article <27o69o$pv3@senator-bedfellow.MIT.EDU> hugunin@mtl.mit.edu (James Hugunin) writes: > > I recently posted a question about problems that I was having with using > the mapMemoryRange method in a device driver. I have discovered that my > problems resulted from not invoking this method in my > initFromDeviceDescription method. My thanks to Joe Pasqua for pointing > this out to me. > > Now I have another problem. Invoking mapMemoryRange returns me a variable > of type vm_address_t. I can't for the life of me figure out what to do > with this beast. I had thought that this could be cast into an arbitrary > pointer and away you go. Unfortunately, this is not working out for me. > > Does anybody know how to properly use these vm_address_t variables? > > Thanks for any help you can offer, > > Jim Hugunin hugunin@mtl.mit.edu You need not invoke mapMemoryRange only from initFromDeviceDescription, but you do need to be careful about what task you are running in when you make the call. From the documentation: Maps the device memory corresponding to localMemoryRange into the calling task's address space, and returns IO_R_SUCCESS. If you are making this call as the result of a get/set parameter invocation, you'll be in the wrong thread. Making this call from initFromDeviceDescription is a safe place to do it. Joe Pasqua
Newsgroups: comp.sys.next.misc,comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.hardware,comp.sys.next.sysadmin From: dean@world.std.com (Dean S Banfield) Subject: Re: Boot to DOS from a second hard disk? In-Reply-To: qiu@tree.egr.uh.edu's message of 19 Sep 1993 18:56:50 GMT Message-ID: <DEAN.93Sep21234457@world.std.com> Sender: dean@world.std.com (Dean S Banfield) Organization: The World Public Access UNIX, Brookline, MA References: <27ia1i$857@menudo.uh.edu> Date: Wed, 22 Sep 1993 04:44:57 GMT In article <27ia1i$857@menudo.uh.edu> qiu@tree.egr.uh.edu (Feng Qiu) writes: :: My system is a 486/DX2 66MHz with a 525 M hard disk loaded with :: NeXTStep3.1. I have a second hard disk bootable for DOS and Windows but :: without NeXTStep partition. My question is how can you boot to the second :: hard disk to DOS? Now in order to run DOS(I have no SoftPC) I have to :: disconnect the hard disk for NeXTStep and set it at master mode then :: reboot. :: Two choices, neither too pleasant: 1) Partition your 525 Next drive to add a small DOS partition. Install DOS on it, and have your AUTOEXEC transfer immediately to theother drive. With the DOS partition on the NS disk, you will be given the DOS option at boot time. You will have to scratch your NS partition ot do this. The DOS partition can be *quite* small, but if you make it too small, you must install DOS very manually on the 'D:' drive. The DOS install wants to be on the 'C:' drive. I run with a 5 MB DOS partition on my NS primary drive and it works fine when booted to DOS. 2) Create a diskette with your AUTOEXEC and CONFIG files on it. Place it in the primary drive when you wish to boot to DOS. Have your AUTOEXEC trans- fer control immediately to your D: drive. This is a bear, since any time the system needs to reload command.com, it will do it from the A: (diskette) drive, which is quite slow. Hope this is some help. -Dean -- Dean S. Banfield Voice: (203) 656-1500 Real Decisions Corporation FAX : (203) 656-1659 22 Thorndal Circle email: dean@world.std.com Darien, CT 06820
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.software,comp.sys.next.programmer Subject: Is anyone using SSS's CASE Tools? Followup-To: comp.sys.next.software Date: 21 Sep 1993 23:53:18 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <27oi7e$qvk@digifix.digifix.com> I'm looking for some information on the CASE tools that Software Services and Solutions is offering. They seem to have two products. I'd really like to hear from someone who is using either of them. Both of their products are for revision control. [followups set to comp.sys.next.software] -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: comp.sys.next.programmer From: mreynold@netcom.com (Marc B. Reynolds) Subject: Compiling GAS 2.1.1 Message-ID: <mreynoldCDqo7I.HBx@netcom.com> Organization: NETCOM On-line Communication Services (408 241-9760 guest) Date: Wed, 22 Sep 1993 04:52:29 GMT I'm trying to compile GAS v2.1.1, but I've run into a brick wall. The configuration script doesn't build a proper makefile and I haven't been able to hack one. I'm running 3.1 (black). Any insights are welcome. Thanks in advance for your time. -- ------------------------------------------------------------------------------- Marc B. Reynolds W: (510) 814-6384 mreynold@netcom.com H: (510) 814-9385 (No NeXT-mail) -------------------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: michel@unomain.teaser.com Subject: DEVICE DRIVER: Sending out of line data Message-ID: <1993Sep21.170010.27701@unomain.uucp> Sender: michel@unomain.uucp (Michel Gutierrez) Organization: Matra Communication Date: Tue, 21 Sep 1993 17:00:10 GMT We are currently developing a device driver for one of our communication board. It works fine, except a problem that blocks the entire development. Each time the driver receives a block of data from the hardware, it must sends a message to a port that belongs to a user application. The message is received except if the body contains out-of-line data. In this case, the msg_send function returns the code Invalid Memory. The message is built by hand, so we could miss something in the initialisation, but the same code works between to task at user level. The block of data to be sent is created using the vm_allocate function (with the value of kern_serv_kernel_task_port() as the first parameter). It is possible to read and write the allocated memory but not to pass it through the mach messaging system. The documentation says that it is better to use the msg_send_from_kernel function, instead of msg_send. Unfortunately, there is no prototype for this function anywhere. The function is in the library and the driver can be loaded, but when it tries to call the function, it plants the system. Has anybody an experience to share ? Did I miss something ? Thanks, Michel. -- ---------------------------------------------------- E-Mail: michel@unomain.teaser.com -----------------------------NeXT Mail-Welcome------
From: mstankus@oba.ucsd.edu (Mark Stankus) Newsgroups: comp.sys.next.programmer Subject: Do I want to use objc_loadModules()? Message-ID: <54607@sdcc12.ucsd.edu> Date: 22 Sep 93 06:23:51 GMT Sender: news@sdcc12.ucsd.edu Distribution: usa Organization: Mathematics @ UCSD Hi, I want to write a program which will be able to load classes from a file at run time. In the runtime chapter of the General reference manual, they mention the function objc_loadModules() which load class definitions from files. Sound great, but how does one create these files? This is basically archiving of classes as far as I can tell. Thanks, Mark Stankus
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Help resurrecting Sybase client area in 3.1 Date: 22 Sep 1993 11:21:50 +0100 Organization: me organized? That's a joke! Message-ID: <27p8vu$2fn@steffi.demon.co.uk> Would some kind sole tell me if these are all ie. the only files needed to restore the Sybase client library software under NS3.1 (black) Is anything missing? These are the files I found in DeveloperDoc.pkg, DeveloperTools.pkg and DeveloperLibs.pkg Does any Sybase stuff get installed from the User CD? If so I'm probably going to have to dig that out from a backup. It certainly is nice of NeXT to remove the DB-Library.pkg from the installation (HINT) /usr/sybase/include/sybdb.h /usr/sybase/include/sybdbtoken.h /usr/sybase/include/syberror.h /usr/sybase/include/sybfront.h /usr/sybase/include/syblogin.h /usr/sybase/lib/libsybdb.a /NextLibrary/Documentation/NextDev/Sybase/.index/displayCommand /NextLibrary/Documentation/NextDev/Sybase/4.6README.rtf /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Appendix/aa.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Coversheet.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Intro.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbadata.ex /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbadata.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbadlen.ex /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbadlen.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbaltbind.ex /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbaltbind.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbaltcolid.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbaltlen.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbaltop.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbalttype.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbbind.ex /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbbind.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbbylist.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbcancel.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbcanquery.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbchange.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbclose.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbclrbuf.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbclropt.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbcmd.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbcmdrow.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbcolbrowse.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbcollen.ex /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbcollen.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbcolname.ex /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbcolname.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbcolsource.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbcoltype.ex /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbcoltype.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbconvert.ex /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbconvert.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbcount.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbcurcmd.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbcurrow.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbdata.ex /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbdata.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbdatlen.ex /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbdatlen.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbdead.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dberrhandle.ex /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dberrhandle.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbexit.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbfcmd.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbfirstrow.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbfreebuf.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbfreequal.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbgetchar.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbgetmaxprocs.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbgetoff.ex /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbgetoff.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbgetrow.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbgettime.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbgetuserdata.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbhasretstat.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbinit.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbiordesc.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbiowdesc.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbisavail.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbisopt.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dblastrow.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dblogin.ex /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dblogin.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbloginfree.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbmorecmds.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbmoretext.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbmsghandle.ex /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbmsghandle.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbname.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbnextrow.ex /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbnextrow.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbnumalts.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbnumcols.ex /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbnumcols.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbnumcompute.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbnumorders.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbnumrets.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbopen.ex /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbopen.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbordercol.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbprhead.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbprrow.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbprtype.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbqual.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbrbuf.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbreadpage.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbresults.ex /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbresults.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbretdata.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbretlen.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbretname.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbretstatus.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbrettype.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbrows.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbrowtype.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbrpcinit.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbrpcparam.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbrpcsend.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbrpwclr.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbrpwset.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbsetavail.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbsetbusy.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbsetidle.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbsetifile.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbsetinterrupt.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbsetlapp.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbsetlhost.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbsetlogintime.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbsetlpwd.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbsetluser.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbsetmaxprocs.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbsetnull.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbsetopt.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbsettime.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbsetuserdata.ex /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbsetuserdata.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbsqlexec.ex /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbsqlexec.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbsqlok.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbsqlsend.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbstrcpy.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbstrlen.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbtabbrowse.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbtabcount.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbtabname.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbtabsource.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbtsnewlen.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbtsnewval.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbtsput.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbtxptr.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbtxtimestamp.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbtxtsnewval.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbtxtsput.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbuse.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbvarylen.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbwillconvert.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbwritepage.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/dbwritetext.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/errors.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/options.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/section2.title /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section2/types.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/abort_xact.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/bcp.title /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/bcp_batch.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/bcp_bind.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/bcp_colfmt.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/bcp_collen.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/bcp_colptr.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/bcp_columns.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/bcp_control.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/bcp_done.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/bcp_exec.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/bcp_init.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/bcp_moretext.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/bcp_sendrow.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/bcp_setl.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/build_xact_string.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/close_commit.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/commit_xact.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/distrib.title /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/open_commit.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/remove_xact.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/scan_xact.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/section3.title /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/start_xact.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/stat_xact.nr /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section3/twophase /NextLibrary/Documentation/NextDev/Sybase/DBLIB/author /NextLibrary/Documentation/NextDev/Sybase/DBLIB/docid /NextLibrary/Documentation/NextDev/Sybase/DBLIB/makefile /NextLibrary/Documentation/NextDev/Sybase/DBLIB/relno /NextLibrary/Documentation/NextDev/Sybase/DBLIB/title /NextLibrary/Documentation/NextDev/Sybase/DBLIB/toc.eps /NextLibrary/Documentation/NextDev/Sybase/DBLIB/vno /NextLibrary/Documentation/NextDev/Sybase/Front/disclaimer.nr /NextLibrary/Documentation/NextDev/Sybase/Macros/macros.new /NextLibrary/Documentation/NextDev/Sybase/Makefile /NextLibrary/Documentation/NextDev/Sybase/README.rtf /NextLibrary/Documentation/NextDev/Sybase/ReleaseBulletin_dblib.rtf /usr/sybase/doc/abort_xact.man /usr/sybase/doc/bcp.man /usr/sybase/doc/bcp_batch.man /usr/sybase/doc/bcp_bind.man /usr/sybase/doc/bcp_colfmt.man /usr/sybase/doc/bcp_collen.man /usr/sybase/doc/bcp_colptr.man /usr/sybase/doc/bcp_columns.man /usr/sybase/doc/bcp_control.man /usr/sybase/doc/bcp_done.man /usr/sybase/doc/bcp_exec.man /usr/sybase/doc/bcp_init.man /usr/sybase/doc/bcp_moretext.man /usr/sybase/doc/bcp_sendrow.man /usr/sybase/doc/bcp_setl.man /usr/sybase/doc/build_xact_string.man /usr/sybase/doc/close_commit.man /usr/sybase/doc/commit_xact.man /usr/sybase/doc/dbadata.man /usr/sybase/doc/dbadlen.man /usr/sybase/doc/dbaltbind.man /usr/sybase/doc/dbaltcolid.man /usr/sybase/doc/dbaltlen.man /usr/sybase/doc/dbaltop.man /usr/sybase/doc/dbalttype.man /usr/sybase/doc/dbbind.man /usr/sybase/doc/dbbylist.man /usr/sybase/doc/dbcancel.man /usr/sybase/doc/dbcanquery.man /usr/sybase/doc/dbchange.man /usr/sybase/doc/dbclose.man /usr/sybase/doc/dbclrbuf.man /usr/sybase/doc/dbclropt.man /usr/sybase/doc/dbcmd.man /usr/sybase/doc/dbcmdrow.man /usr/sybase/doc/dbcolbrowse.man /usr/sybase/doc/dbcollen.man /usr/sybase/doc/dbcolname.man /usr/sybase/doc/dbcolsource.man /usr/sybase/doc/dbcoltype.man /usr/sybase/doc/dbconvert.man /usr/sybase/doc/dbcount.man /usr/sybase/doc/dbcurcmd.man /usr/sybase/doc/dbcurrow.man /usr/sybase/doc/dbdata.man /usr/sybase/doc/dbdatlen.man /usr/sybase/doc/dbdead.man /usr/sybase/doc/dberrhandle.man /usr/sybase/doc/dbexit.man /usr/sybase/doc/dbfcmd.man /usr/sybase/doc/dbfirstrow.man /usr/sybase/doc/dbfreebuf.man /usr/sybase/doc/dbfreequal.man /usr/sybase/doc/dbgetchar.man /usr/sybase/doc/dbgetmaxprocs.man /usr/sybase/doc/dbgetoff.man /usr/sybase/doc/dbgetrow.man /usr/sybase/doc/dbgettime.man /usr/sybase/doc/dbgetuserdata.man /usr/sybase/doc/dbhasretstat.man /usr/sybase/doc/dbinit.man /usr/sybase/doc/dbiordesc.man /usr/sybase/doc/dbiowdesc.man /usr/sybase/doc/dbisavail.man /usr/sybase/doc/dbisopt.man /usr/sybase/doc/dblastrow.man /usr/sybase/doc/dblogin.man /usr/sybase/doc/dbloginfree.man /usr/sybase/doc/dbmorecmds.man /usr/sybase/doc/dbmoretext.man /usr/sybase/doc/dbmsghandle.man /usr/sybase/doc/dbname.man /usr/sybase/doc/dbnextrow.man /usr/sybase/doc/dbnumalts.man /usr/sybase/doc/dbnumcols.man /usr/sybase/doc/dbnumcompute.man /usr/sybase/doc/dbnumorders.man /usr/sybase/doc/dbnumrets.man /usr/sybase/doc/dbopen.man /usr/sybase/doc/dbordercol.man /usr/sybase/doc/dbprhead.man /usr/sybase/doc/dbprrow.man /usr/sybase/doc/dbprtype.man /usr/sybase/doc/dbqual.man /usr/sybase/doc/dbrbuf.man /usr/sybase/doc/dbreadpage.man /usr/sybase/doc/dbresults.man /usr/sybase/doc/dbretdata.man /usr/sybase/doc/dbretlen.man /usr/sybase/doc/dbretname.man /usr/sybase/doc/dbretstatus.man /usr/sybase/doc/dbrettype.man /usr/sybase/doc/dbrows.man /usr/sybase/doc/dbrowtype.man /usr/sybase/doc/dbrpcinit.man /usr/sybase/doc/dbrpcparam.man /usr/sybase/doc/dbrpcsend.man /usr/sybase/doc/dbrpwclr.man /usr/sybase/doc/dbrpwset.man /usr/sybase/doc/dbsetavail.man /usr/sybase/doc/dbsetbusy.man /usr/sybase/doc/dbsetidle.man /usr/sybase/doc/dbsetifile.man /usr/sybase/doc/dbsetinterrupt.man /usr/sybase/doc/dbsetlapp.man /usr/sybase/doc/dbsetlhost.man /usr/sybase/doc/dbsetlogintime.man /usr/sybase/doc/dbsetlpwd.man /usr/sybase/doc/dbsetluser.man /usr/sybase/doc/dbsetmaxprocs.man /usr/sybase/doc/dbsetnull.man /usr/sybase/doc/dbsetopt.man /usr/sybase/doc/dbsettime.man /usr/sybase/doc/dbsetuserdata.man /usr/sybase/doc/dbsqlexec.man /usr/sybase/doc/dbsqlok.man /usr/sybase/doc/dbsqlsend.man /usr/sybase/doc/dbstrcpy.man /usr/sybase/doc/dbstrlen.man /usr/sybase/doc/dbtabbrowse.man /usr/sybase/doc/dbtabcount.man /usr/sybase/doc/dbtabname.man /usr/sybase/doc/dbtabsource.man /usr/sybase/doc/dbtsnewlen.man /usr/sybase/doc/dbtsnewval.man /usr/sybase/doc/dbtsput.man /usr/sybase/doc/dbtxptr.man /usr/sybase/doc/dbtxtimestamp.man /usr/sybase/doc/dbtxtsnewval.man /usr/sybase/doc/dbtxtsput.man /usr/sybase/doc/dbuse.man /usr/sybase/doc/dbvarylen.man /usr/sybase/doc/dbwillconvert.man /usr/sybase/doc/dbwritepage.man /usr/sybase/doc/dbwritetext.man /usr/sybase/doc/defncopy.man /usr/sybase/doc/errors.man /usr/sybase/doc/isql.man /usr/sybase/doc/open_commit.man /usr/sybase/doc/options.man /usr/sybase/doc/remove_xact.man /usr/sybase/doc/scan_xact.man /usr/sybase/doc/start_xact.man /usr/sybase/doc/stat_xact.man /usr/sybase/doc/syman.man /usr/sybase/doc/types.man /usr/sybase/bin/isql /usr/sybase/bin/syman /usr/sybase/install/SPR/cpr_dblib /usr/sybase/install/SPR/spr_dblib /usr/sybase/interfaces /usr/sybase/msgs/copyright_dblib /usr/sybase/sample/dblibrary/README /usr/sybase/sample/dblibrary/datafile /usr/sybase/sample/dblibrary/example1.c /usr/sybase/sample/dblibrary/example2.c /usr/sybase/sample/dblibrary/example3.c /usr/sybase/sample/dblibrary/example4.c /usr/sybase/sample/dblibrary/example5.c /usr/sybase/sample/dblibrary/example6.c /usr/sybase/sample/dblibrary/example7.c /usr/sybase/sample/dblibrary/example8.c /usr/sybase/sample/dblibrary/example9.c /usr/sybase/sample/dblibrary/installsample /usr/sybase/sample/dblibrary/makefile /usr/sybase/sample/dblibrary/twophase.c /usr/sybase/scripts/SetVars
From: yygold@yadin.phyast.pitt.edu (Yadin Y. Goldschmidt) Newsgroups: comp.sys.next.misc,comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.hardware,comp.sys.next.sysadmin Subject: Re: Boot to DOS from a second hard disk? Message-ID: <2254@blue.cis.pitt.edu> Date: 22 Sep 93 13:45:37 GMT References: <27ia1i$857@menudo.uh.edu> <DEAN.93Sep21234457@world.std.com> Sender: news+@pitt.edu Followup-To: comp.sys.next.misc,comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.hardware,comp.sys.next.sysadmin Dean S Banfield (dean@world.std.com) wrote: : In article <27ia1i$857@menudo.uh.edu> qiu@tree.egr.uh.edu (Feng Qiu) writes: : :: My system is a 486/DX2 66MHz with a 525 M hard disk loaded with : :: NeXTStep3.1. I have a second hard disk bootable for DOS and Windows but : :: without NeXTStep partition. My question is how can you boot to the second : :: hard disk to DOS? Now in order to run DOS(I have no SoftPC) I have to : :: disconnect the hard disk for NeXTStep and set it at master mode then : :: reboot. : :: : Two choices, neither too pleasant: 1) Partition your 525 Next drive to add : a small DOS partition. Install DOS on it, and have your AUTOEXEC transfer : immediately to theother drive. With the DOS partition on the NS disk, you : will be given the DOS option at boot time. You will have to scratch your : NS partition ot do this. The DOS partition can be *quite* small, but if : you make it too small, you must install DOS very manually on the 'D:' drive. : The DOS install wants to be on the 'C:' drive. I run with a 5 MB DOS : partition on my NS primary drive and it works fine when booted to DOS. 2) : Create a diskette with your AUTOEXEC and CONFIG files on it. Place it : in the primary drive when you wish to boot to DOS. Have your AUTOEXEC trans- : fer control immediately to your D: drive. This is a bear, since any time : the system needs to reload command.com, it will do it from the A: (diskette) : drive, which is quite slow. Hope this is some help. : -Dean : -- : Dean S. Banfield Voice: (203) 656-1500 : Real Decisions Corporation FAX : (203) 656-1659 : 22 Thorndal Circle email: dean@world.std.com : Darien, CT 06820 This is not quite right since if I remember correctly from my DOS days you can issue the command 'set shell=d:\command.com' or something like that in the autoexec.bat file and then the system will look for command.com on drive d: and not on drive a:. Yadin.
From: yygold@yadin.phyast.pitt.edu (Yadin Y. Goldschmidt) Newsgroups: comp.sys.next.misc,comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.hardware,comp.sys.next.sysadmin Subject: Re: Boot to DOS from a second hard disk? Message-ID: <2255@blue.cis.pitt.edu> Date: 22 Sep 93 13:51:15 GMT References: <27ia1i$857@menudo.uh.edu> <DEAN.93Sep21234457@world.std.com> <2254@blue.cis.pitt.edu> Sender: news+@pitt.edu Followup-To: comp.sys.next.misc Actually the right command is set comspec=d:\command.com
Newsgroups: comp.sys.next.programmer From: Aris Theocharides <aris@maths.mu.OZ.AU> Subject: Mathematica and NeXTstep cohesion Message-ID: <9326600.24738@mulga.cs.mu.OZ.AU> Sender: news@cs.mu.OZ.AU Organization: Computer Science, University of Melbourne, Australia Date: Wed, 22 Sep 1993 14:37:26 GMT I am interested in any source or demo apps that use Mathematica as a work engine with a NeXTstep front end. I used to have some plotting programs a while back but lost the origin. Anyone have any? Or know where to look? Send by NeXTmail is okay and preferred, but anything will be appreciated. Aris Theocharides OZNeXT User Group Vice-President <aris@maths.mu.OZ.AU> -- name: aris theocharides. address: room g63, maths dept, melb uni, parkville, vic, australia, 3052. phone [+613] uni: 344.40.21, home: 489.90.14, fax: 344.45.99 e.mail: aris@foucault.maths.mu.OZ.AU (NeXTmail)
From: pkron@corona.com (Peter Kron) Organization: Corona Design, Inc., Seattle, WA Date: Wed, 22 Sep 1993 06:34:41 PDT Message-ID: <1993Sep22.133441.1892@corona.com> Newsgroups: comp.sys.next.programmer Subject: Do I want to use objc_loadModules()? References: <54607@sdcc12.ucsd.edu> mstankus@oba.ucsd.edu (Mark Stankus) writes: > I want to write a program which will be able to load classes > from a file at run time. In the runtime chapter of the General > reference manual, they mention the function > objc_loadModules() which load class definitions from files. > Sound great, but how does one create these files? The files are just .o files from the compiler. You can also group them into a combined .o too. objc_loadModules is a little quirky, in that it "stacks" classes into your app, and to remove them you "unstack" them. That makes it tricky to unload classes that you don't want without removing some you do. Usually, though, you don't unload classes anyway. This is easier if you just create bundle projects and use the NXBundle class. This class provides methods for loading the classes in the bundle. --- NeXTMail:Peter_Kron@corona.com Corona Design, Inc. P.O. Box 51022 Seattle, WA 98115-1022
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: what happened to comp.sources.postscript? Message-ID: <CDrFFK.8H@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems Date: Wed, 22 Sep 1993 14:40:32 GMT did comp.sources.postscript dissapear? -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: I want to see more files in ProjectBuilder. Message-ID: <1993Sep22.133741.287@afs.com> Sender: Michael_Pizolato@afs.com References: <27ld2l$6oj@rosie.next.com> Date: Wed, 22 Sep 1993 13:37:41 GMT Dave Moore writes [some deleted] >As for the French version of a nib, you can drag a French.lproj >directory into your resources suitcase (you can't use the Add >Resources panel). Make sure it isn't a localized resource (no >flag icon). Then it will get installed into you app wrapper at >build time. I'd like to put in a request at this point for a mechanism in both PB and the makefiles to elevate NonEngligh.lproj directories to equal status with English.lproj. The technique you describe above doesn't seem satisfying. Are PB and the makefiles headed at all in this direction? IMHO they should if anyone wants to be serious about internationalization. Thanx, Michael -- Michael_Pizolato@afs.com NeXTMail appreciated
Newsgroups: comp.sys.next.programmer From: sargent@black_duomo (Jeff Sargent) Subject: Workspace descends ApplicationPaths' subdirectories? Message-ID: <1993Sep22.152930.20664@il.us.swissbank.com> Sender: root@il.us.swissbank.com (Operator) Organization: Swiss Bank Corporation CM&T Division Date: Wed, 22 Sep 1993 15:29:30 GMT I have an application Kor.app that opens files throught the usual methods when you double click on a file with the correct name suffix. If I have a directory like ~/MyApps in my ApplicationPaths default, the Workspace finds the occurrence of Kor.app in ~/MyApps, and also appears to descend into subdirectories like ~/MyApps/Proto looking for applications. Not only that, the version of the app found in ~/MyApps/Proto is given first dibs on files double-clicked from the Workspace. (For example, select a file in the workspace like barf.tiff, hit command-3 to see an ordered list of apps that can open this file). I was surprised that apps in SUBDIRECTORIES of the directories listed in my ApplicationPaths were registered by the workspace. Is there any way to subvert this feature? (i.e. strip permissions, name the subdirectories with special characters, etc.) Thanks for any info -- - Jeff sargent@il.us.swissbank.com
Newsgroups: comp.sys.next.programmer From: westner@picasso.pst.informatik.uni-muenchen.de (Dominik Westner) Subject: Can't connect to oracle database Sender: news@informatik.uni-muenchen.de (News System) Message-ID: <CDrKpF.KF1@informatik.uni-muenchen.de> Date: Wed, 22 Sep 1993 16:34:27 GMT Organization: Institut fuer Informatik der Universitaet Muenchen Keywords: oracle dbkit hello, I was unable to connect to our new Oracle Database. I'm a bit confuses about the orcacle login panel: Server-ID: the machine, where oracle is running: (eg. oracleMachine.domain.domain.domain) Hostname: myMachine.domain.domain.domain User: myAccountname for oracle Passwd: myPasswd for Oracle I was wondering where to put the name of the database. So I tried it this way: Server-ID: the name of the database, eg. myDatabase Hostname: oracleMachine.domain.domain.domain User: myAccountname for oracle Passwd: myPasswd for Oracle both didn't work. I tried to connect from a HP workstation with sqlplus to the database, no problem at all. I can't try from the NeXT workstation, because we don't have sqlplus NeXTbinaries. Can anybody help? Thanks --- Dominik Westner "Everything is possible in an infinite universe" ______________________________________________________Willi, the painter Dominik Westner Muenchen-Germany HOME: dominik@blackmagic.guug.de [NeXTMail welcome] UNI: westner@informatik.uni-muenchen.de [NeXTMail welcome]
From: dave@truth.asg.arlut.utexas.edu (Dave Slotnick) Newsgroups: comp.sys.next.programmer Subject: linker problem / possible bug Date: 22 Sep 1993 16:36:40 GMT Organization: The University of Texas at Austin, Austin, Texas Message-ID: <27puuo$q4u@geraldo.cc.utexas.edu> Hello! I am trying to link together some object files and libraries and am having problems. I don't think the *substance* of the objects is relevant, so I won't discuss the nature of my code. All of the objects involved have been linked before into a running program. There are no missing functions or variables. I issued the following command at least twenty times over a period of two days: cc -o tm -g -O tracer_main.o ping.o io.o -I. -L. -lm -lRay when suddenly it began spitting out the following errors: ld: __DATA segment (address = 0x6000 size = 0x112aa000) of tm overlaps with __TEXT segment (address = 0x5000000 size = 0xa2000) of /usr/shlib/libsys_s.B.shlib ld: __DATA segment (address = 0x6000 size = 0x112aa000) of tm overlaps with __DATA segment (address = 0x4010000 size = 0x8000) of /usr/shlib/libsys_s.B.shlib ld: __DATA segment (address = 0x6000 size = 0x112aa000) of tm overlaps with __OBJC segment (address = 0x4018000 size = 0x8000) of /usr/shlib/libsys_s.B.shlib ld: __DATA segment (address = 0x6000 size = 0x112aa000) of tm overlaps with __LINKEDIT segment (address = 0x50b0000 size = 0x4) of /usr/shlib/libsys_s.B.shlib I haven't touched the shared library libsys_s.B.shlib, and the modification time indicates that nothing else has either. The only other information that seems relevant is that the files are located on a mounted file system. Has anyone else experienced this problem, or something similar? -- *** David Slotnick *** Applied Research Laboratories *** dave@truth.asg.arlut.utexas.edu NeXTmail desired and appreciated
From: bbeckwit@carrock.hw.stratus.com (Bob Beckwith) Newsgroups: comp.sys.next.programmer Subject: Re: deciphering NeXT's ATC format Date: 22 Sep 1993 17:56:37 GMT Organization: Stratus Computer, Inc. Message-ID: <27q3kl$k1r@transfer.stratus.com> References: <27o1gh$nd5@ursula.ee.pdx.edu> In article <27o1gh$nd5@ursula.ee.pdx.edu> marcus@ursula.ee.pdx.edu (Marcus Daniels) writes: >I'm working on a Workspace Inspector for sound files. For ATC >files, I'd like to provide a realtime spectrum analyzer. Can't >get any info outa NeXT or CCRMA. [stuff deleted] >I hope they aren't so secretive with the NeXTime formats! Once upon a time... NeXT was considering (pursuing?) obtaining patents on ATC. As you're no doubt aware, the principal inventor is also affiliated with CCRMA. I don't know what the status of the patent application is, but any type of public disclosure would essentially place the invention into the public domain and effectively invalidate the patent application. It would also not be unreasonable to expect to see similar measures taken to protect NeXTime formats. Sorry dude. Welcome to the "real world" (repleat with all it's legalities). Of course, there is a silver lining. When the patent issues, you should have access to all the information you need (you just need to have some patience (perhaps a lot, given the back log at the patent office)). --Bob -- Bob_Beckwith@vos.stratus.com Stratus Computer, Inc., Hardware Engineering 55 Fairbanks Blvd. Marlboro, MA 01752 USA
Newsgroups: comp.sys.next.programmer From: hannes@elin-ekt.co.at (J.J.Deepwell) Subject: Re: Anyone have an example of using Instance drawing? Message-ID: <1993Sep22.180217.1974@elin-ekt.co.at> Keywords: instance drawing PostScript Sender: hannes@elin-ekt.co.at Organization: ELIN Energieanwendungen Ges.m.b.H. Date: Wed, 22 Sep 1993 18:02:17 GMT In article <CBLvxs.5Cv@lorax.com> mike@lorax.com (Mike Ferris) writes: >Not so fast. Perhaps this is the answer. If lockFocus and unlockFocus on >your two views doesn't work now, try giving each view its own dps context. >If you don't explicitly give a view its own context it draws in the >window's context. Instance drawing may only allow one "instance" per >context. So try it that way. A DPS context is, I believe, about as >encapsulated as you can get in DPS, so if this doesn't work, I would begin >to doubt its possibility. > >I don't actually know if this will work, but it seems worth a try. Sorry, but I think this also will not work. The newinstance ps-operator doesn't care about a lockedFocus or a context. Put there is a ps-operator, which removes the instance drawing in a particular arrea: From /NextLibrary/Documentation/NextDev/GeneralRef/05_DisplayPS/Operators/PSOperator s.rtfd: ---------------------------------------------------------------- hideinstance x y width height hideinstance - In the current window, hideinstance removes any instance drawing from the rectangle specified by x, y, width, and height. x, y, width, and height are given in the window's current coordinate system. ---------------------------------------------------------------- With this operator and the bounds rect of the view from which you want to remove the instance drawing, you should be able to solve the problem. But **NOTE**! Every redrawing (flushing the window etc.) will erase your instance drawing as well! J.J.Deepwell hannes@elin-ekt.co.at NeXTmail ok!
From: dave_moore@next.com (Dave Moore) Newsgroups: comp.sys.next.programmer Subject: Re: I want to see more files in ProjectBuilder. Date: 22 Sep 1993 18:11:44 GMT Organization: NeXT, Inc. Message-ID: <27q4h0$94f@rosie.next.com> References: <1993Sep22.133741.287@afs.com> In article <1993Sep22.133741.287@afs.com> Michael_Pizolato@afs.com (Michael Pizolato) writes: > Dave Moore writes > [some deleted] > >As for the French version of a nib, you can drag a French.lproj > >directory into your resources suitcase (you can't use the Add > >Resources panel). Make sure it isn't a localized resource (no > >flag icon). Then it will get installed into you app wrapper at > >build time. > > I'd like to put in a request at this point for a mechanism in both > PB and the makefiles to elevate NonEngligh.lproj directories to > equal status with English.lproj. The technique you describe above > doesn't seem satisfying. Are PB and the makefiles headed at all > in this direction? IMHO they should if anyone wants to be serious > about internationalization. > > Thanx, > Michael > > -- > Michael_Pizolato@afs.com > NeXTMail appreciated Internationalization definitely isn't supported at the same level as single language development, but it isn't obvious that it needs to be. Here at NeXT we basically work on one language, then send out the English.lproj to someone to do the translation. We aren't doing hard core work in all of our languages at the same time. What's more important than adding support to PB is enabling tools to point out differences in resources, so that the translators can know what's changed from the last time they translated the nibs. Also so that the translations can be checked for accuracy. By the way, the above mechanism allows you to go to the Attributes mode and change your main language so that you can work on the alternate languages. Remember to change it back so that all the languages get installed. This is an area we could make better. There are some other small changes we could make to enable better multi-language development. But I don't think we want to go overboard. Most apps are not multi-language, and we need to support all our customers. Dave Moore
From: Jeff_Martin@NeXT.com (Jeff Martin) Newsgroups: comp.sys.next.programmer Subject: Re: (not a valid program) from ProjectBuilder applications Date: 21 Sep 1993 19:47:43 GMT Organization: NeXT, Inc. Message-ID: <27nlov$7vi@rosie.next.com> References: <CDJJ23.Kt0@sounds.wa.com> This is a known bug in 3.1 (and is fixed in 3.2). It is ticked when for some reason Workspace marks an application as 'unrunnable' or 'wrong architecture' in its internal cache. This can happen if you have an application that you first build for another architecture (than the one you are on) and try to run (at this point WS marks it as wrong architecture) then you rebuild it for the correct architecture, but its old status remains in the Workspace cache. The solution (until 3.2 is available) is any of the ones that Brian mentions: Move the project, log out or run it from the command line. This shouldn't happen very often. ... jeff In article <CDJJ23.Kt0@sounds.wa.com> BrianW@SoundS.WA.com (Brian Willoughby) writes: > > So far, I have converted two applications from 3.0 to 3.1 and found that > ProjectBuilder will not Run them. The first time around, I managed to make the > problem go away - but I don't know how. Now that it is happening with a second > project, I notice three things: 1) I cannot run the program by double-clicking > it in the Workspace either. 2) I can run the program in place from the command > line (i.e. the copy of the app that's in the project directory). 3) I can run > the program from the Workspace if I first drag it into another directory > (either moving or copying it will work). >
From: jdoenias@next.com (Josh Doenias) Newsgroups: comp.sys.next.programmer Subject: Re: linker problem / possible bug Date: 22 Sep 1993 18:47:02 GMT Organization: NeXT, Inc. Message-ID: <27q6j6$95r@rosie.next.com> References: <27puuo$q4u@geraldo.cc.utexas.edu> In article <27puuo$q4u@geraldo.cc.utexas.edu> dave@truth.asg.arlut.utexas.edu (Dave Slotnick) writes: > >Hello! I am trying to link together some object files and libraries and >am having problems. I don't think the *substance* of the objects is >relevant, so I won't discuss the nature of my code. > >All of the objects involved have been linked before into a running >program. There are no missing functions or variables. I issued the >following command at least twenty times over a period of two days: > > cc -o tm -g -O tracer_main.o ping.o io.o -I. -L. -lm -lRay > >when suddenly it began spitting out the following errors: > > ld: __DATA segment (address = 0x6000 size = 0x112aa000) of tm overlaps > with __TEXT segment (address = 0x5000000 size = 0xa2000) of > /usr/shlib/libsys_s.B.shlib > ld: __DATA segment (address = 0x6000 size = 0x112aa000) of tm overlaps > with __DATA segment (address = 0x4010000 size = 0x8000) of > /usr/shlib/libsys_s.B.shlib > ld: __DATA segment (address = 0x6000 size = 0x112aa000) of tm overlaps > with __OBJC segment (address = 0x4018000 size = 0x8000) of > /usr/shlib/libsys_s.B.shlib > ld: __DATA segment (address = 0x6000 size = 0x112aa000) of tm overlaps > with __LINKEDIT segment (address = 0x50b0000 size = 0x4) of > /usr/shlib/libsys_s.B.shlib > If you look at that error message, what it is saying is not that there is a problem with libsys, but that there is a problem with the DATA segment in your program (or one of your libraries). It is saying that your static DATA is about 280 megabytes. That's way way way too big. The linker is saying that a DATA segment of that size would overlap with where libsys lives. To give you an idea of scale, the largest app on our system (Workspace) has a DATA segment size of 8k. Remember that the DATA segment contains mostly global and static data (stuff that was declared at compile time). If I were you, I would look at all the .o files and the libraries that are in your project and try and figure out which file is the offending one. You can do this using the size(1) command: > size myfile.o __TEXT __DATA __OBJC others dec hex 112 0 0 0 112 70 > size libMyLib.a __TEXT __DATA __OBJC others dec hex 9164 0 0 0 9164 23cc libMyLib.a(sneezy.o) 240 0 0 0 240 f0 libMyLib.a(sleepy.o) 164 0 0 0 164 a4 libMyLib.a(grumpy.o) 512 512 0 0 1024 400 libMyLib.a(dopey.o) 512 512 0 0 1024 400 libMyLib.a(doc.o) 512 0 0 0 512 200 libMyLib.a(happy.o) 512 256 0 0 256 100 libMyLib.a(sleazy.o) This should give you a starting point of where to look. From there you can try and figure out why that file has such an obscene DATA size. Good luck. -- josh Joshua Doenias Virtual Distributed Object-Oriented Client/Server MultiMedia Group, NeXT Computer, Inc.
Newsgroups: comp.sys.next.programmer From: kozuch@bombay.Princeton.EDU (Michael Alan Kozuch) Subject: Static code? Message-ID: <1993Sep22.184132.21654@Princeton.EDU> Originator: news@nimaster Keywords: static code, compiling Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University Date: Wed, 22 Sep 1993 18:41:32 GMT I am working on a 486 machine running NeXT Mach 3.1, and I would like to compile for static code (i.e. NO shared libraries). Does anyone know how to do this for C and Fortran code? (Similar to the cc -Bstatic command on Sun systems). Thanks, Mike Kozuch
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Re: deciphering NeXT's ATC format Date: 22 Sep 1993 15:02:50 -0700 Organization: Portland State University Message-ID: <27qi2a$g2n@ursula.ee.pdx.edu> References: <27o1gh$nd5@ursula.ee.pdx.edu> <27q3kl$k1r@transfer.stratus.com> > Once upon a time... NeXT was considering (pursuing?) obtaining >patents on ATC. As you're no doubt aware, the principal inventor >is also affiliated with CCRMA. I don't know what the status of >the patent application is, but any type of public disclosure >would essentially place the invention into the public domain >and effectively invalidate the patent application. It would also not >be unreasonable to expect to see similar measures taken to protect >NeXTime formats. > Public disclosure? Why can't they just say: "No, it's proprietary". And why can't they say that in the documentation? It wouldn't discourage me from figuring it out for myself, but at least they would have one less pissed-off customer. [ unrelated yelling ] NeXT's documentation is always like that, it isn't what they say, it's what they don't say. Especially in development docs, I for one, wouldn't be horrified to read `this class is temporary, the API may change, is braindead, etc...'. In fact it would emphasize the quality of the good stuff. > Sorry dude. Welcome to the "real world" (repleat with all it's >legalities). > Of course, there is a silver lining. When the patent issues, >you should have access to all the information you need (you just >need to have some patience (perhaps a lot, given the back log at >the patent office)). > Yes, now I'm annoyed.
From: eric@skatter.USask.Ca (Eric Norum) Newsgroups: comp.sys.next.programmer Subject: Can't use gdb after upgrading to 3.1 Date: 22 Sep 1993 22:38:03 GMT Organization: University of Saskatchewan, Saskatoon, Canada Distribution: world Message-ID: <27qk4b$3df@tribune.usask.ca> We just `upgraded' our NeXTstations from 3.0 to 3.1. Now whenever we try to debug anything, we get the message csh: privileges disabled because of outstanding IPC access to task in the gdb terminal window whenever we start the process being debugged. Also, we get messages like [3]+ Stopped (tty output) gdb -n DutyFactorMeter.debug/DutyFactorMeter followed by a shell prompt when we're single stepping through a program. If we type a `fg' in the gdb terminal window the debugger seems to start up again. What did we do wrong when we upgraded? The only files listed in the /UpdatedFiles directory are: TableOfContents apps3_0.wmd defaults3_0.wmd dvips.1 rc None of these seem unreasonable to me (we have to make a little change to rc to get it to run with our SUN's NFS automounter). I looked in NeXTanswers and found an entry (debug.849) that mentions that the `privileges disabled' message can occur when trying to debug a program program that runs a setuid subprocess. But we aren't trying to do this. Has anybody had this kind of problem with 3.1? -- Eric Norum eric@skatter.usask.ca Saskatchewan Accelerator Laboratory University of Saskatchewan Saskatoon, Canada. NeXTMail accepted.
Newsgroups: comp.sys.next.programmer From: cjb@canopus.Stanford.EDU (Cecil Bloch) Subject: NXBrowserCell subclass with lazy browser Message-ID: <1993Sep22.224721.19970@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: Stanford University Date: Wed, 22 Sep 93 22:47:21 GMT Has anyone used a custom subclass of NXBrowserCell with a lazy browser -- specifically, overriding drawInside:inView:? The difficulties I'm having are too convoluted to explain in full but in short, I cannot get this to work. Only if I [super drawInside:inView:] do I get proper rendering of cells of the lazy browser, but I do need to do some custom drawing. The subclass I want has an icon, and two distinct text fields. It may later have two icons. I have tried three different approaches to implementing drawInside:inView: (a) using a class-wide shared Cell (text cell) as recommended in one of the NeXT examples; (b) letting each instance of my subclass have its own instance of a Cell to do the text drawing; (c) direct drawing using PostScript PSshow, etc. All three give bizarre results. Has anyone out there any experience of this, any knowledge of known problems, quirks, work-arounds, necessary fiddles, etc???
From: tomcoop@bcarh775.bnr.ca (Steven Besler) Newsgroups: comp.sys.next.programmer Subject: Re: Do I want to use objc_loadModules()? Followup-To: comp.sys.next.programmer Date: 22 Sep 1993 21:30:19 GMT Organization: Bell-Northern Research, Ottawa, Canada Sender: tomcoop@bcarh775 (Steven Besler) Distribution: world Message-ID: <27qg5c$h6b@bcars64a.bnr.ca> References: <54607@sdcc12.ucsd.edu> <1993Sep22.133441.1892@corona.com> In article <1993Sep22.133441.1892@corona.com>, pkron@corona.com (Peter Kron) writes: |> mstankus@oba.ucsd.edu (Mark Stankus) writes: |> > I want to write a program which will be able to load classes |> > from a file at run time. In the runtime chapter of the General |> > reference manual, they mention the function |> > objc_loadModules() which load class definitions from files. |> > Sound great, but how does one create these files? |> |> The files are just .o files from the compiler. You can also |> group them into a combined .o too. |> |> objc_loadModules is a little quirky, in that it "stacks" |> classes into your app, and to remove them you "unstack" them. |> That makes it tricky to unload classes that you don't want |> without removing some you do. Usually, though, you don't |> unload classes anyway. |> |> This is easier if you just create bundle projects and use the |> NXBundle class. This class provides methods for loading the |> classes in the bundle. [munch .sig] OK, so what I wanna know is does objc_loadModules() exist in GNU Obj-C ? Last time I checked it didn't seem to be. I'm worried about portability for a non-appkit programm I'm thinking about writing. Next question: DO for GNU Obj-C ? :-) I know... I'm dreaming. -- Steven Besler I disclaim, therefore I am (employed).
Newsgroups: comp.sys.next.programmer From: mike@lorax.com (Mike Ferris) Subject: Re: Do I want to use objc_loadModules()? Message-ID: <CDrwt3.588@lorax.com> Sender: mike@lorax.com (Mike Ferris) Organization: Stultus Enterprises References: <54607@sdcc12.ucsd.edu> Distribution: usa Date: Wed, 22 Sep 1993 20:55:50 GMT In article <54607@sdcc12.ucsd.edu> mstankus@oba.ucsd.edu (Mark Stankus) writes: >I want to write a program which will be able to load >classes from a file at run time. In the runtime chapter >of the General reference manual, they mention the function >objc_loadModules() which load class definitions from >files. Sound great, but how does one create these files? > >This is basically archiving of classes as far as I can tell. You can use that. But you should use NXBundles (See General Ref Chapter 3: Class NXBundle). ProjectBuilder can help you create bundles. If you don't want bundles, then the files that objc_loadModules() loads are plain .o files. Any classes in the .o will be added to the runtime system. But then you'll have to look them up by name using objc_lookupClass(). ____________________________________________________________ Mike Ferris Ever drifting in the stream-- mike@lorax.com Lingering in the golden gleam-- Rubicon Software Life, What is it but a dream? (510) 652-2039 -Lewis Carroll
Newsgroups: comp.sys.next.programmer From: robin@pencom.com (Robin D. Wilson) Subject: 8 bit grey scale vs. 8 bit color Message-ID: <1993Sep22.145312.2097@pencom.com> Sender: usenet@pencom.com (Usenet Pseudo User) Organization: Pencom Software Date: Wed, 22 Sep 1993 14:53:12 GMT Ok, this may be really stupid, but here goes anyway: If NS/FIP can support 8 bit grey scale, why can't it support 8 bit color? This simply doesn't make any sense to me. I realize that NeXT wants transparency and all, but I just don't grasp a great deal of difference between 8 bits of grey, and 8 bits of color (esp. not on a color graphics adaptor...) -- robin "batman never really knew me"
From: lisag@ac.dal.ca Newsgroups: comp.sys.next.programmer Subject: HELP - Scroll Bars and event sensing..HELP Message-ID: <1993Sep22.204413.16560@ac.dal.ca> Date: 22 Sep 93 20:44:13 -0300 Organization: Dalhousie University, Halifax, Nova Scotia, Canada HI There I'm working on a graphical application that uses scroll bars to move different images on the same view. My problem is determining when the user stops dragging the scroll bar. When the user presses down on the scroll bar, the respective image reverts from solid picture to a frame one, to speed up the movement. I'm pretty new at this and can't seem to figure out how to tell the view object when the user stops dragging the image so I can change the image to a solid representation...ie I'm left with the frame representation of the image. HELP Thanks Anthony Grandy Burchill Communications research Group grandyaw@newton.ccs.tuns.ca lisag@ac.dal.ca Halifax, Nova Scotia
Newsgroups: comp.sys.next.programmer From: Scott Byer <byer@mv.us.adobe.com> Subject: Re: 8 bit grey scale vs. 8 bit color Message-ID: <1993Sep23.033911.25839@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <1993Sep22.145312.2097@pencom.com> Date: Thu, 23 Sep 1993 03:39:11 GMT Robin D. Wilson writes > If NS/FIP can support 8 bit grey scale, why can't it support 8 > bit color? This simply doesn't make any sense to me. I realize > that NeXT wants transparency and all, but I just don't grasp a > great deal of difference between 8 bits of grey, and 8 bits of > color (esp. not on a color graphics adaptor...) Well, the big reason is alpha channel. Remember how these systems do color. 8 bit color (a.k.a. "toy color") is done using a color lookup table. When used for doing 8 bit gray, pixel values == gray level, and alpha calculations become easy - no inverse loopkup needed. (dest = src1 * alpha + src2 or somesuch.) For 8 bit color, a pixel's value isn't particularly useful - what is needed is the RGB values, which requires a reverse lookup through the color table. Then the math has to be done (the same amount of math as on a 24 bit color system - 3 times as much as for grayscale), and then a forward lookup must be done. You can hardwire a reasonable color table to make the forward lookup easy (using a 2-4-2 scheme), but "easy" means you still have to mask and shift and or the components back together. And you can either take the performance hit for both sources, or eat up a ton of memory with 32-bit deep retained window buffers. (dest = (red & 0xc0) | ((green & 0x70) >> 2) | ((blue & 0xc0) >> 6), and each component looks like red = clut[src1].red * alpha + clut[src2].red - not pretty, eh?) What this adds up to is poor performance for 8 bit color whenever alpha channel is involved. Mind you, most workstations only come with toy color, so if NeXT is serious about being multi-platform (and I believe they are) they will have to do 8-bit color sometime. They will most definitely want to make it a configuration option, however, so that the impatient among us can hop back to 8-bit gray. Or, another option is to drop to 1-bit alpha (or threshold the 8-bit alpha at 127), losing the transparency effect - this would be acceptable for window moving operations and scrolling, but fancy icon effects and such would be lost. -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: matt@drefla.mese.com (Matt Brandt) Subject: Background colors in Text Object Message-ID: <1993Sep22.195725.2710@drefla.mese.com> Sender: matt@drefla.mese.com Organization: Applied Engineering Date: Wed, 22 Sep 1993 19:57:25 GMT Am I missing something? I can find no way to set sections of text in a Text object to have different background colors or grays. A simple case would be that I would like to highlight a section of text in reverse video. I can insert the characters, select them and then set their foreground color but I can't find a way to set the background color except for the entire text object. Anyone got a clue here? matt -- ----------------------------------------------------------- Matt Brandt | A short .sig matt@drefla.mese.com | is a good .sig
Newsgroups: comp.sys.next.programmer From: joe@FreemanSoft.com (Joe Freeman) Subject: Re: Do I want to use objc_loadModules()? Message-ID: <1993Sep22.142422.9727@FreemanSoft.com> Sender: jfreeman@FreemanSoft.com Organization: FreemanSoft Inc. References: <54607@sdcc12.ucsd.edu> Distribution: usa Date: Wed, 22 Sep 1993 14:24:22 GMT In article <54607@sdcc12.ucsd.edu> mstankus@oba.ucsd.edu (Mark Stankus) writes: > Hi, > > I want to write a program which will be able to load > classes from a file at run time. In the runtime chapter > of the General reference manual, they mention the function > objc_loadModules() which load class definitions from > files. Sound great, but how does one create these files? I assume you mean you wish to load classes into a running program, as opposed to a bunch of objects that were archived to disk. objc_loadModules loads a .o file that has the classes in it, like that created by the compiler. A simpler way to do this is to use NXBundle. It makes it easier to load localized resources from the same directory as your classes file. -- Joe Freeman FreemanSoft Inc. A NEXTSTEP software and consulting services company. Electronic Mail: Joe@FreemanSoft.com (NeXT Mail) Voice: 919.783.7033
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Static code? Message-ID: <1993Sep23.050734.17653@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Sep22.184132.21654@Princeton.EDU> Date: Thu, 23 Sep 1993 05:07:34 GMT In article <1993Sep22.184132.21654@Princeton.EDU> kozuch@bombay.Princeton.EDU (Michael Alan Kozuch) writes: >I am working on a 486 machine running NeXT Mach 3.1, and I would like to compile >for static code (i.e. NO shared libraries). NeXT eliminated this capability beginning with the 2.0 Software Release*. Note that some binaries (e.g. /bin/sh, /bin/ls) are shipped static. *Those few sites that paid US$<<5 digits>> for 2.x source code did get the static libraries. [FAQ Alert! FAQ Alert!] -=EPS=-
Newsgroups: comp.sys.next.programmer Subject: Re: 8 bit grey scale vs. 8 bit color Message-ID: <1993Sep22.230525.2791@yvax.byu.edu> From: sean@digaudio.byu.edu (Sean Luke) Date: 22 Sep 93 23:05:24 -0700 Sender: -Not-Authenticated-[3945] References: <1993Sep22.145312.2097@pencom.com> Organization: Brigham Young University Xdisclaimer: No attempt was made to authenticate the sender's name. In article <1993Sep22.145312.2097@pencom.com> robin@pencom.com (Robin D. Wilson) writes: > If NS/FIP can support 8 bit grey scale, why can't it support 8 bit color? As I understand it (correct me everybody if I'm off): 8-bit color requires the use (on most systems) of a Color Look-Up Table. This is basically a palette chosen by an application from a large number of colors (i.e., you can choose from millions of colors, but only have 256 at a time). PostScript does not support CLUTs because they are, well, nasty hacks which were created in the past when full color was still a twinkle in ol' Bill Gates' eye. PostScript's model basically says that programs can ask for any color they want, and PostScript will try to accomodate them. A lookup table would deny colors to some programs when giving colors to others. A program could change all the colors on your screen, a common occurence in X and on the Mac. 8-bit grayscale gets around this because PostScript *does* allow a system to be written that doesn't use color at all (hence, the original 2-bit NeXTstep). Programs ask for a gray level, and PostScript rounds that off to the nearest gray level in its 256 standard grays. It's much easier for PostScript to implement and still provide a non-lookup-table "look" to programs. However, PostScript is *still* using a lookup table for the grayscale--it's required by 8-bit hardware. But it just handles the lookup table itself and presents an "any gray you want" interface to programs. What I wish NeXT did was supply a map like so: 2-bit red 2-bit blue 3-bit green (more discernable to the eye) 1-bit alpha (0=opaque, 1=semitransparent) Total: 128 colors across the spectrum Or: 2-bit red 2-bit blue 2-bit green 2-bit alpha (opaque through transparent) Total: 64 colors across the spectrum Or: 2-bit red 2-bit blue 2-bit green 2-bit gray flags Total: 64 colors across the spectrum, 128+64 grays. Perhaps, though, there are hardware bitwise problems with such schemes. __________________________________________________________________ Sean Luke MILK: It Comes From Cows Brigham Young University sean@digaudio.byu.edu NeXTmail now welcome :-) __________________________________________________________________
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: 8 bit grey scale vs. 8 bit color Message-ID: <1993Sep23.052326.18239@csus.edu> Followup-To: comp.sys.next.advocacy Sender: news@csus.edu Organization: San Francisco State University References: <1993Sep23.033911.25839@adobe.com> Date: Thu, 23 Sep 1993 05:23:26 GMT In article <1993Sep23.033911.25839@adobe.com> Scott Byer <byer@mv.us.adobe.com> writes: >Mind you, most workstations only come with toy color, so if NeXT >is serious about being multi-platform (and I believe they are) they >will have to do 8-bit color sometime. They will most definitely >want to make it a configuration option [...] Bah. (Something about silk purses and sows' ears?) Anyone who buys a "toy color" machine (even if it's made by a reputable manufacturer such as HP or SGI) gets what they deserve. Serious customers buy serious machines (or upgrade them later when they get serious). Why pander to born losers? -=EPS=- -- 4-bit gray isn't such a bad thing. Really, it's not.
Newsgroups: comp.sys.next.programmer From: krab@iesd.auc.dk (Kresten Krab Thorup) Subject: Re: Do I want to use objc_loadModules()? In-Reply-To: tomcoop@bcarh775.bnr.ca's message of 22 Sep 1993 21:30:19 GMT Content-Type: text/plain; charset=iso-8859-1 Message-ID: <KRAB.93Sep23083428@loke.iesd.auc.dk> Followup-To: comp.sys.next.programmer Sender: news@iesd.auc.dk (UseNet News) Content-Transfer-Encoding: 8bit Organization: Math & CS at Aalborg University References: <54607@sdcc12.ucsd.edu> <1993Sep22.133441.1892@corona.com> <27qg5c$h6b@bcars64a.bnr.ca> Mime-Version: 1.0 Date: 23 Sep 1993 06:34:28 GMT OK, so what I wanna know is does objc_loadModules() exist in GNU Obj-C ? Last time I checked it didn't seem to be. Nope, it isn't supported yet. Currently I find it much more interesting to stabilize what is already there. Next question: DO for GNU Obj-C ? :-) I know... I'm dreaming. This is actually quite close to be reality. WilTel are donating there "RemoteObjects" (which is close to NeXT DO) to the FSF. Kresten -- [Kresten krab: Thorup] | / | E-mail : krab@iesd.auc.dk Dept. for Math and Computer Sc. | ,-'/( | S-mail : Sigrid Undsetsvej 226A Aalborg University | / | \ | 9220 Aalborg \O Fr. Bajers vej 7, DK-9220 Aalb | A U C | Denmark ------------------------------------------------------------------------------- Member of The League for Programming Freedom
From: fxg@tolkien.tolkien.imib.rwth-aachen.de (Felix Gatzemeier #Alwd#) Newsgroups: comp.sys.next.programmer Subject: Re: Archiving a class? Date: 23 Sep 1993 11:57:23 GMT Organization: Rechnerbetrieb Informatik - RWTH Aachen Message-ID: <FXG.93Sep23125723@tolkien.tolkien.imib.rwth-aachen.de> References: <54593@sdcc12.ucsd.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-reply-to: mstankus@oba.ucsd.edu's message of 21 Sep 93 13:36:45 GMT [Question about dynamic loading of classes] To me, that sound very much like the "Load Tool" item in IconBuilder.app or custom palettes in the InterfaceBuilder or custom BackSpaceViews in BackSpace.app. As far as I remember, there was an article on that theme (loading drawing tools) in that NeXTworld Magazine. I haven't as yet looked into the details, but BackSpace should provide complete information. -- Felix (fxg@Pool.Informatik.RWTH-Aachen.de fxg@tolkien.ImIB.RWTH-Aachen.de, No NeXT-Mail, please!)
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer,comp.lang.c++ Subject: NeXT C++ support in 3.1? Date: 23 Sep 1993 11:30:55 +0100 Organization: me organized? That's a joke! Message-ID: <27rtsv$s3@steffi.demon.co.uk> Am I right in assuming that NeXT's gcc compiler in 3.1 doesn't support templates? And in turn cannot use the iomanip features? ie. (iomanip.h) from libg++? What C++ support has been announced in NS3.2? Also, do later versions of g++ support version 3.0 features of the language.
From: Stephen G. Edwards <edwards@kong.gsfc.nasa.gov> Newsgroups: comp.sys.next.programmer,comp.lang.c++ Subject: Re: NeXT C++ support in 3.1? Date: 23 Sep 1993 13:42:59 GMT Organization: NASA Goddard Space Flight Center Distribution: world Message-ID: <27s953$lue@kong.gsfc.nasa.gov> References: <27rtsv$s3@steffi.demon.co.uk> From: Robert Nicholson, robert@steffi.demon.co.uk In article <27rtsv$s3@steffi.demon.co.uk> Robert Nicholson, robert@steffi.demon.co.uk writes: >Am I right in assuming that NeXT's gcc compiler in 3.1 doesn't support >templates? And in turn cannot use the iomanip features? ie. >(iomanip.h) from libg++? From the 3.0 Release Notes included with version 3.1 of NS/Intel: "The Release 3.0 Objective-C++ compiler is based on version 1.39.1 of the GNU Compiler which directly supports version 2.0 of the C++ language, as specified by AT&T (the Release 2.0 compiler was based on version 1.36.4 of G++). The GNU compiler has been extended to recognize Objective-C constructs within C++ source files." And then from the 3.1 Release Notes included in the same release: "The Release 3.1 Objective C compiler (as well as the Objective C++ compiler) is based on version 2.2.2 of the GNU Compiler (the Release 3.0 compiler was based on version 1.93). NeXT's implementation of Objective C has been integrated into the version 2.2.2 GNU sources." I suppose anything in the 3.1 release notes supercedes anything in the 3.0 release notes. SInce I'm not familiar with GNU you'll have to draw your own conclusions. libg++ is not included, although I believe an unsupported version can be obtained (ftp.next.com?). I seem to recall reading somewhere that libg++ would be included in 3.2, but can't say for sure. --- Stephen G. Edwards email: edwards@kong.gsfc.nasa.gov NASA/Goddard Space Flight Center phone: (301) 286-6676 Code 522.2 fax: (301) 286-4627 Greenbelt, MD 20771
From: burkhold@next.com (Thomas Burkholder) Newsgroups: comp.sys.next.programmer Subject: Re: Static code? Date: 22 Sep 1993 22:54:32 GMT Organization: NeXT, Inc. Message-ID: <27ql38$9fj@rosie.next.com> References: <1993Sep22.184132.21654@Princeton.EDU> In article <1993Sep22.184132.21654@Princeton.EDU> kozuch@bombay.Princeton.EDU (Michael Alan Kozuch) writes: > I am working on a 486 machine running NeXT Mach 3.1, and I would like to compile > for static code (i.e. NO shared libraries). > > Does anyone know how to do this for C and Fortran code? (Similar to the cc -Bstatic > command on Sun systems). > > Thanks, > Mike Kozuch > You should be able to do this with the -nostdlib compiler option, and then link in the provided static equivalents to the shared libraries, using the -lNeXT_p -lMedia_p options. I think I had to link in crt0 (the C "run-time") as well, and I believe it has to be the first thing linked, so your link options should be: -nostdlib -lcrt0 -lNeXT_p -lMedia_p I believe it'll look in /lib on it's own, so it won't have any problem finding crt0. Lemme know if I've left anything out. Hope this helps- -thomas -- Thomas K. Burkholder (burkhold@next.com) (Speaking for myself, of course)
From: fxg@gimli.tolkien.imib.rwth-aachen.de (Felix Gatzemeier #Alwd#) Newsgroups: comp.sys.next.programmer Subject: Re: Can Edit be made to use spaces for tabs? Date: 23 Sep 1993 16:51:30 GMT Organization: Rechnerbetrieb Informatik - RWTH Aachen Message-ID: <FXG.93Sep23175130@gimli.tolkien.imib.rwth-aachen.de> References: <27n3kh$al6@geraldo.cc.utexas.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-reply-to: dave@truth.asg.arlut.utexas.edu's message of 21 Sep 1993 14:38:09 GMT -- Felix (fxg@Pool.Informatik.RWTH-Aachen.de fxg@tolkien.ImIB.RWTH-Aachen.de, No NeXT-Mail, please!)
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: I want to see more files in ProjectBuilder. Message-ID: <1993Sep23.152653.646@afs.com> Sender: Michael_Pizolato@afs.com References: <27q4h0$94f@rosie.next.com> Date: Thu, 23 Sep 1993 15:26:53 GMT Dave Moore writes >Internationalization definitely isn't supported at the same level >as single language development, but it isn't obvious that it needs >to be. Here at NeXT we basically work on one language, then send >out the English.lproj to someone to do the translation. We aren't >doing hard core work in all of our languages at the same time. >What's more important than adding support to PB is enabling tools >to point out differences in resources, so that the translators >can know what's changed from the last time they translated the >nibs. Also so that the translations can be checked for accuracy. > >By the way, the above mechanism allows you to go to the Attributes >mode and change your main language so that you can work on the >alternate languages. Remember to change it back so that all the >languages get installed. This is an area we could make better. >There are some other small changes we could make to enable better >multi-language development. But I don't think we want to go >overboard. Most apps are not multi-language, and we need to >support all our customers. I checked out the mechanism that Dave describes, and it does work. You can have, for example, an English.lproj and a French.lproj, and if you change the language field in the attributes inspector the focus of the files browser changes to the appropriate lproj directory for all localized resources. This would allow someone to work on any language's files directly from PB. Since I generally put away my FileViewer once I open a project, because I can do most of the file manipulation I need while I'm working on a project right from PB, the ability to change languages to access the other language files without having to go back to a FileViewer is quite nice. Beware, however, that if you do not create a French.lproj in FileViewer, and change the language field to French from English, English.lproj gets renamed by PB to French.lproj. Once both directories exist this no longer happens. Setting the project's language to English and adding French.lproj to the Other Resources section of the files browser gets French.lproj copied to the product (app, bundle, or palette) wrapper. Adding English.lproj to Other Resources as well causes that directory to be copied into the wrapper. This means that the files in English.lproj get copied twice, because the makefiles create the PrimaryLanguage.lproj directory in the wrapper and then copy the files inside it. If English.lproj appears in Other Resources, then it gets copied again, this time as a resource. This is inefficient, because the whole directory gets copied, not just the files inside that have changed. Perhaps PB could define a list of languages, which it then writes to Makefile as a macro (like it does now for a single language in the LANGUAGE macro). Then the makefiles could copy a .lproj directory, if one exists, for every language listed in the macro definition. Then it wouldn't be necessary to include the alternate .lproj directories in Other Resources (which feels kind of kludgey). Listing the supported languages and changing the language focus of the current project in the attributes inspector would be the only place where PB would have to deal with languages at all. This removes the special treatment that the "primary" language gets, and makes support of any language the same as support for English, or whatever the product's primary language is. PB itself then doesn't deal with internationalization except to allow more than one language to be specified. In addition, I've spent a lot of time looking at the makefiles, and IMHO copying .lproj directories from a list of languages in a macro is a relatively simple change. Since users can prioritize their languages in Preferences.app, there is no need for a "primary" language for any product, because a match between the lproj directories and the user's language preferences can be made (I believe this is what happens when an app is launched - if I've set French as my primary language the app will use French.lproj if there is one). Thus all languages are on equal footing. The only problem could be that a user's machine doesn't support _any_ of the languages that the product does (for example if not all the languages that NEXTSTEP supports were installed when NEXTSTEP was installed - they're selectable at installation), in which case a product-specified "default" language may be needed so the product can access the resources it needs to run at all. This default language doesn't have to be English, though. Dave is right that PB should not be too heavily involved in internationalization. What I have suggested seems to me to provide as much multi-language support as is necessary in PB, yet does not introduce major changes. Thoughts? Thanx, Michael -- Michael_Pizolato@afs.com NeXTMail appreciated
Newsgroups: comp.sys.next.programmer From: Scott Byer <byer@mv.us.adobe.com> Subject: Re: 8 bit grey scale vs. 8 bit color Message-ID: <1993Sep23.173600.27209@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <1993Sep22.230525.2791@yvax.byu.edu> Date: Thu, 23 Sep 1993 17:36:00 GMT Sean Luke writes > 8-bit color requires the use (on most systems) of a Color Look-Up > Table. This is basically a palette chosen by an application from > a large number of colors (i.e., you can choose from millions of > colors, but only have 256 at a time). PostScript does not support > CLUTs because they are, well, nasty hacks which were created in > the past when full color was still a twinkle in ol' Bill Gates' > eye. Okay, a correction. Color tables *are* a sick hack, but... Display PostScript handles color tables just fine. It's very flexible in the way you can set the color table up. Under NEXTSTEP, where Display PostScript does all of the rendering, it makes sense to use the whole color table in a color cube configuration. Using a 8 x 8 x 4 cube (3 bits red, green, 2 blue) would be easy. Or any other color cube configuration you want. So can we dispell this myth that Display PostScript doesn't deal with 8 bit color once and for all? -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
From: Robert Nicholson <robert@steffi.demon.co.uk> Newsgroups: comp.sys.next.programmer,comp.lang.c++,mlist.next-prog Subject: NeXT C++ support in 3.1? Date: Thu, 23 Sep 93 17:36:07 GMT Message-ID: <9309231031.AA00907@steffi.demon.co.uk> Organization: me organized? That's a joke! Am I right in assuming that NeXT's gcc compiler in 3.1 doesn't support templates? And in turn cannot use the iomanip features? ie. (iomanip.h) from libg++? What C++ support has been announced in NS3.2? Also, do later versions of g++ support version 3.0 features of the language.
From: pkron@corona.com (Peter Kron) Organization: Corona Design, Inc., Seattle, WA Date: Thu, 23 Sep 1993 12:12:56 PDT Message-ID: <1993Sep23.191256.4499@corona.com> Newsgroups: comp.sys.next.programmer Subject: HELP - Scroll Bars and event sensing..HELP References: <1993Sep22.204413.16560@ac.dal.ca> lisag@ac.dal.ca writes: > I'm working on a graphical application that uses scroll bars > to move different images on the same view. My problem is > determining when the user stops dragging the scroll bar. When > the user presses down on the scroll bar, the respective image > reverts from solid picture to a frame one, to speed up the > movement. I'm pretty new at this and can't seem to figure out > how to tell the view object when the user stops dragging the > image so I can change the image to a solid representation...ie > I'm left with the frame representation of the image. HELP > >Anthony Grandy This is a basic problem with NEXTSTEP scrollers...if you request continuous feedback you don't know when you got the last message. You can probably roll your own pretty easily by subclassing Scroller and overriding trackKnob: something like @implementation MyScroller : Scroller // set your view as a delegate - setDelegate: anObject { delegate = anObject; return( self); } - trackKnob: arg { [super trackKnob: arg]; [delegate scrollEnded]; return( self); } @end There may even be something like this on the net...I haven't found it though. There are undoubtedly other approaches as well. --- NeXTMail:Peter_Kron@corona.com Corona Design, Inc. P.O. Box 51022 Seattle, WA 98115-1022
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Confusion about `attach' & IB Date: 23 Sep 1993 14:07:13 -0700 Message-ID: <27t361$8c8@ursula.ee.pdx.edu> Summary: Any way to debug IB palettes using `attach'? Why is it I can't just launch IB from the dock, attach to it with gdb, load the palette's symbols using `add-file', set my breakpoints, and continue. gdb doesn't complain about this, but the breakpoints are ignored. Is it that the symbols aren't updated the the new dynamically linked addresses? If so, is there any way to tell gdb about this? marcus
From: annard@theborg.stack.urc.tue.nl (Annard Brouwer) Newsgroups: comp.sys.next.programmer Subject: Re: deciphering NeXT's ATC format Date: 22 Sep 1993 22:35:15 GMT Organization: the Borg Distribution: world Message-ID: <27qjv3$1fq@theborg.stack.urc.tue.nl> References: <27q3kl$k1r@transfer.stratus.com> In article <27q3kl$k1r@transfer.stratus.com> bbeckwit@carrock.hw.stratus.com (Bob Beckwith) writes: > Once upon a time... NeXT was considering (pursuing?) obtaining > patents on ATC. As you're no doubt aware, the principal inventor > is also affiliated with CCRMA. > I wonder if anyone has been considering using PASC on computers, with the DSP present in NeXT hardware and potentially in PC hardware (and it seems every other vendor is putting DSPs in their systems as well) it might be interesting to use this for CD-quality audio-compression. Doesn anyone know about a company pursuing this? (By the way, I guess PASC is also patented by Philips...) Annard -- Annard Brouwer annard@stack.urc.tue.nl (NeXTmail appreciated) People? You can forget it.
Newsgroups: comp.sys.next.programmer From: wissner@beech.mcs.gvsu.edu () Subject: transparent text object Message-ID: <1993Sep23.235456.13236@beech.csis.gvsu.edu> Sender: news@beech.csis.gvsu.edu Organization: Grand Valley State University, Allendale MI Date: Thu, 23 Sep 1993 23:54:56 GMT Hello: Is there any way to make a text object "transparent"? What I would like is an object that is basically just a text object, but layed over top of a background. So in other words, I'd like to be able to edit text without destroying the image behind it. Now, can I make a text object "transparent" so that the image behind it is maintained, or must I make a text object that redraws the image each time? - Jim wissner@beech.csis.gvsu.edu -- Jim Wissner ex-Campus Consultant Grand Valley State University wissner@beech.csis.gvsu.edu
From: andrew@wire.gatech.EDU (andrew abernathy) Newsgroups: comp.sys.next.programmer Subject: Smalltalk Date: 23 Sep 1993 22:42:12 -0400 Organization: The Ohio State University Sender: daemon@magnus.acs.ohio-state.edu Message-ID: <9309240240.AA06863@wire.gatech.edu> Does anyone know of any public domain or shareware versions of Smalltalk available for NeXT? They need not _necessarily_ allow access to the NeXTSTEP UI, as my main purpose right now is to become familiar with the language as I may get the opportunity to use it at work under OS/2. Thanks! --- andrew_abernathy@wire.gatech.edu (NeXTmail ok) Powered by Motorola
Newsgroups: comp.sys.next.programmer From: gbol@nos40nm.shell.com (Gregory B. Lampshire) Subject: writing single pixels in a view Message-ID: <GBOL.93Sep22155626@nos40nm.shell.com> Sender: usenet@shellgate.shell.com (USENET News System) Organization: Shell Offshore, Inc Date: Wed, 22 Sep 1993 20:56:26 GMT Could someone give me a pointer to an example showing how to efficiently write a pixel on a scaled view? The scaled view is an off-screen buffer that will be composited on-screen... I need to write a long thin trail of colored pixels.... I appreciated it... gregory gbol@shell.com gbol@rglnext.geol.vt.edu
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Static code? Message-ID: <1993Sep24.063432.14133@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Sep22.184132.21654@Princeton.EDU> <27ql38$9fj@rosie.next.com> Date: Fri, 24 Sep 1993 06:34:32 GMT In article <27ql38$9fj@rosie.next.com> burkhold@next.com (Thomas Burkholder) writes: >You should be able to do this with the -nostdlib compiler option, and then >link in the provided static equivalents to the shared libraries, using the >-lNeXT_p -lMedia_p options. Bzzzt! These are *not* "static equivalents"--they are profiling versions. Yes, they are static, but they contain additional booby traps that you'd need to work around. If you're very, very careful you can probably manage to get "straight UNIX" programs to work, but I would _never_ advise anyone to try this with anything other than libsys (*no* AppKit stuff!!!), nothing using Objective-C, and _absolutely never_ in something to be shipped as a commercial product. -=EPS=-
From: fxg@gimli.tolkien.imib.rwth-aachen.de (Felix Gatzemeier #Alwd#) Newsgroups: comp.sys.next.programmer Subject: Localization Date: 24 Sep 1993 10:28:55 GMT Organization: Rechnerbetrieb Informatik - RWTH Aachen Message-ID: <FXG.93Sep24112855@gimli.tolkien.imib.rwth-aachen.de> References: <27q4h0$94f@rosie.next.com> <1993Sep23.152653.646@afs.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-reply-to: Michael_Pizolato@afs.com's message of Thu, 23 Sep 1993 15:26:53 GMT (This is an follow-up to "Re: I want to see more files in ProjectBuilder.", but I think this title fits better) (Summary begin:) After spending SOME time looking for the method to apply when adding multiple languages to a project, I was quite to read that "simply dragging" does it. In that context, the question of reasonable internationalization mechanisms surfaced. (Summary end.) While the current method works fine on finished projects, it has its flaws on updates. Now, each nib has to be completely retranslated. I think that it could be made somewhat easyer by making IB use "International nib's". This construction would be using string tables to determine the text to be shown. To make this structure updateable, strings (or whatever) would get their number, an optional comment and some default text. Translators can then add translations in quite the same way the NXLocalizedString - tables work. Once an update comes along, the new and old string table files are diff'd: identical numbers are expected to refer to identical meanings. This latter assumption poses some problems: when does a text change its meaning or just its appeareance? Some discipline on the side of the "original developer" would be required, too: Simply changing a label and attaching new semantics to it would confuse the mechanism. The advantage would be an automated way to determine changes in the user interface. Images and sounds can be covered through their file names. One Question remains: do the layout mechanisms account for changes in the reading direction? I can imagine hardly any other case in which REAL changes to the UI happen in translation. Btw.: When will internationalized Mailbox / Home / Folder Icons be shipped? -- Felix (fxg@Pool.Informatik.RWTH-Aachen.de fxg@tolkien.ImIB.RWTH-Aachen.de, No NeXT-Mail, please!)
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.databases.sybase,comp.sys.next.programmer Subject: DBLibrary includes with prototypes? Date: 24 Sep 1993 11:05:21 +0100 Organization: me organized? That's a joke! Message-ID: <27ugp1$it@steffi.demon.co.uk> I'm using Sybase DB-Library V4.0 and I would like to know where I can find myself a set of sybdbtoken.h sybfront.h sybdb.h syberror.h syblogin.h with prototypes!!!!!! I want to use DB-Library from within C++.
Newsgroups: comp.sys.next.programmer From: westner@picasso.pst.informatik.uni-muenchen.de (Dominik Westner) Subject: Keyboard Layout - Default Name Sender: news@informatik.uni-muenchen.de (News System) Message-ID: <CDuzIv.1BC@informatik.uni-muenchen.de> Date: Fri, 24 Sep 1993 12:47:18 GMT Organization: Institut fuer Informatik der Universitaet Muenchen Keywords: Default Keyboard Hi, a simple question: Does anybody know the default name which sets the keyboard layout to a specific language? Thanks -- Dominik Westner "Everything is possible in an infinite universe" ______________________________________________________Willi, the painter Dominik Westner Muenchen-Germany HOME: dominik@blackmagic.guug.de [NeXTMail welcome]
Newsgroups: comp.sys.next.programmer From: jgg@LoftTech.com (J. G. Gregory) Subject: troff to rtf? Message-ID: <1993Sep24.141845.554@LoftTech.com> Sender: jgg@LoftTech.com Organization: LoftTech Incorporated Date: Fri, 24 Sep 1993 14:18:45 GMT I am doing some automatically generated documentation where I need to embed simple formatting commands in a C source file. The simplest method seems to be to put troff commands inside C comments, which are then sucked up by some sed/awk scripts, and then run through ptroff to produce a PostScript file. But this doesn't produce a nice looking on-line doc file that can be further edited WYSIWYG style in Edit. So it appears I can either learn enough rtf and use that instead, or find a troff -> rtf filter. Pointers to such a thing would be appreciated; better ideas on how to get automatically produced documentation also would be nice. The goal is to keep the documentation for specific API functions right at the function, so updating is less of a hassle. --J Gregory
From: isbell@cats.ucsc.edu (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: Static code? Date: 24 Sep 1993 14:45:45 GMT Organization: Cubic Solutions - NeXT software development and consulting Message-ID: <27v16pINNg6t@darkstar.UCSC.EDU> References: <1993Sep22.184132.21654@Princeton.EDU> <27ql38$9fj@rosie.next.com> In article <27ql38$9fj@rosie.next.com> burkhold@next.com (Thomas Burkholder) writes: >You should be able to do this with the -nostdlib compiler option, and then >link in the provided static equivalents to the shared libraries, using the >-lNeXT_p -lMedia_p options. Do you really mean "-lNeXT_s -lMedia_s"? I think the "p" versions are profiling libs and my 3.1 doesn't even seem to include libMedia_p.a. I've often wondered why NeXT has specified that libMedia_s.a be linked by default. Doesn't this lib include Renderman stuff? I've routinely removed it from all my projects and have never had any problems as a result. -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
Newsgroups: comp.sys.next.programmer From: bstone@acs.ucalgary.ca (Blake Stone) Subject: Re: 8 bit grey scale vs. 8 bit color Message-ID: <Sep24.153946.19916@acs.ucalgary.ca> Date: Fri, 24 Sep 1993 15:39:46 GMT References: <1993Sep22.145312.2097@pencom.com> <1993Sep22.230525.2791@yvax.byu.edu> Organization: The University of Calgary, Alberta > > If NS/FIP can support 8 bit grey scale, why can't it support > > 8 bit color? It isn't a matter of "can't", it's more a matter of "doesn't". Since 2.0, NeXTSTEP has supported 2-bit gray, 8-bit gray (it was there all the way back in 2.0! Just no hardware to take advantage of it), 12-bit color and 24-bit color. That means special-purpose code for high-speed compositing from one depth to another, including dithering et al. Adding 8-bit color would make things twice as complicated (conversions from and to each of the other supported depths), but wouldn't be impossible. There WOULD be the question of alpha support, however. How many bits do you use for alpha? 2? 3? 8? The first two options make more sense but give you a color word size of 10 or 11 bits. Ugh. I'd bet on the latter, despite the fact that it is a ton more resolution than required. > What I wish NeXT did was supply a map like so: > 2-bit red > 2-bit blue > 3-bit green (more discernable to the eye) > 1-bit alpha (0=opaque, 1=semitransparent) No, no, no. You're missing the point. 8-bit color would be used because that's what many PC framebuffers like to do. Alpha values have NEVER been stored in the framebuffer (well, except for video overlay on the NeXTdimension). We're more likely to see: 3-bit red 3-bit green 2-bit blue ... as is used on SGI's 8-bit systems. I would bet VERY heavily against NeXTSTEP providing support for an adjustable color palette, and the above is the defacto non-palettized 8-bit truecolor standard. -- Blake W. Stone | DKW Systems Corporation Chief Technical Officer | A N[EXTSTEP,eXT[STEP,step,Step]] VAR bstone@acs.ucalgary.ca | | ... couldn't have been ME
From: jmd@cube.handheld.com (Jim De Arras) Newsgroups: comp.sys.next.programmer,comp.sys.next.misc,comp.sys.next.marketplace Subject: URGENT Phonekit help needed for $$ Date: 24 Sep 1993 14:14:10 GMT Organization: Hand Held Products, Inc. Distribution: world Message-ID: <27uvbiINN605@clem.handheld.com> We need someone who can RAPIDLY provide a way for a black NeXT to answer a phone call, perhaps take a few touch tone keys, give a canned voice response and speak the time and date and also play a short stored .snd file to the caller. We will pay, but time is of the essence. We can retrograde a NeXT back to 3.0 so Phone kit is available, but we do not have the Hayes interface, so we are in the market for that, too. Jim jmd@cube.handheld.com 804.784.3090
From: js@balu.hnv.icem.de (Juergen Sell) Newsgroups: comp.sys.next.programmer Subject: RIB - Format known ? Date: 24 Sep 1993 15:14:54 GMT Organization: ICEM Systems Message-ID: <27v2te$1pu@balu.hnv.icem.de> Hello, I wonder if the format of RIB-files is documented and freely accessible. If you know of any sources, please let me know. Juergen -- _ _ Juergen Sell E-Mail juergen.sell@icem.de ' | (_ Icem Systems ( NeXTMail welcome ) ,| _) Deisterstr. 18 Fax ++49-511-440617 (_| BRD 30449 Hannover Fon ++49-511-440688
Newsgroups: comp.sys.next.programmer From: (slugg jello) Subject: timeout errors playing sounds Message-ID: <1993Sep24.144743.17989@mouthers.nwnexus.wa.com> Keywords: sound Sender: slugg@mouthers.nwnexus.wa.com Organization: Mouthing Flowers Date: Fri, 24 Sep 1993 14:47:43 GMT Hello there. I am regularly receiving timeout errors on sounds played using the SoundKit (Obj-C interface to the sound system) on my NeXT Cube NS 3.1 system. The error seem to occur after the program has been running for a while on sounds that are repeated one after another for a fixed number of iterations. Anyone have a clue as to why this is happening? -- Doug Kent Mouthing Flowers, Inc. slugg@mouthers.wa.com
From: scott@nic.gac.edu (Scott Hess) Newsgroups: comp.sys.next.programmer Subject: Re: I want to see more files in ProjectBuilder. Date: 24 Sep 93 11:40:50 Organization: Is a sign of weakness Message-ID: <SCOTT.93Sep24114050@nic.gac.edu> References: <27q4h0$94f@rosie.next.com> <1993Sep23.152653.646@afs.com> In-reply-to: Michael_Pizolato@afs.com's message of Thu, 23 Sep 1993 15:26:53 GMT In article <1993Sep23.152653.646@afs.com>, Michael_Pizolato@afs.com (Michael Pizolato) writes: >Dave Moore writes [Info about putting French.lproj, for instance, into "Other Resources" which causes it to be copied into the final .app/ and thus supports localization, sort of, deleted.] > >Setting the project's language to English and adding French.lproj >to the Other Resources section of the files browser gets French.lproj >copied to the product (app, bundle, or palette) wrapper. Giant, huge, tremendous gotcha just realized and checked out. What happens if you have a French.lproj in the app's "Other Resources" _and_ have one in a .subproj's Other Resources? You guessed it, the .subproj's "Other Resources" gets copied into the app wrapper first, then at the app level it removes the old French.lproj from the wrapper and copies over the new one ... Ugh. I'd say that sticking with Makefile.* modifications and putting the .lproj directories into "Supporting Files" would probably be safer all around. Your new Makefile.* targets could easily enough be made smart enough not to nuke the previous *.lproj directories (I'd recommend looking over the current stuff to copy over interface and other files, in fact). Unless, of course, you have projects without .subprojs containing .nibs and .tiffs and stuff. Later, -- scott hess <shess@ssesco.com> <To the BatCube, Robin> 12901 Upton Avenue South, #326 Burnsville, MN 55337 (612) 895-1208 Anytime!
Newsgroups: comp.sys.next.programmer,comp.lang.c++,mlist.next-prog From: rahner@zuni.litc.lockheed.com (Mark Rahner) Subject: Re: NeXT C++ support in 3.1? Message-ID: <1993Sep24.175239.3990@butch.lmsc.lockheed.com> Followup-To: comp.sys.next.programmer,comp.lang.c++,mlist.next-prog Sender: news@butch.lmsc.lockheed.com Organization: Lockheed References: <9309231031.AA00907@steffi.demon.co.uk> Date: Fri, 24 Sep 93 17:52:39 GMT Robert Nicholson (robert@steffi.demon.co.uk) wrote: : Am I right in assuming that NeXT's gcc compiler in 3.1 doesn't support : templates? And in turn cannot use the iomanip features? ie. : (iomanip.h) from libg++? : What C++ support has been announced in NS3.2? : Also, do later versions of g++ support version 3.0 features of the : language. NeXT's documentation indicates that their 3.1 compiler is a modified version of GNU's 2.2.2. A NeXT-built, compatible, super-easy-to-install version of libg++ is available via anonymous ftp from ftp.next.com. The notes that come with this libg++ indicate that libg++ will be bundled with 3.2. Overall, I'm impressed with this implementation. However, in my experience, including iomanip.h causes the compiler to explode. As I do not yet use templates, I do not know if this behavior is template-related. -- Mark V. Rahner rahner@lmsc.lockheed.com
Newsgroups: comp.sys.next.bugs,comp.unix.programmer,comp.sys.next.programmer From: esky@marathon.cs.ucla.edu (Eskandar Ensafi) Subject: tgetstr() problems & incomplete curses library Message-ID: <1993Sep24.174130.16968@cs.ucla.edu> Sender: usenet@cs.ucla.edu (Mr Usenet) Organization: UCLA CS Department, Los Angeles, CA Date: Fri, 24 Sep 93 17:41:30 GMT Hello, I have noticed that using 'tgetstr( char *id, char **area)' results in my programs exiting with either code 012 or 0360. After some debugging, I realized that it was [partly?] due to memory allocation problems -- the program cannot successfully 'free( area)', where 'area' is a 'char *' pointer declared as follows: char *area = (char *)malloc( 252); I successfully read the termcap entry under vt100 emulation: char buffer[ 1024]; tgetent( buffer, "vt100"); I then attempted to: tgetstr( "me", &area); /* the code for all attributes off */ As expected, 'area' was incremented by the number of bytes contained in the termcap entry for "me", plus an additional byte for the null character which terminates the entry. The string returned was correct: "ESC-[-m". Then, when the program terminated (running under gdb), it exited with an error code (012 _without_ explicitly calling 'free( area)' and 0360 when I attempted to 'free( area)' myself before exiting.) What could the problem be? And to top this off, my curses library lacks attron(), attroff(), etc..., so I can't even give up and use those functions instead -- I *REALLY* need help! Thanks in advance! - Eskandar P.S. Why doesn't NeXT update its libcurses.a (not to mention a whole bunch of other UNIXish C libraries) ??? -- "Dance with the dead in my dreams Listen to their hollowed screams The dead have taken my soul Temptation's lost all control" -- Slayer (Dead Skin Mask)
From: hyongsop@saturn.eecs.umich.edu (Hyong S. Shim) Newsgroups: comp.sys.next.programmer Subject: Panel ... HELP! Date: 24 Sep 1993 19:12:30 GMT Organization: University of Michigan EECS Dept. Message-ID: <27vgqu$6e3@zip.eecs.umich.edu> Hi, I need to use a panel with the following functions: - Displays a list of strings in a scrollView - Lets the user choose a string by selecting it and click OK or by double-clicking it This kind of a panel seems to be widely used in NeXT applications; both the open, save, and font panels all provide above functionalities and are found in almost all NeXT applications. Thus I thought there must be a generic object or function (NXRunAlertPanel) that I can use to create the panel. So far, I couldn't find any. Does such a panel exist, or do I have to create it myself using IB and Appkit objects? --Hyong Sop Shim (hyongsop@saturn.eecs.umich.edu)
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: Sending messages to multiple objects Message-ID: <1993Sep23.222721.6936@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <CDq54q.1Ar@ceco.ceco.com> Date: Thu, 23 Sep 1993 22:27:21 GMT In article <CDq54q.1Ar@ceco.ceco.com> mikes@ceco.ceco.com (Michael Stepniczka) writes: -> I seem to recall reading about a palette object for IB -> that allows you to take a single target/action (say -> from a button) and split it off to multiple receivers. -> I thought it was called something like Tee (maybe Tree?), -> but have not been able to find it or anything that sounds -> like it as a palette. Does anyone know if this actually -> exists and/or where to find it? Thanks in advance. -> -> Mike Stepniczka -> mikes@ceco.ceco.com I haven't seen an IB stock or ftp-able object for this, but it's easy to build a tee or spider object and test the outlets for a valid connection before passing along the message. Also there's List's ``make objects perform'' method. Bruce Gingery
From: eric@skatter.USask.Ca (Eric Norum) Newsgroups: comp.sys.next.programmer Subject: Faster transcendental functions on 68040 machines Date: 24 Sep 1993 19:27:35 GMT Organization: University of Saskatchewan, Saskatoon, Canada Distribution: world Message-ID: <27vhn7$367@tribune.usask.ca> Motorola has recently made the source to the M68040FPSP package freely available. I have obtained a copy and converted it to NeXT's (i.e. gas) assembler syntax. As well, I have written some `glue' routines to allow the FPSP library routines to be accessed from C programs. The FPSP routines are the same as the ones NeXT supplies in the kernel, but offer a speed improvement because the overhead of trapping into the kernel, decoding the instruction, and returning from the kernel is avoided. I have some little test programs which show that the library routines are between 1.4 and 2.5 times faster than having to trap into the kernel. Is anyone else interested in this? If so, how do I put this on the common FTP archive sites? -- Eric Norum eric@skatter.usask.ca Saskatchewan Accelerator Laboratory University of Saskatchewan Saskatoon, Canada. NeXTMail accepted.
Newsgroups: comp.sys.next.programmer From: "J. Shan Bell" <bellj@cs.indiana.edu> Subject: Problems accessing /dev/vid0 on NS/FIP Message-ID: <1993Sep24.155345.26848@news.cs.indiana.edu> Keywords: video, Intel Organization: Computer Science, Indiana University Date: Fri, 24 Sep 1993 15:53:35 -0500 I have a simple program that writes directly to video memory on the NeXT. The problem is, the same program doesn't run on the Intel machine. It breaks when it tries to open /dev/vid0 for reading and writing (the permissions are correct). Open sets errno to 19 (No such device) when it fails. I'm really baffled by this behavior. I'm using the correct video.h file (bsd/dev/i386/video.h). So is the Intel video board not mapped to the Unix video device? Or perhaps I've installed something incorectly. Any info in this area is appreciated. -- ________________________________________________________________ // Internet / J. Shan Bell \ BITNET \\ // bellj@indiana.edu //////|||||||||\\\\\\\ bellj@iubacs.bitnet \\ //_____________________// NeXT mail accepted \\_____________________\\
Newsgroups: comp.sys.next.programmer From: dekorte@ibm19.scri.fsu.edu (Stephen L. DeKorte) Subject: file problem Sender: usenet@mailer.cc.fsu.edu Organization: Supercomputer Computations Research Institute Date: Fri, 24 Sep 1993 21:51:57 GMT Message-ID: <CDvoqL.1Cx@mailer.cc.fsu.edu> I'm haveing a very wierd file problem with objective-c code that ran fine on a non-next machine(and SGI). I'm not using Interface builder, but I am using make.app to make it,(since it's appearingly the only way to get it correctly recognize PS commands). Anyway, the problem is that fopen returns a NULL when it should not, and does not when compiled on a non-NeXT machine. I have a "File" class with the method: - openFile:(char *)infilename for:(char *)inmode { ... if ((fp = fopen(infilename,way)) == NULL) { printf("Class File: ERROR OPENING FILE"); return self; } And I do include stdio.h in the implementation file. Any suggestions? Much thanks for any info, Steve
From: eric@skatter.USask.Ca (Eric Norum) Newsgroups: comp.sys.next.programmer Subject: Motorola FPSP library routines now on cs.orst.edu Date: 24 Sep 1993 22:20:37 GMT Organization: University of Saskatchewan, Saskatoon, Canada Distribution: world Message-ID: <27vrrl$b19@tribune.usask.ca> I received a number of replies requesting that I make the Motorola FPSP library routines available. You can find them in /pub/next/submissions/libFPSP.a on cs.orst.edu Here's the `README' ========================================================================= These are the Motorola FPSP library routines translated to `gas' syntax. I had to work around a bunch of assembler bugs, the worst being that instructions like fcmps #0x3FF80000,fp0 would not assemble properly. You can find all the places I had to do this by doing a grep '|||' *.s The original instruction is included as a comment on each of these lines so you can see what should be there. I *hope* I got all the translations correct. Use this software at your own risk!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! The file NeXTglue.s contains the `glue' routines which provide C entry points to the functions. I threw these glue routines together pretty quickly. If someone else takes the time to redo them correctly please send the improved routinse back to me. Installation should be pretty simple. Just type `make install' and wait till everything finishes. To use the routines with your programs, just add a `-lFPSP.a' to the appropriate spots in your makefiles. If you are using some routines from the `-lm' library as well, make sure you put the `-lFPSP.a' *before* the `-lm'. There is a little timing/test program in the `test' directory. The original source from the Motorola BBS is in the `arch' directory. The timing program reveals that it is still spending significant amounts of time in the kernel. If someone can figure out why, I'd be happy to hear the reason. -- Eric Norum eric@skatter.usask.ca Saskatchewan Accelerator Laboratory University of Saskatchewan Saskatoon, Canada. NeXTMail accepted.
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Gcc 2.4.5 pkg? Date: 25 Sep 1993 01:42:57 +0100 Organization: me organized? That's a joke! Message-ID: <28046h$3et@steffi.demon.co.uk> If it doesn't already exist. Could the next person to build it perhaps, make a package and stick it onto an archive site somewhere?
Newsgroups: comp.sys.next.software,comp.sys.next.programmer From: jgg@LoftTech.com (J. G. Gregory) Subject: LoftTech seeks testers for Engineering Automation product Message-ID: <1993Sep25.013150.1346@LoftTech.com> Sender: jgg@LoftTech.com Organization: LoftTech Incorporated Date: Sat, 25 Sep 1993 01:31:50 GMT My company is readying a preliminary release of a new type of application called an "Engineering Automation Shell". We are seeking individuals and companies to evaluate the preliminary release. An engineering automation shell is a combination of CAD, spreadsheet, and expert system. Like a CAD system, you create geometry interactively. Like a spreadsheet, you can use formulas to relate any item to any other item. Like an expert system shell, you use it to create a system that automates a set of expert design rules. Unlike a CAD system, the result is not a flat database of geometric primitives, but a hierarchical, object-oriented, language-based description which captures design relationships in a way that can be reviewed, altered, or expanded at a later date. Unlike a spreadsheet, the objects related by formulas are not structured cells, but are named "slots" within model entities. Unlike an expert system shell, evaluation is not "fuzzy", but is efficient, directed, and demand driven. The product is called "Defigner(tm)" (silent g). It is targeted at mechanical engineers and designers. It could also be used for any modeling task that is complicated enough to make change of the model a hassle. The following description was recently posted to alt.cad.autocad: "Defigner allows engineers and programmers to define any relationship between any object and control how that relationship is used. Not only can you do simple things like move something while maintaining its relationships (like moving an arc and having lines tangent to it be updated as well), but you can incorporate all kinds of engineering that performs analyses and builds the design based upon the results. One of our examples is how a lightening hole conditionally appears depending on whether there is strength enough for it or not. Using Defigner, you create geometry interactively, just like you do in AutoCAD or other CAD systems. The entities are related to each other automatically, according to how you create them. As you want the objects to have more complex/specific/controlled relationships, (i.e., more "knowledge",) you can add formulas to specify any aspect of the definition of the geometry. Formulas can be as simple or as complex as you need them to be, ranging from simple numeric constants and arithmetic expressions, to IF statements, to user-supplied C code. The use of formulas is seamlessly and naturally integrated into Defigner, much like spreadsheets like Excel and 1-2-3. Formulas can be used to define non-geometric attributes as well, such as costs and material properties. Any attribute, whether geometric or not, can use the value of any other attribute. More advanced features: Defigner automatically creates an assembly hierarchy as you use it. Defigner lets you combine sets of formulas in an object-oriented style. Various windows let you examine formulas and values. A debugger helps you find mistakes. Full undo and redo capability means you can explore possibilities without fear of breaking something. The current version only interacts with AutoCAD via DXF files. We are exploring the interest in a version that is tied into ADS and uses AutoCAD more directly. One of the issues is whether customers interested in such an advanced product are willing to put up with the limitations of AutoCAD's database." The preliminary version available now runs on NeXTSTEP 3.1 and uses the NeXT-supplied 3Dkit exclusively. The real product will use real geometric modeling subsystems which are not (and may never be) available under NeXTSTEP. The range of available geometry in the preliminary version is limited. However, Defigner is a very open system which allows users to add new capabilities or override existing ones to solve a problem. We seek people who would be interested in trying out the product and giving us that essential feedback that makes a great application. You will be required to sign a non-disclosure agreement. Previous CAD and geometric modeling experience would be a plus. If you would like to apply to be a tester, send email to info@LoftTech.com. --J Gregory
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Static code? Message-ID: <1993Sep25.071917.6837@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Sep22.184132.21654@Princeton.EDU> <27ql38$9fj@rosie.next.com> <27v16pINNg6t@darkstar.UCSC.EDU> Date: Sat, 25 Sep 1993 07:19:17 GMT In article <27v16pINNg6t@darkstar.UCSC.EDU> isbell@cats.ucsc.edu (Art Isbell) writes: >I've often wondered why NeXT has specified that libMedia_s.a be linked by >default. Doesn't this lib include Renderman stuff? I've routinely removed it >from all my projects and have never had any problems as a result. I'm annoyed that ProjectBuilder puts it in by default. Yes, you do pay a penalty for having it there if you don't really need it, and very few NEXTSTEP programs use it. Besides the Renderperson stuff, it contains 3DKit and NeXTdimension classes. -=EPS=-
From: jk@wowbagger.pc-labor.uni-bremen.de (Jens Kuespert) Newsgroups: comp.sys.next.programmer Subject: gdb 4.10 for NeXT Date: 24 Sep 1993 10:06:20 GMT Organization: PC-Labor der Universitaet Bremen Distribution: world Message-ID: <JK.93Sep24120621@wowbagger.pc-labor.uni-bremen.de> Hi ! I wondered if anybode has succeded in installing the new gdb on his/her NeXT. We need to compile things with gcc > 2.3.3 (templates), but the gdb NeXT supplies doesn't understand the symbol information of them. I got gdb 4.10 pl1 from ftp.germany.eu.net, but it says that next is not supported... :( Any ideas? Thank you all ! -- -- Jens -- ____________________________________________ Real Programmers always confuse Christmas and Halloween because OCT 31 == DEC 25 !! -- Andrew Rutherford (andrew@ucs.adelaide.edu.au) ____________________________________________
From: Robert Nicholson <robert@steffi.demon.co.uk> Newsgroups: comp.sys.next.programmer,mlist.next-prog Subject: Gcc 2.4.5 pkg? Date: Sat, 25 Sep 93 08:14:30 GMT Message-ID: <9309250043.AA03570@steffi.demon.co.uk> Organization: me organized? That's a joke! If it doesn't already exist. Could the next person to build it perhaps, make a package and stick it onto an archive site somewhere?
Newsgroups: comp.sys.next.programmer From: davis@sonata.cc.purdue.edu (Robert Davis) Subject: Re: Static code? Message-ID: <CDvGyy.9J5@mentor.cc.purdue.edu> Sender: news@mentor.cc.purdue.edu (USENET News) Organization: Purdue University, West Lafayette, IN References: <1993Sep22.184132.21654@Princeton.EDU> <27ql38$9fj@rosie.next.com> <27v16pINNg6t@darkstar.ucsc.edu> Date: Fri, 24 Sep 1993 19:04:09 GMT In article <27v16pINNg6t@darkstar.ucsc.edu>, Art Isbell <isbell@cats.ucsc.edu> wrote: > >I've often wondered why NeXT has specified that libMedia_s.a be linked by >default. Doesn't this lib include Renderman stuff? I've routinely removed it >from all my projects and have never had any problems as a result. > One side-effect is that NXImages won't be able to init from RIB data. Are there others? Rob -- | Robert Davis davis@sonata.cc.purdue.edu | "Look up, Hannah." NeXT Mail accepted --
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: I want to see more files in ProjectBuilder. Message-ID: <1993Sep24.203234.1738@afs.com> Sender: Michael_Pizolato@afs.com References: <SCOTT.93Sep24114050@nic.gac.edu> Date: Fri, 24 Sep 1993 20:32:34 GMT Scott Hess writes [gotcha about subproj .lproj directories and overwriting deleted] A solution (not a workaround for immediate use, unfortunately) is to modify the suggestions I made in the rest of my post that Scott quoted (the part he left out) so that all .lproj directories are built the way PB builds PrimaryLanguage.lproj now. That is, files within subproject .lproj directories are copied into the product wrapper, not the .lproj directories themselves. My "list of supported languages" can still be used in that case. I'd rather do it that way than by putting .lproj directories in "Other Resources" or "Supporting Files," both of which still strike me as kludgey. Using "Supporting Files" as Scott suggests is OK for now (except that .lproj directories other than PrimaryLanguage.lproj won't get copied into the product wrapper, and that was the goal of Dave Moore's original suggestion), but I think for the long term NeXT can do better than that. I don't know what happens if a .lproj directory in the main project and one in a subproject contain, for example, nibs with exactly the same name. I could test it, but I'm leaving _right_now_, so I'll have to do it later ;-). Have a great weekend, Michael -- Michael_Pizolato@afs.com NeXTMail appreciated
Newsgroups: comp.sys.next.programmer From: Gregory_Mutzel@afs.com Subject: IB's Windows.nib maddness Message-ID: <1993Sep24.210750.3639@afs.com> Sender: mutz@afs.com Date: Fri, 24 Sep 1993 21:07:50 GMT During development of a palette today, I was checking IB's Windows.nib (the nib that allows you to drag off Windows and Panels in IB) and noticed that inside the windowView there is a little TextField. You will have to check it out to know what I am talking about. Anyone know what it is used for? Later, Greg -- Gregory L. Mutzel Anderson Financial Systems, Inc. email: Gregory_Mutzel@afs.com [NeXTmail Appreciated]
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: updating scroll bar question Message-ID: <CDxLpM.HE@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems Date: Sat, 25 Sep 1993 22:41:45 GMT If you take a scrollview off the IBPalette "TextViews" (the one that comes with NEXTSTEP) then the scrollers automatically update their size and position as you edit the enclosed text object. (even in test interface mode) if instead, you take a customview, change its class to Text, and then do a "group in scrollview" then the scrollers dont seem to work at all. Why? I havent done too much with scrollviews before, so I could be missing something explained in the docs. I've tried sending reflectScroll: to the scrollview at various times with not very good results. (this is a simplification of another problem, so just using the IB scrollview isnt a great solution, I'ld prefer to understand what's going on) -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
Newsgroups: comp.sys.next.programmer From: bau@cs.cornell.edu (David Bau) Subject: Location of POSIX libraries? Message-ID: <1993Sep25.235712.27566@cs.cornell.edu> Organization: Cornell Univ. CS Dept, Ithaca NY 14853 Date: Sat, 25 Sep 1993 23:57:12 GMT Hello net world. I'm installing some of the gnu utilities on my brand new NS/FIP, but I'm having trouble with the compilation - I am enabling the POSIX headers (_POSIX_SOURCE), but I can't find certain POSIX library functions to link in, specifically mkfifo and getcwd. Should I just work around their absence? David
Newsgroups: comp.sys.next.programmer From: kenny@netcom2.Netcom.COM (Ken Smith) Subject: New Compiler Warnings in NS3.1 ?? Message-ID: <KENNY.93Sep25170851@netcom2.Netcom.COM> Sender: kenny@netcom.com (Ken Smith) Organization: Netcom Online Communications Service Distribution: comp Date: Sun, 26 Sep 1993 01:08:51 GMT I just upgraded from NS3.0 to 3.1 and I'm suddenly getting the following compiler warnings on a project that uses both AppKit and 3DKit: warning: could not use precompiled header '/NextDeveloper/Headers/3Dkit/3Dkit.p', because: warning: macro 'index' defined by /NextDeveloper/Headers/appkit/appkit.h conflicts with precomp This enough makes sense to me, I assume there's two different macros named index() with different definitions in each kit. However I'm not sure how to fix the situation. Any suggestions? Thanks in avance, Ken Smith -- _______________________________________________________________________ kenny@netcom.com
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Location of POSIX libraries? Message-ID: <1993Sep26.015033.20998@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Sep25.235712.27566@cs.cornell.edu> Date: Sun, 26 Sep 1993 01:50:33 GMT In article <1993Sep25.235712.27566@cs.cornell.edu> bau@cs.cornell.edu (David Bau) writes: >Hello net world. I'm installing some of the gnu utilities on my >brand new NS/FIP, but I'm having trouble with the compilation - >I am enabling the POSIX headers (_POSIX_SOURCE), but I can't find >certain POSIX library functions to link in, specifically mkfifo >and getcwd. Should I just work around their absence? You should not be attempting to use any of the POSIX headers or libraries with 3.1. Read your Release Notes. (FAQ Alert!) NEVER attempt to define (or undefine) conditionals such as __STDC__, __GNUC__, __cplusplus, __STRICT_BSD__, __STRICT_ANSI__, _NEXT_SOURCE, or _POSIX_SOURCE yourself. These reflect properties of the compiler and/or selected compiler options. Altering them directly may cause your executables to behave unexpectedly at runtime, and will almost certainly cause problems when attempting to recompile your sources under future NeXT Software Releases. The only legitimate way to compile with POSIX semantics is to use cc -posix* (e.g. -posix or -posixstrict); however, this is not supported under NS 3.1, and while applications can be compiled this way for verification purposes, they can neither be linked nor executed successfully. -=EPS=-
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: New Compiler Warnings in NS3.1 ?? Message-ID: <1993Sep26.020548.21528@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <KENNY.93Sep25170851@netcom2.Netcom.COM> Date: Sun, 26 Sep 1993 02:05:48 GMT In article <KENNY.93Sep25170851@netcom2.Netcom.COM> kenny@Netcom.COM (Ken Smith) writes: > warning: could not use precompiled header > '/NextDeveloper/Headers/3Dkit/3Dkit.p', because: > warning: macro 'index' defined by /NextDeveloper/Headers/appkit/appkit.h > conflicts with precomp > >This enough makes sense to me, I assume there's two different macros named >index() with different definitions in each kit. However I'm not sure how to >fix the situation. cc -no-precomp [Try adding -no-precomp to OTHER_CFLAGS = in your Makefile.preamble] -=EPS=- -- precomps are just a stupid hack for whiners trying to develop on systems with too little RAM. They cause far more trouble than their dubious benefits justify.
Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin,comp.sys.next.misc Subject: Next Logins don't work *desperate* Message-ID: <1993Sep26.000737.1@vax2.winona.msus.edu> From: surion@vax2.winona.msus.edu Date: 26 Sep 93 00:07:37 CDT Organization: Winona State University Anybody, My NeXT (an 030 cube running NS 3.0) seems to be booting all right until login; root account works well, but all user accounts are freezing. The NeXT ceases login procedures before launching the WorkSpace Manager I think. The logo NeXT icon in the upper right has the three dots, I assume because whatever it is hasn't launched. At this point I typed command command ~ and tried several things one of which was gdb. It gave me: dbg_panic: debugger screw-up I tried msg to dump msg buffer to screen and the system didnt return anything but two blank lines. Typing command command ~ returned me to the Mini-Monitor. As I think about events leading up to this I tried to compile a C program; iwf.c using the command cc at the shell. It told me I needed a header table.h in the sys folder. I moved one there, tried again, and was greeted by more, but different error messages error messages. I have since replaced all the files to their original directories, rebooted, but the results are the same. I've been through as many directorys as I can think to go through, complarin the contents on the HD with those on the OD, they seem to be the same. At least that is there are no files missing, though there are extras on the HD. I'm assuming at this point that by attempting to compile a program (originally writen for NeXTStep 2.x I later learned) that I inadvertantly altered the contents of a vital file somewhere. Oh yeah, one other thing. We hooked th cube up temporarily to the internet using a connection at my university. We changed the IP address, and while it was on the net, as a matter of curiosity, we (the sysadmin and I) telnetted a connection to the cube. I logged in to the NeXT from a terminal as /seth/ (my account) and it seemed to work allright, though of couse not with any graphic interface, just a command prompt. If aanyone out there has had a problem anything like this one, can you tell me waht in the world i did wrong? I'm fairly ne to unix, and som even the most basic things are probably escaping me. Please reply to me personaly at <surion@vax2.winona.msus.edu>, unless you think it of great importance to the net at large. thanks to all, seth
From: altitude@css.itd.umich.edu (Alex Tang) Newsgroups: comp.sys.next.programmer Subject: libg++ for NeXT Date: 26 Sep 1993 05:35:17 GMT Organization: Univeristy of Michigan ITD/User Services Message-ID: <2839ml$qdu@terminator.rs.itd.umich.edu> Hi. I'm trying to build libg++. It won't build though. i was wondering if any of you have had similar problems. I've freshly installed gcc-2.4.5 and when i try to build libg++, it says: [lots o stuff deleted] ouch .stmp-etc rootme=`pwd` ; export rootme ; cd src ; make "INSTALL=/NeXT_2.1/usr/local/src/libg++-2.4/install.sh -c" "INSTALL_DATA=/NeXT_2.1/usr/local/src/libg++-2.4/install.sh -c" "INSTALL_PROGRAM=/NeXT_2.1/usr/local/src/libg++-2.4/install.sh -c" "prefix=/usr/local" "exec_prefix=/usr/local" "tooldir=/usr/local/m68k-next-bsd" "AR=ar" "AR_FLAGS=rc" "CC=gcc" "CXX=gcc" "CFLAGS=-g" "CXXFLAGS=-g -O" "RANLIB=ranlib" "LOADLIBES=" "LDFLAGS=" "MAKEINFO=makeinfo " "XTRAFLAGS=" all Warning: TARGETPROG changed after being used Warning: TARGETPROG changed after being used gcc -o gperf new.o options.o iterator.o main.o gen-perf.o key-list.o list-node.o hash-table.o bool-array.o read-line.o std-err.o version.o ../../libg++.a ld: Undefined symbols: .destructors_used .constructors_used *** Exit 1 Stop. thanx...alex... -- Alex Tang -- ALTITUDE@UMICH.EDU...USERW00Y@UMICHUM.BITNET U of M, SNRE: Student and Computer Consultant II, ITD/CSS Consultant, Short asian with long hair :)
From: t89djo@albireo (David Jonsson) Newsgroups: comp.sys.next.misc,comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.hardware,comp.sys.next.sysadmin Subject: Re: Boot to DOS from a second hard disk? Date: 26 Sep 1993 11:21:14 GMT Organization: Uppsala University Message-ID: <283tva$odd@corax.udac.uu.se> References: <27ia1i$857@menudo.uh.edu> qiu@tree.egr.uh.edu (Feng Qiu) writes: : : My system is a 486/DX2 66MHz with a 525 M hard disk loaded with : NeXTStep3.1. I have a second hard disk bootable for DOS and Windows but : without NeXTStep partition. My question is how can you boot to the second : hard disk to DOS? Now in order to run DOS(I have no SoftPC) I have to : disconnect the hard disk for NeXTStep and set it at master mode then : reboot. Shortly after reboot where you normally type <return> or sd()mach_kernel you can type the n:th partition of the m:th IDE drive hd(n,m)Mach_kernel or similar if you want to boot from a SCSI drive. David -- David Jonsson Voice&Fax +46-18-24 51 52 P.O Box 353 Postal giro 499 40 54-7 S-751 06 UPPSALA Internet E-mail t89djo@tdb.uu.se SWEDEN
Newsgroups: comp.sys.next.programmer Subject: Re: file problem Message-ID: <1993Sep26.123331.118958@embl-heidelberg.de> From: tuparev@EMBL-Heidelberg.DE (Georg Tuparev) Date: 26 Sep 93 12:33:29 +0100 References: <CDvoqL.1Cx@mailer.cc.fsu.edu> In article <CDvoqL.1Cx@mailer.cc.fsu.edu> writes: > I'm haveing a very wierd file problem with objective-c code > that ran fine on a non-next machine(and SGI). I'm not using > Interface builder, but I am using make.app to make it,(since > it's appearingly the only way to get it correctly recognize PS > commands). > > Anyway, the problem is that fopen returns a NULL when it should > not, and does not when compiled on a non-NeXT machine. > > I have a "File" class with the method: > > - openFile:(char *)infilename for:(char *)inmode > { > .... > if ((fp = fopen(infilename,way)) == NULL) > { printf("Class File: ERROR OPENING FILE"); > return self; > } > > And I do include stdio.h in the implementation file. > > Any suggestions? > > Much thanks for any info, > Steve Hmm! Try - openFile:(char char *)infilename for:(char *)inmode ^^^^ . and dont ask me why! From time to time it hels. -- georg --
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin Subject: Problem with Sybase DB-Library documentation in DL Date: 26 Sep 1993 11:24:33 +0100 Organization: me organized? That's a joke! Message-ID: <283ql1$j4@steffi.demon.co.uk> I have a wee small problem with the DB-Library documentation in DL from /NextLibrary/Documentation/NextDev/Sybase/DBLIB/Section... Basically the .ex files won't open in DL I an get this on the console. can't open file dbopen.ex But not only that when the ex fails I don't get any of the documentation that appears after where the ex is loaded in the original .nr file. Any clues?
Newsgroups: comp.sys.next.programmer Subject: To Edit or not to Edit? That is the bug! Message-ID: <1993Sep26.144936.118960@embl-heidelberg.de> From: tuparev@EMBL-Heidelberg.DE (Georg Tuparev) Date: 26 Sep 93 14:49:36 +0100 Hi! For "not known" file formats, Edit.app is the default application. I would like to make MyApp.app the default one. Any ideas? -- georg --
From: bestor@caracal.cs.wisc.edu (Gareth Bestor) Newsgroups: comp.sys.next.programmer,comp.sys.next.misc Subject: NeXT Mach kernel flags (black) Message-ID: <1993Sep26.170840.13073@cs.wisc.edu> Date: 26 Sep 93 17:08:40 GMT Sender: news@cs.wisc.edu (The News) Organization: University of Wisconsin, Madison -- Computer Sciences Dept. NeXT Kernel Flags (black h/w) ----------------------------- Here's a list of some of the kernel flags. Some are commands invoked from the NMI monitor (e.g. "halt"), others modify kernel parameters (e.g. "nbuf") and the rest I have no clue about. If anybody finds out what these others do then let me know. Flag Abbrev. Description ---------------------------------------------------------------------------- astune_rate a ? big b Enlarge NMI monitor window breakpoint br ? continue c Exit NMI monitor and resume execution cache ca ? dspicr d ? debug de Start debug mode (extended kernel messages) gdb g Start GNU debugger help h,"?" Print list of NMI commands halt ha Clean shutdown and go to ROM monitor init i ? kdb_ipaddr k ? monitor m Dirty shutdown and go to ROM monitor (try halt first) mem me ? msg ms Display kernel message buffer nbuf n Number of kernel buffers od_frmr o ? phz p ? pagesize pa ? reboot r Clean shutdown and reboot rootdir ro ? stay s Make NMI window stay on screen after continuing sb sb ? scc_buffer sc ? I'm sure my list is incomplete (I found it by trial and error while looking for something else) but there doesn't appear to be a list of kernel flags anywhere in the online documentation. From "Loadble Kernel Servers, Appendix B: The ROM Monitor and NMI Monitor" (NeXT's spelling mistake, not mine :-) > NMI Mini-Monitor Commands > > The following NMI mini-monitor commands aren't currently useful for > developers outside of NeXT. > > Set or Examine Any Kernel Flag > > The command > > flag=[value] > > lets you examine or modify internal system flags (most internal system > flags are of interest only to system developers at NeXT). > > Example: > > nmi> debug= > kernel flags debug = 0x0 The debug flag has the value 0. > nmi> debug=2 > kernel flag = 0x2 Change the value of the debug flag to 2. > > Set the IP Address > > The command > > kd_ipaddr=value > > lets you set the IP address used by the computer for kernel debugging. > It's useful only to system developers at NeXT. The "nbuf" Flag --------------- The "nbuf" flag sets the number of buffers used by the kernel. Some people have found that increasing/decreasing this value improves system performance. If anybody determines the optimal number of buffers for a particular memory size, processor speed, etc, then let me know. Buffers use up memory space and increasing the number of buffers decreases the available memory (this info is displayed early in the boot process). If nbuf is less than or equal to 96 then each buffer uses 8K. For example, 32 buffers = 0.25MB, 64 buffers = 0.5MB, 96 buffers = 0.75MB. If nbuf is greater than 96 then the additional buffers use up less memory, to a maximum of 0.79MB. For example, 128 buffers = 0.79MB. Any kernel flag can be made a default boot parameter in the ROM monitor using the "p" command. For example, to change the number of buffers to 64, go to the ROM monitor and type: > Next> p > boot command: sd? sd- n=64 > ... When you next boot up, nbuf is automatically set to 64. Alternatively, you can boot up immediately from the ROM monitor with a different nbuf value by typing: > Next> bsd- n=128 Note: The "nbuf" flag can be abbreviated to "n". Therefore, more buffers can be assigned without going over the 12 character limit on the boot command. ------------------------------------------------------------------------------- This info was collected on an 25MHz '040 mono cube w/ 16MB running NEXTSTEP 3.1. The ROM version is 2.5 v66 (if it matters). Gareth Bestor (bestor@cs.wisc.edu) 09/25/93 -------------------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: Re: updating scroll bar question Message-ID: <CDyxE0.1w3@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems References: <CDxLpM.HE@genoa.com> Date: Sun, 26 Sep 1993 15:51:36 GMT following up to my own post, I wrote: > if instead, you take a customview, change its class to Text, and > then do a "group in scrollview" then the scrollers dont seem to > work at all. the (simple) fix is to tell text object that it can resize itself: - appDidInit:sender { NXSize maxsize; maxsize.width = maxsize.height = 10000; [text setMaxSize:&maxsize]; [text setHorizResizable:YES]; return self; } -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
Newsgroups: comp.sys.next.programmer From: mark@xexos.com (Mark Chamberlain) Subject: Broadcast UDP - "Bad file number" Message-ID: <1993Sep26.214400.12561@xexos.com> Sender: news@xexos.com Organization: Xexos, Ltd (London) Date: Sun, 26 Sep 1993 21:44:00 GMT We have an application that can sometimes output a lot of broadcast UDP, using write. Now and again, the write call fails with EBADF - "Bad file number", even though the file descriptor is valid, and a subsequent delay and re-write works just fine. Is there any way of finding out what causes this? Is there any sensible way round it? -- Mark Chamberlain +44 71 237 4535 Xexos Ltd fax +44 71 231 0844 London mark@xexos.com
Newsgroups: comp.sys.next.programmer From: bau@cs.cornell.edu (David Bau) Subject: Is there a bug in 3.1 Makefile/Header structure? Message-ID: <1993Sep26.221722.25735@cs.cornell.edu> Organization: Cornell Univ. CS Dept, Ithaca NY 14853 Date: Sun, 26 Sep 1993 22:17:22 GMT I seem to recall reading a thread several weeks ago pointing out (and suggesting a fix for) a problem with the headers under 3.1. Does anybody have a copy of that post? I am having trouble building common unix utilities like tcsh and gnu tar under 3.1/intel. Has anybody had any success in this endeavor? Can anybody offer me any advice about how to go about this? Thanks much! David
From: jmd@cube.handheld.com (Jim De Arras) Newsgroups: comp.sys.next.programmer,comp.sys.next.misc Subject: Talking clock, anyone? Date: 27 Sep 1993 02:09:47 GMT Organization: Hand Held Products, Inc. Distribution: world Message-ID: <285i1bINNal4@clem.handheld.com> Before I re-invent the wheel, I thought I'd ask here: Is there a program available for the NeXT that speaks the time? Or (preferably) that will build a .snd or .vox file with the spoken time and date that was submitted to it? Thanks, Jim --- ---------------------------------------------------------------------------- Jim De Arras - WA4ONG | "Government is not reason; it is not eloquence; NRA-ILA, GOA, CCRKBA, | it is a force. Like fire, it is a dangerous GSSF, VSRRA | servant and a fearful master." jmd@handheld.com | -- George Washington
Newsgroups: comp.sys.next.programmer From: joseph@daffy.tip.ameslab.gov (Joseph Reynolds) Subject: Help: changing the font of a non-Text object Message-ID: <CDzsro.Jqn@news.iastate.edu> Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA Date: Mon, 27 Sep 1993 03:09:23 GMT Hi. I am trying to make a font inspector for a non-Text object. (I have some Postscript code that writes in different fonts.) I have been able to cobble together a system that works almost as well as I would like, but I want to know the "official" way. The main idea is to use a Text object to display the currently chosen font which the user can manipulate with the Font Panel. When the font changes, my Text delegate gets a textWillConvert:fromFont:toFont: message from the Text and is thereby notified of the change in font. The main problem is that I can't get a Text object in IB: - TextField is the wrong class (I even tried it). - A ScrollView (which includes both the Text and scrollbar) works okay, but isn't exactly what I had in mind. - A custom View made to be a Text class works, badly. I get the delegate messages, but the View never erases and redraws itself. I think there is a problem with the initialization of the text object. Do I need a FontChangerText (subclass of Text) so I can perform my own initialization on the Text? If so, what initialization? All I really need is a custom Responder (first responder) to get the changeFont: messages. But then I also want to be able to display the font to the user, so it seems like I need a custom Text or TextField object so I can display the font. Has anyone any suggestions, examples, or words of wisdom:-? Joseph
From: bailey@antioch.acns.nwu.edu (Bill Leeke) Newsgroups: comp.sys.next.programmer Subject: YourCall not saving to call.log??? Date: 27 Sep 1993 07:15:09 GMT Organization: Distributed Systems Services, ACNS, Northwestern University Message-ID: <2863tt$kr5@news.acns.nwu.edu> I typed in the example prog. YourCall from "The NextStep Advantage" propaganda. It compiled but I kept getting an error that it expected a read when I was writing to call.log (Save). Ok, no problem. Load the disk, no noticible differences (diff) (At least where I thought I might have made a typo) Compile from disk. IT STILL WON'T SAVE TO CALL.LOG!! Any ideas? later,
Newsgroups: comp.sys.next.programmer From: luke@research.canon.oz.au (Luke Kendall) Subject: Re: troff to rtf? Message-ID: <CDzz6K.BFH@research.canon.oz.au> Sender: news@research.canon.oz.au Organization: Canon Information Systems Research Australia Date: Mon, 27 Sep 1993 05:27:56 GMT Here's an extract from 00README on ftp.primate.wisc.edu (pub/troffcvt/): This directory contains source and documentation for troffcvt, which offers some assistance for converting troff documents to other formats. The first converters are troff->text (a deroff that's smarter than deroff) and troff->RTF (which will help you get troff documents into Word, WordPerfect, etc.) luke -- Luke Kendall, Senior Software Engineer. | Net: luke@research.canon.oz.au Canon Information Systems Research Australia | Phone: +61 2 805 2982 P.O. Box 313 North Ryde, NSW, Australia 2113 | Fax: +61 2 805 2929
Newsgroups: comp.sys.next.programmer From: drew@fnbc.com (Drew Davidson) Subject: Re: To Edit or not to Edit? That is the bug! Message-ID: <1993Sep27.141452.27434@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA References: <1993Sep26.144936.118960@embl-heidelberg.de> Date: Mon, 27 Sep 93 14:14:52 GMT In article <1993Sep26.144936.118960@embl-heidelberg.de> tuparev@EMBL-Heidelberg.DE (Georg Tuparev) writes: > Hi! > > For "not known" file formats, Edit.app is the default application. I would like > to make MyApp.app the default one. Any ideas? > > -- georg -- I believe that: dwrite Workspace DefaultOpenApp MyApp will work. This is unverified. - Drew -- +--------------------------------+-------------------------------------------+ | Drew Davidson | "Never ask a programmer if he'll have | | Software Guy | another cup of coffee because it's | | First National Bank of Chicago | nobody's damn business how much he's | | drew@fnbc.com (NeXTmail) | already had!" - me | +--------------------------------+-------------------------------------------+
Newsgroups: comp.sys.next.sysadmin,comp.sys.next.software,comp.sys.next.programmer,comp.sys.next.marketplace,comp.sys.next.hardware,comp.sys.next.advocacy From: ashley@chaz.demon.co.uk Subject: NS/I and ISDN Content-Type: TEXT/PLAIN; charset=US-ASCII Message-ID: <CE0rB1.Ku4@demon.co.uk> Sender: news@demon.co.uk (Usenet Administration) Organization: Demon Internet Limited. Mime-Version: 1.0 Date: Mon, 27 Sep 1993 23:28:51 GMT Hi - I'm wondering if anybody has had any experience with NS Intel and ISDN. I've got a Intel NS machine at work, and i'd like to have one at home. Since I've got a spare 64k ISDN channel on a router already (at work), I'm thinking about getting NS for home, and linking home to the network at work via ISDN. 1) Is there any ISDN hardware that NSFIP supports? 2) " " ISDN software " " ? 3) Is there any hardware NSFIP will not work with? 4) Has anybody done this? Thanks for your help, Charles Ashley ashley@chaz.demon.co.uk
Newsgroups: comp.sys.next.programmer From: chris@milo.st-louis.mo.us (Chris Cleeland) Subject: Postscript programming Message-ID: <1993Sep25.233006.11677@milo.UUCP> Sender: chris@milo.UUCP Organization: Milo Designs Distribution: na Date: Sat, 25 Sep 1993 23:30:06 GMT I'm still waiting for copies of the Adobe books... In the meantime, can anybody help me with a little postscript program that could draw gridded "graph paper", preferably with the ability to set the number of lines per inch. I've tried to do this "through osmosis" by trying to grok the postscript examples in /NextDeveloper/Examples/PostScript, but nothing ever comes up on my display. I realize that this is probably best posted to comp.lang.postscript, but I don't get a feed for anything except the comp.sys.next* groups. Thanks! -cj -- --- ------------------------------------------------------------- Chris Cleeland | Internet: chris%milo@wpa.com Consultant/NeXT Advocate | UUCP: wupost!nimno!milo!chris
From: eric@skatter.USask.Ca (Eric Norum) Newsgroups: comp.sys.next.programmer Subject: Updated version of FPSP library Date: 27 Sep 1993 16:34:45 GMT Organization: University of Saskatchewan, Saskatoon, Canada Distribution: world Message-ID: <2874n5$rek@tribune.usask.ca> A number of people reported conflicts between the NeXT shared-library floating point support routines and the M68040FPSP routines. I have made a patch to the `glue' routines that should get around this problem. I have also added entry points for a few more routines (sincos, etc). I would like to extend my thanks to the people that took the time to try out these routines and mail me their experiences. Here is the README for the new distribution. I will try to put the new version on cs.orst.edu this evening (Monday, September 27): /pub/next/submissions/libFPSP_p1.tar.gz ============================================================================= Motorola M68040FPSP library routines for NeXT 68040 machines. Patch level 1. Installation ============ 1. Create a new directory, `cd' to it. 2. Uncompress and `un-tar' the source files. You should than have: In the current directory: a Makefile, a README, and a bunch of assembler source files. In the arch subdirectory: The original source from the Motorola BBS. In the test subdirectory: A program to test the library routines. 3. Type `make install' to assemble the routines, create the library, and install the library in /usr/local/lib/libFPSP.a. The FPSP library is now ready to use. To use the routines with your programs, just add a `-lFPSP' to the appropriate spots in your makefiles. Comments ======== A number of people who have tried these routines have sent me mail about the libjv package also available on the archives. Yes, that package *is* faster than the M68040FPSP routines, but the speed comes at the cost of reduced accuracy. Caveats ======= These are the Motorola FPSP library routines translated to `gas' syntax. I had to work around a bunch of assembler bugs, the worst being that instructions like fcmps #0x3FF80000,fp0 would not assemble properly. You can find all the places I had to do this by doing a grep '|||' *.s The original instruction is included as a comment on each of these lines so you can see what should be there. I *hope* I got all the translations correct. Use this software at your own risk!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! I was unable to figure out how to make the assembler generate a floating-point-condition-branch instruction with a word offset. The assembler insists on emitting a long offset even when the target is only a few instructions away. This makes the routines run slower, and take up more space, than they otherwise would. The file NeXTglue.s contains the `glue' routines which provide C entry points to the functions. I threw these glue routines together pretty quickly. If someone else takes the time to redo them correctly please send the improved routinse back to me. I had to put in some `magic' declarations to keep the loader from trying to pull in the floating point support routines from /lib/libsys_s.a -- again I hope I got this right. -- Eric Norum eric@skatter.usask.ca Saskatchewan Accelerator Laboratory University of Saskatchewan Saskatoon, Canada. NeXTMail accepted.
Newsgroups: comp.sys.next.programmer Subject: Re: Talking clock, anyone? Message-ID: <1993Sep27.183412.119244@embl-heidelberg.de> From: tuparev@EMBL-Heidelberg.DE (Georg Tuparev) Date: 27 Sep 93 18:34:09 +0100 References: <285i1bINNal4@clem.handheld.com> Distribution: world In article <285i1bINNal4@clem.handheld.com> writes: > > Before I re-invent the wheel, I thought I'd ask here: > > Is there a program available for the NeXT that speaks the time? Or > (preferably) that will build a .snd or .vox file with the spoken time and date > that was submitted to it? Yes. The name is AudioClock from Fotty-Two Software in Germany. (for info: info@forty-2.de) -- georg --
From: jeffo@uiuc.edu (J.B. Nicholson-Owens) Newsgroups: comp.sys.next.programmer Subject: Re: To Edit or not to Edit? That is the bug! Date: 27 Sep 93 19:48:48 GMT Organization: University of Illinois at Urbana Message-ID: <jeffo.749159328@uiuc.edu> References: <1993Sep26.144936.118960@embl-heidelberg.de> <1993Sep27.141452.27434@fnbc.com> Is there any way to tell ProjectBuilder that the application should be allowed to open *every* extension of file (just like Edit can)? This could allow the user to use the more-easily-accessed Tools inspector panel so that the user could choose whether Edit was the default app or some other app that registered all defaults. -- J.B. Nicholson-Owens (No NeXTmail please)
Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs From: brad@instep.wimsey.bc.ca Subject: NXZoneFromPtr() not thread-safe? Message-ID: <1993Sep27.180044.9395@instep.wimsey.bc.ca> Sender: brad@instep.wimsey.bc.ca (Bradley Head) Organization: InStep Mobile Communications Inc. Date: Mon, 27 Sep 1993 18:00:44 GMT We have a problem in which it appears that an Object's zone method intermittently returns an invalid pointer. It is hard to get a handle on because the problem occurs inside of Next's distributed object code. We are working in a multi-threaded environment using only the default zone (the zone returned by NXDefaultMallocZone()). We have specified objc_setMultithreaded(YES), and we are using thread-safe memory allocation. We disassembled [Object zone] and NXZoneFromPtr() in gdb. NXZoneFromPtr() is called from within -zone method to find the (NXZone *) zone. It seems they are not thread-safe in the way that the malloc/free functions are. (ie. they don't seem to use the nxzonemalloc mutex lock. The NXZoneFromPtr() branches to subroutine findregionnolock to do the work of getting the zone - the "nolock" portion is consistent with the nxzonemalloc routine in that once it acquires a mutex lock, it branches to subroutine nxzonemallocnolock - but NXZoneFromPtr() does NOT attempt to acquire any locks prior to branching to subroutine findregionnolock. We are speculating that NXZoneFromPtr() can examine the zone data structure while it the zone is in an inconsistent state during modification by the malloc/free functions in another thread. Two questions: Has anyone else seen similar problems with [Object zone] and/or NXZoneFromPtr() in a multi-threaded environment? What work arounds can you suggest? brad... -- Bradley Head Software Developer, InStep Mobile Communications Inc. brad@instep.wimsey.bc.ca (NeXTmail accepted) 604 872-7116 fax: 604 872-7125
From: sanguish@digifix.com Newsgroups: comp.sys.next.announce,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.advocacy,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.bugs,comp.sys.next.programmer,comp.sys.next.marketplace Subject: Quick Guide to the comp.sys.next.* newsgroups Date: 27 Sep 1993 16:26:40 -0400 Organization: Next Announcements Message-ID: <287i9t$dof@digifix.digifix.com> The current menagerie: 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. 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. 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. 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. 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. 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!!! 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. comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. related Newsgroups 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. comp.lang.objective-c Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. 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. Written by: Eric P. Scott eps@toaster.SFSU.EDU Minor editing: Scott Anguish Additions from: Greg Anderson (Greg_Anderson@afs.com) and Michael Pizolato (Michael_Pizolato@afs.com)
Newsgroups: comp.sys.next.bugs,comp.unix.programmer,comp.sys.next.programmer From: ross@utopia.druid.com (Ross Ridge) Subject: Re: tgetstr() problems & incomplete curses library References: <1993Sep24.174130.16968@cs.ucla.edu> Organization: (none) Date: Mon, 27 Sep 1993 08:56:36 GMT Message-ID: <1993Sep27.085636.1905@utopia.druid.com> esky@marathon.cs.ucla.edu (Eskandar Ensafi) writes: > char *area = (char *)malloc( 252); ... > tgetstr( "me", &area); /* the code for all attributes off */ > >As expected, 'area' was incremented by the number of bytes contained in the >termcap entry for "me"... >Then, when the program terminated (running under gdb), it exited with an >error code (012 _without_ explicitly calling 'free( area)' and 0360 when I >attempted to 'free( area)' myself before exiting.) How does your programme exit? Are you returning from main() without a value? You can't call "free(area)", because "area" doesn't point to the start of memory you allocated with malloc. Ross Ridge
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Eiffel soon Date: 27 Sep 1993 22:10:46 +0100 Organization: me organized? That's a joke! Message-ID: <287ksm$442@steffi.demon.co.uk> For those of you who are purists might like to check out this. ISE's Eiffel 3 is expected during 1993. It will initially be available for most major Unix platforms, AIX and VMS. A port is underway to NextStep (both '040 and '486). Future ports are planned for Windows NT, Macintosh and OS/2. Tower Corporation's "TowerEiffel" will be available this year. The initial platform is the Sun SPARC or compatible running SunOS 4.1.X., with gcc version 2.2.2 or later, or Sun's "acc" C compiler. Future ports of TowerEiffel are planned for Solaris, AIX, IRIX, HPUX, DG/UX, NextStep, Windows NT, OS/2, VMS and various Intel-based Unix systems. (Lets just see how many of these are actually delivered) IMHO: I don't know much about the linkage issues to C with Eiffel but it had better be as easy C++ in order for this to be viable in a Unix environment.
Newsgroups: comp.sys.next.programmer From: henry@trilithon.com (Henry McGilton) Subject: Re: Postscript programming Message-ID: <1993Sep27.215505.24469@trilithon.com> Sender: henry@trilithon.com Organization: Trilithon Software References: <1993Sep25.233006.11677@milo.UUCP> Date: Mon, 27 Sep 1993 21:55:05 GMT In article <1993Sep25.233006.11677@milo.UUCP> chris@milo.st-louis.mo.us (Chris Cleeland) writes: * I'm still waiting for copies of the Adobe books... You could take a look at our book (plug later) as well. * In the meantime, can anybody help me with a little postscript * program that could draw gridded "graph paper", preferably * with the ability to set the number of lines per inch. I've * tried to do this "through osmosis" by trying to grok the * postscript examples in /NextDeveloper/Examples/PostScript, * but nothing ever comes up on my display. At the end of the message is a short program to draw graph paper. Play with it to suit your tastes. For PostScript programmers at all levels there are hundreds of examples in our book ``PostScript] by Example'', by Mary Campione and Henry McGilton, published by Addison Wesley, ISBN 0-201-63228-4. ``PostScript by Example'' is a tutorial (you could think of it as an upgrade to the venerable Blue Book). It's the first and only tutorial to provide extensive coverage of PostScript Level Two. Chapter topics include: 1. Introducing PostScript 2. Paths and Painting 3. Text 4. Transformations 5. PostScript Language 6. Line Weights and Line Styles 7. Arcs and Curves 8. Clipping 9. Images 10. Fonts 11. Patterns 12. Forms 13. Color and Halftones 14. PostScript Nine to Five A. Further Reading Code from the book (about thirteen thousand lines of PostScript) is available on floppy disk and can be ordered from Trilithon Software. Send E-mail to info@trilithon.com for details. ........ Henry %!PS /Major 72 def % major divisions (you asked for inches) /Minor 8 def % minor divisions per inch /Step Major Minor idiv def % step size /PageWidth 612 def % 8.5 inches /PageHeight 792 def % 11 inches /Grays [ 0.3 % dark gray every inch 0.9 % light gray every eighth inch 0.7 % intermediate gray every quarter inch 0.9 % light gray every eighth inch 0.5 % medium gray every half inch 0.9 % light gray every eighth inch 0.7 % intermediate gray every quarter inch 0.9 % light gray every eighth inch ] def /Max { 2 copy lt { exch } if pop } def 0 Step PageWidth PageHeight Max { dup dup 0 moveto % draw vertical lines 0 PageHeight rlineto 0 exch moveto % draw horizontal lines PageWidth 0 rlineto Minor mod Grays exch get setgray stroke } for showpage
From: thiagarajan@embl-heidelberg.de Newsgroups: comp.sys.next.programmer Subject: Any NEXT Fortran Programmers using Absoft Fortran Compliers Message-ID: <1993Sep28.111737.119248@embl-heidelberg.de> Date: 28 Sep 93 11:17:37 +0100 Organization: EMBL, European Molecular Biology Laboratory Hello Guys, I would really like to know whether there are any fortran programmers using Absoft Fortran Compiler on the Next machines. I have some questions to them - i would really appreciate if any fortran user would reply to me personally. thanks in advance -rajas@embl-heidelberg.de
From: ccwf@gg.caltech.edu (Charles Fu) Newsgroups: comp.sys.next.programmer Subject: Re: Location of POSIX libraries? Date: 28 Sep 1993 12:34:15 GMT Organization: California Institute of Technology, Pasadena Message-ID: <289b07INNrud@gap.caltech.edu> References: <1993Sep26.015033.20998@csus.edu> eps@futon.SFSU.EDU (Eric P. Scott) writes: >NEVER attempt to define (or undefine) conditionals such as >__STDC__, __GNUC__, __cplusplus, __STRICT_BSD__, __STRICT_ANSI__, >_NEXT_SOURCE, or _POSIX_SOURCE yourself. [Good reasons why deleted.] I will disagree slightly with the venerable Mr. Scott here and say that manual definition of _NEXT_SOURCE (but not the others) can sometimes be justified. Probably the most common reason for NeXT users to do this is if they are not using NeXT's pre-processor. (For example, it appears many on the net have compiled more recent versions of the GNU C compiler, perhaps to get increased C++ support or to avoid some of the known bugs in the version shipped with 3.1.) In this case, -D_NEXT_SOURCE and -ansi should not be used together; -D_NEXT_SOURCE should not be used with any C compiler when trying to adhere closely to the ANSI standard. Of course, caution is advised. Again, I don't recommend tampering with any of the other conditionals. -ccwf "Tell me," said the Yellow Emperor. "If you were in charge of the empire, how would you go about ruling it?" "I know only the tending of horses," the boy replied. "Is ruling the empire any different from that?"
From: ccwf@gg.caltech.edu (Charles Fu) Newsgroups: comp.sys.next.programmer Subject: mmap()/MAP_FIXED question Date: 28 Sep 1993 12:48:39 GMT Organization: California Institute of Technology, Pasadena Message-ID: <289br7INNs58@gap.caltech.edu> Summary: MAP_FIXED is not defined on the NeXT; is mmap safe to use? Keywords: MAP_FIXED, mmap, mman.h I noticed when compiling some GNU software packages that they require MAP_FIXED to be defined in <sys/mman.h> before they will consider the mmap function call to be safe for use. In my experience, mmap _seems_ to produce the correct results on the NeXT, although I do not use it much. Here are my questions: - What is MAP_FIXED (or its absence) supposed to mean? - What is MAP_FIXED's proper value? - Is mmap truly safe? -ccwf
Newsgroups: comp.sys.next.programmer From: hannes@elin-ekt.co.at (J.J.Deepwell) Subject: Re: Dragging in an app icon? Message-ID: <1993Sep28.131042.338@elin-ekt.co.at> Keywords: dragging appicon delegate Sender: hannes@elin-ekt.co.at Organization: ELIN Energieanwendungen Ges.m.b.H. References: <27lcfa$ktf@klaus.physchem.chemie.uni-tuebingen.de> Date: Tue, 28 Sep 1993 13:10:42 GMT In article <27lcfa$ktf@klaus.physchem.chemie.uni-tuebingen.de> frank@atlas (Frank Siegert) writes: > I tried an old application today I once wrote back in 1990 that "imports" > files by dragging them on the app icon. As long as I do not dock the app > in the workspace everything was fine. But as soon as I docked it, no files > were accepted anymore...? Now the release notes said that iconEntered and > friends are obsolete and so I tried it using the newer dragging protocol. > > I wrote a simple test > > - appDidInit:sender > { > const char *fileType[] = {NXFilenamePboardType}; > [[NXApp appIcon] setDelegate:self]; > [[NXApp appIcon] registerForDraggedTypes:fileType count:1]; > fprintf(stderr,"Registered\n"); > return self; > } > ... > ... > This does not even work in non-docked state! > > This program only outputs "registered". If I replace [NXApp appIcon] by > a real window it works ok. Am I missing something? All I want to do is > drag a file from workspace to the app icon when the app is docked in > workspace, just like in the old acceptor example from 2.1. > > Thanks > > Frank > > > -- > > // God is real, unless declared integer //////////////////////////// > What happens is this: I suggest it's a bug, but it could be a feature, that the Window class doesn't register a delegate, if it is a NX_MINIWINDOWSTYLE or NX_MINIWORLDSTYLE or NX_TOKENSTYLE. Here's a short extract of the setDelegate: method of the Window class in NeXTSTEP 3.1 (black version): setDelegate: of class Window moveml d2/a2-a3,sp@- moveal fp@(8),a3 // self movel fp@(16),d1 // delegate moveb a3@(68),d0 // wFlags andil #240,d0 // style movel #48,d2 // NX_MINIWINDOWSTYLE cmpl d0,d2 beq 0x603c1f8 <-[Window setDelegate:]+84> movel #64,d2 // NX_MINIWORLDSTYLE cmpl d0,d2 |-beq 0x603c1f8 <-[Window setDelegate:]+84> | movel #80,d2 // NX_TOKENSTYLE | cmpl d0,d2 | beq 0x603c1f8 <-[Window setDelegate:]+84> | movel d1,a3@(32) // store the delegate - but if one of the above was true, | ... // we never get here! | ... | ... | -> 0x603c1f8: movel a3,sp@- // push self (for sending setDelegateUpdates:forWindow: // to NXApp) movel @#0x6173c44 <_NXTIFFNoBitRevTable+142080>,sp@- movel @#0x6173a0c <_NXTIFFNoBitRevTable+141512>,sp@- movel a3@(32),sp@- lea @#0x6004a38 <objc_msgSend>,a2 bsr a2@ // ask the stored delegate (a3@(32) is the instance variable delegate - which wasn't written!) addqw #8,sp // if he responds to windowDidUpdate: addqw #4,sp moveb d0,d2 extbl d2 movel d2,sp@- movel @#0x6173cd4 <_NXTIFFNoBitRevTable+142224>,sp@- movel @#0x4030000 <NXApp>,sp@- bsr a2@ // if the delegate responds ... // (which it didn't because a nil-delegate was asked) ... // register this window for updates to NXApp ... // with a call of setDelegateUpdates:forWindow: of NXApp ... // but anyway - the delegate is never stored! rts A bad, bad workaround: struct windowDef { @defs(Window) } *publicWindow; @implementation Controller - appDidInit:sender{ const char *fileType[] = {NXFilenamePboardType}; int oldStyle; publicWindow = (struct windowDef*)[NXApp appIcon]; oldStyle = publicWindow->wFlags.style; publicWindow->wFlags.style = NX_RESIZEBARSTYLE; [[NXApp appIcon] setDelegate:self]; publicWindow->wFlags.style = oldStyle; [[NXApp appIcon] registerForDraggedTypes:fileType count:1]; return self; } ... ... Before we set the delegate, we claim, that the window is of style NX_RESIZEBARSTYLE and restore the style afterwards. Now the delegate methods of the dragging protocol are sent. A less bad workaround would be to use the contentView for the dragging mechanism, I suppose. But I didn't try that. -- J.J.Deepwell hannes@elin-ekt.co.at NeXTmail ok! -- J.J.Deepwell hannes@elin-ekt.co.at NeXTmail ok!
Newsgroups: comp.sys.next.programmer Subject: Re: To Edit or not to Edit? That is the bug! Message-ID: <1993Sep28.163628.119250@embl-heidelberg.de> From: tuparev@EMBL-Heidelberg.DE (Georg Tuparev) Date: 28 Sep 93 16:36:27 +0100 References: <jeffo.749159328@uiuc.edu> In article <jeffo.749159328@uiuc.edu> writes: > Is there any way to tell ProjectBuilder that the application should be > allowed to open *every* extension of file (just like Edit can)? This > could allow the user to use the more-easily-accessed Tools inspector > panel so that the user could choose whether Edit was the default app > or some other app that registered all defaults. > -- > J.B. Nicholson-Owens (No NeXTmail please) As far as I know, there is no way to do it. I've already tried with all kind of wild-cards (*.? ... ), but it doesn't help. I hope we can see this feature with NS 3.2 or 3.3! -- georg --
Newsgroups: comp.sys.next.programmer From: rahner@zuni.litc.lockheed.com (Mark Rahner) Subject: Re: Location of POSIX libraries? Message-ID: <1993Sep28.160931.27269@butch.lmsc.lockheed.com> Sender: news@butch.lmsc.lockheed.com Organization: Lockheed Missiles & Space Co. References: <1993Sep25.235712.27566@cs.cornell.edu> <1993Sep26.015033.20998@csus.edu> Date: Tue, 28 Sep 93 16:09:31 GMT Eric P. Scott (eps@futon.SFSU.EDU) wrote: : NEVER attempt to define (or undefine) conditionals such as : __STDC__, __GNUC__, __cplusplus, __STRICT_BSD__, __STRICT_ANSI__, : _NEXT_SOURCE, or _POSIX_SOURCE yourself. This statement is inaccurate. If you are writing POSIX conforming code to run on any of the many POSIX 1003.1 conforming systems, the BEST way to identify that code is by putting "#define _POSIX_SOURCE 1" before any system header files are included. This ensures that POSIX conforming header files will always be included if they are available. If they are not available, this will have no effect. Since _POSIX_SOURCE is a preprocessor symbol, it can only affect the preprocessing phase of compilation. Unfortunately, NeXTSTEP 3.1 is not POSIX 1003.1 compliant, so porting POSIX conforming code to NeXTs can cause minor difficulties. However, NeXT is moving toward future POSIX compliance (3.1 is a lot closer that 3.0 was). If you would like more information about writing portable Unix programs, I highly recommend Donald Lewine's POSIX Programmer's Guide by O'Reilly and Associates. It not only explains POSIX 1003.1, it also provides lots of information about kludging non-POSIX systems to make them look conforming enough. It works for me on a very wide range of hardware! -- Mark V. Rahner rahner@lmsc.lockheed.com
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Debugging a Macro Message-ID: <1993Sep28.120122.14334@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software Date: Tue, 28 Sep 1993 12:01:22 GMT Is it possible to step into a macro with the debugger? Or, how *do* you debug a complex macro? I have a few very complex multi-line macros in which I expand several lines of code (in other words, I pass several lines of code as one of the macro args). Each use of the macro has different lines of code in it and these lines can potentially have bugs in them. I haven't found a way to step into the macro to help find those bugs. Any ideas? Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: More PB suggestions Message-ID: <1993Sep28.124127.15268@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software Date: Tue, 28 Sep 1993 12:41:27 GMT Since it appears that Dave Moore watches these groups, I'll throw out a suggestion for PB... It'd be nice if we could do a make on "selected subprojects" only. I'd like to shift-click several subprojects in the top level Subprojects suitcase and then choose "Make Selected Subprojects". Then, make would only be invoked on those subprojects. This would allow me to handle the 98% case which is where I want to compile a single subproject but not other things yet (especially if I have previously done a "make depend"). Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
Newsgroups: comp.sys.next.programmer From: wlee@fechner.SPEECH.CS.CMU.EDU (Wonseok Lee) Subject: compiler question Message-ID: <CE2sLs.Lw5.1@cs.cmu.edu> Sender: news@cs.cmu.edu (Usenet News System) Organization: School of Computer Science, Carnegie Mellon Date: Tue, 28 Sep 1993 17:58:38 GMT Can someone help me with this? I tried to compile a program and the compiler complained about something that I can't seem to get around. cc -g -O -Wall -c Controller.m -o obj/Controller.o cc -g -O -Wall -c Noises.m -o obj/Noises.o cc -g -O -Wall -ObjC -sectcreate __ICON __header NeXTEarLab.iconheader -segprot __ICON r r -sectcreate __ICON app EarLab.tiff -o NeXTEarLab.app/NeXTEarLab obj/Controller.o obj/DWindow.o obj/Experiment.o obj/Noises.o obj/Playsound.o obj/Stimulus.o obj/NeXTEarLab_main.o -lMedia_s -lNeXT_s /bin/ld: multiple definitions of symbol _rate_second obj/Controller.o definition of _rate_second in section (__DATA,__data) obj/Noises.o definition of _rate_second in section (__DATA,__data) *** Exit 1 Stop. *** Exit 1 Stop. rate_second is a global variable declared in general.h which is imported to each class defintion .m files. No where in Controller or Noises class defintions it is declared. This program compiled and ran fine until that I changed something that is totally unrelated to rate_second. Now I can't seem to compile it right. Those who are more experienced and knowledgeable email me. Thanks in advance. - Lee Dept. of Electrical and Computer Engineering Carnegie Mellon University wlee@fechner.speech.cs.cmu.edu econd obj/Controller.o definition of _rate_second in section (__DATA,__data) obj/Noises.o definition of _rate_second in section (__DATA,__data) *** Exit 1 Stop. *** Exit 1 Stop. rate_second is a global variable declared in general.h which is imported to each class defintion .m files. No where in Controller or Noises class defintions it is declared. This program compiled
Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs From: brad@instep.wimsey.bc.ca Subject: Re: NXZoneFromPtr() not thread-safe? Message-ID: <1993Sep28.184920.384@instep.wimsey.bc.ca> Sender: brad@instep.wimsey.bc.ca (Bradley Head) Organization: InStep Mobile Communications Inc. References: <1993Sep27.180044.9395@instep.wimsey.bc.ca> Date: Tue, 28 Sep 1993 18:49:20 GMT In article <1993Sep27.180044.9395@instep.wimsey.bc.ca> brad@instep.wimsey.bc.ca writes: > > We have a problem in which it appears that an Object's zone method > intermittently returns an invalid pointer. It is hard to > get a handle on because the problem occurs inside of Next's > distributed object code. [stuff deleted] > NXZoneFromPtr() does NOT attempt to acquire any locks prior to branching > to subroutine findregionnolock. > > We are speculating that NXZoneFromPtr() can examine the zone > data structure while it the zone is in an inconsistent state during > modification by the malloc/free functions in another thread. I forgot to mention that this problem is using NS 3.0. Here's the code from NS 3.0 for NXZoneFromPtr() contrasted to NeXT's bug fix for NS 3.1's NXZoneFromPtr(): NEXTSTEP RELEASE 3.0 NXZoneFromPtr(): (gdb) disass NXZoneFromPtr Dump of assembler code for function NXZoneFromPtr: 0x5009de8 <NXZoneFromPtr>: linkw fp,#0 0x5009dec <NXZoneFromPtr+4>: movel fp@(8),sp@- 0x5009df0 <NXZoneFromPtr+8>: bsr 0x507202a <findregionnolock> 0x5009df6 <NXZoneFromPtr+14>: moveal d0,a0 0x5009df8 <NXZoneFromPtr+16>: tstl a0 0x5009dfa <NXZoneFromPtr+18>: beq 0x5009e00 <NXZoneFromPtr+24> 0x5009dfc <NXZoneFromPtr+20>: movel a0@(8),d0 0x5009e00 <NXZoneFromPtr+24>: unlk fp 0x5009e02 <NXZoneFromPtr+26>: rts End of assembler dump. NEXTSTEP RELEASE 3.1 NXZoneFromPtr(): (gdb) disass NXZoneFromPtr Dump of assembler code for function NXZoneFromPtr: to 0x5009e46: 0x5009dfc <NXZoneFromPtr>: linkw fp,#0 0x5009e00 <NXZoneFromPtr+4>: movel a2,sp@- 0x5009e02 <NXZoneFromPtr+6>: lea @#0x4011504 <rld_env+692>,a2 0x5009e08 <NXZoneFromPtr+12>: movel a2@,sp@- 0x5009e0a <NXZoneFromPtr+14>: bsrl 0x5008a8c <mutex_try_lock> 0x5009e10 <NXZoneFromPtr+20>: addqw #4,sp 0x5009e12 <NXZoneFromPtr+22>: tstl d0 0x5009e14 <NXZoneFromPtr+24>: bne 0x5009e20 <NXZoneFromPtr+36> 0x5009e16 <NXZoneFromPtr+26>: movel a2@,sp@- 0x5009e18 <NXZoneFromPtr+28>: bsrl 0x5024660 <mutex_wait_lock> 0x5009e1e <NXZoneFromPtr+34>: addqw #4,sp 0x5009e20 <NXZoneFromPtr+36>: movel fp@(8),sp@- 0x5009e24 <NXZoneFromPtr+40>: bsrl 0x5072ebe <findregionnolock> 0x5009e2a <NXZoneFromPtr+46>: moveal d0,a0 0x5009e2c <NXZoneFromPtr+48>: clrl d0 0x5009e2e <NXZoneFromPtr+50>: tstl a0 0x5009e30 <NXZoneFromPtr+52>: beq 0x5009e36 <NXZoneFromPtr+58> 0x5009e32 <NXZoneFromPtr+54>: movel a0@(8),d0 0x5009e36 <NXZoneFromPtr+58>: moveal @#0x4011504 <rld_env+692>,a0 0x5009e3c <NXZoneFromPtr+64>: clrl a0@ 0x5009e3e <NXZoneFromPtr+66>: moveal fp@(-4),a2 0x5009e42 <NXZoneFromPtr+70>: unlk fp 0x5009e44 <NXZoneFromPtr+72>: rts End of assembler dump. (gdb) To my knowledge, NeXT QUIETLY fixed this BUG (lack of mutex locking) in NEXTSTEP 3.1. We've been frustrated by this bug for several weeks now with our multithreaded server at a customer site crashing about once a day due to this 3.0 BUG. I'm appalled by the poor developer relations NeXT has when it comes to revealing bugs in their code. This bug has cost our company time and money (and an ear full of customer complaints). We made the mistake of thinking it was a bug in our code - refusing to believe our eyes when debugging the core files since it seemed to indicate a bug in NeXT's fundamental NXZoneFromPtr() function. If we'd known that the bug in NS 3.0 existed when NeXT first discovered it (or more correctly, when some unfortunate registered developer reported it), we would have saved ourselves a lot of time and money. I vote NeXT release timely development kit BUG reports to registered developers (with workarounds if possible). Brad. -- Bradley Head Software Developer, InStep Mobile Communications Inc. brad@instep.wimsey.bc.ca (NeXTmail accepted) 604 872-7116 fax: 604 872-7125
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: IB's Windows.nib maddness Message-ID: <1993Sep28.123141.3266@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <1993Sep24.210750.3639@afs.com> Date: Tue, 28 Sep 1993 12:31:41 GMT In article <1993Sep24.210750.3639@afs.com> Gregory_Mutzel@afs.com writes: -> During development of a palette today, I was checking -> IB's Windows.nib (the nib that allows you to drag off -> Windows and Panels in IB) and noticed that inside the -> windowView there is a little TextField. You will have to -> check it out to know what I am talking about. -> -> Anyone know what it is used for? It would appear to be used as the Label for Window/Panel, pasted atop the full-button icon, allowing a single full sized tiff image to suffice for whatever language is utilized -- whether it's a Fenster or a Window or a Finetre (my appologies to the language police -- it's been a long time since High School). Bruce Gingery NeXT-mail preferred, MIME-Mail ok
Newsgroups: comp.sys.next.bugs,comp.unix.programmer,comp.sys.next.programmer From: int145w@aurora.cc.monash.edu.au (Tobias Sargeant) Subject: Re: tgetstr() problems & incomplete curses library Message-ID: <1993Sep28.191728.9239@monu6.cc.monash.edu.au> Sender: news@monu6.cc.monash.edu.au (Usenet system) Organization: Monash University References: <1993Sep24.174130.16968@cs.ucla.edu> Date: Tue, 28 Sep 1993 19:17:28 GMT Eskandar Ensafi (esky@marathon.cs.ucla.edu) wrote: : : I have noticed that using 'tgetstr( char *id, char **area)' results in : my programs exiting with either code 012 or 0360. I'm probably stupid, but the man page here says tgetstr(char *id,char *area). ---- Tobias Sargeant. -------- Man cares for all: to birds he gives his woods, ---------------------. | To beasts his pastures, and to fish his floods; | | For some his Int'rest prompts him to provide, | | For more his pleasure, yet for more his pride: | | All feed on one vain Patron, and enjoy | `-------- Th' extensive blessing of his luxury. -------------- Alexander Pope -'
Newsgroups: comp.sys.next.programmer From: Zacharias J. Beckman <zac@dolphin.com> Subject: Extending Workspace "Addresses" Handling w/ WMInspector Message-ID: <1993Sep26.090920.3455@dolphin.com> Keywords: addresses,workspace,bundle,WMInspector Sender: zac@dolphin.com Organization: Dolphin Technologies Inc. Distribution: usa Date: Sun, 26 Sep 1993 09:09:20 GMT Is there anyone out there intimately familiar with the WMInspector and how the Workspace handles addresses (Filename.address) directories under NS 3.1? I would like to add a fuctionality similar to what the Workspace is able to do with addresses, but with a different filetype. Specifically, my questions relate to what the Workspace does with the Address.table file inside of my ~/Library/<filename>.address directory. These files are treated specially by WS, and there doesn't SEEM to be any documentation on how this special handling happens. I've looked into WMInspector, but that doesn't seem to do it... at least, not everything that the WS does with a .address file: 1. How does the WS parse the <filename>.table file and then display what looks like a "file" for each entry in the <filename>.table file? 2. Where does it get the icons that appear for the address and table file types... part of the addresses.bundle in WM.app...?) 3. How is the dragging mechanism from one "address" window to another one handled by WS? It appears that "special things" are going on here, and I need to hook into those (i.e.: dragging a file into, between, or out of this new file type). Any and all assistance would be greatly appreciated. I hope NeXT has documented this, or at least made it easily extensible, and I'm simply overlooking something. Thanks in advance... and I'll summarize answers. -- Zacharias J. Beckman - Dolphin Technologies Inc. - zac@dolphin.com - NeXTMAIL! To be "matter of fact" about the world is to blunder into fantasy.... and dull fantasy at that, as the real world is strange and wonderful. --- R. A. Heinlen Those opinions I express herein are my own, I'm fairly sure. --- Z. J. Beckman
Newsgroups: comp.sys.next.programmer From: thf@zelator.in-berlin.de (Thomas Funke) Subject: Re: New Compiler Warnings in NS3.1 ?? Message-ID: <1993Sep27.131522.996@gamelan> Sender: thomas@gamelan (thomas) Organization: Disorganization References: <1993Sep26.020548.21528@csus.edu> Date: Mon, 27 Sep 1993 13:15:22 GMT In article <1993Sep26.020548.21528@csus.edu> eps@futon.SFSU.EDU (Eric P. Scott) writes: > precomps are just a stupid hack for whiners trying to develop on > systems with too little RAM. They cause far more trouble than > their dubious benefits justify. Try #include <appkit/appkit.h> and check compilation times with/without precomps. It is a big difference even on machines with sufficient RAM. -- ------------------------------------------------------------------ Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de Brook's Law: Adding manpower to a late software project makes it later ------------------------------------------------------------------
From: koehrsen@offroad.chem.wisc.edu (Michael Koehrsen) Newsgroups: comp.sys.next.programmer Subject: Easy popup-list question Date: 28 Sep 1993 22:38:11 GMT Organization: Division of Information Technology Distribution: usa Message-ID: <28aecj$b0a@news.doit.wisc.edu> I just added command-key equivalents to a pop-up list. On running the app, I find that the relevant command keys cause the list's target to be messaged as expected. However, the triggering button for the list is not changing its title to reflect the selection made by the command key. It doesn't make sense to me that the target should have responsibility for updating the popup list's triggering button. Am I missing something here? Many thanks. -- Michael Koehrsen koehrsen@whitewater.chem.wisc.edu UW-Madison
Sender: news@stasys.sta.sub.org From: ram@ramsys.sta.sub.org (Reimer A. Mellin) Newsgroups: comp.sys.next.programmer Subject: Re: 8 bit grey scale vs. 8 bit color Date: 28 Sep 1993 06:33:13 GMT Organization: at home Message-ID: <288lr9$3lp@ramsys.sta.sub.org> References: <1993Sep23.033911.25839@adobe.com> Scott Byer <byer@mv.us.adobe.com> writes > > Well, the big reason is alpha channel. Remember how these systems > do color. 8 bit color (a.k.a. "toy color") is done using a color > lookup table. When used for doing 8 bit gray, pixel values == gray > level, and alpha calculations become easy - no inverse loopkup > needed. (dest = src1 * alpha + src2 or somesuch.) > >[..] > What this adds up to is poor performance for 8 bit color whenever > alpha channel is involved. > [..] But thinking of the very limited number of combinations in a 8-Bit system (256) it would be very easy and fast to use precalculated arrays. Something like 256 (combinations of colors) * 256 (cominations of alpha) = 65536 bytes. By limiting the number of alpha values we can decrease this array further. Therefore the calculation of alpha and a pixel becomes easy, though I guess the compositing functions may be done anew. Do I miss something ? Cheers Reimer PS: My feeling is, that 8-bit color is not done due to limited man power. --- Q: "Whats a TLA?" A:"A cafu!?" Reimer A. Mellin, ram@ramsys.sta.sub.org Aidenbachstr. 131/6, 81479 Muenchen, + 49 89 7849411
Sender: news@stasys.sta.sub.org From: ram@ramsys.sta.sub.org (Reimer A. Mellin) Newsgroups: comp.sys.next.programmer Subject: Re: 8 bit grey scale vs. 8 bit color Date: 28 Sep 1993 06:33:41 GMT Organization: at home Distribution: world Message-ID: <288ls5$3lr@ramsys.sta.sub.org> References: <1993Sep23.033911.25839@adobe.com> Scott Byer <byer@mv.us.adobe.com> writes > > Well, the big reason is alpha channel. Remember how these systems > do color. 8 bit color (a.k.a. "toy color") is done using a color > lookup table. When used for doing 8 bit gray, pixel values == gray > level, and alpha calculations become easy - no inverse loopkup > needed. (dest = src1 * alpha + src2 or somesuch.) > >[..] > What this adds up to is poor performance for 8 bit color whenever > alpha channel is involved. > [..] But thinking of the very limited number of combinations in a 8-Bit system (256) it would be very easy and fast to use precalculated arrays. Something like 256 (combinations of colors) * 256 (cominations of alpha) = 65536 bytes. By limiting the number of alpha values we can decrease this array further. Therefore the calculation of alpha and a pixel becomes easy, though I guess the compositing functions may be done anew. Do I miss something ? Cheers Reimer PS: My feeling is, that 8-bit color is not done due to limited man power. --- Q: "Whats a TLA?" A:"A cafu!?" Reimer A. Mellin, ram@ramsys.sta.sub.org Aidenbachstr. 131/6, 81479 Muenchen, + 49 89 7849411
Sender: news@stasys.sta.sub.org From: ram@ramsys.sta.sub.org (Reimer A. Mellin) Newsgroups: comp.sys.next.programmer Subject: Re: 8 bit grey scale vs. 8 bit color Date: 28 Sep 1993 06:33:59 GMT Organization: at home Message-ID: <288lsn$3ls@ramsys.sta.sub.org> References: <1993Sep23.033911.25839@adobe.com> Scott Byer <byer@mv.us.adobe.com> writes > > Well, the big reason is alpha channel. Remember how these systems > do color. 8 bit color (a.k.a. "toy color") is done using a color > lookup table. When used for doing 8 bit gray, pixel values == gray > level, and alpha calculations become easy - no inverse loopkup > needed. (dest = src1 * alpha + src2 or somesuch.) > >[..] > What this adds up to is poor performance for 8 bit color whenever > alpha channel is involved. > [..] But thinking of the very limited number of combinations in a 8-Bit system (256) it would be very easy and fast to use precalculated arrays. Something like 256 (combinations of colors) * 256 (cominations of alpha) = 65536 bytes. By limiting the number of alpha values we can decrease this array further. Therefore the calculation of alpha and a pixel becomes easy, though I guess the compositing functions may be done anew. Do I miss something ? Cheers Reimer PS: My feeling is, that 8-bit color is not done due to limited man power. --- Q: "Whats a TLA?" A:"A cafu!?" Reimer A. Mellin, ram@ramsys.sta.sub.org Aidenbachstr. 131/6, 81479 Muenchen, + 49 89 7849411
Sender: news@stasys.sta.sub.org From: ram@ramsys.sta.sub.org (Reimer A. Mellin) Newsgroups: comp.sys.next.programmer Subject: Re: 8 bit grey scale vs. 8 bit color Date: 28 Sep 1993 06:33:24 GMT Organization: at home Distribution: world Message-ID: <288lrk$3lq@ramsys.sta.sub.org> References: <1993Sep23.033911.25839@adobe.com> Scott Byer <byer@mv.us.adobe.com> writes > > Well, the big reason is alpha channel. Remember how these systems > do color. 8 bit color (a.k.a. "toy color") is done using a color > lookup table. When used for doing 8 bit gray, pixel values == gray > level, and alpha calculations become easy - no inverse loopkup > needed. (dest = src1 * alpha + src2 or somesuch.) > >[..] > What this adds up to is poor performance for 8 bit color whenever > alpha channel is involved. > [..] But thinking of the very limited number of combinations in a 8-Bit system (256) it would be very easy and fast to use precalculated arrays. Something like 256 (combinations of colors) * 256 (cominations of alpha) = 65536 bytes. By limiting the number of alpha values we can decrease this array further. Therefore the calculation of alpha and a pixel becomes easy, though I guess the compositing functions may be done anew. Do I miss something ? Cheers Reimer PS: My feeling is, that 8-bit color is not done due to limited man power. --- Q: "Whats a TLA?" A:"A cafu!?" Reimer A. Mellin, ram@ramsys.sta.sub.org Aidenbachstr. 131/6, 81479 Muenchen, + 49 89 7849411
Newsgroups: comp.sys.next.programmer From: tom@pdh.com (Tom Fitzgerald) Subject: Text findText bug? Message-ID: <CE2u4z.9rE@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. Date: Tue, 28 Sep 1993 18:31:47 GMT Is there a know bug in the findText:ignoreCase:backwards:wrap: method for the Text object. It works fine for forward searches but setting backwards: YES causes the following error Memory access exception on address 0x0 (protection failure). 0x500913a in NXHashGet () -- Tom Fitzgerald tom_fitzgerald@pdh.com (NeXT Mail OK)
Newsgroups: comp.sys.next.programmer From: wwright@shell.portal.com (Bradly William Wright) Subject: How does one program the ruler on a text object? Message-ID: <CE3IyM.3s@unix.portal.com> Summary: How does one program the ruler on the text object Keywords: ruler, text object, tabs Sender: news@unix.portal.com Organization: Portal Communications Company Date: Wed, 29 Sep 1993 03:27:56 GMT Has anyone worked with the ruler in the text object. I'm trying to scale the text object. When I adjust the size of the text to 150%, the ruler units stay the same. How do you changed the units in the ruler? In addition, how do you add and delete tab stops? Thanks In advance, Brad Wright ================================================== | Software Engineer (Massivus Nerdus) | | Premisys Communications (The Access Company) | | 1032 Elwell Court, Palo Alto California 94303 | | wwright@premisys.com, wwright@shell.portal.com | --------------------------------------------------
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: How to use "#line macros" Message-ID: <1993Sep29.093609.20722@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software Date: Wed, 29 Sep 1993 09:36:09 GMT I have been unable to get one form of the #line directive to work. This is taken from the file Proprocesor.rtf in DevTools: #line macros macros should be one or more macros that have been defined by earlier preprocessing directives. When the macros have been expanded by the preprocessor, the #line instruction will then resemble one of the first two forms and be interpreted appropriately. However, I get an error like: test.c:18: invalid format `#line' command Anybody know how to use this thing? I am hoping this will put the appropriate #line directives in so that its possible to step into a macro. Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
Newsgroups: comp.sys.next.programmer From: joseph@daffy.tip.ameslab.gov (Joseph Reynolds) Subject: Re: How to use "#line macros" Message-ID: <CE49HK.295@news.iastate.edu> Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA References: <1993Sep29.093609.20722@gleap.sccsi.com> Date: Wed, 29 Sep 1993 13:00:56 GMT Hi. In article <1993Sep29.093609.20722@gleap.sccsi.com> clloyd@gleap (Charles C. Lloyd) writes: > I have been unable to get one form of the #line directive to work. I think the third form (the form you were having trouble with) means to do something like this: #define MY_PLACE 641 "foo.c" #line MY_PLACE > [...] I am hoping this will put the appropriate > #line directives in so that its possible to step into a macro. > Charles. I don't think you can use the #line directive to do that. The reason is that macros always expand to exactly one line. (The end-of-line backslash-line continuations don't count--that happens before the preprocessor looks at the macros.) Maybe we need a new preprocessor... Also, you could try turning your macros into functions; then the debugger could step into them. Joseph
Newsgroups: comp.sys.next.programmer From: jgg@LoftTech.com (J. G. Gregory) Subject: Where to get R-T-F spec? Message-ID: <1993Sep29.025610.1248@LoftTech.com> Sender: jgg@LoftTech.com Organization: LoftTech Incorporated Date: Wed, 29 Sep 1993 02:56:10 GMT I need to be able to generate RTF files. Does anyone have an on-line copy of the specification or know where to get one? I am mostly interested in the subset (superset?) supported by NeXT, but would love to have the real facts in either case. Is RTF owned by MicroSoft? Reply via email, I will post a summary if asked. --J Gregory
Newsgroups: comp.sys.next.programmer From: wfc@cl.cam.ac.uk (William Clocksin) Subject: How to make three-state switches? Message-ID: <1993Sep29.143729.8550@infodev.cam.ac.uk> Sender: news@infodev.cam.ac.uk (USENET news) Organization: U of Cambridge, England Date: Wed, 29 Sep 1993 14:37:29 GMT I would like to be able to have a Button-type Control, something like what IB calls a Switch, except that it has three states. If set to state 0, it displays the blank box as normal for a Switch. If set to state 1, it displays the check-in-box as normal for a Switch. If set to state 2, it displays another image, say a box with a horizontal line through it. State 2 can mean "ignore" or "don't care", for example, depending on the application. The user may click the button on and off as usual, except that an Alt-click (say) will put it into state 2. Has anybody implemented this yet? Or is there some other NeXT-approved way to implement this kind of functionality? ---------------------------------------------------- W.F. Clocksin, Assistant Director of Research, Computer Laboratory, University of Cambridge Pembroke Street, Cambridge CB2 3QG, U.K. Internet: wfc@CL.cam.ac.uk (NeXTMail is acceptable) Tel UK: (0223) 334628. Tel (Int'l): +44 223-334628. Fax UK: (0223) 334678. Fax (Int'l): +44 223-334678.
From: Mark_Wagner@NeXT.COM (Mark Wagner) Newsgroups: comp.sys.next.programmer Subject: Re: New Compiler Warnings in NS3.1 ?? Date: 28 Sep 1993 21:19:33 GMT Organization: NeXT, Inc. Message-ID: <28a9p5$gnv@rosie.next.com> References: <1993Sep26.020548.21528@csus.edu> > > cc -no-precomp > > [Try adding -no-precomp to OTHER_CFLAGS = in your Makefile.preamble] > > -=EPS=- > -- > precomps are just a stupid hack for whiners trying to develop on > systems with too little RAM. They cause far more trouble than > their dubious benefits justify. I've seen these posts a number of times from the same person saying, in essence, don't use precomps. None of the posts I've never seen had any justification for why precomp's "aren't worth the trouble". As far as the performance benefits, they can be dramatic. Of course, it's somewhat data dependent. The following simple example was compiled on a 32 MB machine: #include <appkit/appkit.h> main() { } Here are the results: with precomps: 1 second without precomps: 19 seconds One could argue that I shouldn't have included appkit.h, clearly I didn't need it. You can play the game of only including the headers that you need but it gets boring after a while. I'd personally rather include all of appkit or all of dbkit or whatever and let precomp's optimize it for me.
Newsgroups: comp.sys.next.programmer From: drew@fnbc.com (Drew Davidson) Subject: Re: IB's Windows.nib maddness Message-ID: <1993Sep29.145733.17880@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA References: <1993Sep28.123141.3266@ToTSySSoft.com> Date: Wed, 29 Sep 93 14:57:33 GMT In article <1993Sep28.123141.3266@ToTSySSoft.com> bruce@TotSysSoft.com (Bruce Gingery) writes: > In article <1993Sep24.210750.3639@afs.com> > Gregory_Mutzel@afs.com writes: > -> During development of a palette today, I was checking > -> IB's Windows.nib (the nib that allows you to drag off > -> Windows and Panels in IB) and noticed that inside the > -> windowView there is a little TextField. You will have to > -> check it out to know what I am talking about. > -> > -> Anyone know what it is used for? > > It would appear to be used as the Label for Window/Panel, > pasted atop the full-button icon, allowing a single full sized > tiff image to suffice for whatever language is utilized -- > whether it's a Fenster or a Window or a Finetre (my appologies > to the language police -- it's been a long time since High > School). > > Bruce Gingery > NeXT-mail preferred, MIME-Mail ok I think what he's talking about is the very small black textfield that is cleverly hidden in the upper left corner of the Panel box. I have no idea what this is. Perhaps it's there because the old versions of the TIFFs used to have a miniaturize icon in the upper left, and both buttons share the same TIFF but the Panel would not have the mini button - easier to just cover it up than take up more room and make two TIFFs. - Drew -- +--------------------------------+-------------------------------------------+ | Drew Davidson | "Never ask a programmer if he'll have | | Software Guy | another cup of coffee because it's | | First National Bank of Chicago | nobody's damn business how much he's | | drew@fnbc.com (NeXTmail) | already had!" - me | +--------------------------------+-------------------------------------------+
Newsgroups: comp.sys.next.programmer From: Scott Byer <byer@mv.us.adobe.com> Subject: Re: 8 bit grey scale vs. 8 bit color Message-ID: <1993Sep29.181224.2840@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <288lsn$3ls@ramsys.sta.sub.org> Date: Wed, 29 Sep 1993 18:12:24 GMT Reimer A. Mellin writes > But thinking of the very limited number of combinations in a > 8-Bit system (256) it would be very easy and fast to use > precalculated arrays. Something like 256 (combinations of colors) > * 256 (cominations of alpha) = 65536 bytes. By limiting the number > of alpha values we can decrease this array further. Therefore > the calculation of alpha and a pixel becomes easy, though I guess > the compositing functions may be done anew. > Do I miss something ? Yes, an extra color comes into play. The destination value is a function of two source values and an alpha value in various combinations. That not something that can easily be put into a reasonbly sized table, unfortunately. -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: Death to cpp (Was Re: How to use "#line macros") Message-ID: <CE4Eux.1KL@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems References: <CE49HK.295@news.iastate.edu> Date: Wed, 29 Sep 1993 14:56:57 GMT Charles Loyd wrote: > > [...] I am hoping this will put the appropriate > > #line directives in so that its possible to step into a macro. Joseph Reynolds replied: > try turning your macros into functions; then the debugger > could step into them. Joseph's right, but don't forget you can also use the inline keyword to get the effect of a macro without the headaches (see the compiler doc) and now a word from the code police ... Personally, I'ld recommend inline functions over macros for all but the simplest tasks. - only one arcane language to deal with - lets compiler make optimizations - lets compiler give better error diagnostics - easier to debug, or change the inline decision if the function grows - easier to be sure what the code really doees since it doesnt depend on what options were used or misused on the command line this is one of the things that worked out very well in Ada over the last ten years, where people use preprocessors for special tasks like embedded SQL, but otherwise tend to avoid them. I'm glad to see other languages adopt the idea. also the C++ books suggest using const int instead of #define for similar reasons. IMHO, the C preprocessor is a hack that often causes more problems than it solves but since we're stuck with it, we should at least try to use it in a structured way - and use real language constructs instead where possible, like: - use #import rather #include (or at least use the _H trick) - use inline functions instead of #define - use const int instead #define - use enum types instead of a list of #defines PLEASE - restrict #ifdefs in source to simple well defined tasks like conditional compilation of debugging code -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
Newsgroups: comp.sys.next.programmer From: hannes@elin-ekt.co.at (J.J.Deepwell) Subject: Re: Confusion about `attach' & IB Message-ID: <1993Sep29.195253.1440@elin-ekt.co.at> Keywords: gdb InterfaceBuilder Palettes Sender: hannes@elin-ekt.co.at Organization: ELIN Energieanwendungen Ges.m.b.H. References: <27t361$8c8@ursula.ee.pdx.edu> Date: Wed, 29 Sep 1993 19:52:53 GMT In article <27t361$8c8@ursula.ee.pdx.edu> marcus@ursula.ee.pdx.edu (Marcus Daniels) writes: > Why is it I can't just launch IB from the dock, attach to it with > gdb, load the palette's symbols using `add-file', set my breakpoints, > and continue. gdb doesn't complain about this, but the breakpoints > are ignored. Is it that the symbols aren't updated the the > new dynamically linked addresses? If so, is there any way to tell > gdb about this? > > marcus If you launch the InterfaceBuilder from the gdb with run, the symbols of your palette are loaded automatically from gdb when the palette is loaded by IB. gdb gives the line: Reading symbols from loaded file...done. If you now set your breakpoints, everything works fine. -- J.J.Deepwell hannes@elin-ekt.co.at NeXTmail ok! -- J.J.Deepwell hannes@elin-ekt.co.at NeXTmail ok!
Message-ID: <35$@byu.edu> Date: Wed, 29 Sep 93 14:49:12 MDT From: yackd@alaska.et.byu.edu (Don Yacktman) Newsgroups: comp.sys.next.programmer Distribution: world References: <1993Sep29.143729.8550@infodev.cam.ac.uk> Organization: Brigham Young University, Provo UT USA Subject: Re: How to make three-state switches? In article <1993Sep29.143729.8550@infodev.cam.ac.uk>, wfc@cl.cam.ac.uk (William Clocksin) writes: >I would like to be able to have a Button-type Control, something like what IB >calls a Switch, except that it has three states. If set to state 0, it >displays the blank box as normal for a Switch. If set to state 1, it displays >the check-in-box as normal for a Switch. If set to state 2, it displays >another image, say a box with a horizontal line through it. State 2 can mean >"ignore" or "don't care", for example, depending on the application. The user >may click the button on and off as usual, except that an Alt-click (say) will >put it into state 2. > >Has anybody implemented this yet? Or is there some other NeXT-approved way to >implement this kind of functionality? I was planning on implementing one of these for the MiscKit... as well as a matrix of buttons, like radio buttons in that you must have at least a single item selected, but will also allow multiple selections, like a matrix of check boxes. (i.e. a three-state button and a one-or-many button matrix.) As I clean up my contributions to the MiscKit, expect to see these appear in there... (If you need them NOW, let me know, and I'll make them a higher priority, of course.) Later, Don_Yacktman@byu.edu -- Don_Yacktman@byu.edu Nepotism is a relative thing.
Newsgroups: comp.sys.next.programmer From: tyler@vanguard.com (Tyler Gingrich) Subject: Re: Confusion about `attach' & IB Message-ID: <1993Sep29.220541.13548@il.us.swissbank.com> Sender: root@il.us.swissbank.com (Operator) Organization: Swiss Bank Corporation CM&T Division References: <1993Sep29.195253.1440@elin-ekt.co.at> Date: Wed, 29 Sep 1993 22:05:41 GMT J.J.Deepwell writes > In article <27t361$8c8@ursula.ee.pdx.edu> > (Marcus Daniels) writes: >> Why is it I can't just launch IB from the dock, attach to it with >> gdb, load the palette's symbols using `add-file', set my breakpoints, >> and continue. gdb doesn't complain about this, but the breakpoints >> are ignored. Is it that the symbols aren't updated the the >> new dynamically linked addresses? If so, is there any way to tell >> gdb about this? > > If you launch the InterfaceBuilder from the gdb with run, the symbols > of your palette are loaded automatically from gdb when the palette is > loaded by IB. > gdb gives the line: > > Reading symbols from loaded file...done. > > If you now set your breakpoints, everything works fine. > Also, don't forget about the ever useful forward break.... fb [myPaletteClass doIt:] (gdb responds with...) myPaletteClass responds to no method named doIt:. Will attempt to resolve "[myPaletteClass doIt:]" on future dynamic loads. Your app will hesitate when additional code is loaded (resolving symbols) and gdb should break in all the right places. Tyler Gingrich Vanguard Software, Corp. Disclaimer: My opinions only.
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Re: Confusion about `attach' & IB Date: 29 Sep 1993 15:57:57 -0700 Message-ID: <28d3tl$cus@ursula.ee.pdx.edu> References: <27t361$8c8@ursula.ee.pdx.edu> <1993Sep29.195253.1440@elin-ekt.co.at> Keywords: gdb InterfaceBuilder Palettes hannes@elin-ekt.co.at (J.J.Deepwell) writes: >In article <27t361$8c8@ursula.ee.pdx.edu> marcus@ursula.ee.pdx.edu (Marcus >Daniels) writes: >> Why is it I can't just launch IB from the dock, attach to it with >> gdb, load the palette's symbols using `add-file', set my breakpoints, >> and continue. gdb doesn't complain about this, but the breakpoints >> are ignored. Is it that the symbols aren't updated the the >> new dynamically linked addresses? If so, is there any way to tell >> gdb about this? >> >> marcus >If you launch the InterfaceBuilder from the gdb with run, the symbols of your >palette are loaded automatically from gdb when the palette is loaded by IB. >gdb gives the line: >Reading symbols from loaded file...done. >If you now set your breakpoints, everything works fine. Waaaaa! But I don't wanna do it that way-- I wanna use attach! (my shell generated gdb debugging script could be easier to use if it used attach). It seems to me it's a bug if gdb lets you set breakpoints to code that addresses that aren't valid. There are various gdb options related to dynamic loading, but I can't get any of them to do what I want. Perhaps the linker needs to embed extra information in order for gdb to know how to relocate the symbols after an `add-file'. boohoo.
From: koehrsen@offroad.chem.wisc.edu (Michael Koehrsen) Newsgroups: comp.lang.objective-c,comp.sys.next.programmer Subject: method inlining, redux Date: 29 Sep 1993 23:18:23 GMT Organization: Division of Information Technology Distribution: world Message-ID: <28d53v$chk@news.doit.wisc.edu> I followed the recent thread on objective-c method inlining with interest. As it happens, I am now casting about for a term project for a course in compiler optimization, and I thought I would modify gcc to do some method inlining and static call binding, and see how much of a performance improvement it yields. Details follow for anyone who is interested and would care to offer comments/suggestions, but I have two questions that I need to have answered before I get too deep into this project: 1) Has this already been done? I gather from the earlier thread that it hasn't, but I'd hate to discover after a few weeks of digging through gcc source code that it has been, and that I need a new project. 2) Is there publicly available objective-c benchmark code? The project is much bigger, and probably less useful, if I have to write my own benchmarks. Many thanks. Here are the details: The approach I have in mind is to attempt to predict at compile time the class of each instance variable and method local variable, and replace each message for which the receiver's class has been predicted with a static call, protected by a run-time test of whether the class prediction was correct. For example: [myObject aMessage]; will be replaced by something like if (myObject->isa == &PredictedClass) // Is this test right? aMessage(myObject); else [myObject aMessage]; where PredictedClass is the predicted class of myObject and aMessage(myObject) is shorthand for PredictedClass's implementation of aMessage, called as a function. This obviously makes an assumption about the Object implementation--namely, that the compiler knows how to get to its class pointer. This assumption looks pretty safe to me. I believe the run-time class check is sufficient to deal with the problems raised in the earlier thread, notably posing subclasses, while retaining most of the benefit of static binding. Obviously the class prediction has to be accurate enough for its benefits to offset the cost of the run-time class check. In cases where the method body was available and sufficiently small (basically, a subset of messages to self), the method body would be inlined after the class test. The class would be predicted as follows: 1) If the receiver is self, the predicted class is the class in whose implementation the method occurs. 2) If the programmer has provided static type information in the receiver's declaration, the predicted class is the programmer-specified one. 3) If the receiver is a (local|instance) variable, and it has appeared in an assignment like: myVar = [AClass factoryMethod]; in the current (method|class implementation), then the predicted class of myVar is AClass. 4) If the receiver is the return value from another method invocation, as in: [[myVar aMethod] anotherMethod]; then the predicted class will be the same as that of the inner receiver. Many methods return self, after all. 5) As a last resort, the known class hierarchy could be searched for classes that implement the method. I'm not sure what I will do in the common case where this search turns up more than one class. -- Michael Koehrsen koehrsen@whitewater.chem.wisc.edu UW-Madison
From: bbeckwit@carrock.hw.stratus.com (Bob Beckwith) Newsgroups: comp.lang.objective-c,comp.sys.next.programmer Subject: Re: method inlining, redux Date: 30 Sep 1993 01:35:17 GMT Organization: Stratus Computer, Inc. Distribution: world Message-ID: <28dd4l$mac@transfer.stratus.com> References: <28d53v$chk@news.doit.wisc.edu> In article <28d53v$chk@news.doit.wisc.edu> koehrsen@offroad.chem.wisc.edu (Michael Koehrsen) writes: [lots of cool stuff I'd like to see in ObjC deleted] Michael, There are a number of approaches you could take: (1) Implement static binding (class is known at compile time). You could do this by fiddling with the back end of the compiler and the linker. Change the code generator to emit "relocation entries" for classes/methods and then change ld so that it would digest them. This could potentially reduce a message to a single instruction. You could also do this by using some sort of name mangling ala C++. (2) Cache lookups. The various run times do this already, but there is, I believe, some room from improvement, if you do this at the call site (instead of inside objc_msgSend). There are at least two variations here, depending upon where you want to cache the information. Also, it is important to allow the caches to be "flushable" (which would be required for dynamically loading classes). N.B. In both cases below, "cache" is a single entry cache. Caller side caching would look like: // [myObject aMessage]; if (myObject->isa != cache.class) { cache.method = methodLookup(myObject, SEL(aMessage)); cache.class = myObject->isa; } cache.method(myObject, SEL(aMessage), ...); Callee side caching would look like: // method invocation cache.method(&cache, myObject, SEL(aMessage), ...); // "hidden" args change!!! // then in the method prologue code if (cache->class != myClass) { cache->method = methodLookup(myObject, SEL(aMessage)); cache->class = myObject->isa; cache->method(cache, myObject, SEL(aMessage), ...); // more like a "jump" as opposed to a "call" } // Real method code begins here The advantage (I see) to the callee side caching would be potential space saving (the code "bloating" is proportional to the number of methods rather than the number of invocations). Since (in the "ideal world") a method should be invoked at least once (in order to justify it's existence), callee side caching should result in a smaller image (satisfying those who still care about such things). However, before you charge off and implement whatever it is you end up deciding to do, I *strongly* encourage you to meter some code and *measure* the types of things you're assuming (e.g. for a particular "call site", the class of the messaged object being "constant" or predictable). This way, you should be able to predict the types of performance gains (or losses) you might see when you've finished all your hard work. You should be able to readily cobble up a copy of the GNU ObjC Runtime to generate so me interesting statistics for you (then all you need is some "victim" code :-). Hope this made sense... --Bob -- Bob_Beckwith@vos.stratus.com Stratus Computer, Inc., Hardware Engineering 55 Fairbanks Blvd. Marlboro, MA 01752 USA
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Location of POSIX libraries? Message-ID: <1993Sep30.013505.16559@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Sep25.235712.27566@cs.cornell.edu> <1993Sep26.015033.20998@csus.edu> <1993Sep28.160931.27269@butch.lmsc.lockheed.com> Date: Thu, 30 Sep 1993 01:35:05 GMT In article <1993Sep28.160931.27269@butch.lmsc.lockheed.com> rahner@zuni.litc.lockheed.com (Mark Rahner) writes: >Eric P. Scott (eps@futon.SFSU.EDU) wrote: >: NEVER attempt to define (or undefine) conditionals such as >: __STDC__, __GNUC__, __cplusplus, __STRICT_BSD__, __STRICT_ANSI__, >: _NEXT_SOURCE, or _POSIX_SOURCE yourself. > >This statement is inaccurate. Maybe for you. Maybe you're using FSF's version of gcc. Maybe you're talking about a commercial compiler. Maybe you're talking about another vendor's operating system. But if you are running NEXTSTEP, using the development software that NeXT ships and supports, you'd better believe it! >If you are writing POSIX conforming code to run on any of the many >POSIX 1003.1 conforming systems, the BEST way to identify that code >is by putting "#define _POSIX_SOURCE 1" before any system header >files are included. This ensures that POSIX conforming header >files will always be included if they are available. If they are >not available, this will have no effect. Since _POSIX_SOURCE is >a preprocessor symbol, it can only affect the preprocessing phase >of compilation. And if you try this on a NeXT, you will link against the wrong crt0, the wrong shared libraries, attach to an incompatible ABI and your application will crash and burn ... assuming you even get that far. If, however, you use the -posix option (or one of its variants), _POSIX_SOURCE will be predefined, and you *will* get the proper environment--that is, once NeXT actually ships it. Perhaps NeXT will provide a separate "POSIX shell" in which everything works the way _you_ expect. But that's not what the _current_ product offers. >Unfortunately, NeXTSTEP 3.1 is not POSIX 1003.1 compliant, so >porting POSIX conforming code to NeXTs can cause minor difficulties. I don't think it's unfortunate at all. POSIX is braindead. >However, NeXT is moving toward future POSIX compliance (3.1 is a >lot closer that 3.0 was). Checklist item for "rich, vulnerable and stupid" customers. >If you would like more information about writing portable Unix >programs, I highly recommend Donald Lewine's POSIX Programmer's >Guide by O'Reilly and Associates. It not only explains POSIX >1003.1, it also provides lots of information about kludging >non-POSIX systems to make them look conforming enough. It works >for me on a very wide range of hardware! POSIX is not "portable UNIX." POSIX is not UNIX. It's a "wannabe" at best--a desperate attempt to retain market share for proprietary systems like VMS and MPE, and at the same time scatter buckshot throughout the UNIX community. Maybe X/Open has _some_ credibility. POSIX certainly does not, except among suits and marketroids. One of the things NeXT can do--because of the Mach base--is allow UNIX binaries and POSIX binaries to run in different Mach tasks at "full native speed." But as far as the binaries are concerned they see completely different and incompatible operating systems. Of course, this idea is hardly original--several other vendors (e.g. HP/Apollo, Pyramid, ELXSI) have offered "multiple universes" on their machines. I resent having to pay for "dead wood" features just to get bug fixes in the base product. The current "developer" product should be folded into the "user" release, and the MISfits who want their systems bloated with POSIX, OSI, X, or Win32 should be reamed accordingly. -=EPS=-
Newsgroups: comp.sys.next.programmer,comp.lang.objective-c From: clloyd@gleap (Charles C. Lloyd) Subject: Re: method inlining, redux Message-ID: <1993Sep30.052622.26633@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software References: <28d53v$chk@news.doit.wisc.edu> Date: Thu, 30 Sep 1993 05:26:22 GMT Michael Koehrsen writes > >I followed the recent thread on objective-c method inlining with interest. >As it happens, I am now casting about for a term project for a course in >compiler optimization, and I thought I would modify gcc to do some method >inlining and static call binding, and see how much of a performance >improvement it yields. > [clip] I have recently been wondering if there weren't a few optimizations which could be done in the way Methods are stored to reduce the overhead in certain types of common calls (without any static binding). Two ideas come to mind. There tend to be quite a few methods which return some instance variable and often a bunch of methods that simply return self. There are also methods which return constant values like a selector, for example. It seems that the compiler could recognize these very simple methods and generate special "subclasses" of Methods (I am referring to struct objc_method *) which can be handled directly by objc_msgSend without actually invoking the function at all (or even generating it). For example, let's say a method simply returns self. The subclass of Method could be "SelfMethod" which, when objc_msgSend sees that it has found a SelfMethod, it simply returns the receiver (the first arg to objc-msgSend) rather than branching to the method. Another method might return a constant and nothing more (say a SELector). The compiler could generate a ConstMethod which holds the return value for that method. Then objc_msgSend could simply return that rather than branching to the function. Other Methods could be SetMethod and GetMethod which hold the offset of the instance variable to be set or gotten. Here's what might be added to objc_msgSend (in pseudocode): id objc_msgSend(id receiver, SEL aSelector, ...) { : : Method theMethod = class_getInstanceMethod(whatever); switch(theMethod->type){ case SelfMethod: return receiver; case ConstMethod: return theMethod->const_value; case GetMethod: return receiver[theMethod->offset]; case SetMethod: //framePointer[12] is the third arg to objc_msgSend receiver[theMethod->offset] = framePointer[12]; return receiver; case RegularMethod: //dispatch the function (reusing the stack frame, of course) continueExecutionIn(theMethod->IMP); } } So the question becomes, is the savings of avoiding the call to these special, very simple methods worth the additional overhead of checking the method->type for every message send? Of course it depends on the program -- if the program has lots of calls that do these extremely simple things, then the savings could be real. For example, if you disassemble a method that does nothing but return self, you'll find that there are five instructions, four of which are function call overhead. I presume similar stats for ConstMethods. Also, there is overhead in dispatching the function (reusing the stack frame takes at least four and perhaps six instructions). So for ConstMethods and SelfMethods, the overhead ratio is as much as 10:1. A quick and dirty test of my approach shows that the case statement approach takes 6 instructions (compared to 11) for the ConstMethod. The constant overhead of the case statement could be reduced via some hand optimization since the bulk of the calls are going to be regular methods. (If the number of cases is few, it appears that a case statement is not a good way to go). I would really like for the compiler to automatically generate the set/get methods for me. Since there doesn't need to be any code (ie it'll never execute) why require me to write it? Perhaps I could give the compiler a list of ivars to generate Methods for, or something like that. Caveat: All of the above comments may not apply to Gnu's runtime as I am not sure they handle objc_msgSend in the same way as NeXT. Last I heard, their objc_msgSend returned an IMP and did not do any function dispatching. Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
Newsgroups: comp.sys.next.programmer From: paccorti@nextsrv1.andi.org (Peter Accorti) Subject: Strange Compiler Errors Message-ID: <CE523L.5Kv@nextsrv1.andi.org> Keywords: constant radix Sender: usenet@nextsrv1.andi.org (usenet) Organization: Association of NeXTSTEP Developers International Date: Wed, 29 Sep 1993 23:18:57 GMT When I compile the following program I get the following errors... main() { double test_ptr[20]; *(test_ptr + 08) = 0.0; } test.c:5: warning: numeric constant contains digits beyond the radix test.c: In function `main': test.c:5: numeric constant contains digits beyond the radix If I remove the 0 in front of the 8 it compiles fine!! Is this a known bug???
Newsgroups: comp.sys.next.programmer From: chris@milo.st-louis.mo.us (Chris Cleeland) Subject: PostScript Programming (SUMMARY) Message-ID: <1993Sep30.023001.21206@milo.UUCP> Sender: chris@milo.UUCP Organization: Milo Designs Distribution: na Date: Thu, 30 Sep 1993 02:30:01 GMT I would like to thank all the different people who have replied to my request for a "graph-paper" postscript program. The solutions ranged from simple to very detailed. The text for the code is too long, but I will make them available to anyone for the asking unless a respondent specifically prohibits me from doing so. Special honors go to the following people: Stephen Peters (didn't take you up on your offer, but appreciate it anyway!) Eric Marshall Georg Tuparev Joseph Reynolds Henry McGilton (who also co-authored a book I'm going to look for now). Long live the Spirit of the Net! -cj -- --- ------------------------------------------------------------- Chris Cleeland | Internet: chris%milo@wpa.com Consultant/NeXT Advocate | UUCP: wupost!nimno!milo!chris
From: sanchezp@bigdog.engr.arizona.edu (Paul J. Sanchez) Newsgroups: comp.sys.next.programmer Subject: Re: Strange Compiler Errors Date: 30 Sep 1993 14:10:51 GMT Organization: University of Arizona UNIX Users Group Message-ID: <SANCHEZP.93Sep30071051@bigdog.engr.arizona.edu> References: <CE523L.5Kv@nextsrv1.andi.org> In-reply-to: paccorti@nextsrv1.andi.org's message of Wed, 29 Sep 1993 23:18:57 GMT In article <CE523L.5Kv@nextsrv1.andi.org> paccorti@nextsrv1.andi.org (Peter Accorti) writes: main() { double test_ptr[20]; *(test_ptr + 08) = 0.0; } test.c:5: warning: numeric constant contains digits beyond the radix test.c: In function `main': test.c:5: numeric constant contains digits beyond the radix If I remove the 0 in front of the 8 it compiles fine!! Is this a known bug??? No, it's a feature! ;) From K&R, 2nd ed., p.37: "A leading 0 (zero) on an integer constant means octal;..." The compiler is perfectly correct in telling you that 8 is a digit beyond the radix in base 8. -- --paul paul@whimsy.umsl.edu ================================================================= `There's glory for you!' `I don't know what you mean by "glory",' Alice said. `I meant, "there's a nice knock-down argument for you!"' `But "glory" doesn't mean "a nice knock-down argument",' Alice objected. `When I use a word,' Humpty Dumpty said in a rather scornful tone, `it means just what I choose it to mean - neither more nor less.' --Lewis Carroll =================================================================
Newsgroups: comp.sys.next.programmer From: Greg_Anderson@afs.com (Gregory H. Anderson) Subject: Re: Strange Compiler Errors Message-ID: <1993Sep30.140828.1165@afs.com> Sender: greg@afs.com References: <CE523L.5Kv@nextsrv1.andi.org> Date: Thu, 30 Sep 1993 14:08:28 GMT In article <CE523L.5Kv@nextsrv1.andi.org> paccorti@nextsrv1.andi.org (Peter Accorti) writes: > When I compile the following program I get the following errors... > > main() > { > double test_ptr[20]; > > *(test_ptr + 08) = 0.0; > } > > test.c:5: warning: numeric constant contains digits beyond the radix > test.c: In function `main': > test.c:5: numeric constant contains digits beyond the radix > > If I remove the 0 in front of the 8 it compiles fine!! > > Is this a known bug??? No, this is octal, and 8 is too big for that radix. -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
From: schmoelz@eapdsb.tuwien.ac.at (Paul Schmoelz) Newsgroups: comp.sys.next.programmer Subject: DeviceDriver example Date: 30 Sep 1993 16:41:25 GMT Organization: Technical University of Vienna Distribution: world Message-ID: <28f27l$olm@email.tuwien.ac.at> Keywords: driver next driverkit Hi folks ! Due to some requests regarding our simple example interrupt driven device driver (sorry for this monstrous germanism ;-) ) we feel free to ursurp lots of bandwidth with its source code. Since we are highly interested in improving on this first version, please give comments! Thanks, Paul & Steven PS: Makefile & other stuff are the same as in the DeviceDriverKit. :::::::::::::: pc30ds1.h :::::::::::::: /* simple interrupt driven device driver * for the PC30DS1 AD-converter card * * 31.Aug.1993 Stephan Boehmig & Paul Schmoelz * */ #import <driverkit/i386/directDevice.h> #define ADDATL 0x00 #define BLKCNT ADDRTL #define ADDSR 0x01 #define ADCCR 0x02 #define ADMDE 0x03 #define PRESC 0x04 #define DIVID 0x05 #define USRCNT 0x06 #define TMRCTR 0x07 #define DAC2 0x14 #define outp(a,b) outb(port+a,b) #define inpp(a) inb(port+a) @interface pc30ds1 : IODirectDevice { } + (BOOL)probe: deviceDescription; - initFromDeviceDescription: deviceDescription; @end :::::::::::::: pc30ds1.m :::::::::::::: /************************************************************************/ /************************************************************************/ /****** Treiber fuer DA/AD Karte PC30DS1 **********/ /***** by Stephan Boehmig & Paul Schmoelz **********/ /************************************************************************/ /************************************************************************/ #import <driverkit/i386/directDevice.h> #import <driverkit/i386/IOEISADeviceDescription.h> #import <driverkit/generalFuncs.h> #import <kernserv/kern_server_types.h> #import <kernserv/prototypes.h> #import <kernserv/sched_prim.h> #import <driverkit/i386/ioPorts.h> #import <driverkit/kernelDriver.h> #import <driverkit/interruptMsg.h> #import <kernserv/i386/spl.h> #import "pc30ds1.h" #import "pc30ds1User.h" #import <bsd/sys/fcntl.h> #include <bsd/sys/types.h> #include <bsd/sys/stat.h> #define BUFMAX (256*256) kern_server_t pc30ds1Instance; static int _pc30ds1Unit = 0; thread_t thread1; IORange *portrange; unsigned int port; unsigned int *irqlist; unsigned int irq,localirq; unsigned int *dmalist; IOEISADMABuffer dmabuff[2]; unsigned short *buffer,*bufuser; int bufpoin,bufmax,goforit; @implementation pc30ds1 /* * Probe, configure board and init new instance. This method is * documented in the IODevice spec sheet. */ + (BOOL)probe:deviceDescription { id driver; driver = [[self alloc] initFromDeviceDescription:deviceDescription]; if (driver == nil) return NO; else return YES; } /************************************************************************ * Init the new instance. This method is documented in the i386-specific * part of the IODirectDevice spec sheet. ***********************************************************************/ - initFromDeviceDescription:deviceDescription { char name[80]; vm_address_t memory; int physical; if ([super initFromDeviceDescription:deviceDescription] == nil) return nil; sprintf(name, "%s%d", pc30ds1_DEVICE_NAME, _pc30ds1Unit); [self setName:name]; [self setUnit:_pc30ds1Unit++]; [self setLocation:NULL]; [self registerDevice]; /**** Ports, IRQ und DMA-Setup ****/ portrange=[deviceDescription portRangeList]; port=portrange[0].start; irqlist=[deviceDescription interruptList]; irq=irqlist[0]; /* * * DMA - mode of operation was implemented but never fully testet * due to our inexperience with unix & mach, we are not very sure * if the allocation/handling of buffers make sense. * please comment. * */ dmalist=[deviceDescription channelList]; memory=(vm_address_t)IOMalloc(8192); IOPhysicalFromVirtual(IOVmTaskSelf(),memory,&physical); dmabuff[0]=[self createDMABufferFor:&physical length: 8192 read: YES needsLowMemory: NO limitSize: YES ]; memory=(vm_address_t)IOMalloc(8192); IOPhysicalFromVirtual(IOVmTaskSelf(),memory,&physical); dmabuff[1]=[self createDMABufferFor:&physical length: 8192 read: YES needsLowMemory: NO limitSize: YES ]; IOLog("pc30ds1: irq=%d\n",irq); IOLog("pc30ds1: port adress: %x length: %x\n",portrange[0].start, portrange[0].size); IOLog("pc30ds1: dma1ph: %x dma2ph: %x\n",dmabuff[0],dmabuff[1]); /**** Setup Buffer ****/ buffer=IOMalloc(BUFMAX); goforit=0; /* Handler inaktiv */ /**** Initialize Card ****/ outp(ADMDE,0x92); outp(TMRCTR,0x34); outp(TMRCTR,0x74); outp(TMRCTR,0xb6); outp(ADCCR,0x02); IODelay(100); inpp(ADDATL); if (inpp(ADDSR)&128) { IOLog("pc30ds1: A/D Conversion Error during Initialization\n"); return nil; } /**** Setting the Sample Rate ****/ outp(PRESC,0x00); outp(PRESC,0x01); outp(DIVID,0x00); outp(DIVID,0x01); /**** Interrupts ****/ outp(ADMDE,0x94); outp(ADCCR,0x08); /**** Handler aktivieren ****/ [self enableAllInterrupts]; return self; } /***************************************************************/ /**** Schnittstellenmethoden zum Benutzerprogramm ****/ /***************************************************************/ - (IOReturn)setIntValues : (unsigned int *)parameterArray forParameter:(IOParameterName)ParameterName count:(unsigned int)count { /**** Neuen Samplingvorgang starten ****/ if(strcmp(ParameterName,pc30ds1_START)==0) { int level; if (count!=2) { IOLog("pc30ds1: start error\n"); return(IO_R_INVALID_ARG); } level=spl5(); bufmax=parameterArray[0]; if (bufmax>BUFMAX) bufmax=BUFMAX; bufuser=(unsigned short *)parameterArray[1]; bufpoin=0; goforit=0; splx(level); return IO_R_SUCCESS; } /**** Neuen Samplingvorgang starten II ****/ if(strcmp(ParameterName,pc30ds1_START2)==0) { int level; if (count!=2) { IOLog("pc30ds1: start2 error\n"); return(IO_R_INVALID_ARG); } level=spl5(); bufmax=parameterArray[0]; if (bufmax>BUFMAX) bufmax=BUFMAX; bufuser=(unsigned short *)parameterArray[1]; bufpoin=0; goforit=1; splx(level); return IO_R_SUCCESS; } /**** Samplingvorgang brutal abbrechen ****/ if(strcmp(ParameterName,pc30ds1_STOP)==0) { int level; level=spl5(); goforit=0; splx(level); } return IO_R_INVALID_ARG; } /***************************************************************/ - (IOReturn)setCharValues : (unsigned char *)parameterArray forParameter:(IOParameterName)ParameterName count:(unsigned int)count { /**** Beliebigen Port der Karte setzen ****/ if(strcmp(ParameterName,pc30ds1_SETPORT)==0) { if (count!=2) { IOLog("pc30ds1: set port error\n"); return(IO_R_INVALID_ARG); } outp(parameterArray[0],parameterArray[1]); return IO_R_SUCCESS; } /**** Interrupts des Handlers disablen ****/ if(strcmp(ParameterName,pc30ds1_DISABLE)==0) { [self disableAllInterrupts]; return IO_R_SUCCESS; } /**** Interrupts des Handlers enablen ****/ if(strcmp(ParameterName,pc30ds1_ENABLE)==0) { [self enableAllInterrupts]; return IO_R_SUCCESS; } /**** Interruptrate setzen ****/ if(strcmp(ParameterName,pc30ds1_SETRATE)==0) { if (count==4) { int level; level=spl5(); outp(PRESC,parameterArray[0]); outp(PRESC,parameterArray[1]); outp(DIVID,parameterArray[2]); outp(DIVID,parameterArray[3]); IOLog("pc30ds1: reset\n"); splx(level); return(IO_R_SUCCESS); } return IO_R_INVALID; } IOLog("pc30ds1: wrong parameter %s\n",ParameterName); return IO_R_INVALID_ARG; } - (IOReturn)getIntValues : (unsigned int *)parameterArray forParameter:(IOParameterName)ParameterName count:(unsigned int*)count { if(strcmp(ParameterName,"read")==0) { int level=spl5(); parameterArray[0]=(inpp(ADDSR)&15)*256+inpp(ADDATL); *count=1; splx(level); return IO_R_SUCCESS; } /**** Testen ob der Samplingvorgang beendet ****/ if(strcmp(ParameterName,pc30ds1_READY)==0) { /* int level=spl5();*/ parameterArray[0]=goforit; parameterArray[1]=bufpoin; *count=2; /* splx(level);*/ return IO_R_SUCCESS; } /**** Prozess starten und Gesampelte Daten lesen; ****/ if(strcmp(ParameterName,pc30ds1_READ)==0) { int level,wres; /**** Sampling starten ****/ level=spl5(); goforit=1; thread1=(thread_t)current_thread(); assert_wait(0,FALSE); thread_set_timeout(hz*20); splx(level); thread_block(); wres=thread_wait_result(); /**** Sampling beendet oder Timeout ****/ level=spl5(); goforit=0; bcopy(buffer,bufuser,bufpoin*sizeof(short)); parameterArray[0]=bufpoin; parameterArray[1]=(int)bufuser; parameterArray[2]=(wres==THREAD_AWAKENED); *count=3; splx(level); return IO_R_SUCCESS; } /**** Gesampelte Daten lesen II ****/ if(strcmp(ParameterName,pc30ds1_READ2)==0) { int level,i; level=spl5(); goforit=0; copyout(buffer,bufuser,bufpoin*sizeof(short)); parameterArray[0]=bufpoin; parameterArray[1]=(int)bufuser; *count=2; splx(level); return IO_R_SUCCESS; } IOLog("pc30ds1: wrong parameter %s\n",ParameterName); return IO_R_INVALID_ARG; } /*****************************************************************/ /*****************************************************************/ /*****************************************************************/ /**** Handler setzen ****/ - (BOOL) getHandler:(IOEISAInterruptHandler*)handler level:(unsigned int*)ipl argument:(unsigned int*)arg forInterrupt:(unsigned int)localInterrupt { static void pc30IntHandler(); *handler=pc30IntHandler; *ipl=IPLDEVICE; *arg=0; localirq=localInterrupt; IOLog("Interrupt Handler aktiviert irq=%d localir=%d\n",irq, localirq); return YES; } /**** Simple Int-Handler ****/ static void pc30IntHandler(void *identity, void *state, unsigned int arg) { int wert; static int tog=0; tog=!tog; outp(0x14,tog?255:0); if (goforit) { outp(0x15,tog?255:0); if (bufpoin==bufmax) { goforit=0; /*clear_wait(thread1,THREAD_AWAKENED,FALSE);*/ } else { wert=(inpp(ADDSR)&15)*256+inpp(ADDATL); buffer[bufpoin]=wert; bufpoin++; } } IOSendInterrupt(identity,state,IO_DEVICE_INTERRUPT_MSG); } :::::::::::::: Default.table :::::::::::::: "Title" = "AD/DA-Wandler PC-30 DS1"; "Family" = "Other"; "Version" = "1.0"; "Location" = ""; "Instance" = "0"; "Driver Name" = "pc30ds1"; "DMA Channels" = "5 6"; "IRQ Levels" = "5"; "I/O Ports" = "0x700-0x719"; "Memory Maps" = ""; "Server Name" = "pc30ds1"; :::::::::::::: Localizable.strings :::::::::::::: "pc30ds1" = "AD/DA PC-30 DS1" "Long Name" = "AD/DA Wandler Meilhaus PC-30 DS1"; :::::::::::::: user.m :::::::::::::: /* * A test program that communicates with the driver * for the PC30DS1 AD-converter card */ #import <driverkit/IODeviceMaster.h> #import <driverkit/IODevice.h> #import <mach/mach.h> #import <libc.h> #import "pc30ds1.h" #import "pc30ds1User.h" #include <math.h> void main(void) { IOReturn ret; IOObjectNumber tag; IOString kind; unsigned int unit = 0; char name[80]; IODeviceMaster *devMaster; IOCharParameter value; unsigned int anz,x; float wert,p; unsigned short sh; unsigned short *buffer; int bufpoin; int array[10],count; char caaray[10]; char val[10]; int i; FILE *fp; /* Look up the test driver, using IODeviceMaster. */ devMaster = [IODeviceMaster new]; sprintf(name, "%s%d", pc30ds1_DEVICE_NAME, unit); ret = [devMaster lookUpByDeviceName:name objectNumber:&tag deviceKind:&kind]; if (ret != IO_R_SUCCESS) { /* handle the error */ fprintf(stderr, "Lookup failed: %s\n", [IODevice stringFromReturn:ret]); exit(-1); } anz=4; val[0]=(char)64; val[1]=(char)0; val[2]=(char)64; val[3]=(char)0; ret=[devMaster setCharValues: val forParameter:pc30ds1_SETRATE objectNumber: tag count:anz]; /********* Start sampling ********/ buffer=(unsigned short *)malloc(10000*sizeof(short)); array[0]=1000; array[1]=(int)buffer; ret=[devMaster setIntValues: array forParameter:pc30ds1_START2 objectNumber: tag count:2]; /* sampling is in progress */ scanf("%d",&anz); /* with anz user tells programm how manny of the scanned * values he wants to fetch from the driver's buffer * if anz is bigger than the number of values scanned until * delivering the following message, only the scanned values are * transfered */ ret=[devMaster getIntValues: array forParameter:pc30ds1_READ2 objectNumber: tag count:&anz]; fp=(FILE*)fopen("output.txt","w"); for (i=0;i<1000;i++) { fprintf(fp,"%d %d\n",i,(int)buffer[i]); } fclose(fp); printf("number=%d %x %x\n",array[0],array[1],buffer); if (ret != IO_R_SUCCESS) { fprintf(stderr, "Failed to start: %s\n", [IODevice stringFromReturn:ret]); exit(-1); } } -- Paul Schmoelz Institut fuer Allgemeine Physik Technische Universitaet Wien, Austria e-mail: schmoelz@eapv38.tuwien.ac.at
From: Eric Celeste <efc@wonder.mit.edu> Newsgroups: comp.sys.next.programmer Subject: Looking for text editing source Date: 30 Sep 1993 17:38:33 GMT Organization: Massachvsetts Institvte of Technology Message-ID: <28f5ip$36q@senator-bedfellow.MIT.EDU> A few years ago I remember seeing source for a simple text editing app that did all the right open/save stuff & also had a separate nib for the text window. I need to cobble together an app for which such source code would be a leg up. I've looked at sonata and orst, but don't seem to turn anything up. Does anyone have any idea where I can find such a beast? If not, I'll just write it and post it myself! Thanks, ..Eric -------------------------------------------------------------------- Eric Celeste / MIT Libraries / 14E-210A / 617-253-0633 / efc@mit.edu --------------------------------------------------------------------
From: Robert Nicholson <robert@steffi.demon.co.uk> Newsgroups: comp.sys.next.programmer,mlist.next-prog Subject: Installing libg++2.4 under NS3.1 with gcc 2.4.5 Date: Thu, 30 Sep 93 19:27:17 GMT Message-ID: <9309301222.AA24393@steffi.demon.co.uk> Organization: me organized? That's a joke! Has anybody installed libg++2.4 under NS3.1 using gcc 2.4.5? In NeXT's libg++2.3 the header file basically just included the appropriate next header from from /usr/include They basically looked like this (etc) extern "C" { #include <_G_config.h> #include_next <unistd.h> } Now, in libg++2.4 there are prototypes as well as the instructions necessary to import the appropriate next header files. Some of these protoypes conflict with the default next prototypes in _their_ include files. This is what it looks like in 2.4 #ifndef _G_unistd_h #define _G_unistd_h 1 #include <_G_config.h> extern "C" { #if _G_HAVE_UNISTD #ifndef _G_USE_PROTOS #define chmod __hide_chmod #define chown __hide_chown #define execl __hide_execl #define execlp __hide_execlp #define execle __hide_execle #define fchown __hide_fchown #define ioctl __hide_ioctl #define setgid __hide_setgid #define setuid __hide_setuid #endif #ifdef _AIX // AIX's unistd.h defines int rename (const char *old, const char *new). // This is not legal ANSI. It causes a C++ syntax error (because of 'new'). #define new __new #endif #include_next <unistd.h> #ifdef _AIX #undef new #endif #ifndef _G_USE_PROTOS #undef chmod #undef chown #undef execl #undef execle #undef execlp #undef fchown #undef ioctl #undef setgid #undef setuid #endif #else #ifndef SEEK_SET extern _G_pid_t setpgrp _G_ARGS((_G_pid_t, _G_pid_t)); #endif extern int setregid _G_ARGS((int, int)); extern int setreuid _G_ARGS((int, int)); extern int setuid (_G_uid_t); extern unsigned sleep _G_ARGS((unsigned)); extern void swab _G_ARGS((void*, void*, int)); extern int symlink _G_ARGS((const char*, const char*)); extern long sysconf _G_ARGS((int)); extern int truncate _G_ARGS((const char*, _G_off_t)); extern char* ttyname _G_ARGS((int)); extern int ttyslot _G_ARGS((void)); //extern int umask _G_ARGS((int)); /* commented out for now; wrong for SunOs4. 1 */ extern int unlink _G_ARGS((const char*)); extern _G_pid_t vfork _G_ARGS((void)); extern int vadvise _G_ARGS((int)); extern int vhangup _G_ARGS((void)); extern _G_off_t lseek _G_ARGS((int, long, int)); extern _G_ssize_t read _G_ARGS((int, void*, _G_size_t)); extern _G_ssize_t write _G_ARGS((int, const void*, _G_size_t)); extern int access _G_ARGS((const char*, int)); #ifndef hpux extern int flock _G_ARGS((int, int)); #endif } #endif Here's an example. (Should I just remove the prototypes from the .h file? Is this what NeXT did in 2.3 or was that how 2.3 was distributed?) root:/Users/robert/archives/libg++-2.4/libg++>make 10:46 Warning: TARGETLIB changed after being used gcc -c -g -O -nostdinc++ -I. -I../. -I. -I./../iostream -I./../src -I./../g++-include procbuf.C In file included from ioprivate.h:21, from procbuf.C:19: ./../g++-include/unistd.h:145: conflicting types for `long int read (...)' /NextDeveloper/Headers/bsd/unistd.h:108: previous declaration of `int read (int, void *, long unsigned int)' ./../g++-include/unistd.h:146: conflicting types for `long int write (...)' /NextDeveloper/Headers/bsd/unistd.h:121: previous declaration of `int write (int, const void *, long unsigned int)'
Newsgroups: comp.sys.next.programmer,mlist.next-prog From: wching@csmt.music.yale.edu (William Ching) Subject: Re: Installing libg++2.4 under NS3.1 with gcc 2.4.5 Message-ID: <1993Sep30.230727.1503@cs.yale.edu> Followup-To: comp.sys.next.programmer,mlist.next-prog Sender: news@cs.yale.edu (Usenet News) Organization: Yale School of Music, Center for Studies in Music Technology References: <9309301222.AA24393@steffi.demon.co.uk> Date: Thu, 30 Sep 1993 23:07:27 GMT Robert Nicholson (robert@steffi.demon.co.uk) wrote: > Has anybody installed libg++2.4 under NS3.1 using gcc 2.4.5? > [stuff deleted] > Now, in libg++2.4 there are prototypes as well as the instructions > necessary to import the appropriate next header files. Some of > these protoypes conflict with the default next prototypes in _their_ > include files. > This is what it looks like in 2.4 > #ifndef _G_unistd_h > #define _G_unistd_h 1 > [quoted prototypes deleted] > root:/Users/robert/archives/libg++-2.4/libg++>make 10:46 > Warning: TARGETLIB changed after being used > gcc -c -g -O -nostdinc++ -I. -I../. -I. -I./../iostream -I./../src -I./../g++-include procbuf.C > In file included from ioprivate.h:21, from procbuf.C:19: > ./../g++-include/unistd.h:145: conflicting types for `long int read (...)' > /NextDeveloper/Headers/bsd/unistd.h:108: previous declaration of `int read (int, void *, long unsigned int)' > ./../g++-include/unistd.h:146: conflicting types for `long int write (...)' > /NextDeveloper/Headers/bsd/unistd.h:121: previous declaration of `int write (int, const void *, long unsigned int)' I solved the problem by simply manually executing that previous line, leaving out the -I./../g++-include qualifier. Whether that results in an incorrect library has yet to resolved, but I haven't seen any problem (YET) ----------------------------------------------------------------------------- William Ching, System Administrator | wching@csmt.music.yale.edu (NeXTMail) Yale University Department of Music | Center for Studies in Music Technology "To the insane the sane must seem insane"
Newsgroups: comp.sys.next.programmer From: dsdecasp@iiic.ethz.ch (Daniel Stefan Decasper) Subject: Changing the size of DBTableVector by program Message-ID: <1993Sep30.140701.2971@neptune.inf.ethz.ch> Keywords: DBKit next DBTableView DBTableVector NEXTSTEP Sender: news@neptune.inf.ethz.ch (Mr News) Organization: Dept. Informatik, Swiss Federal Institute of Technology (ETH), Zurich, CH Date: Thu, 30 Sep 1993 14:07:01 GMT How do I change the size of a DBTableVector by program ? [[myTableView columnAt: x] sizeTo:size] just does not work (shows no results at all). Of course, the table vector and the table view are set to resizable. Please help, Dan BTW: The manual for DBTableVectors is rather strange: it says: >sizeTo: >- (NXCoord)sizeTo:(NXCoord)newSize ========= > >Sets the width and height of the display cell to the values in newSize. >Returns self. ==== But it never returns self, I always get the old (and new, unfortunately...) size of my DBTableVector. And it says "sets width AND height" and takes a NXCoord with is just a typedefed float as argument. Confused.... ---------------------------------------------------------------------------- = Dan S. Decasper email: dan@fanatic.open.ch or dsdecasp@iiic.ethz.ch = = Uetlibergstr.16 voice: 41-1-4930361 [NeXTMail ok]; = = CH-8142 Uitikon fax: 41-1-4930361 09/24/69 = = Switzerland fight against racism - dance2trance = = Student in Computer Science Swiss Federal Institute of Technology (ETH) = ----------------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: rahner@zuni.litc.lockheed.com (Mark Rahner) Subject: Re: Location of POSIX libraries? Message-ID: <CE6xrx.1n9@butch.lmsc.lockheed.com> Sender: news@butch.lmsc.lockheed.com Organization: Lockheed Missiles & Space Co. References: <1993Sep25.235712.27566@cs.cornell.edu> <1993Sep26.015033.20998@csus.edu> <1993Sep28.160931.27269@butch.lmsc.lockheed.com> <1993Sep30.013505.16559@csus.edu> Date: Thu, 30 Sep 1993 23:40:42 GMT Eric P. Scott (eps@futon.SFSU.EDU) wrote: : In article <1993Sep28.160931.27269@butch.lmsc.lockheed.com> : rahner@zuni.litc.lockheed.com (Mark Rahner) writes: : >Eric P. Scott (eps@futon.SFSU.EDU) wrote: : >: NEVER attempt to define (or undefine) conditionals such as : >: __STDC__, __GNUC__, __cplusplus, __STRICT_BSD__, __STRICT_ANSI__, : >: _NEXT_SOURCE, or _POSIX_SOURCE yourself. : > : >This statement is inaccurate. : : <most of Eric's rude verbose diatribe removed> Eric, you said "NEVER" and you're wrong. I write portable code that runs great on RS/6000s, SGIs, AIXESA, Crays, Convexs, and NeXTs. I didn't say that you should ALWAYS do it, because intelligent people try to avoid using absolutes. : >Unfortunately, NeXTSTEP 3.1 is not POSIX 1003.1 compliant, so : >porting POSIX conforming code to NeXTs can cause minor difficulties. : : I don't think it's unfortunate at all. POSIX is braindead. POSIX or you? You would have to be a pretty serious moron not to understand that POSIX is a huge step toward software portability. : >However, NeXT is moving toward future POSIX compliance (3.1 is a : >lot closer than 3.0 was). : : Checklist item for "rich, vulnerable and stupid" customers. What color is the sky in your little world? For many people, cross-platform portability is a necessity. I love my NeXT but I just can't do all of my work on a 68040-class machine. : POSIX is not "portable UNIX." POSIX is not UNIX. It's a : "wannabe" at best ... Do you enjoy broadcasting your ignorance around the net? POSIX is not an operating system. POSIX 1003.1 (the part we're talking about) is a portable C language interface to operating systems. : ... Maybe X/Open has : _some_ credibility. POSIX certainly does not, except among suits : and marketroids. I may be mistaken, but I believe that XPG4 (edition 4 of the X/Open Portability Guide) requires POSIX 1003.1 conformance. : -=EPS=- You shouldn't be so hostile to everyone who disagrees with you. It might cause them to point out in a public forum that you are an *. You are not worth another post, so the rest of this conversation will be one way only... -- Mark V. Rahner rahner@lmsc.lockheed.com
Newsgroups: comp.sys.next.programmer From: zazula@soliton.physics.arizona.edu (Ralph Zazula) Subject: Re: How to make three-state switches? Message-ID: <1993Sep29.190444.19129@galileo.physics.arizona.edu> Sender: zazula@pri.com Organization: Pinnacle Research, Inc. References: <1993Sep29.143729.8550@infodev.cam.ac.uk> Date: Wed, 29 Sep 1993 19:04:44 GMT In article <1993Sep29.143729.8550@infodev.cam.ac.uk> William.Clocksin@cl.cam.ac.uk writes: >I would like to be able to have a Button-type Control, something like what IB >calls a Switch, except that it has three states. > You can do this by subclassing Button and keeping track of the multiple states internally. A "smart" subclass will be sure to use the images setup in IB for the first two states. The third (fourth, ...) can be set programmatically. Take a look at Control's sendAction:to: method. You'll want to subclass this to increment through your states and update the images. Ralph --- Ralph Zazula President Pinnacle Research, Inc. THE NEXTSTEP UTILITY LAB zazula@pri.com (NeXTmail) voice: (602)529-1135 fax: (602)529-0117 / (602)299-9133
From: zmonster@athena.mit.edu (Eric M Hermanson) Newsgroups: comp.sys.next.programmer Subject: Disabling a Slider while it is being moved Date: 1 Oct 1993 06:00:17 GMT Organization: Massachusetts Institute of Technology Distribution: world Message-ID: <28gh1h$fbq@senator-bedfellow.MIT.EDU> I am trying to programmatically disable a slider, but am running into trouble. I have a special situation in my program where a timed entry function gets called (with a priority threshold of 12) every 0.1 seconds. On a given call of this function, I would like to permanently disable an on-screen slider. This works If and only If the user has NOT mouse-downed on the slider. If the user is moving the slider, the timed entry sends the disable message, but it is "ignored" by the slider. Is there a way to over-ride the user control of the slider? I could probably figure this out myself given time, but I am 199% bogged down with my Masters Thesis and classes. Thanks, Eric
Newsgroups: comp.sys.next.programmer From: andrew@stone.com (Andrew Stone) Subject: Re: Dragging in an app icon? Message-ID: <1993Sep29.040140.9514@stone.com> Sender: andrew@stone.com Organization: Stone Design Corp References: <1993Sep28.131042.338@elin-ekt.co.at> Date: Wed, 29 Sep 1993 04:01:40 GMT In article <1993Sep28.131042.338@elin-ekt.co.at> hannes@elin-ekt.co.at (J.J.Deepwell) writes: > In article <27lcfa$ktf@klaus.physchem.chemie.uni-tuebingen.de> frank@atlas > (Frank Siegert) writes: > > I tried an old application today I once wrote back in 1990 that "imports" > > files by dragging them on the app icon. As long as I do not dock the app > > in the workspace everything was fine. But as soon as I docked it, no files > > were accepted anymore...? Now the release notes said that iconEntered and > > friends are obsolete and so I tried it using the newer dragging protocol. > > > > I wrote a simple test > > > > - appDidInit:sender > > { > > const char *fileType[] = {NXFilenamePboardType}; > > [[NXApp appIcon] setDelegate:self]; > > [[NXApp appIcon] registerForDraggedTypes:fileType count:1]; > > fprintf(stderr,"Registered\n"); > > return self; > > } > > ... > > ... > > This does not even work in non-docked state! > > > > This program only outputs "registered". If I replace [NXApp appIcon] by > > a real window it works ok. Am I missing something? All I want to do is > > drag a file from workspace to the app icon when the app is docked in > > workspace, just like in the old acceptor example from 2.1. > > > > Thanks > > > > Frank > > > > > > -- > > > > // God is real, unless declared integer //////////////////////////// > > > > What happens is this: > > I suggest it's a bug, but it could be a feature, that the Window class doesn't > register a delegate, if it is a NX_MINIWINDOWSTYLE or NX_MINIWORLDSTYLE or > NX_TOKENSTYLE. Here's a short extract of the setDelegate: method of the > Window class in NeXTSTEP 3.1 (black version): > > setDelegate: of class Window > > moveml d2/a2-a3,sp@- > moveal fp@(8),a3 // self > movel fp@(16),d1 // delegate > moveb a3@(68),d0 // wFlags > andil #240,d0 // style > movel #48,d2 // NX_MINIWINDOWSTYLE > cmpl d0,d2 > beq 0x603c1f8 <-[Window setDelegate:]+84> > movel #64,d2 // NX_MINIWORLDSTYLE > cmpl d0,d2 > |-beq 0x603c1f8 <-[Window setDelegate:]+84> > | movel #80,d2 // NX_TOKENSTYLE > | cmpl d0,d2 > | beq 0x603c1f8 <-[Window setDelegate:]+84> > | movel d1,a3@(32) // store the delegate - but if one of the above was true, > | ... // we never get here! > | ... > | ... > | > -> 0x603c1f8: > movel a3,sp@- // push self (for sending setDelegateUpdates:forWindow: > // to NXApp) > movel @#0x6173c44 <_NXTIFFNoBitRevTable+142080>,sp@- > movel @#0x6173a0c <_NXTIFFNoBitRevTable+141512>,sp@- > movel a3@(32),sp@- > lea @#0x6004a38 <objc_msgSend>,a2 > bsr a2@ // ask the stored delegate (a3@(32) is the instance variable > delegate - which wasn't written!) > addqw #8,sp // if he responds to windowDidUpdate: > addqw #4,sp > moveb d0,d2 > extbl d2 > movel d2,sp@- > movel @#0x6173cd4 <_NXTIFFNoBitRevTable+142224>,sp@- > movel @#0x4030000 <NXApp>,sp@- > bsr a2@ // if the delegate responds > ... // (which it didn't because a nil-delegate was asked) > ... // register this window for updates to NXApp > ... // with a call of setDelegateUpdates:forWindow: of NXApp > ... // but anyway - the delegate is never stored! > rts > > A bad, bad workaround: > > struct windowDef { > @defs(Window) > } *publicWindow; > > @implementation Controller > > - appDidInit:sender{ > > const char *fileType[] = {NXFilenamePboardType}; > int oldStyle; > publicWindow = (struct windowDef*)[NXApp appIcon]; > oldStyle = publicWindow->wFlags.style; > publicWindow->wFlags.style = NX_RESIZEBARSTYLE; > [[NXApp appIcon] setDelegate:self]; > publicWindow->wFlags.style = oldStyle; > [[NXApp appIcon] registerForDraggedTypes:fileType count:1]; > return self; > } > > ... > ... > > Before we set the delegate, we claim, that the window is of style > NX_RESIZEBARSTYLE and restore the style afterwards. Now the delegate > methods of the dragging protocol are sent. > > A less bad workaround would be to use the contentView for the dragging > mechanism, I suppose. > But I didn't try that. > > -- Here's an equally bad workaround which "works" for you but breaks gosh knows what: object_setInstanceVariable([NXApp appIcon], "delegate", (void *)self); I was thinking of adding a view to the appIcon which would do fun stuff with mouse clicks. NeXT warns adamantly against it, because the Workspace is responsible for that tile [for command drop-ons, etc]. One proposed solution was: - create a faux window which always "covers" the app tile. Your fake appIcon window gets the events; you deal with the ones you want, and then pass other events to the real appIcon. Sounds really breakable. To quote someone famous in software at NeXT: I think the answer is "you just can't do it." All mouse events in the app tile are supposed to be reserved, so there's no supported way to do what you're asking for. I haven't spent too much time on it, but I can't think of any simple way which would let the app get mouseclicks. I did take a look at one app which actually puts a slider in the app tile, and it does a lot of hairy stuff to accomplish what it does, and still it has problems. And what's more I doubt it works between major releases, the way it mucks around with the private window dictionary. andrew -- ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>|| !! Andrew Stone !! (505) 345-4800 !! !! andrew@stone.com <> Stone Design Corp !! ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>||
Newsgroups: comp.sys.next.programmer From: paccorti@nextsrv1.andi.org (Peter Accorti) Subject: Re: Strange Compiler Errors Message-ID: <CE6qpJ.G8z@nextsrv1.andi.org> Sender: usenet@nextsrv1.andi.org (usenet) Organization: Association of NeXTSTEP Developers International References: <CE523L.5Kv@nextsrv1.andi.org> Date: Thu, 30 Sep 1993 21:08:06 GMT In article <CE523L.5Kv@nextsrv1.andi.org> paccorti@nextsrv1.andi.org (Peter Accorti) writes: > When I compile the following program I get the following errors.. I'd like to thank everyone for pointing out that I was incorrectly specifying an octal number. I apologize.. working late makes me stupid sometimes!!
Newsgroups: comp.sys.next.programmer From: Greg_Anderson@afs.com (Gregory H. Anderson) Subject: Re: Strange Compiler Errors Message-ID: <1993Oct1.141705.2156@afs.com> Sender: greg@afs.com References: <CE6qpJ.G8z@nextsrv1.andi.org> Date: Fri, 1 Oct 1993 14:17:05 GMT In article <CE6qpJ.G8z@nextsrv1.andi.org> paccorti@nextsrv1.andi.org (Peter Accorti) writes: > In article <CE523L.5Kv@nextsrv1.andi.org> paccorti@nextsrv1.andi.org > (Peter Accorti) writes: > > When I compile the following program I get the following errors.. > > I'd like to thank everyone for pointing out that I was incorrectly > specifying an octal number. I apologize.. working late makes me stupid > sometimes!! Well played, Peter! Here's your 10-point bonus question: What is the one place where a leading zero does NOT specify octal, but does have a special meaning? Hint: it's a popular library function. -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
Newsgroups: comp.sys.next.programmer From: thf@zelator.in-berlin.de (Thomas Funke) Subject: Re: mmap()/MAP_FIXED question Message-ID: <1993Sep30.145957.1434@gamelan> Sender: thomas@gamelan (thomas) Organization: Disorganization References: <289br7INNs58@gap.caltech.edu> Date: Thu, 30 Sep 1993 14:59:57 GMT In article <289br7INNs58@gap.caltech.edu> ccwf@gg.caltech.edu (Charles Fu) writes: > I noticed when compiling some GNU software packages that they require > MAP_FIXED to be defined in <sys/mman.h> before they will consider the > mmap function call to be safe for use. > > In my experience, mmap _seems_ to produce the correct results on the > NeXT, although I do not use it much. > > Here are my questions: > > - What is MAP_FIXED (or its absence) supposed to mean? > - What is MAP_FIXED's proper value? > - Is mmap truly safe? > > -ccwf caddr_t mmap(addr, len, prot, flags, fd, off) mmap() establishes a mapping between the process's address space at an address pa for len bytes to the memory object represented by fd at off for len bytes. The value of pa is an implementation-dependent function of the parameter addr and values of flags, further described below. A successful mmap() call returns pa as its result. The address ranges [...] MAP_FIXED informs the system that the value of pa must be addr, exactly. The use of MAP_FIXED is discouraged, as it may prevent an implementation from making the most effective use of system resources. -- ------------------------------------------------------------------ Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de Brook's Law: Adding manpower to a late software project makes it later ------------------------------------------------------------------
From: ssircar@canon.com (Subrata Sircar) Newsgroups: comp.sys.next.programmer Subject: Re: Death to cpp (Was Re: How to use "#line macros") Date: 1 Oct 1993 18:37:50 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9310012337.AA06695@alychne-nc.canon.com> Alex Blakemore wrote: > Personally, I'ld recommend inline functions over macros for all > but the simplest tasks. This will not work for me; I use preprocessor directives to spit out code that is used in more than one place i.e. #define AUTOMAGIC_FORWARD(methodPlusArgs) \ {return [myRealObject methodPlusArgs];} so that I can make sure that I get identical code in these places. The above example is trivial, but what about something where I need to check validity of pointers and objects before sending (like Distributed Objects)? #define MY_VOID_AUTO_CHECK(methodPlusArgs) \ { \ if ([clientConnection isValid] && activeClient) \ return [activeClient methodPlusArgs]; \ else return; } Or, how about when multiple objects need to implement a method (their superclass declares it, but each subclass implements a different version)? - myMethod { MY_METHOD_BEGINNING; if (theResultsFromTheBeginning) { // All kinds of clever stuff in here, which varies with subclasses } MY_METHOD_END; } This is much more convienient and avoids typos. I can't turn any of these into functions without a lot of pain; preprocessor macros are *exactly* what I want because they replace a simple shorthand with the correct code. That's why I'd like to be able to step inside the shorthand when I'm debugging; usually plugging in this shorthand isn't done until the code is tested, but it would be useful. -- Subrata Sircar|ssircar@canon.com (NextMail ok)|Prophet & SPAMIT Charter Member Canon Information Systems and I do not share the same views on everything. "I'm just mad that I missed the sexual revolution." - me "Yes, but you dress much better as a result." - Mike
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Argh! Anyone now how Zone's are implemented? Date: 1 Oct 1993 16:25:25 -0700 Message-ID: <28ie95$gpv@ursula.ee.pdx.edu> Summary: How to associate vmregion and Zone's? How are zone's implemented? On some debugging tools I working on, being able to access the `zone name' would be very handy. Golly, feel sorta braindead here, but heck if I can intuit the implementation. marcus
From: ssircar@canon.com (Subrata Sircar) Newsgroups: comp.sys.next.programmer Subject: Re: How to make three-state switches? Date: 1 Oct 1993 18:41:48 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9310012340.AA06698@alychne-nc.canon.com> William Clocksin wrote: > I would like to be able to have a Button-type Control, something like what IB > calls a Switch, except that it has three states. > Has anybody implemented this yet? Forgive my ignorance, but won't using the "setEnabled:" method work for you? For example, State 1 is the button active, but unchecked. State 2 is the button active, but checked. State 3 is the button inactive (and presumably unchecked). It will visibly dim in State 3 to distinguish it from State 1. We do this sometimes for exactly this reason, particularly if State 3 is "ignore" or "don't care". -- Subrata Sircar|ssircar@canon.com (NextMail ok)|Prophet & SPAMIT Charter Member Canon Information Systems and I do not share the same views on everything. "I'm just mad that I missed the sexual revolution." - me "Yes, but you dress much better as a result." - Mike
From: isbell@cats.ucsc.edu (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: Changing the size of DBTableVector by program Date: 2 Oct 1993 02:57:29 GMT Organization: Cubic Solutions - NeXT software development and consulting Message-ID: <28iqmp$3mc@darkstar.UCSC.EDU> References: <1993Sep30.140701.2971@neptune.inf.ethz.ch> Keywords: DBKit next DBTableView DBTableVector NEXTSTEP In article <1993Sep30.140701.2971@neptune.inf.ethz.ch> dsdecasp@iiic.ethz.ch (Daniel Stefan Decasper) writes: >How do I change the size of a DBTableVector by program ? > >[[myTableView columnAt: x] sizeTo:size] > >just does not work (shows no results at all). This was broken under 3.0 (not sure about 3.1, because I redesigned so I wouldn't have to resize programmatically :-( You can use the @defs(DBTableVector) hack to manipulate the private currentSize ivar which will resize correctly, but might break should NeXT reimplement DBTableVector. >But it never returns self, I always get the old (and new, unfortunately...) >size of my DBTableVector. And it says "sets width AND height" and takes >a NXCoord with is just a typedefed float as argument. Tablevectors can be vertical or horizontal depending on whether the tableview has dynamic rows or columns, so with dynamic rows, the sizeTo: argument is the width. -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: burns@sparc4.cs.uiuc.edu (Edward John Burns) Subject: Help on writing packet sniffer network-related kernServer Message-ID: <CE99sz.JID@sparc0a.cs.uiuc.edu> Summary: Looking for an example packet sniffer kernServer Sender: news@sparc0a.cs.uiuc.edu Organization: University of Illinois at Urbana-Champaign Date: Sat, 2 Oct 1993 05:55:46 GMT I need to write a packet sniffer network-related kernel server. I tried looking at the source for MazeWar, but found it to be beyond what I would like to do. Really, I'd just like to use the if_ipackets() function to get the number of packets that come on the network for a given timeslice. I don't know what the netif_t netif should be or what the ipackets should be. Could someone point me to an example of a packet sniffer network-related kernel server? Thanks +-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^+ | Ed Burns | ACM Secretary, U of IL Urbana | h 217-332-3281| | e-burns@uiuc.edu | SigMicro 6:00 Wednesdays | o 217-333-5828| +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
From: amunoz Newsgroups: comp.sys.next.programmer Subject: Compiling in NS 3.1 Date: 1 Oct 1993 17:32:59 -0600 Organization: ITESM, Campus Monterrey Sender: root@mtecv2.mty.itesm.mx Distribution: alt Message-ID: <28ienb$2ohc@mtecv2.mty.itesm.mx> I'm trying to compile an app in NS 3.1, this app was create out of IB and Project Builder, and I want to compile and generate it as a FatBinary app, the real problem is that I don't how to build up my Makefile in order to get it. I know that I have to include the -arch i386 and -arch m68k flags, but I don't know where include it in the Makefile and what other modifications I have to do to the last one. I apreciate any help.
Newsgroups: comp.sys.next.programmer From: wfc@cl.cam.ac.uk (William Clocksin) Subject: Re: How to make three-state switches? Message-ID: <1993Oct2.111434.27972@infodev.cam.ac.uk> Sender: news@infodev.cam.ac.uk (USENET news) Organization: U of Cambridge, England References: <9310012340.AA06698@alychne-nc.canon.com> Date: Sat, 2 Oct 1993 11:14:34 GMT In article <9310012340.AA06698@alychne-nc.canon.com> ssircar@canon.com (Subrata Sircar) writes: > Forgive my ignorance, but won't using the "setEnabled:" method work for you? No, because the intention is not to disable the switch. See what happens when you try to click a disabled switch.
Newsgroups: comp.sys.next.programmer From: monty@its.com (Montgomery Zukowski) Subject: Garbage collection on the NeXT? Message-ID: <1993Oct1.153154.447@its.com> Keywords: garbage collection Sender: monty@its.com Organization: Information Technology Solutions Date: Fri, 1 Oct 1993 15:31:54 GMT Has anyone used the garbage collection software for C from Xerox written by Boehm and Demers? I found the code in the Sather language distribution and want to try it out on the NeXT but wonder if anybody has met with success or failure in using it. I'm not sure how well it would integrate with existing classes, the runtime system or the zone mallocing routines. Any insight would be appreciated. Thanks, Monty
Newsgroups: comp.sys.next.programmer From: gordie@cyclesoft.com (Gordie Freedman) Subject: Re: Help: changing the font of a non-Text object Message-ID: <1993Sep30.065718.16486@netcom.com> Sender: gordie@netcom.com Organization: Cyclesoft Media Works References: <CDzsro.Jqn@news.iastate.edu> Date: Thu, 30 Sep 1993 06:57:18 GMT In article <CDzsro.Jqn@news.iastate.edu> joseph@daffy.tip.ameslab.gov (Joseph Reynolds) writes: > Hi. > > I am trying to make a font inspector for a non-Text object. (I have some > Postscript code that writes in different fonts.) I have been able to > cobble together a system that works almost as well as I would like, but I > want to know the "official" way. > > > The main problem is that I can't get a Text object in IB: > - A custom View made to be a Text class works, badly. I get the delegate > messages, but the View never erases and redraws itself. I think there is > a problem with the initialization of the text object. I did this, I have a custom view with a CText object stuck inside. It works, here's some code to check out: // From appDidInit (fontText is the CText object used in the custom view) [fontText initializeYourself]; // Here's some methods from CText. // Setup the Text object - initializeYourself { [self setEditable:NO]; [self setBackgroundGray:NX_LTGRAY]; [self setTextGray:NX_BLACK]; [self setMonoFont:YES]; [self setText:"Hello, I am an example of the font"]; [self setFont:font]; return self; } // Use this method to open the font panel, with focus in the // text object you want to preview the font in - openFontPanel:sender { [self setSel:0:0]; [[FontManager new] orderFrontFontPanel:self]; return self; } There's more info in the digi lib docs for Text, Font, FontPanel -- >>> Gordie Freedman -> gordie@cyclesoft.com NeXTMail Yes! >>> Thou shalt not inline functions more complicated than 20
Newsgroups: comp.sys.next.programmer From: dylan@Angst.COM (Dylan Kohler) Subject: Re: Strange Compiler Errors Message-ID: <1993Sep30.143246.4713@Angst.COM> Sender: dylan@Angst.COM Organization: Angst Animation Post Production References: <CE523L.5Kv@nextsrv1.andi.org> Date: Thu, 30 Sep 1993 14:32:46 GMT In article <CE523L.5Kv@nextsrv1.andi.org> paccorti@nextsrv1.andi.org (Peter Accorti) writes: > When I compile the following program I get the following errors... > > main() > { > double test_ptr[20]; > > *(test_ptr + 08) = 0.0; > } > > test.c:5: warning: numeric constant contains digits beyond the radix > test.c: In function `main': > test.c:5: numeric constant contains digits beyond the radix > > If I remove the 0 in front of the 8 it compiles fine!! > Is this a known bug??? No bug, methinks. The 0 in front of the 8 indicates the digits will make up an octal number. And '8' in an octal is nonsense. You'll get the same warning with 09, but not with 07! -- ___________________________________ Dylan Kohler Angst Animation Post Production dylan@angst.com (NeXTmail welcome)
From: glenn@rightbrain.com (Glenn Reid) Newsgroups: comp.sys.next.programmer Subject: Re: Strange Compiler Errors Message-ID: <1342@rtbrain.rightbrain.com> Date: 2 Oct 93 01:20:00 GMT References: <1993Oct1.141705.2156@afs.com> Sender: glenn@rightbrain.com Gregory H. Anderson writes > Well played, Peter! Here's your 10-point bonus question: What is the one > place where a leading zero does NOT specify octal, but does have a special > meaning? Hint: it's a popular library function. I'm going to guess that you mean printf, where format strings can have leading 0's to indicate padding with zeroes instead of spaces. If this is indeed what you meant, I have to point out that it doesn't count because the leading 0's are inside string constants (the format string) and therefore are not treated by the lexical analyzer, only by the printf (and fprintf, and scanf...) library function. Then again, maybe you meant something else :-) -- Glenn Reid NeXTmail: glenn@rightbrain.com RightBrain Software 415-326-2974 (NeXTfax 326-2977) Palo Alto, California Electronic Frontier Foundation, member #054
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: Re: Death to cpp (Was Re: How to use "#line macros") Message-ID: <CE938s.Lx@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems References: <9310012337.AA06695@alychne-nc.canon.com> Date: Sat, 2 Oct 1993 03:34:03 GMT I wrote: >> I'ld recommend inline functions over macros for all >> but the simplest tasks. ssircar@canon.com (Subrata Sircar) followed up: > This will not work for me; I use preprocessor directives to > spit out code that is used in more than one place i.e. ... > #define MY_VOID_AUTO_CHECK(methodPlusArgs) \ > { \ > if ([clientConnection isValid] && activeClient) \ > return [activeClient methodPlusArgs]; \ > else return; > } I guess I should have been more careful about stating what I really meant. I didnt mean that macros are not sometimes very useful, and that clever people like yourself cannot come up with good uses for them. I agree you couldnt use an inline function to do the same thing you show there because a. methodPlusArgs can be completely arbitrary text b. you dont want to evaluate methodPlusArgs prior to doing the if condition. I don't dispute that there are other good uses. I'm just saying that most people rely on the preprocessor for things that can now be done by the compiler in ANSI C. The compiler usually does a better job, but most people still dont take advantage of features that have been in C (and other languages) for years. A prime example is enums. > how about when multiple objects need to implement a method (their > superclass declares it, but each subclass implements a different version)? > - myMethod > { > MY_METHOD_BEGINNING; > if (theResultsFromTheBeginning) { > // All kinds of clever stuff in here, which varies with subclasses > } > MY_METHOD_END; > } > This is much more convienient and avoids typos. I can't turn any of these > into functions without a lot of pain; preprocessor macros are *exactly* > what I want because they replace a simple shorthand with the correct code. this demonstrates my point. you CAN do this using an inline function. and get exactly the same effect, and be able to debug it too. well, you might have to say my_method_beginning() instead of MY_METHOD_BEGINNING. though a more OO way might be to put part of it (say the beginning) in the superclass and use [super myMethod] instead. > That's why I'd like to be able to step inside the shorthand when I'm > debugging; usually plugging in this shorthand isn't done until the code > is tested, but it would be useful. to do this, you can use an inline function. you cant expect the debugger to step into a macro. -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
From: hyongsop@saturn.eecs.umich.edu (Hyong S. Shim) Newsgroups: comp.sys.next.programmer Subject: Archiving a Window -- HELP! Date: 2 Oct 1993 17:35:31 GMT Organization: University of Michigan EECS Dept. Message-ID: <28ke53$2os@zip.eecs.umich.edu> Hi all, Does anyone know how to archive a window that has external references? In specific, I have a window that has a couple of buttons and textfields. The targets of one of the buttons and one of the textfields are connected to a controller object. This controller object has outlets to the buttons and textfields in the window. The delegate of the window is also this controller object. When archiving this window object, using NXWriteRootObject (aStream, theWidnow), it seems that the controller object is not archived at all with the window. All the internal connections within the window are archived, but all the functionalities provided by the controller is lost! Does anyone know how to archive this controller object with the window? Thanks, --Hyong (hyongsop@saturn.eecs.umich.edu)
From: sj1@acpub.duke.edu (Stan Jirman) Newsgroups: comp.sys.next.programmer,comp.sys.next.misc Subject: How to steal NeXTmail Keywords: NeXTmail sendmail Message-ID: <21351@news.duke.edu> Date: 2 Oct 93 19:40:55 GMT Sender: news@news.duke.edu Followup-To: comp.sys.next.programmer Hello, after a couple of setbacks I hope at least somebody out there knows an answer: On my standalone black system, I'd like to configure sendmail so that everytime I send a non-local mail a program is called that saves it in a file, instead of trying to send it and of course not succeeding. I played around with the sendmail configuration, but always when I specified my "/usr/local/bin/stealmail" program as non-local output, I got an error message that it doesn't handshake or whatsoever, or even worse things happened. Is there a way of putting outgoing mail into a file instead of complaining? I'd appreciate doing so through a program of my own, as it should do some other stuff with the mail except saving it as well. Sending mail to local accounts should also stay unchanged, if possible. Anybody knows a solution? Thanx a lot for any help. Stan -- ---------------------------------------------------------------------- "640K ought to be enough for anybody." -- Bill Gates '81 Stan Jirman sj1@acpub.duke.edu NeXTmail welcome ----------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: Greg_Anderson@afs.com (Gregory H. Anderson) Subject: Re: Strange Compiler Errors Message-ID: <1993Oct2.194233.3279@afs.com> Sender: greg@afs.com References: <1342@rtbrain.rightbrain.com> Date: Sat, 2 Oct 1993 19:42:33 GMT In article <1342@rtbrain.rightbrain.com> glenn@rightbrain.com (Glenn Reid) writes: > Gregory H. Anderson writes > > > Well played, Peter! Here's your 10-point bonus question: What is the > > one place where a leading zero does NOT specify octal, but does have a > > special meaning? Hint: it's a popular library function. > > I'm going to guess that you mean printf, where format strings can have > leading 0's to indicate padding with zeroes instead of spaces. If this > is indeed what you meant, I have to point out that it doesn't count > because the leading 0's are inside string constants (the format > string) and therefore are not treated by the lexical analyzer, only > by the printf (and fprintf, and scanf...) library function. Winnah! Winnah! Winnah! I agree the lexical analyzer doesn't see it, but I did mention it was in a library function. Also, the 3.x compiler actually does scan printf strings and warn you if the arguments don't line up right. -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
From: garnett@cs.caltech.edu (John W. Garnett) Newsgroups: comp.sys.next.programmer Subject: a question about makeFirstResponder Date: 3 Oct 1993 02:19:19 GMT Organization: California Institute of Technology, Pasadena Message-ID: <28lcr7INNjko@gap.caltech.edu> Summary: want to know how to use makeFirstResponder sucessfully Keywords: NS 3.0 IB objective-C I have a NS App with a window that contains a textField (added via InterfaceBuilder). When the App starts up I want the cursor to be blinking in the textField ready to accept input. So far I've learned that the solution should involve the makeFirstResponder message but I haven't been able to make it work. I know that it's possible to do it because Digital Webster does it. Thanks, John Garnett p.s. please send replies via email since most people probably already know how to solve this problem.
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: How to make three-state switches? Date: 3 Oct 1993 01:14:56 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <28ln4g$np8@digifix.digifix.com> References: <9310012340.AA06698@alychne-nc.canon.com> Subrata Sircar writes > William Clocksin wrote: > > I would like to be able to have a Button-type Control, something like what IB > > > calls a Switch, except that it has three states. > > Has anybody implemented this yet? > > Forgive my ignorance, but won't using the "setEnabled:" method work for you? > > For example, State 1 is the button active, but unchecked. > State 2 is the button active, but checked. > State 3 is the button inactive (and presumably unchecked). > Actually, I think the behaviour that is being looked for is more like in the Workspace Inspector for File Permissions. If you have multiple files set you get a state where you can set to write all, write none, or leave that attribute alone. -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: comp.sys.next.programmer From: slevy@geom.umn.edu (Stuart Levy) Subject: Updating "fat" libraries under 3.1 - how? "ar" and "libtool" won't. Message-ID: <CEBy30.61p@news.cis.umn.edu> Sender: news@news.cis.umn.edu (Usenet News Administration) Organization: Geometry Center, University of Minnesota Distribution: na Date: Sun, 3 Oct 1993 16:33:06 GMT I'm trying to find an easy way to maintain fat .a libraries under 3.1. We'd like to have everything in "fat" form: .o, .a, and executable files. All the tools seem to handle this nicely, except "ar" in the case where we're rebuilding (e.g. replacing a subset of .o files in) an existing fat library, where it complains ar: libjunk.a is a fat file (use libtool(1) or lipo(1) and ar(1) on it) libtool doesn't seem to do it, either. The closest I can find is libtool -o libjunk.a libjunk.a fred.o sam.o but, rather than replacing libjunk.a's fred.o with the new fred.o, it gives a ton of complaints like libtool: warning for architecture: m68k same member name (fred.o) in output file used for input files: libjunk.a(fred.o) and: fred.o (due to use of basename, truncation, blank padding or duplicate input files) libtool: same symbol defined in more than one member for architecture: m68k in: libjunk.a (table of contents will not be sorted) libtool: for architecture: m68k file: libjunk.a(fred.o) defines symbol: _CamAlignZ libtool: for architecture: m68k file: fred.o defines symbol: _CamAlignZ (and so on for all globals defined in each object file, and for each CPU type.) I'd be willing to do this in two stages: delete the library components which were about to be replaced, then use libtool to insert the new ones. But I can find no easy way to delete .o components of a fat library. Presumably I could do all this by replacing "ar" with a script which used "file" to test for fat libraries and object files used "lipo" to split the library and object files into two (or N) pools of thin files used "ar" on each set of thin files used "lipo" to reassemble them into a fat library but that's, to put it mildly, disgusting. Or, I could replace "ar" with a script which removes the old library, then simply uses ar to build a fresh one from the supply of .o's. This would be OK (and is what I'm actually doing at the moment), except that the .o files don't always live in one directory; it's nice to be able to just replace the ones being changed at the moment, and that's the way our Makefiles were written, anyway. Am I missing something? Help or sympathy appreciated! Stuart Levy, Geometry Center, University of Minnesota
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: NeXT: Donate precompiler generator Date: 3 Oct 1993 16:39:56 -0700 Message-ID: <28nnsc$hdm@ursula.ee.pdx.edu> Summary: GPL status of precompiler? From gnu.gcc.help.... :::From: Robert Andrew Ryan <rr2b+@andrew.cmu.edu> :::Newsgroups: gnu.gcc.help :::Subject: Re: CCCP and precompiled headers [help wanted] :::Date: Wed, 29 Sep 1993 12:30:53 -0400 :::Organization: Information Technology Center, Carnegie Mellon, Pittsburgh, PA :::Lines: 17 :::Message-ID: <sgePUxm00gjOF5PFNC@andrew.cmu.edu> :::References: <28ajr5$tb@wumpus.cc.uow.edu.au> :::NNTP-Posting-Host: andrew.cmu.edu :::In-Reply-To: <28ajr5$tb@wumpus.cc.uow.edu.au> ::: :::Excerpts from netnews.gnu.gcc.help: 29-Sep-93 CCCP and precompiled :::header.. andrew morton@wumpus.cc. (432) ::: :::> I would like to get CCCP's precompiled header features working, :::> and I don't quite see how it all hangs together. ::: :::It appears that precompiled header files were started but never :::finished. I looked into the problem a little, but I didn't have the :::time or patience to make any substantial progress. ::: [partial solution deleted] RMS replies: ::: :::Article-I.D.: mole.9309300158.AA21130 :::References: <sgePUxm00gjOF5PFNC@andrew.cmu.edu> :::Sender: daemon@cis.ohio-state.edu :::Distribution: gnu :::Organization: GNUs Not Usenet :::Lines: 3 ::: :::Yes, precompiled headers were not finished. We don't have a program :::to generate them. I think it would be useful for someone to implement :::that. But I can't offer much in the way of help--no time. ::: I realize the precompiler generator that NeXT developed is standalone and probably not subject to the GPL, but how about donating it anyway. It doesn't really have much value outside of GCC. It's a NeXT-hostile world out there, every little bit helps! Come on....Put it in GNUSource.pkg in 3.2! It would also keep the the RTF-source folks happy.
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: How to make three-state switches? Message-ID: <1993Oct4.090941.23759@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Sep29.143729.8550@infodev.cam.ac.uk> <1993Sep29.190444.19129@galileo.physics.arizona.edu> Date: Mon, 4 Oct 1993 09:09:41 GMT In article <1993Sep29.190444.19129@galileo.physics.arizona.edu> zazula@pri.com (Ralph Zazula) writes: >You can do this by subclassing Button and keeping track of the multiple >states internally. A "smart" subclass will be sure to use the images >setup in IB for the first two states. The third (fourth, ...) can be >set programmatically. Take a look at Control's sendAction:to: method. >You'll want to subclass this to increment through your states and update >the images. As far as I know, the minimum workable solution simply involves subclassing ButtonCell and overriding - drawInside:inView: - state - incrementState - setState in fairly obvious ways (e.g. incrementState calls setState with (state+1)%number_of_states). (You need to add an "int" instance variable for the state; the inherited one is only one bit wide, and can be left alone.) Haven't had any problems yet... -=EPS=-
Newsgroups: comp.sys.next.programmer From: stabl@informatik.uni-muenchen.de (Robert Stabl) Subject: Re: How to make three-state switches? Sender: news@informatik.uni-muenchen.de (News System) Message-ID: <stabl.749744149@news.informatik.uni-muenchen.de> Date: Mon, 4 Oct 1993 14:15:49 GMT References: <1993Sep29.143729.8550@infodev.cam.ac.uk> <1993Sep29.190444.19129@galileo.physics.arizona.edu> <1993Oct4.090941.23759@csus.edu> Organization: Institut fuer Informatik der Universitaet Muenchen eps@futon.SFSU.EDU (Eric P. Scott) writes: >In article <1993Sep29.190444.19129@galileo.physics.arizona.edu> > zazula@pri.com (Ralph Zazula) writes: >>You can do this by subclassing Button and keeping track of the multiple >>states internally. A "smart" subclass will be sure to use the images >>setup in IB for the first two states. The third (fourth, ...) can be >>set programmatically. Take a look at Control's sendAction:to: method. >>You'll want to subclass this to increment through your states and update >>the images. >As far as I know, the minimum workable solution simply involves >subclassing ButtonCell and overriding >- drawInside:inView: >- state >- incrementState >- setState >in fairly obvious ways (e.g. incrementState calls setState >with (state+1)%number_of_states). >(You need to add an "int" instance variable for the state; the >inherited one is only one bit wide, and can be left alone.) >Haven't had any problems yet... At Munich University we have a very similiar solution. If you are interested in the code (for non commercial purposes only!) you can contact Mischa Czarny (czarny@informatik.uni-muenchen.de). He has developed the code (the result is very similar to the approach used in FrameMaker). Regards Robert Stabl. -- Robert Stabl | Currently at: Computer Science Institute | Centre de Recherche Informatique de Montreal University of Munich | 1801, avenue McGill College, bureau 800 Leopoldstr. 11B | Montreal (Quebec) Canada H3A 2N4 D-80802 Muenchen | Tel: (514) 398-1520 Germany | Fax: (514) 398-1244
Newsgroups: comp.sys.next.programmer From: jgg@LoftTech.com (J. G. Gregory) Subject: Summary: where to get R-T-F spec Message-ID: <1993Oct4.124504.670@LoftTech.com> Sender: jgg@LoftTech.com Organization: LoftTech Incorporated Date: Mon, 4 Oct 1993 12:45:04 GMT Here is a summary of the comments I received for my query about RTF (I use R-T-F in the subject so it wouldn't trip the (RTF) strippers). I got Charles Lloyd to send me his. It appears there is a Mac readable version out there as well. --J Gregory In comp.sys.next.programmer article <1993Sep29.025610.1248@LoftTech.com> you wrote: >I need to be able to generate RTF files. Does anyone have an on-line copy of >the specification or know where to get one? > >I am mostly interested in the subset (superset?) supported by NeXT, but would >love to have the real facts in either case. Is RTF owned by MicroSoft? > >Reply via email, I will post a summary if asked. > >--J Gregory Yes, I typed that sucker in by hand. If you haven't already gotten a copy, I'll be more than happy to send you one. Is NeXTmail okay?. Also, I have a lex script that strips out rtf from an rtf file. This may give you some additional insight into rtf-isms. Unfortunately, I am not an expert on rtf even though I thought typing in the document would make me one. I typed in the document because I thought it sucked that it was unavailable in on-line format. Apparently Microsoft doesn't know how to distribute stuff electronically. Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax) You can find it on ftp.stack.urc.tue.nl in pub/next/Documents/??? (see the 00INDEX file in pub/next for a specific location). Annard -- Annard Brouwer annard@stack.urc.tue.nl (NeXTmail appreciated) People? You can forget it. It's in the Docs somewhere, but one clever trick is to create a RTF file, save it, and then look at it with emacs. You can then copy the header information, and see what other codes are needed. It's pretty annoying stuff! -- Nathan "USENET" Janette PPP link from hilbert.csb.yale.edu Please reply to: nathan@laplace.csb.yale.edu (NeXT) For MicroSoft specs ftp://indri.primate.wisc.edu/pub/RTF/RTF-Spec.rtf or ftp://indri.primate.wisc.edu/pub/RTF/RTF-Spec.hqx You'll want Opener.app from cs.orst.edu to open the MacIntosh .hqx files Bruce Gingery bruce@TotSysSoft.com Total System Software NeXT-Mail preferred, Mime-Mail ok, any RFC-822 plain ok. "Supplemental Documentation", last chapter (15 pages) for NS < 3.0. Can't find it on-line in 3.x or on the old ODs for 2.x that I have, and I don't have printed documentation for this release. Don't know about on-line, though. It certainly appears to be Microsoft material. -- | Hugh Ashton | | Tel:+81-53-435-3553 Fax:+81-53-435-3356 | | SnailMail:Crestec Inc., 676 Kasaishinden-cho, | | Hamamatsu-shi 431-31, Japan | | NeXTMail welcome | An excellent introduction on (NeXT) RTF can be found in Garfinkel/Mahoney's Book "Nextstep Programming". Nope, as far as I know, MircoSoft does not own RTF - you're free to write and read RTF files.. :-) CU, Chris /* * Christian Neuss % neuss@igd.fhg.de % ..In the humdrum */ I've got a copy of the spec if you need it. NeXT have really made a mess of their RTF handling. Example: they mistakenly implemented \fc for foreground colour instead of \cf (ie a typo). So now all their RTF files have pairs of \cf and \fc despite the latter being redundant! They also implemented illegal syntax for destinations. [Name witheld]
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: Updating "fat" libraries under 3.1 - how? "ar" and "libtool" won't. Message-ID: <1993Oct4.140651.345@afs.com> Sender: michael@afs.com References: <CEBy30.61p@news.cis.umn.edu> Date: Mon, 4 Oct 1993 14:06:51 GMT Stuart Levy writes [description of problems with fat library update deleted] libtool will not update fat libraries, and ar will not recognize fat libraries. Also, it would appear that the amount of work (in terms of passes over the data) that libtool would have to do in order to update a fat library is the same as or more than it has to do to create a new one. Consequently, recreating a library from all its .o and .a sources is generally no worse than updating the library would be, so you might as well just do it that way. Nope, I'm not thrilled with it either :-(. Thanx, Michael -- Michael_Pizolato@afs.com NeXTMail accepted
Newsgroups: comp.sys.next.programmer From: royce@splunge.uucp (Royce Howland) Subject: Anybody used ScrollViewDeluxe? Message-ID: <1993Oct2.203032.23453@splunge.uucp> Organization: Ashley, Howland & Wood Date: Sat, 2 Oct 1993 20:30:32 GMT I grabbed the ScrollViewDeluxe class from ftp.next.com, recently. It looked pretty cool, so I decided to try using it an app I'm hacking around with. Under NS 3.0 black, the paletter seems to build fine. So I started IB and loaded it up. Unfortunately, when I instantiate it by selecting my custom view and then command-clicking on "Format->Layout->Group in ScrollView" (as the instructions state), and then try to save my nib, IB dies instantly, with no errors in the console log or anywhere else. If I reopen the nib, it's uncorrupted, and the same as it was before I started the edit session, so clearly the crash happens very early in the save process. If anybody has successfully used ScrollViewDeluxe, I'd like to hear from you. Thanks in advance. -- Royce Howland Everything is IMHO royce@splunge.uucp (NeXTMail OK) or kakwa!atlantis!splunge!royce
Newsgroups: comp.sys.next.programmer From: thf@zelator.in-berlin.de (Thomas Funke) Subject: Re: Garbage collection on the NeXT? Message-ID: <1993Oct3.113822.574@gamelan> Sender: thomas@gamelan (thomas) Organization: Disorganization References: <1993Oct1.153154.447@its.com> Date: Sun, 3 Oct 1993 11:38:22 GMT In article <1993Oct1.153154.447@its.com> monty@its.com (Montgomery Zukowski) writes: > Has anyone used the garbage collection software for C from Xerox > written by Boehm and Demers? I found the code in the Sather > language distribution and want to try it out on the NeXT but > wonder if anybody has met with success or failure in using it. > I'm not sure how well it would integrate with existing classes, > the runtime system or the zone mallocing routines. Any insight > would be appreciated. > It's not too difficult to get the Boehm-collector to work on NeXT (Motorola at least). But you can only use it for you own code (thus replacing malloc() with gc_malloc()), not with appkit code. -- ------------------------------------------------------------------ Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de Brook's Law: Adding manpower to a late software project makes it later ------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: woo@ornl.gov (John W. Wooten) Subject: Adding functionality to Diagram? Message-ID: <1993Oct4.191510.3994@ornl.gov> Sender: usenet@ornl.gov (News poster) Organization: Oak Ridge National Laboratory Date: Mon, 4 Oct 1993 19:15:10 GMT I have a registered copy of Diagram and find it to be a great tool for some of the things I do. Recently I needed though to be able to run a process to check the validy of some data that was manipulated using diagrem. We talk about extensibility with NextStep, so can I add a new method or override a current one somehow that would give my process a look at the data in the current selection or window and allow me to put up an Alert if it wasn't correct, before continuing with whatever the action was to that method? Any ideas on how to use services to do this? - - - - - - - - - J. W. Wooten
From: Roland Telfeyan <roland@gomidas.mi.org> Newsgroups: comp.sys.next.programmer Subject: DBModeler 0.7 discrepancy with documentation Date: 4 Oct 1993 20:49:28 GMT Organization: University of Michigan EECS Dept. Distribution: world Message-ID: <28q28o$hhj@zip.eecs.umich.edu> Keywords: DBModeler 1) Double-click on /NEXTSTEP_Dev_3.1/NextDeveloper/Apps/DBModeler.app, and click on the menu "Info/Preferences...". This results in a window with: Scrolling List: "Default Adaptor" containing OracleAdaptor SybaseAdaptor Check Boxes: Smart-Joins Enabled [disabled] AutoNaming of Relationships Enabled 2) In the file: /NEXTSTEP_Dev_3.1/NextLibrary/Documentation/NextDev/ Concepts/DatabaseKit/03_Models.rtfd Search for "Setting Application Preferences", and look at the figure just below. This results in a window with: Scrolling List: "Default Adaptor" containing OracleAdaptor SybaseAdaptor Check Boxes: Smart-Joins Enabled [disabled] AutoNaming of Relationships Enabled Save Model as Archive Save Model as ASCII Why the difference? Roland
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Re: Garbage collection on the NeXT? Message-ID: <1993Oct4.201822.14648@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software References: <1993Oct3.113822.574@gamelan> Date: Mon, 4 Oct 1993 20:18:22 GMT Thomas Funke writes >In article <1993Oct1.153154.447@its.com> monty@its.com (Montgomery >Zukowski) writes: >> Has anyone used the garbage collection software for C from Xerox >> written by Boehm and Demers? I found the code in the Sather >> language distribution and want to try it out on the NeXT but >> wonder if anybody has met with success or failure in using it. >> I'm not sure how well it would integrate with existing classes, >> the runtime system or the zone mallocing routines. Any insight >> would be appreciated. >> > >It's not too difficult to get the Boehm-collector to work on NeXT >(Motorola at least). >But you can only use it for you own code (thus replacing malloc() with >gc_malloc()), not with appkit code. > Why couldn't you change the global variable "_alloc" to point to gc_malloc? I know nothing about the Boehm-collector, but it seems like the problem you're describing can be solved with this change. This is from the file RunTimeTypes.rtf: SYNOPSIS id (*_alloc)(Class aClass, unsigned int indexedIvarBytes) id (*_dealloc)(Object *anObject) id (*_realloc)(Object *anObject, unsigned int numBytes) id (*_copy)(Object *anObject, unsigned int indexedIvarBytes) id (*_zoneAlloc)(Class aClass, unsigned int indexedIvarBytes, NXZone *zone) id (*_zoneRealloc)(Object *anObject, unsigned int numBytes, NXZone *zone) id (*_zoneCopy)(Object *anObject, unsigned int indexedIvarBytes, NXZone *zone) void (*_error)(Object *anObject, const char *format, va_list ap) DESCRIPTION These variables point to the functions that the run-time system uses to manage memory and handle errors. By reassigning a variable, a function can be replaced with another of the same type. The example below shows a temporary reassignment of the _zoneAlloc function: id (*theFunction)(); theFunction = _zoneAlloc; _zoneAlloc = someOtherFunction; /* * code that calls the class_createInstanceFromZone() function, * or sends alloc and allocFromZone: messages, goes here */ _zoneAlloc = theFunction; _alloc points to the function, called through class_createInstance(), used to allocate memory for new instances, and _zoneAlloc points to the function, called through class_createInstanceFromZone(), used to allocate the memory for a new instance from a specified zone. Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
From: luomat@alleg.edu (Timothy J. Luoma) Newsgroups: comp.sys.next.programmer Subject: Setting default printer in some cases Date: 4 Oct 1993 23:38:18 GMT Organization: Allegheny College Distribution: world Message-ID: <28qc5a$bjt@ftp.alleg.edu> Keywords: dwrite System Printer & System PrinterHost I am not sure if this belongs in csn.programmer, but I haven't gotten any responses anywhere else, so I figured this should be my next step (no pun intended) Being part of a campus full of NeXTs, I often find myself moving from lab to lab. Each time, of course, I have to reset my default printer. There is a certain circumstance (when I log into one of two NeXTs which Terminal.app calls rute4 and rute3,respectively) which I would like to be able to automatically set the printer. Since I have Terminal.app running most times a solution using .cshrc would be fine. What I would like to do seems to be like it should be a simple 'if/then' but I have very little experience with anything that isn't Pascal and even that went a little beyond me(read: No real understanding) But this: set prompt="${host}> " seems like it would be the place to go. This is what I believe that it would basically look like: if prompt=rute4 or if prompt=rute3 then dwrite System Printer [printer name];dwrite System PrinterHost rute3 (you can probably recognize the simplicity of my thinking here) Feel free to reply via email, as I don't know if anyone else here would care. If you think that there is a better place for me to look for an answer (be nice now :-) please feel free to suggest that as well. Thanks Tj Luoma -- Timothy J. Luoma Email: luomat@alleg.edu [NeXT Mail Welcomed] Allegheny College -- Meadville PA USA
From: Steven Gemma <sg47+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: Virtual memory problems Date: Mon, 4 Oct 1993 20:13:06 -0400 Organization: Masters student, Information Networking Institute, Carnegie Mellon, Pittsburgh, PA Message-ID: <ggg=kGG00UhB48DUZ5@andrew.cmu.edu> I'm having a big problem with programs I'm writing destroying the virtual memory on my machine. I start an application with 30 Megs of disk space on the local machine, and in a few minutes, I have no space left, because my swap file has taken it all. The programs I'm writing are using distributed objects under 3.0 a great deal. I've checked the programs through MallocDebug, and don't see any obvious causes. Is there something inherent in DO that would be causing these problems? -Steve
Newsgroups: comp.sys.next.programmer From: mikem@afs.com (Mike Matlack) Subject: problem using chunkpackage Message-ID: <1993Oct4.203927.663@afs.com> Sender: mikem@afs.com Date: Mon, 4 Oct 1993 20:39:27 GMT I am having a problem using chunkPackage as advertised in the developer docs. If I run the command as follows, I get the "Undefined" error at the end: % /NextAdmin/Installer.app/chunkPackage MyApp.pkg 1000 -d chunks Chunking MyApp.pkg ... creating archive chunks ... done. destPkg: Undefined variable. what is destPkg? "chunks" is an existing directory. I am running NeXTSTEP 3.0. Thanks for any help! mikem
From: garnett@cs.caltech.edu (John W. Garnett) Newsgroups: comp.sys.next.programmer Subject: Re: a question about makeFirstResponder Date: 5 Oct 1993 03:56:36 GMT Organization: California Institute of Technology, Pasadena Message-ID: <28qr9kINNgj3@gap.caltech.edu> References: <28lcr7INNjko@gap.caltech.edu> Keywords: NS 3.0 IB objective-C In article <28lcr7INNjko@gap.caltech.edu> garnett@cs.caltech.edu (John W. Garnett) writes: >I have a NS App with a window that contains a textField (added via >InterfaceBuilder). When the App starts up I want the cursor to >be blinking in the textField ready to accept input. So far I've >learned that the solution should involve the makeFirstResponder >message but I haven't been able to make it work. I know that it's >possible to do it because Digital Webster does it. I'll post the solution here so that people will know they needn't send me the solution (assuming people don't respond before scanning ahead for the solution -- heh). As many people informed me, [textField selectText:self] will do the trick. I had tried that without success. Turns out the problem was that I was calling this method from the -init method of my controller.m object rather than from the -awakeFromNib method of the my controller.m object. The program was attempting to call methods on objects that weren't fully setup yet. Thanks for all of the responses, John Garnett
From: sanguish@digifix.com Newsgroups: comp.sys.next.announce,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.advocacy,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.bugs,comp.sys.next.programmer,comp.sys.next.marketplace Subject: Quick Guide to the comp.sys.next.* newsgroups Date: 5 Oct 1993 00:01:26 -0400 Organization: Next Announcements Message-ID: <28qrik$2q5@digifix.digifix.com> The current menagerie: 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. comp.sys.next.announce Announcements of general interest to the NeXT community (new products, FTP submissions, user group meetings, commercial announcements etc.) The NEXTSTEP FAQs are posted here monthly as well. 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. 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. 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. 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. 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!!! comp.sys.next.programmer Questions and discussions of interest to NEXTSTEP programmers. This is primarily a forum for advanced technical material. The NEXTSTEP programmer FAQs are posted here. 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. comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. related Newsgroups 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. comp.lang.objective-c Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. 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. Written by: Eric P. Scott eps@toaster.SFSU.EDU Minor editing: Scott Anguish Additions from: Greg Anderson (Greg_Anderson@afs.com) and Michael Pizolato (Michael_Pizolato@afs.com)
From: adrian@cursci.co.uk (Adrian Hall) Newsgroups: comp.sys.next.programmer Subject: Help with DBModeler.app Date: 5 Oct 1993 11:16:51 GMT Organization: The Current Science Group Distribution: world Message-ID: <28rl33$gj6@hedgehog.cursci.co.uk> I am trying to get the DBModeler.app to connect to my Oracle Server. The server is a V.6 server based around Novell Netware. It has a TCP/IP listener on port 1525 (this has been verified by other means). There is also an SPX listener on the server. I have verified both listeners by other means I set up the server to be called CURSCI, and the host name (by name lookup) is mail.cursci.co.uk. When I start DBModeler.app, and Go through New, it asks me what sort of adpator (I answer OracleAdapter with Default Model), it then asks me for Server string: CURSCI Host Name: mail.cursci.co.uk User Name: <valid username> Password: <valid password> Unfortunately, when I click on Ok after this, it comes immediately back, and no connection is made to the Oracle Server. Am I getting something totally wrong here, or is this not working? (PS - If anyone has an SQLDBA for NextSTEP connecting via TCP/IP or SPX, I would be most grateful if you could point me to it - I hate having to use DOS to do SQL work). Regards, Adrian
From: samurai@amber.hasc.ca (Darcy Brockbank) Newsgroups: comp.sys.next.programmer Subject: Re: Strange Compiler Errors Date: 5 Oct 1993 14:01:07 GMT Organization: The Hutchison Avenue Software Corp. Message-ID: <28run3$htg@amber.hasc.ca> References: <CE523L.5Kv@nextsrv1.andi.org> In article <CE523L.5Kv@nextsrv1.andi.org> paccorti@nextsrv1.andi.org (Peter Accorti) writes: > When I compile the following program I get the following errors... > > *(test_ptr + 08) = 0.0; > > test.c:5: warning: numeric constant contains digits beyond the radix > test.c: In function `main': > test.c:5: numeric constant contains digits beyond the radix > > If I remove the 0 in front of the 8 it compiles fine!! > > Is this a known bug??? No, it's a feature. You just requested "Octal Value 8". Since the octal numbering system contains digits between 0 and 7, the compiler pointed out your error. If you take out the 0 then you're requesting "Decimal Value 8" which is a valid digit. - darcy -- "No man should be discouraged from entering business through fear of taxation." -- N. Machiavelli "Oh God, I've got to catch Matlock at the courthouse and let him know that we've been tricked!" -- Me, (very confused) on awakening, Sep 24, 1993 ----- Opionions expressed by me, are not necessarily those of HASC -------
Newsgroups: comp.sys.next.programmer From: paul@phoenix.Princeton.EDU (Paul Lansky) Subject: format of DeveloperLibs.tar.Z Message-ID: <1993Oct5.141059.1033@Princeton.EDU> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University Date: Tue, 5 Oct 1993 14:10:59 GMT I'm getting tired of NeXTs Install.app, which apparently has to be restarted everytime it drops its cookies, so I thought I would just usr tar, but I get a checksum error when I try to zcat DeveloperLibs.tar.Z | tar tf -. Apparently it uses a non-standard blocksize which I can't guess. Can someone clue me in on this? Thanks paul lansky paul@princeton.edu
Newsgroups: comp.sys.next.programmer From: laurent@planon.qc.ca (Laurent Daudelin) Subject: Re: Anybody used ScrollViewDeluxe? Message-ID: <1993Oct5.132830.611@CAM.ORG!planon> Sender: laurent@CAM.ORG!planon References: <1993Oct2.203032.23453@splunge.uucp> Date: Tue, 5 Oct 1993 13:28:30 GMT In article <1993Oct2.203032.23453@splunge.uucp> royce@splunge.uucp (Royce Howland) writes: | I grabbed the ScrollViewDeluxe class from ftp.next.com, recently. It | looked pretty cool, so I decided to try using it an app I'm hacking | around with. Under NS 3.0 black, the paletter seems to build fine. | So I started IB and loaded it up. | | Unfortunately, when I instantiate it by selecting my custom view and | then command-clicking on "Format->Layout->Group in ScrollView" (as the | instructions state), and then try to save my nib, IB dies instantly, | with no errors in the console log or anywhere else. If I reopen the | nib, it's uncorrupted, and the same as it was before I started the edit | session, so clearly the crash happens very early in the save process. | | If anybody has successfully used ScrollViewDeluxe, I'd like to hear | from you. Thanks in advance. | | -- | Royce Howland | Everything is IMHO | royce@splunge.uucp (NeXTMail OK) | or kakwa!atlantis!splunge!royce Royce: I successfully included the ScrollViewDeluxe in 2 apps I wrote. I didn't have any problem at all when opening the nib files in InterfaceBuilder. I'm running NS 3.1 (Developer) on a NeXTstation Turbo. InterfaceBuilder is release 3.0 (v365). I must also say that I had to recompile the palette in fatbits. Hope this helps! Laurent. -- ****************************************************************************** Laurent Daudelin, Software Engineer Planon TELEXPERTISE Inc., Boucherville, Quebec, CANADA laurent@planon.qc.ca <-- NeXTMail welcome! (Mac Mail welcome too!)
Newsgroups: comp.sys.next.programmer From: laurent@planon.qc.ca (Laurent Daudelin) Subject: Problem compiling Backspace fatbit! Message-ID: <1993Oct5.133057.670@CAM.ORG!planon> Sender: laurent@CAM.ORG!planon Date: Tue, 5 Oct 1993 13:30:57 GMT Hi! In fact, I wasn't able to compile the BackSpace modules in fatbit. It appears that the linker doesn't set the MACH header of the .BackO files when it merges the object files. Any suggestion, pointer, thoughts very appreciated! Laurent. -- ****************************************************************************** Laurent Daudelin, Software Engineer Planon TELEXPERTISE Inc., Boucherville, Quebec, CANADA laurent@planon.qc.ca <-- NeXTMail welcome! (Mac Mail welcome too!)
Newsgroups: comp.sys.next.programmer From: westner@cezanne.pst.informatik.uni-muenchen.de (Dominik Westner) Subject: Connection to Oracle DB Sender: news@informatik.uni-muenchen.de (News System) Message-ID: <CEFpnt.15t@informatik.uni-muenchen.de> Date: Tue, 5 Oct 1993 17:23:53 GMT Organization: Institut fuer Informatik der Universitaet Muenchen Hello, thanks to everybody who replied to my problem to connect to an Oracle DB. In my case the problem was that I didn't have a service defined: orasrv 1525/tcp Now I have another problem. I need to build a model from tables I'm allowed to read and write, but which don't belong to me. The problem is that these tables (entities) don't show up in DBModeler. I found out that I can choose the entities with the account name and passwd of the person they belong to, but then again the actual application I'm going to build won't find them. Any ideas? thanks for your help --- Dominik Westner "Everything is possible in an infinite universe" ______________________________________________________Willi, the painter Dominik Westner Muenchen-Germany HOME: dominik@blackmagic.guug.de [NeXTMail welcome] UNI: westner@informatik.uni-muenchen.de [NeXTMail welcome]
From: croehrig@cs.ubc.ca (Chris Roehrig) Newsgroups: comp.sys.next.programmer Subject: Unable to do repeated forks Date: 5 Oct 1993 16:52:27 GMT Organization: Computer Science, University of B.C., Vancouver, B.C., Canada Message-ID: <28s8ob$bq5@cs.ubc.ca> I'm trying to run a program that repeatedly forks a process many times. Each process terminates before the next is forked, so there shouldn't be any problem doing this indefinitely. The following test code fails after a few dozen forks: Compile it with cc -Wall fork-test.c -o fork-test) Run it with fork-test (it forks and execl's /usr/ucb/wc and prints its output backwards). Am I doing something wrong or is this related to the mach-task bug? (However: I don't see any increase in the number of processes with 'ps aux'). ------------------------<fork-test.c>--------------------------- #include <stdlib.h> #include <stdio.h> #include <libc.h> #define READ_SOCKET 0 #define WRITE_SOCKET 1 void main() { int socket[2], child; int chars, words, lines; char name[200]; FILE *infile; int i; i=0; while( 1 ){ /* create a pipe */ if( pipe(socket) < 0 ){ fprintf( stderr, "fork-test: unable to create pipe\n" ); exit( 1 ); } /* fork a new process */ if( (child = vfork()) == -1 ){ fprintf( stderr, "fork-test: unable to fork\n" ); exit( 1 ); } else if( child ){ /* this is the parent which will read from the pipe */ close( socket[WRITE_SOCKET] ); infile = fdopen( socket[READ_SOCKET], "r" ); /* read the output of wc and print it out in reverse */ fscanf( infile, "%d %d %d %s", &chars, &words, &lines, name ); printf( "%d %s %d %d %d\n", i, name, lines, words, chars ); while( !feof( infile ) ){ getc( infile ); } fclose( infile ); /* this closes the socket */ i++; } else { /* this is the child which will execl wc */ /* set up pipe to parent process */ close( socket[READ_SOCKET] ); /* this closes stdout and copies the socket's fd to it... */ dup2( socket[WRITE_SOCKET], 1 ); close( socket[WRITE_SOCKET] ); /* don't need this fd anymore */ /* execute wc */ execl( "/usr/ucb/wc", "wc", "fork-test.c", 0 ); /* This should not be reached unless execl chokes. */ fprintf( stderr, "fork-test: can't invoke /usr/ucb/wc\n" ); _exit( 1 ); } } } -- Chris Roehrig (croehrig@cs.ubc.ca) Small Neural Systems Group Dept. of Computer Science, University of British Columbia, Canada
From: croehrig@cs.ubc.ca (Chris Roehrig) Newsgroups: comp.sys.next.programmer Subject: Re: Unable to do repeated forks Date: 5 Oct 1993 17:01:54 GMT Organization: Computer Science, University of B.C., Vancouver, B.C., Canada Message-ID: <28s9a2$bra@cs.ubc.ca> References: <28s8ob$bq5@cs.ubc.ca> I should have said: I'm running 3.1 (Motorola). -- Chris Roehrig (croehrig@cs.ubc.ca) Small Neural Systems Group Dept. of Computer Science, University of British Columbia, Canada
From: fxg@gimli.tolkien.imib.rwth-aachen.de (Felix Gatzemeier #Alwd#) Newsgroups: comp.sys.next.programmer Subject: Re: updating scroll bar question Date: 05 Oct 1993 17:36:44 GMT Organization: Rechnerbetrieb Informatik - RWTH Aachen Message-ID: <FXG.93Oct5183645@gimli.tolkien.imib.rwth-aachen.de> References: <CDxLpM.HE@genoa.com> <CDyxE0.1w3@genoa.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-reply-to: alex@cs.umd.edu's message of Sun, 26 Sep 1993 15:51:36 GMT [followup to problems about a selfmade scrollView] Just a side bar: there's great fun hidden there! Play around a little with setting the Min/Max sizes large/small/not at all and Enjoy the show! I don't recall the exact constellation, but the effects caused by hyperactive text object resizing were fascinating. At one point, the default text would show up ok, and the first letter entered would cause it to be rewrapped --- one char a line! With optional App crash. There was something to be done with "notifyAncestorsWhenFrameChanged" and telling the Text object about new sizes when the ScrollView changed size. Once you got that set up, make 10 backups! Sorry I'm so foggy, but I have no NeXT-Access to the net. -- Felix (fxg@Pool.Informatik.RWTH-Aachen.de fxg@tolkien.ImIB.RWTH-Aachen.de, No NeXT-Mail, please!)
From: isbell@cats.ucsc.edu (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: TeamOne configuration management under NS Date: 5 Oct 1993 19:18:17 GMT Organization: Cubic Solutions - NeXT software development and consulting Message-ID: <28sh9p$7o4@darkstar.UCSC.EDU> I understand that NeXT has an agreement with TeamOne to port or develop a NS version of their configuration management software. Can someone familiar with TeamOne please describe its capabilities? Does anyone know when we might see this software and what it might cost? I am aware of at least one other development effort aimed at providing a NS solution to configuration management and would like to compare the capabilities, prices, availability, etc. Using cvs from the command line is pretty daunting unless one really gets into all its many capabilities. Being basically lazy, I'd like to have the gory details managed for me and be presented with a nice UI to show me what's happening and what to do. -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
Newsgroups: comp.sys.next.programmer From: trebels@theo-phys.gwdg.de (Stephan Trebels) Subject: Re: To Edit or not to Edit? That is the bug! Message-ID: <WIXHBV9U@gwdu03.gwdg.de> Sender: news@gwdu03.gwdg.de (USENET News System) Organization: GWDG, Goettingen References: <1993Sep28.163628.119250@embl-heidelberg.de> Date: Tue, 5 Oct 1993 20:18:56 GMT writes > In article <jeffo.749159328@uiuc.edu> writes: > > Is there any way to tell ProjectBuilder that the application should be > > allowed to open *every* extension of file (just like Edit can)? This > > could allow the user to use the more-easily-accessed Tools inspector > > panel so that the user could choose whether Edit was the default app > > or some other app that registered all defaults. > > -- > > J.B. Nicholson-Owens (No NeXTmail please) > > As far as I know, there is no way to do it. I've already tried with all kind of > wild-cards (*.? ... ), but it doesn't help. I hope we can see this feature with > NS 3.2 or 3.3! > > -- georg -- look into the Emacs-3.0 source code (standard archives) Ciao, Stephan -- +--------------------------------------------------------------+ / Stephan Trebels voice: +49 551 44690 /| +--------------------------------------------------------------+ | | <trebels@theo-phys.gwdg.de> "No NeXTmail yet, it's a HP" | + | <trebels@desdemona.theo-phys.gwdg.de> "NeXTmail welcome" |/ +--------------------------------------------------------------+
Newsgroups: comp.sys.next.programmer From: mikem@afs.com (Mike Matlack) Subject: creating mail with attachments Message-ID: <1993Oct5.200537.1537@afs.com> Sender: mikem@afs.com Date: Tue, 5 Oct 1993 20:05:37 GMT anyone have a command line program that I can use to create a mail message with an attachment? Thanks! mikem -- Michael J. Matlack Anderson Financial Systems Mike_Matlack@afs.com (NeXTmail OK)
From: mcgredo@crl.com (Donald R. McGregor) Newsgroups: comp.sys.next.programmer Subject: Wait cursor Date: 5 Oct 1993 15:40:10 -0700 Organization: CRL Internet Dialup Access 415-705-6060 (guest) Distribution: world Message-ID: <28st4a$lt4@crl.crl.com> I'm having some problems getting the wait cursor to come up under 2.x. Calls to startWaitCursorTimer() don't seem to work; you have to click on a window before the spinning disk cursor comes up. What's the correct way to bypass the automatic wait cursor mechanism and force it to appear? -- Don McGregor | The Beavs are just saving their first mcgredo@crl.com | string for the Rose Bowl.
Newsgroups: comp.sys.next.programmer From: deininge@cen.encompass.com (David Deininger) Subject: Browser manipulation Message-ID: <1993Oct5.235726.15620@glv.uucp> Sender: uucp@glv.uucp Organization: Encompass Date: Tue, 5 Oct 1993 23:57:26 GMT I've got a browser in a window, and I'd like it to behave like the Open/Save/Font panels with respect to window resizing and alt-resizing. First question: What, exactly, do these panels _do_ when you resize or alt-resize? Without the alt key, somehow a decision is made as to how many columns should be displayed in the panel. And with the alt key, the number of columns remains constant, only the widths change. Sound correct? Second question: Has this behaviour been declared "the right thing"? I'd make my code do the same think, if only I could figure out how. :-) I think I'm out of questions... anyone out there done this already? I'd appreciate any advice or code snippets. --david deininger (deininge@cipher.cen.encompass.com)
Newsgroups: comp.sys.next.programmer From: Gregory_Mutzel@afs.com Subject: /usr/local/include not being found Message-ID: <1993Oct5.210550.3690@afs.com> Keywords: include Sender: mutz@afs.com Date: Tue, 5 Oct 1993 21:05:50 GMT I just upgraded a machine to 3.1 and now the compiler can't find /usr/local/include files. Any general ideas? I thought this was a standard Unix search path for header files. #import <myKit/MyClass.h> /usr/local/include/myKit/MyClass.h Later, Greg -- Gregory L. Mutzel, 215-653-0911 Anderson Financial Systems, Inc. email: Gregory_Mutzel@afs.com [NeXTmail Appreciated]
Newsgroups: comp.sys.next.programmer From: vanguard@oar.net (Tyler Gingrich) Subject: Re: Connection to Oracle DB Message-ID: <1993Oct6.020626.12945@oar.net> Organization: OARnet References: <CEFpnt.15t@informatik.uni-muenchen.de> Date: Wed, 6 Oct 1993 02:06:26 GMT In article <CEFpnt.15t@informatik.uni-muenchen.de> westner@cezanne.pst.informatik.uni-muenchen.de (Dominik Westner) writes: > >Now I have another problem. I need to build a model from tables I'm >allowed to read and write, but which don't belong to me. >The problem is that these tables (entities) don't show up in DBModeler. >I found out that I can choose the entities with the account name and >passwd of the person they belong to, but then again the actual application >I'm going to build won't find them. > >Any ideas? > Yeah, you need to set the oracle adaptor dwrite for table owners... dwrite OracleAdaptor OracleTableOwners "'SCOTT','JOE','TONY'" See the DBKit relase notes for more information. --- Tyler Gingrich tyler@dbkit.com Vanguard Software, Corp.
Newsgroups: comp.sys.next.programmer From: mross@antigone.com Subject: Format of .keymapping file? Message-ID: <1993Oct6.021047.7905@antigone.com> Organization: Antigone Press gateway, San Francisco Date: Wed, 6 Oct 1993 02:10:47 GMT Can anyone explain the format of, or provide a template for the *.keymapping file, which maps the encoding vector of a font to the key codes of the keyboard? Specifically, how can you add overstrike characters (e.g. Alternate-e followed by e to get an e-acute)? The Keyboard.app in /NextDeveloper/Demos doesn't seem to address this. I am spoiled by the KCHR template for ResEdit on the Mac, obviously! :) Thanks! -- Michael Ross Antigone Press, San Francisco, California e-mail: mross@antigone.com FAX: +1 415 431 3650
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: format of DeveloperLibs.tar.Z Message-ID: <1993Oct6.032341.24964@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Oct5.141059.1033@Princeton.EDU> Date: Wed, 6 Oct 1993 03:23:41 GMT In article <1993Oct5.141059.1033@Princeton.EDU> paul@phoenix.Princeton.EDU (Paul Lansky) writes: >I thought I would just usr tar, but I get a checksum >error when I try to zcat DeveloperLibs.tar.Z | tar tf -. >Apparently it uses a non-standard blocksize which I can't >guess. Can someone clue me in on this? Thanks Try using /NextAdmin/Installer.app/installer_bigtar instead of tar? -=EPS=-
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Unable to do repeated forks Message-ID: <1993Oct6.034950.26393@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <28s8ob$bq5@cs.ubc.ca> <28s9a2$bra@cs.ubc.ca> Date: Wed, 6 Oct 1993 03:49:50 GMT First of all--I haven't taken the time to verify this myself--but there's a convincing amount of anecdotal evidence that ps(1) is subtly broken in 3.1. As for your problem: yes, you are doing something wrong, and no, the question is not the least bit NeXT-specific--all UNIX machines will exhibit similar behavior. The problem is that you're not waiting for child processes. When a process dies, it enters a "zombie" state--nearly all of its resources are freed, but its process slot is still occupied until its parent does a wait()/wait3()/wait4() for it--or its parent dies, in which case the processes become orphaned, and init gets to clean up after them. In your case, the best thing to do is probably a traditional [synchronous] wait, e.g. while (((pid=wait((union wait *)NULL))<0&&errno==EINTR)||pid!=child); if (pid<0) perror("wait"); Sometimes this isn't convenient, and you just want processes to get cleaned up as needed. You can do this by establishing a SIGCHLD handler: (void)signal(SIGCHLD, handler); [...] #ifdef __STRICT_BSD__ /*ARGSUSED*/ int handler(sig) int sig; #else void handler(int sig) #endif { while (wait3((union wait *)NULL, WNOHANG|WUNTRACED, (struct rusage *)NULL)>0); #ifdef __STRICT_BSD__ return(0); #endif } These examples are pretty much minimal; real applications generally look at wait status, etc. -=EPS=-
Newsgroups: comp.sys.next.programmer From: vince@sisystems.com (Vince DeMarco) Subject: Re: /usr/local/include not being found In-Reply-To: Gregory_Mutzel@afs.com's message of Tue, 5 Oct 1993 21:05:50 GMT Message-ID: <VINCE.93Oct5205659@pacific.sisystems.com> Sender: news@sisystems.com Organization: SI Systems Ltd References: <1993Oct5.210550.3690@afs.com> Date: Wed, 6 Oct 1993 02:56:59 GMT >>>>> On Tue, 5 Oct 1993 21:05:50 GMT, Gregory_Mutzel@afs.com said: Gregory> I just upgraded a machine to 3.1 and now the compiler can't find Gregory> /usr/local/include files. Any general ideas? I thought this was a standard Gregory> Unix search path for header files. Gregory> #import <myKit/MyClass.h> Gregory> /usr/local/include/myKit/MyClass.h What you need to do is put your headerfiles into /LocalDeveloper/Headers instead of /usr/local/include. As /usr/local/include is not in the pre-processors default search path. Why did NeXT do this???? Couldn't they make the pre-processor search /usr/local/include too??? vince
Newsgroups: comp.sys.next.programmer From: scott@parsec.mixcom.com (Scott Violet) Subject: Recomendations for Intel machine for NSI Message-ID: <1993Oct5.210102.4836@parsec.mixcom.com> Summary: Intel for around 3500 that is cool Keywords: Help, Intel, 3500 Organization: SmartSoft Date: Tue, 5 Oct 1993 21:01:02 GMT Hi all, Well, until yesterday we were going to purchase a Gateway, but since they don't work with NSI, we must look else where. So, can anyone recommend a similiar system for the same price that Gateway sells their's for (Gateway 66V)? What we need is: 17" monitor 250 MB HD SCSI Controller (to install NSI) at least 20MB memory Local Bus with 2MB 486DX2/66Mhz processor That is the minimum we need. We had planned on spending 3500... But, I haven't been able to locate anything close to that, Gateway was the only one. Any suggestions? Thanks, -Scott Violet (scott@parsec.mixcom.com)
Newsgroups: comp.sys.next.programmer From: tm@vanguard.com (Takis Mercouris) Subject: Re: problem using chunkpackage Message-ID: <CEGJ6B.Gp@vanguard.com> Sender: tm@vanguard.com (Takis Mercouris) Organization: Vanguard Software, Corp. References: <1993Oct4.203927.663@afs.com> Date: Wed, 6 Oct 1993 04:01:23 GMT In article <1993Oct4.203927.663@afs.com> mikem@afs.com (Mike Matlack) writes: > > I am having a problem using chunkPackage as advertised in the developer docs. > If I run the command as follows, I get the "Undefined" error at the end: > > % /NextAdmin/Installer.app/chunkPackage MyApp.pkg 1000 -d chunks > Chunking MyApp.pkg ... > creating archive chunks ... done. > destPkg: Undefined variable. > > what is destPkg? "chunks" is an existing directory. I am running NeXTSTEP > 3.0. > > Thanks for any help! > > mikem Mike, chunkPackage expects a full path name for the destination. And to answer the question what is destPkg, here's the long answer. chunkPackage is a csh script, so you could see what it does. destPkg is an internal variable successively set to the path name of each chunk package; If however, it does not find any of the chunks, it does not set the destPkg variable. When it finishes the loop, it attempts to create a .last file in the folder of the last package.. presumably to signify that this is the last chunk for the package. It should definetely complain about it much sooner, and it should give a more descriptive error message... -- Takis Mercouris Vanguard Software, Corp. tm@vanguard.com
Newsgroups: comp.sys.next.programmer From: me@seiko.nrl.navy.mil (My Account) Subject: Need to create a socket entry using Netinfo Message-ID: <CEH9zs.50M@ra.nrl.navy.mil> Keywords: socket netinfo gethostbyname Sender: usenet@ra.nrl.navy.mil Organization: Naval Research Lab, Washington, DC Date: Wed, 6 Oct 1993 13:40:39 GMT I am trying to port a piece of software from my HP unix machine to my NeXT. I am using berkeley sockets in my code. The code compiles with no errors. The problem I have is that the program cannot find the services I am requesting. In the '/etc/services' file I have the entry 'timing 98765/udp'. The NeXT says it cannot find the entry. I figured out that NetInfo is running and is causing problems. Is there a way to fix this problem without disabling NetInfo?
Newsgroups: comp.sys.next.programmer From: mikem@afs.com (Mike Matlack) Subject: Re: creating mail with attachments Message-ID: <1993Oct6.125638.2134@afs.com> Sender: mikem@afs.com References: <1993Oct5.200537.1537@afs.com> Date: Wed, 6 Oct 1993 12:56:38 GMT In comp.sys.next.programmer article <1993Oct5.200537.1537@afs.com> I wrote: > > anyone have a command line program that I can use to create a mail message > with an attachment? There's something called "tnextmail" on the archives which does this. mikem
Newsgroups: comp.sys.next.programmer Subject: my next clock - display Message-ID: <1993Oct6.152029.120408@embl-heidelberg.de> From: rajas@duke.NMR.EMBL-Heidelberg.DE (Raj Thiagarajan) Date: 6 Oct 93 15:20:28 +0100 Distribution: world Keywords: next clock - preference - display Hi Guys, My Next Clock would not syncronize with the local time - well 2 weeks ago we (here in Germany) - fall back on our time by an HOUR - but my NEXT clock - under preferences - still displays the old time - is it something NEXTs are automatically supposed to understand - or is there a way i could reset the time - i tried "SYNCRONIZE" button - it doesn't work - I would appreciate any suggestions ... thanks -rajas
From: Airborne Newsgroups: comp.sys.next.misc,comp.sys.next.programmer Subject: Terminal question Date: 6 Oct 1993 14:57:38 GMT Organization: Allegheny College Message-ID: <28umd2$ls9@ftp.alleg.edu> Is there anyway to get Terminal to display the current wroking directory as its prompt? Quick and hopefully easy to answer. -- <<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "Virtue is like a rich stone, best plain set." - Francis Bacon "Take the bottle, Shake it up, Break the bubble, Break it up..." -Def Leppard <<<< Jeremy Bussard <-> Airborne <-> bussarj@alleg.EDU >>>>
Newsgroups: comp.sys.next.programmer From: jq@phcs.com (Jim Quick) Subject: Re: format of DeveloperLibs.tar.Z Message-ID: <CEHHA7.t1@phcs.com> Organization: Private Healthcare Systems, Inc References: <1993Oct5.141059.1033@Princeton.EDU> Date: Wed, 6 Oct 1993 16:18:06 GMT In article <1993Oct5.141059.1033@Princeton.EDU> paul@phoenix.Princeton.EDU (Paul Lansky) writes: >I'm getting tired of NeXTs Install.app, which apparently >has to be restarted everytime it drops its cookies, so >I thought I would just usr tar, but I get a checksum >error when I try to zcat DeveloperLibs.tar.Z | tar tf -. >Apparently it uses a non-standard blocksize which I can't >guess. Can someone clue me in on this? Thanks > >paul lansky >paul@princeton.edu Tar expects all reads to be of the size requested. When running off a pipe or socket, the buffering can result in a smaller than requested amoutn of data. Try using the 'B' option to tar whenever you are piping to tar. -- ___ ___ mail: uunet!phcs!jq PHCS, Inc. Advanced Technology Group / / / or jq@phcs.com It's spelled "Luxury Yacht", but it's \_/ (_\/ Fax: (617) 863-8575 pronounced "Throat-Warbler Mangrove". ) Voice: (617) 861-5579 NeXTMail O.K.
Newsgroups: comp.sys.next.programmer From: jq@phcs.com (Jim Quick) Subject: Re: Need to create a socket entry using Netinfo Message-ID: <CEHHIy.vq@phcs.com> Keywords: socket netinfo gethostbyname Organization: Private Healthcare Systems, Inc References: <CEH9zs.50M@ra.nrl.navy.mil> Date: Wed, 6 Oct 1993 16:23:21 GMT In article <CEH9zs.50M@ra.nrl.navy.mil> me@seiko.nrl.navy.mil (My Account) writes: >I am trying to port a piece of software from my HP unix machine to my >NeXT. I am using berkeley sockets in my code. The code compiles with no >errors. The problem I have is that the program cannot find the services I >am requesting. In the '/etc/services' file I have the entry >'timing 98765/udp'. The NeXT says it cannot find the entry. I figured >out that NetInfo is running and is causing problems. Is there a way to fix >this problem without disabling NetInfo? The getservbyname() is asking netinfo for information that was never loaded. use 'niload services DOMAIN < /etc/services', where DOMAIN is typically '/', or add the services using the NetInfoManager app. -- ___ ___ mail: uunet!phcs!jq PHCS, Inc. Advanced Technology Group / / / or jq@phcs.com It's spelled "Luxury Yacht", but it's \_/ (_\/ Fax: (617) 863-8575 pronounced "Throat-Warbler Mangrove". ) Voice: (617) 861-5579 NeXTMail O.K.
Newsgroups: comp.sys.next.programmer From: jq@phcs.com (Jim Quick) Subject: Re: Unable to do repeated forks Message-ID: <CEHH2z.qu@phcs.com> Organization: Private Healthcare Systems, Inc References: <28s8ob$bq5@cs.ubc.ca> Date: Wed, 6 Oct 1993 16:13:46 GMT In article <28s8ob$bq5@cs.ubc.ca> croehrig@cs.ubc.ca (Chris Roehrig) writes: >I'm trying to run a program that repeatedly forks a process many >times. Each process terminates before the next is forked, so there >shouldn't be any problem doing this indefinitely. > >The following test code fails after a few dozen forks: It is the responsibility of the parent process to collect the return status of its children. You have no wait() (or wait3()) calls in your code. Try this: > getc( infile ); > } > fclose( infile ); /* this closes the socket */ > i++; > wait(&status); > } else { -- ___ ___ mail: uunet!phcs!jq PHCS, Inc. Advanced Technology Group / / / or jq@phcs.com It's spelled "Luxury Yacht", but it's \_/ (_\/ Fax: (617) 863-8575 pronounced "Throat-Warbler Mangrove". ) Voice: (617) 861-5579 NeXTMail O.K.
From: me@ienext.unl.edu (Dan Scott) Newsgroups: comp.sys.next.programmer Subject: Re: Browser manipulation Date: 6 Oct 1993 16:28:21 GMT Organization: University of Nebraska--Lincoln Message-ID: <28urn5$cks@crcnis1.unl.edu> References: <1993Oct5.235726.15620@glv.uucp> In article <1993Oct5.235726.15620@glv.uucp> deininge@cen.encompass.com (David Deininger) writes: : : I've got a browser in a window, and I'd like it to behave like the : Open/Save/Font panels with respect to window resizing and alt-resizing. : : First question: What, exactly, do these panels _do_ when you resize or : alt-resize? Without the alt key, somehow a decision is made as to how : many columns should be displayed in the panel. And with the alt key, : the number of columns remains constant, only the widths change. Sound : correct? : : Second question: Has this behaviour been declared "the right thing"? : I'd make my code do the same think, if only I could figure out how. :-) : : I think I'm out of questions... anyone out there done this already? : I'd appreciate any advice or code snippets. : : --david deininger (deininge@cipher.cen.encompass.com) I've never done anything with alt resizing, but I have handled the case of simple resizing. (And I believe that strongly hints at how the alt resizing would work too) This resizing behavior should be controlled by the window's delegate. The delegate needs to implement a method - windowWillResize:sender toSize:(NXSize *)frameSize the framesize parameter is, in effect, a *proposed* new size for the window (which would take effect when the mouse button is released). However, the windowWillResize: toSize: method can *override* the proposed size of the resized window simply by making an assignment (using the address of frameSize which was passed in as a parameter). (Note the windowWillResize: toSize: method is sent over and over while you are dragging the resize bar---modal loop) A couple of lines taken from my own method will hint at the idea (my window held a matrix of textfields): i = floor((double)((*frameSize).width - oldWindowSize.width)/ (cellSize.width + intercell.width)); (*frameSize).width = oldWindowSize.width + i*(cellSize.width + intercell.width); The first line determines, i, the largest (integer) number of additional columns that will fit in the current proposed window width. The second line changes framesize so that the width would be just right to hold those additional columns (if any). I could have implemented it so that I did not have to store the old window size if I wanted, and that would probably have been more elegant... Basically, you just have to be able to determine how wide the window will be for various numbers of columns and then see to it that framesize is reset to an appropriate size. Of course you still need to see to it that your window has its contents redrawn correctly so you will also have to adjust the number of columns that your browser object has (but this is trivial). In my application I was also able to do this in windowWillResize: toSize: but I doubt if this is the best way. I suspect that it really belongs in another window delegate method - windowDidResize:sender As you would expect, this method executes just after the window resizes. (I am not sure whether the window is redrawn before or after this method, though) Perhaps someone else will clarify this. As for alt resizing, it looks like all you need to do is use the number of columns in the browser and the new width of the window to figure out and then set the various dimensions of the browser. Anyway, that's about it. Hope that it helps! -------------------------------------------------------------------------- Dan Scott me@ienext.unl.edu NeXT mail welcome --------------------------------------------------------------------------
From: doug@foxtrot.ccmrc.ucsb.edu (Douglas Scott) Newsgroups: comp.sys.next.programmer Subject: Re: /usr/local/include not being found Date: 6 Oct 1993 16:32:45 GMT Organization: University of California, Santa Barbara Distribution: world Message-ID: <28urvd$4gs@hub.ucsb.edu> References: <1993Oct5.210550.3690@afs.com> In article <1993Oct5.210550.3690@afs.com> Gregory_Mutzel@afs.com writes: ] I just upgraded a machine to 3.1 and now the compiler can't find ] /usr/local/include files. Any general ideas? I thought this was a standard ] Unix search path for header files. ] ] #import <myKit/MyClass.h> ] /usr/local/include/myKit/MyClass.h ] This is a bug in the 3.1 compiler. I sent in the bug report a month or so ago and got a reply back. Might be fixed in 3.2. For now, just add -I/usr/local/include to your flags. -- Douglas Scott | Senior Development Engineer Tel: (805) 893-8352 | Center for Computer Music Research and Composition Internet (NeXTMail ok): | Music Department <doug@ccmrc.ucsb.edu> | University of California, Santa Barbara
Newsgroups: comp.sys.next.programmer From: lutzray@ERE.UMontreal.CA (Lutz Raymond) Subject: diff between VAPS & IB? Message-ID: <CEHJ7C.BD0@cc.umontreal.ca> Sender: news@cc.umontreal.ca (Administration de Cnews) Organization: Universite de Montreal Date: Wed, 6 Oct 1993 16:59:35 GMT Bonjour, I'm going to apply for a programming job and they say knowledge about CASE tool VAPS, from VPI, would be a plus (VAPS stands for Virtual Application Prototyping System and VPI, Virtual Prototypes Inc.) How that 'system' does compare to NeXT's IB? I don't want to say: "Well, I don't have any experience with VAPS but I know IB from NeXT". And them to reply: "Oh ya, but IB can't do that, neither this, blablabla... By the way, isn't NeXT out of business?" 8^) Merci pour tout reponse, Raymond Lutz, etudiant 2e cycle matiere condensee, departement de physique Universite de Montreal ND cube newbie wannabie ascii at lutzray@physcn.umontreal.ca
From: buzz@cs.tu-berlin.de (Bastian Schlueter) Newsgroups: comp.sys.next.misc,comp.sys.next.programmer Subject: Re: Terminal question Date: 06 Oct 93 18:49:26 GMT Organization: Berlin University of Technology Message-ID: <28v3vr$5sa@news.cs.tu-berlin.de> References: <28umd2$ls9@ftp.alleg.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit In-reply-to: Airborne's message of 06 Oct 93 15:57:38 MET In article <28umd2$ls9@ftp.alleg.edu> Airborne writes: > Is there anyway to get Terminal to display the current wroking directory as its > prompt? Quick and hopefully easy to answer. > If you use tcsh try: (One line!) alias cwdcmd 'set prompt="${HOST} ${user} \\! (`dirs|sed -e '\''s| .*||'\'' -e '\''s|.*[^/]\(/[^/]*/[^/]*\)|...\1|'\''`): "' maybe it works with csh also. It'll give you a nice prompt. Greetings Bastian -- Bastian Schlueter TEL.: +49 030 / 693 49 26 (priv) __o Urbanstr. 25 Aufg. E 314 25 973 (uni) _`\<,_ D-10967 Berlin e-mail: buzz@cs.tu-berlin.de (_)/ (_) -- Radfahrer haben nichts zu verlieren als ihre Ketten -- ~~~~~~~~~~~
Newsgroups: comp.sys.next.programmer From: bau@cs.cornell.edu (David Bau) Subject: NextDeveloper/Demos Message-ID: <1993Oct6.183424.27789@cs.cornell.edu> Organization: Cornell Univ. CS Dept, Ithaca NY 14853 Date: Wed, 6 Oct 1993 18:34:24 GMT Some of the Demos in NextDevloper/Demos are interesting. Are the sources for these demos avaliable anywhere? Forgive me if they are already in the distribution; I have not found them. David
From: altitude@css.itd.umich.edu (Alex Tang) Newsgroups: comp.sys.next.programmer Subject: working g++? Date: 6 Oct 1993 19:34:26 GMT Organization: Univeristy of Michigan ITD/User Services Message-ID: <28v6k2$26o@terminator.rs.itd.umich.edu> Hi. I was wondering where I could get a working gcc/g++ for NeXTStep 3.0. I need it to have a working libg++ and all the header files too. I've built gcc-2.4.5, but the libg++ stuff won't compile. :( thanx...alex... -- Alex Tang --- ALTITUDE@UMICH.EDU...USERW00Y@UMICHUM.BITNET -----------+ U of M, SNRE: Student and Computer Consultant II, PGP on req.| ITD/CSS Consultant, Short asian with long hair :) or finger | ________________________ <--Alex's brainwave pattern.
Newsgroups: comp.sys.next.programmer From: spagiola@frinext.stanford.edu (Stefano Pagiola) Subject: Re: NextDeveloper/Demos Message-ID: <1993Oct6.193241.28877@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: Stanford University References: <1993Oct6.183424.27789@cs.cornell.edu> Date: Wed, 6 Oct 93 19:32:41 GMT David Bau writes > Some of the Demos in NextDevloper/Demos are interesting. Are > the sources for these demos avaliable anywhere? Forgive me if > they are already in the distribution; I have not found them. Some (but not all) are in /NextDeveloper/Examples. eg Draw is in /NextDeveloper/Examples/Appkit. -- - Stefano Pagiola Food Research Institute, Stanford University spagiola@leland.stanford.edu (NeXTMail encouraged) spagiola@FRI-nxt-Pagiola.stanford.edu (NeXTMail encouraged)
From: fl2a503@rznext01.rrz.uni-hamburg.de (Winfried Wille) Newsgroups: comp.sys.next.programmer,comp.sys.next.software,de.comp.sys.next Subject: SUBMISSION: Grouper1.21 a Improv API Toolkit module Date: 6 Oct 1993 20:44:52 GMT Organization: University of Hamburg -- Germany Message-ID: <28vao4$t4t@rzsun02.rrz.uni-hamburg.de> Keywords: Improv, Improv API-Toolkit, NeXT Grouper V1.21 a Improv API-Toolkit Modul Automatic grouping for Lotus Improv! - you need the Improv API Toolkit. The Improv API-Toolkit V 1.0 is free, you can ftp it from most NeXT ftp-sites. The code was created at the end of 1991 under NS2.1 and recompiled with 3.0, source is included. This modul allows you to arrange items in groups by the value of a item in another castegory. The ungroup command of this module deletes automaticall any formulars which reference the group. I uploaded the following files to cs.orst.edu and ftp.rrz.uni-hamburg.de: Grouper1.21Pack.README [2117] Grouper1.21Pack.tar.gz [68670] On cs.orst.edu, you can find them in /pub/next/submission. On ftp.rrz.uni-hamburg.de you can find them under /pub/next/local. This code is free, but you have to mention me, when you use this code or parts of it. I don t know if anyone still uses Improv on NeXT-Computers and is interested in this stuff. But I think its time for all of us, espically NeXT, to put some code out to give the word Objectware a meaning. If you like the code and/or use it frequently, feel free to send me $15. I wrote a introducing article to the Improv API-Toolkit, which appears in the german mag Workout 4/92 under the title "Entwicklungshilfe f r Rechenkuenstler". I have a lot of other stuff, sorting in categorys, Sybase SQL Interpreter with Improv Interface, and some DB-Kit stuff in alpha-versions. But I currently can't afford to invest much time in unpayed work. The programming project was stopped in March 1992, because my contacts with Lotus gave me a very bad feeling about the coming support from Improv on NeXT. Thanks to the german company Xpand (registrated NeXTDeveloper), espically Michael Thun, who recently donated a NeXTstep 3.0 license and give me some work in the macintosh area. Beware the comments in the source-files are in german =:^) Have Fun Winfried Wille you can reach me as wwille@wwille.hanse.de
Newsgroups: comp.sys.next.programmer From: jscherer@inline (John Scherer) Subject: NeXTSTEP programming with the Novell API Message-ID: <CEHMIC.2qw@sybase.com> Sender: usenet@sybase.com Organization: Sybase, Inc. Date: Wed, 6 Oct 1993 18:11:00 GMT I am posting this for a friend of mine, please respond to him at: blarson@weatherlabs.com Is there anyone out there doing any programming on the NeXT that involves the Novell NetWare API stuff. Specificly anything on file/record locking.. Thanks
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: __module_info, segment names Date: 6 Oct 1993 17:12:42 -0700 Message-ID: <28vmtq$sp6@ursula.ee.pdx.edu> Summary: MachO docs say __module_info obsolete.. Anyone know why this: #define SECT_OBJC_MODULES "__module_info" /* (obsolete!) */ found in the DevTools/14_MachO/MachO.rtf is the case? The information is valid, and it seems like otool uses it, etc. I'd like to use this information, and am wondering why I shouldn't. Also, does anyone know why rld drops everything into an unlabeled vmregion segment? marcus
Newsgroups: comp.sys.next.programmer From: brad@instep.wimsey.bc.ca Subject: FYI: Some Makefile mods that you may want. Read on... Message-ID: <1993Oct6.235239.8710@instep.wimsey.bc.ca> Sender: brad@instep.wimsey.bc.ca (Bradley Head) Organization: InStep Mobile Communications Inc. Date: Wed, 6 Oct 1993 23:52:39 GMT Now with NEXTSTEP 3.1, you can include subprojects into your main project using symbolic links. This gives you the ability to share subprojects across different projects. I do this for such utiltity like object collections (gathered into a subproject) such as thread safe List, Storage, etc... in other words any collection of source code that you wish to share amongst different projects. This gives you the following advantages: a) one location for source code (of Classes, etc.. -> reusability!!!) b) consumes less disk space than copying the subprojects would. c) ensures that you are using the latest and greatest version of the shared source. (you can have one person update the source with newer versions) d) ensures accidental source code destruction - have someone else own the subproject that your project links in and have it write protected. To accomplish this you need to do four things. 1. create a symbolic link of the subproject into your main project directory. 2. Add the subproject to your main project using ProjectBuilder. 3. To the main project's Makefile.preamble, add to OTHER_CFLAGS, the following: -I. -I.. 4. To your main project's Makefile.postamble add the following lines: OBJROOT = $(CWD) SYMROOT = $(CWD) That's it. Brad. -- Bradley Head Software Developer, InStep Mobile Communications Inc. brad@instep.wimsey.bc.ca (NeXTmail accepted) 604 872-7116 fax: 604 872-7125
Newsgroups: comp.sys.next.programmer From: brad@instep.wimsey.bc.ca Subject: Annoying and needless bugs in NS 3.1 Makefiles Message-ID: <1993Oct7.002236.8996@instep.wimsey.bc.ca> Sender: brad@instep.wimsey.bc.ca (Bradley Head) Organization: InStep Mobile Communications Inc. Date: Thu, 7 Oct 1993 00:22:36 GMT (A) Makefile dependencies are handled incorrectly in NS 3.1: 1. Symptom: - make depend crashed when multi-architecturess are specified. Problem: - $(RC_CFLAGS), the architecture flags, are being added to cc (these are included as $(ALL_CFLAGS) Cure: - Don't add the $(RC_CFLAGS) such as has been modified here file /NextDeveloper/Makefiles/app/common.make: # Build a set of dependencies for current level into Makefile.dependencies Makefile.dependencies:: $(CLASSES) $(MFILES) $(CFILES) $(CCFILES) $(CAPCFILES) $(CXXFILES) $(CPPFILES) $(RM) -f Makefile.dependencies $(CC) -MM $(CFLAGS) $(PROJ_CFLAGS) -I$(SYM_DIR) $(OTHER_CFLAGS) \ $(CLASSES) $(MFILES) $(CFILES) \ $(CCFILES) $(CAPCFILES) $(CXXFILES) $(CPPFILES) \ > Makefile.dependencies 2. Symptom: - Won't build dependencies for .cc and mixed OjC/C++ files. Problem: - Makefile.dependencies rule does not include the -ObjC++ flag, and ProjectBuilder adds .cc files as OTHERLINKED instead of as CCFILES. Cure: - Add the -ObjC++ flag to the $(CC) -MM ... line of found in and add $(OTHERLINKED) /NextDeveloper/Makefiles/app/common.make: Makefile.dependencies:: $(CLASSES) $(MFILES) $(CFILES) $(CCFILES) $(CAPCFILES) $(CXXFILES) $(CPPFILES) $(RM) -f Makefile.dependencies $(CC) -MM -ObjC++ $(CFLAGS) $(PROJ_CFLAGS) -I$(SYM_DIR) \ $(OTHER_CFLAGS) $(CLASSES) $(MFILES) $(CFILES) \ $(CCFILES) $(CAPCFILES) $(CXXFILES) $(CPPFILES) $(OTHERLINKED) \ > Makefile.dependencies This problem is further complicated by the fact that ProjectBuilder does not correctly define the macros set out in the Makefiles. Specifically .cc files should be inserted (into your Makefile) as CCFILES, etc... NOT as OTHERLINKED. Comments: ProjectBuilder should be updated to reflect the new Makfiles. Specifically ProjectBuilder should generate the correct macros for the new Makefiles, such as CCFILES, etc. It would be best from a developer's standpoint, if ProjectBuilder wasn't trying to be so smart about how it will add files to the project. There should be a one-to-one correspondence of "suitcases" to Makefile Macros in ProjectBuilder. For example, there should be suitcases corresponding to CCFILES, MFILES, CXXFILES, CPPFILES, etc... (B) /NextDeveloper/Makefiles/app/basicrules.make incorrectly appends the -ObjC++ compiler flag to .cc and .C files. If you want MIXED Objective-C and c++, you should use the .M file extension. How can I be sure I have compiled clean c++ code, when the -ObjC++ flag gets tacked on? Fix this by removing the -ObjC++ flag: .C.o: $(CC) $(ALL_CFLAGS) $(C++CFLAGS) -I. -c $< -o $(OFILE_DIR)/$*.o .cc.o: $(CC) $(ALL_CFLAGS) $(C++CFLAGS) -I. -c $< -o $(OFILE_DIR)/$*.o I hope NeXT can continue to improve the make facility they have created, and remove the current problems in a future release. Cheers, brad... -- Bradley Head Software Developer, InStep Mobile Communications Inc. brad@instep.wimsey.bc.ca (NeXTmail accepted) 604 872-7116 fax: 604 872-7125
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Need to create a socket entry using Netinfo Message-ID: <1993Oct7.012058.15537@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <CEH9zs.50M@ra.nrl.navy.mil> Date: Thu, 7 Oct 1993 01:20:58 GMT In article <CEH9zs.50M@ra.nrl.navy.mil> me@seiko.nrl.navy.mil (My Account) writes: > The problem I have is that the program cannot find the services I >am requesting. In the '/etc/services' file I have the entry >'timing 98765/udp'. Since UDP socket numbers are limited to 16 bits, attempts to use values above 65535 are pretty much guaranteed to cause trouble. -=EPS=-
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: /usr/local/include not being found Message-ID: <1993Oct6.201126.792@afs.com> Sender: Michael_Pizolato@afs.com References: <28urvd$4gs@hub.ucsb.edu> Date: Wed, 6 Oct 1993 20:11:26 GMT Douglas Scott writes >In article <1993Oct5.210550.3690@afs.com> Gregory_Mutzel@afs.com >writes: >>I just upgraded a machine to 3.1 and now the compiler can't find >>/usr/local/include files. Any general ideas? I thought this was >>a standard Unix search path for header files. >> >>#import <myKit/MyClass.h> /usr/local/include/myKit/MyClass.h > >This is a bug in the 3.1 compiler. I sent in the bug report a >month or so ago and got a reply back. Might be fixed in 3.2. >For now, just add -I/usr/local/include to your flags. It's not a bug, it's a feature ;-). From the NS3.1 developer release notes: [begin quote] - The default search path for cpp-precomp has been brought into line with the default search path for cpp. Most notably, this removes /usr/local/include/ from the standard search path. Developers are encouraged to place local, shared headers in /LocalDeveloper/Headers/ instead. As of release 3.1, the default search path for cpp-precomp is now: /NextDeveloper/Headers /NextDeveloper/Headers/ansi /NextDeveloper/Headers/bsd /LocalDeveloper/Headers /LocalDeveloper/Headers/ansi /LocalDeveloper/Headers/bsd /NextDeveloper/2.0CompatibleHeaders By adding -I/usr/local/include to the cc(1) command line, headers that were previously included from that directory can again be used in this release. [end quote] On our systems (but unfortunately not on Mutz's home machine, until tonight, right Mutz? ;-), /usr/local/include is a link to /LocalDeveloper/Headers anyway. Thus we couldn't figure out at first why things would compile under NS3.1 at the office but not on the home machine :-(. While they're at it, NeXT should also include ~/Developer/Headers in the search path, too. I have a ~/Developer (~/Developer/Apps and ~/Developer/Demos are particularly useful) for working copies and personal development stuff. Don't we all? Thanx, Michael -- Michael_Pizolato@afs.com NeXTMail accepted
Newsgroups: comp.sys.next.programmer,comp.sys.next.misc,comp.sys.next.software From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Looking for source for "feathers" Message-ID: <1993Oct6.210111.1058@afs.com> Sender: Michael_Pizolato@afs.com Date: Wed, 6 Oct 1993 21:01:11 GMT Does anyone have the source code for "feathers," or know where I can get it? Feathers is a tar clone that doesn't have the file name length restriction. I tried using the gnutar that ships with NEXTSTEP, but it also has problems with some of the file name lengths I have do deal with. Any and all help will be greatly appreciated. Thanx, Michael -- Michael_Pizolato@afs.com NeXTMail accepted
Newsgroups: comp.sys.next.programmer From: trunz@inf.ethz.ch (Paul Martin Trunz) Subject: Re: my next clock - display Message-ID: <1993Oct7.081716.18442@neptune.inf.ethz.ch> Keywords: next clock - preference - display Sender: news@neptune.inf.ethz.ch (Mr News) Organization: Dept. Informatik, Swiss Federal Institute of Technology (ETH), Zurich, CH References: <1993Oct6.152029.120408@embl-heidelberg.de> Date: Thu, 7 Oct 1993 08:17:16 GMT In article <1993Oct6.152029.120408@embl-heidelberg.de>, Raj Thiagarajan <rajas@duke.NMR.EMBL-Heidelberg.DE> wrote: > > >Hi Guys, > >My Next Clock would not syncronize with the local time - well 2 weeks >ago we (here in Germany) - fall back on our time by an HOUR - but my NEXT >clock - under preferences - still displays the old time - is it something >NEXTs are automatically supposed to understand - or is there a way i could >reset the time - i tried "SYNCRONIZE" button - it doesn't work - > I was told that the correct MET was referred to as 'Poland' on the NeXT. However, I also noticed a problem yesterday (I did not get to my NeXT very often during the last two weeks). My time was somewhere around GMT+1300, quite far from the GMT+0100 I usually am. As far as I know the UK DST-switch did not occur yet, so I could be off another hour, but my guess would be that there is no DST-switch in official GMT. Was this switch to GMT+1300 just a bug on my machine (maybe a low battery) or did other people have this problem too? I am running 3.0 black, since my 3.1 did not arrive yet. >I would appreciate any suggestions ... The solution should be to switch to the 'Poland'-setting after choosing the german area on the world-map when GMT+0100 is shown on a popup-button. However this resulted in even more confusion in my case. If anybody has experiences in this line, please CC: your replys to me, since our newsfeed is very unreliable during the last few days. Greetings Patru -- -- ____ _ ______ ____ _ _ trunz@inf.ethz.ch \ \ | \ | | or |__/ /_ | | |_ / | | PATRU@EZINFO.vmsmail.ethz.ch
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: CLI program to list module addresses Date: 7 Oct 1993 02:40:35 -0700 Message-ID: <290o6j$b0n@ursula.ee.pdx.edu> Summary: Gizmo to look for Palettes, Bundles in other processes Keywords: gizmo thingy I hack on IB enough that I'm bothered by the fact that gdb isn't able to find dynamically loaded palettes after an `attach'. Basically, I think it takes too damn long to constantly be reloading all those symbols into gdb. Anyway, here is a start on a partial solution. A little CLI program that takes a processID. It scans through an apps regions looking for MH_MAGICs. For those regions, it reports the `__text' addresses, along with classes found in those regions. There is an ifdef for whether or not IBPalette subclasses have all the compiled-in classes reported, or just the particular IBPalette subclass (other bundle are always reported). Another ifdef will let you choose between listing modules or classes. Oh yeah, adding `dump' on the command line will dump an apps regions to named files in /tmp. Not really relevant, but if you don't already have a way of doing that, there it is. If you have conventions for where you store development bundles/palettes it makes it easy to write support scripts that transform this output into gdb-commands or other scripts that can be called by gdb user-defined commands defined in a particular project's .gdbinit. Normally you'd take the number reported by the program and use `add-file' with the number as an extra argument. add-file PaletteObjectFile address_reported_by_program This will only let you set breakpoints, it won't let you do things like `call [justloadedclass somemethod]`. I dunno what I have to do to make that work. Please tell me! Doesn't anyone else find the debugging support for `bundle oriented development' woefully lacking? Or does anyone thing I'm just basically an idiot? Again, please tell me! :-) #include <stddef.h> #include <mach/mach.h> #include <mach/machine/vm_param.h> #include <stdio.h> #import <objc/objc.h> #import <objc/objc-runtime.h> #import <mach-o/loader.h> #define FATAL(str) {\ fprintf(stderr,"error in `%s' line#: %d file: ``%s''\n",\ str,__LINE__,__FILE__); } #define FLAGPALETTECLASS #define PRINTMODULES int load_section_vm(task_t task, int count, struct section *firstSection, const char *name, struct section **sectionAdr, void **regionAdr, void **dataAdr, int *dataCnt) { struct section *section; int i; section=firstSection; for(i=0;i<count;i++) { if(strcmp(section->sectname,name)==0) { pointer_t newdata; int datacnt; vm_address_t addr; vm_size_t size; vm_prot_t prot; vm_prot_t max_prot; vm_inherit_t inher; boolean_t shared; memory_object_name_t name; vm_offset_t offset; int rtn; addr=section->addr; rtn=vm_region(task,&addr,&size,&prot,&max_prot,&inher,&shared, &name,&offset); if(rtn != KERN_SUCCESS) return(-1); if(prot & 1) { if((rtn=vm_read(task,addr,size,&newdata,&datacnt)) != KERN_SUCCESS) return(-1); *sectionAdr=section; *regionAdr=(char *)newdata; *dataAdr=(char *)newdata+(section->addr-addr); *dataCnt=datacnt; return(1); } } section++; } return(0); } void print_text_addr(int sections,struct section *sPtr,vm_address_t base) { int i; for(i=0;i<sections;i++) { if(strcmp(sPtr->sectname,"__text")==0) { printf("%x\n",base+sPtr->offset); break; } sPtr++; } } int isKindOf(task_t task,struct objc_class *startingClass,char *className) { char *regionAdr,*dataAdr; int datacnt,newclassdatacnt,lastclassdatacnt; vm_address_t addr; vm_size_t size; vm_prot_t prot; vm_prot_t max_prot; vm_inherit_t inher; boolean_t shared; memory_object_name_t name; vm_offset_t offset; pointer_t newdata,newclassdata,lastclassdata; int rtn; char *str; int status; int count; struct objc_class *class; newclassdata=NULL; newclassdatacnt=-1; class=startingClass; count=0; do { addr=(vm_address_t)class->name; rtn=vm_region(task,&addr,&size,&prot,&max_prot, &inher,&shared,&name,&offset); if(rtn != KERN_SUCCESS) FATAL("vm_region"); if((rtn=vm_read(task,addr,size,&newdata,&datacnt)) != KERN_SUCCESS) FATAL("vm_read"); str=(class->name-addr)+newdata; if(strcmp(str,className)!=0) { if(strcmp(str,"Object")==0) { status=-1; } else { status=0; addr=(vm_address_t)class->super_class; if(vm_region(task,&addr,&size,&prot,&max_prot,&inher, &shared,&name,&offset) != KERN_SUCCESS) FATAL("vm_region"); if((rtn=vm_read(task,addr,size,&newclassdata,&newclassdatacnt)) != KERN_SUCCESS) FATAL("vm_read"); class=((void *)class->super_class-(void *)addr)+(void *)newclassdata; } } else { status=1; } if((rtn=vm_deallocate(task_self(), (vm_address_t)newdata, (vm_size_t)datacnt)) != KERN_SUCCESS) FATAL("vm_deallocate"); if(count > 0) { if((rtn=vm_deallocate(task_self(), (vm_address_t)lastclassdata, (vm_size_t)lastclassdatacnt)) != KERN_SUCCESS) FATAL("vm_deallocate"); } count++; lastclassdata=newclassdata; lastclassdatacnt=newclassdatacnt; } while(status==0); if(newclassdatacnt != -1) { if((rtn=vm_deallocate(task_self(), (vm_address_t)lastclassdata, (vm_size_t)lastclassdatacnt)) != KERN_SUCCESS) FATAL("vm_deallocate"); } return(status==1); } int print_objc_class(task_t task,struct objc_class *class, int doPrint,int isPaletteModule) { char *regionAdr,*dataAdr; int datacnt; vm_address_t addr; vm_size_t size; vm_prot_t prot; vm_prot_t max_prot; vm_inherit_t inher; boolean_t shared; memory_object_name_t name; vm_offset_t offset; pointer_t newdata; int rtn; char *str; int paletteFlag; paletteFlag=0; addr=(vm_address_t)class->name; rtn=vm_region(task,&addr,&size,&prot,&max_prot,&inher,&shared,&name,&offset); if(rtn != KERN_SUCCESS) FATAL("vm_region"); if((rtn=vm_read(task,addr,size,&newdata,&datacnt)) != KERN_SUCCESS) FATAL("vm_read"); str=(class->name-addr)+newdata; if(isKindOf(task,class,"IBPalette")) { paletteFlag=1; } if(doPrint) { #ifdef FLAGPALETTECLASS printf("\t%s %s",str,paletteFlag ? "*\n" : "\n" ); #else if(!isPaletteModule || paletteFlag) { printf("\t%s\n",str); } #endif } if((rtn=vm_deallocate(task_self(), (vm_address_t)newdata, (vm_size_t)datacnt)) != KERN_SUCCESS) FATAL("vm_deallocate"); return paletteFlag; } void print_objc_module(task_t task,struct objc_module *module) { char *regionAdr,*dataAdr; int datacnt; vm_address_t addr; vm_size_t size; vm_prot_t prot; vm_prot_t max_prot; vm_inherit_t inher; boolean_t shared; memory_object_name_t name; vm_offset_t offset; pointer_t newdata; int rtn; char *str; addr=(vm_address_t)module->name; rtn=vm_region(task,&addr,&size,&prot,&max_prot,&inher,&shared,&name,&offset); if(rtn != KERN_SUCCESS) FATAL("vm_region"); if((rtn=vm_read(task,addr,size,&newdata,&datacnt)) != KERN_SUCCESS) FATAL("vm_read"); str=(module->name-addr)+newdata; printf("\t%s\n",str); if((rtn=vm_deallocate(task_self(), (vm_address_t)newdata, (vm_size_t)datacnt)) != KERN_SUCCESS) FATAL("vm_deallocate"); } void print_objc_modules(task_t task, int count, struct section *firstSection) { void *regionAdr; struct objc_module *moduleAdr,*endAdr; struct section *sectionAdr; int rtn; int dataCnt; if(load_section_vm(task,count,firstSection,"__module_info", &sectionAdr,&regionAdr,(void **)&moduleAdr,&dataCnt)!=1) FATAL("load_section_vm"); endAdr=(void *)moduleAdr+sectionAdr->size; while(moduleAdr < endAdr) { print_objc_module(task,moduleAdr); moduleAdr=(void *)moduleAdr+moduleAdr->size; } } void print_objc_classes(task_t task, int count, struct section *firstSection) { void *regionAdr; struct objc_class *classAdr,*endAdr,*startAdr; struct section *sectionAdr; int rtn; int dataCnt; int paletteFlag; if(load_section_vm(task,count,firstSection,"__class", &sectionAdr,&regionAdr,(void **)&startAdr,&dataCnt)!=1) FATAL("load_section_vm"); classAdr=startAdr; paletteFlag=0; endAdr=(void *)startAdr+sectionAdr->size; while(classAdr < endAdr) { paletteFlag|=print_objc_class(task,classAdr,0,0); classAdr++; } classAdr=startAdr; endAdr=(void *)startAdr+sectionAdr->size; while(classAdr < endAdr) { print_objc_class(task,classAdr,1,paletteFlag); classAdr++; } } void print_module_info(task_t task,struct mach_header *headerPtr, int *segment_count,vm_address_t real_address) { int ci,cmdCnt; struct load_command *cmdPtr; *segment_count=0; cmdPtr=(struct load_command *)((void *)headerPtr+sizeof(struct mach_header)); cmdCnt=headerPtr->ncmds; for(ci=0;ci<cmdCnt;ci++) { switch(cmdPtr->cmd) { case LC_SEGMENT: { struct segment_command *segCmdPtr; segCmdPtr=(struct segment_command *)cmdPtr; (*segment_count)++; { struct section *sPtr; sPtr=(struct section *)((void *)cmdPtr+sizeof(struct segment_command)); if(strcmp(segCmdPtr->segname,"")==0) { print_text_addr(segCmdPtr->nsects,sPtr,real_address); #ifdef PRINTMODULES print_objc_modules(task,segCmdPtr->nsects,sPtr); #else print_objc_classes(task,segCmdPtr->nsects,sPtr); #endif } } } break; case LC_SYMTAB: break; case LC_UNIXTHREAD: break; case LC_LOADFVMLIB: break; case LC_IDFVMLIB: break; default: break; } cmdPtr=(struct load_command *)((void *)cmdPtr+cmdPtr->cmdsize); } } main(int argc,char **argv) { void *ptr,*ptr_data; vm_address_t addr; vm_size_t size; vm_prot_t prot,max_prot; vm_inherit_t inher; boolean_t shared; port_t name; vm_offset_t offset; kern_return_t status; task_t task; int region_count; int mach_region_count; int mach_segment_count; BOOL dumping; if(argc==1) { task=task_self(); } else { int pid=atoi(argv[1]); task_by_unix_pid(task_self(),pid,&task); if(task==(task_t)NULL) { fprintf(stderr,"Can't access pid: %d\n",pid); exit(1); } } if(argc==3) { dumping=(strcmp(argv[2],"dump")==0) ? YES : NO; } addr=VM_MIN_ADDRESS; status=vm_region(task,&addr,&size,&prot,&max_prot, &inher,&shared,&name,&offset); region_count=0; mach_region_count=0; mach_segment_count=0; while(status==KERN_SUCCESS) { if(prot & 1) { char *newdata; int datacnt; kern_return_t rtn; char pathname[20]; FILE *fp; if((rtn=vm_read(task, (vm_address_t)addr, size, (pointer_t *)&newdata, &datacnt)) != KERN_SUCCESS) FATAL("vm_read"); { struct mach_header *headerPtr; headerPtr=(struct mach_header *)newdata; if(headerPtr->magic==MH_MAGIC) { int segment_count; mach_region_count++; print_module_info(task,headerPtr,&segment_count,addr); mach_segment_count+=segment_count; } } if(dumping==YES) { sprintf(pathname,"/tmp/region%07x",addr); if((fp=fopen(pathname,"w"))==NULL) { fprintf(stderr,"Can't open `%s' for writing\n",pathname); exit(1); } if(fwrite(newdata,size,1,fp)!=1) { fprintf(stderr,"Couldn't write record\n"); exit(1); } fclose(fp); } if((rtn=vm_deallocate(task_self(), (vm_address_t)newdata, (vm_size_t)datacnt)) != KERN_SUCCESS) FATAL("vm_deallocate"); } addr+=size; status=vm_region(task,&addr,&size,&prot,&max_prot,&inher, &shared,&name,&offset); region_count++; } } /* Local Variables: compile-command: "gcc region.c -o region" End: */
Newsgroups: comp.sys.next.programmer From: me@seiko.nrl.navy.mil (My Account) Subject: Re: Need to create a socket entry using Netinfo Message-ID: <CEIx3H.K2J@ra.nrl.navy.mil> Sender: usenet@ra.nrl.navy.mil Organization: Naval Research Lab, Washington, DC References: <1993Oct7.012058.15537@csus.edu> Date: Thu, 7 Oct 1993 10:57:17 GMT Thanks for the replies. I figured out NetInfo. I also changed the socket number to a valid number.
Newsgroups: comp.sys.next.programmer From: chuck@benatong.com (Charles G. Bennett) Subject: Re: Strange Compiler Errors Message-ID: <CEGGn0.KxL@BenaTong.com> Sender: usenet@BenaTong.com Organization: BenaTong Software. References: <1993Sep30.143246.4713@Angst.COM> Date: Wed, 6 Oct 1993 03:06:35 GMT [munched the whole thing]... But in the Olde days 08 and 09 were "error's not caught" and were properly handled by the 'C' compiler (that is they were evaluated as octal 10 and 11). By gum, these ANSI fellows have no respect for tradition... Feeling olde Chuck
Newsgroups: comp.sys.next.programmer,mlist.next-prog From: mihe@gordon.enea.se (Mike Henry) Subject: Re: Installing libg++2.4 under NS3.1 with gcc 2.4.5 Message-ID: <1993Oct7.133528.21395@enea.se> Sender: usenet@enea.se Organization: ENEA DATA AB, Stockholm, Sweden References: <9309301222.AA24393@steffi.demon.co.uk> Date: Thu, 7 Oct 1993 13:35:28 GMT In article <9309301222.AA24393@steffi.demon.co.uk> Robert Nicholson <robert@steffi.demon.co.uk> writes: >Has anybody installed libg++2.4 under NS3.1 using gcc 2.4.5? > >In NeXT's libg++2.3 the header file basically just included the >appropriate next header from from /usr/include > >They basically looked like this (etc) > >extern "C" { >#include <_G_config.h> >#include_next <unistd.h> >} I havent compiled libg++ 2.4 under NS, but this problem is similar to the problems many people were having (including me) compiling it under SunOS. The fix is to make sure and remove the file "_G_config.h" from $GNUHOME/lib/g++-include since this file automagically created, and also, under the new version it has been moved to $GNUHOME/$ARCH/include for cross-compilation reasons. Since it seems like you are trying to install the new version over an old one, that means that the old _G_config.h wont be removed but instead included before the new one, giving rise to frustrations at best. The makers of libg++ suggest you totally wipe out old versions before installing new ones. Dont blame me for this, however. B^) -Mike -- Mike Henry /// ENEA DATA AB TEL : +46 8 638-5000 /// Box 232 TFX : +46 8 638-5050 \\\/// S-183 23, SWEDEN INET : mihe@enea.se (NeXTmail OK) \XX/
From: fxg@gimli.tolkien.imib.rwth-aachen.de (Felix Gatzemeier #Alwd#) Newsgroups: comp.sys.next.programmer Subject: Re: Debugging a Macro Date: 07 Oct 1993 15:31:33 GMT Organization: Rechnerbetrieb Informatik - RWTH Aachen Message-ID: <FXG.93Oct7163134@gimli.tolkien.imib.rwth-aachen.de> References: <1993Sep28.120122.14334@gleap.sccsi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-reply-to: clloyd@gleap's message of Tue, 28 Sep 1993 12:01:22 GMT ??? I may have mistaken your problem, but if you are talking about C-style #define - Macros, you won't be able to see them in the compiled code at all. So, you won't be able to debug them with a debugger, really. What you can do is take a look at the proprocessor output / listing file. The cc should have an option for generating a listing of your code after the macro expansion. That's where you can check out the code that will be compiled. Using that, you may be able to understand what kind of executable the compiler generates. I don't know if that's the core of your problem, but I'm afraid that's all you can do about macros in c. Or is the something in gdb that I've overlooked? -- Felix (fxg@Pool.Informatik.RWTH-Aachen.de fxg@tolkien.ImIB.RWTH-Aachen.de, No NeXT-Mail, please!)
From: Jeff_Martin@NeXT.com (Jeff Martin) Newsgroups: comp.sys.next.programmer Subject: Re: Anybody used ScrollViewDeluxe? Date: 7 Oct 1993 03:16:02 GMT Organization: NeXT, Inc. Message-ID: <2901li$51f@rosie.next.com> References: <1993Oct2.203032.23453@splunge.uucp> In article <1993Oct2.203032.23453@splunge.uucp> royce@splunge.uucp (Royce Howland) writes: > I grabbed the ScrollViewDeluxe class from ftp.next.com, recently. It > looked pretty cool, so I decided to try using it an app I'm hacking > around with. Under NS 3.0 black, the paletter seems to build fine. > Unfortunately ... There is a documented hack in ScrollViewDeluxe (actually in SVDInspector) that allows for the "Group In ScrollView" feature to work. However, it breaks in 3.0 and is flakey in 3.1. It uses that terribly evil poseAs: method. You can replace the last 10 lines of SVDInspector.m with the code below and it should work fine. The code below uses the slightly less nasty hack of trapping into the _zoneAlloc function. Alternatively, you can delete the last 10 lines and forgo the "Group In ScrollView" feature. I'll fix the example itself tomorrow. Sorry for the problems. ... jeff // Format: 80 columns, tabs = 4 spaces @implementation ScrollView(Replace) extern id (*_zoneAlloc)(Class aClass, unsigned int indIvarBytes, NXZone *zone); static id (*oldAlloc)(Class aClass, unsigned int indIvarBytes, NXZone *zone); id SVDAlloc(Class aClass, unsigned int indIvarBytes, NXZone *zone) { if(aClass == [ScrollView class]) { id menuMatrix =[[[[NXApp mainMenu] attachedMenu] attachedMenu] itemList]; id menuCell = [menuMatrix selectedCell]; // If menu cell exists, is enabled & has the correct title, use Deluxe if(([NXApp currentEvent]->flags&NX_COMMANDMASK) && menuCell && [menuCell isEnabled] && ([menuMatrix selectedRow] == 5)) return oldAlloc([ScrollViewDeluxe class], indIvarBytes, zone); } return oldAlloc(aClass, indIvarBytes, zone); } + finishLoading:(struct mach_header *)header { oldAlloc = _zoneAlloc; _zoneAlloc = SVDAlloc; return self; } @end
Newsgroups: comp.sys.next.programmer From: bjanzen@lexmark.com Subject: Re: diff between VAPS & IB? Sender: usenet@lexmark.com Message-ID: <16C60974F.BJANZEN@lexmark.com> Date: Thu, 7 Oct 1993 14:45:28 GMT References: <CEHJ7C.BD0@cc.umontreal.ca> Organization: Lexmark International, Lexington, KY In article <CEHJ7C.BD0@cc.umontreal.ca> lutzray@ERE.UMontreal.CA (Lutz Raymond) writes: >Bonjour, > >I'm going to apply for a programming job and they say >knowledge about CASE tool VAPS, from VPI, would be a >plus (VAPS stands for Virtual Application Prototyping >System and VPI, Virtual Prototypes Inc.) > >How that 'system' does compare to NeXT's IB? > >I don't want to say: > >"Well, I don't have any experience with VAPS but I know IB from NeXT". > >And them to reply: > >"Oh ya, but IB can't do that, neither this, blablabla... By the way, >isn't NeXT out of business?" > >8^) > >Merci pour tout reponse, > >Raymond Lutz, etudiant 2e cycle >matiere condensee, departement de physique >Universite de Montreal >ND cube newbie wannabie >ascii at lutzray@physcn.umontreal.ca See Unix Review, Vol. 10 No. 2 for a review of VAPS, SL-GMS and DataViews. I looked at all 3 (plus some others) and chose NeXT. It should be noted that SL Corp was quite upset with the review, and a very glowing note about SL-GMS was published in Vol. 10, No. 4 (dang, what a good lawyer can't do!). In a nutshell, you can have a trained demo-er do an incredible example on the fly for any system, but a couple of things set NeXT apart: It really is about as easy as it looks; it's a general purpose tool versus a specific tool that will ALWAYS run you into a wall with its' limitations; NeXT is WAY cheaper with more demo code and examples (my notes said that VAPS was $35K!!!! - I wouldn't buy it if it were $3.5K); NeXT just has WAY TOO MUCH cool stuff - distributed objects, dbkit, and all the developer stuff in general. This is the custom app stuff that NeXT is TUNED for. You've gotta be NUTS if.... Pardon me. I'll get down from my soapbox now before the lawyers call. barry bjanzen@lexmark.com
From: fxg@gimli.tolkien.imib.rwth-aachen.de (Felix Gatzemeier #Alwd#) Newsgroups: comp.sys.next.programmer Subject: Re: Easy popup-list question Date: 07 Oct 1993 16:55:28 GMT Organization: Rechnerbetrieb Informatik - RWTH Aachen Distribution: usa Message-ID: <FXG.93Oct7175528@gimli.tolkien.imib.rwth-aachen.de> References: <28aecj$b0a@news.doit.wisc.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-reply-to: koehrsen@offroad.chem.wisc.edu's message of 28 Sep 1993 22:38:11 GMT In article <28aecj$b0a@news.doit.wisc.edu> koehrsen@offroad.chem.wisc.edu (Michael Koehrsen) writes: I just added command-key equivalents to a pop-up list. On running the app, I find that the relevant command keys cause the list's target to be messaged as expected. However, the triggering button for the list is not changing its title to reflect the selection made by the command key. It doesn't make sense to me that the target should have responsibility for updating the popup list's triggering button. Am I missing something here? Many thanks. -- Michael Koehrsen koehrsen@whitewater.chem.wisc.edu UW-Madison I think it makes sense: the target could reject the change in the popup. Suppose the popup controls a choice of inspectors and data entry is validated when another aspect is brought up. The delegate of the popup might do the validation and it fails --- So the aspect is not changed and the button's text shouldn't change either. OK, the popup could use the return value of the delegate (or does it do that already?), but that way it makes sense. -- Felix (fxg@Pool.Informatik.RWTH-Aachen.de fxg@tolkien.ImIB.RWTH-Aachen.de, No NeXT-Mail, please!)
Newsgroups: comp.sys.next.programmer From: thf@zelator.in-berlin.de (Thomas Funke) Subject: Re: Garbage collection on the NeXT? Message-ID: <1993Oct6.103249.1934@gamelan> Sender: thomas@gamelan (thomas) Organization: Disorganization References: <1993Oct4.201822.14648@gleap.sccsi.com> Date: Wed, 6 Oct 1993 10:32:49 GMT In article <1993Oct4.201822.14648@gleap.sccsi.com> clloyd@gleap (Charles C. Lloyd) writes: > > > >It's not too difficult to get the Boehm-collector to work on NeXT > >(Motorola at least). > >But you can only use it for you own code (thus replacing malloc() with > >gc_malloc()), not with appkit code. > > > > Why couldn't you change the global variable "_alloc" to point to > gc_malloc? I know nothing about the Boehm-collector, but it > seems like the problem you're describing can be solved with this > change. This is from the file RunTimeTypes.rtf: This is exactly what I tried. But appkit's memory allocation uses mostly _zoneAlloc and other zone-stuff. Trying to overwrite zoneAlloc etc. leads to crashes. It seems that zoneAlloc'd memory needs to have a special structure, otherwise other zone-Funktions would eventually crash. -- ------------------------------------------------------------------ Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de Brook's Law: Adding manpower to a late software project makes it later ------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: dylan@Angst.COM (Dylan Kohler) Subject: Re: /usr/local/include not being found Message-ID: <1993Oct7.153340.3422@Angst.COM> Sender: dylan@Angst.COM Organization: Angst Animation Post Production References: <1993Oct6.201126.792@afs.com> Date: Thu, 7 Oct 1993 15:33:40 GMT In article <1993Oct6.201126.792@afs.com> Michael_Pizolato@afs.com (Michael Pizolato) writes: > It's not a bug, it's a feature ;-). From the NS3.1 developer release > notes: > > [begin quote] > - The default search path for cpp-precomp has been brought into > line with the default search path for cpp. Most notably, this > removes /usr/local/include/ from the standard search path. > Developers are encouraged to place local, shared headers in > /LocalDeveloper/Headers/ instead. As of release 3.1, the default > search path for cpp-precomp is now: > > /NextDeveloper/Headers > /NextDeveloper/Headers/ansi > /NextDeveloper/Headers/bsd > /LocalDeveloper/Headers > /LocalDeveloper/Headers/ansi > /LocalDeveloper/Headers/bsd > /NextDeveloper/2.0CompatibleHeaders > > By adding -I/usr/local/include to the cc(1) command line, headers > that were previously included from that directory can again be used > in this release. > [end quote] The ironic thing is that, as far as I can tell, it still searches /usr/local/lib when linking, and not some /LocalDeveloper subdirectory equivalent. So one must continue to use symbolic links (my link is from the /LocalDeveloper/Libraries to /usr/local/lib.) Maybe in another release...? -- ___________________________________ Dylan Kohler Angst Animation Post Production dylan@angst.com (NeXTmail welcome)
From: ccwf@ugcs.caltech.edu (Charles C. Fu) Newsgroups: comp.sys.next.programmer Subject: Re: /usr/local/include not being found Date: 7 Oct 1993 19:05:24 GMT Organization: California Institute of Technology, Pasadena Message-ID: <291p9kINN3rr@gap.caltech.edu> References: <VINCE.93Oct5205659@pacific.sisystems.com> vince@sisystems.com (Vince DeMarco) writes: >What you need to do is put your headerfiles into >/LocalDeveloper/Headers instead of /usr/local/include. You might consider linking the two. >As /usr/local/include is not in the pre-processors default search >path. >Why did NeXT do this???? >Couldn't they make the pre-processor search /usr/local/include too??? Of course, it used to. But this got taken out for 3.1. In my opinion, it is now inconsistent that the linker searches /usr/local/lib but the preprocessor doesn't search /usr/local/include. I asked NeXT about this prior to the final 3.1 release--it seems most of the people there used /LocalDevelopers/Headers instead of /usr/local/include and so hadn't noticed the change. Well, we have to live with it now. -ccwf
From: jeffo@uiuc.edu (J.B. Nicholson-Owens) Newsgroups: comp.sys.next.programmer Subject: Re: /usr/local/include not being found Date: 7 Oct 93 21:28:04 GMT Organization: University of Illinois at Urbana Message-ID: <jeffo.750029284@uiuc.edu> References: <VINCE.93Oct5205659@pacific.sisystems.com> <291p9kINN3rr@gap.caltech.edu> Can't there be a configuration file indicating what the search path is so that this can be changed by people that want it differently than what NeXT makes it? Something like a system-level config file and a per-account config file to override compiled-in and/or system-wide config changes in addition to using -I for 'just on this compile' changes. I find constantly using -I an annoyance since I don't use the same Makefile for everything I compile. -- J.B. Nicholson-Owens (ASCII mail only)
From: aking@bbn.com (Allen King) Newsgroups: comp.sys.next.programmer Subject: notification of window closing Date: 7 Oct 1993 23:38:18 GMT Organization: Bolt Beranek and Newman Inc., Cambridge MA Distribution: world Message-ID: <mb9a3aINNn29@news.bbn.com> So my app's got this window, and the app needs to know when the user has closed it using the closer button (upper left-hand X) so it can delete the document corresponding to it. How does it tell? Doc's on window say that windowWillClose: won't be notified. Why did they do that? It's not notified even if I ensure setFreeWhenClosed:YES. (WindowDidMiniaturize messages work okay, as do windowDidDeminiaturize, windowDidBecomeKey, windowDidBecomeMain, and windowDidMove.) On a related note, why is this so obscure? It seems like something that most apps have to do. Is there some reason for this not to be straight- forward? Please email to aking@pebbles.bbn.com, and I'll summarize. Allen King
Newsgroups: comp.sys.next.programmer From: thf@zelator.in-berlin.de (Thomas Funke) Subject: Re: TeamOne configuration management under NS Message-ID: <1993Oct7.103137.566@gamelan> Sender: thomas@gamelan (thomas) Organization: Disorganization References: <28sh9p$7o4@darkstar.UCSC.EDU> Date: Thu, 7 Oct 1993 10:31:37 GMT In article <28sh9p$7o4@darkstar.UCSC.EDU> isbell@cats.ucsc.edu (Art Isbell) writes: > > Using cvs from the command line is pretty daunting unless one > really gets into all its many capabilities. Being basically > lazy, I'd like to have the gory details managed for me and be > presented with a nice UI to show me what's happening and what to > do. There is a simple but effective interface to CVS for emacs. I use it all the time, without knowing much about CVS. A NeXTSTEP Frontend would be nice, and probably not too difficult to hack ... -- ------------------------------------------------------------------ Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de Brook's Law: Adding manpower to a late software project makes it later ------------------------------------------------------------------
From: weymouth@mercury.eecs.umich.edu (Terry E. Weymouth) Newsgroups: comp.sys.next.programmer Subject: messages to distributed objects in reverse order Date: 8 Oct 1993 21:59:24 GMT Organization: University of Michigan EECS Dept. Message-ID: <294nrs$als@zip.eecs.umich.edu> I believe that I have encountered the following behaivor: two objects (distributed) on different machines: A and B object A sends messages (1,2,3,4... ) to object B which is busy... when B comes out of its loop, it gets the message in the 4,3,2,1... anyone else niticed this behaivor
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Latest version of GNU tools on 3.2? Date: 8 Oct 1993 19:28:00 -0700 Message-ID: <2957jg$gpt@ursula.ee.pdx.edu> Summary: GCC, GDB -- what version on 3.2? Does anyone know if we will see upgrades to GCC and GDB in 3.2? By FSF standards, GCC on 3.1 is ancient, 2.2.2. The latest version is 2.4.5. 2.5 is nearing completion I understand. GDB isn't quite as far behind, at 4.7.. The latest version of GDB is 4.10. Other questions: 1. Is the precompiler included on GNUsource? 2. Are there any new NeXT enhancements to GDB? 2.1: Any way to undo an add-file? 2.2: Data breakpoints, fixed, yes? 2.3: I would love `browse' and AppInspector to be updated. Or to build that all in to gdb -- and distribute source. 2.4: A discussion of `view', and the protocols gdb uses to communicate with edit would be wonderful. 3. NeXT's make/BSD make is a toy. Why not rework Project Builder to use GNU make -- it is _so_ much more powerful. 4. RTF source code? Yes?
From: aking@bbn.com (Allen King) Newsgroups: comp.sys.next.programmer Subject: notification of window closing Date: 9 Oct 1993 02:39:52 GMT Organization: Bolt Beranek and Newman Inc., Cambridge MA Distribution: world Message-ID: <mbc93oINNih0@news.bbn.com> In comp.sys.next.programmer article <mb9a3aINNn29@news.bbn.com> I wrote: | So my app's got this window, and the app needs to know when the user has | closed it using the closer button (upper left-hand X) so it can delete the | document corresponding to it. How does it tell? Doc's on window say that | windowWillClose: won't be notified. Why did they do that? It's not notified | even if I ensure setFreeWhenClosed:YES. (WindowDidMiniaturize messages work | okay, as do windowDidDeminiaturize, windowDidBecomeKey, windowDidBecomeMain, | and windowDidMove.) | | On a related note, why is this so obscure? It seems like something that | most apps have to do. Is there some reason for this not to be straight- | forward? Thanks for the numerous responses to my post. Everybody explained it exactly the way I thought it _should_ work. Seems as though I made a few errors: 1) When I made my delegate's "windowWillClose:" routine, I forgot the ":sender". Egg on my face! "windowWillClose" is not "windowWillClose:" . Fixing this makes it work, and I must admit, rather "straight-forewardly". 2) I misread the Window.rtf documentation on -close. I thought it applied to performClose:, and paniced 3) In my post, I described the close button as the left one, but it really is the right one. Thanks Allen p.s: Thanks especially to those who responded: Christopher Lloyd <lloyd@world.std.com> Alvin Jee <alvin@cheddar.cse.ucsc.edu> Steve Hayman <shayman@objectario.com> Alvin <alvin@cse.ucsc.edu> Steve Hayman <shayman@objectario.com> Michael B. Johnson <wave@nordine.media.mit.edu> Robert La Ferla <Robert_La_Ferla@hot.com> Tyler Gingrich <tyler@il.us.swissbank.com> Paul Biron <pbiron@cs.ucla.edu> Art Isbell <isbell@cats.ucsc.edu> Laurent Daudelin <laurent@planon.qc.ca> David Griffiths <dave@prim.demon.co.uk> Takis Mercouris <tm@il.us.swissbank.com> Jon F. Rosen <jfr@pdh.com>
Newsgroups: comp.sys.next.programmer From: jfr@aspen.pdh.com (Jon F. Rosen) Subject: Re: Easy popup-list question Message-ID: <CELoDv.KB6@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. References: <FXG.93Oct7175528@gimli.tolkien.imib.rwth-aachen.de> Distribution: usa Date: Fri, 8 Oct 1993 22:41:54 GMT Michael Koehrsen writes: > > I just added command-key equivalents to a pop-up list. On > running the app, I find that the relevant command keys > cause the list's target to be messaged as expected. > However, the triggering button for the list is not > changing its title to reflect the selection made by the > command key. It doesn't make sense to me that the target > should have responsibility for updating the popup > list's triggering button. Am I missing something here? > Unfortunately, this is the way popup lists work. Read the discussion of popups in the reference manual. Here is an excerpt: > Working with a PopUpList > > ... > > If you want to change the title of a pop-up list's trigger > Button, be aware that this title represents the selected > item to the user, so your code will have to also change the > selected Cell in the PopUpList's Matrix. It can do this > either by scanning for the title, or by changing the > selected Cell by position first, then getting that > Cell's title to use as the title of the trigger Button. The popuplist and the button to which it is attached are not the same object. Using command keys messages the target of the menu item but does NOTHING to the button. The best solution is to connect the button to your controller (target) object as an outlet and in your target action, set the title of the button as well as performing the selection. Jon
From: garnett@cs.caltech.edu (John W. Garnett) Newsgroups: comp.sys.next.programmer Subject: how do i replace the docView in an IB-provided scrollView Date: 9 Oct 1993 07:12:08 GMT Organization: California Institute of Technology, Pasadena Distribution: world Message-ID: <295o88INNj6i@gap.caltech.edu> Hi, Apologies if this is an oft-asked and answered question that I missed. I'm writing an App with a window that contains a scrollView obtained from IB. I want to be able to detect when a word is command-double-clicked in the scrollView. What I attempted to do was subclass View as MyView and override the mouseDown: method. I then tried to use oldView = [theScrollView setDocView:myView] to add the behavior I want. This didn't work. None of the text showed up in the Text object associated with the scrollView and if I sent free to oldView the App would soon crash. Obviously I'm missing something but I'm knew enough to NS programming that I don't know what to change to fix it. thanks for any hints, john garnett p.s. email answers to me and i will post a summary. (garnett@vlsi.cs.caltech.edu)
From: garnett@cs.caltech.edu (John W. Garnett) Newsgroups: comp.sys.next.programmer Subject: how do i replace the docView in an IB-provided scrollView? Date: 9 Oct 1993 07:16:27 GMT Organization: California Institute of Technology, Pasadena Distribution: world Message-ID: <295ogcINNj6t@gap.caltech.edu> Keywords: scrollview docview mousedown command-double-click Hi, Apologies if this is an oft-asked and answered question that I missed. I'm writing an App with a window that contains a scrollView obtained from IB. I want to be able to detect when a word is command-double-clicked in the scrollView. What I attempted to do was subclass View as MyView and override the mouseDown: method. I then tried to use oldView = [theScrollView setDocView:myView] to add the behavior I want. This didn't work. None of the text showed up in the Text object associated with the scrollView and if I sent free to oldView the App would soon crash. Obviously I'm missing something but I'm new enough to NS programming that I don't know what to change to fix it. thanks for any hints, john garnett p.s. email answers to me and i will post a summary. (garnett@vlsi.cs.caltech.edu)
From: ccwf@ugcs.caltech.edu (Charles C. Fu) Newsgroups: comp.sys.next.programmer Subject: Re: Debugging a Macro Date: 9 Oct 1993 08:25:44 GMT Organization: California Institute of Technology, Pasadena Message-ID: <295si8INNjfm@gap.caltech.edu> References: <1993Sep28.120122.14334@gleap.sccsi.com> <FXG.93Oct7163134@gimli.tolkien.imib.rwth-aachen.de> fxg@gimli.tolkien.imib.rwth-aachen.de (Felix Gatzemeier #Alwd#) writes: >I may have mistaken your problem, but if you are talking about C-style >#define - Macros, you won't be able to see them in the compiled code >at all. So, you won't be able to debug them with a debugger, really. If you get the latest gcc, you can pass it a -g3 or -ggdb3 option. "Level 3 includes extra information, such as all the macro definitions present in the program. Some debuggers support macro expansion when you use `-g3'." As far as I can tell, the gdb NeXT ships is not one of these. And, unfortunately, it looks like getting a newer gdb to compile on the NeXT is no easy task. >What you can do is take a look at the proprocessor output / listing >file. The cc should have an option for generating a listing of your >code after the macro expansion. Again, with a newer gcc, the -dD option can be useful. "Tell the preprocessing to pass all macro definitions into the output, in their proper sequence in the rest of the output." Caveat: Because it's new and still somewhat buggy, I'm not sure I would send out production code using the new (v2.4.5) gcc. Nevertheless, it might be very useful during production. On the other hand, there are also known bugs with the code produced by the version shipped with 3.1 (which is 2.2.2). -ccwf I like that too, but what I like _doing_ best is Nothing. -Christopher Robin
From: peter@rhea.teorfys.uu.se (Peter Trygg) Newsgroups: comp.sys.next.programmer Subject: Striping of binaries Date: 9 Oct 1993 10:31:31 GMT Organization: Uppsala University Message-ID: <2963u3$c6u@corax.udac.uu.se> When stripping a binary, either with strip or with ln -s the stripped binary is either 16384 bytes long or longer, and then a multiple of 8192 bytes. I guess that this is caused by Mach. Is it possible to strip binaries fully? I have noticed that several system utilities is just a few kBytes in size. Peter peter@teorfys.uu.se Dept. of Theoretical Physics Uppsala University
Newsgroups: comp.sys.next.programmer From: arrouye@petole.imag.fr (Yves Arrouye) Subject: How to distinguish between Text objects in Text delegate method? Message-ID: <ARROUYE.93Oct9122455@petole.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Sat, 9 Oct 1993 11:24:55 GMT Hi, I have a preference panel with two text fields, and I would like to use the same object as a delegate for both TextFields. The problem is that when I receive a textWillEnd: message, I don't know which field was edited... Is it possible do know who is sending the message? (apart from having an object which know both the textfield and the desired delegate, and forwards delegate methods). Thanks in advance, Yves -- Elle e'tait comme je vous la raconte sans que vous Yves Arrouye puissiez voir son visage ni entendre ses paroles, Yves.Arrouye@imag.fr pas plus que je ne l'ai vu ni ne les ai entendues, (33) 76 57 48 64 moi qui pourtant les ai si bien connus. NeXT Mail
From: nika!ken@uunet.UU.NET (Ken Pelletier) Newsgroups: comp.sys.next.programmer Subject: Problems running app on black but not white Date: 9 Oct 1993 13:02:33 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9310091800.AA02985@nika> I'm using: NeXTstation/NS 3.1, Intel/NS 3.1 I have a fairly straight-forward app that I'm working on that uses the classic scrolling matrix of cells ( a la ScrollDoodScroll ). I'm using RPC's to fill the matrix with data from another UNIX server. While hacking up the prototype, I find that it runs perfectly on Intel, but goes nutz on my NeXTstation. After backing out all but the most trivial code, and gutting the fillMatrix: method to use a simple StringTable, I'm left with a ScrollDoodScroll work-alike, and still have the same problems. Namely, running on Intel works perfectly, but on Motorola the sliders don't work (don't move at all), my pop-ups lose their labels as soon as they're selected, selecting a cell causes the contents to disappear, scrolling with an up/down arrow causes the contents of the matrix to become garbled, etc. General UI wierdness... The problem is the same if I compile FAT or for just Motorola. Any clues as to what might account for the difference b/w black and white? I'll summarize. - Ken ken@nika.com
From: nxtres@news.delphi.com (NXTRES@DELPHI.COM) Newsgroups: comp.sys.next.programmer Subject: Creating Installer Packages Date: 9 Oct 1993 16:29:09 -0400 Organization: General Videotex Corporation Message-ID: <2976ul$9ib@news.delphi.com> Summary: How do you create a package for use with Installer.app? Keywords: Installer, packages, compress I could not find any documentation (online or printed) that deals with creating a package that your customers can use Installer.app to install on their systems. Any clues on how to do this? Thanks for your help.
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Why use CVS over RCS? Date: 9 Oct 1993 16:19:30 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <2976ci$dns@digifix.digifix.com> After having some disappointment with a commercial implementation of revision control software, I've decided that I'm going to have to go back to something that is freely available. Looking over the current version of RCS, there seems little reason or need to go to CVS. I have CVS and RCS installed now, and the only difference seems to be that CVS keeps the source in a central location, making backup extremely easy. The current RCS when used with gnudiff claims to work even with non-text files, which would mean tiff files and such would work fine. The CVS Palette that has been made available to 'protect' the CVS/ directories inside the .nib files could easily be modified to work with RCS directories (at least from the description of what it actually does). I guess my questions are... 1. Are there any obvious reasons to use CVS over RCS other than the central repository issue... 2. Does anyone have any suggestions about where in the NeXT directory structure would be a good place to keep the source repository? 3. Is there anyone interested in developing a front-end for CVS that would allow drag and drop check-in/out/update/commit? 4. Is Edit.app going to be nasty and nuke any CVS directories that are contained withing .rtfd files? Thanks... will summarize, although this seems like something that could be commented on by others so posting might be more appropriate. -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: comp.sys.next.programmer,comp.sys.next.misc,comp.sys.next.software From: kevins@bmd.com Subject: Multi-disk packages Message-ID: <1993Oct9.033614.19401@bMD.com> Sender: kevins@bMD.com (Kevin Solie) Organization: benchMark Developments, Inc. (Lex, KY) Date: Sat, 9 Oct 1993 03:36:14 GMT Anyone know what's up with 3.1 and multi disk packages... I have installed multi disk packages that were made under 3.0 or lower but the ones I create under 3.1 seem to have a problem ejecting the first disk.... Any ideas???? -- I'll cross my heart and hope to die but the needle's already in my eye. Kevin Solie -- I'll cross my heart and hope to die but the needle's already in my eye.
Newsgroups: comp.sys.next.programmer From: cedman@princeton.edu (Carl Edman) Subject: Re: Striping of binaries In-Reply-To: peter@rhea.teorfys.uu.se's message of 9 Oct 1993 10:31:31 GMT To: peter@rhea.teorfys.uu.se (Peter Trygg) Message-ID: <CEDMAN.93Oct9100713@capitalist.princeton.edu> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University References: <2963u3$c6u@corax.udac.uu.se> Date: Sat, 9 Oct 1993 14:07:12 GMT In article <2963u3$c6u@corax.udac.uu.se> peter@rhea.teorfys.uu.se (Peter Trygg) writes: When stripping a binary, either with strip or with ln -s the stripped binary is either 16384 bytes long or longer, and then a multiple of 8192 bytes. I guess that this is caused by Mach. ln -s creates symbolic links. It definitely, positively, absolutely does not strip binaries. Maybe you meant 'ld -s' ? Is it possible to strip binaries fully? I have noticed that several system utilities is just a few kBytes in size. Use the -object switch for the linker. Generally a good idea for very small binaries, but not for larger ones. Also notice that this does not work for binaries with special segments such as e.g. those generated from objective C sources. Carl Edman
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Striping of binaries Message-ID: <1993Oct9.221439.22374@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <2963u3$c6u@corax.udac.uu.se> Date: Sat, 9 Oct 1993 22:14:39 GMT In article <2963u3$c6u@corax.udac.uu.se> peter@rhea.teorfys.uu.se (Peter Trygg) writes: >When stripping a binary, either with strip or with ln -s >the stripped binary is either 16384 bytes long or >longer, and then a multiple of 8192 bytes. I guess that >this is caused by Mach. Yes, because Mach uses an 8KB page size. The 16384 comes from a minimum of one "text" (read-only, shareable) page for code and constants, and one "data" (read/write, private) page for initialized variables. Having executables organized as mappable pages for performance reasons is hardly a new idea, it's just that most other systems that do this use smaller pages. >Is it possible to strip binaries fully? They are stripped fully. Stripping means removing symbols and debugging information. > I have >noticed that several system utilities is just a >few kBytes in size. These aren't executables, but relocatables. Basically object files with no unresolved references. When you exec one, the system has to allocate memory and link edit the relocatable-- a rather inefficient process. It's only worthwhile for very small, infrequently used programs, and there are all sorts of restrictions. Some of them are fairly obvious (e.g. why you can't link an Objective-C program this way) to somewhat obscure (there can be problems when relocatables are started by inetd). -=EPS=-
From: nika!ken@uunet.UU.NET (Ken Pelletier) Newsgroups: comp.sys.next.programmer Subject: RE: Problems running app on black but not white - FIXED Date: 9 Oct 1993 19:47:45 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9310092349.AA03503@nika> My original problem was reported as a variety of UI drawing and behaviour problems with a scrolling matrix of cells on NeXT, but not on Motorola. I'm conditionally drawing a couple of little images in the cells that fill my matrix, and it turns out that one of the .tiff's wasn't being found because I didn't include it in my project. I didn't notice at first since it's data dependent. Once I put the .tiff into the project, everything worked. The strange thing is that there was no noticeable effect on Intel. The data being used are exactly the same so the image should have been displayed in both cases. Hmmmm. Thanks to all who responded. Most responses suggested a possible byte-ordering problem. -Ken
From: "Thomas G. Mon" <tm31+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: NXBrower Question Date: Sat, 9 Oct 1993 22:18:22 -0400 Organization: Senior, Math/Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <4ghr3iO00WB=1Jk555@andrew.cmu.edu> Can someone explain how to do the following with the NXBrowser Class: Given that a leaf is selected in a Browser: if [cell isLeaf] : when I click a button, the cell with changed to a non-leaf and a cell will be added in the next column with a name associated with the button. if ![cell isLeaf] : which I click a button, a cell will be added in the same column with a name associated with the button. So using this button and say a text field, I am build a heirarchy. Right now anything that I add to the browser past column 0, is lost whenever I traverse back through the heiarchy, except the cells in the column 0. Tom. tm31@andrew.cmu.edu Carnegie Mellon University
Newsgroups: comp.sys.next.programmer From: alf@xenon.stgt.sub.org (Ingo Feulner) Subject: libc - thread-safe functions? Content-Transfer-Encoding: quoted-printable Message-ID: <1993Oct9.161052.13283@xenon.stgt.sub.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Organization: Private System - Boeblingen, Germany Date: Sat, 9 Oct 1993 16:10:52 GMT I have to write a multiple-threaded application and therefor I need to know which functions of libc are thread-safe or not. If you have made any experiences, please e-mail me. I will summarize the answers. I think, the stdio functions are not thread-safe. Is the same for NXStreams? Thanks for any help, Ingo. -- Ingo Feulner - Wolfacher Weg 22 - 71034 Boeblingen - alf@xenon.stgt.sub.org --- "Scheisse." - "Was?" - "Ne Streife." - "Nein." - "Doch." - "Scheisse." (Blues Brothers)
Newsgroups: comp.sys.next.programmer From: jq@phcs.com (Jim Quick) Subject: Re: Creating Installer Packages Message-ID: <CEo0nA.4H9@phcs.com> Keywords: Installer, packages, compress Organization: Private Healthcare Systems, Inc References: <2976ul$9ib@news.delphi.com> Date: Sun, 10 Oct 1993 05:01:57 GMT In article <2976ul$9ib@news.delphi.com> nxtres@news.delphi.com (NXTRES@DELPHI.COM) writes: >I could not find any documentation (online or printed) that deals with >creating a package that your customers can use Installer.app to install on >their systems. Any clues on how to do this? > > Thanks for your help. The routines for creating installer packages are tucked away inside of the Installer.app itself. The two front ends you should look at are package, and chunkPackage. These are both csh scripts. package takes the path to the app you wish to make a package for, the name of the directory you would like to make the package in, and the name of a file containing an info-file describing the app. It has other options: just run the command with no args to see a usage message. For information about what an info file should look like, try looking at those in packages already installed on your system in the /NextLibrary/Receipts directory. chunkPackage takes a package and a size (in KB), and splits it up into pieces that can be stored on separate floppies. Again, usage info on the other options can be gotten by running with no args (or reading the script of course). I must admit I have had trouble getting chunkPackage to work correctly under 3.1. 1. I had to dramatically undercut the size argument to get a 5 disk package in small enough pieces so that all would fit on floppies. 2. The floppies would not install correctly via the installer app because a process kept files open on the first disk, and thus would not let me go on to the second one. (p.s. this one had both preinstall and postinstall scripts in the package) Hope this helps. Anyone had any better luck with large floppies? -- ___ ___ mail: uunet!phcs!jq PHCS, Inc. Advanced Technology Group / / / or jq@phcs.com It's spelled "Luxury Yacht", but it's \_/ (_\/ Fax: (617) 863-8575 pronounced "Throat-Warbler Mangrove". ) Voice: (617) 861-5579 NeXTMail O.K.
Newsgroups: comp.sys.next.programmer From: jq@phcs.com (Jim Quick) Subject: Re: Creating Installer Packages Message-ID: <CEo3ID.4MC@phcs.com> Keywords: Installer, packages, compress Organization: Private Healthcare Systems, Inc References: <2976ul$9ib@news.delphi.com> <CEo0nA.4H9@phcs.com> Date: Sun, 10 Oct 1993 06:03:49 GMT In article <CEo0nA.4H9@phcs.com> jq@phcs.com (Jim Quick) writes: >Anyone had any better luck with large floppies? Duhhh. I meant, luck with large packages that require 2 or more floppies. -- ___ ___ mail: uunet!phcs!jq PHCS, Inc. Advanced Technology Group / / / or jq@phcs.com It's spelled "Luxury Yacht", but it's \_/ (_\/ Fax: (617) 863-8575 pronounced "Throat-Warbler Mangrove". ) Voice: (617) 861-5579 NeXTMail O.K.
Newsgroups: comp.sys.next.programmer From: arrouye@petole.imag.fr (Yves Arrouye) Subject: Distinct mouse clicks: a solution Message-ID: <ARROUYE.93Oct10094336@petole.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Sun, 10 Oct 1993 08:43:36 GMT Some time ago, I asked for a method to make clicks distincts, i.e. to be able to handle a doublec-click without having to handle a single-click first. Here is a solution, implemented for my view: - (NXEvent*)getRealEvent:(NXEvent*)event { if (independentClicks) { NXEvent* newEvent; int mask = (event->type == NX_LMOUSEDOWN ? NX_LMOUSEDOWNMASK : NX_RMOUSEDOWNMASK); double waitf = eventHandle ? NXClickTime(eventHandle) : CLICKTIME_THRESHOLD; while (newEvent = [NXApp getNextEvent:mask waitFor:waitf threshold:NX_MODALRESPTHRESHOLD]) { event = newEvent; } } return event; } - rightMouseDown:(NXEvent*)event { event = [self getRealEvent:event]; if (![self handleMouse:event]) { [nextResponder rightMouseDown:event]; } return self; } - mouseDown:(NXEvent*)event { event = [self getRealEvent:event]; [self handleMouse:event]; return self; } where - handleMouse:(NXEvent* event) is the method doing the real job with the event (in my case, dragging). independentClicks says if the user wants to distinguish between clicks or no, and CLICKTIME_THRESHOLD is a default value for the mouse click time (in case the event status driver would not open). eventHandle is a NXEventHandle instance variable, and I have this initialization and freeing code: #import <drivers/event_status_driver.h> - init { ... eventHandle = NXOpenEventStatus(); ... } - free { ... if (eventHandle) NXCloseEventStatus(eventHandle); ... } Hope this helps, Yves. P.S.: documentation about the event status driver is in the developer release notes. -- Elle e'tait comme je vous la raconte sans que vous Yves Arrouye puissiez voir son visage ni entendre ses paroles, Yves.Arrouye@imag.fr pas plus que je ne l'ai vu ni ne les ai entendues, (33) 76 57 48 64 moi qui pourtant les ai si bien connus. NeXT Mail
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: Re: Distinct mouse clicks: a solution Message-ID: <CEopG6.60u@news.cis.umn.edu> Sender: news@news.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Hospital and Clinic, Labratory Information Services References: <ARROUYE.93Oct10094336@petole.imag.fr> Date: Sun, 10 Oct 1993 13:55:18 GMT Yves Arrouye (arrouye@petole.imag.fr) wrote: : Some time ago, I asked for a method to make clicks distincts, i.e. to be able : to handle a doublec-click without having to handle a single-click first. : Here is a solution, implemented for my view: Why didn't you simply evaluate event->data.mouse.click? Something like: - mouseDown:(NXEvent *)event { switch (event->data.mouse.click) { case 1: [self doSingleClick:event]; break; case 2: [self doDoubleClick:event]; break; case 3: ... - mouseUp:(NXEvent *)event { switch (event->data.mouse.click) { case 1: [self doSingleUnClick:event]; break; case 2: ... Just curious. -- Always looking for a handy place to nap... peter@tahiti.umhc.umn.edu (Peter Eisch) peter.a.eisch@uwrf.edu
Newsgroups: comp.sys.next.programmer,comp.os.os2.programmer,comp.sys.amiga.programmer,comp.sys.mac.programmer,comp.sys.apple2.programmer,comp.os.vms,comp.os.cpm,comp.sys.mac.programmer From: jameson@cal.isac.ca (Kevin Jameson) Subject: Code Management Tools Message-ID: <1993Oct9.014359.24119@cal.isac.ca> Organization: ISA Corp. (Calgary) Date: Sat, 9 Oct 93 01:43:59 GMT Code Management Tools For Multi-Platform Development Environments Book Reviewers and Code Porting Volunteers Wanted This is a request for people who - will review my book on Code Management Tools - will help port the included source code to Macs,Ataris,Amigas,etc. I've ported the code for MSDOS and Unix already, and we have enough MSDOS and Unix types for reviewers. So this request is for people with non-Unix, non-MSDOS systems. If you help out, you get - some decent code management tools on your computing platform - a free copy of the final book (and code) from OReilly and Associates - and your name in the preface of the book. If you're still interested, please read on. ------------------------------------------------ I've just written a book called "Code Management Tools" for multi-platform development environments. It covers source code control, directory structures, automatic generation of complete makefiles, and practical file sharing (code reuse) techniques. It also discusses design issues for code management systems. The book is intended to be a practical, one-stop-shopping product for multi-platform code management tools. It's about 400 pages long, and includes source code for about 30 software tools (including a multi-platform version of RCS), so that pople can port the code to machines that I haven't got access to. I've already ported the tools to MSDOS (for Borland C 2.0, Microsoft C 6.0) and to Unix (Sun4 under GCC). The problem is that I don't have access to Macintoshes, Amigas, Ataris, Next machines, VMS machines, or any other such machines. So I'll never be able to port the tools to those platforms. (I don't have the necessary knowledge to port the code to these machines, either.) So I'm asking for knowledgeable, serious volunteers to review the book and port my ANSI C code and batch files to their machines, so that I can include the ported code with the book. (Many of the tools are batch files and shell scripts that call freeware tools such as sed, gawk, find, and fgrep, so porting the tools shouldn't be that hard.) My hope is that individuals, or small groups of people from various user groups for these various computers, will undertake the job of porting the scripts to their computers. That way, people who own those computers will have access to more software engineering tools on their particular computers. As you probably know, there are very few---if any---good, low-cost software engineering tools for many of these computing platforms. That's why I wrote this book, and included the source code--to address this need. I hope you'll help if you can, even if you can only port a few of the tools and scripts. (Porting RCS---which I didn't write---will be the toughest part. Let's say that it's "challenging.") OReilly and Associates will give you recognition in the preface, and a free copy of the book if you send them your comments in written form. Nothing too fancy is required---but it's got to be a serious report. What we do want are people who'll help us produce a better book and software product. What we don't want are people who just want a free copy of the draft book. Please respond to jameson@cal.isac.ca if you are interested. Thanks kj
Newsgroups: comp.sys.next.programmer From: jjfeiler@relief.com (John Jay Feiler) Subject: Re: Why use CVS over RCS? Message-ID: <1993Oct10.174724.1339@relief.com> Sender: jjfeiler@relief.com Organization: relief consulting References: <2976ci$dns@digifix.digifix.com> Date: Sun, 10 Oct 1993 17:47:24 GMT In article <2976ci$dns@digifix.digifix.com> sanguish@digifix.com (Scott Anguish) writes: > [munch] > > I guess my questions are... > > > 1. Are there any obvious reasons to use CVS over RCS other than > the central repository issue... I'm not sure how transparently RCS deals with projects that are in multiple subdirectories. I've always been under the impression that rcs worked on a single source directory. I may be wrong.... > 2. Does anyone have any suggestions about where in the NeXT directory > structure would be a good place to keep the source repository? /LocalDeveloper/Sources or /LocalDeveloper/CVS or /LocalSources > 3. Is there anyone interested in developing a front-end for CVS that > would allow drag and drop check-in/out/update/commit? If you have TickleServices, Ernie Prabhakar has written a TS menu that does most things that I want. I haven't used cvs from the terminal window for weeks. > 4. Is Edit.app going to be nasty and nuke any CVS directories that are > contained withing .rtfd files? I don't think so, but I haven't verified this. Edit.app seems to leave around pasted in eps and tiff images that have been deleted on occasion, so it probably doesn't delete CVS dirs either. > -- > - Scott Anguish - > sanguish@digifix.com (NextMail) > next-announce@digifix.com (comp.sys.next.announce submissions) -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!! Edmonds, WA 98026-4433 Independent NeXTSTEP Developer
Newsgroups: comp.sys.next.programmer From: alastair@farli.otago.ac.nz (Alastair Thomson) Subject: Re: Why use CVS over RCS? Message-ID: <CEp6t5.L9w@news.otago.ac.nz> Sender: usenet@news.otago.ac.nz (News stuff) Organization: University of Otago References: <2976ci$dns@digifix.digifix.com> Date: Sun, 10 Oct 1993 20:12:41 GMT In article <2976ci$dns@digifix.digifix.com> sanguish@digifix.com (Scott Anguish) writes: [Snip Snip] ... Stuff about RCS vs CVS > 1. Are there any obvious reasons to use CVS over RCS other than > the central repository issue... Here are my 2 cents worth. Firstly, our project uses three programmers working concurrently. That means that the simple locking paradigm used by RCS means that two people can't be working on the same code at the same time. CVS allows this because it makes a local copy of the source. CVS also handles multidirectory projects like NeXT apps much more simply than RCS does. The problem with CVS is that it is very complex. To use it simply from ProjectBuilder required a lot of Makefile hacking to make new targets for CVS to work with. Art Isbell's cvs.postamble was a start, but still leaves several problems. Generally I would say that RCS is fine for single programmer projects, but you need more for multi-developer work. > 2. Does anyone have any suggestions about where in the NeXT directory > structure would be a good place to keep the source repository? Probably /LocalDeveloper would be good, although we don't put it there cos we use a shared disk and we put it there. > 3. Is there anyone interested in developing a front-end for CVS that > would allow drag and drop check-in/out/update/commit? I'm currently working on one. > 4. Is Edit.app going to be nasty and nuke any CVS directories that are > contained withing .rtfd files? The simple answer is yes, the same problem as exists for InterfaceBuilder. Our makefile sorts that out. The only other comment I have is that we are looking at moving to another system called Shape - It's free, does all that CVS does and much more. It controls object and executable files as well so if someone else has just built, you don't have to. For you it is probably hitting a tack with a steam hammer, but we will probably start using it soon. It also has a proper API, so developing fron ends is much easier than for CVS. Hope that helps. Alastair -- Alastair Thomson, | Phone +64-3-479-8347 Black Albatross Chief Programmer, | Fax +64-3-479-8529 Department of Computer Science, | University of Otago, | alastair@farli.otago.ac.nz Dunedin, New Zealand | NeXTmail Welcome
Newsgroups: comp.sys.next.programmer From: alastair@farli.otago.ac.nz (Alastair Thomson) Subject: Re: how do i replace the docView in an IB-provided scrollView Message-ID: <CEp731.LEr@news.otago.ac.nz> Sender: usenet@news.otago.ac.nz (News stuff) Organization: University of Otago References: <295o88INNj6i@gap.caltech.edu> Date: Sun, 10 Oct 1993 20:18:36 GMT In article <295o88INNj6i@gap.caltech.edu> garnett@cs.caltech.edu (John W. Garnett) writes: > Hi, > > Apologies if this is an oft-asked and answered question that I missed. > > I'm writing an App with a window that contains a scrollView obtained from IB. > I want to be able to detect when a word is command-double-clicked in the > scrollView. What I attempted to do was subclass View as MyView and > override the mouseDown: method. I then tried to use > oldView = [theScrollView setDocView:myView] to add the behavior I want. This > didn't work. None of the text showed up in the Text object associated > with the scrollView and if I sent free to oldView the App would soon crash. > Obviously I'm missing something but I'm knew enough to NS programming > that I don't know what to change to fix it. The docView of a ScrollView is actually a ClipView, and must remain so for the ScrollView to work. What you want to replace is the docView of the ClipView, so the code should be oldView = [[theScrollView docView] setDocView:myView]; (whew!) If you don't ever need to change the ScrollView's contents, just put the custom view onto the window in IB, and use "Group In ScrollView" from the Format menu. Alastair -- Alastair Thomson, | Phone +64-3-479-8347 Black Albatross Chief Programmer, | Fax +64-3-479-8529 Department of Computer Science, | University of Otago, | alastair@farli.otago.ac.nz Dunedin, New Zealand | NeXTmail Welcome
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: Why use CVS over RCS? Date: 10 Oct 1993 16:45:33 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <299s9d$jgp@digifix.digifix.com> References: <1993Oct10.174724.1339@relief.com> John Jay Feiler writes > In article <2976ci$dns@digifix.digifix.com> sanguish@digifix.com (Scott > Anguish) writes: > > 3. Is there anyone interested in developing a front-end for CVS that > > would allow drag and drop check-in/out/update/commit? > > If you have TickleServices, Ernie Prabhakar has written a TS menu that does > most things that I want. I haven't used cvs from the terminal window for > weeks. Ah that brings up an excellent point. I have those TickleServices, but I've not been able to get them to work. I'm really looking for something that is more graphically oriented, and I'm probably going to end up contracting someone to do a front end. On the CVS/RCS topic, does anyone have a good methodology as far as using them? Appropriate steps to add all the new files in a directory automagically and such? Or a good book on revision control? -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: comp.sys.next.programmer From: kloubek@selkirk.sfu.ca (Bill Kloubek) Subject: LISP on NeXT? Message-ID: <kloubek.750300270@sfu.ca> Summary: Need LISP for the NeXT Keywords: LISP Sender: news@sfu.ca Organization: Simon Fraser University, Burnaby, B.C., Canada Date: Mon, 11 Oct 1993 00:44:30 GMT Does anybody have any recommendations for a good LISP interpreter for the NeXT? I'm running NS3.0 on a 68040 cube. I've compiled XLISP v2.1D with some good success; but was wondering if there are any favorites... (PS: The XLISP was the only one listed on the FAQ which seemed reasonable to try and download/install...)
From: kerry@totara.cs.waikato.ac.nz (Kerry Guise) Newsgroups: comp.sys.next.programmer Subject: Re: LISP on NeXT? Date: 11 Oct 1993 01:46:39 GMT Organization: The University of Waikato Message-ID: <29adtv$spk@thebes.cc.waikato.ac.nz> References: <kloubek.750300270@sfu.ca> In article <kloubek.750300270@sfu.ca> kloubek@selkirk.sfu.ca (Bill Kloubek) writes: > Does anybody have any recommendations for a good LISP interpreter for the > NeXT? > > I'm running NS3.0 on a 68040 cube. > > I've compiled XLISP v2.1D with some good success; but was wondering if there > are any favorites... We use akcl here. Seems popular with the students. Kerry Guise
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Distinct mouse clicks: a solution Message-ID: <1993Oct11.024751.22335@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <ARROUYE.93Oct10094336@petole.imag.fr> Date: Mon, 11 Oct 1993 02:47:51 GMT In article <ARROUYE.93Oct10094336@petole.imag.fr> arrouye@petole.imag.fr (Yves Arrouye) writes: >Some time ago, I asked for a method to make clicks distincts, i.e. to be able >to handle a doublec-click without having to handle a single-click first. This violates NeXT's User Interface Guidelines. [/NextLibrary/Documentation/NextDev/UserInterface/03_Mouse/Mouse.rtfd] |When to Use Multiple-Clicking | |You should use double-clicking only for actions that logically |extend the action of a single click, and triple-clicking only |for actions that extend a double-click. There are two reasons |for this rule, one philosophical, the other programmatic: | |+ Complex mouse actions are best remembered and understood when | they appear to grow naturally out of simpler actions. | |+ Every double-click includes a single click (the first click | in the sequence), and every triple-click includes a double- | click. At the time an application receives one click, it | can't know that any others are on their way. So it must | first act on the single click, then the double-click, then | the triple-click. | |For example, double-clicking an icon in a Workspace Manager |window picks out that icon just as a single click would. It |then goes on to open the application associated with the icon. |A single click in text selects an insertion point, a double- |click extends the selection to a word, and a triple-click |extends it further to a full line, sentence, or paragraph. >Hope this helps, >Yves. I'm not so sure... (unless you're trying to duplicate some other window system's conventions, so NeXT UI Guidelines wouldn't apply) -=EPS=- -- professional driver/closed course/do not attempt these manuevers
Newsgroups: comp.sys.next.programmer From: yanik@planon.qc.ca (Yanik Crepeau) Subject: Simson L. Garafinkel's Developer Wish List Message-ID: <1993Oct11.012126.4261@CAM.ORG!planon> Sender: yanik@CAM.ORG!planon Date: Mon, 11 Oct 1993 01:21:26 GMT On the October issue of NeXTWORLD Magazine, p. 34, Simsom L. Garafinkel publishes a paper about the Developper Wish List. The list is as follow: 1- Revision Control: Better integration between Project Manager and RCS. 2- Objective-C class Browser: such tool has been available for years in C++ 3- Faster Linking: incremental linking would be welcomed 4- Objective-C interpreter 5- Fixing the infamous Text Object 6- Better security in distributed ojbects 7- More objects in the libraries: General purpose String object would be a good start I have appreciated the conclusion very much: "Rumor has it that NeXT has finally gotten the hint and will port the NEXTSTEP environment to other operting systems. That's great, but ports are not enough. NeXT has got to extend this award-winning development environment, or else it will soon find itself marketing last years's best of breed to a new generation of programmers who use C++ and Motif tools that fulfill their wish list". I think that the Garifinkel's paper opens new perspectives for NeXT and its fellow developers. I felt his comments very positive and constructive. I think that paper should be the occasion to open a discussion on the future of development tools available on NeXTSTEP. That discussion would help everyone, the developpers, Garafinkel and NeXT to wide the new horizons. -- Yanik Crepeau Programmer Planon Telexpertise E-Mail: yanik@planon.qc.ca (NeXT)
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Re: Simson L. Garafinkel's Developer Wish List Date: 10 Oct 1993 22:45:39 -0700 Message-ID: <29aru3$gem@ursula.ee.pdx.edu> References: <1993Oct11.012126.4261@CAM.ORG!planon> yanik@planon.qc.ca (Yanik Crepeau) writes: >On the October issue of NeXTWORLD Magazine, p. 34, Simsom L. Garafinkel >publishes a paper about the Developper Wish List. The list is as follow: >1- Revision Control: Better integration between Project Manager and RCS. This will turn Project Builder inside out. Major bitch. But it has got to be done. >2- Objective-C class Browser: such tool has been available for years in C++ Yeah, it is called the Workspace. Just add OO filesystem. >3- Faster Linking: incremental linking would be welcomed We incremental linking today, their called Bundles. What we lack is a linker that can smartly locate where classes are located. It seems to me Bundles + some conventions suffice for now. The 4.0 OOFS is the proper solution. >4- Objective-C interpreter Would be easy, well, easier, provided they started with the forthcoming FSF code. What would be MUCH more useful would be to remove the notion of header files from InterfaceBuilder. Provide an archived form for that data and protocols to access it. All Project Builder would need would be a CLI program to extract the information into .h's. Better yet, let GCC read the information directly, during precompilation. Instead of complaining about how NeXT isn't provided major new sets of features, just do `simple' things, like making it possible to use the runtime and InterfaceBuilder in a language independent way. >5- Fixing the infamous Text Object Damnit. >6- Better security in distributed ojbects Ho hum. Checklist item, no practical significance. >7- More objects in the libraries: General purpose String object would be a > good start A little late for that, eh? Even less important than the `distributed object security' nonissue. For the near term, I'll take (5), (1), and language independence (in that order) (6), (7) are total nonissues. They can be taken care of perfectly well by developers. For peace of mind, I suppose NeXT could provide an abstract class for authetication, or something. Regarding linking speed, Project Builder and GDB should polished to support bundle oriented development more easily. Dynamic linking should be tuned, over ordinary linking. IMHO: - The extensions supposedly added to PB for PDO should include an `install' that can optionally launch object servers. IB palettes should also have a launch target. The RC scripts should have simple additions to launch programs stored in certain directories (or something more general). Note this is not the same as automatic Workspace app launching. Some clean way to ensure that `object servers' are launched on bootup. Perhaps an inetd type superserver could be used. - It wouldn't be too hard to add information to the Mach-O OBJC segment so that dynamically loaded code could include all the directory references and other info so that gdb wouldn't have to hook rld's in order to load symbols. It would be better if you could attach to a process and have gdb able to access all the relevant executables and shared libraries (for symbols). Then, it would be good to have symbol loading go much faster. Some other platforms have gdb options for memory mapped symbol files, and various optimizations to enhance symbol loading. NeXT could no doubt come up with something even better. - Related to the previous item, it would be good if there was a documented protocol for communication between the editor and debugger. Once there was some sort of established protocols, then integrate MallocDebug, AppInspector, and possibly profiling app into this scheme. I'm sure there are plenty of folks who would like to have Emacs work cleanly with Project Builder. If not Emacs, it would at least open the possibility of a debugger app and/or Edit bundle extensions. My thinking with this isn't so much NeXT should provide all new apps, but enable developers to come up with their own solutions. I want NeXT devoting all its energies to 4.0 (especially the OOFS), improved APIs for existing apps, and enhancements that other developers can't (e.g. an RCS would be hard for anyone but NeXT to do without writing a new PB). marcus
Newsgroups: comp.sys.next.programmer From: mike@lorax.com (Mike Ferris) Subject: Re: how do i replace the docView in an IB-provided scrollView Message-ID: <CEpH4p.E9@lorax.com> Sender: mike@lorax.com (Mike Ferris) Organization: Stultus Enterprises References: <CEp731.LEr@news.otago.ac.nz> Date: Sun, 10 Oct 1993 23:55:36 GMT In article <CEp731.LEr@news.otago.ac.nz> alastair@farli.otago.ac.nz (Alastair Thomson) writes: >The docView of a ScrollView is actually a ClipView, and must remain >so for the ScrollView to work. What you want to replace is the >docView of the ClipView, so the code should be >oldView = [[theScrollView docView] setDocView:myView]; >(whew!) > No. The docView of the ScrollView on the palette in IB is a Text object. The clipView of the ScrollView is a ClipView. A ScrollView is set up with two Scrollers and a ClipView as its subviews. The ClipView has another view (the one you want to scroll) as its subview. However, if you ask a ScrollView for its docView, you will get the ClipView's subview, not the ClipView itself. Now the original question seemed to me to say that John was trying to have a regular scrolling text area, but he wanted to handle double-clicks differently from the regular Text object. He then goes on to explain his first attempt at this. What John was trying will not work. He wants the Text object, but he has tried to replace it with some subclass of View. He didn't realize that he was replacing the text object. When you drag a ScrollView off the IB palette, its docView is a Text object. What John wants to do (and it isn't for the faint of heart) is try to subclass Text, override -mouseDown:, and do his stuff there. Then he needs to set up a ScrollView that contains one of his custom Text objects as the docView. While subclassing Text is not something I would recommend for everyone since the Text object is kind of nasty, getting the behavior John wants shouldn't be too hard (maybe). ____________________________________________________________ Mike Ferris When you're up to your ass in mike@lorax.com alligators, it's hard to remember Rubicon Software your initial objective was to (510) 652-2039 drain the swamp.
From: william@pinoko.berkeley.edu (William E. Grosso) Newsgroups: comp.sys.next.programmer Subject: Re: Simson L. Garafinkel's Developer Wish List Date: 11 Oct 1993 06:06:02 GMT Organization: University of California, Berkeley Message-ID: <29at4a$1e3@agate.berkeley.edu> References: <29aru3$gem@ursula.ee.pdx.edu> Marcus Daniels writes > >4- Objective-C interpreter > > Would be easy, well, easier, provided they started with the forthcoming FSF > code. > > What would be MUCH more useful would be to remove the notion > of header files from InterfaceBuilder. Provide an archived form > for that data and protocols to access it. All Project Builder would > need would be a CLI program to extract the information into .h's. > Better yet, let GCC read the information directly, during > precompilation. Instead of complaining about how NeXT isn't > provided major new sets of features, just do `simple' things, like > making it possible to use the runtime and InterfaceBuilder in a > language independent way. > Making IB language independent would be nice. But, I don't quite follow the "remove the notion of header files" from IB part of it. I, at least, like using .h files. My current MO is something like: 1) Use IB to "design the interface" (this is something like doodling on scratch paper until I get a look that I like) 2) Write the classes I will need (both .m and .h) files 3) Parse the .h files and do the "wiring" I really don't understand how > ... remove the notion > of header files from InterfaceBuilder. Provide an archived form > for that data and protocols to access it... makes my life any easier (it seems to make it worse). Is this another thing that only people with a Smalltalk background understand ? Bill Grosso
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: Simson L. Garafinkel's Developer Wish List Date: 11 Oct 1993 02:11:36 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <29ateo$nkn@digifix.digifix.com> References: <1993Oct11.012126.4261@CAM.ORG!planon> Yanik Crepeau writes > On the October issue of NeXTWORLD Magazine, p. 34, Simsom L. Garfinkel publishes a paper > about the Developper Wish List. The list is as follow: > > 1- Revision Control: Better integration between Project Manager and RCS. Having just had a very bad experience with a RCS front end on NEXTSTEP, I agree there needs to be better integration between Project Manager and RCS... but I think that this needs to go one step further, and be Project Manager and whatever. Its been argued that Project Manager should have an API. Since the Project Manager application is something that it would be next to impossible for a third party to come out with, there is definately a need for this added functionality, and it would not step on any toes. Heres a good question, what sort of API is needed? The things I can see being important would be knowing when a file has been added to a project by PB knowing when a file has been removed by PB knowing when a file has been added by IB as well as some situation of being able to call up a checkin/checkout facility... > 2- Objective-C class Browser: such tool has been available for years in C++ Having never really seen one of these C++ monsters, what difference is there between that Browser and HeaderViewer? HeaderViewer can read in other files.... I agree there needs to be more integration there, but its a good start. > 3- Faster Linking: incremental linking would be welcomed > 4- Objective-C interpreter > 5- Fixing the infamous Text Object We've been told that this is coming. However this is again an excellent opportunity for a third party. Like maybe the TextObject that is in PasteUp? > 6- Better security in distributed ojbects > 7- More objects in the libraries: General purpose String object would be a good start There is currently a String Object in there actually. Its undocumented, and unsupported, but from a posting in next-prog mailing list there is a potential for it to be there in the future. In the meantime, you have a few third party solutions for Strings OTStrings DolphinKit MiscKit (yeah, got to plug that one!) and many of these kits offer additional objects as well. As a matter of fact, I think (OK, it was suggested to me) that the problem with the whole ObjectWare market is that there are few standards and its difficult to get the information out there that they are available. A central software house that sells such objects would be very useful. It could ensure inter-operability, suggest standards for interfaces and stand behind the objects. Almost like APDA in the Apple world. It would be nice if the AppKit grew, but I'm not sure what needs to be added. Many of the obvious things.. serial port connectivity, TCP/IP communication, strings, unix processes, streams are available from third parties. Perhaps NeXT should concentrate its extensions on areas of UserInterface? That would ensure a consistant feeling between all apps that use the same features.. Things like Inspector/Switch view Tri state buttons enhanced Scrolling List file/images/sounds wells Workspace shelf many of which are available now either free or as MiniExamples, but have not been 'wrapped' into the Appkit. The real question is what happens to those third party developers who have Strings solutions now, when NeXT comes out with theirs? My suggestion there is to get the commercial implementors together, with NeXT, and hash out a string object that is designed by all, but actually written by those commercial developers. NeXT licenses it, includes it in the AppKit. Developers don't get hurt, NeXT doesn't get hurt, and we get a funky new object. Then those same developers can sell their additional string functionality to the programming market as required. Does that sound reasonable? -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Re: Distinct mouse clicks: a solution Message-ID: <1993Oct11.041841.19175@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software References: <1993Oct11.024751.22335@csus.edu> Date: Mon, 11 Oct 1993 04:18:41 GMT Eric P. Scott writes >In article <ARROUYE.93Oct10094336@petole.imag.fr> > arrouye@petole.imag.fr (Yves Arrouye) writes: >>Some time ago, I asked for a method to make clicks distincts, i.e. to be able >>to handle a doublec-click without having to handle a single-click first. > >This violates NeXT's User Interface Guidelines. > [clip] > >I'm not so sure... >(unless you're trying to duplicate some other window system's >conventions, so NeXT UI Guidelines wouldn't apply) > > -=EPS=- >-- Well, its sort of like keeping up with a cop who's exceeding the speed limit, then, because NeXT violates their own guidelines in their most prominent app -- WSM. The following is a patent lie: |For example, double-clicking an icon in a Workspace Manager |window picks out that icon just as a single click would. It |then goes on to open the application associated with the icon. Double clicking an icon in WSM does *not* select the icon as does single clicking. Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax) ---
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Re: Simson L. Garafinkel's Developer Wish List Date: 11 Oct 1993 00:20:59 -0700 Message-ID: <29b1gr$hi7@ursula.ee.pdx.edu> References: <29aru3$gem@ursula.ee.pdx.edu> <29at4a$1e3@agate.berkeley.edu> william@pinoko.berkeley.edu (William E. Grosso) writes: >> What would be MUCH more useful would be to remove the notion >> of header files from InterfaceBuilder. Provide an archived form >> for that data and protocols to access it. All Project Builder would >> need would be a CLI program to extract the information into .h's. >> Better yet, let GCC read the information directly, during >> precompilation. Instead of complaining about how NeXT isn't >> provided major new sets of features, just do `simple' things, like >> making it possible to use the runtime and InterfaceBuilder in a >> language independent way. >> >Making IB language independent would be nice. But, I don't >quite follow the "remove the notion of header files" from IB part >of it. I, at least, like using .h files. I usually use header files to load class info into IB as well. That feature wouldn't have to disappear, although honestly, I think there would be a number of nicer ways to manage class structures. Nothing jumps out at me as causing fatal backward compatibility problems. You'd just want to make sure that in cases of duplicate information, there was (artficially enforced) consistency. In any case, I'm not necessarily suggesting a .nib style of storage for class information, something textual very much like existing .h's would be one alternative. The goal would be just to store class info in an external lanaguage-independent form. It would be possible, obviously, to have makefile dependencies that updated ObjC header files as we use today, but that would be for superficial reasons. I'm sure I'm overlooking some tougher issues, but in the big scheme of things I bet this would be an easy one. Making a portable runtime would surely take some work, though. NeXT wouldn't have to do that. [munch] >makes my life any easier (it seems to make it worse). Is this >another thing that only people with a Smalltalk background understand ? Perhaps a slight disruption, but it _could_ be made to work almost identically. The wins as I see it are: 1. There is a simple, fixed format that _only_ contains class info and/or method info. I've always found the mushed together macros+static variables+class info kinda unsatisfactory. These could be conceivably used directly by as (archived) class-objects by an OOFS. Less ambitiously, they would be class-browser-manager `documents'. Having these abstractions might make it easier to keep NIB data up to date. 2. Language independence. The read/write/finishloading/awake system would seem to work equally well for most any language. Some glue might need to be built into NXBundle. Performance zaps could happen (compare to the first expression in Mathematica), but theoretically it would work, no? Imagine being able to make connections (using enhanced connection inspectors) to objects running in a CLOS/Dylan (DO based server?), tcl, SmallTalk, etc.. Obviously OO languages would lend themselves best to this. Provided each add-on language still communicated using the runtime, what about IB isn't clean enough to support this? Developers would still have the performance/proprietary advantages of Objective C while having the option of, for instance, of communicating `actively' with an interface to a LISP expert system. Well, there isn't any use in trying to anticipate the best uses for language independence, my point is just that it (at least initially) seems to be a pretty easy thing to do. And it opens up lots of possibilities, all without introducing many (any?) questionable constructs. O.k., o.k. burst my bubble. I'll shut up. I've been partying too much and I'm troubling you folks with my delusions.
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Re: Simson L. Garafinkel's Developer Wish List Date: 11 Oct 1993 00:46:09 -0700 Message-ID: <29b301$hqv@ursula.ee.pdx.edu> References: <1993Oct11.012126.4261@CAM.ORG!planon> <29ateo$nkn@digifix.digifix.com> sanguish@digifix.com (Scott Anguish) writes: >Its been argued that Project Manager should have an API. Since the >Project Manager application is something that it would be next to impossible >for a third party to come out with, there is definately a need for this added >functionality, and it would not step on any toes. > Heres a good question, what sort of API is needed? The things I can >see being important would be > knowing when a file has been added to a project by PB > knowing when a file has been removed by PB > knowing when a file has been added by IB > > as well as some situation of being able to call up a checkin/checkout >facility... Not to mention compiler state, error info, etc.. There are various levels of granularity for that, but at least `active', `inactive'. The linkage between IB and PB is pretty loose, PB might think in terms of classes as well as files. Crafting an API including that sort of info could be useful (& tricky). And is it a good thing that a Unix `make' is spawned by ProjectBuilder? What if PB took over make's functions? [One thing that bugs me is that PB can get confused if you start/stop builds, sometimes it just hangs -- certainly just a bug, but one that wouldn't exist if it was all one program]. Also, The makefile system is rather stretched, if make is so important, why not use a powerful one like GNU make? Big job, a good time to address these issues would be when NeXT works on RCS. Does anyone have experience with the revision control system that NeXT was considering having ported to NEXTSTEP? Is it based on RCS/CVS? >> 2- Objective-C class Browser: such tool has been available for years in C++ > Having never really seen one of these C++ monsters, what difference is >there between that Browser and HeaderViewer? HeaderViewer can read in other >files.... I agree there needs to be more integration there, but its a good >start. Yeah, I really like HeaderViewer, but again, the information you are _really_ interested is class information, the whole idea of `files' is auxilary and unnecessarily language dependent. >> 5- Fixing the infamous Text Object > We've been told that this is coming. However this is again an >excellent opportunity for a third party. Like maybe the TextObject that is in >PasteUp? As a mostly happy owner of PasteUp, I have to say I get a real wooozy feeling about that Text object. It is incredibly slow, and idiosyncratic. Maybe it is a good design, but you don't get a feeling of confidence when using PasteUp. > The real question is what happens to those third party developers who >have Strings solutions now, when NeXT comes out with theirs? > My suggestion there is to get the commercial implementors together, >with NeXT, and hash out a string object that is designed by all, but actually >written by those commercial developers. NeXT licenses it, includes it in the >AppKit. Developers don't get hurt, NeXT doesn't get hurt, and we get a funky >new object. > Then those same developers can sell their additional string >functionality to the programming market as required. Is a String object really such a big deal? The ones I've seen aren't necessarily duplicates, they each have different emphasis (i.e. garbage collection, safety, etc). Since there are public domain and commericial versions, why not just forget it? It could almost cause more harm that good.. marcus
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: qpaste: a little command-line hack for reading from a Pasteboard Message-ID: <1993Oct11.083357.1705@csus.edu> Sender: news@csus.edu Organization: San Francisco State University Date: Mon, 11 Oct 1993 08:33:57 GMT This is a little something I threw together to see what's current on the various Pasteboards. It knows about all the standard ones, and can read a specific type--unlike paste(1), for which -Prefer is only advisory. The attached source is supposed to work on both 2.x and 3.1, but I haven't had any luck getting readFileContentsType:toFile: (Pasteboard) to work. If I'm not doing something obviously stupid, there's yet another AppKit bug lurking nearby. Examples: qpaste shows the changeCount and declared types on the default Pasteboard (writes to stderr) qpaste -f same as above, but uses the standard Find Pasteboard qpaste -n MyPersonalPasteboard as above, but uses an explicitly named Pasteboard qpaste -n MyPersonalPasteboard -K does a freeGlobally on the named Pasteboard qpaste 2 like qpaste, but also reads the third type and sends it to stdout as a "C" string qpaste -o filename 2 like qpaste 2, but reads the third type and writes it to filename without interpretation qpaste -o- 2 as above, but to stdout Enjoy. -=EPS=- ------- /* qpaste: query NeXT Pasteboard server * Eric P. Scott, San Francisco State University, October 1993 * for NeXTSTEP 2.x, NEXTSTEP 3.1 * cc -o qpaste -s -O qpaste.m -lNeXT_s */ #include <stdio.h> #ifdef NX_COMPILER_RELEASE_3_0 #include <bsd/libc.h> #else #include <libc.h> #import <mach.h> #endif #import <appkit/Pasteboard.h> static char sccsid[]="@(#)qpaste.m 1.0 (SFSU) 10/10/93"; main(int argc, char *argv[]) { extern int optind; extern char *optarg; int s; id pb; register const NXAtom *t; const NXAtom *types; char *pbname, *outfile; char *data; int len; int killflag; (void)setlinebuf(stderr); pbname=(char *)NULL; outfile=(char *)NULL; killflag=0; #ifdef NX_COMPILER_RELEASE_3_0 while ((s=getopt(argc, argv, "dfgn:o:rtK"))!=EOF) switch (s) { case 'd': if (pbname) goto usage; pbname=(char *)NXDragPboard; break; case 'g': if (pbname) goto usage; pbname=(char *)NXGeneralPboard; break; #else while ((s=getopt(argc, argv, "fn:o:rstK"))!=EOF) switch (s) { case 's': if (pbname) goto usage; pbname=(char *)NXSelectionPboard; break; #endif case 'f': if (pbname) goto usage; pbname=(char *)NXFindPboard; break; case 'n': if (pbname) goto usage; pbname=optarg; killflag|=2; break; case 'o': if (outfile) goto usage; outfile=optarg; break; case 'r': if (pbname) goto usage; pbname=(char *)NXRulerPboard; break; case 't': if (pbname) goto usage; pbname=(char *)NXFontPboard; break; case 'K': killflag|=1; break; default: usage: #ifdef NX_COMPILER_RELEASE_3_0 (void)fprintf(stderr, "Usage: [-g|-t|-r|-f|-d|-nPasteboardName [-K]] [[-o outfile] type_index]\n", *argv); (void)fputs("\ \t-g NXGeneralPboard\n\ \t-t NXFontPboard\n\ \t-r NXRulerPboard\n\ \t-f NXFindPboard\n\ \t-d NXDragPboard\n\ \t-n (named pasteboard)\n\ \n\t-K freeGlobally\n", stderr); #else (void)fprintf(stderr, "Usage: [-s|-t|-r|-f|-nPasteboardName [-K]] [[-o outfile] type_index]\n", *argv); (void)fputs("\ \t-s NXSelectionPboard\n\ \t-t NXFontPboard\n\ \t-r NXRulerPboard\n\ \t-f NXFindPboard\n\ \t-n (named pasteboard)\n\ \n\t-K freeGlobally\n", stderr); #endif exit(1); } if (argc-optind>1) goto usage; if (killflag==1) { (void)fprintf(stderr, "%s: -K requires Pasteboard name\n", *argv); exit(1); } if (killflag==3&&argc-optind>0) { (void)fprintf(stderr, "%s: -K doesn't take a type index\n", *argv); exit(1); } if (argc-optind<=0&&outfile) { (void)fprintf(stderr, "%s: -o requires type index\n", *argv); exit(1); } pb=pbname ? [Pasteboard newName:pbname] : [Pasteboard new]; if (!pb) { (void)fprintf(stderr, "%s: couldn't get Pasteboard object\n", *argv); exit(1); } if (killflag==3) [pb freeGlobally]; else { (void)fprintf(stderr, "changeCount=%d\n", [pb changeCount]); s=0; types=[pb types]; (void)fputs("types:\n", stderr); for (t=types;*t;t++) { (void)fprintf(stderr, "\t%2d) ", s++); fputs(*t, stderr); putc('\n', stderr); } if (argc-optind>0) { register int i; i=atoi(argv[optind]); if (i<0||i>=s) { (void)fprintf(stderr, "%s: no type with index %d\n", *argv, i); exit(1); } if (![pb readType:types[i] data:&data length:&len]) { #ifdef NX_COMPILER_RELEASE_3_0 register char *p; if (outfile&&strcmp(outfile, "-")&& (p=[pb readFileContentsType:types[i] toFile:outfile])) { (void)fprintf(stderr, "%s: file contents written to ", *argv); (void)fputs(p, stderr); putc('\n', stderr); if (access(p, 0)<0) perror(p); goto done; } #endif (void)fprintf(stderr, "%s: couldn't read Pasteboard data\n", *argv); exit(1); } (void)fprintf(stderr, "length=%d", len); if (outfile) { putc('\n', stderr); if (strcmp(outfile, "-")&&!freopen(outfile, "w", stdout)) { perror(outfile); exit(1); } if (len>0&&fwrite((void *)data, 1, len, stdout)<=0) { perror("fwrite"); exit(1); } } else { register const unsigned char *p, *q; (void)fputs(", data=\n", stderr); putchar('"'); p=(const unsigned char *)data; q=p+len; while (p<q) { i= *p++; if (i=='\\'||i=='"') (void)putchar('\\'); if (i>=' '&&i<='~') (void)putchar(i); else if (i>='\b'&&i<='\r') { (void)putchar('\\'); (void)putchar("btnvfr"[i-'\b']); } else (void)printf("\\%03o", i); } (void)fputs("\"\n", stdout); } if (fflush(stdout)<0) { perror("fflush"); exit(1); } #ifdef NX_COMPILER_RELEASE_3_0 done: [pb deallocatePasteboardData:data length:len]; #else (void)vm_deallocate(task_self(), (vm_address_t)data, (vm_size_t)len); #endif } } exit(0); }
From: glenn@rightbrain.com (Glenn Reid) Newsgroups: comp.sys.next.programmer Subject: Re: Distinct mouse clicks: a solution Message-ID: <1359@rtbrain.rightbrain.com> Date: 11 Oct 93 08:32:40 GMT References: <1993Oct11.024751.22335@csus.edu> Sender: glenn@rightbrain.com Eric P. Scott writes [about catching a double-click but ignoring a single click] > This violates NeXT's User Interface Guidelines. I agree. > [/NextLibrary/Documentation/NextDev/UserInterface/03_Mouse/Mouse.rtfd] > |For example, double-clicking an icon in a Workspace Manager > |window picks out that icon just as a single click would. It > |then goes on to open the application associated with the icon. > |A single click in text selects an insertion point, a double- > |click extends the selection to a word, and a triple-click > |extends it further to a full line, sentence, or paragraph. It's funny they should pick the Workspace Manager for this example, since it actually subtly violates this rule. To see this, single-click on an icon on your shelf. It moves the scroller below to that path and makes it the currently chosen file. But if you double-click on it, it will open the document/app *without* making it the current document or file. In other words, the single click is ignored and the double-click is processed instead. This is actually preferred behavior for the Shelf in my opinion, but it does violate their own guidelines :-) -- Glenn Reid NeXTmail: glenn@rightbrain.com RightBrain Software, Woodside, California Shameless Plug: buy my book, "Thinking in PostScript"
Newsgroups: comp.sys.next.programmer From: jjfeiler@relief.com (John Jay Feiler) Subject: Re: Why use CVS over RCS? Message-ID: <1993Oct11.070352.3103@relief.com> Sender: jjfeiler@relief.com Organization: relief consulting References: <299s9d$jgp@digifix.digifix.com> Date: Mon, 11 Oct 1993 07:03:52 GMT In article <299s9d$jgp@digifix.digifix.com> sanguish@digifix.com (Scott Anguish) writes: > John Jay Feiler writes > > In article <2976ci$dns@digifix.digifix.com> sanguish@digifix.com (Scott > > Anguish) writes: > > > 3. Is there anyone interested in developing a front-end for CVS that > > > would allow drag and drop check-in/out/update/commit? > > > > If you have TickleServices, Ernie Prabhakar has written a TS menu that does > > most things that I want. I haven't used cvs from the terminal window for > > weeks. > > Ah that brings up an excellent point. I have those TickleServices, but > I've not been able to get them to work. > Make sure that you set your CVSROOT to the correct directory, that's what messed me up when I first tried it. Also, you still have to import the project initially from the terminal. I usually use "cvs import Projname Projname V0.0" in the lowest directory of the project to import initially. > -- > - Scott Anguish - > sanguish@digifix.com (NextMail) > next-announce@digifix.com (comp.sys.next.announce submissions) > -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!! Edmonds, WA 98026-4433 Independent NeXTSTEP Developer
From: pkron@corona.com (Peter Kron) Organization: Corona Design, Inc., Seattle, WA Distribution: world Date: Mon, 11 Oct 1993 06:53:24 PDT Message-ID: <1993Oct11.135324.2934@corona.com> Newsgroups: comp.sys.next.programmer Subject: Why use CVS over RCS? References: <2976ci$dns@digifix.digifix.com> sanguish@digifix.com (Scott Anguish) writes: > 3. Is there anyone interested in developing a front-end for CVS that > would allow drag and drop check-in/out/update/commit? There is an app called CheckItOut on the archives by John Robison that provides an interface to RCS. It isn't drag/drop, but nonetheless is very handy for maintaining RCS. It is shareware. --- NeXTMail:Peter_Kron@corona.com Corona Design, Inc. P.O. Box 51022 Seattle, WA 98115-1022
From: gbrown@raven.ctr.columbia.edu (Glenn Brown) Newsgroups: comp.sys.next.programmer Subject: Re: Distinct mouse clicks: a solution Date: 11 Oct 1993 15:28:41 GMT Organization: Columbia University Center for Telecommunications Research Message-ID: <29bu39$oe5@sol.ctr.columbia.edu> References: <1359@rtbrain.rightbrain.com> Glenn Reid writes > Eric P. Scott writes > > [about catching a double-click but ignoring a single click] > > > This violates NeXT's User Interface Guidelines. It may violate the guidelines, but NeXT tells you how to do it: See the perform:with:afterDelay:cancelPrevious: documentation in digital librarian. To quote it: >This method permits you to register an action in response to a user event >(such as a click), but delay it in case subsequent events alter the >environment in which the action would be performed (for example, if the >click turns out to be double-click). --Glenn
Newsgroups: comp.sys.mac.misc,comp.sys.mac.programmer,comp.sys.mac.advocacy,comp.sys.powerpc,comp.sys.next.misc,comp.sys.next.programmer From: pdinda+@cs.cmu.edu (Peter A Dinda) Subject: Macintosh File Sytems on Foreign Platforms? Message-ID: <CEqtqo.4AB.3@cs.cmu.edu> Sender: news@cs.cmu.edu (Usenet News System) Organization: School of Computer Science, Carnegie Mellon Date: Mon, 11 Oct 1993 17:25:35 GMT I am looking for information on how Macintosh File Systems are handled on foreign systems, both in the context of the foreign operating system, and in the context of a macintosh emulator. Specifically: - Is it useful to permit modification of the resource fork on the foreign system? Finder Info in the catalog? - On a Mac emulator like in POWER-Open, or Executer on Next, are macintosh file systems usually emulated inside a foreign system file, or do these emulators support mounting macintosh partitions and volumes? If the latter, is the mounted volume also visible to the foreign system? - Do any "read a Mac HD Disk" utilities exist for Unix or Mach? If so, do they preserve the resource fork and finder info? - Is the Mac Operating System's File Manager re-enterant? Can it work on several outstanding requests? Can a disk request on the mac initiate a context switch? - I assume that the Mac OS does not do write buffering on floppies - am I right? - How much integrity checking does the Mac OS do when mounting a volume? Please mail pdinda@cs.cmu.edu. If there is sufficient interest, I will post a summary. Peter A. Dinda
Newsgroups: comp.sys.next.programmer From: samr@saipan.wri.com (Sam Roseman) Subject: Re: Creating Installer Packages Message-ID: <samr.750366401@saipan.wri.com> Keywords: Installer, packages, compress Sender: news@wri.com ( ) Organization: Wolfram Research, Inc. References: <2976ul$9ib@news.delphi.com> <CEo0nA.4H9@phcs.com> Date: Mon, 11 Oct 1993 19:06:41 GMT jq@phcs.com (Jim Quick) writes: >2. The floppies would not install correctly via the installer > app because a process kept files open on the first disk, > and thus would not let me go on to the second one. > (p.s. this one had both preinstall and postinstall > scripts in the package) >Hope this helps. >Anyone had any better luck with large floppies? i called NeXT about this and they said it was a known problem and reccommended this procedure for unpackaging floppies from disks: 1) create a .pkg directory and cd into it 2) insert each disk, and copy the tar.Z and utility files into the current directory 3) cat all the .pkg files together into a '.tar.Z' file. 4) open the new directory and install as normal. they also said this bug will be fixed for the next release. Sam Roseman Systems/Porting Wolfram Research, Inc
Newsgroups: comp.sys.next.programmer From: thf@zelator.in-berlin.de (Thomas Funke) Subject: Re: Why use CVS over RCS? Message-ID: <1993Oct10.165838.1072@gamelan> Sender: thomas@gamelan (thomas) Organization: Disorganization References: <2976ci$dns@digifix.digifix.com> Date: Sun, 10 Oct 1993 16:58:38 GMT In article <2976ci$dns@digifix.digifix.com> sanguish@digifix.com (Scott Anguish) writes: > > > 1. Are there any obvious reasons to use CVS over RCS other than > the central repository issue... Working with projects and not single files is the major advantage of CVS. Install the emacs-interface and you'll just need a few hot keys every day. Working in parallel is another advantage. RCS locks the file you have checked out. Get the CVS FAQ. CVS seems to be a bit difficult first, but is a big help actually. Few people can live without it .... -- ------------------------------------------------------------------ Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de Brook's Law: Adding manpower to a late software project makes it later ------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: alastair@farli.otago.ac.nz (Alastair Thomson) Subject: Shape-tools (Long): Was Why use CVS over RCS Message-ID: <CEr43s.HrC@news.otago.ac.nz> Sender: usenet@news.otago.ac.nz (News stuff) Organization: University of Otago Date: Mon, 11 Oct 1993 21:09:27 GMT Hi everyone, Since my mailbox has been flooded with requests for more information about Shape, please find below details. Shape is available from various ftp sites including gatekeeper.dec.com:/pub/plan/shape/shapeTools-1.4.tar.gz. Below is the readme file from the shape distribution. -------------------------------------------------------- This is README for shapeTools-1.4. It contains general information on ShapeTools (we also refer to it as "shape toolkit") and an overview of its parts. The file "INSTALL" helps you installing the toolkit on your machine. It also gives hints for solving portability problems and describes the procedure for porting the toolkit to a new operating system platform. If you used ShapeTools-1.3 (or earlier versions) before, you should read "CHANGES-1.4" to check, what has changed since 1.3. *** The file CHANGES-1.4 contains important information *** *** on migrating from ShapeTools-1.3 to ShapeTools-1.4. *** Before installing and using the shape toolkit on your computer, you should also read the file "LICENSE". In the file "FUTURE", you find important information on how the ShapeTools development will be carried out in the future. You can also find the address of a company offering commercial support for ShapeTools there. If you have any questions, hints or bug reports, you may contact us via: Tech. Univ. Berlin Tel: +49-30-314-73230 "ShapeTools" Fax: +49-30-314-73488 Secr. FR 5-6 E-mail: shape@cs.tu-berlin.de Franklinstr. 28/29 10587 Berlin, Germany We set up a mailing list for announcing new releases and patches and for discussion of ShapeTools specific topics. If you want to be kept informed about the evolution of the toolkit, you should subscribe to the mailing list. The list is managed automatically. You can subscribe by sending a mail to "listserv@tubvm.cs.tu-berlin.de" with the contents "sub shape-l <your full name>". Submissions to the mailing list are to be sent to "shape-l@tubvm.cs.tu-berlin.de". General information: ==================== ShapeTools is a collection of programs to support software configuration management in an UNIX environment. It consists of a set of version and attribute control commands, and a configuration interpreter and build tool ("shape"). The toolkit is integrated on top of AtFS (Attributed File System), a storage system supporting multiple versions of files and associating an arbitrary number of application defined attributes of the form "name=value" with each version. AtFS comes as a function library that is meant as an extension to the UNIX file system. It does this without the need for kernel modifications and without imposing any restrictions to existing file system applications. ShapeTools is designed to live meaningfully together with any other UNIX tool operating on regular files. This distribution also contains a prototype for a comprehensive change control and release management system designed to manage the evolution of system releases in multi programmer software development efforts. The ShapeTools version and attribute control system ("shape_VC") ---------------------------------------------------------------- The ShapeTools version and attribute control control system is a set of UNIX(1) commands. Shape_VC offers version control functionality and direct access to user definable attributes associated with each version. In detail, shape_VC comprises - storage and retrieval of multiple revisions of files. - a built in status model for revisions. (States: busy, saved, proposed, published, accessed, frozen) - documentation of change histories. - synchronization of concurrent updates to a history. - symbolic names as version number aliases. - a flexible version selection (version binding) mechanism driven by general version binding rules. - a basic network user concept. - full (read and write) access to user definable attributes. The last point in the list, the attribute control, deserves some more attention. As the underlying storage system (AtFS) supports associating any number of attributes with each version, shape_VC uses this mechanism to allow the user to attach his/her own management information in form of attributes to stored revisions. The attribute mechanism supports - genuine attributes (<name>=<value>) where the attribute value is given statically. - execution attributes (<name>=!<executable_program>) where the attribute value is determined dynamically by executing a given program or shell script and catching its output. - file reference attributes (<name>=^<filename>) where the contents of a file is taken as attribute value. The file contents is read on every attribute access. - version reference attributes (<name>=*<network_pathname>) where the attribute value points to another version. The toolkit character of the system allows to use it directly by calling the commands from the shell, or to build a customized environment on top of it. As an example, we wrote some code to provide direct access to the system from within GNU-Emacs. The corresponding emacs lisp code is contained in the distribution. The Attributed File System (AtFS) --------------------------------- AtFS is the base abstraction of the whole toolkit. It provides uniform access to immutable revisions of files stored in special archive files (in a directory named "AtFS"), and mutable regular UNIX files. Consequently, the AtFS based toolkit lives peacefully (and meaningfully!) together with standard file system applications (editors, compilers, formatters etc.). Cooperative work within projects is supported by a build-in status model, controlling visibility of version objects, and locking, a primitive form of "long transactions" for synchronizing concurrent updates. The general concept of application defined attributes provides a basis for storing management information with versions and passing this information between individual tools. This mechanism is useful for building integrated environments from a set of unrelated tools. AtFS also supports derived object management, i.e. it maintains a cache of multiple versions of compiled object-files (e.g. compiled c-files with different compile switches). People with sophisticated requirements may also add their own applications on basis of AtFS to the toolkit. There is a fully documented C-language interface to AtFS, on top of which all the toolkit programs are built. Additionally to the AtFS C interface, there is the AtFS toolkit library interface (also in C), providing higher level functions such as the version binding mechanism. The configuration management and build program ("shape_CM") ----------------------------------------------------------- The shape_CM component consists of the program "shape", performing - identification of system components, - component version selection, - variant control, - driving transformations (eg. compilations) and - recording configurations (for later rebuild) for the software system to be built. Shape_CM uses, similar to make, a description file named "Shapefile". In fact shape_CM is upward compatible to Make in that it can properly handle conventional Makefiles. The Shapefile however, uses Makefile-style dependencies as (versionless) abstract system model and employs version selection rules to dynamically bind particular versions to the names listed in the system model. The version selection mechanism exploits AtFS' ability to maintain any number of arbitrary attributes for objects in the object base. On special request, shape records an identified configuration in a configuration identification document (bound configuration thread - BCT) which has the form of a completely bound Shapefile (all object-instances are explicit). One of the most useful features of shape is its support of various variant administration techniques. Shape makes no assumptions about the semantics of the variant notion other than having alternative (conceptually equivalent) instances of the same concept ("module"). Despite the particular semantics of a certain variant-concept, there is a small number of techniques to physically handle variants. These techniques are what shape supports. Most commonly used techniques are: - equally named files in different directories - one source file representing multiple variants that are extracted by a preprocessor using different preprocessor switches (e.g. conditional compilation) - one source file processed by different tools or different tool versions/variants (e.g. cross compilation, different coders) - combinations of the above. Shape includes a variant definition facility that allows very flexible and convenient handling of all of the above variant administration techniques. The ShapeTools release management system (shape_RMS) ---------------------------------------------------- Enclosed in the distribution is a prototype for a configuration management environment to be used for constructing system releases in complex (multi programmer) software development projects. Using this environment does not require any experience in writing Shapefiles (resp. Makefiles). The environment consists of templates for a Shapefile and a Makefiles and of a library of Shapefile fragments for project wide use. The shape_RMS supports: - a fully automatic global release building mechanism with automatic release number generation. - automatic generation of prereleases as systematic preparation of releases. - construction of subsystem releases and prereleases - system building and installation by shape *and* make - standard version selection rules - a project wide unified variant raster - built in standard functions for cleaning up, generating tar or shar files, determine file dependencies etc. Each directory where a part of the managed system is developed, has to be equipped with a Shapefile and a Makefile derived from the given templates. In the normal case, the derivation just requires setting a few macros. Shape- and Makefile are kept redundancy free, the Makefile is inserted in the Shapefile via an "include" mechanism. The management of a Shapefile *and* a Makefile (although the Shapefile alone should be enough) implies, that certain system building functions can also be performed by "make". This is especially important for producing self contained releases (buildable and installable on shape-less computer systems by use of make) from the projects development area (managed by shape). Further reading --------------- You can find additional information on the shape toolkit in the manual pages and the tutorial enclosed in the distribution. The tutorial shall help you to learn to use the toolkit in your development work. If you want to read more about the concepts of shape and its object base, we refer to: Axel Mahler, Andreas Lampen "An Integrated Toolset for Engineering Software Configurations" Proceedings of the ACM SOFSOFT/SIGPLAN Software Engineering Symposium on Practical Software Engineering Environments Boston MA, 28-30 November 1988 pp. 191-200 SIGSOFT SE Notes V13-No5, SIGPLAN NOTICES V24-No2, Andreas Lampen, Axel Mahler "An Object Base for Attributed Software Objects" Proceedings of the EUUG Autumn '88 Conference Cascais (Portugal) 3-7 October 1988 pp. 95-105, European UNIX User Group, London 1988 Ulrich Pralle "Driving the Software Release Process with Shape" Proceedings of the EUUG Autumn '90 Conference Nice (France) October 1990 pp. 27-38, European UNIX User Group, London 1988 This distribution contains the following parts: =============================================== +PATCHLEVEL -- The current patchlevel. CHANGES-1.4 -- Release notes for ShapeTools-1.4 Dependencies -- An automatically generated file containing Makefile dependencies. There are no dependencies on this level. in the ShapeTools root directory. FUTURE -- Some words about the future of ShapeTools INSTALL -- Information how to build and install the toolkit on your machine. LICENSE -- Important information about copying permissions and warranty issues. This file should *not* be deleted. Makefile -- The top level Makefile for the toolkit. README -- The file you are currently reading. Release -- The current Release Id. Shapefile -- The top level Shapefile. berlin2000.ps-- A color PostScript picture of the Berlin Olympic Bear, mascot of Berlin's candidacy for the Olympic Games 2000. shape_conf.sh-- A configuration script invoked automatically when calling "make" the first time and by "make config". bin/ include/ -- Two local installation directories. These are initially empty. lib/ -- The lib directory for local installation of internal libraries during system build. This is inilially empty, it only only contains the (empty) subdirectories shape/ -- for the common Shapefile parts and the templates for Makefiles and Shapefiles. emacs/lisp -- for the emacs lisp code man/ -- The online manuals for man1/ -- the commands, man3/ -- the AtFS, AtFStk and sttk library interfaces, man5/ -- file formats of AtFS archive files, and man7/ -- templates and version bind rules. src/ -- The sources atfs/ -- the attribute file system (AtFS) atfstk/ -- the AtFS toolkit library (AtFStk) interface/ -- GNU-Emacs lisp code patches/ -- patches for gbd and GNU-grep rms/ -- the release management system shape/ -- the shape program sttk/ -- the ShapeTools toolkit library vc/ -- the version control system tutorial/ -- A tutorial on how to work with the shape toolkit Specialties of the System V version =================================== For sake of a proper release management with shape, it is extremely useful to be able to share AtFS subdirectories (where the archive files are stored) between different directories. On BSD like systems, this can be organized by using symbolic links. Vanilla System V systems do not support symbolic links, so we introduced a mechanism allowing the "AtFS" entry in a directory to be either a subdirectory (the normal case) or a regular file containing a directory name. The latter case is handled like a symbolic link and archive files are searched in the directory named in the "AtFS" entry. Acknowledgement =============== Version 1.0 of the shape toolkit was a result of the UniBase project, a joint research and development project funded by the "Bundesministerium fuer Forschung und Technologie" (BMFT, Federal Ministry for Research and Technology of West Germany) under grant number ITS-8308. The project aimed at the development of a large scale industrial software production environment. The current work on the toolkit (version 1.1 and newer) is mostly part of the STONE project (A STructured and OpeN Environment). STONE is a scientific project aiming at the construction of a generic software development environment kernel. The STONE consortium consists of nine German universities and research institutes, three of them from former East Germany. STONE is also funded by the BMFT under grant ITS-8902E8. Further contributions come from members of the REX project (Reconfigurable and Extensible Parallel and Distributed Systems) funded by the EC as ESPRIT Project 2080, and from faculty members of the TU Berlin. Thanks to the various people who sent bug reports, hints and recommendations. Thank you also to the moderator and reviewers of comp.sources.reviewed, who made very valuable comments on shapeTools-1.2. They definitely had no easy job reviewing shapeTools in it's whole complexity. Special thanks to Steve Emerson (steve@unidata.ucar.edu) who rewrote parts of the shape program. Juergen Nickelsen (re)implemented various parts of the toolkit as member of the STONE project crew. Unfortunately he had to leave the project due to funding problems. We hope to get him back into the ShapeTools family as soon as possible. The ShapeTools people, Andy Lampen and Axel Mahler -- Alastair Thomson, | Phone +64-3-479-8347 Black Albatross Chief Programmer, | Fax +64-3-479-8529 Department of Computer Science, | University of Otago, | alastair@farli.otago.ac.nz Dunedin, New Zealand | NeXTmail Welcome
From: jfosback@darkwing.uoregon.edu (Jason Fosback) Newsgroups: comp.sys.next.programmer Subject: How to link specific functions into a bundle? Date: 11 Oct 1993 21:58:52 GMT Organization: University of Oregon Message-ID: <29ckus$jb9@pith.uoregon.edu> I'm having problems with dynamically loaded Objective C classes. If a class calls a function that isn't linked into the main application at compile time, rld() returns and error: Undefined symbol: (I think. I'm reciting from memory). Of course, it never specifies the symbol, but I can usually figure out what it was. So, how can I link a *specific* function into a bundle? For example, I want to call kill() from a dynamically loaded class. It's not linked into either the main application, or the dynamically loaded class. When the main application starts and dynamically loads my class, I get the rld() error, and everything spews. So, how can I force kill() to be linked into the bundle? The only solution I've found so far is to have a "dummy" function in the main application with kill() in it. This forces kill() to link into the main application, but this is an unacceptable solution. Thanks! -jason ___________________________________________________________________ Jason Fosback, User Support Analyst | No sir, I didn't like it ---- University of Oregon ---- | -R&S Internet: jfosback@oregon.uoregon.edu | Star Trek: NeXT mail: jfosback@darkwing.uoregon.edu | The NeXT Generation...
From: bruce@pdh.com (Bruce McKenzie) Newsgroups: comp.sys.next.programmer Subject: String kit availability and the meaning of "public domain" Date: 11 Oct 1993 17:49:58 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9310112241.AA10469@snowbird.pdh.com> Scott Anguish writes: > > 7- More objects in the libraries: General purpose String object would be a > good start > > There is currently a String Object in there actually. Its > undocumented, and unsupported, but from a posting in next-prog mailing list > there is a potential for it to be there in the future. > > In the meantime, you have a few third party solutions for Strings > > OTStrings > DolphinKit > MiscKit (yeah, got to plug that one!) Don't forget the Stepstone kit, too. MiscKit annoys me because of how I read the license/header: I cannot use this in a for-sale product without permission from the author. My read is that this is not free software. I don't want to sell MiscKit as my own, nor do I even want to change it in any way. I just want free software to be free from hidden license requirements. If it's public domain, I think it should be released without limitations. I have been using MiscKit (at least the String class) in a personal project, which will never be sold (I'll be upoading it to the archives as freeware). My other classes are going to be free. Use them in a product, I don't care. I just want to see people share software so that we can start building a common foundation. (Excuse me while I get off of my soapbox). --- Bruce McKenzie (bruce@pdh.com, NeXTMail OK) "So..happy..ironing..for..my..friend..Stimpy!" PDH Inc. 2635 N. First St. Ste 224, San Jose, CA 95134 voice: 408/428-9596, fax: 408/428-9599 Epicenter: Section 127, Row 22, Seats 13-14 * Opinions expressed are those of my own twisted mind, not my employer's *
From: bruce@pdh.com (Bruce McKenzie) Newsgroups: comp.sys.next.programmer Subject: Objective-C class Browser Date: 11 Oct 1993 17:55:56 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9310112247.AA10492@snowbird.pdh.com> >2- Objective-C class Browser: such tool has been available for years in C++ I'm working on a simple one as freeware. It's more like a class hierarchy front-end to ProjectBuilder, but it has saved me time already. I expect to upload it to the archives in a week or so. I will post more info at that time. My goal is not "purity", but "usability". It is something that helps me. Hopefully it will help others, too. I've kept it simple so that it demonstrates things to people who read its code. Please feel free to email me with questions and comments... --- Bruce McKenzie (bruce@pdh.com, NeXTMail OK) "So..happy..ironing..for..my..friend..Stimpy!" PDH Inc. 2635 N. First St. Ste 224, San Jose, CA 95134 voice: 408/428-9596, fax: 408/428-9599 Epicenter: Section 127, Row 22, Seats 13-14 * Opinions expressed are those of my own twisted mind, not my employer's *
Newsgroups: comp.sys.next.programmer From: garyc@netcom.com (Gary I. Chang) Subject: What's wrong with GDB? Help, I'm lost! Message-ID: <garycCErKqF.6I9@netcom.com> Organization: NETCOM On-line Communication Services (408 241-9760 guest) Date: Tue, 12 Oct 1993 03:08:39 GMT Hi, I'm implementing a Simulation Project which I need to put a fixed sized List with dynamic sized List entries. Everything was fine, no runtime errors except for some compiler warning for re-declaration of some varibles or functions such as 'name' which was defined in Object class, and 'state' in some IB objects, etc. However, the program code was not executed as I expected, so I ran GDB from PB and Edit, and I ended up with a messed up symbol table I guess, The program counter was jumping thru a sequence of assignment statement, and sometimes enter an invalid block. This all happened in the same objective-C function block. When I was convinced that there's nothing wrong with my program, I discovered the inconsistency between *.[h] and IB. (It shouldn't matter though, 'Coz all the newly added stuffs are not Interface related, I meant local varibles and methods). But I gave it a try anyway, Luckily I got away with it for the first time. Now the same phenomenon is happening again that I have no clue at all. The only thing I'm sure is that all the *.[h] has been dragged/updatted in the Class case of IB and saved to ensure consistency. What can you do when GDB Next/Step you thru a jumping sequence of the program code? Plus, some weired things such as: i = [myObject cost]; /* which returns a object varible */ when printed from gdb: [myObject cost] = 100; i = 0; Any Help would be highly appreciated, as I'm totally lost. Thanks, Gary
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: String kit availability and the meaning of "public domain" Date: 11 Oct 1993 23:16:08 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <29d7ho$pa@digifix.digifix.com> References: <9310112241.AA10469@snowbird.pdh.com> Bruce McKenzie writes > Don't forget the Stepstone kit, too. > > MiscKit annoys me because of how I read the license/header: I > cannot use this in a for-sale product without permission from > the author. > > My read is that this is not free software. I don't want to sell > MiscKit as my own, nor do I even want to change it in any way. > I just want free software to be free from hidden license > requirements. If it's public domain, I think it should be released > without limitations. Bruce and everyone I'm pretty confident from my use of MiscKit, and ALOT of communication with Don Yacktman, that the MiscKit IS intended to give you exactly what you are looking for, the ability to ship a commercial product with MiscKit objects in it without permission, provided that someplace in the documentation you mention that there are MiscKit objects in your program. You aren't obligated to give them the source, return changes to MiscKit or any of those other GNU things. I'd suggest that if you have concerns like this, you should contact Don, or get the current MiscKit from ftp.byu.edu which has the new license agreement. There is a difference between Public Domain (ie. giving up the Copyright) and what the MiscKit is offering, but its so very small. -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Should the WindowServer _ever_ die? Date: 11 Oct 1993 21:00:12 -0700 Message-ID: <29da4c$5vb@ursula.ee.pdx.edu> Summary: I'm toasting the WindowServer. How many circumstances are there that the programmer is at fault when the WindowServer dies? I have tendency to just program around these things, but two that come to mind are trying to convert between local and global window numbers (when one is invalid), and leaving timed entries running when the app is inactivated (windowserver memory access exception). It seems to me a segfaulting WindowServer shouldn't be my problem.
Newsgroups: comp.sys.next.programmer From: burns@bellcore.com (James E. Burns) Subject: Can daemons access the WorkSpace? Message-ID: <BURNS.93Oct11234005@gauss.bellcore.com> Sender: news@walter.bellcore.com Organization: Bellcore Date: 11 Oct 93 23:40:05 Since I have to dial in through SecureID, I need to provide a dynamic password in the DialupIP login script. I wrote a small app to pop up a window and grab the password. The problem is that it won't work if the diald deamon is started in rc.local (as designed), apparently because this is before the WorkSpace has been started. (It works fine if I start up the deamon by hand after logging in.) So the question: How can I start a deamon at boot time that can get access to the WorkSpace (& I can't recompile the deamon -- I can only change a script it uses)? Thanks, jim burns -- James E. Burns burns@nova.bellcore.com Bellcore, NVC-3X114 Off: (908) 758-2819 331 Newman Springs Road Fax: (908) 758-4371 Red Bank, NJ 07701-5699, USA Home: (908) 219-6561
From: danno@CSOS.ORST.EDU (Daniel Bigelow) Newsgroups: comp.sys.next.programmer Subject: SNDRelease question (somebody is lying) Message-ID: <29da98$n06@jadzia.CSOS.ORST.EDU> Date: 12 Oct 93 04:02:48 GMT Article-I.D.: jadzia.29da98$n06 Organization: me ? organized ? In poking around some documentation (tracking a compiler error...), I found two definitions of the SNDRelease function parameter prototypes... from the 3.1 docs... : SNDRelease(int, port_t *, port_t *) and from the header files (which I'm more inclined to believe...) : SNDRelease(int, port_t, port_t) /* note the non-pointers... */ Having not tracked 'port_t' down and curious about other such glitches I figured I'd post. It would be reasonable for the release function to want a pointer to a structure (port_t?) that it might want to free after having malloc-d it in a previous SNDAcquire... Is that a sane idea? cheers, --danno
From: sanguish@digifix.com Newsgroups: comp.sys.next.announce,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.advocacy,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.bugs,comp.sys.next.programmer,comp.sys.next.marketplace Subject: Quick Guide to the comp.sys.next.* newsgroups Date: 12 Oct 1993 00:34:31 -0400 Organization: Next Announcements Message-ID: <29dc4k$1qd@digifix.digifix.com> The current menagerie: 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. comp.sys.next.announce Announcements of general interest to the NeXT community (new products, FTP submissions, user group meetings, commercial announcements etc.) The NEXTSTEP FAQs are posted here monthly as well. 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. 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. 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. 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. 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!!! comp.sys.next.programmer Questions and discussions of interest to NEXTSTEP programmers. This is primarily a forum for advanced technical material. The NEXTSTEP programmer FAQs are posted here. 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. comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. related Newsgroups 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. comp.lang.objective-c Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. 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. --------------------------------------------------------------------- Thanks to Michael Ross at antigone.com, the main NEXTSTEP groups are now available as a mailing list digest as well. next-nextstep-d next-advocacy-d next-announce-d next-bugs-d next-hardware-d next-marketplace-d next-misc-d next-programmer-d next-software-d next-sysadmin-d (For a full description, send mail saying LISTS to <digestif@antigone.com>). The subscription syntax is essentially the same as LISTSERV's. To subscribe, send a message to <digestif@antigone.com> saying: SUB Listname YourName Example: SUB next-hardware-d John Doe -------------------------------------------------------------------- Written by: Eric P. Scott eps@toaster.SFSU.EDU Minor editing: Scott Anguish sanguish@digifix.com Additions from: Greg Anderson (Greg_Anderson@afs.com) and Michael Pizolato (Michael_Pizolato@afs.com)
From: mcgredo@crl.com (Donald R. McGregor) Newsgroups: comp.sys.next.programmer Subject: Re: What's wrong with GDB? Help, I'm lost! Date: 11 Oct 1993 22:59:26 -0700 Organization: CRL Internet Dialup Access 415-705-6060 (guest) Message-ID: <29dh3u$jfn@crl.crl.com> References: <garycCErKqF.6I9@netcom.com> In article <garycCErKqF.6I9@netcom.com> garyc@netcom.com (Gary I. Chang) writes: :>The program counter was jumping thru a sequence of assignment statement, :>and sometimes enter an invalid block. :> Weird jumps of program control will sometimes happen if you compile with the optimizer on. It's being clever. Try compiling with it off (No -O flag to cc) :>when printed from gdb: :> :> [myObject cost] = 100; :> i = 0; :> This is almost certainly a sign that myObject is nil. When that happens, you'll get back zero or nil as a result of the message, generally. There are some exceptions to this under Intel. (Asking for structures from a nil object, as I recall.) -- Don McGregor | "What if there were no hypothetical questions?" mcgredo@crl.com |
Newsgroups: comp.sys.next.programmer From: markus@isolde.stgt.sub.org (Markus Stoll) Subject: Re: Dragging in an app icon? Content-Type: text/plain; charset=ISO-8859-1 Message-ID: <1993Oct11.225610.1297@isolde.stgt.sub.org> Content-Transfer-Encoding: quoted-printable Organization: GbR Stoll & Stoeffler, Stuttgart, Germany References: <1993Sep29.040140.9514@stone.com> Mime-Version: 1.0 Date: Mon, 11 Oct 1993 22:56:10 GMT Hi, i happen to have the same problem as Frank Siegert. I just wanted to change something in Rosetta and had to rewrite the dragging-mechanism. I tried both suggested workarounds for dragging into an appIcon - cheating the window-object with object_stInstanceVariable([NXApp appIcon], "delegate", (void *)self); - using the contentView of the appIcon-window instead of the window for registering for dragging and both workarounds only work, when the program is started from gdb or a shell. (dragging into a normal window works underall circumstances) When started from workspace, the contentView seems to get no draggingEntered-messages. After discovering this, i tried the same with my Squash 1.0g (compiled for 3.0), which doesn`t accept drags since i upgraded to NeXTStep 3.1. And its the same! Started from workspace --> no drags are accepted Started from a Shell --> everything is fine Anyone who can help??? Markus -- Markus Stoll, markus@isolde.stgt.sub.org (NeXTMail preferred) stoll@vaxph.mpi-stuttgart.mpg.de
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: How to link specific functions into a bundle? Message-ID: <1993Oct12.080759.27424@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <29ckus$jb9@pith.uoregon.edu> Date: Tue, 12 Oct 1993 08:07:59 GMT In article <29ckus$jb9@pith.uoregon.edu> jfosback@darkwing.uoregon.edu (Jason Fosback) writes: >I'm having problems with dynamically loaded Objective C classes. If a >class calls a function that isn't linked into the main application at >compile time, rld() returns and error: Undefined symbol: (I think. I'm >reciting from memory). Of course, it never specifies the symbol, but I can >usually figure out what it was. > >So, how can I link a *specific* function into a bundle? For example, I >want to call kill() from a dynamically loaded class. It's not linked into >either the main application, or the dynamically loaded class. When the >main application starts and dynamically loads my class, I get the rld() >error, and everything spews. So, how can I force kill() to be linked into >the bundle? > >The only solution I've found so far is to have a "dummy" function in the >main application with kill() in it. This forces kill() to link into the >main application, but this is an unacceptable solution. Try this first: Link your main application with -u _kill so kill() will be "known" without adding any actual code. [This might go in the OTHER_LDFLAGS line of a Makefile.preamble.] If you want to strip your main application, try something like: echo _kill >usyms strip -s usyms App-executable (...or explain why you find this unacceptable?) -=EPS=-
From: cherp@cscnx15 (Chernett P) Newsgroups: comp.sys.next.programmer Subject: Mach-O to BSD a.out converter Message-ID: <14952@sersun1.essex.ac.uk> Date: 12 Oct 93 02:35:10 GMT Sender: news@sersun1.essex.ac.uk Does anyone know of a Mach-O to BSD a.out format converter. We are using Intel NeXTs to cross compile to remote M68030 targets which run VxWorks. At present we have to maintain the GNU compiler to do this. The NeXT installation of cc is perfectly capable of doing the job except that the final object files are in MachO format and the ability to create BSD a.out has been removed since 3.0. The inverse of the atom program (mtoa??) would be highly useful and save us a lot of disk space. Can anyone help? -- ************************************* * Paul Chernett University of Essex * * Department of Computer Science * * cherp@essex.ac.uk 0206 872048 * * NeXT Mail welcome * *************************************
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: String kit availability and the meaning of "public domain" Message-ID: <1993Oct12.085315.29457@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <9310112241.AA10469@snowbird.pdh.com> Date: Tue, 12 Oct 1993 08:53:15 GMT "Public domain" has a very specific meaning: *no* copyright. Your rights in this situation are pretty clear. In the U.S. "public domain" generally means: - most works produced by the federal government (I'm pretty sure computer software is an exception; if I'm not mistaken, this is a holdover from the Cold War so that Other Countries wouldn't get the fruits of our tax dollars for free. Ref.: COSMIC) - a copyrighted work, whose copyright has expired (e.g. 50 years after the author's death) - a work for which rights have been *explicitly* given to the public domain - most (but not all) pre-March 1, 1989 works lacking a copyright notice Much of the "free" software you'll encounter is copyrighted, but the copyright holder gives you permission to use it without charge. You don't own it, you may or may not have permission to create derivative works, you may or may not have permission to redistribute, etc. Such software is not "public domain," even if the licensing terms are as generous as // You may freely copy, distribute and reuse the code in this example. // NeXT disclaims any warranty of any kind, expressed or implied, as to its // fitness for any particular use. "Shareware," which _requires_ payment as a condition for use (usually after a "free" trial period) is not "free" software. -=EPS=- -- I'm not a lawyer, nor do I play one on TV. I spell better than I tpye.
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Can daemons access the WorkSpace? Message-ID: <1993Oct12.091024.290@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <BURNS.93Oct11234005@gauss.bellcore.com> Date: Tue, 12 Oct 1993 09:10:24 GMT In article <BURNS.93Oct11234005@gauss.bellcore.com> burns@bellcore.com (James E. Burns) writes: >So the question: How can I start a deamon at boot time that can >get access to the WorkSpace (& I can't recompile the deamon -- >I can only change a script it uses)? Are you sure you don't mean the Window Server? Have you tried starting your daemon from /usr/lib/NextPrinter/lpd.children instead of /etc/rc.local? -=EPS=-
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Mach-O to BSD a.out converter Message-ID: <1993Oct12.092951.1154@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <14952@sersun1.essex.ac.uk> Date: Tue, 12 Oct 1993 09:29:51 GMT In article <14952@sersun1.essex.ac.uk> cherp@essex.ac.uk writes: >The inverse of the atom program (mtoa??) would be highly useful and save us a >lot of disk space. How general are we talking about? Does it need to handle objects/relocatables, or are executables good enough? Are you only interested in C programs, or do you need support for Objective-C/C++? Are you willing to pay this--and how much? Would you want to keep such a tool proprietary, or share it with the world? (this is not an offer--I'm just curious) -=EPS=-
From: nelsonr@delhi.eecs.umich.edu (Nelson R. Manohar) Newsgroups: comp.sys.next.programmer Subject: HELP!! What really happens when a click is performed? Date: 12 Oct 1993 16:29:36 GMT Organization: University of Michigan EECS Dept., Ann Arbor, MI Distribution: world Message-ID: <29em1gINNp80@srvr1.engin.umich.edu> Keywords: RESPONDER CHAIN, MOUSEDOWN, MOUSEUP, POSTING EVENTS How can I simulate a mouse click on a non key text field (thus, a change in the responder chain) on on my own? I will like to know what really goes on, when an user clicks into a non KEY (text field), thus making this textfield, the new key input area. What is wrong/incomplete in this sequence? What else goes on with a mouse click? s1) mousedown generated on position x,y and send to Window Server s2) mouseup generated on position x,y and send to Window Server s3) data.clicks set to 1 by Window Server s4) Window server finds Application owner s5) Application finds subwindow and hitview owning the click s6) subwindow is made first responder s7) subwindow process mouse click help, nelson manohar
From: patrick@yabba.graphics.cornell.edu (Patrick Heynen) Newsgroups: comp.sys.next.programmer Subject: Problems bypassing 3Dkit Date: 12 Oct 1993 16:27:26 GMT Organization: Cornell University Program of Computer Graphics Distribution: world Message-ID: <29elte$9fe@merckx.graphics.cornell.edu> Keywords: renderman 3Dkit contexts Does anybody out there have any experience using QRM without using the 3Dkit? I am porting an app which wants to draw 3D stuff, but it has very different semantics than the 3Dkit in that the control flow needs to come from the program rather than from the event loop. (Ie I need a 'direct mode' for doing rendering such that I can make renderman calls such as RiPolygon from within a function and expect them to be drawn on the screen.) The 3Dkit is unfortunately insufficient, because it requires all rendereing calls to be embedded within the renderSelf: method of a shape object, which get called indirectly when the N3DCamera is asked to display itself... no good. What I have done is to setup my own N3DCamera, and then when I want to draw in it, I do a [myCam lockFocus], followed by the Ri.. calls which I want to make, and then ending with a [myCam unlockFocus] [myCam flushRIB]. This seems to work reasonably well and as expected, except for the fact that the camera you are rendering into does seem to store some state such as whatever you declare in the 'camera' block (ie RiProjection, RiClipping, etc..) as part of the QRM 'context' which can't be undone. This becomes a problem when you try to have multiple cameras w/ different projection options. So I thought, OK, just create a new, seperate context using N3DContextManager for each camera and switch to it manually before rendering. Here is where my current dilemna is.. as far as I have been able to tell, the setCurrentContext: method does NOT appear to work in that it doesn't change the context!! Also, if I force a change in context on the QRM side using RiContext(), nothing gets displayed in the camera.... So.. does anyone have any experiences, tips, or suggestions in dealing with multiple cameras/contexts using QRM without the 3Dkit??? Please?? Dave- if you read this, could you please tell me what I should be doing?! Thanx in advance, Patrick ---------------------------------------------------------------------------- Patrick Heynen NextMail: patrick@yabba.graphics.cornell.edu Program of Computer Graphics Cornell University Ithaca, NY 14853
Newsgroups: comp.sys.next.programmer From: gibber@kits.sfu.ca (Rory Gibson) Subject: JOB: PanCanadian Petroleum - Career Opportunity Message-ID: <gibber.750448612@sfu.ca> Sender: news@sfu.ca Organization: Simon Fraser University, Burnaby, B.C., Canada Date: Tue, 12 Oct 1993 17:56:52 GMT PanCanadian Petroleum Ltd., PanCanadian Plaza, P.O. Box 2850, Calgary, Alberta, Canada, T2P 2S5. PanCanadian Petroleum Ltd. - Career Opportunity: ---------------------------------------------------------------------- PanCanadian is a fast moving, forward looking company committed to developing a competitive advantage based on Object Oriented Technology. Our current environment consists of almost 200 NeXTSTEP machines with a planned growth to 1000+ machines within 3 to 5 years. Information system's Application Delivery Group is looking for individuals with a strong commitment to object oriented programming and design methodologies to join our development team. The successful candidate would fit the following criteria: - 2+ years experience in OO Analysis, OO Design and OO Development. - Experience with NeXTSTEP Development a definite plus. - Willingness to relocate to Calgary. All inquiries should be forwarded to Raj Sinha, (403) 290-2573. Deadline for applications is Oct. 30th, 1993. About PanCanadian: ================= PanCanadian Petroleum Ltd, a Calgary, Alberta based company, is engaged in the exploration and production of oil, gas, and natural gas liquids. Since it incorporation in 1971, PanCanadian has undergone steady expansion and is now the second largest hydrocarbon producer in Canada.
From: doug@foxtrot.ccmrc.ucsb.edu (Douglas Scott) Newsgroups: comp.sys.next.sysadmin,comp.sys.next.programmer Subject: Stupid, Useless Error Messages!!! (What *is* this one??) Date: 12 Oct 1993 18:28:07 GMT Organization: Center for Computer Music Research and Composition, U.C.S.B. Message-ID: <29esvn$met@hub.ucsb.edu> I ran a program today and got the following message: EMT trap Boy, now isnt *that* descriptive and helpful? Can someone enlighten me as to the meaning of these profound words? EMT? Electro-Magnetic Transistors? Exceptionally Morbid Turbochargers?? Thanks for any information. -- Douglas Scott | Senior Development Engineer Tel: (805) 893-8352 | Center for Computer Music Research and Composition Internet (NeXTMail ok): | Music Department <doug@ccmrc.ucsb.edu> | University of California, Santa Barbara
From: Mark Crispin <mrc@Tomobiki-Cho.CAC.Washington.EDU> Newsgroups: comp.sys.next.sysadmin,comp.sys.next.programmer Subject: re: Stupid, Useless Error Messages!!! (What *is* this one??) Date: Tue, 12 Oct 1993 12:28:04 -0700 Organization: University of Washington Message-ID: <MS-C.750454084.377401575.mrc@Tomobiki-Cho.CAC.Washington.EDU> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII To: Douglas Scott <doug@foxtrot.ccmrc.ucsb.edu> In-Reply-To: <29esvn$met@hub.ucsb.edu> EMT was one of several trapping instructions on the DEC PDP-11. On UNIX, if an EMT instruction is executed, the process gets a SIGEMT signal and the process is stopped. SIGEMT has probably been recycled to be used for some other trap instruction in modern chips, just as SIGIOT, etc. have been. Basically, it should be treated the same as SIGILL -- that is, your process executed an illegal machine instruction.
Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin From: sahayman@cs.toronto.edu (Steve Hayman) Subject: Can I pass variable argument lists from one method to another? Message-ID: <93Oct12.154759edt.48145@neat.cs.toronto.edu> Organization: Steve Hayman + Associates; Toronto References: <MS-C.750454084.377401575.mrc@Tomobiki-Cho.CAC.Washington.EDU> Date: 12 Oct 93 19:48:21 GMT [Apologies if you see this twice. We're having news feed problems.] I want my object to have a method that takes a variable number of arguments, and I don't want to look at the arguments; I just want to relay the entire method and argument list to DBExpression's initForEntity:fromDescription: method (which also takes a variable number of arguments.) Is there some clever way to do this or is it just not possible in the language? For instance, suppose my object declares this method - doSomething:e withFormat:(const char *)format,... and within that method, I want to do something like id anExpr = [[DBExpression alloc] initForEntity:e fromDescription:format ...]; passing the "format" argument and all following arguments. except that that syntax isn't legit. I suspect that this can't be done, but if anyone knows a clever way to do this, please email me and I'll post a summary. BTW my goal here is to write a subclass of DBRecordList that lets you create a record list in one quick statement, mimicking the way SQL works. id h = [[[HandyRecordList alloc] init] select:"NAME,SALARY" from:employeeEntity where:"SALARY < %d", [slider intValue] ]; I've been teaching DBKit to SQL programmers and I think they'd find it easier (initially, anyway) if worked this way, rather than having to create a qualifier, a property list, one or more expression objects, etc etc. Regards, Steve -- Steve Hayman Steve Hayman + Associates NeXTSTEP Consulting Toronto, Ontario shayman@Objectario.com (416) 769 8995
From: michelle@meaddata.com (Michelle Buck) Newsgroups: comp.sys.next.programmer Subject: PS Wrap for multiple composites Date: 12 Oct 1993 20:42:03 GMT Organization: Mead Data Central, Dayton OH Message-ID: <29f4qr$1ch@meaddata.meaddata.com> For all you PostScript gurus - How can I write a PS wrap that will take as its arguments an array of data to be composited and an array of coordinates? When compositing lots of small areas, the overhead for the round trip PostScript message is a bottleneck. I would like to specify many sets of data and many sets of coordinates with one round trip message. I want the equivalent of the PSxyshow() operator for bitmaps instead of text. Thanks for any help! - Erik Buck --------------------------------------------------------------------------- Michelle Buck michelle@meaddata.com or Mead Data Central ...!uunet!meaddata!michelle Dayton, OH "Do everything I say and I'll be your slave" ---------------------------------------------------------------------------
From: pcu@martial.ccs.itd.umich.edu (Peter C. Urka) Newsgroups: comp.sys.next.programmer Subject: Re: What's wrong with GDB? Help, I'm lost! Date: 12 Oct 1993 21:22:48 GMT Organization: U of Michigan, Ann Arbor Message-ID: <29f778$c0b@terminator.rs.itd.umich.edu> References: <garycCErKqF.6I9@netcom.com> <29dh3u$jfn@crl.crl.com> >In article <garycCErKqF.6I9@netcom.com> garyc@netcom.com (Gary I. Chang) writes: >:>The program counter was jumping thru a sequence of assignment statement, >:>and sometimes enter an invalid block. >Weird jumps of program control will sometimes happen if you compile with >the optimizer on. It's being clever. Try compiling with it off (No -O >flag to cc) Try make debug also. You can do it from PB by typing debug before you click the debug button under the Build panel. > >:>when printed from gdb: >:> >:> [myObject cost] = 100; >:> i = 0; >:> Try also gdb> disp myObject and gdb> disp *myObject, then you will know if it's the object, or the message, and you'll know if myObect does indeed = nil. -- Peter Urka (pcu@umich.edu) Dept. of Chemistry, Univ. of Michigan Anything to me is sweeter,
Newsgroups: comp.sys.next.programmer From: mark@xexos.com (Mark Chamberlain) Subject: zs0: recvbuf overload Message-ID: <1993Oct12.232926.6115@xexos.com> Sender: news@xexos.com Organization: Xexos, Ltd (London) Date: Tue, 12 Oct 1993 23:29:26 GMT We have a bunch of applications that at certain times, can generate a lot of TCP traffic between two processes running on the same machine. When traffic reaches certain quite high traffic peaks, we get the above error on the console, and the machine tends to die. Its obviously the ethernet device overflowing in some way - has anyone seen this before, suggest a cure or direction? We're stumped. -- Mark Chamberlain +44 71 237 4535 Xexos Ltd fax +44 71 231 0844 London mark@xexos.com
From: scott@nic.gac.edu (Scott Hess) Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin Subject: Problems with ProjectBuilder and remote building. Date: 12 Oct 93 19:05:27 Organization: Is a sign of weakness Distribution: world Message-ID: <SCOTT.93Oct12190527@nic.gac.edu> For some odd reason, when I have ProjectBuilder build remotely on my other machine, it works fine, except that when I click on an error it is unable to open the file. Edit pops a panel saying something like: Unable to open Net/howard/Users/scott/MyProject/Barf.m. File system error: No such file or directory Anyone else get this? Any idea whyI am? /Net/howard/Users/scott/MyProject/Barf.m _does_ exist, but the above seems to indicate that it forgets the leading / on the filename ... Thanks, -- scott hess <scott@nic.gac.edu> <I can handle NeXTMail, but don't like it> 12901 Upton Avenue South, #326 Burnsville, MN 55337 (612) 895-1208 Anytime! <C++: ... One Language to bring them all and in the darkness bind them> <In the Land of Redmond where the Shadows lie.>
From: al158272@academ01.mty.itesm.mx (Lino Enrique Vali~as Parra) Newsgroups: comp.sys.next.programmer Subject: Looking for source code Date: 13 Oct 93 01:36:38 GMT Organization: ITESM, Campus Monterrey Message-ID: <al158272.750476198@academ01> We are working on a development of a compiler for a music language, to make it easier to teach and/or learn music. We don't have much experience with the Next programming environment so we are looking if someone out there has some source code for producing sounds. If anyone has done something similar and would like to help us, we will appreciate it. Please reply directly to any of our accounts since we don't have much access to Net News Thanks in advance. Jessica Carranza al160162@academ01.mty.itesm.mx Lino Valinas al158272@academ01.mty.itesm.mx
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer,comp.windows.x.motif,comp.unix.questions Subject: Man page problem with Co-Xist 3.0 Date: 13 Oct 1993 01:34:53 +0100 Organization: me organized? That's a joke! Distribution: inet Message-ID: <29fifd$7q2@steffi.demon.co.uk> I'm having a problem with some of the manual pages for Co-Xist 3.0 The following man pages stop short when I do a man topic because tbl doesn't process the unformatted sort all the way. Has anybody else experienced this problem? Or do you recognise the tbl errors? Could existing Co-Xist users try a man mwm and tell me what happens. ./mwm.n: line 483: no specification tbl quits ./ApplicationShell.n: line 411: no specification tbl quits ./Composite.n: line 424: no specification tbl quits ./Constraint.n: line 425: no specification tbl quits ./Core.n: line 407: no specification tbl quits ./Object.n: line 405: no specification tbl quits ./OverrideShell.n: line 415: no specification tbl quits ./RectObj.n: line 406: no specification tbl quits ./Shell.n: line 412: no specification tbl quits ./TopLevelShell.n: line 408: no specification tbl quits ./TransientShell.n: line 417: no specification tbl quits ./VendorShell.n: line 442: no specification tbl quits ./VirtualBindings.n: line 392: no specification tbl quits ./WMShell.n: line 409: no specification tbl quits ./XmArrowButton.n: line 410: no specification tbl quits ./XmArrowButtonGadget.n: line 408: no specification tbl quits ./XmBulletinBoard.n: line 425: no specification tbl quits ./XmCascadeButton.n: line 458: no specification tbl quits ./XmCascadeButtonGadget.n: line 460: no specification tbl quits ./XmCommand.n: line 421: no specification tbl quits ./XmDialogShell.n: line 450: no specification tbl quits ./XmDisplay.n: line 440: no specification tbl quits ./XmDragContext.n: line 446: no specification tbl quits ./XmDragIcon.n: line 439: no specification tbl quits ./XmDrawingArea.n: line 416: no specification tbl quits ./XmDrawnButton.n: line 416: no specification tbl quits ./XmDropSite.n: line 427: no specification tbl quits ./XmDropTransfer.n: line 451: no specification tbl quits ./XmFileSelectionBox.n: line 576: no specification tbl quits ./XmForm.n: line 504: no specification tbl quits ./XmFrame.n: line 425: no specification tbl quits ./XmGadget.n: line 411: no specification tbl quits ./XmInstallImage.n: line 414: no specification tbl quits ./XmLabel.n: line 445: no specification tbl quits ./XmLabelGadget.n: line 443: no specification tbl quits ./XmList.n: line 503: no specification tbl quits ./XmMainWindow.n: line 437: no specification tbl quits ./XmManager.n: line 407: no specification tbl quits ./XmMenuShell.n: line 453: no specification tbl quits ./XmMessageBox.n: line 475: no specification tbl quits ./XmPanedWindow.n: line 438: no specification tbl quits ./XmPrimitive.n: line 409: no specification tbl quits ./XmPushButton.n: line 427: no specification tbl quits ./XmPushButtonGadget.n: line 429: no specification tbl quits ./XmScale.n: line 428: no specification tbl quits ./XmRowColumn.n: line 524: no specification tbl quits ./XmScreen.n: line 421: no specification tbl quits ./XmScrollBar.n: line 425: no specification tbl quits ./XmScrolledWindow.n: line 449: no specification tbl quits ./XmSelectionBox.n: line 477: no specification tbl quits ./XmSeparator.n: line 433: no specification tbl quits ./XmSeparatorGadget.n: line 426: no specification tbl quits ./XmText.n: line 451: no specification tbl quits ./XmTextField.n: line 429: no specification tbl quits ./XmToggleButton.n: line 436: no specification tbl quits ./XmToggleButtonGadget.n: line 439: no specification tbl quits cheers.
Newsgroups: comp.sys.next.programmer From: simsong@next.cambridge.ma.us (Simson L. Garfinkel) Subject: "Dyanmic Linking" is a dog Message-ID: <1993Oct13.010843.1273@next.cambridge.ma.us> Sender: simsong@next.cambridge.ma.us Organization: NeXTWORLD Magazine Date: Wed, 13 Oct 1993 01:08:43 GMT I've seen a lot of people extoll the wonders of dynamic linking and bundles lately. People who use these features should know that they have a serious problem: if you use dynamic linking/loading of object code, Mach has to copy the object code into your memory map and then page it out to the swap file. Normally, code is "pure" and Mach can page it in from the executable itself. Pure code never needs to get paged out; it just gets overwritten, since the memory image is never different than what is in the executable. But when you use dynamic linking/loading, code pages get dirty (with relocation info), you have to page them out, your swap file grows, and performance goes south. -- ................................................................simson
Newsgroups: comp.sys.next.programmer,comp.lang.oberon,comp.object.logic,comp.lang.scheme From: Bob Hathaway <rjh@geodesic.com> Subject: Comp.Object FAQ Version 1.0.3 (10-12) Announcement Message-ID: <1993Oct13.040336.5154@midway.uchicago.edu> Followup-To: comp.object Summary: Frequently Asked Questions (FAQ) List and Available Systems For Object-Oriented Technology Sender: news@uchinews.uchicago.edu (News System) Organization: Geodesic Systems Date: Wed, 13 Oct 1993 04:03:36 GMT This announces the October version 1.0.3 of the Comp.Object FAQ! It has many updates and corrections and has several very up-to-date appendices on object- oriented methodologies and systems. It may very well comprise the latest and most up-to-date collection of object-oriented systems and terminology in the world today! New noteworthy additions are the OO methodologies and OOA/OOD sections and ever expanding appendices. Future FAQs will contain a diff file. The FAQ is updated and posted monthly. Comments, suggestions, additions, updates, and new systems and site entries should be sent to rjh@geodesic.com. The FAQ is posted to the comp.object, comp.answers and news.answers newsgroups and is available via anonymous ftp from zaphod.uchicago.edu and rtfm.mit.edu, although new versions may be temporarily found in zaphod's /uploads directory. A hypertext version is also available, see the FAQ for details. Thank you to the many people who have contributed their time and effort into helping this document spread the word about object-oriented technology and available systems! It is hoped it will be most useful in that endeavor. Best Regards! bob
From: scott@nic.gac.edu (Scott Hess) Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin Subject: Re: Problems with ProjectBuilder and remote building. Date: 12 Oct 93 22:45:59 Organization: Is a sign of weakness Distribution: world Message-ID: <SCOTT.93Oct12224559@nic.gac.edu> References: <SCOTT.93Oct12190527@nic.gac.edu> In-reply-to: scott@nic.gac.edu's message of 12 Oct 93 19:05:27 In article <SCOTT.93Oct12190527@nic.gac.edu>, scott@nic.gac.edu (Scott Hess) writes: For some odd reason, when I have ProjectBuilder build remotely on my other machine, it works fine, except that when I click on an error it is unable to open the file. Edit pops a panel saying something like: Unable to open Net/howard/Users/scott/MyProject/Barf.m. File system error: No such file or directory Anyone else get this? Any idea whyI am? /Net/howard/Users/scott/MyProject/Barf.m _does_ exist, but the above seems to indicate that it forgets the leading / on the filename ... I've come closer, now. It occurred to me that this might be related to the Edit weirdism wherein Edit removes the leading /private from directory names, so that when you open /private/tmp/console.log, it actually shows /tmp/console.log. [NeXT did that because /tmp is a softlink to /private/tmp, as are other directories, and they apparently want things to look as if that structure isn't really there.] Anyhow, that's apparently it. If I toss in a softlink from /private/Net/howard to /, then this stuff starts working. Sooooo, now my question is why it didn't work in the first place? FYI: howard:/private/Net> nidump fstab / howard:/Users /Net nfs rw,bg,intr,noquota,net 0 0 howard:/ /Net nfs rw,bg,intr,noquota,net 0 0 stanley:/ /Net nfs net 0 0 which would _seem_ to indicate that this stuff is being mounted in the NeXT-std manner. But, perhaps I don't know the subtle bug that requires me to incant various magical formulae at it ... Later, -- scott hess <scott@nic.gac.edu> <I can handle NeXTMail, but don't like it> 12901 Upton Avenue South, #326 Burnsville, MN 55337 (612) 895-1208 Anytime! <C++: ... One Language to bring them all and in the darkness bind them> <In the Land of Redmond where the Shadows lie.>
Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin From: peter@corsica (Peter Eisch) Subject: Re: Problems with ProjectBuilder and remote building. Message-ID: <CEtK0L.M7L@news2.cis.umn.edu> Followup-To: comp.sys.next.programmer,comp.sys.next.sysadmin Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Hospital and Clinic, Labratory Information Services References: <SCOTT.93Oct12190527@nic.gac.edu> <SCOTT.93Oct12224559@nic.gac.edu> Date: Wed, 13 Oct 1993 04:45:11 GMT Scott Hess (scott@nic.gac.edu) wrote: : In article <SCOTT.93Oct12190527@nic.gac.edu>, : scott@nic.gac.edu (Scott Hess) writes: : For some odd reason, when I have ProjectBuilder build remotely on : my other machine, it works fine, except that when I click on an : error it is unable to open the file. Edit pops a panel saying : something like: : Unable to open Net/howard/Users/scott/MyProject/Barf.m. File : system error: No such file or directory : Anyone else get this? Any idea whyI am? ... How about exporting /Users on howard and create a mount in / (or ..) that does something like I have here at home: grannyb:/Users /Users nfs bg,intr 0 0 Then the path is pretty straight forward. (It's also a lot less clicking in the File Viewer...if you didn't have so many shelves in your Terminal windows!) This might seem wierd that you're mounting /Users on top of /Users when grannyb boots, but this darn OS is smart enough to notice that and figure that it really doesn't need to do that mount anyway. I'll drive to sunny Burnsville if you'ld like further help...? peter -- Always looking for a handy place to nap... peter@tahiti.umhc.umn.edu (Peter Eisch) peter.a.eisch@uwrf.edu
Newsgroups: comp.sys.next.programmer From: andy@research.canon.oz.au (Andy Newman) Subject: Re: Should the WindowServer _ever_ die? Message-ID: <CEtDGI.Fzt@research.canon.oz.au> Sender: news@research.canon.oz.au Organization: Canon Information Systems Research Australia References: <29da4c$5vb@ursula.ee.pdx.edu> Date: Wed, 13 Oct 1993 02:26:41 GMT marcus@ursula.ee.pdx.edu (Marcus Daniels) writes: >It seems to me a segfaulting WindowServer shouldn't be my problem. Exactly. If a server (of any description) can be crashed (or made to do things that are not within the specified i/f protocol) then the server is broken. -- Andy Newman (andy@research.canon.oz.au)
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: mike@lorax.com (Mike Ferris) Subject: MOKit Version 0.9 Release 1 now available Message-ID: <CEt3tq.67F@lorax.com> Sender: mike@lorax.com (Mike Ferris) Organization: Stultus Enterprises Date: Tue, 12 Oct 1993 22:58:38 GMT Hi, I have just uploaded the first release of a kit of objects called MOKit (for Mike's Object Kit) to cs.orst.edu and sonata.cc.purdue.edu. It should be in pub/next/submissions at both sites until the moderators migrate them elsewhere. Here is some info from the ReadMe file: ------------Begin README--------------- MOKit Version 0.9, release 1 ---------------------------- Welcome to the first release of MOKit! What is MOKit? -------------- MOKit is a set of objects which I have written. I am making it available for use by whoever wants to use it. Full source is provided for all the classes, palettes, and examples. The following notice appears in each header file in the kit. // ABOUT MOKit // // MOKit is a collection of useful and general objects. Permission is // granted by the author to use MOKit in your own programs in any way // you see fit. All other rights to the kit are reserved by the author // including the right to sell these objects as part of a LIBRARY or as // SOURCE CODE. In plain English, I wish to retain rights to these // objects as objects, but allow the use of the objects as pieces in a // fully functional program. NO WARRANTY is expressed or implied. The author // will under no circumstances be held responsible for ANY consequences to // you from the use of these objects. Since you don't have to pay for // them, and full source is provided, I think this is perfectly fair. As outlined above, anyone is free to use these objects in their own applications. There is NO WARRANTY express or implied. Now on to more interesting details. What classes are in MOKit? -------------------------- MOKit currently contains 7 classes, one palette, and one example app. There is full Next-style class documentation for each class. Here's a brief description of each class included in this release: MOString - yet another string class. This class basically provides a wrapper for a c-style null-terminated string. The class knows about Next-style unique strings as well. Many methods for accessing and modifying the string are provided including a fairly complete set of covers for the regular ANSI string library functions. MOSybaseString - a subclass of MOString which adds a few methods for dealing with string's that will be used to build qualifiers for Sybase. Primarily the class provides a way to make a given string case-insensitive SQL-style (eg. changing "a" to "[aA]"). It also provides a method for converting unix style wildcard characters into their SQL equivalents. MORegexFormCell - a subclass of FormCell which adds input validation via regular expression pattern matching. Each cell can have a list of regular expressions associated with it. When the user tabs out of the field, the entry is checked against the regular expressions. The entry must match at least one of the cell's expressions or it is not accepted and the field does not allow editing to end. It is possible to check a wide variety of input formats via regular expressions. MORegexTextCell - a subclass of TextFieldCell which is to TextFieldCell what MORegexFormCell is to FormCell. MODateFormCell - a subclass of MORegexFormCell specifically set up to check dates. Dates cannot be checked completely by regular expression matching, so this class lets regular expressions do what they can and then finishes validating the date. The class also allows customizable reformatting of entered dates via a printf style format string. MODateTextCell - a subclass of MORegexTextCell similar to MODateFormCell except that it is a TextFieldCell by ancestry. MOMatrix - a subclass of Matrix that allows variably sized rows and columns. What else is in MOKit? ---------------------- As well as the class sources, headers, and documentation, MOKit contains several other peices. There is one palette which has several Forms with preconfigured MORegexFormCells in them, several Matrix's with preconfigured MORegexTextCells in them, one Form with a MODateFormCell in it, and one Matrix with a MORegexDateCell in it. The palette provides attribute inspectors for each of the four cell classes. There is an example program which demonstrates the use of MOMatrix. There are separate bundles for each class in the library. The bundles are not for use in normal apps. They are useful for apps that will do a lot of dynamic loading and for IB palettes. See the REDAME file in the Bundle directory for more info. How do I install it? -------------------- There is a master Makefile in the top-level MOKit directory (the directory where this README file was). The default install location is various directories under /LocalDeveloper. If you want to change this, edit the first few lines of the master Makefile. Once the installation locations are set up like you want, cd into the MOKit directory and type make install. This will build all the necessary binaries and install everything (library, headers, documentation, and palettes). How do I uninstall it? ---------------------- cd into the top-level MOKit directory and do a make uninstall. How do I clean out the object code and binaries and such? --------------------------------------------------------- cd into the top-level MOKit directory and do a make distclean. What else can the top-level Makefile do? ---------------------------------------- These are the supported targets... lib: builds the optimized library bundles: builds the individual class bundles examples: builds the example apps (depends on lib) palettes: builds the IB palettes (depends on bundles) all: build the lib, bundles, examples, and palettes targets install: installs the library, docs, headers, and palettes (depends on lib and palettes) uninstall: removes all traces of MOKit from the installation area distclean: removes all derived and backup files from the MOKit distribution directory More specialized control over building can be accomplished by using the Makefiles in the individual directories. Specifically, debug and profile versions of the library can be made. The top-level install target will install any versions of the library that exist when it is called. It will only create the optimized version, though. So if you want to install all three, first make the debug and profile versions using the Source directory Makefile, then use the install target at the top level. Future Directions ----------------- I plan to keep adding objects to this kit. I have several in the works now that didn't quite make it into this release. This release is number 0.9 because it will be the first release to be used by people besides me. When I have had some comments and bug reports, I will create a 1.0 version. For now, consider this a beta release. I have also considered merging this project with the MiscKit effort currently being organised by Dan Yacktman. I want to wait until their policy and such settles down, though, and I didn't want to delay letting people at these objects, so here they are. Let me know what you think! Well, that's all for now. Please let me know if you use the kit. Bugs, comments, and suggestions can be sent to: Mike Ferris mike@lorax.com Happy hacking -Mike ------------End README---------------
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Re: "Dyanmic Linking" is a dog Date: 13 Oct 1993 03:15:47 -0700 Message-ID: <29gkgj$paa@ursula.ee.pdx.edu> References: <1993Oct13.010843.1273@next.cambridge.ma.us> simsong@next.cambridge.ma.us (Simson L. Garfinkel) writes: >I've seen a lot of people extoll the wonders of dynamic linking and bundles >lately. People who use these features should know that they have a serious >problem: if you use dynamic linking/loading of object code, Mach has to copy >the object code into your memory map and then page it out to the swap file. >Normally, code is "pure" and Mach can page it in from the executable itself. >Pure code never needs to get paged out; it just gets overwritten, since the >memory image is never different than what is in the executable. But when you >use dynamic linking/loading, code pages get dirty (with relocation info), you >have to page them out, your swap file grows, and performance goes south. An important point, nonetheless the recent context of the discussion (and your article) was developer productivity. In that context, bundles greatly reduce linking time. The incremental linking procedure for subprojects is the same as the bundle linking procedure. Therefore, a finished app can be easily reorganized as necessary to optimially balance the tradeoffs between static and dynamic linking. Another problem with bundles is that you can't use the class info you load in literally. You have to do everything indirectly, through class objects. It would be better if it were possible to build two part bundles -- so that the objc-class-sections could be linked ahead of time (either dynamically or statically). (I suppose that is possible now, if you wrote a section extraction utility and substituted an install program). marcus
Newsgroups: comp.sys.next.programmer From: masa@fawlty10.eng.monash.edu.au (Mr M Takatsuka) Subject: Help! Emacs.app(Emacs-3.0) Message-ID: <masa.750506917@fawlty10.eng.monash.edu.au> Summary: How can I build Emacs.app Keywords: Emacs.app(Emacs-3.0) Sender: news@monu6.cc.monash.edu.au (Usenet system) Organization: Monash University, Melb., Australia. Date: Wed, 13 Oct 1993 10:08:37 GMT Hello - I got source files of Emacs.app(Emacs-3.0). I can compile them but cannot execute Emacs.app. When I excute it, in the console, it says Oct 13 20:09:41 localhost Emacs[285]: An uncaught exception was raised Oct 13 20:09:41 localhost Emacs[285]: DPS client library error: PostScript program error, DPSContext 110258 Oct 13 20:09:41 localhost Emacs[285]: %%[ Error: undefined; OffendingCommand: get ]%% I have no idea what's wrong. Could someone please help me. Thank you Regards, Masa ============================================================================ Masahiro Takatsuka (MASA) e-mail: Masahiro.Takatsuka@eng.monash.edu.au(non-NeXTmail) ---------------------------------------------------------------------------- Intelligent Robotics Research Center :OzNeXT :xxxxxx Eng. Building 4, Room No. 218 :NeXus :92-00226 Department of Electrical & :CompuServe :71661,1331 Computer Systems Engineering :Nifty-serve :MGG1331 Monash University : Wellington Rd., Clayton : Victoria 3168, AUSTRALIA : ============================================================================ -- ============================================================================ Masahiro Takatsuka (MASA) e-mail: Masahiro.Takatsuka@eng.monash.edu.au(non-NeXTmail) ----------------------------------------------------------------------------
Control: cancel <masa.750506917@fawlty10.eng.monash.edu.au> Newsgroups: comp.sys.next.programmer From: masa@fawlty10.eng.monash.edu.au (Mr M Takatsuka) Subject: cancel <masa.750506917@fawlty10.eng.monash.edu.au> Message-ID: <1993Oct13.110216.2382@monu6.cc.monash.edu.au> Sender: news@monu6.cc.monash.edu.au (Usenet system) Organization: Monash University, Melb., Australia. Date: Wed, 13 Oct 1993 11:02:16 GMT cancel <masa.750506917@fawlty10.eng.monash.edu.au> in newsgroup comp.sys.next.programmer -- ============================================================================ Masahiro Takatsuka (MASA) e-mail: Masahiro.Takatsuka@eng.monash.edu.au(non-NeXTmail) ----------------------------------------------------------------------------
Control: cancel <masa.750506917@fawlty10.eng.monash.edu.au> Newsgroups: comp.sys.next.programmer From: masa@fawlty10.eng.monash.edu.au (Mr M Takatsuka) Subject: cancel <masa.750506917@fawlty10.eng.monash.edu.au> Message-ID: <1993Oct13.110801.2912@monu6.cc.monash.edu.au> Sender: news@monu6.cc.monash.edu.au (Usenet system) Organization: Monash University, Melb., Australia. Date: Wed, 13 Oct 1993 11:08:01 GMT cancel <masa.750506917@fawlty10.eng.monash.edu.au> in newsgroup comp.sys.next.programmer -- ============================================================================ Masahiro Takatsuka (MASA) e-mail: Masahiro.Takatsuka@eng.monash.edu.au(non-NeXTmail) ----------------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: ciu@ubszh.net.ch Subject: Problems with fat precompiled headers Content-Type: text/plain Message-ID: <ciu.93Oct13152446@nol510> Keywords: Precompiled Headers, Fat Binaries Sender: usenet@ubszh.net.ch (news) Organization: Union Bank of Switzerland Mime-Version: 1.0 Date: Wed, 13 Oct 1993 14:24:46 GMT I wonder, if anybody else had the same or similar problems, or if I'm just doing something wrong... We are using NeXTstep Rel 3.1 on both our Intel-CPUs and NeXT-CPUs. To precompile I say: $cc -precomp -arch m68k -arch i386 -Wprecomp ourHeaders.h -o ourHeaders.p Precompiling works fine. Compiling a project on an Intel-CPU works fine if I precompiled on an Intel-CPU. Compiling a project on a NeXT-CPU works fine if I precompiled on a NeXT-CPU. (Note, that compiling for m68k, or i386, or m68k_i386 just works...) BUT: precompiling on either Intel-CPUs or NeXT-CPUs and then compiling a project on the other CPUs DOES NOT WORK. It produces errors such as: For architecture m68k: Demo.m: In method `foo:' Demo.m:10: `NO' undeclared (first use this function) Demo.m:10: (Each undeclared identifier is reported only once Demo.m:10: for each function it appears in.) *** Exit 1 Stop. This is really a precompiler-problem, since after removing 'ourHeaders.p' these problems don't appear anymore. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - NeXT-mail: ciu@ubszh.net.ch | home: Zurich, Switzerland non-NeXT: 100016.662@compuserve.com | 08 34'01" E 47 17'26" N phone: +41 1 722 17 10 | 685 200 / 238 300 470 m - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
From: hyongsop@saturn.eecs.umich.edu (Hyong S. Shim) Newsgroups: comp.sys.next.programmer Subject: NXOpenTypedStreamForFile ... HELP Date: 13 Oct 1993 15:24:57 GMT Organization: University of Michigan EECS Dept. Message-ID: <29h6k9$81@zip.eecs.umich.edu> Hi All, The Next function, NXOpenTypedStreamForFile(), crashes my program. Strangely though, when I run the program within the debugger, everything's fine. Does anyone know what's going on? --Hyong Shim (hyongsop@saturn.eecs.umich.edu)
Newsgroups: comp.sys.next.programmer,comp.os.os2.programmer,comp.sys.amiga.programmer,comp.sys.mac.programmer,comp.sys.apple2.programmer,comp.os.vms,comp.os.cpm,comp.sys.mac.programmer From: badman@evtsg8.enet.dec.com () Subject: Re: Code Management Tools Message-ID: <1993Oct13.153112.1292@janix.pcs.dec.com> Sender: news@janix.pcs.dec.com (USENET News System) Organization: Digital Equipment Corporation References: <1993Oct9.014359.24119@cal.isac.ca> Date: Wed, 13 Oct 1993 15:31:12 GMT Hi, I am willing to review your book and attempt a port to VMS. I have about 7 years software engineering experience on VMS platforms along with some knowledge of MSDOS systems (and Borland C) and some Unix. If I attempt the port I would prefer to see both the Unix and MSDOS versions of the software from which to work. I am also in a position to evaluate your tools against those written by Digital that run on VMS if that's of any use to you. Let me know how you feel about that. The one problem I have is that if you send me the book in electronic format I would prefer postscript or plain text since we don't have TeX or anything like that set up locally. Cheers, Jamie Badman (freelance engineer currently working for Digital Equipment, Paris, Europe).
From: bbeckwit@carrock.hw.stratus.com (Bob Beckwith) Newsgroups: comp.sys.next.programmer Subject: Re: "Dyanmic Linking" is a dog Date: 13 Oct 1993 16:32:14 GMT Organization: Stratus Computer, Inc. Message-ID: <29haie$f09@transfer.stratus.com> References: <1993Oct13.010843.1273@next.cambridge.ma.us> In article <1993Oct13.010843.1273@next.cambridge.ma.us> simsong@next.cambridge.ma.us writes: >Normally, code is "pure" and Mach can page it in from the executable itself. >Pure code never needs to get paged out; it just gets overwritten, since the >memory image is never different than what is in the executable. But when you >use dynamic linking/loading, code pages get dirty (with relocation info), you >have to page them out, your swap file grows, and performance goes south. Don't you think this is overstating this a bit? I mean what you say is true, however, once you've loaded, relocated and paged out the code, this really isn't a whole lot different than the situation you've got with "pure" code. The differences being that the code lives in the swapfile (which is potentially larger now) and you swap from the swapfile. Big deal. Where did my performance go south???? The point being, after you've reloc'd the code, it'll get paged out *once* and then only paged in as necessary (just like "pure code"). Did I miss something??? --Bob -- Bob_Beckwith@vos.stratus.com Stratus Computer, Inc., Hardware Engineering 55 Fairbanks Blvd. Marlboro, MA 01752 USA
From: therbert@umiami.ir.miami.edu Newsgroups: comp.sys.next.programmer Subject: Help on compliling unix pgms for 3.x Message-ID: <1993Oct13.141215.16054@umiami.ir.miami.edu> Date: 13 Oct 93 14:12:14 EDT Organization: Univ of Miami IR I hadn't done a lot with trying to compile unix binaries for 3.x systems until I got my NeXTstep/Intel box. Generally, the binaries for generic bsd unix programs were those which I compiled on a 2.1 system and I just ran them as they were on 3.0 on black hardware. Now, I tried to compile zmodem (yes, I know about the serial port problems) for NS/Intel 3.1. I get a lot of error messages and no binary - I think that this may be the result of new include files. (I have no problems with simple C programs which don't include lots of things) - Includes for the zmodem "include" - #include <sys/types.h> #include <sys/stat.h> #include <termio.h> #include <sys/ioctl.h> (There seems to be a termios.h in 3.0 but changing the includes to that spelling made no difference.) Can anyone clue me in on what is happening - Obviously this is a concern for more than just compiling zmodem sources. I suspect problems with other programs. (I did have problems on 3.0 black hardware compiling g++lib sources and I believe that someone pointed out some changes in includes - But, as it turned out, I was sent the new files and didn't need to carry that matter any further.) Thanks for any help. Tom Herbert University of Miami therbert@umiami.ir.miami.edu (no NeXTmail - maybe in Dec!!!)
Newsgroups: comp.sys.next.programmer From: masa@fawlty10.eng.monash.edu.au (Mr M Takatsuka) Subject: Help! Emacs.app(Emacs-3.0) Message-ID: <masa.750509780@fawlty10.eng.monash.edu.au> Summary: I cannot build executable Emacs.app. Keywords: Emacs.app Sender: news@monu6.cc.monash.edu.au (Usenet system) Organization: Monash University, Melb., Australia. Date: Wed, 13 Oct 1993 10:56:20 GMT Hello - I got source files of Emacs.app(Emacs-3.0). I can compile them but cannot execute Emacs.app. When I excute it, in the console, it says ----------------------------------------------------------------------------- Oct 13 20:09:41 localhost Emacs[285]: An uncaught exception was raised Oct 13 20:09:41 localhost Emacs[285]: DPS client library error: PostScript program error, DPSContext 110258 Oct 13 20:09:41 localhost Emacs[285]: %%[ Error: undefined; OffendingCommand: get ]%% ----------------------------------------------------------------------------- I have no idea what's wrong. Could someone please help me. Thank you Regards, Masa ============================================================================ Masahiro Takatsuka (MASA) e-mail: Masahiro.Takatsuka@eng.monash.edu.au(non-NeXTmail) ---------------------------------------------------------------------------- Intelligent Robotics Research Center :OzNeXT :xxxxxx Eng. Building 4, Room No. 218 :NeXus :92-00226 Department of Electrical & :CompuServe :71661,1331 Computer Systems Engineering :Nifty-serve :MGG1331 Monash University : Wellington Rd., Clayton : Victoria 3168, AUSTRALIA : ============================================================================ -- ============================================================================ Masahiro Takatsuka (MASA) e-mail: Masahiro.Takatsuka@eng.monash.edu.au(non-NeXTmail) ----------------------------------------------------------------------------
Message-ID: <a9$@byu.edu> Date: Wed, 13 Oct 93 12:23:51 MDT From: yackd@texas.et.byu.edu (Don Yacktman) Newsgroups: comp.sys.next.programmer Distribution: world References: <1993Oct13.010843.1273@next.cambridge.ma.us> <29gkgj$paa@ursula.ee.pdx.edu> Organization: Brigham Young University, Provo UT USA Subject: Re: "Dyanmic Linking" is a dog In article <29gkgj$paa@ursula.ee.pdx.edu>, marcus@ursula.ee.pdx.edu (Marcus Daniels) writes: >An important point, nonetheless the recent context of the discussion >(and your article) was developer productivity. > >In that context, bundles greatly reduce linking time. The incremental >linking procedure for subprojects is the same as the bundle linking procedure. >Therefore, a finished app can be easily reorganized as necessary to >optimially balance the tradeoffs between static and dynamic linking. Yes. At expo, in the Developer Conference, it was recommended that you use bundles while developing, so that the code can be incrementally linked. This improves the development cycle time. Then, when you are ready to go into production, you should statically link in your bundles. (It's still good to leave the API open, though, so that your users can add to the app, too.) As an example, take an app with lots of tools like IconBuilder. What should be done is to statically link in all the tools that come with the distribution, but still allow the user to link in their own tools via the API. Of course, there are time when you don't want to statically link, or vice versa, and you have to strike a balance that works in the particular application, but the general idea is sound. Performance is most important in the production code; I can stand lower performance while I'm debugging my algorithms... it seems a good trade off to me. However, Simson's point about dynamic linking being a dog is true if a developer doesn't go to the trouble of statically linking once testing is done. Note that there are other tricks you can pull to increase performance of statically linked stuff, too, like scatter loading, etc., as discussed at expo. -- Don_Yacktman@byu.edu Nepotism is a relative thing.
From: g12770@garnet.berkeley.edu () Newsgroups: comp.sys.next.programmer Subject: Newbie Question - Compiling Gopher, Archie, and Wais Clients for Intel Date: 13 Oct 1993 20:05:32 GMT Organization: University of California, Berkeley Distribution: usa Message-ID: <29hn2d$34u@agate.berkeley.edu> Hi, I'm looking for help with compiling the NeXT clients for archie, gopher, and wais for NeXTstep 3.1 FIP. I grabbed source for gopher 1.12, WAISstation 1.19, and archie 1.3 from cs.osrst.edu. I'm willing to bet someone has tread this path before me. I'm assuming these are the latest versions of the client software. ProjectBuilder compiles gopher, but when I try to run the applicatoin it bombs with the message: objc: NXBrowserCell: does not recognize selector -setRemoteName WAIStation and archie both stop with error messgaes during build. I'm new to NeXTstep and would appreciate any advice on how to proceed. Thanks! Carl ========================================================================= Carl Jones Internet: cjones@lucy.wellesley.edu Systems Librarian Voice: (617) 283-2172 Margaret Clapp Library Wellesley College Wellesley, MA 02181 =========================================================================
Newsgroups: comp.sys.next.programmer From: mheubi@itr.ch (Matthias Heubi) Subject: Re: "Dyanmic Linking" is a dog Message-ID: <1993Oct13.194200.1657@itr.ch> Sender: usenet@itr.ch Organization: Interkantonales Technikum Rapperswil (ITR) Switzerland References: <29haie$f09@transfer.stratus.com> Date: Wed, 13 Oct 1993 19:42:00 GMT Bob Beckwith writes > Don't you think this is overstating this a bit? I mean what you say is true, > however, once you've loaded, relocated and paged out the code, this really > isn't a whole lot different than the situation you've got with "pure" code. > The differences being that the code lives in the swapfile (which is potentially > larger now) and you swap from the swapfile. Big deal. Where did my performance > go south???? The point being, after you've reloc'd the code, it'll get paged > out *once* and then only paged in as necessary (just like "pure code"). Did > I miss something??? > The performance might even get better: Think of an app launched over the network from an NFS server. If you statically link then the app gets swapped in from the original file on the server (over the net!) as opposed to bundles where it gets swapped in from the pretty fast local harddrive. I always wondered wheter it is possible to tell the system to have everything paged out to the local disk. Anyone? -- Matthias Heubi mheubi@itr.ch (NeXT-Mail welcome!) Uptime Object Factory Inc info@uptime.ch fax:+41(1)3130755 voice:+41(1)3130607
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: Re: "Dyanmic Linking" is a dog Message-ID: <CEuvFw.FtG@news2.cis.umn.edu> Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Hospital and Clinic, Labratory Information Services References: <1993Oct13.010843.1273@next.cambridge.ma.us> Date: Wed, 13 Oct 1993 21:49:32 GMT Simson L. Garfinkel (simsong@next.cambridge.ma.us) wrote: : I've seen a lot of people extoll the wonders of dynamic linking and bundles : lately. People who use these features should know that they have a serious : problem: if you use dynamic linking/loading of object code, Mach has to copy ... Wow. I've gone through and removed all apps that do this from our network. Backspace, IconBuilder -- such silly apps. I'm surprised that computers even run with problems like this. For a while I thought it was neat that I could incorporate modules into applications without recompiling those apps, but I guess I was fooled! peter PS. I guess loginwindow.app does this too, I sorta need that app, don't I? Maybe the benfits outweigh the cost so long as you're aware of things like this. Brian P. made this clear in the nexpo dev session... -- Always looking for a handy place to nap... peter@tahiti.umhc.umn.edu (Peter Eisch) peter.a.eisch@uwrf.edu
From: therbert@umiami.ir.miami.edu Newsgroups: comp.sys.next.programmer Subject: More on compiling unix pgms for 3.x Message-ID: <1993Oct13.174044.16059@umiami.ir.miami.edu> Date: 13 Oct 93 17:40:44 EDT Organization: Univ of Miami IR I recently posted that I was having trouble compiling zmodem for NeXTstep/Intel - 1) the includes that I listed were incorrect - they are NOT the includes which the Makefile uses for bsd or next. (I have been using the latest version off of cs.orst.edu or sonata.) 2) But, the real problem lies outside of system 3.x. - I sucessfully compliled the older and most recent source on both a 2.1 and a 3.0 black machine. But, with NS/Intel 3.1 I get the following messages: cc -DV7 -bsd -O rz.c -o rz rbsb.c: In function `mode': In file included from rz.c:69: rbsb.c:155: `oldtch' undeclared (first use this function) rbsb.c:155: (Each undeclared identifier is reported only once rbsb.c:155: for each function it appears in.) rbsb.c:157: `tty' has an incomplete type rbsb.c:158: `tch' undeclared (first use this function) rbsb.c:160: invalid use of undefined type `struct termio' rbsb.c:161: invalid use of undefined type `struct termio' rbsb.c:173: `tty' has an incomplete type rbsb.c:174: invalid use of undefined type `struct termio' rbsb.c:175: invalid use of undefined type `struct termio' rbsb.c:178: invalid use of undefined type `struct termio' rbsb.c: At top level: rbsb.c:70: storage size of static var `oldtty' isn't known rbsb.c:70: storage size of static var `tty' isn't known *** Exit 1 Stop. darwin> Can someone explain this? Does this have something to do with the clobbered serial drivers in NS/Intel 3.1? I would have thought that that would be a runtime problem. Very curious!! Thomas Herbert, Univ. of Miami therbert@umiami.ir.miami.edu
Newsgroups: comp.sys.next.programmer From: silbar@cantina.lanl.gov (Dick Silbar) Subject: Instance drawing is faster (2 questions) Message-ID: <1993Oct13.195904.27544@newshost.lanl.gov> Sender: news@newshost.lanl.gov Organization: Los Alamos National Lab Date: Wed, 13 Oct 1993 19:59:04 GMT I have been asked by a friend to post the following to this newsgroup. Please respond directly to him at 0005508785@mcimail.com. -- Dick Silbar WhistleSoft, Inc. NeXTMail: silbar@cantina.lanl.gov ------------------------------------------------- Dick: Since I have but minimal access to the net, I wonder if you could ask a question for me. Actually two questions, if you feel comfortable doing it. Note: I think the answer to 2 is "You don't, it's a bug", and without the being able to acheive 2 the answer to 1 is useless. Here's what I want to do, and why I would like an answer to the questions. Instance drawing is fast. I can use a buffered window, which is prettier than retained, or non-retained. I can use instance drawing to put just the changing portions of the graphics in the window, ie meter needles etc. for the fastest updates available. Better even than this is if you know what is actually being displayed, and is not hidden then you can instance draw to ONLY the displayed pieces, which is the fastest option I can think of. The problem is that window does not receive the exposed event, and so all this is just a neat theory. I'm also going to report this as a bug. Here are the questions: 1) How do I determine the portion of a window actually, now being displayed on the screen. 2) If I have instance drawing in a hidden window, how do I receive the window-exposed event in a buffered window. NeXT's docs say that I should receive a kit-event of subtype window-exposed. It does not show up at the window windowExposed: method, nor do I believe that the delegate is notified. Jim Redman ErgoTech Development, Inc. 0005508785@mcimail.com
Newsgroups: comp.sys.next.programmer From: lloyd@world.std.com (Chris Lloyd) Subject: format of .addresses and the .table ? Message-ID: <CEv1uH.A5G@world.std.com> Organization: The World Public Access UNIX, Brookline, MA Date: Thu, 14 Oct 1993 00:11:04 GMT Can someone point me to documentation on the format of .addresses and the AddressBook.table file inside? I'd like to use this seemingly standard format for name/phone info in my app, but can't find bugger-all on it's use. Thanks, -- :: Christopher Lloyd :: Yrrid Incorporated :: lloyd@world.std.com :: :: boy, don't we all look _smashing_ in red. ::
Newsgroups: sci.image.processing,comp.sys.next.misc,comp.sys.next.programmer,de.comp.sys.next From: shin@nop.han.de (Hoen-oh Shin) Subject: compiling morph version 4.0 for NeXT Message-ID: <1993Oct13.211110.933@nop.han.de> Sender: shin@nop.han.de Organization: Hoen-oh Shin, Hannover, Germany [IN] Date: Wed, 13 Oct 93 21:11:10 GMT Hello, did anyone manage to get the morph-package (package for mathematical morphology) from Richard Alan Peters II (Vanderbilt University School) running for NeXT-Computers? After deleting "malloc.h" (contained in stdlib.h on NeXT) and "values.h", i successfully compiled the package, but haven't been able to get it running. Any help will be greatly appreciated. Thanks! ----------- Hoen-oh Shin shin@nop.han.de
From: suckow@uropax.contrib.de (Ralf Suckow) Newsgroups: comp.sys.next.programmer Subject: Re: Simson L. Garafinkel's Developer Wish List Date: 12 Oct 1993 23:56:27 +0100 Organization: Contributed Software GbR Message-ID: <29fcmr$e9h@uropax.contrib.de> References: <1993Oct11.012126.4261@CAM.ORG!planon> <29aru3$gem@ursula.ee.pdx.edu> marcus@ursula.ee.pdx.edu (Marcus Daniels) writes: >yanik@planon.qc.ca (Yanik Crepeau) writes: >>On the October issue of NeXTWORLD Magazine, p. 34, Simsom L. Garafinkel >>publishes a paper about the Developper Wish List. The list is as follow: >>2- Objective-C class Browser: such tool has been available for years in C++ >Yeah, it is called the Workspace. Just add OO filesystem. Not perfect, but useable and available for a while: HeaderViewer.app (class definitions) and AppInspector.app (runtime objects). Ralf -- Ralf Suckow, Berlin | suckow@contrib.de | Do you think it's difficult to speak Russian? Contributed Software | Every Moscow kid aged 5 years speaks it perfectly. only delivers my mail.|
Newsgroups: comp.sys.next.programmer From: royce@splunge.uucp (Royce Howland) Subject: Scaling TIFFs composited into custom view? Message-ID: <1993Oct13.030251.24378@splunge.uucp> Organization: Ashley, Howland & Wood Date: Wed, 13 Oct 1993 03:02:51 GMT I've got a custom view, grouped in a ScrollView, into which I'm compositing standard icon-sized TIFFs. I'm using NXImages to handle the TIFFs and do the compositing into the custom view. I have set things up so the user may change the viewing scale of ScrollView's contents. I do this by having a popup list call an action method that sets the scale of the ScrollView's docView's superview, i.e. the ScrollView's contentView, a ClipView instance. (Why isn't there an easy way to directly get the contentView of a ScrollView...?) (Since I haven't been able to get ScrollViewDeluxe to work, I'm trying to cobble up my own version of the functionality it has that I want to use.) The scale is being changed properly, but unfortunately, it does not influence the size of the TIFFs composited within the custom view by its drawSelf:: method. I have RTFMed about NXImages, NXImageReps, Views, ClipViews, and ScrollViews, and it doesn't look like there's any direct way for me to scale the TIFFs being composited. So, how does one accomplish this indirectly? TFM says, in regard to NXImage's drawRepresentation:InRect: method, that the method can be overridden in a sub-class, for example to change the drawing scale. I assume this is one way to go, and that if I went this way, I'd have to use DPS directly to change the scale in MyNXImage's drawRepresentation::, prior to calling super's drawRepresentation::. Am I on the right track? Is there a better/different/whatever way? -- Royce Howland Everything is IMHO royce@splunge.uucp (NeXTMail OK) or kakwa!atlantis!splunge!royce
Newsgroups: comp.sys.next.programmer From: royce@splunge.uucp (Royce Howland) Subject: ScrollViewDeluxe: summary Message-ID: <1993Oct13.031606.24471@splunge.uucp> Organization: Ashley, Howland & Wood Date: Wed, 13 Oct 1993 03:16:06 GMT I recently posted a query asking if anybody had successfully gotten ScrollViewDeluxe, a cool-looking pallette available at ftp.next.com and elsewhere, to work under NS 3.0. I received the following responses: - A request from Brad Skrbec (skrbec@rtsg.mot.com) to forward whatever I found to him. Here it is, Brad. :~) - A comment from Steve Hayman (shayman@Objectario.com) that he also had trouble using SVD, but managed to get it working by starting with a custom view and changing its class. (This doesn't help me, since I've already got a custom view that I want to group in a SVD.) - A comment from Laurent Daudelin (laurent@planon.qc.ca) that SVD worked succesfully under NS 3.1 black, in two apps, when set up within IB. (This doesn't help, either, since I'm not running 3.1.) - A comment from Jeff Martin (Jeff_Martin@next.com), the author of SVD, that SVD's "group in SVD" is a documented hack, which I knew, that breaks in 3.0 and is flakey in 3.1, which I did not know. He provided some code to disable the group hack, which may help getting things working programmatically (I haven't tried it yet), but partially eliminates the main benefit of using SVD as a pallette. Conclusion: use of SVD within IB can't duplicate the seamlessness of the standard ScrollView, which is too bad. Some or all of the setup of SVD, depending on what you're doing, must instead be done programmatically. It seems at best, one will be able to drag out a SVD instance, and then programmatically replace its docView with one's own custom view. For now, I've decided to stick with the standard ScrollView, and use some of the techniques presented in SVD in a different way, to try to accomplish what I'm after. Thanks to Jeff & NeXT for the sample code, and to those who repsonded. -- Royce Howland Everything is IMHO royce@splunge.uucp (NeXTMail OK) or kakwa!atlantis!splunge!royce
Newsgroups: comp.sys.next.programmer From: caslawa@il.us.swissbank.com (caslawa) Subject: Automatic Power On Date: Thu, 14 Oct 1993 09:36:58 +0000 Message-ID: <9310140935.AA00484@jutland> Sender: usenet@demon.co.uk POWER POWER POWER POWER POWER POWER POWER POWER POWER POWER Is there a way of making a NeXT Station switch itself on at a set time each day, then switch itself off at a set time ? The Preferences App has a 'Power' section which lets you switch on the NeXT on a specific date and time in the future. This leads me to think there should be command or system call to do the same thing, which I can use to put in the crontab file. Switching off should be easy using shutdown. Does anybody know of a way of controlling the power-on time programatically ? --------------------------------------- Andy ( Mr.Caz ) Radio Funky Productions
Newsgroups: comp.sys.next.programmer From: mshaler@tdocad.sps.mot.com (Michael Shaler) Subject: Re: Help! Emacs.app(Emacs-3.0) References: <masa.750509780@fawlty10.eng.monash.edu.au> Date: Thu, 14 Oct 1993 09:16:34 GMT Organization: Nippon Motorola Ltd., Tokyo, Japan Sender: news@tkymail.sps.mot.com Message-ID: <1993Oct14.091634.28603@tkymail.sps.mot.com> Mr M Takatsuka writes Hello - I got source files of Emacs.app(Emacs-3.0). I can compile them but cannot execute Emacs.app. When I excute it, in the console, it says ----------------------------------------------------------------------------- Oct 13 20:09:41 localhost Emacs[285]: An uncaught exception was raised Oct 13 20:09:41 localhost Emacs[285]: DPS client library error: PostScript program error, DPSContext 110258 Oct 13 20:09:41 localhost Emacs[285]: %%[ Error: undefined; OffendingCommand: get ]%% ----------------------------------------------------------------------------- I have seen these error messages as well, and I can only assume one thing. If you are using 3.0J, there is a bug in the DPS server that hoses the PSwraps in Emacs.app. I haven't had time to explore this one, unfortunately. My best guess. --- Michael Shaler Tokyo Design Center Nippon Motorola Ltd. +813 3280 8245 voice +813 3440 0033 fax mshaler@tdocad.sps.mot.com [NeXTmail]pt program error, DPSContext 110258 Oct 13 20:09:41 localhost Emacs[285]: %%[ Error: undefined; OffendingCommand: get ]%% ----------------------------------------------------------------------------- I have seen these error messages as well, and I can only assume one thing. If you are using 3.0J, there is a bug in the DC
Newsgroups: comp.sys.next.programmer From: bbum@friday.com Subject: Re: Can I pass variable argument lists from one method to another? Message-ID: <CEv8t0.L7@friday.com> Sender: bbum@friday.com (Bill Bumgarner) Organization: Friday Software & Consulting; a virtual company References: <CEv7K8.8L@friday.com> Date: Thu, 14 Oct 1993 02:41:23 GMT bbum@friday.com writes > bbum@friday.com writes > > > > Not a problem-- a demonstration is easier than an explanation: [... original, stupid code (on my part-- not Steve's) deleted ...] geez... first post to netnews in months and I can't get it right (luckily, my posting mechanism is so hosed, the net community was saved from the paticular piece of stupidity that nearly made it out). The code should really look like: /* The eventual target: */ extern void FSCLogM(id obj, SEL _cmd, const char *pattern, ...) /* the original function (could have been a method-- sort of looks * like one :-): */ void FSCDlogM(id obj, SEL _cmd, const char *pattern, ...) { if(FSCDebug(obj)) { va_list args; va_start(args, pattern); FSCLogM(obj, _cmd, pattern, args); va_end(args); } } -- b.bum <bbum@friday.com> | "blah blah blah" WhiteLight Systems, INC. | - someone somewhere
Newsgroups: comp.sys.next.programmer From: arrouye@petole.imag.fr (Yves Arrouye) Subject: Re: Distinct mouse clicks: a solution In-Reply-To: peter@corsica's message of Sun, 10 Oct 1993 13:55:18 GMT Message-ID: <ARROUYE.93Oct14100500@petole.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France References: <ARROUYE.93Oct10094336@petole.imag.fr> <CEopG6.60u@news.cis.umn.edu> Date: Thu, 14 Oct 1993 09:04:59 GMT In article <CEopG6.60u@news.cis.umn.edu> peter@corsica (Peter Eisch) writes: Why didn't you simply evaluate event->data.mouse.click? Something like: - mouseDown:(NXEvent *)event { switch (event->data.mouse.click) { case 1: [self doSingleClick:event]; break; case 2: [self doDoubleClick:event]; break; case 3: ... - mouseUp:(NXEvent *)event { switch (event->data.mouse.click) { case 1: [self doSingleUnClick:event]; break; case 2: ... My doSingleClick: method will perform some action even if the mouse button is immediately released, so I can't use this strategy (or I was to dumb to make it work properly). It is the same with the perform:with:afterDelay:cancelPrevious: which was my first try: I was "losing" some events, so I gave up. To all who say I am breaking NeXT interface guidelines: I *know* this, I have read them :-) However, I use this in a really limited framework, where I have a lot of actions that the user can associate with a combination of mouse-button + number-of-clicks + modifier-key (control and others...). And I wanted the user to be able to have an action associated to a double-click which would not perform the single-click action. And, as many of you have noticed, NeXT apps violate their own guidelines when they find it convenient. Cheers, Yves. -- Elle e'tait comme je vous la raconte sans que vous Yves Arrouye puissiez voir son visage ni entendre ses paroles, Yves.Arrouye@imag.fr pas plus que je ne l'ai vu ni ne les ai entendues, (33) 76 57 48 64 moi qui pourtant les ai si bien connus. NeXT Mail
Newsgroups: comp.sys.next.programmer From: arrouye@petole.imag.fr (Yves Arrouye) Subject: Re: How to distinguish between Text objects in Text delegate method? In-Reply-To: arrouye@petole.imag.fr's message of Sat, 9 Oct 1993 11:24:55 GMT Message-ID: <ARROUYE.93Oct14101039@petole.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France References: <ARROUYE.93Oct9122455@petole.imag.fr> Date: Thu, 14 Oct 1993 09:10:39 GMT Thanks to all the people who replied. I will not summarize all mails I received, but give the solution I prefer, which is to test if [[textObject delegate] selectedCell] == [myTextField cell] or [[[textObject delegate] selectedCell] tag] == sometag if you do not want to have an outlet for the TextField. Using the selectedCell ensures that this will work even if the TextField is in a Matrix object. Again, thanks for your numerous answers, Yves. -- Elle e'tait comme je vous la raconte sans que vous Yves Arrouye puissiez voir son visage ni entendre ses paroles, Yves.Arrouye@imag.fr pas plus que je ne l'ai vu ni ne les ai entendues, (33) 76 57 48 64 moi qui pourtant les ai si bien connus. NeXT Mail
Newsgroups: comp.sys.next.programmer,comp.sys.next.misc,comp.sys.next.software From: arrouye@petole.imag.fr (Yves Arrouye) Subject: Re: Multi-disk packages In-Reply-To: kevins@bmd.com's message of Sat, 9 Oct 1993 03:36:14 GMT Message-ID: <ARROUYE.93Oct14101413@petole.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France References: <1993Oct9.033614.19401@bMD.com> Date: Thu, 14 Oct 1993 09:14:13 GMT In article <1993Oct9.033614.19401@bMD.com> kevins@bmd.com writes: Anyone know what's up with 3.1 and multi disk packages... I have installed multi disk packages that were made under 3.0 or lower but the ones I create under 3.1 seem to have a problem ejecting the first disk.... Any ideas???? Shell scripts within the 3.1 Installer distribution are reputed to be bugfull. The "solution" is either to make the package with 3.0 (which is not possible for NS/FIP), or to manually install the archive, by concatenating all tar files before extrcating them. Yves -- Elle e'tait comme je vous la raconte sans que vous Yves Arrouye puissiez voir son visage ni entendre ses paroles, Yves.Arrouye@imag.fr pas plus que je ne l'ai vu ni ne les ai entendues, (33) 76 57 48 64 moi qui pourtant les ai si bien connus. NeXT Mail
Newsgroups: comp.sys.next.programmer From: westner@woodstock.pst.informatik.uni-muenchen.de (Dominik Westner) Subject: Simple: TextField doesn't send delegate message to DBModul Sender: news@informatik.uni-muenchen.de (News System) Message-ID: <CEw67L.CD1@informatik.uni-muenchen.de> Date: Thu, 14 Oct 1993 14:42:57 GMT Organization: Institut fuer Informatik der Universitaet Muenchen Hi, should be an easy problem but I couldn't find a solution. I have several textFields connected to a DBModul and set the textDelegate to DBModul. This works fine, when I just enter something into the fields for inserting, updating etc. records. But now I want to give some default settings, which I write into the textFields with the setStringValue method. Now the DBModul won't notice a change of the Cell and therefore won't update the record. I already tried to send messages like TextDidChange to the TextFieldsDelegate (DBModul) but that wasn't working. Any suggestions heartly welcome. Thanks -- --- Dominik Westner "Everything is possible in an infinite universe" ____________________________________________ ______Willi, the painter Dominik Westner Muenchen-Germany HOME: dominik@blackmagic.guug.de [NeXTMail welcome] UNI: westner@informatik.uni-muenchen.d [NeXTMail welcome]
From: droux@info.isbiel.ch (Nicolas Droux) Newsgroups: comp.sys.next.hardware,comp.sys.next.programmer Subject: SCSI Processor Device under NEXTSTEP Date: 14 Oct 1993 14:15:19 GMT Organization: Biel School of Engineering, CH-2501 Biel, Switzerland Distribution: world Message-ID: <29jmtn$5bv@vega.info.isbiel.ch> Keywords: SCSI, NEXTSTEP, Parallel Computers We're actually developing the hardware and software components of a SCSI Processor Device that will allows the access of massively parallel machines from NEXTSTEP and other UNIX simply by connecting them on the SCSI bus of the host computer. The SCSI target hardware and software parts are almost clear. What I need to know is how the device will be controlled by the initiator (in our case, the SCSI controller) under NEXTSTEP. Assuming that the target is implemented following the SCSI specification, the following points are not clear for me: 1- Will NEXTSTEP automatically detect the new device and register it as a /dev/.... device (as it does with a SCSI disk for example). 2- Is there a simple way to communicate with the device with read and write on some file descriptors or should I use the ioctl() function and write new version of read and write ? (I took a look at the sg_example.c bundled with NEXTSTEP-Developer but it drives a SCSI disk and it is poorly documented). Any help is welcome. Nicolas Droux Engineering College of Biel-Bienne Computer Science Dpt Switzerland. NeXTMail: droux@info.isbiel.ch ++41 32 273 111 phone ++41 32 234 377 fax
Newsgroups: comp.sys.next.programmer From: jan@dutnak2.tn.tudelft.nl (Jan Thorbecke) Subject: Beginners question about resizing an EPS Image file Message-ID: <jan.750612080@dutnak2> Summary: How to resize an EPS file? Keywords: resizing EPS NXImage Sender: news@news.tudelft.nl (UseNet News System) Organization: Delft University of Technology Date: Thu, 14 Oct 1993 15:21:20 GMT I finally succeeded in reading an EPS file from stdin. The file is displayed in an resizable window. I used the TIFFandEPS program which is avalaible from ftp.next.com MiniExamples, only without using the interface builder like the tiny.m program in Garfinkel and Mahoney. The problem is that Iwant to resize the Image if the window is resized. Garfinkel and Mahoney give on page 474 an example which makes use of the sizeTo:: method in the View class. But.... this doesn't work it only resizes the view but not the EPS image. So I tried to make some changes in the drawSelf method - drawSelf:(NXRect *)rects :(int)rectCount { NXPoint pt = {0.0, 0.0}; NXSize aSize; aSize.width = rects[0].size.width; aSize.height = rects[0].size.height; NXSetColor(NX_COLORWHITE); NXRectFill(rects); [anImage initSize:&aSize]; [anImage setSize:&aSize]; [anImage composite: NX_SOVER fromRect: rects toPoint: &pt]; return self; } Now the image isn't displayed at all. In the main program I have also added the following lines [[view superview] setAutoresizeSubviews: YES]; [view setAutosizing:(NX_WIDTHSIZABLE | NX_HEIGHTSIZABLE)]; these lines only replace the functionality of the command-3 in the interface builder(the string pictures). Sorry for these stupid problems. Jan Thorbecke jan@dutnak2.tn.tudelft.nl Delft University of Technology Faculty of Applied Physics, Delft, The Netherlands.
Newsgroups: comp.sys.next.programmer From: laurent@planon.qc.ca (Laurent Daudelin) Subject: Help on subclassing Buttons! Message-ID: <1993Oct14.154034.1736@CAM.ORG!planon> Keywords: Button, ButtonCell, Matrix Sender: laurent@CAM.ORG!planon Date: Thu, 14 Oct 1993 15:40:34 GMT Hi! I think the title almost says it all. I would like to subclass the way that some standard buttons are drawn. I was under the impression that matrix and buttons are, in some way, similar classes. However, while it's somewhat easy to provide a custom cell for a matrix, it's not clear what is the best way to do the same for a button. Is there something I missed? Any help, thought, pointer would be very, very appreciated! Thanx in advance! Laurent. -- ****************************************************************************** Laurent Daudelin, Software Engineer Planon TELEXPERTISE Inc., Boucherville, Quebec, CANADA laurent@planon.qc.ca <-- NeXTMail welcome! (Mac Mail welcome too!)
From: kheit@gandalf.rutgers.edu (John Kheit) Newsgroups: comp.sys.next.programmer,comp.os.ms-windows.programmer.misc,comp.os.msdos.programmer,comp.os.os2.programmer,comp.sys.mac.programmer,comp.unix.programmer,mcnc.programmers Subject: CASE Tool Users? Message-ID: <Oct.14.14.30.12.1993.3602@gandalf.rutgers.edu> Date: 14 Oct 93 18:30:12 GMT Followup-To: comp.sys.next.programmer Organization: Rutgers Univ., New Brunswick, N.J. Hi All, Sorry for the massive cross post, but I need help (yea, in more ways than one :) finding CASE tool users, programmers, gurus, etc that I can talk to... and since 'grep case .newsrc' came up empty I thought that some of the various programmer groups, or members of those groups could point me towards a watering hole for CASE tool users. Anyway, if your group talks about CASE tools from time to time, I wouldappreciate it if you let me know. Thanks very much (in advance) Later, John
Newsgroups: comp.sys.next.programmer From: arrouye@petole.imag.fr (Yves Arrouye) Subject: libraries, bundles: how? Message-ID: <ARROUYE.93Oct14190050@petole.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Thu, 14 Oct 1993 18:00:50 GMT Hi, I would like to know if there is some nice Makefile to build libraries on NeXT: ProjectBuilder does not have this as a target (but it should...) and I am tired modifying the NeXT-provided makefiles. I have anothe rpb too: I have a bundle which implements some classes inheriting from another ones. Should I link the root classes in my app or in the bundle (and if so, will it be a pb if I load two bundles linked with those classes? And how cann I do that: adding to OTHER_LDFLAGS does not work). I would also like to rename my bundle so that it has another extension, but setting BUNDLE_EXTENSION in the Makefile.preamble does not work. What should I do? My last question is: the bundles will be dynamically loaded by an application, and they are able to read files with a well-defined extension. What is the right way to make my app launched when one double-click of a file whose extension is one that my bundles can read? (Of course, it would be nice if when a bundle is added somewhere, the new extensions are taken into account). Thanks for any help, Yves. -- Advocates for the C++ school claim that a well designed Yves Arrouye program does not need the extra flexibility (a lie), Yves.Arrouye@imag.fr while advocates for the Objective-C school claim that (33) 76 57 48 64 the errors are no problem in practice (another lie). NeXT Mail
Control: cancel <1993Oct13.153112.1292@janix.pcs.dec.com> Newsgroups: comp.sys.next.programmer,comp.os.os2.programmer,comp.sys.amiga.programmer,comp.sys.mac.programmer,comp.sys.apple2.programmer,comp.os.vms,comp.os.cpm,comp.sys.mac.programmer From: badman@evtsg8.enet.dec.com () Subject: cancel <1993Oct13.153112.1292@janix.pcs.dec.com> Message-ID: <1993Oct14.084939.11038@janix.pcs.dec.com> Sender: news@janix.pcs.dec.com (USENET News System) Organization: Digital-PCS Systemtechnik GmbH References: <1993Oct9.014359.24119@cal.isac.ca> <1993Oct13.153112.1292@janix.pcs.dec.com> Date: Thu, 14 Oct 1993 08:49:39 GMT
Newsgroups: comp.sys.next.programmer From: mbarnes@world.std.com (michael j barnes) Subject: Printing A DBTableView Message-ID: <CEwr41.J8B@world.std.com> Summary: Problems printing a DBTableView Keywords: NeXT programmer Organization: The World Public Access UNIX, Brookline, MA Distribution: usa Date: Thu, 14 Oct 1993 22:14:24 GMT When I print a window (printSmartPSCode) that contains a DBTableView, the selected row is not highlighted on the printed page. Am I doing something wrong or is this a bug in DBTableView?. If so is there a workaround? Thanks
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: The docs lie Message-ID: <1993Oct14.215153.1784@afs.com> Sender: Michael_Pizolato@afs.com Date: Thu, 14 Oct 1993 21:51:53 GMT According to the documentation for the FontManager class, as well as the Menu section of the User Interface docs, standard Font menus include the options Larger, Smaller, Heavier, and Lighter. Both docs imply that these items exist on normal Font menus. But, I dragged both Font and Format menus from the Menus palette in IB, and in neither case of the Font menu or submenu, respectively, were any of the above items available. The docs say that Larger, Smaller, Heavier, and Lighter all invoke the same FontManager method, -modifyFont:, and the method determines which of them sent the message by checking the menu cell's tag. I can add the missing items to my Font menu, but I don't know what tag values I need to make the -modifyFont: method work. Anybody know what's up with this? I'm running NS Developer V3.1. Thanx, Michael -- Michael_Pizolato@afs.com NeXTMail accepted
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: libraries, bundles: how? Message-ID: <1993Oct14.235538.1951@afs.com> Sender: Michael_Pizolato@afs.com References: <ARROUYE.93Oct14190050@petole.imag.fr> Date: Thu, 14 Oct 1993 23:55:38 GMT Yves Arrouye writes >I would like to know if there is some nice Makefile to build >libraries on NeXT: ProjectBuilder does not have this as a target >(but it should...) and I am tired modifying the NeXT-provided >makefiles. I have two ways to do library projects. One - a modification of the NeXT-supplied makefiles, where you create a bundle project, include my standard pre/postamble files, and it builds a library instead. Two - a simple hack to ProjectBuilder such that no NeXT makefiles are modified, you install my hack and one makefile of my creation, and you get Library projects right in PB. The first has been tested in NS3.0 and works fine - the NS3.1 version hasn't been thoroughly tested and is still a bit buggy. The second is NS3.1 only, and is quite solid. The PB hack is a much better way to do this. You should know that this hack is not endorsed or supported by NeXT, although I have been assured by NeXT that it does not violate their software license because I am only describing alterations to files and not offering to distribute actual files. I'll NeXTMail either the modified makefiles or the PB hack to anyone who is interested. In addition, I have it direct from one of the authors of PB that it will support Library projects effective in the release following NS3.2 (either NS3.3 or NS4.0, whichever they call it), so my hack is at best a temporary solution (which is good). >I have anothe rpb too: I have a bundle which implements some >classes inheriting from another ones. Should I link the root >classes in my app or in the bundle (and if so, will it be a pb if >I load two bundles linked with those classes? And how cann I do >that: adding to OTHER_LDFLAGS does not work). To prevent collisions when loading two or more bundles (or palettes) linked with the same code, use a strip -u command on the bundle after it's built. >I would also like to rename my bundle so that it has another >extension, but setting BUNDLE_EXTENSION in the Makefile.preamble >does not work. What should I do? Sorry, can't help you there. I'd like to know the answer to this, too. >My last question is: the bundles will be dynamically loaded by an >application, and they are able to read files with a well-defined >extension. What is the right way to make my app launched when one >double-click of a file whose extension is one that my bundles can >read? (Of course, it would be nice if when a bundle is added >somewhere, the new extensions are taken into account). I don't think you can set up a bundle to advertise that it knows file extensions. Someone correct me if I'm wrong. Thanx, Michael -- Michael_Pizolato@afs.com NeXTMail accepted
From: blanford@spf.trw.com (Ronald P. Blanford) Newsgroups: comp.sys.next.programmer Subject: Re: Simple: TextField doesn't send delegate message to DBModul Date: 15 Oct 1993 03:56:51 GMT Organization: TRW Systems Development Division Message-ID: <29l724$2f7@deneva.sdd.trw.com> References: <CEw67L.CD1@informatik.uni-muenchen.de> Dominik Westner writes > But now I want to give some default > settings, which I write into the > textFields with the setStringValue method. > Now the DBModul won't notice a change of the > Cell and therefore won't update the record. Suggest you try [textField setStringValue:aString]; association = [module associationForObject:textField]; [association takeValueFrom:??]; Unfortunately my DBKit documentation is 30 miles away, and I don't exactly remember the last method, but I solved the identical problem in just this way. -- Ron
Newsgroups: comp.sys.next.programmer From: luis@elysia.fdn.org (Luis Arias) Subject: Re: Can daemons access the WorkSpace? Message-ID: <1993Oct14.080540.27773@elysia.fdn.org> Sender: luis@elysia.fdn.org Organization: Elysia - Rueil_Malmaison, France. References: <1993Oct12.091024.290@csus.edu> Date: Thu, 14 Oct 1993 08:05:40 GMT In article <1993Oct12.091024.290@csus.edu> eps@futon.SFSU.EDU (Eric P. Scott) writes: > In article <BURNS.93Oct11234005@gauss.bellcore.com> > burns@bellcore.com (James E. Burns) writes: > >So the question: How can I start a deamon at boot time that can > >get access to the WorkSpace (& I can't recompile the deamon -- > >I can only change a script it uses)? > > Are you sure you don't mean the Window Server? > > Have you tried starting your daemon from > /usr/lib/NextPrinter/lpd.children instead of /etc/rc.local? > > -=EPS=- Hmm, this is interesting. Is this script run after the window server is started ? I saw the following in /etc/rc.standard way before rc.local is started. # lpd is the Berkeley line printer daemon. if [ -f /usr/lib/lpd ]; then rm -f /dev/printer /usr/lib/lpd && (echo -n ' printer') >/dev/console fi -- Luis Arias Elysia, Inc. [33] (1) 47 49 61 96 President 23, rue Buffon [33] (1) 47 14 99 08 fax 92500 RUEIL-MALMAISON luis@elysia.com FRANCE (small NeXTmail ok)
From: marcel@cs.tu-berlin.de (Marcel Weiher) Newsgroups: comp.sys.next.programmer Subject: Re: Can daemons access the WorkSpace? Date: 15 Oct 1993 09:16:57 GMT Organization: Technical University of Berlin, Germany Message-ID: <29lpq9$421@news.cs.tu-berlin.de> References: <1993Oct12.091024.290@csus.edu> <1993Oct14.080540.27773@elysia.fdn.org> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit luis@elysia.fdn.org (Luis Arias) writes: >In article <1993Oct12.091024.290@csus.edu> eps@futon.SFSU.EDU (Eric P. >Scott) writes: [...] >> Have you tried starting your daemon from >> /usr/lib/NextPrinter/lpd.children instead of /etc/rc.local? >> >> -=EPS=- >Hmm, this is interesting. Is this script run after the window server is >started ? Yes, because it is started by lpd, which (since 3.0) is started by the WindowServer. That's why the file is called lpd.children. This is done so printer drivers launched by lpd can access the WindowServer to do rendering even if no-one is logged in (and without regard for any PublicWindowServer setting). It also means that you should not kill/restart lpd. Marcel
From: fxg@gimli.tolkien.imib.rwth-aachen.de (Felix Gatzemeier #Alwd#) Newsgroups: comp.sys.next.programmer Subject: Re: NXBrower Question Date: 15 Oct 1993 12:21:23 GMT Organization: Rechnerbetrieb Informatik - RWTH Aachen Message-ID: <FXG.93Oct15132125@gimli.tolkien.imib.rwth-aachen.de> References: <4ghr3iO00WB=1Jk555@andrew.cmu.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-reply-to: "Thomas G. Mon"'s message of Sat, 9 Oct 1993 22:18:22 -0400 In article <4ghr3iO00WB=1Jk555@andrew.cmu.edu> "Thomas G. Mon" <tm31+@andrew.cmu.edu> writes: Newsgroups: comp.sys.next.programmer Date: Sat, 9 Oct 1993 22:18:22 -0400 Organization: Senior, Math/Computer Science, Carnegie Mellon, Pittsburgh, PA Lines: 18 NNTP-Posting-Host: po5.andrew.cmu.edu Can someone explain how to do the following with the NXBrowser Class: Given that a leaf is selected in a Browser: if [cell isLeaf] : when I click a button, the cell with changed to a non-leaf and a cell will be added in the next column with a name associated with the button. if ![cell isLeaf] : which I click a button, a cell will be added in the same column with a name associated with the button. So using this button and say a text field, I am build a heirarchy. Right now anything that I add to the browser past column 0, is lost whenever I traverse back through the heiarchy, except the cells in the column 0. Tom. tm31@andrew.cmu.edu Carnegie Mellon University It seems that this would be completely your problem - harshly speaking. The NXBrowser object asks its delegate to provide it with its data to be displayed with the likes of BrowserFillColumn:WithPath: (Or something like that, no docs at hand... :-( ). If you want to expand some hierarchy, you'd have to keep it in a data structure internal to your program. I don't know if the Browser cashes columns it has requested, but I would assume that it does not. For your internal storage, I would recommend subclassing HashTable. Add something that processes paths and returns strings. You can implement arbitrary directed graphs with relativly little effort that way. (And I don't know why no such class is in the distribution!) If you get real stuck, i can provide some sources. The documentation has some (minor) holes. -- Felix (fxg@Pool.Informatik.RWTH-Aachen.de fxg@tolkien.ImIB.RWTH-Aachen.de, No NeXT-Mail, please!)
From: therbert@umiami.ir.miami.edu Newsgroups: comp.sys.next.programmer Subject: Some solution to zmodem compile Message-ID: <1993Oct15.095200.16069@umiami.ir.miami.edu> Date: 15 Oct 93 09:52:00 EDT Organization: Univ of Miami IR I posted a query about how to get zmodem from the sources on cs.orst.edu to compile under NS3.1/Intel: THESE ARE THE ERRORS WHEN USING 3.1: >make bsd >cc -DV7 -bsd -O rz.c -o rz >rbsb.c: In function `mode': >In file included from rz.c:69: >rbsb.c:155: `oldtch' undeclared (first use this function) >rbsb.c:155: (Each undeclared identifier is reported only once >rbsb.c:155: for each function it appears in.) >rbsb.c:157: `tty' has an incomplete type >rbsb.c:158: `tch' undeclared (first use this function) >rbsb.c:160: invalid use of undefined type `struct termio' >rbsb.c:161: invalid use of undefined type `struct termio' >rbsb.c:173: `tty' has an incomplete type >rbsb.c:174: invalid use of undefined type `struct termio' >rbsb.c:175: invalid use of undefined type `struct termio' >rbsb.c:178: invalid use of undefined type `struct termio' >rbsb.c: At top level: >rbsb.c:70: storage size of static var `oldtty' isn't known >rbsb.c:70: storage size of static var `tty' isn't known >*** Exit 1 >Stop. ............................................................................... The problem seems to be with conflicts of structure definitions using the new ioctl.h file modified in 3.1/Intel for Posix support. The following is how I modified the rbsb.c file for zmodem and details what I did to fix the problem. ------ ............................................................................... #ifdef V7 #include <sys/types.h> #include <sys/stat.h> /* This is the critical step for NS/3.1 - sgtty includes a new ioctl.h which has posix support. These few lines include terminos.h which has conflicting types for some structures. I made a copy of sgtty.h called sgtty_old.h and modified the include to include ioctl_old. The ioctl_old.h is a copy of the older ioctl.h prior to 3.1NS. One can make such a file by looking in the new ioctl.h for the few lines which are put in for Posix support, starting with an include of terminos.h */ #include <sgtty_old.h> #define OS "V7/BSD" #endif ............................................................................... These are the relevant lines from the NEW ioctl.h - added in 3.1NS/Intel: ............................................................................... > * Posix support > */ > #import <sys/termios.h> > #define TIOCGETA _IOR('t', 19, struct termios) /* get termios struct */ > #define TIOCSETA _IOW('t', 20, struct termios) /* set termios struct */ > #define TIOCSETAW _IOW('t', 21, struct termios) /* drain output, set */ > #define TIOCSETAF _IOW('t', 22, struct termios) /* drn out, fls in, set */ > #define TIOCDRAIN _IO('t', 94) /* wait till output drained */ ............................................................................... Warning - I compiled the rz & sz successfully but they have not yet been tested. Can anyone tell me where the fault in the above situation lies - Are the defs in the header files improper in NS3.1/Intel or is the old zmodem code doing something that it should not? Tom Herbert University of Miami therbert@umiami.ir.miami.edu therbert@umiami.ir.miami.edu
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: comp.sys.next.programmer Subject: NeXTSTEP Development/Systemhouse - CO/CT/TX/DC Date: 15 Oct 1993 11:10:30 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9310151503.AA09688@seawolf.next.com> NeXTSTEP Development Positions at Systemhouse - CO/CT/TX/DC Immediate opportunities for candidates who possess two or more years experience in NEXTSTEP development. Must be familiar with Objective C. Opportunities exist in Boulder, CO; Westport, CT; Houston, TX; and Washington D.C. Send resumes to: ATTN: Michelle Hayden SHL Systemhouse Dept OCC924 950 S. Winter Park Drive Suite 200 Casselberry, FL 32707-5452 Phone: (407) 767-8704 Fax: (407) 767-5309 Email: mhayden@shicas01.orlando.mm1.shl.com States: CO CT TX DC
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.sysadmin,comp.sys.next.programmer,comp.windows.x Subject: Co-Xist manual page problem solved. Date: 15 Oct 1993 17:34:48 +0100 Organization: me organized? That's a joke! Message-ID: <29mjf8$1ji@steffi.demon.co.uk> Recently I posted about having problems with the Co-Xist manual pages. The problem was caused by some left over tbl macros in the already processed (thru tbl) man pages. (Why are these already processed when most manufacturers leave the tbl macros for man to process?) The fix is to delete the .TS and .TE sequences from the man files providing they have already been sent thu tbl to format the .tbl macros into .roff commands.
Newsgroups: comp.sys.next.programmer From: stefanos@cs.concordia.ca (KIAKAS stefanos) Subject: Need help with Speaker/Listener. Message-ID: <CEyAGq.G45@newsflash.concordia.ca> Sender: usenet@newsflash.concordia.ca (USENET News System) Organization: Computer Science, Concordia University, Montreal, Quebec Date: Fri, 15 Oct 1993 18:10:01 GMT Hello, I'm looking for a few simple and concrete examples on how to setup and use Speaker/Listener objects. Any help would be appreciated. Thanx. stef
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: The docs lie Message-ID: <1993Oct15.175200.569@afs.com> Sender: Michael_Pizolato@afs.com References: <1993Oct14.215153.1784@afs.com> Date: Fri, 15 Oct 1993 17:52:00 GMT Michael Pizolato (that's me) writes >According to the documentation for the FontManager class, as well >as the Menu section of the User Interface docs, standard Font menus >include the options Larger, Smaller, Heavier, and Lighter. Both >docs imply that these items exist on normal Font menus. But, I >dragged both Font and Format menus from the Menus palette in IB, >and in neither case of the Font menu or submenu, respectively, were >any of the above items available. > >The docs say that Larger, Smaller, Heavier, and Lighter all invoke >the same FontManager method, -modifyFont:, and the method determines >which of them sent the message by checking the menu cell's tag. I >can add the missing items to my Font menu, but I don't know what >tag values I need to make the -modifyFont: method work. Anybody >know what's up with this? I'm running NS Developer V3.1. The answer came from Fearless Leader (Greg), who suggested looking at the last remaining (eek!) NS2.2 machine left in our office. In IB on that machine the Font menus _did_ have Larger/Smaller/Heavier/Lighter, and the tags on the menu cells were 3/4/5/6, respectively. For all of you wise guys ;-) who suggested that I look in the PasteUp nibs (duh, do I have a copy of that? *-), I wanted to find the answer in a NeXT-supplied app because 3rd-party apps don't always implement stuff the same way that NeXT documents it. For example, WordPerfect uses an entirely different method than -modifyFont: for the four functions in question. It turns out that PasteUp does it the NeXT way, but I wanted to be sure the tags were the same. Thanx, Michael -- Michael_Pizolato@afs.com NeXTMail accepted
From: ccwf@gg.caltech.edu (Charles Fu) Newsgroups: comp.sys.next.programmer Subject: Re: Can I pass variable argument lists from one method to another? Date: 15 Oct 1993 23:37:41 GMT Organization: California Institute of Technology, Pasadena Message-ID: <29nc85INN84k@gap.caltech.edu> References: <CEv8t0.L7@friday.com> bbum@friday.com writes: > va_list args; > > va_start(args, pattern); > FSCLogM(obj, _cmd, pattern, args); > va_end(args); This solution works on many systems but is not, strictly speaking, kosher. This same question often pops up in comp.lang.c and may be in the FAQ, so I would refer you there for more details. Suffice it to say that there is no easy portable solution to this problem. The notable example where the above code fails to work is the SPARC chip, which does fancy passing of variadic arguments in machine registers so that va_list is not just an array. Variadic methods are handled just like variadic functions. performv and forward are loses since they explicitly don't handle variadic functions. If you just want a portable Obj-C way of passing arbitrary amounts of type data from one function to another, you could consider stashing the data in a Storage object or a typed stream. This will, of course, be much slower than bbum's solution above but will be more portable. (The typed stream solution has the added advantage of being byte-order independent if you use distributed objects. Hmm, I must admit I don't know if distributed objects can handle variadic functions. Without knowing the types of the arguments, how do you know how to convert the types for use on the remote machine--especially if one machine doesn't use IEEE floating point?) -ccwf
Newsgroups: comp.sys.next.programmer From: cbaur@blabel.ppp.informatik.uni-muenchen.de (Christian Baur) Subject: Re: Automatic Power On Message-ID: <1993Oct16.071947.19143@blabel.ppp.informatik.uni-muenchen.de> Organization: Home of BlackLabel References: <9310140935.AA00484@jutland> Date: Sat, 16 Oct 1993 07:19:47 GMT caslawa@il.us.swissbank.com (caslawa) writes: >POWER POWER POWER POWER POWER POWER POWER POWER POWER POWER >Is there a way of making a NeXT Station switch itself on at >a set time each day, then switch itself off at a set time ? >The Preferences App has a 'Power' section which lets you >switch on the NeXT on a specific date and time in the future. Have a look at ftp.informatik.uni-muenchen.de: /pub/comp/platforms/next/Tools/misc/power.tar.Z. Power sets the time for the next power on. It is compiled under 2.1 and I don't know if it will compile under >3.0 because of the missing mon/nvram.h include. But I think I also put the binary in the package (together with some other simple utilities). cb -- [Christian Baur, Muenchen-Germany | A quick self destruct from the 21st floor] [cbaur@informatik.uni-muenchen.de | A smell of gas through the kitchen door]
Newsgroups: comp.sys.next.programmer From: asc1002@Armstrong.EDU (-phillip bruce-) Subject: Re: Automatic Power On Message-ID: <1993Oct16.134332.1048@Armstrong.EDU> Organization: Armstrong State College, Savannah, GA References: <9310140935.AA00484@jutland> <1993Oct16.071947.19143@blabel.ppp.informatik.uni-muenchen.de> Date: Sat, 16 Oct 1993 13:43:32 GMT In article <1993Oct16.071947.19143@blabel.ppp.informatik.uni-muenchen.de> cbaur@blabel.ppp.informatik.uni-muenchen.de (Christian Baur) writes: > >Have a look at ftp.informatik.uni-muenchen.de: >/pub/comp/platforms/next/Tools/misc/power.tar.Z. Power sets the time >for the next power on. It is compiled under 2.1 and I don't know if it /** stuff deleted **/ Just out of curiosity, how the hell can this work?? If the computer is off, how can it run a program to turn it back on again? I am equally curious about how Preferences does it, but I presume the principle is the same. thanks, d!ll!yd
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: boyan@tmnxt1.iit.edu (Boyan I. Boyanov) Subject: HELP!!! f2c hates me :-) Message-ID: <1993Oct16.222804.30591@iitmax.iit.edu> Sender: news@iitmax.iit.edu (News) Organization: Illinois Institute of Technology / Academic Computing Center Distribution: usa Date: Sat, 16 Oct 93 22:28:04 GMT Today (10/16/93) I got the f2c source code form research.att.com and attempted to compile it on a NeXTStation running NeXTStep 2.1 and GNU C compiler as distributed by NeXT. Everything went fine, and the f2c convertor itself seems to work OK, but I can't compile the C code it produces. Here are some specifics: 1) f2c ft.f -> this produces ft.c with no complaints 2) cc -I/usr/local/include -L/usr/local/lib -lF77 -lI77 -lm -o deriv deriv.c libF77.a and libI77.a are in /usr/local/lib f2c.h is in /usr/local/include This produces the error message /bin/ld: Undefined symbols: _s_stop _s_wsfe _do_fio _e_wsfe _s_rsle _do_lio _e_rsle _s_rsfe _e_rsfe _f_back _pow_ri Neither of the files libF77.a and libI77.a are present on the system hard drive prior to installation of f2c. Both s_stop.o and pow_ri.o are present in libF77.a. The content of libI77.a is as follows: __.SYMDEF SORTED Version.o backspace.o close.o dfe.o dolio.o due.o endfile.o err.o fmt.o fmtlib.o iio.o ilnw.o inquire.o lread.o lwrite.o open.o rdfmt.o rewind.o rsfe.o rsli.o rsne.o sfe.o sue.o typesize.o uio.o util.o wref.o wrtfmt.o wsfe.o wsle.o wsne.o xwsne.o If, however, I link directly with the .o files, e.g. cc -lm -o ft ft.c ~/misc/f2c/libs/libI77/*.o ~/misc/f2c/libs/libF77/*.o everything goes OK, and the executable runs beautifully. It appears than for one reason or another the loader cannot read the libraries properly. I tried to recompile with the libraries and f2c.h in "standard" localtions, i.e. /usr/lib and /usr/include, with no success. Any suggestions regarding this proglem will be very welcome. Thank you in advance for you time! Regards, Boyan Boyanov boyan@tmnxt1.iit.edu
From: t146678@lehtori.cc.tut.fi (Tuominen Juha) Newsgroups: comp.sys.next.programmer Subject: SavePanel -> PathPanel Date: 17 Oct 1993 12:28:31 +0200 Organization: Tampere University of Technology, Computing Centre Distribution: world Message-ID: <29r6of$iso@cc.tut.fi> How to modify the SavePanel to make it accept only path definitions? It mey not show any file names, only directories and it must accept (OK button enabled) directory as an active selection. I think I have to make a subclass of SavePanel, but if there someone out there who has already done this, I'll appreciate all the help.. -- Juha Tuominen NeXTMail talks and disk drive walks Opiskelijankatu 30 B 42 Tampere University of Technology 33720 TAMPERE - FINLAND Mail: t146678@cc.tut.fi Phone: +358-31-182 851
Newsgroups: comp.sys.next.programmer From: bbum@friday.com Subject: Re: Can I pass variable argument lists from one method to another? Message-ID: <CF0vGL.sx@friday.com> Sender: bbum@friday.com (Bill Bumgarner) Organization: Friday Software & Consulting; a virtual company References: <29nc85INN84k@gap.caltech.edu> Date: Sun, 17 Oct 1993 03:38:45 GMT Charles Fu writes > bbum@friday.com writes: > > va_list args; > > > > va_start(args, pattern); > > FSCLogM(obj, _cmd, pattern, args); > > va_end(args); > > This solution works on many systems but is not, strictly speaking, > kosher. This same question often pops up in comp.lang.c and may be in > the FAQ, so I would refer you there for more details. Suffice it to > say that there is no easy portable solution to this problem. The > notable example where the above code fails to work is the SPARC chip, > which does fancy passing of variadic arguments in machine registers so > that va_list is not just an array. Not only does it NOT work on many systems, it does not work on the NeXT-- I err'd in my original post (much apologies). If anyone wants a nice colorzied look at stack construction under NeXTSTEP on an '040 (3.1), I have one as a result of reviewing my ignorance. I could only find a non-solution to the problem-- that is, use alloca() to grab some memory from the stack, copy the variadic arguments into the alloc'd memory (assuming that one could figure out the length of the variadic array), and then make a call to the next variadic function (with the assumption that the function's frame will sit in such a way as to be contiguous with the alloca'd memory). It is a complete and totally architecture-dependent, non-portable, hack.... > Variadic methods are handled just like variadic functions. performv > and forward are loses since they explicitly don't handle variadic > functions. If you just want a portable Obj-C way of passing arbitrary > amounts of type data from one function to another, you could consider > stashing the data in a Storage object or a typed stream. This will, of > course, be much slower than bbum's solution above but will be more > portable. (The typed stream solution has the added advantage of being > byte-order independent if you use distributed objects. Hmm, I must > admit I don't know if distributed objects can handle variadic > functions. Without knowing the types of the arguments, how do you know > how to convert the types for use on the remote machine--especially if > one machine doesn't use IEEE floating point?) Speaking of DO and variadic parameters; not only does one not know the appropriate conversion for most arguments, but there is no way to appropriately find out how to expand structures to the point where they could be passed across the wire (whether the wire is the local cpu or something of a different architecture on the other side of the world). Under the current DO model, one can really only expand structures to one level of indirection.... > -ccwf -- b.bum <bbum@friday.com> | "blah blah blah" WhiteLight Systems, INC. | - someone somewhere
Newsgroups: comp.sys.next.programmer From: cbaur@blabel.ppp.informatik.uni-muenchen.de (Christian Baur) Subject: Re: Automatic Power On Message-ID: <1993Oct17.083024.25300@blabel.ppp.informatik.uni-muenchen.de> Organization: Home of BlackLabel References: <9310140935.AA00484@jutland> <1993Oct16.071947.19143@blabel.ppp.informatik.uni-muenchen.de> <1993Oct16.134332.1048@Armstrong.EDU> Date: Sun, 17 Oct 1993 08:30:24 GMT asc1002@Armstrong.EDU (-phillip bruce-) writes: >In article <1993Oct16.071947.19143@blabel.ppp.informatik.uni-muenchen.de> cbaur@blabel.ppp.informatik.uni-muenchen.de (Christian Baur) writes: >> >>Have a look at ftp.informatik.uni-muenchen.de: >>/pub/comp/platforms/next/Tools/misc/power.tar.Z. Power sets the time >>for the next power on. It is compiled under 2.1 and I don't know if it >/** stuff deleted **/ >Just out of curiosity, how the hell can this work?? If the computer is off, >how can it run a program to turn it back on again? I am equally curious about >how Preferences does it, but I presume the principle is the same. > The power-on time is set when the computer is running - of course. The RTC Chip (is it really a Real Time Clock?? Mine is a NearlyRTC :-)) in the NeXT (or some of it, see below) has the ability to turn the computer on at a certain time. The time is stored in the RTC and is checked on a regular basis. After booting (in rc.local) or just before shutdown (in /etc/halt) you can set when the NeXT should be powered on next time via the power program mentioned above. The normal way is to set the time via Preferences by hand. Here is a short description of power: Enclosed you find some programs for setting the auto-power-on time automatically under program control without using the Preferences Application. Only some NeXTs with a special version of RTC Chip are able to power themself on at a certain time. If there is a PopUp button in the Startup Preferences (in the Preferences Apllication) with "Startup Device" and "Power", you are one of the lucky. People who don't have this feature don't normally miss it; it's nearly undocumented. cb -- [Christian Baur, Muenchen-Germany | A quick self destruct from the 21st floor] [cbaur@informatik.uni-muenchen.de | A smell of gas through the kitchen door]
From: kerry@totara.cs.waikato.ac.nz (Kerry Guise) Newsgroups: comp.sys.next.programmer Subject: Looking for next.cf for imake Date: 17 Oct 1993 20:23:44 GMT Organization: The University of Waikato Message-ID: <29s9kg$11hm@thebes.cc.waikato.ac.nz> Keywords: imake next.cf I wonder if some kind sole who has taken the trouble of porting imake to the NeXT platform might be prepared to make their labours available to the lazy and ignorant such as myself. I'm trying to build imake under NeXTstep 3.0 and have the impression that creating a next.cf file for imake might take considerably longer than the five minutes attention I normally give to each project. Please save me from having to pull my finger out. Yours, Kerry Guise P.S. Does the NeXT cpp generate any compiler-unique symbols I might use within imake or should I just create one of my own ? (The manpage has nothing to say on the matter).
From: zmonster@athena.mit.edu (Eric M Hermanson) Newsgroups: comp.sys.next.programmer Subject: Questions regarding memory allocation... Date: 18 Oct 1993 04:48:02 GMT Organization: Massachvsetts Institvte of Technology Distribution: world Message-ID: <29t762$41@senator-bedfellow.MIT.EDU> I have a problem allocating memory, that occurs ONLY on NeXT hardware (NS3.0) (works fine on Intel machine (NS3.1), even though Intel machine has 8 LESS megs of memory): 1. I keep getting the error "failed on vm_allocate" printed out on stderr after my program tries to allocate and free memory four times. Each time I alloate the memory, I am allocating three variables, all of which are floating point variables allocated to a maxIndex of 900,000. Here is the code I use: float * FloatingVector (int n) { float *newarray; if ((newarray=(float *)malloc(n*sizeof(float)))==NULL) { fprintf(stderr,"HumanFactors: No memory to allocate variables\n"); exit(1); } else return newarray; } - allocateVariablesForMaxIndex:(int)maxIndex { ToutSG = FloatingVector(maxIndex); ToutCore = FloatingVector(maxIndex); Qcore = FloatingVector(maxIndex); return self; } - freeVariables { free(ToutSG); free(ToutCore); free(Qcore); return self; } The program works fine after the first three calls to allocate and free, respectively, but on the fourth call, it crashes with the failed on vm_allocate error. What is wrong. 2. Also, with the NXCloseMemory() function, what is the difference between NX_FREEBUFFER and NX_TRUNCATE buffer? My goal is to totally close and free all memory opened with NXOpenMemory, so will NX_FREEBUFFER work? aTdHvAaNnKcSe, Eric Hermanson
From: garnett@cs.caltech.edu (John W. Garnett) Newsgroups: comp.sys.next.programmer Subject: how to add transparent areas to an existing icon? Date: 18 Oct 1993 08:13:46 GMT Organization: California Institute of Technology, Pasadena Distribution: world Message-ID: <29tj7q$kvm@gap.cco.caltech.edu> I created an icon (48x48) using IconBuilder not knowing that I should have set the background to be transparent (using alpha) before starting to draw it. Now I have a finished icon that I don't want to redo but that I do want to give a transparent background. Any hints on how to go about it? Can Iconbuilder do it? I can't figure how to make it do so. Any other solution? Thanks, John Garnett p.s. does IconBuilder have any docs? -- -- John Garnett California Institute of Technology garnett@vlsi.cs.caltech.edu Department of Computer Science garnett@gestalt.austin.tx.us (NeXT Mail) Pasadena, CA
Newsgroups: comp.sys.next.programmer From: arrouye@petole.imag.fr (Yves Arrouye) Subject: Re: The docs lie In-Reply-To: Michael_Pizolato@afs.com's message of Thu, 14 Oct 1993 21:51:53 GMT Message-ID: <ARROUYE.93Oct18102521@petole.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France References: <1993Oct14.215153.1784@afs.com> Date: Mon, 18 Oct 1993 09:25:20 GMT In article <1993Oct14.215153.1784@afs.com> Michael_Pizolato@afs.com (Michael Pizolato) writes: The docs say that Larger, Smaller, Heavier, and Lighter all invoke the same FontManager method, -modifyFont:, and the method determines which of them sent the message by checking the menu cell's tag. I can add the missing items to my Font menu, but I don't know what tag values I need to make the -modifyFont: method work. Anybody know what's up with this? I'm running NS Developer V3.1. From the Draw.nib file (in /NextDeveloper/Examples/AppKit/Draw/English.lproj) (Menu item) (Tag) Larger 3 Smaller 4 Heavier 5 Lighter 6 Hope this help, Yves. -- Advocates for the C++ school claim that a well designed Yves Arrouye program does not need the extra flexibility (a lie), Yves.Arrouye@imag.fr while advocates for the Objective-C school claim that (33) 76 57 48 64 the errors are no problem in practice (another lie). NeXT Mail
Newsgroups: comp.sys.next.programmer From: Peter.Hauke@brunel.ac.uk (Peter Hauke) Subject: Hiding Nib Files Message-ID: <CF3Hot.24y@brunel.ac.uk> Organization: Brunel University, Uxbridge, UK Date: Mon, 18 Oct 1993 13:34:04 GMT Is it possible to produce an .app file such that the Nib files cannot be viewed or modified by the end-user. Many thanks -- *********************************** * Peter Hauke @ Brunel University * *---------------------------------* * cspgpsh@brunel.ac.uk * ***********************************
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: jq@phcs.com (Jim Quick) Subject: Re: HELP!!! f2c hates me :-) Message-ID: <CF3KFA.rL@phcs.com> Organization: Private Healthcare Systems, Inc References: <1993Oct16.222804.30591@iitmax.iit.edu> Distribution: usa Date: Mon, 18 Oct 1993 14:33:10 GMT In article <1993Oct16.222804.30591@iitmax.iit.edu> boyan@tmnxt1.iit.edu writes: >Today (10/16/93) I got the f2c source code form >research.att.com and attempted to compile it on a >NeXTStation running NeXTStep 2.1 and GNU C compiler as >distributed by NeXT. Everything went fine, and the f2c >convertor itself seems to work OK, but I can't compile >the C code it produces. Here are some specifics: > >1) f2c ft.f -> this produces ft.c with no complaints >2) cc -I/usr/local/include -L/usr/local/lib -lF77 -lI77 >-lm -o deriv deriv.c >Boyan Boyanov >boyan@tmnxt1.iit.edu Libraries should be searched only after the symbols to be included from them are referenced. So, try moving the '-l' options to the end of the command line. -- ___ ___ mail: uunet!phcs!jq PHCS, Inc. Advanced Technology Group / / / or jq@phcs.com It's spelled "Luxury Yacht", but it's \_/ (_\/ Fax: (617) 863-8575 pronounced "Throat-Warbler Mangrove". ) Voice: (617) 861-5579 NeXTMail O.K.
Newsgroups: comp.sys.next.programmer From: gibber@kits.sfu.ca (Rory Gibson) Subject: JOB: PanCanadian Petroleum - Career Opportunity Message-ID: <gibber.750957337@sfu.ca> Sender: news@sfu.ca Organization: Simon Fraser University, Burnaby, B.C., Canada Date: Mon, 18 Oct 1993 15:15:37 GMT PanCanadian Petroleum Ltd., PanCanadian Plaza, P.O. Box 2850, Calgary, Alberta, Canada, T2P 2S5. PanCanadian Petroleum Ltd. - Career Opportunity: ---------------------------------------------------------------------- PanCanadian is a fast moving, forward looking company committed to developing a competitive advantage based on Object Oriented Technology. Our current environment consists of almost 200 NeXTSTEP machines with a planned growth to 1000+ machines within 3 to 5 years. Information system's Application Delivery Group is looking for individuals with a strong commitment to object oriented programming and design methodologies to join our development team. The successful candidate would fit the following criteria: - 2+ years experience in OO Analysis, OO Design and OO Development. - Experience with NeXTSTEP Development a definite plus. - Willingness to relocate to Calgary. Applicants should forward a resume and covering letter to: Raj Sinha PanCanadian Petroleum Ltd., PanCanadian Plaza, P.O. Box 2850, Calgary, Alberta, Canada, T2P 2S5. (403) 290-2573. Deadline for applications is Oct. 30th, 1993. About PanCanadian: ================= PanCanadian Petroleum Ltd, a Calgary, Alberta based company, is engaged in the exploration and production of oil, gas, and natural gas liquids. Since it incorporation in 1971, PanCanadian has undergone steady expansion and is now the second largest hydrocarbon producer in Canada.
Newsgroups: comp.sys.next.programmer From: LAPJ_LTD@db1.cc.rochester.edu (JASON LAPIERRE) Subject: Anyone program for PAS16 on Intel? Message-ID: <1993Oct18.173045.9047@galileo.cc.rochester.edu> Sender: news@galileo.cc.rochester.edu Organization: University of Rochester, Rochester NY Date: Mon, 18 Oct 93 17:30:45 GMT I'm fairly new to NeXTstep programming, so for my first project I'm writing a CDPlayer-type application to work with my Toshiba 3401 cd-rom drive (not supported by CDPlayer.app). The SCSI code is going fine however I have run into a snag. Rather than send the audio data over the SCSI bus and send it through the snddriver (I think this is what CDPlayer.app does), I just want to send commands to the drive and let the sound go through the sound card directly so as not to eat up CPU time. In principle I don't believe there is anything wrong with this. However, herein lies the snag. The mixer function of the PAS card apparently has the default value of the CD-ROM audio volume set to almost 0. So, what I need is some help finding code to control the mixer functions of the PAS card. Has anyone already done this, or can someone at least point me to a possible source? I've already tried the development kit found on a few ftp sites, but it's just a few headers and DOS compiled libraries. Is it maybe possible for me to use these? Any help would be greatly appreciated. -Jason Jason LaPierre University of Rochester lapj_ltd@db1.cc.rochester.edu
From: doug_wiebe@next.com (Doug Wiebe) Newsgroups: comp.sys.next.programmer,comp.sys.next.misc,comp.sys.next.software Subject: Re: Multi-disk packages Date: 15 Oct 1993 20:29:38 GMT Organization: NeXT, Inc. Message-ID: <29n17i$if1@rosie.next.com> References: <ARROUYE.93Oct14101413@petole.imag.fr> > Anyone know what's up with 3.1 and multi disk packages... I have > installed multi disk packages that were made under 3.0 or lower but > the ones I create under 3.1 seem to have a problem ejecting the first > disk.... > Any ideas???? > Shell scripts within the 3.1 Installer distribution are reputed to be > bugfull. The "solution" is either to make the package with 3.0 (which i > not possible for NS/FIP), or to manually install the archive, by > concatenating all tar files before extrcating them. The 3.1 Installer "package" script is not the problem. Installer "bom" (bill of materials) files changed from a textual format used in 2.X and 3.0 to a binary IXStoreFile-based format in 3.1. However, in 3.1 there is a bug in IXStoreFile that leaves a file descriptor for the backing file open after the IXStoreFile object is freed. This open fd prevents the ejection of the first floppy disk. Unfortunately this bug was not found until it was too late to fix for 3.1. It is fixed in subsequent releases. As mentioned in the included text above, NeXT recommends that developers use the 3.0 package script *in the case of multi-floppy packages.* The 3.1 package script does work whenever the package will not be distributed as a multi-floppy package. There is a downside to the workaround: m68k/i386 "fat" multi-floppy packages that are generated using the 3.0 package script must be installed fat by the customer since there is insufficient information in the textual bom to allow Installer to "thinstall" such a package. BTW, the 3.0 package script works OK under NS/FIP. On the customer side, the "generate a single on-line package from the floppy packages" technique mentioned above can be used in the unfortunate case where the customer receives a multi-floppy package generated without the workaround. Doug Wiebe Software Engineering NeXT Computer, Inc. P.S. Here is a (slightly bug-fixed) 3.0 package script for those who need it (NewsGrazer will probably wrap long lines in the script so it might take some editing on your end to unwrap those lines). ---------------------------------------------------------- #! /bin/csh -ef set prog = `/usr/bin/basename $0` set usage = "Usage: $prog [-B] [-f] root-dir info-file [tiff-file] [-d dest-dir]" set noglob # gather parameters if ($#argv == 0) then echo $usage exit(1) endif while ( $#argv > 0 ) switch ( $argv[1] ) case -d: if ( $?destDir ) then echo ${prog}: dest-dir parameter already set to ${destDir}. echo $usage exit(1) else if ( $#argv < 2 ) then echo ${prog}: -d option requires destination directory. echo $usage exit(1) else set destDir = $argv[2] shift; shift breaksw endif case -f: if ( $?rootDir ) then echo ${prog}: root-dir parameter already set to ${rootDir}. echo $usage exit(1) else if ( $#argv < 2 ) then echo ${prog}: -f option requires package root directory. echo $usage exit(1) else set rootDir = $argv[2] set fflag shift; shift breaksw endif case -B: set bigTarFlag shift breaksw case -*: echo ${prog}: Unknown option: $argv[1] echo $usage exit(1) case *.info: if ( $?info ) then echo ${prog}: info-file parameter already set to ${info}. echo $usage exit(1) else set info = "$argv[1]" shift breaksw endif case *.tiff: if ( $?tiff ) then echo ${prog}: tiff-file parameter already set to ${tiff}. echo $usage exit(1) else set tiff = "$argv[1]" shift breaksw endif default: if ( $?rootDir ) then echo ${prog}: unrecognized parameter: $argv[1] echo $usage exit(1) else set rootDir = "$argv[1]" shift breaksw endif endsw end # check for mandatory parameters if ( ! $?rootDir ) then echo ${prog}: missing root-dir parameter. echo $usage exit(1) else if ( ! $?info) then echo ${prog}: missing info-file parameter. echo $usage exit(1) endif # destDir gets default value if unset on command line if ( $?destDir ) then /bin/mkdirs $destDir else set destDir = `/bin/pwd` endif # derive the root name for the package from the root name of the info file set root = `/usr/bin/basename $info .info` # create package directory set pkg = ${destDir}/${root}.pkg echo Generating Installer package $pkg ... if ( -e $pkg ) /bin/rm -rf $pkg /bin/mkdirs -m 755 $pkg # tar and compress root directory to package archive set pkgArchive = $pkg/$root.tar.Z echo -n " creating package archive ... " if ( $?fflag ) then set pkgTop = ${rootDir:t} set parent = ${rootDir:h} if ( "$parent" == "$pkgTop" ) set parent = "." if ( $?bigTarFlag ) then (cd $parent; /NextAdmin/Installer.app/installer_bigtar cf - $pkgTop) | /usr/ucb/compress -f -c > $pkgArchive else (cd $parent; /bin/tar cf - $pkgTop) | /usr/ucb/compress -f -c > $pkgArchive endif else if ( $?bigTarFlag ) then (cd $rootDir; /NextAdmin/Installer.app/installer_bigtar cf - .) | /usr/ucb/compress -f -c > $pkgArchive else (cd $rootDir; /bin/tar cf - .) | /usr/ucb/compress -f -c > $pkgArchive endif endif /bin/chmod 444 $pkgArchive echo done. # copy info file to package set pkgInfo = $pkg/$root.info echo -n " copying ${info:t} ... " /bin/cp $info $pkgInfo /bin/chmod 444 $pkgInfo echo done. # copy tiff file to package if ( $?tiff ) then set pkgTiff = $pkg/$root.tiff echo -n " copying ${tiff:t} ... " /bin/cp $tiff $pkgTiff /bin/chmod 444 $pkgTiff echo done. endif # generate bom file set pkgBom = $pkg/$root.bom echo -n " generating bom file ... " if ( $?bigTarFlag ) then /usr/ucb/zcat $pkgArchive | /NextAdmin/Installer.app/installer_bigtar tvf - > $pkgBom else /usr/ucb/zcat $pkgArchive | /NextAdmin/Installer.app/installer_tar tvf - > $pkgBom endif /bin/chmod 444 $pkgArchive echo done. # generate sizes file set pkgSizes = $pkg/$root.sizes echo -n " generating sizes file ... " # compute number of files in package set numFiles = `/bin/cat $pkgBom | /usr/ucb/wc -l` # compute package size when compressed @ compressedSize = `/bin/du -s $pkg | /bin/awk '{print $1}'` @ compressedSize += 3 # add 1KB each for sizes, location, status files @ infoSize = `/bin/ls -s $pkgInfo | /bin/awk '{print $1}'` @ bomSize = `/bin/ls -s $pkgBom | /bin/awk '{print $1}'` if ( $?tiff ) then @ tiffSize = `/bin/ls -s $pkgTiff | /bin/awk '{print $1}'` else @ tiffSize = 0 endif @ installedSize = `/bin/du -s $rootDir | /bin/awk '{print $1}'` @ installedSize += $infoSize + $bomSize + $tiffSize + 3 # echo size parameters to sizes file echo NumFiles $numFiles > $pkgSizes echo InstalledSize $installedSize >> $pkgSizes echo CompressedSize $compressedSize >> $pkgSizes echo done. echo " ... finished generating $pkg." exit(0) # end package
From: Bob_Vadnais@next.com (Bob Vadnais) Newsgroups: comp.sys.next.programmer Subject: Re: SavePanel -> PathPanel Date: 18 Oct 1993 05:28:43 GMT Organization: NeXT, Inc. Distribution: world Message-ID: <29t9ib$l64@rosie.next.com> References: <29r6of$iso@cc.tut.fi> Keywords: OpenPanel In article <29r6of$iso@cc.tut.fi>, t146678@lehtori.cc.tut.fi (Tuominen Juha) writes: > > How to modify the SavePanel to make it accept only path > definitions? It mey not show any file names, only directories > and it must accept (OK button enabled) directory as an active > selection. I think I have to make a subclass of SavePanel, but > if there someone out there who has already done this, I'll > appreciate all the help.. I've used an OpenPanel (which is a subclass of SavePanel) to get the behavior you describe. Here's a code snippet: OpenPanel *openPanel = [OpenPanel new]; [openPanel chooseDirectories:YES]; [openPanel allowMultipleFiles:NO]; [openPanel setTitle:"Change Root Directory"]; if ([openPanel runModalForDirectory:[fileBrowser rootDirectory] file:""]) [self setPath:[openPanel filename]]; Cheers, Bob
From: fxg@gimli.tolkien.imib.rwth-aachen.de (Felix Gatzemeier #Alwd#) Newsgroups: comp.sys.next.programmer Subject: Re: SNDRelease question (somebody is lying) Date: 18 Oct 1993 17:51:57 GMT Organization: Rechnerbetrieb Informatik - RWTH Aachen Message-ID: <FXG.93Oct18185158@gimli.tolkien.imib.rwth-aachen.de> References: <29da98$n06@jadzia.CSOS.ORST.EDU> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-reply-to: danno@CSOS.ORST.EDU's message of 12 Oct 93 04:02:48 GMT In article <29da98$n06@jadzia.CSOS.ORST.EDU> danno@CSOS.ORST.EDU (Daniel Bigelow) writes: From: danno@CSOS.ORST.EDU (Daniel Bigelow) Newsgroups: comp.sys.next.programmer Date: 12 Oct 93 04:02:48 GMT Article-I.D.: jadzia.29da98$n06 Organization: me ? organized ? In poking around some documentation (tracking a compiler error...), I found two definitions of the SNDRelease function parameter prototypes... from the 3.1 docs... : SNDRelease(int, port_t *, port_t *) and from the header files (which I'm more inclined to believe...) : SNDRelease(int, port_t, port_t) /* note the non-pointers... */ Having not tracked 'port_t' down and curious about other such glitches I figured I'd post. It would be reasonable for the release function to want a pointer to a structure (port_t?) that it might want to free after having malloc-d it in a previous SNDAcquire... Is that a sane idea? cheers, --danno Well, haven't we all seen something like this? I believe that it's just not neccessary to have man pages and other documentation on quite basic items misaligned with the implementation. I keep a Lattice C / Atari manual around for ANSI C library - reference, because strchr() (don't hang me on that, it was something that basic) is not documented: no man page for...! Of course, you should use index(), but WHY? Just because NeXT Inc. thinks it sounds better? My experiance is that in case of doubt, that headers are correct. Now that's what HeaderViewer is real helpful. Sanity! Btw, it could get worse: I got FORTRAN lib docu for fputchar at my site today --- the fun being that F* reverses the argument order vs. C and the compiler didn't notice it! (Ultrix) Or is this entire discussion placed better in csn.bugs? -- Felix (fxg@Pool.Informatik.RWTH-Aachen.de fxg@tolkien.ImIB.RWTH-Aachen.de, No NeXT-Mail, please!)
From: admin@bock.freiburg.sub.org (FreiNet Administrator) Newsgroups: comp.sys.next.programmer Subject: Re: Beginners question about resizing an EPS Image file Date: 18 Oct 1993 16:17:48 GMT Organization: FreiNet, a VzF* InterNetNews site Message-ID: <29ufjc$o8d@bock.freiburg.sub.org> References: <jan.750612080@dutnak2> Jan Thorbecke (jan@dutnak2.tn.tudelft.nl) wrote: : I finally succeeded in reading an EPS file from stdin. The file : is displayed in an resizable window. I used the TIFFandEPS program : which is avalaible from ftp.next.com MiniExamples, only without using the : interface builder like the tiny.m program in Garfinkel and Mahoney. : The problem is that Iwant to resize the Image if the window is resized. : Garfinkel and Mahoney give on page 474 an example which makes use : of the sizeTo:: method in the View class. But.... this doesn't work : it only resizes the view but not the EPS image. So I tried to make some : changes in the drawSelf method don't forget to make the image scalable ! [anImage setScalable:YES]; - Flo.
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: Re: Scaling TIFFs composited into custom view? Message-ID: <CF44Ep.6uw@news2.cis.umn.edu> Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Hospital and Clinic, Labratory Information Services References: <1993Oct13.030251.24378@splunge.uucp> Date: Mon, 18 Oct 1993 21:41:26 GMT I did this a couple years ago. I basically hacked up Draw to have the zooming feature similar to Diagram!'s (as I think you're trying to do). I basically kept most of Draw's organization and then whenever the view is scaled, you need to manually resize each image. This introduces a problem of rounding errors if you can arbitrarily scale the image as you're scaling the image arbitrarily and a good tiff and end up garbage if you don't do it smartly -- which can be at the expense of vm. I set each image to be scalable (-setScalable:YES) and then when it was time to scale, I got the size (-getSize:), scaled the size appropriately, and then set the size of the image (-setSize:). Viewing 600 dpi, full-page image and any scaling at all sank a 32MB turbo into a pile of silicon, but it worked. A solution for me (way back then) was to pre-calculate the size of the image that needs to be displayed, calculate the region of the image that would fit in that area, copy that region of the image and then scale the copy. This was gobs of math and scrolling was slow, but it kept the system usable. Royce Howland (royce@splunge.uucp) wrote: : I've got a custom view, grouped in a ScrollView, into which I'm : compositing standard icon-sized TIFFs. I'm using NXImages to : handle the TIFFs and do the compositing into the custom view. : I have set things up so the user may change the viewing scale of : ScrollView's contents. I do this by having a popup list call an : action method that sets the scale of the ScrollView's docView's : superview, i.e. the ScrollView's contentView, a ClipView instance. : (Why isn't there an easy way to directly get the contentView of a : ScrollView...?) (Since I haven't been able to get ScrollViewDeluxe : to work, I'm trying to cobble up my own version of the functionality : it has that I want to use.) : The scale is being changed properly, but unfortunately, it does not : influence the size of the TIFFs composited within the custom view : by its drawSelf:: method. I have RTFMed about NXImages, NXImageReps, : Views, ClipViews, and ScrollViews, and it doesn't look like there's : any direct way for me to scale the TIFFs being composited. So, how : does one accomplish this indirectly? : TFM says, in regard to NXImage's drawRepresentation:InRect: method, : that the method can be overridden in a sub-class, for example to : change the drawing scale. I assume this is one way to go, and that : if I went this way, I'd have to use DPS directly to change the : scale in MyNXImage's drawRepresentation::, prior to calling super's : drawRepresentation::. : Am I on the right track? Is there a better/different/whatever way? No, don't do that -- do the description above as a worst-case scenario. If that doesn't seem to work, review gobs of cartesian coordinate system math. Your subclass of NXImage's implementation of drawRepresentation:InRect: would be a good place to apply some bit-smoothing algorithms if you wanted to make deep zooms nicer looking. does this help? peter -- Always looking for a handy place to nap... peter@tahiti.umhc.umn.edu (Peter Eisch) peter.a.eisch@uwrf.edu
Newsgroups: comp.sys.next.programmer From: bau@cs.cornell.edu (David Bau) Subject: Simple Question About Views Message-ID: <1993Oct18.223834.25406@cs.cornell.edu> Organization: Cornell Univ. CS Dept, Ithaca NY 14853 Date: Mon, 18 Oct 1993 22:38:34 GMT Hello NEXSTEP Gurus! First, a preemptive question: is there any documentation that gives an overview of the structure and operation of the main classes (View, Window, App?). Garfinkel is useful but does not seem to cover much, and the General Reference talks about the API in great detail without overviewing much of anything. Here's my beginner's puzzle. I wanted a button that disappeared when clicked. (A tiff "credits" screen.) So after putting the tiff in the the button and enlarging it appropriately, I attached the button's target to a method that called [TheButton removeFromSuperview]; [TheSuperView addSubview:TheButton :NX_BELOW relativeTo:nil]; [TheSuperView display]; There was another subview that covered the whole superview, so this operation should have taken the buttonView and pushed it behind everything else, right? Well, it didn't. The button stayed right in front. In fact, if the button started out behind some other things, pushing it brought it up in front. Chagning NX_BELOW to NX_ABOVE and relativeTo: nil to other things had no effect. Finally, I decided it was not a good idea to put it back in at all so I got rid of the addSubView::relativeTo: call, and it works, although I now have a view which is not a subview of anything (is that supposed to be an okay thing?). I bring it back later with addSubView: when I want the button to appear in front again. Why didn't addSubview::relativeTo: push the button back? It works fine when I want to bring something forward. How am I supposed to structure views? Is it legal to have a view not be a subview of anything? How about having a view be the subview of more than one thing? Are these questions discussed anywhere? Maybe here. By the way, anybody who wants my source can have it. It's another BackSpace module that does "Life", but smoother and faster and with more options than before. David bau@cs.cornell.edu
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Hiding Nib Files Message-ID: <1993Oct19.032533.21172@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <CF3Hot.24y@brunel.ac.uk> Date: Tue, 19 Oct 1993 03:25:33 GMT In article <CF3Hot.24y@brunel.ac.uk> Peter.Hauke@brunel.ac.uk (Peter Hauke) writes: >Is it possible to produce an .app file such that the Nib files >cannot be viewed or modified by the end-user. That all depends on how sophisticated your end-user is. Enough said? -=EPS=-
Newsgroups: comp.sys.next.programmer From: michel@unomain.teaser.com Subject: Virtual memory problem Message-ID: <1993Oct15.163940.317@unomain.uucp> Sender: michel@unomain.uucp (Michel Gutierrez) Organization: Matra Communication Date: Fri, 15 Oct 1993 16:39:40 GMT Hi, I am currently developing a kernel server under NS3.1, using out of line data. While the size of my data is less than the page size (8K) every thing is right. When it is more, the vm_write funtion of my server returns INVALID MEMORY. If I look at the allocated region using vm_region, the size of my memory is right in the user application but is only one page in the server. Is it normal or did I miss something ? Thanks, Michel. -- ---------------------------------------------------- E-Mail: michel@unomain.teaser.com -----------------------------NeXT Mail-Welcome------
From: sanguish@digifix.com Newsgroups: comp.sys.next.announce,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.advocacy,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.bugs,comp.sys.next.programmer,comp.sys.next.marketplace Subject: Quick Guide to the comp.sys.next.* newsgroups Date: 19 Oct 1993 00:34:34 -0400 Organization: Next Announcements Message-ID: <29vqoo$slo@digifix.digifix.com> The current menagerie: 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. comp.sys.next.announce Announcements of general interest to the NeXT community (new products, FTP submissions, user group meetings, commercial announcements etc.) The NEXTSTEP FAQs are posted here monthly as well. 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. 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. 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. 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. 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!!! comp.sys.next.programmer Questions and discussions of interest to NEXTSTEP programmers. This is primarily a forum for advanced technical material. The NEXTSTEP programmer FAQs are posted here. 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. comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. related Newsgroups 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. comp.lang.objective-c Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. 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. --------------------------------------------------------------------- Thanks to Michael Ross at antigone.com, the main NEXTSTEP groups are now available as a mailing list digest as well. next-nextstep-d next-advocacy-d next-announce-d next-bugs-d next-hardware-d next-marketplace-d next-misc-d next-programmer-d next-software-d next-sysadmin-d (For a full description, send mail saying LISTS to <digestif@antigone.com>). The subscription syntax is essentially the same as LISTSERV's. To subscribe, send a message to <digestif@antigone.com> saying: SUB Listname YourName Example: SUB next-hardware-d John Doe -------------------------------------------------------------------- Written by: Eric P. Scott eps@toaster.SFSU.EDU Minor editing: Scott Anguish sanguish@digifix.com Additions from: Greg Anderson (Greg_Anderson@afs.com) and Michael Pizolato (Michael_Pizolato@afs.com)
Newsgroups: comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.hardware,comp.sys.next.sysadmin From: burns@sparc4.cs.uiuc.edu (Edward John Burns) Subject: Summary of Packet Sniffer Responses Message-ID: <CF4qA9.56o@sparc0a.cs.uiuc.edu> Sender: news@sparc0a.cs.uiuc.edu Organization: University of Illinois at Urbana-Champaign Date: Tue, 19 Oct 1993 05:37:20 GMT Thanks to all who responded to my request for information on network related kernal servers and their packet sniffing applications. Here is a summary of the generous and helpful responses I received: Don McGregor (mcgredo@crl.com) pointed me to Chase Turner, who had done some work with this in the past. Michael Shaler (mshaler@tdocad.sps.mot.com) pointed me to cs.orst. Alexander Konstantinou (akonstan@math.macalstr.edu) warned me of a hardware bug that gets triggered when one puts the NeXT in promiscuous mode. (I haven't tried, so as far as I'm concerned I don't know if this is true or not) Tim Pugh (tpugh@orst.edu) again pointed to Chase Turner and Cory Jones, chase@marble.com and jonesc@tsunami.intel.com respectively. Chase himself mailed me and told of his and Cory's non-disclosure agreement with NeXT about their packet sniffer project. He then pointed me to a very nice and illustrative package called eni, available by anonymous ftp at: Host binkley.cs.mcgill.ca Location: /pub/next DIRECTORY drwxr-xr-x 512 Feb 23 1993 eni Once again, thanks for the replies and I hope this summary is somewhat helpful. Ed +-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^+ | Ed Burns | ACM Secretary, U of IL Urbana | h 217-332-3281| | e-burns@uiuc.edu | SigMicro 6:00 Wednesdays | o 217-333-5828| | "Open your thighs to fate." e.e. cummings, "Conceive a man" | +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
Newsgroups: comp.sys.next.programmer From: (slugg jello) Subject: NEXTSTEP 3.2 for previous versions of NEXTSTEP Message-ID: <1993Oct19.050754.3925@mouthers.nwnexus.wa.com> Sender: slugg@mouthers.nwnexus.wa.com Organization: Mouthing Flowers Date: Tue, 19 Oct 1993 05:07:54 GMT Anyone know on which previous versions of NEXTSTEP that an application built under NEXTSTEP 3.2 (beta) will run? Thanks. -- Doug Kent Mouthing Flowers, Inc. slugg@mouthers.wa.com
From: zmonster@ATHENA.MIT.EDU (Eric M Hermanson) Newsgroups: comp.sys.next.programmer Subject: Has Anyone Written A Public Domain GridView? Date: 19 Oct 1993 08:31:43 GMT Organization: Massachvsetts Institvte of Technology Distribution: world Message-ID: <2a08lf$t12@senator-bedfellow.MIT.EDU> I need a view that will display a greyed-out grid of arbitrary mesh size. I can write this myself, but my reasearch group needs it right away for a research project involving graphing, and I don't have the time to do it right now. If anyone has written a public domain grid view that they wouldn't mind sharing, please NeXTMail it to me! Or is there already a grid view available on the archives? Thanks, Eric
Newsgroups: comp.sys.next.programmer From: jan@dutnak2.tn.tudelft.nl (Jan Thorbecke) Subject: Re: Beginners question about resizing an EPS Image file Message-ID: <jan.751014575@dutnak2> Keywords: resizing EPS NXImage Sender: news@news.tudelft.nl (UseNet News System) Organization: Delft University of Technology References: <jan.750612080@dutnak2> Date: Tue, 19 Oct 1993 07:09:35 GMT 'Problem' is solved now; the drawSelf method looks now like - drawSelf:(NXRect *)rects :(int)rectCount { NXSetColor(NX_COLORWHITE); NXRectFill(rects); [[anImage lastRepresentation] drawIn: &rects[rectCount-1]]; return self; } This drawSelf method does actually the scaling. The difficulty part was to use the NXImageRep(by [anImage lastRepresentation]) instead of the NXImage object. To scale the view properly the sizeTo method is added - sizeTo:(NXCoord)width :(NXCoord)height { [super sizeTo:width: height]; [self setDrawSize:width: height]; [self setDrawOrigin:0.0 :0.0]; [self display]; return self; } Thanks to everbody who has helped me. Jan Thorbecke
Newsgroups: comp.sys.next.marketplace,comp.sys.next.programmer From: art@eskimo.com (Arthur Morton) Subject: NeXt Document Sale Message-ID: <CF3Kow.KpJ@eskimo.com> Keywords: NeXt Sale Organization: Eskimo North (206) For-Ever Date: Mon, 18 Oct 1993 14:48:45 GMT NeXtstep Reference Volume 1 & 2
Newsgroups: comp.sys.next.programmer From: arrouye@petole.imag.fr (Yves Arrouye) Subject: Re: how to add transparent areas to an existing icon? In-Reply-To: garnett@cs.caltech.edu's message of 18 Oct 1993 08:13:46 GMT Message-ID: <ARROUYE.93Oct19124258@petole.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France References: <29tj7q$kvm@gap.cco.caltech.edu> Date: Tue, 19 Oct 1993 11:42:58 GMT using IconBuilder, select a transparent color (e.g. black with no opacity), and then draw WITH THE 'PAINT IN OVERLAY MODE' CHECK ENEABLED. That's all, Yves. -- Advocates for the C++ school claim that a well designed Yves Arrouye program does not need the extra flexibility (a lie), Yves.Arrouye@imag.fr while advocates for the Objective-C school claim that (33) 76 57 48 64 the errors are no problem in practice (another lie). NeXT Mail
From: mcgredo@prism.CS.ORST.EDU (Don McGregor) Newsgroups: comp.sys.next.programmer Subject: oci calls via adaptor? Message-ID: <2a1613INN91f@flop.ENGR.ORST.EDU> Date: 19 Oct 93 16:52:51 GMT Article-I.D.: flop.2a1613INN91f Organization: Computer Science Department, Oregon State University Grepping around in the Oracle DBKit adaptor shows a bunch of calls to oci. Is it possible to make direct calls to oci through the Oracle adaptor? -- Don McGregor | "What if there were no hypothetical mcgredo@prism.cs.orst.edu| questions?"
Newsgroups: comp.sys.next.hardware,comp.sys.next.programmer From: merz@id.ips.ethz.ch (Andreas Merz) Subject: Infos, Docus, etc. for Next Hardware Message-ID: <CF5KsA.JA8@bernina.ethz.ch> Sender: news@bernina.ethz.ch (USENET News System) Organization: Swiss Federal Institute of Technology (ETH), Zurich, CH Date: Tue, 19 Oct 1993 16:36:07 GMT Hello! I am looking for Infos, Docus, files, etc, that describe the hardware of the 030 and 040 NeXT boards. I need the informations to write a kernel for teaching purposes and for research. If you have or know something, please reply. best regards! -- ---------------> Andreas Merz / Internet: merz@ips.ethz.ch <---------------- ------> Interdisciplinary Project Center for Supercomputing (IPS) <------ <-------- *THE* ultimate computer virus: MSDOS - even with updates! -------->
Newsgroups: comp.sys.next.programmer From: marshall@rdr.com Subject: Problem playing a sound during animation Message-ID: <1993Oct19.164215.9598@rdr.com> Organization: RDR, Inc. Date: Tue, 19 Oct 1993 16:42:15 GMT When I play a sound during a simple animation, the animation noticeably pauses when the sound starts. The animation then continues smoothly after the sound begins playing. The BoinkOut demo does a lot more graphical stuff in it's animation than in mine and there is no hesitation when playing sounds, so there must be additional programming efficiencies that I need to know about. I've tried using different window types, different sounds, switching the order of drawing and playing the sound, and all sorts of other silly stuff but none have removed the hiccups. I've included a short program below to demonstrate the problem. The program requires a sound file named "Sound.snd". BTW, I'm running 3.1 on a NeXT color machine. Thanks in advance. ----- 8< ----- 8< ----- 8< ----- 8< ----- 8< ----- 8< ----- 8< ----- 8< ----- /* To compile: cc animation.m -lNeXT_s -lsys_s */ #import <appkit/appkit.h> id myWindow, mySound; DPSTimedEntry te; float x = 50.0; void timedEntry(DPSTimedEntry teNumber, double now, void *userData) { [[myWindow contentView] lockFocus]; PSmoveto(x++, 100.0); PSrlineto(1.0, 0.0); PSstroke(); if (x == 500.0) [mySound play]; if (x == 650.0) exit(0); [[myWindow contentView] unlockFocus]; [myWindow flushWindow]; NXPing(); } void initialize() { id myMenu; NXRect graphicsRect; myMenu = [[Menu alloc] initTitle: "Animation with Sound Test"]; [myMenu addItem: "Quit" action: @selector(terminate:) keyEquivalent: 'q']; [myMenu sizeToFit]; [NXApp setMainMenu:myMenu]; NXSetRect(&graphicsRect, 100.0, 400.0, 700.0, 200.0); myWindow =[[Window alloc] initContent: &graphicsRect style: NX_CLOSEBUTTONMASK backing: NX_BUFFERED buttonMask:NX_MINIATURIZEBUTTONMASK defer: NO]; [myWindow useOptimizedDrawing:YES]; [myWindow display]; [myWindow makeKeyAndOrderFront:nil]; [[myWindow contentView] lockFocus]; PSmoveto(500, 150.0); PSrlineto(0.0, -40.0); PSrmoveto(0, -20.0); PSrlineto(0.0, -40.0); PSstroke(); [[myWindow contentView] unlockFocus]; [myWindow flushWindow]; mySound = [Sound alloc]; [mySound readSoundfile:"Sound.snd"]; te = DPSAddTimedEntry(0.0166, (DPSTimedEntryProc) timedEntry, NXApp, NX_BASETHRESHOLD); } void main() { NXApp = [Application new]; initialize(); [NXApp run]; [NXApp free]; }
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: how to add transparent areas to an existing icon? Message-ID: <1993Oct19.181649.1507@dart.de> Keywords: IconBuilder Alpha Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <29tj7q$kvm@gap.cco.caltech.edu> Date: Tue, 19 Oct 93 18:16:49 GMT In article <29tj7q$kvm@gap.cco.caltech.edu> garnett@cs.caltech.edu (John W. Garnett) writes: > I created an icon (48x48) using IconBuilder not knowing that I should > have set the background to be transparent (using alpha) before starting > to draw it. Now I have a finished icon that I don't want to redo but > that I do want to give a transparent background. Any hints on how > to go about it? Can Iconbuilder do it? I can't figure how to make it do > so. Any other solution? First: You can change any TIFF in IconBuilder using the PageLayout. So you can add/remove alpha to your pic. Second: Get the ColorPanel and choose a color with tranparency. Third: Switch "Paint in Overlay Mode OFF! Fouth: Fill your background with the alpha-color. Thats it. Atze PS. By the way: with PageLayout you are able to add/remove different color-depths or even change the size. > p.s. does IconBuilder have any docs? What kind of docs? -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: Simple Question About Views Message-ID: <1993Oct19.185832.1570@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <1993Oct18.223834.25406@cs.cornell.edu> Date: Tue, 19 Oct 93 18:58:32 GMT In article <1993Oct18.223834.25406@cs.cornell.edu> bau@cs.cornell.edu (David Bau) writes: > [...] > Here's my beginner's puzzle. I wanted a button that disappeared > when clicked. (A tiff "credits" screen.) So after putting the > tiff in the the button and enlarging it appropriately, I attached > the button's target to a method that called > > [TheButton removeFromSuperview]; > [TheSuperView addSubview:TheButton :NX_BELOW relativeTo:nil]; > [TheSuperView display]; If you did that, you should find something like this in your console: "DPS Client Error - you tried to remove a view that has been lock focused" (or something like it). This could be one reason. You should use perform:with:afterDelay:cancelPrevious: for that. > There was another subview that covered the whole superview, so this > operation should have taken the buttonView and pushed it behind > everything else, right? Maybe your second view was transperent? Or it did not receive a display message, 'cause it didn't change. > Well, it didn't. The button stayed right in front. In fact, if > the button started out behind some other things, pushing it brought > it up in front. Chagning NX_BELOW to NX_ABOVE and relativeTo: nil > to other things had no effect. > > Finally, I decided it was not a good idea to put it back in at all > so I got rid of the addSubView::relativeTo: call, and it works, > although I now have a view which is not a subview of anything (is > that supposed to be an okay thing?). I bring it back later with > addSubView: when I want the button to appear in front again. > > Why didn't addSubview::relativeTo: push the button back? It works > fine when I want to bring something forward. How am I supposed > to structure views? Is it legal to have a view not be a subview > of anything? How about having a view be the subview of more than > one thing? Are these questions discussed anywhere? [Map ? to .] See above. As you like. Yes, but you can not draw it: it has no window. Does not work, if you say addSubview: the superview will call removeFromSuperview automatic. As you can see:Yes. See ../Concepts/Pre3.0_Concepts/06_ProgStructure.rtfd for details on Views and Windows. -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: Simple: TextField doesn't send delegate message to DBModul Message-ID: <1993Oct19.190206.1626@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <29l724$2f7@deneva.sdd.trw.com> Date: Tue, 19 Oct 93 19:02:06 GMT In article <29l724$2f7@deneva.sdd.trw.com> blanford@spf.trw.com (Ronald P. Blanford) writes: > Dominik Westner writes > > But now I want to give some default > > settings, which I write into the > > textFields with the setStringValue method. > > Now the DBModul won't notice a change of the > > Cell and therefore won't update the record. > > Suggest you try > > [textField setStringValue:aString]; > association = [module associationForObject:textField]; > [association takeValueFrom:??]; > > Unfortunately my DBKit documentation is 30 miles away, and I > don't exactly remember the last method, but I solved the > identical problem in just this way. > > -- Ron This will do: [textField setStringValue:aString]; [dbmodule takeValueFrom:textField]; Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not
From: izumi@pinoko.berkeley.edu (Izumi Ohzawa) Newsgroups: comp.sys.next.programmer Subject: Re: Hiding Nib Files Date: 19 Oct 1993 19:46:59 GMT Organization: University of California, Berkeley Distribution: world Message-ID: <2a1g7j$79p@agate.berkeley.edu> References: <1993Oct19.032533.21172@csus.edu> In article <1993Oct19.032533.21172@csus.edu> eps@futon.SFSU.EDU (Eric P. Scott) writes: >In article <CF3Hot.24y@brunel.ac.uk> Peter.Hauke@brunel.ac.uk > (Peter Hauke) writes: >>Is it possible to produce an .app file such that the Nib files >>cannot be viewed or modified by the end-user. > >That all depends on how sophisticated your end-user is. > >Enough said? You could use Release 2.1 so that nib files are included in a Mach-O segment. This of course does not prevent programmer types who can extract nib files. This got me curious: Is it still possible to include nib files in __NIB Mach-O segment under 3.x PB/IB? Now, Nibs are directories instead of files. In some special cases like starting a simple app from a command line, shell's path becomes a problem for the app wrapper. It would be stupid to include /usr/local/bin/SomeApp.app for every such app. -- Izumi Ohzawa [ $@Bg_78^=;(J ] USMail: University of California, 360 Minor Hall, Berkeley, CA 94720 Telephone: (510) 642-6440 Fax: (510) 642-3323 Internet: izumi@pinoko.berkeley.edu (NeXTMail OK)
From: t146678@lehtori.cc.tut.fi (Tuominen Juha) Newsgroups: comp.sys.next.programmer Subject: Re: SavePanel -> PathPanel Date: 19 Oct 1993 21:44:48 +0200 Organization: Tampere University of Technology, Computing Centre Distribution: world Message-ID: <2a1g3g$hjb@cc.tut.fi> References: <29r6of$iso@cc.tut.fi> <29t9ib$l64@rosie.next.com> Keywords: OpenPanel In article <29t9ib$l64@rosie.next.com> Bob_Vadnais@next.com writes: >In article <29r6of$iso@cc.tut.fi>, > [openPanel chooseDirectories:YES]; Tried that, didn't work on 2.1. (I forgot to mention, that the program must work on ns2.1). I got one suggestion (due to my other work I haven't tried it yet, but it looks good: ---cut here--- A: The standard OpenPanel class is not capable of choosing directories, so you have to make a subclass. Here's what you have to do: First, create an OpenPanel subclass, and somewhere at initialization time (maybe in the +new method), enable the OK button and set the instance variable to NULL. Next, call the -runModalForTypes: method, passing an extension that no one would possibly pick as their file extension. Doing these two things means that the OpenPanel will always only show folders, and the OK button will always be enabled (with the OK button instance variable set to NULL, the regular OpenPanel code can't disable it). Last thing: override the -ok: method to extract the file path from the Browser. You can't get it from the filenames method because the OpenPanel refuses to remember the path if it's a folder. ---cut here--- -- Juha Tuominen NeXTMail talks and disk drive walks Opiskelijankatu 30 B 42 Tampere University of Technology 33720 TAMPERE - FINLAND Mail: t146678@cc.tut.fi Phone: +358-31-182 851
From: izumi@pinoko.berkeley.edu (Izumi Ohzawa) Newsgroups: comp.sys.next.programmer Subject: Re: SavePanel -> PathPanel Date: 19 Oct 1993 20:35:12 GMT Organization: University of California, Berkeley Distribution: world Message-ID: <2a1j20$85u@agate.berkeley.edu> References: <2a1g3g$hjb@cc.tut.fi> In article <2a1g3g$hjb@cc.tut.fi> t146678@lehtori.cc.tut.fi (Tuominen Juha) writes: >In article <29t9ib$l64@rosie.next.com> Bob_Vadnais@next.com writes: >>In article <29r6of$iso@cc.tut.fi>, >A: The standard OpenPanel class is not capable of choosing >directories, so you have to make a subclass. Here's what you have >to do: Scott Hess (of Stuart and TickleServices) has done this, and the source code should be available as "DirPanel*.tar.Z" or something on the archvies. Look for that. From nice looking RTF documentation..: "DirPanel provides the ability to select directories for SavePanels and OpenPanels. It does this by providing an Objective-C Category of SavePanel, and an alternative form of the -runModal* methods for selection of directories. ...." -- Izumi Ohzawa [ $@Bg_78^=;(J ] USMail: University of California, 360 Minor Hall, Berkeley, CA 94720 Telephone: (510) 642-6440 Fax: (510) 642-3323 Internet: izumi@pinoko.berkeley.edu (NeXTMail OK)
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Playing sounds one after the other, how? Message-ID: <1993Oct19.192140.1682@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH Date: Tue, 19 Oct 93 19:21:40 GMT Hi out there! I'd like to play sounds in parallel, or one after the other. NEXTSTEP can do that. But my program can't. This does not work: - (void)makeNoise { [soundOne play]; [soundTwo play]; } The first sound will start to play. Then the second sound will kill it and - why why why? - stop by itself. So what you get is a mere Crack in your speaker. Besides: I'd like to have my programm running on. I don't want to wait until one sound is played. What should I do? Have a new thread? Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not
From: bill@alamut.cognet.ucla.edu (William M. Eldridge) Newsgroups: comp.sys.next.programmer Subject: Speech recognition software available? Date: 19 Oct 1993 15:05:18 -0700 Organization: UCLA Cognitive Science Research Program Message-ID: <2a1oau$t34@alamut.cognet.ucla.edu> Title says it - looking for speech recognition software/development tools for the Next. Bill -- Bill Eldridge "Hung with care bill@cognet.ucla.edu by a jury de rigeur" 310-206-3960 (3987 fax) ..................
From: andrew@wire.gatech.EDU (andrew abernathy) Newsgroups: comp.sys.next.programmer Subject: Digitalk's PARTS Workbench Date: 19 Oct 1993 22:34:08 -0400 Organization: The Ohio State University Sender: daemon@magnus.acs.ohio-state.edu Message-ID: <9310200232.AA01181@wire.gatech.edu> We've just got Digitalk's PARTS Workbench (along with Smalltalk/V) and I'm working with it on a project. While it's the best thing I've seen for the Intel platform (short of NS/I), it's certainly no match for NeXTstep's developer tools. Is there anyone out there who has used PARTS and who might be able to help me with some questions? Thanks! --- andrew_abernathy@wire.gatech.edu (NeXTmail ok) Powered by Motorola
Newsgroups: comp.sys.next.programmer From: gvh@metrosoft.com (Gordon Van Huizen) Subject: Re: how to add transparent areas to an existing icon? Message-ID: <1993Oct20.061623.16977@metrosoft.com> Sender: gvh@metrosoft.com Organization: Metrosoft References: <ARROUYE.93Oct19124258@petole.imag.fr> Date: Wed, 20 Oct 1993 06:16:23 GMT In article <ARROUYE.93Oct19124258@petole.imag.fr> arrouye@petole.imag.fr (Yves Arrouye) writes: > using IconBuilder, select a transparent color (e.g. > black with no opacity), and then draw WITH THE 'PAINT IN > OVERLAY MODE' CHECK ENEABLED. > > That's all, Sometimes it helps to see WHERE the transparent color is being drawn. In such cases I fill the area I want to be transparent with some vivid color unused in the icon (bright red, for example), and then drop a transparent color on it. Obvious trick, I suppose... Gordon -- Gordon Van Huizen vox: 619.488.9411 fax: 619.488.3045 Metrosoft gvh@metrosoft.com [NeXTmail welcome]
Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs Subject: Interesting promotion to i486 via htonl(). Message-ID: <SCOTT.93Oct20023434@nic.gac.edu> From: scott@nic.gac.edu (Scott Hess) Date: 20 Oct 93 02:34:34 Distribution: world Organization: Is a sign of weakness This evening while building an app that uses TCP sockets, I was checking to make certain that I'd gotten everything MAB. So, I ran the TickleServices Lipo/Edit Files option on the .app/ wrapper, and Lo!, one of the files _wasn't_! After a rebuild with the file _still_ not coming out fat, I looked more closely and it turned out that the file had m68k and i486 archs - not i386! So, I'm thinking "Well, that's neat." Watch the build go by ... and, yes indeed, all those flags are -arch i386. Not an i486 to be seen. So, I look at the object files, and trace the i486 arch down through the subprojects until I find that it's in Socket.m. Hmm. So, I start commenting out code, and reduced the problem to this: // cc -g -O -Wall -arch m68k -arch i386 -c ack.c // lipo ack.o -info // Architectures in the fat file: ack.o are: m68k i486 #import <libc.h> void main( void) { unsigned i=10; i=htonl( i); } So, there appears to be a bug in htonl() which does automagic promotion to i486. Joy. Now for my question - does this make a difference? Presumably not, because all NeXTSTEP (oops, NEXTSTEP) compliant Intel machines are already supposed to be i486, right? On the other hand, why didn't NeXT use -arch i386 switch with the build tools instead of -arch i486, then? [ie, presumably there's a reason.] [BTW, I ran an egrep through the include files on __asm__, and it looks like the only file which uses __asm__ is <architecture/i386/byte_order.h>. I suppose that _could_ be the cause of the problem.] Later, -- scott hess <scott@nic.gac.edu> <I can handle NeXTMail, but don't like it> 12901 Upton Avenue South, #326 Burnsville, MN 55337 (612) 895-1208 Anytime! <C++: ... One Language to bring them all and in the darkness bind them> <In the Land of Redmond where the Shadows lie.>
Newsgroups: comp.sys.next.programmer From: tyler@vanguard.com (Tyler Gingrich) Subject: Re: how to add transparent areas to an existing icon? Message-ID: <1993Oct20.112221.23833@il.us.swissbank.com> Sender: root@il.us.swissbank.com (Operator) Organization: Swiss Bank Corporation CM&T Division References: <1993Oct20.061623.16977@metrosoft.com> Date: Wed, 20 Oct 1993 11:22:21 GMT Gordon Van Huizen writes > In article <ARROUYE.93Oct19124258@petole.imag.fr> arrouye@petole.imag.fr > (Yves Arrouye) writes: > > using IconBuilder, select a transparent color (e.g. > > black with no opacity), and then draw WITH THE 'PAINT IN > > OVERLAY MODE' CHECK ENEABLED. > > > > That's all, > > Sometimes it helps to see WHERE the transparent color is > being drawn. In such cases I fill the area I want to be > transparent with some vivid color unused in the icon > (bright red, for example), and then drop a transparent > color on it. Obvious trick, I suppose... > If you press the '1' key, IconBuilder will "highlight" the transparent areas with a moving-pattern. I don't know if this feature is documented, but it is an old "Icon.app" feature that stayed around. ---- Tyler Gingrich DISCLAIMER: These are my opinions. Nothing in this post should be attributed to either Vanguard Software or Swiss Bank.
Newsgroups: comp.sys.next.programmer From: rpomeroy@aunext1.amd.com (Ron Pomeroy x(Coop)) Subject: Re: Digitalk's PARTS Workbench Message-ID: <CF77uw.A6t@dvorak.amd.com> Sender: news@dvorak.amd.com (Usenet News) Organization: Advanced Micro Devices, Austin TX References: <9310200232.AA01181@wire.gatech.edu> Distribution: usa Date: Wed, 20 Oct 1993 13:52:07 GMT In article <9310200232.AA01181@wire.gatech.edu> andrew@wire.gatech.EDU (andrew abernathy) writes: >> >>We've just got Digitalk's PARTS Workbench (along with Smalltalk/V) and I'm >>working with it on a project. While it's the best thing I've seen for the Intel >>platform (short of NS/I), it's certainly no match for NeXTstep's developer >>tools. Is there anyone out there who has used PARTS and who might be >>able to help me with some questions? Thanks! >> >>--- >>andrew_abernathy@wire.gatech.edu (NeXTmail ok) >>Powered by Motorola You'll have better luck in comp.lang.smalltalk. -- Ronald Pomeroy Advanced Micro Devices CAM Applications Group rpomeroy@aunext1.amd.com
From: sam_s@NeXT.com (Sam Streeper) Newsgroups: comp.sys.next.programmer Subject: Re: Hiding Nib Files Date: 19 Oct 1993 04:54:35 GMT Organization: NeXT, Inc. Message-ID: <29vrub$mg7@rosie.next.com> References: <1993Oct19.032533.21172@csus.edu> eps@futon.SFSU.EDU (Eric P. Scott) writes: > Peter.Hauke@brunel.ac.uk (Peter Hauke) writes: > >Is it possible to produce an .app file such that the Nib files > >cannot be viewed or modified by the end-user. > That all depends on how sophisticated your end-user is. After all, Eric is known for turning executables back into rather accurate commented objc source... 8^) One suggestion would be scramble the data in the nib and put the resultant mess in a mach-o segment of the executable. You could reconstitute it at run time only long enough to read it in. You'd want to check that a following call to unlink() actually nuked the file... -sam -- Opinions expressed herein are not those of my employer. They're not even mine. They're probably wrong besides. How did they get in here, anyway?
From: erikkay@next.com (Erik Kay) Newsgroups: comp.sys.next.programmer Subject: Re: NEXTSTEP 3.2 for previous versions of NEXTSTEP Date: 19 Oct 1993 21:43:57 GMT Organization: NeXT, Inc. Message-ID: <2a1n2t$nem@rosie.next.com> References: <1993Oct19.050754.3925@mouthers.nwnexus.wa.com> In article <1993Oct19.050754.3925@mouthers.nwnexus.wa.com> (slugg jello) writes: > Anyone know on which previous versions of NEXTSTEP that an application built > under NEXTSTEP 3.2 (beta) will run? It depends. You're always taking your chances when you compile on newer versions of the OS. If you make use of any functions that are new in 3.2, then no previous release will run them. If your program uses a function that had a bug fixed for 3.2, that bug will be in previous releases of the app. In other words, it's hard to know. Basically, most things should work, but don't ever depend on it. Erik
From: erikkay@next.com (Erik Kay) Newsgroups: comp.sys.next.programmer Subject: Re: Playing sounds one after the other, how? Date: 19 Oct 1993 22:31:52 GMT Organization: NeXT, Inc. Message-ID: <2a1pso$ng2@rosie.next.com> References: <1993Oct19.192140.1682@dart.de> In article <1993Oct19.192140.1682@dart.de> Atze (Alexander Spohr) writes: > > Hi out there! > > I'd like to play sounds in parallel, or one after the other. NEXTSTEP can do > that. But my program can't. > > This does not work: > > - (void)makeNoise > { > [soundOne play]; > [soundTwo play]; > } > > The first sound will start to play. Then the second sound will kill it and - > why why why? - stop by itself. So what you get is a mere Crack in your speaker. > > Besides: I'd like to have my programm running on. I don't want to wait until > one sound is played. Well, it depends what you want to have happen. Do you want the sounds to play sequentially? Or do you want the sounds to be mixed in real time? If you want them to play sequentially, then simply register an object as the sound's delegate [soundOne setDelegate:myDelegate]; In the delegate, implement the method: - didPlay:sound; This will tell you when a sound stops playing, and you can play the next one. If you'd like them to just be mixed in real time, you'll have to use the new sound API. Here's a little snipped to get you started: // MySoundController - an object to let you play up to MAX_STREAMS // number of sounds simultaneously #define MAX_STREAMS 10 @interface MySoundController : Object { NXSoundOut *device; NXPlayStream *streamList[MAX_STREAMS]; int currentStream; } - playSound:sound; @end @implementation MySoundController - init { int i; [super init]; /* initialize the streams */ device = [[NXSoundOut alloc] init]; for (i = 0; i < MAX_STREAMS; i++) { streamList[i] = [[NXPlayStream alloc] initOnDevice:device]; if (streamList[i] == nil) { fprintf(stderr,"Splat: error allocating playstreams\n"); return nil; } } currentStream = 0; return self; } - playSound:sound { NXPlayStream *stream; // find an available NXPlayStream stream = streamList[currentStream++]; if (currentStream == MAX_STREAMS) currentStream = 0; // make sure that nothing is playing on it [stream abort:self]; // play the sound through the stream... [stream playBuffer:[sound data] size:[sound dataSize] tag:0 channelCount:[sound channelCount] samplingRate:[sound samplingRate]]; return self; } @end then, in your code just do: -(void)makeNoise { [mySoundController playSound:soundOne]; [mySoundController playSound:soundTwo]; } hope that helps, Erik (note: I just typed this code in... I didn't test it. There might be minor errors, but you get the idea)
From: erikkay@next.com (Erik Kay) Newsgroups: comp.sys.next.programmer Subject: Re: Problem playing a sound during animation Date: 19 Oct 1993 22:36:09 GMT Organization: NeXT, Inc. Message-ID: <2a1q4p$ng5@rosie.next.com> References: <1993Oct19.164215.9598@rdr.com> In article <1993Oct19.164215.9598@rdr.com> marshall@rdr.com writes: > When I play a sound during a simple animation, the animation > noticeably pauses when the sound starts. The animation then continues > smoothly after the sound begins playing. The BoinkOut demo does > a lot more graphical stuff in it's animation than in mine and there > is no hesitation when playing sounds, so there must be additional > programming efficiencies that I need to know about. I've tried using > different window types, different sounds, switching the order of > drawing and playing the sound, and all sorts of other silly stuff > but none have removed the hiccups. I've included a short program > below to demonstrate the problem. The program requires a sound file > named "Sound.snd". [program showing use of the Sound object's -play method deleted] Instead of using the Sound object to play, try using the new soundstream API. In addition to being faster, more flexible, and less buggy, it allows you to mix sounds in real time. Look at the documentation for NXPlayStream and NXSoundOut and give that a try. hope that helps, Erik p.s. For an example on how to use it, see my followup to the post "Playing sounds one after the other, how?"
From: blake015@mc.duke.edu (Denise Blakeley) Newsgroups: comp.sys.next.programmer,comp.sys.next.misc Subject: Help--icons don't look right in B&W Message-ID: <22259@news.duke.edu> Date: 20 Oct 93 14:26:38 GMT References: <1993Oct19.181649.1507@dart.de> Sender: news@news.duke.edu Followup-To: comp.sys.next.programmer I have some icons I created as 2-, 8-, and 12-bit; I set them that way right from the start in IconBuilder, before drawing a single pixel. While working on the icons I stayed in 12-bit mode. I thought I understood that the black-and-white dithered 2- and 8-bit images would be created automatically when I saved the 12-bit image. But when I look at the 2- and 8-bit images, some are only partially there and others are completely blank! I opened them in TIFFany to see if it could help me understand the problem, but they look the same there--no additional info. Can somebody tell me what I did wrong and how to fix them without completely re-drawing the icons? I posted about this problem a couple of weeks ago but got no replies. Thanks-- Denise -- Denise Blakeley | PROGRAM, tr. v., An activity similar Duke Med Center Info Systems | to banging one's head against a wall, Durham, NC | but with fewer opportunities for (919) 282-6468 W | reward. blake015@mc.duke.edu |
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: burns@sparc1.cs.uiuc.edu (Edward John Burns) Subject: Obj-C Category question from a beginner Message-ID: <CF7AAI.Mt6@sparc0a.cs.uiuc.edu> Keywords: Objective-C Category MusicKit Sender: news@sparc0a.cs.uiuc.edu Organization: University of Illinois at Urbana-Champaign Date: Wed, 20 Oct 1993 14:44:42 GMT I have written some extension methods to an existing class and I am using the category feature to add them to the class as instance methods so I can call them from my program. However, I can't seem to get the methods I have added to be executed. When debugging, the code just gets stepped over and none of the things that are supposed to happen in the method tale effect. The interface looks like: @interface TuningSystem (Syntonon) - (double *)getScaleArray:(double)freq; @end And a portion of the implementation is: @implementation TuningSystem (Syntonon) - (double *)getScaleArray:(double)freq; { /* code here */ return ArrayPointer; } @end So I would have this in the main program: { static TuningSystem *theSystem; double freq = MKKeyNumToFreq(keyBend), * scale; scale = [theSystem getScaleArray:freq]; } But for some reason, getScaleArray never gets executed. Am I missing something fundamental here? Thank you very much. Ed
Newsgroups: comp.sys.next.programmer From: eht@cmu.edu (Eric Thayer) Subject: Re: Hiding Nib Files Message-ID: <CF7C48.Mu2.3@cs.cmu.edu> Sender: news@cs.cmu.edu (Usenet News System) Organization: School of Computer Science, Carnegie Mellon References: <29vrub$mg7@rosie.next.com> Date: Wed, 20 Oct 1993 15:24:07 GMT In article <29vrub$mg7@rosie.next.com> sam_s@NeXT.com (Sam Streeper) writes: > eps@futon.SFSU.EDU (Eric P. Scott) writes: > > Peter.Hauke@brunel.ac.uk (Peter Hauke) writes: > > >Is it possible to produce an .app file such that the Nib files > > >cannot be viewed or modified by the end-user. > > > That all depends on how sophisticated your end-user is. > > After all, Eric is known for turning executables back into rather > accurate commented objc source... 8^) > > One suggestion would be scramble the data in the nib and put the resultant > mess in a mach-o segment of the executable. You could reconstitute it at > run time only long enough to read it in. You'd want to check that a following > call to unlink() actually nuked the file... > > -sam The end user might be able to find the call to unlink in your executable and replace it with NOP's or with something which will cause the program to crash after the NIB file is reconstituted, but before it is unlinked. To prevent this kind of attack, you might attach a cryptographic checksum over the code segments of your executable. However, I'd still be cautious that someone with root access on a workstation could diddle with the memory of the running executable and cause it to crash or not do the unlink. Also, unlink in the shared library might be rendered non-functional by someone with root access to the workstation. If you are trying to keep developers from reading your Nib files, I think you might be in for a hard time of it. Some developers will try to read it simply because you are trying to hide it from them. It's human nature. ..eric
Newsgroups: comp.sys.next.programmer From: bau@cs.cornell.edu (David Bau) Subject: NeXT did it - how can I? A periodic button question. Message-ID: <1993Oct20.153053.11692@cs.cornell.edu> Organization: Cornell Univ. CS Dept, Ithaca NY 14853 Date: Wed, 20 Oct 1993 15:30:53 GMT First, thanks to Alexander Spohr for answering my question about a button dismissing itself as a view; turns out that it cannot do such a thing until the event is finished processing, so it should remove itself using [perform:with:afterDelay:] to do it. Now, a new puzzle. :) I want one of my buttons to perform a continuous action when depressed. I'd like it to behave like the little scroll-bar buttons when depressed: it should send a message to the target immediately, then wait some interval, then begin sending periodic messages. When it is released, it should *not* send a final message. I cannot seem to get this precise behavior by using the setPeriodicDelay:andInterval: message. I can't get the quick initial message or supress the final message on release. Can Buttons or ButtonCells be coaxed into my desired behavior without too much work? After all, NeXT already seems to have such creatures in every scroll bar. David
Newsgroups: comp.sys.next.programmer From: brian@il.us.swissbank.com (Brian Welsh) Subject: Re: Obj-C Category question from a beginner Message-ID: <1993Oct20.161005.25597@il.us.swissbank.com> Sender: root@il.us.swissbank.com (Operator) Organization: Swiss Bank Corporation CM&T Division References: <CF7AAI.Mt6@sparc0a.cs.uiuc.edu> Date: Wed, 20 Oct 1993 16:10:05 GMT In article <CF7AAI.Mt6@sparc0a.cs.uiuc.edu> burns@sparc1.cs.uiuc.edu (Edward John Burns) writes: > I have written some extension methods to an existing class and I am > using the category feature to add them to the class as instance > methods so I can call them from my program. However, I can't seem to > get the methods I have added to be executed. When debugging, the code > just gets stepped over and none of the things that are supposed to > happen in the method tale effect. > > The interface looks like: > > @interface TuningSystem (Syntonon) > - (double *)getScaleArray:(double)freq; > @end > > And a portion of the implementation is: > > @implementation TuningSystem (Syntonon) > - (double *)getScaleArray:(double)freq; > { > /* code here */ > return ArrayPointer; > } > @end > > So I would have this in the main program: > > { > static TuningSystem *theSystem; > double freq = MKKeyNumToFreq(keyBend), > * scale; > scale = [theSystem getScaleArray:freq]; > } > > But for some reason, getScaleArray never gets executed. > > Am I missing something fundamental here? > > Thank you very much. > > Ed Assuming that you were not being overly terse, where does theSystem get allocated? Are you getting confused between the use of the static keyword in C++ vs. Objective-C? In Objective-C the static keyword has its traditional meaning, that of declaring a _variable_ private and permanent. In C++, an _object_ declared statically will actually cause it to be constructed sometime during program initialization. In Objective-C you cannot declare an _object_ to be static in the C++ sense. Only pointers can be declared static and that doesn't cause an _object_ to be allocated. Brian Welsh Swiss Bank Corporation email: brian@il.us.swissbank.com 141 West Jackson Blvd. phone: 312-554-5366 Chicago, Il 60604 USA Any opinions expressed are my own, and not necessarily those of SBC.
Newsgroups: comp.sys.next.programmer From: matthew@dyson.ox.ac.uk (Matthew Seaman) Subject: sbrk() Message-ID: <MATTHEW.93Oct20165815@dyson.ox.ac.uk> Organization: Dyson Perrins Laboratory (Organic Chemistry), Oxford University Date: 20 Oct 1993 15:58:14 GMT I was always under the impression that NeXTen didn't have an sbrk() call -- I mean, the manual page says so: ----------- viriconium% man sbrk Reformatting page. Wait... done BRK(2) UNIX Programmer's Manual BRK(2) NAME brk, sbrk - change data segment size The UNIX system calls brk and sbrk are not supported on the NeXT computer. ------------ But I was playing around with the source for tcsh-6.04 yesterday, and lo-and-behold, after a little work, it compiles, with a warning that sbrk() needs a prototype... The function seems to be in /lib/libsys_s.a quite happily: -------------- viriconium% nm libsys_s.a | grep sbrk U .file_definition_libsys_s.B.shlib_sbrk.o libsys_s.a(sbrk.o): 00000000 A .file_definition_libsys_s.B.shlib_sbrk.o 05002e22 A _sbrk --------------- The tcsh executable I get seems to run quite happily, although I haven't exactly put it through any hoops yet. Anyone happen to know i) If NeXT's sbrk() works ii) If it isn't real, what's the NeXT approved method of doing the equivalent of sbrk(0) --- ie finding the current top of the data segment? Does this even make sense on NeXTen? --- I assume it does if all you use is standard malloc(), realloc() etc., but NXZoneMalloc() probably breaks this usage. Another one to go with mmap()? How many more odd functions are there that don't officially exist? Matthew --- Matthew Seaman <matthew@dyson.ox.ac.uk> Non-NeXT mail <matthew@viriconium.ocms.ox.ac.uk> NeXT mail Inorganic Chemistry Laboratory, S. Parks Rd., Oxford, OX1 3QR, England Tel +44 (0)865 272640 Fax +44 (0)865 272690 -- Matthew Seaman <matthew@dyson.ox.ac.uk> Non-NeXT mail <matthew@viriconium.ocms.ox.ac.uk> NeXT mail Inorganic Chemistry Laboratory, S. Parks Rd., Oxford, OX1 3QR, England Tel +44 (0)865 272640 Fax +44 (0)865 272690
From: bleimeyer@mayo.edu (Robert Bleimeyer) Newsgroups: comp.sys.next.software,comp.sys.next.misc,comp.sys.next.programmer Subject: Subject: Are there Ingres DB adaptors that run on NextStep for Intel Date: 20 Oct 1993 16:40:50 GMT Organization: Mayo Foundation Message-ID: <2a3pmi$3q4@fermat.mayo.edu> Keywords: DBkit,Ingres,NS-486 We have developed a database application for our clinical research center on NeXTSTEP. We are using the normal array of NeXT's objects, including DBkit. During development and beta testing, we have been using Sybase as the database engine. Our group currently deploys all of it's DBMS efforts in Ingres. Some of our relevant 'enterprise' information is in these Ingres databases, and we have good Ingres support within our group. While Sybase is workable, Ingres offers more to us for this application and has some strategic importance in other areas. As such, we would like to port our NeXT DBkit applications to an Ingres Server engine as soon as possible. We are aware of the DBConnect for Ingres adaptor from Pentultimate: Development (and/or Rathe Inc., depending to whom you talk) and have evaluated it for our purposes. The current release of the Ingres adaptor from penUltimate only runs on the black hardware. Given the fact our client requires Intel support, we have had discussions with penUltimate and it's partners to provide support for Ingres code. Due to pressures within our own project timetable and other factors too lengthy to address here. We are attempting to reevaluate our options in locating/developing technology to address the need for a suitable Ingres adapter. Another option is of course to remain with Sybase as a database engine within this project but that would require significant effort to bridge the Sybase and Ingres repositories here. We are seeking answers from the net to the following questions: Is there another Ingres (version 6.4 compliant) adaptor available or nearly available for NeXTSTEP for Intel? If so, can someone comment on their functionality? Is anybody interested in building an Ingres adaptor? Are you holding back because there is purportedly one on the market? Are you looking for some purchase commitments before undertaking development? Are there other users of penUltimate's Ingres adaptor that are looking for Intel support, or other enhancements to the adaptor? Please email me with the responses... I will summarize and repost if there is enough interest. ------------------------------------------------------ Robert R. Bleimeyer Internet: bleimeyer@mayo.edu Mayo Foundation 200 SW First Street Rochester, MN 55905 ------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: jmbug@rs6000.cmp.ilstu.edu (James M Buggar) Subject: QBASIC Book Recommendations Wanted Message-ID: <1993Oct20.173922.24644@rs6000.cmp.ilstu.edu> Date: Wed, 20 Oct 1993 17:39:22 GMT Organization: Illinois State University It's been 13 years since I did anything with the BASIC programming language, and I am now attending a Computer Science class that requires some use of QBASIC. Would someone please recommend a good reference or tutorial that will help me to get back in touch with BASIC? I do not normally subscirbe to this newsgroup, so please mail me direct at: jmbug@rs6000.cmp.ilstu.edu I am going to go to the mall tonight to buy something, so recommendations would be prefered prior to this evening. Thank you. MIke
From: daveyb@oberon.umd.edu (David A. Baldwin) Newsgroups: comp.sys.next.programmer Subject: Is there a debugger or a version of dbx that works on NeXT's Date: 20 Oct 1993 16:39:50 GMT Organization: University Of Maryland, College Park, MD Message-ID: <2a3pkm$4ug@umd5.umd.edu> I am sure that there are many debuggers for cc for the NeXTs, but I do not know where to get one. If anyone could help me out on this one, I would appreciate it. Thanks in advance. David Baldwin daveyb@oberon.umd.edu -- ********************************************************************* ( David Baldwin A Proud Member of the Technical Consulting Staff ) ( at University of Maryland at College Park ) ( )
Newsgroups: comp.sys.next.programmer From: jq@phcs.com (Jim Quick) Subject: Re: Is there a debugger or a version of dbx that works on NeXT's Message-ID: <CF7rKv.7or@phcs.com> Organization: Private Healthcare Systems, Inc References: <2a3pkm$4ug@umd5.umd.edu> Date: Wed, 20 Oct 1993 20:58:07 GMT In article <2a3pkm$4ug@umd5.umd.edu> daveyb@oberon.umd.edu (David A. Baldwin) writes: >I am sure that there are many debuggers for cc for the NeXTs, >but I do not know where to get one. If anyone could help me >out on this one, I would appreciate it. Thanks in advance. > >David Baldwin >daveyb@oberon.umd.edu > >-- >********************************************************************* >( David Baldwin A Proud Member of the Technical Consulting Staff ) >( at University of Maryland at College Park ) >( ) /bin/gdb . . . It's in there. Any gdb beats the hell out of dbx. NeXT gdb also has hooks for displaying code in Edit and browsing object instances in AppInspector. This support is good in 2.2 and even better in 3.1 -- ___ ___ mail: uunet!phcs!jq PHCS, Inc. Advanced Technology Group / / / or jq@phcs.com It's spelled "Luxury Yacht", but it's \_/ (_\/ Voice: (617) 861-5579 pronounced "Throat-Warbler Mangrove". ) NeXTMail O.K.
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Re: Hiding Nib Files Message-ID: <2a4aqb$73u@ursula.ee.pdx.edu> Date: 20 Oct 93 07:32:59 GMT Article-I.D.: ursula.2a4aqb$73u References: <29vrub$mg7@rosie.next.com> <CF7C48.Mu2.3@cs.cmu.edu> >If you are trying to keep developers from reading your Nib files, I think you >might be in for a hard time of it. Some developers will try to read it simply >because you are trying to hide it from them. It's human nature. Or, if it is an extensible application, maybe they want to add menu items, hook initialization code, etc.. Why do you want to prevent them from doing this? What is wrong with file permissions? Grumble grumble. marcus
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Re: sbrk() Date: 20 Oct 1993 14:39:59 -0700 Message-ID: <2a4b7f$781@ursula.ee.pdx.edu> References: <MATTHEW.93Oct20165815@dyson.ox.ac.uk> matthew@dyson.ox.ac.uk (Matthew Seaman) writes: >i) If NeXT's sbrk() works Just stubs, if I recall correctly. >ii) If it isn't real, what's the NeXT approved method of doing the >equivalent of sbrk(0) --- ie finding the current top of the data >segment? Does this even make sense on NeXTen? --- I assume it does if >all you use is standard malloc(), realloc() etc., but NXZoneMalloc() >probably breaks this usage. Check out `get_end.3'. This isn't a very robust solution, but it will work for vanilla Unix programs. The best solution is to rewrite the code with vm_allocate/vm_region. You said you were using tcl, certainly someone has ported this already, no?
From: rochelle@pdh.com (Rochelle Raccah) Newsgroups: comp.sys.next.programmer Subject: text delegate methods Date: 20 Oct 1993 19:15:46 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9310210015.AA27458@snowbird.pdh.com> Hello I have an object which implements the text delegate method textDidGetKeys: isEmpty: I want to have different behavior in this method depending on what those keys actually were. More specifically, I want to trap for backspace, delete, or cut (whether it was command-x, or it was selected from the menu) I am getting the current event and examining the charCode for the event. This works fine for backspace, delete and command-x. The problem occurs if the user chooses Cut from the menu. cut: invokes textDidGetKeys: isEmpty: but there is no charCode since no keys were depressed. I can't just assume that all null charCodes are Cut, since I also want to trap Paste and Delete. Does anyone know a way to ask the application "who" invoked the method? One solution is to determine whether the coordinates of the mouse down (of the current event) lie in the rect of the Cut menu cell, but I was hoping for a cleaner solution. Can you determine which responder "accepted" the message? I'll summarize the responses. Any suggestions would be greatly appreciated, --- Rochelle Raccah email: rochelle@pdh.com (NeXTMail OK) PDH Inc. 2635 N. First St. Ste 224, San Jose, CA 95128 phone: (408) 428 - 9596 fax: (408) 428 - 9599
Newsgroups: comp.sys.next.programmer From: gil@atlantic.mps.ohio-state.edu (Gil Rivlis) Subject: How to remove non-local images from IB? Message-ID: <1993Oct21.013312.14018@pacific.mps.ohio-state.edu> Sender: news@pacific.mps.ohio-state.edu Organization: Ohio State University; Physics Department Date: Thu, 21 Oct 1993 01:33:12 GMT This quesion has probably been answered before. How does one remove a non-local image from IB? Or, how do I substitute a new one with the same name? ( I have redone some icons and I want to use the new ones). Thanks, Gil -- Gil Rivlis, Physics Department, OSU gil@atlatnic.mps.ohio-state.edu
From: william@pinoko.berkeley.edu (William E. Grosso) Newsgroups: comp.sys.next.programmer Subject: Re: Hiding Nib Files Date: 21 Oct 1993 01:45:01 GMT Organization: University of California, Berkeley Message-ID: <2a4pit$63a@agate.berkeley.edu> References: <2a4aqb$73u@ursula.ee.pdx.edu> A related question: It used to be possible to compile a program and get a single file (not a ".app" directory). This has now been made much (much much much) harder. Or, at least, I don't know how to do it :-). Is it still possible to get a single file ? If so, how ? Bill Grosso
Newsgroups: comp.sys.next.programmer From: Eric Noyau <e_noyau@cubx.com> Subject: Re: SNDRelease question (somebody is lying) Message-ID: <1993Oct20.110107.5735@pelane.cubx.com> Sender: noyau@pelane.cubx.com Organization: Cub'x systemes References: <FXG.93Oct18185158@gimli.tolkien.imib.rwth-aachen.de> Date: Wed, 20 Oct 1993 11:01:07 GMT Felix Gatzemeier #Alwd# writes > > [...] I keep a Lattice C / Atari manual around for ANSI C library - > reference, because strchr() (don't hang me on that, it was something that > basic) is not documented: no man page for...! [...] > STRING(3) UNIX Programmer's Manual STRING(3) NAME strcat, strncat, strcmp, strncmp, strcpy, strncpy, strchr, strrchr, strspn, strcspn, strpbrk, strstr, strtok, strlen - string operations SYNOPSIS #include <string.h> [...] char *strchr(const char *s, int c); [...] DESCRIPTION [...] Strchr locates the first occurrence of c in the string pointed to by s. The terminating null character is not con- sidered to be part of the string. Strchr returns a pointer to the located character, or a null pointer if the character does not occur in the string. [...] I found it with Digital Librarian... So, it's documented ! Eric -- % e_noyau@cubx.com (Eric Noyau) Small NeXTMail ok % /d{def}def/i{add d}d/Z{rand 2147483647 div mul d}d 99 -2 9{-1 1/X 500 Z/Y 700 Z/C .3 Z{C setgray/r exch d X Y r 0 360 arc fill/X X .5 i/Y Y .6 i/C C 1 C sub r div i}for}for showpage % Be carefull ! I'm a .signature virus...
Newsgroups: comp.sys.next.programmer From: (slugg jello) Subject: Re: Playing sounds one after the other, how? Message-ID: <1993Oct21.023546.5868@mouthers.nwnexus.wa.com> Sender: slugg@mouthers.nwnexus.wa.com Organization: Mouthing Flowers References: <1993Oct19.192140.1682@dart.de> Date: Thu, 21 Oct 1993 02:35:46 GMT In article <1993Oct19.192140.1682@dart.de> Atze (Alexander Spohr) writes: > > Hi out there! > > I'd like to play sounds in parallel, or one after the other. NEXTSTEP can do > that. But my program can't. > > This does not work: > > - (void)makeNoise > { > [soundOne play]; > [soundTwo play]; > } > > The first sound will start to play. Then the second sound will kill it and - > why why why? - stop by itself. So what you get is a mere Crack in your speaker. > > Besides: I'd like to have my programm running on. I don't want to wait until > one sound is played. > > What should I do? > Have a new thread? The play method is asynchronous. It returns before the sound is finished. You could define a delegate whose didPlay: method would be called when each sound is finished. Or you could append the second sound to the first with: [soundOne insertSamples :soundTwo at:[soundOne sampleCount]]; -- Doug Kent Mouthing Flowers, Inc. slugg@mouthers.wa.com
Newsgroups: comp.sys.next.programmer From: tomi@shinto.nbg.sub.org (Thomas Engel) Subject: RenderMan & PDO & DPS ? Message-ID: <CEyF4r.6M@shinto.nbg.sub.org> Sender: tomi@shinto.nbg.sub.org (Thomas Engel) Organization: Molecule Modelling Lab. Date: Fri, 15 Oct 1993 19:50:49 GMT As far as I got the PDO idee it is just a Port of the basic stuff you need for portable Dist.Objects. Ok thats fine. Porting NeXTSTEP as a whole is not so easy because of Disp.PostScript and the hardware-specific parts. I am wondering what QuickRenderMan is like an if there is a way to have QRM stuff rendered on a certain machine as you can do it with the normal RenderMan. It would be nice to have QRM running on a fast server while working with a normal desktop machine. So combining it with PDO would not require a complete port of NeXTSTEP. So you NeXT gurus out there on the net: Would it be some kind of a simple recompile on the server ? If QRM produces PostScript and does not do the drawing on its own there might be an easy way. Is NeXT planning any kind of solution in this field ? Tom -- ____________________________________________________ (tomi@shinto.nbg.sub.org) Thomas Engel Neptunstr. 9
Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs From: cedman@princeton.edu (Carl Edman) Subject: Re: Interesting promotion to i486 via htonl(). In-Reply-To: scott@nic.gac.edu's message of 20 Oct 93 02:34:34 To: scott@nic.gac.edu (Scott Hess) Message-ID: <CEDMAN.93Oct20091937@capitalist.princeton.edu> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University References: <SCOTT.93Oct20023434@nic.gac.edu> Date: Wed, 20 Oct 1993 13:19:36 GMT In article <SCOTT.93Oct20023434@nic.gac.edu> scott@nic.gac.edu (Scott Hess) writes: So, there appears to be a bug in htonl() which does automagic promotion to i486. Joy. Now for my question - does this make a difference? Presumably not, because all NeXTSTEP (oops, NEXTSTEP) compliant Intel machines are already supposed to be i486, right? On the other hand, why didn't NeXT use -arch i386 switch with the build tools instead of -arch i486, then? [ie, presumably there's a reason.] [BTW, I ran an egrep through the include files on __asm__, and it looks like the only file which uses __asm__ is <architecture/i386/byte_order.h>. I suppose that _could_ be the cause of the problem.] Exactly. This problem occurs with all the byte-order mangling functions under NS/FIP. Apparently 486s can implement those swaps faster than 386s can. I would not necessarily consider this a bug. However, it is a nuisance. That is why it says in the Makefile for the Mail.app utilities: thin-i386: $(BINS) -for i in $(BINS) ; do lipo -remove m68k -output $$i $$i; done Rather than (which would make a lot more sense): thin-i386: $(BINS) -for i in $(BINS) ; do lipo -thin i386 -output $$i $$i; done Carl Edman
Newsgroups: comp.sys.next.programmer From: exit.Princeton.EDU!edlau (Edward Siu Kueng Lau) Subject: Re: Help--icons don't look right in B&W Message-ID: <1993Oct20.170005.24702@Princeton.EDU> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University References: <22259@news.duke.edu> Distribution: na Date: Wed, 20 Oct 1993 17:00:05 GMT In article <22259@news.duke.edu> blake015@mc.duke.edu (Denise Blakeley) writes: > I have some icons I created as 2-, 8-, and 12-bit; I set them that way right > from the start in IconBuilder, before drawing a single pixel. While working on > the icons I stayed in 12-bit mode. I thought I understood that the > black-and-white dithered 2- and 8-bit images would be created automatically > when I saved the 12-bit image. But when I look at the 2- and 8-bit images, > some are only partially there and others are completely blank! > > I opened them in TIFFany to see if it could help me understand the problem, but > they look the same there--no additional info. > > Can somebody tell me what I did wrong and how to fix them without completely > re-drawing the icons? I posted about this problem a couple of weeks ago but > got no replies. > > Thanks-- > > Denise > -- > Denise Blakeley | PROGRAM, tr. v., An activity similar > Duke Med Center Info Systems | to banging one's head against a wall, > Durham, NC | but with fewer opportunities for > (919) 282-6468 W | reward. > blake015@mc.duke.edu | When you create a TIFF with multiple directories (image directories, not file directories), in your case 2-, 8- and 12-bit, each is blank to start with. I've used IconBuilder a bit, and I don't believe it will automatically dither your 12-bit image to create a 2-bit one. So unless you painted the 2-bit image as well, it will be blank. Here's a work-around: (1) View your TIFF in 12-bit mode. (2) Do a Select All (cmd-a). (3) Toggle to 2- or 8-bit mode using the pop-up list. (4) Paste the image. By doing an explicit copy and paste, I believe IB will dither the image for you. Of course, since it's dithered, it won't look as nice as a "native" image. Hope that helps. --Ed Lau edlau@cs.princeton.edu
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Playing sounds one after the other, Answers Message-ID: <1993Oct21.101455.263@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH Date: Thu, 21 Oct 93 10:14:55 GMT The Question was: > I'd like to play sounds in parallel, or one after the other. NEXTSTEP can do > that. But my program can't. > > This does not work: > > - (void)makeNoise > { > [soundOne play]; > [soundTwo play]; > } > > The first sound will start to play. Then the second sound will kill it and - > why why why? - stop by itself. So what you get is a mere Crack in your speaker. > > Besides: I'd like to have my programm running on. I don't want to wait until > one sound is played. > > What should I do? > Have a new thread? > From: yackd@alaska.et.byu.edu (Don Yacktman) Look at my SoundPlayer object in the GameKit on ftp.byu.edu in pub/next/gamekit. It sets up for parallel sounds and has a few other handy features that you might find useful. From: rogata@is-next.umd.edu (Richard Scott Ogata) Hmm, well, to be honest, I've never tried to play two sounds at once, but the trick to playing sounds sequentially is to open an NXPlayStream and feed the data into it. Have you tried looking at the boink code? I received most of my sound inspiration from it. Also, if you want some of my source, or some of the code I received in requests for help, let me know. From: J. Patrick Hester <batman!ph@digdug.pencom.com> Check out the SoundEffect class in the BoinkOut demo. It lets you queue up sounds without them stepping on each other. From: annard@theborg.stack.urc.tue.nl (Annard Brouwer) [Sent me some demofiles] Thanx to all of them Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not
From: chharris@stein3.u.washington.edu (Chris Harris) Newsgroups: comp.sys.next.programmer Subject: NeXT Software Portability Date: 21 Oct 1993 14:02:04 GMT Organization: University of Washington Message-ID: <2a64os$3pe@news.u.washington.edu> Summary: How portable is NeXT Software? Keywords: NeXT Portble Portability Software Hi Netters, I've been sitting back for the last few months in search of a good OS for creating an interactive 3D adventure game. I was attracted to NeXT because of the apparent ease of creating software, as well as the 3DKit. Basically, I'm wondering how easy/hard it would be to port both the application code, and the graphics, to another platform, like Macintosh, or DOS, or whatever. Also, if anyone would care to explain the process of building a NeXT app a little more than described in the literature, feel free to do so. If you'd like to respond (and I hope you will,) it can be done via e-mail or this discussion group. Thanks. -Chris -- ------------------------------------------------------------------------------ "To error is human, but to really foul things up, you need a computer." Send questions, comments, flames, etc. to: Chris Harris / chharris@u.washington.edu
From: Roland Telfeyan <roland@gomidas.mi.org> Newsgroups: comp.sys.next.programmer Subject: SQL -- Sybase? Date: 21 Oct 1993 17:21:05 GMT Organization: University of Michigan EECS Dept. Distribution: world Message-ID: <2a6ge1$202@zip.eecs.umich.edu> 1. What are the best and most cost effective SQL servers for NEXTSTEP today? 2. I would like a program that generates SQL "create table" statements from a dbmodel. Does anything like this exist? 3. I have Sybase 4.x from my NeXTStep 2.0 upgrade, but the docs and Administrator app are messed up. What is the nature of Sybase products and support for NEXTSTEP nowadays? Thanks, Roland --------------------------------------------------------------- Roland Telfeyan Internet: roland@gomidas.mi.org 1697 Broadway, Suite 104 Phone: +1 313 761 9590 Ann Arbor, MI 48105-1865 Fax: +1 313 761 9890 ---------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: westner@picasso.pst.informatik.uni-muenchen.de (Dominik Westner) Subject: No drag&drop without workspace??? Sender: news@informatik.uni-muenchen.de (News System) Message-ID: <CF9FAs.IKF@informatik.uni-muenchen.de> Date: Thu, 21 Oct 1993 18:28:04 GMT Organization: Institut fuer Informatik der Universitaet Muenchen Keywords: drag & drop, workspace Hi, I'm building an application using drag & drop within the app. For the code I mainly use the example from the NEXTWORLD Drag Lab. Everything is working fine, but I have to run the App without workspace (using dwrite loginwindow Workspace myApp). But then drag&drop won't work, because WM is doing the display for the dragging. Is there any solution to hide the workspace but still have the possiblity to drag&drop?? thanks for your help -- Dominik Westner "Everything is possible in an infinite universe" ______________________________________________________Willi, the painter Dominik Westner Muenchen-Germany HOME: dominik@blackmagic.guug.de [NeXTMail welcome]
From: milhouse!dmitri (Dmitri Linde) Newsgroups: comp.sys.next.programmer Subject: Bug in RemoteVote Date: 21 Oct 1993 17:47:53 GMT Organization: California Institute of Technology, Pasadena Distribution: world Message-ID: <2a6i0a$oo1@gap.cco.caltech.edu> Keywords: bug distributed objects Originator: dmitri@milhouse Hi! I am wrote a simple server called Software.app to collect information about software on a network server. You may ftp it from physics.stanford.edu. Several people have told me that there is a bug in it. Specifically, after the client quits there are still connections left to the server. This is bad for security reasons. What is worse is that these connections are also present on the server. So now my server has about 100 connections which I can't disconnect (one can check using netstat command) and it is working very very slowly. I tried to fix that bug for a couple of days but I could not. Then I tried another Distributed Objects application -- RemoteVote in /NextDeveloper/Examples/DistributedObjects. It has the same bug!!! How to test it: Assume you have two NeXT computers foo and bar on local network. Compile RemoteVote on computer foo. Run it. execute command netstat | grep bar on computer foo to see that there are no connections between foo and bar. Then Run RemoteVote on bar. execute the same command again on foo to check that now there are connections between foo and bar. Now quit RemoteVote on bar and check that there still are connections between foo and bar. For more fun, run RemoteVote on other NeXT computers and quit it. Then check that you have a load of connections on foo and it works like a turtle. What can be done? I have not been able to find anything in documentation about disconnecting connections. Has anybody solved this problem? If not I would have to rewrite Software.app using UDP which is a pain in the neck compared to Distributed Objects. Comments greatly appreciated... Dmitri Linde dmitri@cco.caltech.edu
Newsgroups: comp.sys.next.programmer From: Greg_Anderson@afs.com (Gregory H. Anderson) Subject: Re: Hiding Nib Files Message-ID: <1993Oct21.144152.6147@afs.com> Sender: greg@afs.com References: <2a4pit$63a@agate.berkeley.edu> Date: Thu, 21 Oct 1993 14:41:52 GMT In article <2a4pit$63a@agate.berkeley.edu> william@pinoko.berkeley.edu (William E. Grosso) writes: > > A related question: It used to be possible to compile a program > and get a single file (not a ".app" directory). This has > now been made much (much much much) harder. Or, at least, I > don't know how to do it :-). > > Is it still possible to get a single file ? If so, how ? No. Ever since nib's became directories, you can't link them into their own mach segments. -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93 's became dire
From: M.Crawford@dcs.sheffield.ac.uk (Malcolm Crawford) Newsgroups: comp.sys.next.programmer Subject: Re: Playing sounds one after the other, how? Date: 21 Oct 1993 13:26:17 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9310211734.AA21591@dcs.shef.ac.uk> Alexander Spohr wrote: > I'd like to play sounds in parallel, or one after the other. NEXTSTEP > can do that. But my program can't. > > This does not work: > > - (void)makeNoise > { > [soundOne play]; > [soundTwo play]; > } > Erik Kay replied: > If you want them to play sequentially, then simply register an > object as the sound's delegate > [soundOne setDelegate:myDelegate]; > In the delegate, implement the method: - didPlay:sound; > This will tell you when a sound stops playing, and you can > play the next one. > Whilst this is probably the most elegant OOP way of doing things, I've found that a "conceptually easier way of approaching the problem is as follows... ------- BTW This is also relevant for people writing methods of the form - playASound { int errorCode; id aSound; // ... aSound = somethingCreatedOrSelectedAlgorithmically(); errorCode = [aSound play]; // we all use errorCodes, don't we?! // ... return self; } This is error-prone, as what usually happens is that the method returns before the Sound finishes playing, and people wonder why they only hear a slight click... (It is in situations like this that, as far as I can tell, use of didPlay: will not be acceptable, since the Sound is a temporary variable.) ------- My work-around is to use SNDWait(tag) instead, roughly as follows: #define MY_TAG 4 // or something suitable #define MY_PRIORITY 4 // or something else suitable id soundOne, soundTwo; SNDSoundStruct *aSoundStruct; aSoundStruct = [soundOne soundStruct]; SNDStartPlaying(aSoundStruct, MY_TAG, MY_PRIORITY, 0, SND_NULL_FUN, SND_NULL_FUN); SNDWait(MY_TAG); // for this example we have two sounds... looks messier! aSoundStruct = [soundTwo soundStruct]; SNDStartPlaying(aSoundStruct, MY_TAG, MY_PRIORITY, 0, SND_NULL_FUN, SND_NULL_FUN); SNDWait(MY_TAG); I'm sure it would be easy to package this up in a macro and, of course, remove the aSoundStruct variable. I hope this is useful, Have fun, Malcolm. --- SHeffield Auditory Group | Tel : (+44) 742 768555 ext 5569 Dept. Computer Science | direct : 825569 Sheffield University | Fax : (+44) 742 780972 Regent Court | Email: M.Crawford@dcs.shef.ac.uk 211 Portobello Street | (NeXTMail welcome) Sheffield S1 4DP, UK. | (Read-Receipts discouraged :-)
From: M.Crawford@dcs.sheffield.ac.uk (Malcolm Crawford) Newsgroups: comp.sys.next.programmer Subject: Re: Speech recognition software available? Date: 21 Oct 1993 13:26:20 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9310211806.AA21736@dcs.shef.ac.uk> > Title says it - looking for speech recognition > software/development tools for the Next. > If you're after shrinkwrap s/w that you train, there's SimonSays... --- Metrosoft is now the owner of the ever-popular program SimonSays. Simon now runs on NEXTSTEP 3.1 (on NeXT computers only, Intel support will follow this Fall). Control your computer by voice commands! Trainable to your voice, no matter what your language, dialect or accent. One voice command can execute a sequence of actions. For example, just say "Mail Jane" and have Simon open Mail, address a letter to Jane and sign it for you. Simon retails for $295. At this time Metrosoft would like to extend a special pre-official shipping version at a price of $195. Documentation will be provided on disk only and this version will be shipped without formal packaging. For ordering information: Metrosoft 740 13th Street, Suite 503 San Diego, Ca 92101 619.488.9411, fax: 619.488.3045 info@metrosoft.com Or [in the UK] contact P & L Systems 9 Stable Lane Seer Green Bucks HP9 2YT 0494 671501, fax: 0494 680228 orders@seer.demon.co.uk --- If you want to develop your own stuff: Some of you may have heard of Apple's Caspar speech recognnition work, headed by Kai-Fu Lee. Lee did his original PhD work at CMU a couple of years ago; the system was called SPHINX and was developed on first SUNs then NeXTs. After he joined Apple Lee's work at CMU was taken over by VISUS (CMU's commercial arm), and was available as their NeXT product SpeechKit. SpeechKit enabled developers to build speech recognition into their applications, probably with the same vocabulary and accuracy limitations (~1000 words?) as the Apple system. I have changed the above (compiled from a longer couple of messages I sent out a year or so ago) to past tense as there is no mention of SpeechKit in the current Third-Party Products catalogue. VISUS still exist, of course, but I guess that the demise of NeXT's hardware (c/w DSP...) will have hit the speech-recognition side of things rather hard! Try contacting VISUS on: 1-800-36VISUS (412) 488 3600 (412) 488 3611 (fax) info@visus.com anyway... they may still be able to help. Since SpeechKit cost around $10,000 I'm sure they might be persuaded! I hope they may still be devloping something along these lines, which might use some of the M56000 DSP cards promised for Intel. Then again I hope that somebody out there is developing a category or subclass of the Text Object that will do handwriting recognition like a Newton (but better)! :-) Have fun, mmalcolm. --- SHeffield Auditory Group | Tel : (+44) 742 768555 ext 5569 Dept. Computer Science | direct : 825569 Sheffield University | Fax : (+44) 742 780972 Regent Court | Email: M.Crawford@dcs.shef.ac.uk 211 Portobello Street | (NeXTMail welcome) Sheffield S1 4DP, UK. | (Read-Receipts discouraged :-)
From: izumi@pinoko.berkeley.edu (Izumi Ohzawa) Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs Subject: Re: Bug in RemoteVote Date: 21 Oct 1993 18:44:30 GMT Organization: University of California, Berkeley Distribution: world Message-ID: <2a6lae$l14@agate.berkeley.edu> References: <2a6i0a$oo1@gap.cco.caltech.edu> In article <2a6i0a$oo1@gap.cco.caltech.edu> milhouse!dmitri (Dmitri Linde) writes: >I am wrote a simple server called Software.app to collect information >about software on a network server. You may ftp it from >physics.stanford.edu. > >Several people have told me that there is a bug in it. Specifically, after >the client quits there are still connections left to the server. Additional note on this bug is that, these lingering connections are not in xxx_WAIT states which usually go away in 10 minutes or so. Connections left over by distrubuted objects are still in the ESTABLISHED state which will hang around until either the server or client is rebooted. This is what I get AFTER Software.app quits: % netstat Active Internet connections Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp 0 0 moica.2453 physics.Stanford.2747 ESTABLISHED tcp 0 0 moica.3033 physics.Stanford.2453 ESTABLISHED .... -- Izumi Ohzawa [ $@Bg_78^=;(J ] USMail: University of California, 360 Minor Hall, Berkeley, CA 94720 Telephone: (510) 642-6440 Fax: (510) 642-3323 Internet: izumi@pinoko.berkeley.edu (NeXTMail OK)
Newsgroups: comp.sys.next.programmer From: joe@FreemanSoft.com (Joe Freeman) Subject: Re: RenderMan & PDO & DPS ? Message-ID: <1993Oct21.123141.6275@FreemanSoft.com> Sender: jfreeman@FreemanSoft.com Organization: FreemanSoft Inc. References: <CEyF4r.6M@shinto.nbg.sub.org> Distribution: usa Date: Thu, 21 Oct 1993 12:31:41 GMT In article <CEyF4r.6M@shinto.nbg.sub.org> tomi@shinto.nbg.sub.org (Thomas Engel) writes: > As far as I got the PDO idee it is just a Port of the basic stuff you > need for portable Dist.Objects. Ok thats fine. This is true. It basicly consists of objc, streams, and DO classes, plus mach port emulation. > > Porting NeXTSTEP as a whole is not so easy because of Disp.PostScript > and the hardware-specific parts. True again. > > I am wondering what QuickRenderMan is like an if there is a way to have > QRM stuff rendered on a certain machine as you can do it with the normal > RenderMan. I think there is a dependency on dpsclient. I'm not sure but I thought the QRM stuff was integrated into the window server. This is how you get those nice interactive features and view drawing. > It would be nice to have QRM running on a fast server while working with > a normal desktop machine. So combining it with PDO would not require a > complete port of NeXTSTEP. It would not require a complete port. But it would require some large additional components. -- Joe Freeman FreemanSoft Inc. A NEXTSTEP software and consulting services company. Electronic Mail: Joe@FreemanSoft.com (NeXT Mail) Voice: 919.783.7033
From: dario@cns.nyu.edu (Dario Ringach, x3941) Newsgroups: comp.sys.next.programmer Subject: How to use ScrollView with a one-line parser? Date: 21 Oct 1993 22:34:08 GMT Organization: Center for Neural Science, New York University. Distribution: world Message-ID: <2a72p0$bkp@cmcl2.NYU.EDU> How can I use ScrollView to read single line commands and send it to yyparse() for parsing? Is there a way to get a message sent after I hit `\n` at the end of the line? Thanks for any help!!! --- Dario Ringach office: (212) 998-7614 Center for Neural Science home: (212) 727-9346 New York University e-mail: dario@cns.nyu.edu
From: zmonster@ATHENA.MIT.EDU (Eric M Hermanson) Newsgroups: comp.sys.next.programmer Subject: GDB Debugger causing serious memory problems! Date: 21 Oct 1993 22:46:08 GMT Organization: Massachvsetts Institvte of Technology Distribution: world Message-ID: <2a73fg$hv5@senator-bedfellow.MIT.EDU> I am allocating and freeing memory in a program that I wrote. Up until today, the program always worked. Now, for some very mysterious reason, the program crashes after trying to alocate the memory twice. If I run the debugger, the program DOES NOT CRASH, and comes up with no errors. Why should something work whiile in the debugger, but not without the debugger? Secondly, I programmed a button to change it's image when pushed. It seems that after a fresh compile from clean, the button fails to change its image when pushed. However, if I run the debugger once and push the button while in debug mode, the button correctly changes its image. If I quit the debugger, the button seems to act correctly. It's like the debugger actually fixed the problem permanently? I am in a total state of confusion. I was 99% done with this program, and now these wierd problems. I didn't really change any code, either! The problems just cropped up when I compiled the code from scratch, after doing a make clean. I have been switching development between a NeXT COmputer at home and an Intel system at school, and I hope these problems are not arising becuase of my use of both Intel and Motorola to do development! Oh, I almost forgot. I DID compile the program once WITHOUT linking the MallocDebug library since I saw no need for further debugging. After I did this, the problems seemed to arise. Is this a bad thing to do? I have since reinstated the Malloc Debug library linking, but this doesn't seem to help. Eric
Newsgroups: comp.sys.next.programmer From: tom@basil.icce.rug.nl (Tom R.Hageman) Subject: Re: Help--icons don't look right in B&W Message-ID: <CF9nIH.vK@basil.icce.rug.nl> Sender: tom@basil.icce.rug.nl (Tom R.Hageman) Organization: Farty Owls References: <22259@news.duke.edu> Date: Thu, 21 Oct 1993 21:25:29 GMT In article <22259@news.duke.edu> blake015@mc.duke.edu (Denise Blakeley) writes: > I have some icons I created as 2-, 8-, and 12-bit; I set them that way right > from the start in IconBuilder, before drawing a single pixel. While working on > the icons I stayed in 12-bit mode. I thought I understood that the > black-and-white dithered 2- and 8-bit images would be created automatically > when I saved the 12-bit image. But when I look at the 2- and 8-bit images, > some are only partially there and others are completely blank! > > I opened them in TIFFany to see if it could help me understand the problem, but > they look the same there--no additional info. > > Can somebody tell me what I did wrong and how to fix them without completely > re-drawing the icons? I posted about this problem a couple of weeks ago but > got no replies. > Try this: in IconBuilder, - choose Format/Document Layout, turn off 2-bit and 8-bit, and click OK; - choose Format/Document Layout again, and turn 2-bit/8-bit back on. -- __/__/__/__/ Tom Hageman (tom@basil.icce.rug.nl) [NeXTMail accepted] __/ __/_/ __/__/__/ __/ _/_/ <space for quote intentionally left blank>
Newsgroups: comp.sys.next.programmer From: Scott Byer <byer@mv.us.adobe.com> Subject: Re: GDB Debugger causing serious memory problems! Message-ID: <1993Oct22.014300.7261@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <2a73fg$hv5@senator-bedfellow.MIT.EDU> Date: Fri, 22 Oct 1993 01:43:00 GMT Eric M Hermanson writes > I am allocating and freeing memory in a program that I wrote. > Up until today, the program always worked. Now, for some very > mysterious reason, the program crashes after trying to alocate > the memory twice. If I run the debugger, the program DOES NOT > CRASH, and comes up with no errors. Why should something work > whiile in the debugger, but not without the debugger? The debugger tends to initialize stack variables for you, whereas normally you'd get garbage. Compile your app with -Wall -O and see what comes out. The goal should be to not get any warnings at all. -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: eht@cmu.edu (Eric Thayer) Subject: Re: Speech recognition software available? Message-ID: <CFA0GE.FGA.3@cs.cmu.edu> Sender: news@cs.cmu.edu (Usenet News System) Organization: School of Computer Science, Carnegie Mellon References: <9310211806.AA21736@dcs.shef.ac.uk> Date: Fri, 22 Oct 1993 02:05:01 GMT In article <9310211806.AA21736@dcs.shef.ac.uk> M.Crawford@dcs.sheffield.ac.uk (Malcolm Crawford) writes: > > Some of you may have heard of Apple's Caspar speech recognnition work, > headed by Kai-Fu Lee. Lee did his original PhD work at CMU a couple of > years ago; the system was called SPHINX and was developed on first SUNs > then NeXTs. > After he joined Apple Lee's work at CMU was taken over by VISUS (CMU's > > commercial arm), and was available as their NeXT product SpeechKit. > SpeechKit enabled developers to build speech recognition into their > > applications, probably with the same vocabulary and accuracy > > limitations (~1000 words?) as the Apple system. Just to correct some misinformation. Visus is not CMU's commercial arm. This is one spin-off company from some of the research projects that are ongoing at CMU. There are a small raft of companies here in the area formed after/during successful projects at CMU. Reading the release notes for NS for Intel, it's pretty hard to say that the sound support is anything near stable. So, any live recognition system would have to battle those bugs first before it could become viable. I'm not very interested in battling them for our research demos. If that PA-RISC port gets finished and they support the HP audio hardware reliably, that would be something to see though. ..eric
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: comp.sys.next.programmer Subject: Pencom Seeks 31 NEXTSTEP/OOP Engineers and Managers (CA, TX, NE, Midwest) Date: 22 Oct 1993 00:52:36 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9310220548.AA08937@seawolf.next.com> For more information, contact: Clint Tomlinson Manager, Advanced Technologies Recruiting Pencom 9050 Capital of Texas Highway North Austin, Texas 78759 Fax: 512-346-6444 E-Mail: clint@pencom.com Pencom Seeks 31 NEXTSTEP/OOP Engineers for Internal and External Projects for our Distinguished List of Clients in California, Texas, the Northeast and Midwest U.S. AUSTIN, TEXAS - October 21, 1993 - Pencom Software's team of NEXTSTEP engineers are dedicated to providing services to developers and end user organizations equipped with workstations and software from NeXT Incorporated. A NeXT-authorized systems integrator as well as a registered NEXTSTEP software developer, Pencom provides a full range of services to support users and vendors in adopting this revolutionary technology. Pencom continues to be the leader in NEXTSTEP/OO software development and consulting services, and has the largest staff of NEXTSTEP engineers outside of NeXT themselves. Pencom Software is a division of Pencom Systems Incorporated, a New York-based firm providing software engineering and manpower resources to Fortune 500 companies and leading computer firms since 1973. Currently the largest recruiting firm specializing in the UNIX/Open Systems market, Pencom employs over 500 people and maintains a large heterogeneous network of workstations including more than 80 NeXT machines. ** The following permanent and contract positions require NO LESS than 2 years industry experience, and permanent positions require permanent residence. THANK YOU for your cooperation. If you are interested in being kept informed about positions but are not actively seeking employment, please email contact information in confidence to clint@pencom.com. CALIFORNIA 4 - NEXTSTEP Software Engineering Managers * NEXTSTEP/UNIX application software development * Strong NEXTSTEP, AppKit, Interface Builder experience * High level design, rapid prototyping in NEXTSTEP environment * Ability to work in a dynamic team environment * Ability to transfer NEXTSTEP technology to engineers * Strong management and interpersonal skills * 5 to 6 years industry experience 1 - Manager of Support * 7-9 years industry experience * Strong management skills * Account management * Contract negotiation, proposals, P&L * UNIX/NeXT environment * 8 direct reports 1 - Senior NEXTSTEP GUI Developer * 3+ years OOA and OOD * 2+ years NEXTSTEP GUI development * AppKit, Datebase Kit, Interface Builder * 5-7 years GUI industry experience 1 - NEXTSTEP System Administrator * NEXTSTEP/UNIX/HP system administration experience * Objective-C or C++ experience * Background in a heterogeneous systems environment * 5-8 years system administration 1 - Systems Engineers * 4+ years industry experience * 2+ years OOP (NEXTSTEP/C++) * RDBMS (ORACLE/SYBASE/Database Kit) * Applications development * Sales/Marketing experience * Strong interpersonal skills * Willing to travel 1 - Senior Sybase Database Developer * 6+ years database design and database applications development experience * 3 years application development experience UNIX * 2+ years Sybase experience * 1+ year applications experience in NEXTSTEP or OOP 3 - NEXTSTEP Applications Programmers * Objective-C, OOP, GUI, RDBMS, i486 * Strong NEXTSTEP applications development.. * 2+ years NEXTSTEP, 5+ years industry experience 1 - Senior NEXTSTEP Consultant (12 months) * 3-5 years NEXTSTEP product development * project level management * 6-10 years industry experience TEXAS 1- Senior GUI Developer (CONTRACT 12 months) * 3+ years OOA and OOD * 2+ years NEXTSTEP GUI development * AppKit, Datebase Kit, Interface Builder * 5-7 years GUI industry experience 1 - NEXTSTEP Software Engineers * Strong NEXTSTEP applications development * Strong UNIX, Objective-C, C++ * AppKit, Interface Builder, Database Kit * 4 to 6 years industry experience 1 - Director of Software Engineering * 8-12 years industry experience * Strong management skills * Hands on development UNIX/NEXTSTEP/OOP * Project scheduling, planning, budgeting * Product development * Team oriented manager * OO methodologies experience 1 - Senior Database Developer * 5+ years RDBMS design and development experience * 2+ years Sybase/RDBMS applications experience * 2+ years applications experience in NEXTSTEP or OOP * 2+ years OOA/OOD * SNMP NORTHEAST 2 - NEXTSTEP/UNIX Trading Applications Developers * 5-7 years UNIX/C/C++ * Financial applications, Equity/Derivatives trading systems * Sybase/RDBMS/Database Kit plus * OOP/C++/Objective-C plus * Sun workstations 1 - Systems Engineers * 4+ years industry experience * 2+ years OOP (NEXTSTEP/C++) * RDBMS (ORACLE/SYBASE/Database Kit) * Applications development * Sales/Marketing experience * Strong interpersonal skills * Willing to travel 2 - OOP Software Engineers * 2+ years Object Oriented Programming (C++/Objective-C, Smalltalk) * 2+ years Object Oriented analysis/design * 2+ years NEXTSTEP/Smalltalk applications development * Strong RDBMS, ORACLE, SYBASE, Database Kit * 3-4 years industry experience 1 - NEXTSTEP/SUN System Administrator * NEXTSTEP/SUN system administration experience * Objective-C or C++ experience * Background in a heterogeneous systems environment a must * 2-5 years industry experience MIDWEST 3 - NEXTSTEP/UNIX Trading Applications Developers * 5-7 years UNIX/C/C++ * Financial applications, Equity trading systems * Sybase/RDBMS/Database Kit * OOP/C++/Objective-C * Sun workstations 2 - CDROM/MPC Software Engineers * Strong C programmer with multimedia exp. including viewing/emulation * Take multimedia presentations to CD-ROM environment * Disc mastering, video/audio/frame 2 - NEXTSTEP Applications Programmers * Objective-C ,OOP, GUI, RDBMS, i486 * Strong NEXTSTEP applications development.. * 2+ years NEXTSTEP, 5+ years industry experience 1 - Test/Development Engineer, Consultant (3+ months) * applications test, system support/test * test tools development * NEXTSTEP applications development experience * 2+ years OOP/Objective-C For more information, contact: Clint Tomlinson Manager, Advanced Technologies Recruiting Pencom 9050 Capital of Texas Highway North Austin, Texas 78759 Fax: 512-346-6444 E-Mail: clint@pencom.com More positions soon...
From: tyen@mundo.eco.utexas.edu (Anthony Yen) Newsgroups: comp.sys.next.programmer Subject: DB on NSi3.x? Date: 22 Oct 1993 07:47:03 GMT Organization: The University of Texas at Austin, Austin, Texas Message-ID: <2a835n$nua@geraldo.cc.utexas.edu> I am looking for any references to database products that will run under NSi3.x so that I can provide a client with a one-workstation solution. Sybase was not terribly helpful, no matter how good the claimed integration with DBKit is; my territory rep says they only plan on supporting Sybase client on NS. Just what does DBKit do that is so hot, anyways? What kind of API is it (low-level, etc.)? And would I be able to write another backend to it without having to get anything above and beyond the Developer Kit? I've heard conflicting reports from other developers about it: some use it, others swear at it. What is net.wisdom? At this point, I'm pretty well ready to cast nearly half of the development effort into porting University Ingres 8.9 (or running Postgres) and rolling my own interface. The literature I have seen to date does not appear to support the notion of running a database server and a client application on the same physical box. Practically the other half of development effort is going to wind up in writing up some report formatting class based on TeX, unless someone has something better to offer than PasteUp. This is ridiculous: from what I've been hearing, lots of people are rolling their own with this kind of stuff (native database and DTP-style report writing), which is what NS was supposed to ameliorate in the first place. Hopefully, I'm totally, completely, wrong. FYI, the project I was tapped for takes in survey results, scores them, and issues reports on the scores that look like they were desktop published (two-column chunks of text, bar graphs, different fonts, line graphics). It stores the results and the text of the report that was fine-tuned by hand for later retrieval. The report is formed out of entirely canned text, all of it tagged at the sentence level with unique codes. The codes are used during production of the report from the scoring formulae. So my database needs are not tremendous; even a flat-file would do. As long as it stays on one box; integration with DBKit would be nice (I like to stick with standards as much as possible, as long as I'm going to take the plunge with a decidedly non-standard---marketshare-wise---system). -- Anthony Yen - SPARC Sysadmin - Department of Economics - UT/Austin ECB 3.138, MS#63100 - 471-3211 ext 170 - tyen@mundo.eco.utexas.edu
Newsgroups: comp.sys.next.programmer From: mheubi@itr.ch (Matthias Heubi) Subject: Re: Help--icons don't look right in B&W Message-ID: <1993Oct22.095119.22652@itr.ch> Sender: usenet@itr.ch Organization: Interkantonales Technikum Rapperswil (ITR) Switzerland References: <22259@news.duke.edu> Date: Fri, 22 Oct 1993 09:51:19 GMT Please note that NEXTSTEP will automatically dither icons for you when they are displayed. It makes no sense to create different image representations (i.e. 12,8,2 bit) within a single TIFF file unless you tune each representation by hand to look nicer than an automatically dithered one. -- Matthias Heubi mheubi@itr.ch (NeXT-Mail welcome!) Uptime Object Factory Inc info@uptime.ch fax:+41(1)3130755 voice:+41(1)3130607
Newsgroups: comp.sys.next.programmer From: mdw@sitar.jazz.att.com (Mark Wuest-nscst-tnt) Subject: Re: GDB Debugger causing serious memory pr Message-ID: <CFAsxw.GB9@cbfsb.cb.att.com> Originator: news@cbnewsg.cb.att.com Sender: news@cbfsb.cb.att.com Organization: AT&T Bell Laboratories References: <1993Oct22.014300.7261@adobe.com> Date: Fri, 22 Oct 1993 12:20:19 GMT In article 7261@adobe.com, Scott Byer <byer@mv.us.adobe.com> () writes: >Eric M Hermanson writes > >> I am allocating and freeing memory in a program that I wrote. >> Up until today, the program always worked. Now, for some very >> mysterious reason, the program crashes after trying to alocate >> the memory twice. If I run the debugger, the program DOES NOT >> CRASH, and comes up with no errors. Why should something work >> whiile in the debugger, but not without the debugger? > >The debugger tends to initialize stack variables for you, whereas >normally you'd get garbage. Compile your app with -Wall -O and see >what comes out. The goal should be to not get any warnings at all. Eric, in case you were thinking to yourself, "Nah, that can't be it," think again. ;-) Seriously, this "feature" of debuggers has bit many a programmer. BTW, gdb is not alone in this respect. dbx/debugger on Sun's does the same thing. One of the features of a good compiler is to give you those nifty warnings "xxxx used before initialized", or whatever. I don't do a lot of NeXT development, but under emacs, "M-x compile" and "^X-`" can eliminate those warnings in a snap! ;-) Mark -- Mark Wuest mdw@sitar.jazz.att.com (NeXT Mail Ok)
Newsgroups: comp.sys.next.programmer From: jet@riker (Jon Tegethoff) Subject: Pasal for Next Message-ID: <1993Oct22.144533.6981@il.us.swissbank.com> Sender: root@il.us.swissbank.com (Operator) Organization: Swiss Bank Corporation CM&T Division Date: Fri, 22 Oct 1993 14:45:33 GMT Where can I find a Pascal compilier for the Next? My son needs it for a class at Bradley. He has this lonely Next in the middle of a sea of Dos PCs. Thanks for the help in advance! -- ================================================================ * Jon Tegethoff - Internet: jet@its.com or * * Swiss Bank Corporation - Jon_Tegethoff@il.us.swissbank.com * * 4225 Naperville Road - (708) 955-6908 * * Lisle, IL 60532 - NeXTmail accepted * * ============================================================ *
From: aking@bbn.com (Allen King) Newsgroups: comp.sys.next.programmer Subject: Missing GDB Frame on errors Date: 22 Oct 1993 15:18:34 GMT Organization: Bolt Beranek and Newman Inc., Cambridge MA Distribution: world Message-ID: <mcfueaINN6is@news.bbn.com> The following is an annoying problem with gdb which I bump into many times a day. It seems to have appeared with 3.1, and I hope it'll go away soon (like in 3.2!). Here it is: When you execute some undefined method (such as -hide: in the example below) and get the message "does not recognize selector -hide:", the context that generated the message is nowhere on the stack. This makes tracking non-repeatable bugs VERY DIFFICULT! Consider the following toy example: ------MyView.h: #import <appkit/appkit.h> @interface MyView:View { } - someDefinedMethod; @end ------MyView.m: #import "MyView.h" @implementation MyView - drawSelf :(const NXRect *) rects :(int)cnt { [self someDefinedMethod]; return self; } - someDefinedMethod { id someId = self; [someId hide: self]; // this is a bug! return self; } @end The bug (that -hide: is defined for Application, not MyView) is easy to spot here because the program is so small. Not so in bigger programs. Just plunck the following in a directory, and do the standard things to make an app with PB and IB. Install a custom view of type MyView in the main window, compile, and run with gdb. It will respond with: objc: MyView: does not recognize selector -hide: ... (gdb) where ... #5 0x50354a6 in -[Object doesNotRecognize:] () #6 0x503550c in -[Object forward::] () #7 0x5006c16 in _objc_msgForward () #8 0x4a08 in -[MyView drawSelf::] (self=0xbc810, _cmd=0x6188bfd, rects=0x3ffe904, cnt=1) at MyView.m:6 #9 0x601b5d2 in -[View _display::] () ... There is no frame for -[MyView someDefinedMethod]. It would be between 7 and 8. Have others encountered this? Is there a good reason to have it this way? Again, in this simple program, not a problem, but in bigger programs with unrepeatable bugs, it's a pain. Allen King P.S.: Please email responses to aking@bbn.com and I'll summarize.
Newsgroups: comp.sys.next.programmer Subject: Absoft Fortran Compiler Question Message-ID: <1993Oct22.170238.125581@embl-heidelberg.de> From: rajas@duke.NMR.EMBL-Heidelberg.DE (Raj Thiagarajan) Date: 22 Oct 93 17:02:38 +0100 Distribution: world Keywords: Absoft Fortran Compiler Question Hi Guys, What is the "OPTION" to take care of case sensitivityness (upper/lower case) in the above mentioned compiler. I would really appreciate any help. thanks -rajas
Newsgroups: comp.sys.next.programmer From: sta@logibec.com Subject: Re: SavePanel -> PathPanel Message-ID: <1993Oct22.172028.23030@logibec.com> Sender: news@logibec.com Organization: Logibec Groupe Informatique Ltee, QC, Canada References: <2a1j20$85u@agate.berkeley.edu> Date: Fri, 22 Oct 1993 17:20:28 GMT In article <2a1j20$85u@agate.berkeley.edu> izumi@pinoko.berkeley.edu (Izumi Ohzawa) writes: > In article <2a1g3g$hjb@cc.tut.fi> t146678@lehtori.cc.tut.fi (Tuominen Juha) writes: > >In article <29t9ib$l64@rosie.next.com> Bob_Vadnais@next.com writes: > >>In article <29r6of$iso@cc.tut.fi>, > > >A: The standard OpenPanel class is not capable of choosing > >directories, so you have to make a subclass. Here's what you have > >to do: > > Scott Hess (of Stuart and TickleServices) has done this, and the > source code should be available as "DirPanel*.tar.Z" or something > on the archvies. Look for that. > > From nice looking RTF documentation..: > > "DirPanel provides the ability to select directories for SavePanels > and OpenPanels. It does this by providing an Objective-C Category > of SavePanel, and an alternative form of the -runModal* methods for > selection of directories. ...." > > > -- > Izumi Ohzawa [ $@Bg_78^=;(J ] > USMail: University of California, 360 Minor Hall, Berkeley, CA 94720 > Telephone: (510) 642-6440 Fax: (510) 642-3323 > Internet: izumi@pinoko.berkeley.edu (NeXTMail OK) - setTheFolder:sender { id openPanel = [OpenPanel new]; const char *types[2] = {NULL, NULL}; [[openPanel allowMultipleFiles:NO] chooseDirectories:YES]; if ([openPanel runModalForDirectory:NXHomeDirectory() file:NULL types:types]) [prefDocFolder setStringValue:[openPanel filename]]; [openPanel chooseDirectories:NO]; return self; } Stephane Ah-ki Logibec Groupe Informatique Ltee. Montreal, Canada Mail: sta@logibec.com
From: szakhour@next.com (Sharon Zakhour) Newsgroups: comp.sys.next.programmer Subject: new NeXTanswer -- distributed objects connection failing Date: 21 Oct 1993 17:55:54 GMT Organization: NeXT, Inc. Message-ID: <2a6ifa$q33@rosie.next.com> Distributed objects [DO and PDO] connection failing Q: I have client application which is connecting to a server on another machine. When I specify the hostname, the client successfully connects to the server. The problem occurs when I specify the "*" wild card for the hostname. In this instance the connection fails and nil is returned. What might cause this? A: When you specify the hostname, the DO request is efficiently routed as necessary to make the connection. However the wild card search is much slower since each machine on the subnet must be queried. For this reason the wild card search limits itself to the immediate subnet. In other words, the wild card search will fail if the two machines are not on the same subnet causing the two nmserver processes to be unable to find each other. Also see the documentation for +connectToName:onHost:fromZone:. There are a couple possible strategies you can employ to avoid using the wild card when you don't know the hostname: 1) Hardcode a machine name. Of course it would be a friendly gesture to allow this machine name to be changed in the Preferences panel of the Client application. 2) Register the name with netinfo. For example, you might want to create a new directory in the locations directory called myAppNameServer. The myAppNameServer directory would contain a property which lists the value of the hostname where the server is located. Valid for 3.0
Newsgroups: comp.sys.next.programmer From: pasqua@adobe.com Subject: Re: RenderMan & PDO & DPS ? Message-ID: <1993Oct22.204128.205@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <1993Oct21.123141.6275@FreemanSoft.com> Distribution: usa Date: Fri, 22 Oct 1993 20:41:28 GMT In article <1993Oct21.123141.6275@FreemanSoft.com> joe@FreemanSoft.com (Joe Freeman) writes: > In article <CEyF4r.6M@shinto.nbg.sub.org> tomi@shinto.nbg.sub.org (Thomas > Engel) writes: > > As far as I got the PDO idee it is just a Port of the basic stuff you > > need for portable Dist.Objects. Ok thats fine. > > This is true. It basicly consists of objc, streams, and DO classes, plus > mach port emulation. > > > > > Porting NeXTSTEP as a whole is not so easy because of Disp.PostScript > > and the hardware-specific parts. > > True again. I hate to be picky here, but Display PostScript is really quite portable. Here are some systems that it already runs on: SGI MIPS based workstations running Irix (big endian) Motorola 680x0 systems (SUN, NeXT) SPARC (SunOS & Solaris) DEC Vax (Unix and VMS) DEC MIPS based workstations running Ultrix (little endian) DEC Alpha (OSF/1 & OpenVMS) IBM RS/6000 & PowerPC (AIX) 80[345]86 (NeXT & others) Obviously there will be an HP version for the NEXTSTEP/HP port also. Joe Pasqua Adobe Systems Incorporated
Newsgroups: comp.sys.next.programmer From: eboltz@acoustica.mrd.bldrdoc.gov (Eric S. Boltz) Subject: Opinions on Absoft F77 and Debugger Message-ID: <CFBIMp.DFq@dove.nist.gov> Sender: news@dove.nist.gov Organization: NIST Date: Fri, 22 Oct 1993 21:35:12 GMT I'm considering the Absoft F77 compiler and Fx debugger and would like to hear some comments about either. Most of the programming will be number crunching routines that will also be run (in debugged form) on an HP-Apollo 755 under HP-UX (for now..) BTW. Thanks in advance, Eric -- Eric S. Boltz My views, opinions and statements in no way reflect those of the U.S. Gov't, the U.S. Department of Commerce or NIST.
Newsgroups: comp.sys.next.programmer From: tom@basil.icce.rug.nl (Tom R.Hageman) Subject: Re: GDB Debugger causing serious memory problems! Message-ID: <CFBEHo.13G@basil.icce.rug.nl> Sender: tom@basil.icce.rug.nl (Tom R.Hageman) Organization: Farty Owls References: <2a73fg$hv5@senator-bedfellow.MIT.EDU> Date: Fri, 22 Oct 1993 20:05:47 GMT In article <2a73fg$hv5@senator-bedfellow.MIT.EDU> zmonster@ATHENA.MIT.EDU (Eric M Hermanson) writes: [munch] > > Oh, I almost forgot. I DID compile the program once WITHOUT linking the > MallocDebug library since I saw no need for further debugging. After I did > this, the problems seemed to arise. Is this a bad thing to do? I have > since reinstated the Malloc Debug library linking, but this doesn't seem > to help. > MalocDebug is more permissive than "normal" malloc with respect to writing outside malloced memory. Are you sure you did all your "malloc(strlen(foo)+1)"s right?-) -- __/__/__/__/ Tom Hageman (tom@basil.icce.rug.nl) [NeXTMail accepted] __/ __/_/ __/__/__/ __/ _/_/ <space for quote intentionally left blank>
From: sra@wam.umd.edu (Rich Andrews) Newsgroups: comp.sys.next.programmer Subject: DBKit master-detail question Date: 23 Oct 1993 00:30:09 GMT Organization: Proxima Inc. Message-ID: <2a9tuh$sup@cville-srv.wam.umd.edu> According the to a code fragment in "DBKit Chap 9:Advanced Record List Techs.", it is possible to implement a master-detail entity relationship using the " - propertyValue" method. It does not appear to exist anywhere in DBKit! id toEmp = [deptEntity propertyNamed:"toEmployee"]; ... [[toEmp propertyValue] propertyNamed:"empName"]; objc: DBRelationship: does not recognize selector -propertyValue It would be nice to load the properties into a List to hand off to a record list that would have the detail information of empEntity. What the heck did I miss? Richard Andrews
Newsgroups: comp.sys.next.programmer From: Paul_Kunz@slac.stanford.edu (Paul Kunz) Subject: Re: Absoft Fortran Compiler Question Message-ID: <CFBw2J.6Ax@unixhub.SLAC.Stanford.EDU> Sender: news@unixhub.SLAC.Stanford.EDU Organization: Stanford Linear Accelerator Center References: <1993Oct22.170238.125581@embl-heidelberg.de> Date: Sat, 23 Oct 1993 02:25:30 GMT In article <1993Oct22.170238.125581@embl-heidelberg.de> writes: > > Hi Guys, > > What is the "OPTION" to take care of case sensitivityness (upper/lower > case) in the above mentioned compiler. I would really appreciate any help. > thanks > From doing a man f77 -f Fold all symbolic names to lower case. This is the default. See also section 2.2.5 of the FOR- TRAN 77 Language Reference Manual. Perserving case is the default with the Absoft compiler, -f folds to lower case. -- Paul F. Kunz Paul_Kunz@slac.stanford.edu (NeXT mail ok) Stanford Linear Accelerator Center, Stanford University Voice: (415) 926-2884 (NeXT) Fax: (415) 926-3587
Newsgroups: comp.sys.next.programmer From: asc1002@Armstrong.EDU (-phillip bruce-) Subject: How to get gstate from a wrap? Message-ID: <1993Oct23.073448.27072@Armstrong.EDU> Organization: Armstrong State College, Savannah, GA Distribution: usa Date: Sat, 23 Oct 1993 07:34:48 GMT Anybody here know of a way to get a gstate value from, say, a PS wrap?? The NeXT PSxxx wraps have skirted the issue altogether, and the DPS interpreter hates the idea (ie, tells me it can't return a "userobject" type). Any ideas? (I get the idea that this is a pretty common question). What I'm actually doing requires frequent compositing, and since compositing requires a gstate... thanks, d!ll!yd
Newsgroups: comp.sys.next.programmer From: bbum@friday.com Subject: Re: Hiding Nib Files Message-ID: <CF9Bt0.Ix@friday.com> Sender: bbum@friday.com (Bill Bumgarner) Organization: Friday Software & Consulting; a virtual company References: <CF7C48.Mu2.3@cs.cmu.edu> Date: Thu, 21 Oct 1993 17:12:35 GMT Eric Thayer writes > In article <29vrub$mg7@rosie.next.com> sam_s@NeXT.com (Sam Streeper) writes: > > eps@futon.SFSU.EDU (Eric P. Scott) writes: > > > Peter.Hauke@brunel.ac.uk (Peter Hauke) writes: > > > >Is it possible to produce an .app file such that the Nib files > > > >cannot be viewed or modified by the end-user. > > As an alternative approach, create a custom IBPalette that implements some nasty validation code-- include some of the objects from the Palette in each of your NIB files... IB won't load the NIB unless the user has your palette-- if the code in the palette is nasty enough, they will have a hard time duplicating the nasty-code such that it allows IB to read the file... In regards to creating all-one-executable; the segment loader still exists and is quite usable, -loadNibSection:... and friends are still there-- but how do you get a wrapper-style .nib document into a mach-o segment? -- b.bum <bbum@friday.com> | "blah blah blah" WhiteLight Systems, INC. | - someone somewhere
Newsgroups: comp.sys.next.programmer From: bbum@friday.com Subject: Re: Infos, Docus, etc. for Next Hardware Message-ID: <CF9C27.Jq@friday.com> Sender: bbum@friday.com (Bill Bumgarner) Organization: Friday Software & Consulting; a virtual company References: <CF5KsA.JA8@bernina.ethz.ch> Date: Thu, 21 Oct 1993 17:18:07 GMT Andreas Merz writes > Hello! > > I am looking for Infos, Docus, files, etc, that describe the hardware > of the 030 and 040 NeXT boards. I need the informations to write a > kernel for teaching purposes and for research. > > If you have or know something, please reply. Best of luck! If you find anything out, please let me know! At one point in time, a friend of mine and I pursued writing our own kernel-- actually figured out how to get cc/ld to compile and link something that didn't use any libraries. Combine that w/some code that diddles screen memory (though it can't use the "nice" API provided by ioctl() to get the address), and you have starts of a kernel that can actually display stuff on screen (we started by blinking a single pixel on and off).... But, we did all that, and screen stuff was EXTREMELY slow (to non-existant)... Dissassembling the kernel, it seems that NeXT loads micro-code into the DMA controller chips and starts the DMA channels during the boot process... BTW: at what point can one use kgdb to debug a kernel-- it has to be sometime after the serial ports/ether ports are initialized; which is probably too late to catch the interesting low-level hardware init stuff... b.bum -- b.bum <bbum@friday.com> | "blah blah blah" WhiteLight Systems, INC. | - someone somewhere
From: doug@foxtrot.ccmrc.ucsb.edu (Douglas Scott) Newsgroups: comp.sys.next.programmer,comp.sys.next.misc Subject: Two problems/questions about 3.1 gdb (on m68k machine) Date: 23 Oct 1993 22:46:09 GMT Organization: Center for Computer Music Research and Composition, U.C.S.B. Message-ID: <2acc7h$2rb@hub.ucsb.edu> Keywords: debug gdb The online documentation for gdb has a description of a very useful command called data-break. Unfortunately, NeXT's gdb does not recognize this command at all. Is the documentation out-of-date or ahead of its time? Secondly, it is impossible to run gdb when logged in via a 2400 baud modem. I vaguely remember hearing something about this -- is there a way to reset it so that it works? Once it is invoked, characters typed at the (gdb) prompt often do not show up, and it is impossible to quit. Any comment would be appreciated. -- Douglas Scott | Senior Development Engineer Tel: (805) 893-8352 | Center for Computer Music Research and Composition Internet (NeXTMail ok): | Music Department <doug@ccmrc.ucsb.edu> | University of California, Santa Barbara
Newsgroups: comp.sys.next.programmer From: hovey@hpms.chem.ualberta.ca (Jamey K. Hovey) Subject: vms style - edt editor - can I get one for the NeXT? Message-ID: <1993Oct24.061216.18658@kakwa.ucs.ualberta.ca> Keywords: NeXT, vms, edt, tpu, eve, edit/edt Sender: news@kakwa.ucs.ualberta.ca Organization: University Of Alberta, Edmonton Canada Date: Sun, 24 Oct 1993 06:12:16 GMT I recall (vaguely at best) that an edt style editor was reported to be available for the NeXT that was modified from a utility for sunos. I have seen both free and commercial versions for the PC but can no longer find one for any unix system. In my old age I am getting rather confused. Any information would be very helpful to me. As some sort of sick joke though I have another vms style question. Also under Sunos can the f77 compiler be made vms transparent (well almost) using the -xl option. Will the Absoft 3.2 fortran compiler for the NeXT do this ? 3.1 didn't. Thanks in advance for any information you could provide. Sincerely, Jamey Hovey ============================= Dr. Jamey Hovey Department of Chemistry University of Alberta Edmonton, Alberta T6G 2G2 Canada (403)492-3502
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Two problems/questions about 3.1 gdb (on m68k machine) Message-ID: <1993Oct24.121038.11890@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <2acc7h$2rb@hub.ucsb.edu> Date: Sun, 24 Oct 1993 12:10:38 GMT In article <2acc7h$2rb@hub.ucsb.edu> doug@ccmrc.ucsb.edu (Douglas Scott) writes: >The online documentation for gdb has a description of a very useful command >called data-break. Unfortunately, NeXT's gdb does not recognize this command >at all. Is the documentation out-of-date or ahead of its time? Both(!) -=EPS=-
Newsgroups: comp.sys.next.programmer,comp.sys.next.software,comp.databases.oracle From: goofy!stephens (robert stephens) Subject: Help Connecting to Oracle_6 Message-ID: <1993Oct20.211910.559@goofy.uucp> Keywords: oracle_6,NEXTSTEP_3.1,OracleDemo Sender: stephens@goofy.uucp Organization: open road Distribution: usa Date: Wed, 20 Oct 1993 21:19:10 GMT I have installed Oracle version 6.0.33.2.1 on a stand alone server running NEXTSTEP 3.1 and am able to start up the database from a shell. I am also able to query the demo database when logging in as "scott". However, when trying to connect to a running Oracle database from the login window of the Database Kit example "OracleDemo", the same login used from a shell for "scott" does not work. Any ideas ? Is there another demo database which must be installed other than the one supplied by oracle for the example NEXTSTEP program "OracleDemo"? Thanks, robert stephens stephens@netcom.com
Newsgroups: comp.sys.next.programmer From: goofy!stephens (robert stephens) Subject: Help connecting to Oracle_6 in NEXTSTEP3.1 Message-ID: <1993Oct23.082338.203@goofy.uucp> Keywords: Oracle_6, NEXTSTEP3.1 Sender: stephens@goofy.uucp Organization: open road Date: Sat, 23 Oct 1993 08:23:38 GMT I have installed Oracle version 6.0.33.2.1 on a stand alone server running NeXTSTEP 3.1 and am able to start up the database from a shell. I am also able to query the demo database when logging in as "scott". However, when trying to connect to a running Oracle database from the login window of the Database Kit example "OracleDemo", the same login used from a shell for "scott" does not work. Any ideas ? Is there another demo database which must be installed other than the one supplied by oracle for the example NeXTSTEP program "OracleDemo"? Thanks, robert stephens stephens@netcom.com
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer,comp.windows.x Subject: Co-Xist question Date: 24 Oct 1993 16:04:28 +0100 Organization: me organized? That's a joke! Message-ID: <2ae5hs$te@steffi.demon.co.uk> Just what exactly happens when you double click on the co-Xist icon? My .xinitrc is invoked if I do this. So is xinit being exec'd? Specifically what programs are executed when I do this? Basically I want to add -auth $HOME/.Xauthority to the options when I double click on the Icon. The Icon is DOCKED and is auto lauched when I login. I tried adding the option in the extra arguments field in preferences but this hasn't worked. ------ Are there any Co-Xist users about who are seriously into X?
Newsgroups: comp.sys.next.programmer From: bhill@physics.ucla.edu (Brian Hill) Subject: Re: vms style - edt editor - can I get one for the NeXT? In-Reply-To: hovey@hpms.chem.ualberta.ca's message of Sun, 24 Oct 1993 06:12:16 GMT Message-ID: <BHILL.93Oct24152600@spike.physics.ucla.edu> Sender: usenet@physics.ucla.edu Organization: Dept. of Physics, UCLA References: <1993Oct24.061216.18658@kakwa.ucs.ualberta.ca> Date: 24 Oct 93 15:26:00 > I recall (vaguely at best) that an edt style editor > was reported to be available for the NeXT that was > modified from a utility for sunos. Well, this isn't the utility you were mentioning, but it still might be a solution for you: Run emacs and then type M-x edt-emulation-on --Brian Hill
Newsgroups: comp.sys.next.programmer Subject: Get events without [NXApp run]? Message-ID: <1993Oct24.225053.125583@embl-heidelberg.de> From: tuparev@EMBL-Heidelberg.DE (Georg Tuparev) Date: 24 Oct 93 22:50:53 +0100 Hi NeXTers! I'm converting one 300,000 f77 lines program (currently for SGI) to NeXT. This program has it's own event loop, so I cannot use the nice [NXApp run] method. My questions: 1. Is it possible to create NXApp's Menu and Main window without starting the main event loop (and how). 2. If the answer of the first question is YES (I hope so), how can I get MOUSEDOWN, MOUSEUP and MOUSEDRAGED events? 3. The original program is terminal driven. I would like to catch all WRITE (6,*) blah-blahs and to print them in a separate text window (using the Text class). The user input has to be redirected to the standard (f77) input (e.g. READ (5,*) ). Any ideas? Thanks Georg Tuparev EMBL / Protein Design Meyerhofstr. 1 D-69117 Heidelberg Germany tuparev@embl-heidelberg.de (NeXT-mail)
From: M.Crawford@dcs.sheffield.ac.uk (Malcolm Crawford) Newsgroups: comp.sys.next.programmer Subject: Pasal for Next Date: 25 Oct 1993 05:04:09 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9310251005.AA01574@dcs.shef.ac.uk> Hi Jon, > Where can I find a Pascal compilier for the Next? My > son needs it for a class at Bradley. He has this lonely > Next in the middle of a sea of Dos PCs. > There was a copy available from the University of Virginia (UVAPC) a while ago -- $150 for educational site license. I'm not sure if they are still supporting it, but it is being used by Oxford University in earnest. Furthermore, one of the chaps there (Gideon Tearle) has written a ProjectBuilder look-alike to wrap around it. Gideon is now only working as a consultant at Oxford, so you might be better off contacting John Ward... bigj%nextstat1.physics@uk.ac.ox (John Ward) gtearle%nextstat1.physics@uk.ac.ox.vax (Gideon Tearle) Good luck, Have fun, mmalcolm. --- SHeffield Auditory Group | Tel : (+44) 742 768555 ext 5569 Dept. Computer Science | direct : 825569 Sheffield University | Fax : (+44) 742 780972 Regent Court | Email: M.Crawford@dcs.shef.ac.uk 211 Portobello Street | (NeXTMail welcome) Sheffield S1 4DP, UK. | (Read-Receipts discouraged :-)
From: friedric@fmi.uni-passau.de (Carsten Friedrich) Newsgroups: comp.sys.next.programmer Subject: Displaying image with alpha Date: 25 Oct 1993 12:31:20 GMT Organization: University of Passau Distribution: world Message-ID: <2agguoINNkhu@tom.rz.uni-passau.de> Hallo, My problem is to correctly display an RGB-image that includes alpha. Using NXDrawBitmap() produces results that are, in our opinion, wrong. We suppose that the 'premultiplication' as described in Concepts/Drawing is the reason for the wrong results. Trying to render a meshed RGBA-image with int x,y; unsigned char *rgba = _plane; for(y=0; y < lines ;y++) { for(x=0; x < columns ;x++) { NXSetColor(NXConvertRGBAToColor(rgba[0]/255.0f, rgba[1]/255.0f, rgba[2]/255.0f, rgba[3]/255.0f)); PSsetalpha(rgba[3]/255.0f); rgba += 4; PSmoveto(x,y); PSlineto(x,y); PSstroke(); } } gives the result we expect. Is there any faster way (maybe by using NXDrawBitmap()) to get the same result? I'm looking forward to hear from you. Thanks in advance, Carsten ---
Carsten Friedrich Unschuldiger, friedric@fmi.uni-passau.de (non-NeXT) suche die Vollkommenheit der Seele friedric@jerry.rz.uni-passau.de (NeXT) nicht die Seele der Vollkommenheit ###############################################################################
Newsgroups: comp.sys.next.programmer From: cedman@princeton.edu (Carl Edman) Subject: Re: Get events without [NXApp run]? In-Reply-To: tuparev@EMBL-Heidelberg.DE's message of 24 Oct 93 22:50:53 +0100 To: tuparev@EMBL-Heidelberg.DE (Georg Tuparev) Message-ID: <CEDMAN.93Oct24214909@capitalist.princeton.edu> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University References: <1993Oct24.225053.125583@embl-heidelberg.de> Date: Mon, 25 Oct 1993 01:49:08 GMT In article <1993Oct24.225053.125583@embl-heidelberg.de> tuparev@EMBL-Heidelberg.DE (Georg Tuparev) writes: I'm converting one 300,000 f77 lines program (currently for SGI) to NeXT. This program has it's own event loop, so I cannot use the nice [NXApp run] method. Yep, Michael Brouwer and myself had the same problem when we ported Emacs 19.19 to run under NS natively. My questions: 1. Is it possible to create NXApp's Menu and Main window without starting the main event loop (and how). No, you absolutely, positively need to -run: NXApp at least once. The first time NXApp is run it does some only partially known magic and all attempts to bypass it have ultimately failed. However, there is no reason it has to be kept running and you can't -stop: it e.g. in -appDidInit:. After that you have two options. You can either periodically -run: and -stop: NXApp so that NS events get processed in the standard fashion. Or you can just run NXGetOrPeekEvent/DPSGetEvent/... and handle the events explicitly yourself (not forgetting to set the running instance variable of NXApp). As there is some more magic done in the run loop generally the former method is perferable. 2. If the answer of the first question is YES (I hope so), how can I get MOUSEDOWN, MOUSEUP and MOUSEDRAGED events? See above. In the first method you'll get them in your views methods. In the second one, you'll have to interpret the events by hand. 3. The original program is terminal driven. I would like to catch all WRITE (6,*) blah-blahs and to print them in a separate text window (using the Text class). The user input has to be redirected to the standard (f77) input (e.g. READ (5,*) ). Any ideas? I categorically refuse to admit to any knowledge of Fortran (what is that anyway ?), so I've no idea what you are talking about. None whatsoever. And don't try to explain it to me. Carl Edman
Newsgroups: comp.sys.next.programmer From: chris@iesd.auc.dk (Christian Callsen) Subject: Re: GDB Debugger causing serious memory problems! In-Reply-To: tom@basil.icce.rug.nl's message of Fri, 22 Oct 1993 20:05:47 GMT Message-ID: <CHRIS.93Oct25140042@svale.iesd.auc.dk> Sender: news@iesd.auc.dk (UseNet News) Organization: Math & CS at Aalborg University References: <2a73fg$hv5@senator-bedfellow.MIT.EDU> <CFBEHo.13G@basil.icce.rug.nl> Date: 25 Oct 1993 13:00:42 GMT >>>>> On Fri, 22 Oct 1993 20:05:47 GMT, tom@basil.icce.rug.nl (Tom R.Hageman) said: Tom> In article <2a73fg$hv5@senator-bedfellow.MIT.EDU> zmonster@ATHENA.MIT.EDU (Eric Tom> M Hermanson) writes: Tom> [munch] > > Oh, I almost forgot. I DID compile the program once WITHOUT linking the > MallocDebug library since I saw no need for further debugging. After I did > this, the problems seemed to arise. Is this a bad thing to do? I have > since reinstated the Malloc Debug library linking, but this doesn't seem > to help. > Tom> MalocDebug is more permissive than "normal" malloc with respect to writing Tom> outside malloced memory. Are you sure you did all your Tom> "malloc(strlen(foo)+1)"s right?-) Well, believe it or not, the MallocDebugger is also insensitive to doubly free'd memory, and lots of other stuff. It is really a great tool. What I generally do is compile without MallocDebug until the thing works, and then I start debugging the "working" program. It works just fine with C++ too! The only thing missing is for the MallocDebugger to give out line numbers.. but well.. I guess I can live without it. -Chris -- __ | Christian J. Callsen [ chris@iesd.auc.dk ] / ) / | Department of Mathematics and Computer Science, / /_ __ o _ | Frederik Bajers Vej 7E, Aalborg University (__/ / /_/ (_<_/_)_ | 9220 Aalborg 0st, DENMARK {Sm:^>le and be Happy Today!}
From: dbora@ils.nwu.edu (Donald Bora) Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin Subject: Panic: Next boot problem Date: 25 Oct 1993 14:33:46 GMT Organization: The Institute for the Learning Sciences Distribution: world Message-ID: <2ago4a$rqu@anaxagoras.ils.nwu.edu> Hello out there in the net world. I was playing around with some new fonts last night when something very disoncerting happened. The machine locked up and then booted me out. I expected to get the login screen back when the cursor sat up in the corner spinning and the login window never came up! I have rebooted several times and it all ends up in the same place: the spinning cursor in the corner and no login window. I can still boot into single user mode so the problem is not so serious that I cannot replace the appropriate corrupted files (which I suspect is the problem).. but which files might be corrupt? Any clues? -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Donald F. Bora | | | The Institute for the Learning Sciences | | O | Northwestern University | (--|--) Evanston, Ill | | e-mail: dbora@ils.nwu.edu | / \ work: (708) 467-1972 | --------Be excellent to each other--------
From: Cuong Van Nguyen <cn0x+@andrew.cmu.edu> Newsgroups: comp.sys.next.sysadmin,comp.sys.next.programmer Subject: HELP->Can't boot from HD Date: Mon, 25 Oct 1993 11:57:03 -0400 Organization: Junior, Math/Computer Science, Carnegie Mellon, Pittsburgh, PA Distribution: world Message-ID: <EgmzRDi00VpZQ8DlM5@andrew.cmu.edu> References: <2ago4a$rqu@anaxagoras.ils.nwu.edu> In-Reply-To: <2ago4a$rqu@anaxagoras.ils.nwu.edu> Hi All, My NeXT froze the other day as I was logging out. I did a reboot and then it just hung when it got to reading my HD on sd0a. So, I powered down and the problem persisted. I can boot from a floppy and mount my HD, but I cannot start from the HD, nor can I boot from the floppy and have root on the HD. All the hardware checks were positive. I tried copying the boot partition over and even copied all the files from the floppy to the HD, but nothing is working. My question is: Does anyone know what might be wrong and how I can go about fixing this? Many thanks in advance, Cuong
Newsgroups: comp.sys.next.programmer From: jscott@bartok.helios.nd.edu (james scott) Subject: Icon / dread questions Message-ID: <1993Oct25.152212.6045@news.nd.edu> Sender: news@news.nd.edu (USENET News System) Organization: University of Notre Dame Date: Mon, 25 Oct 1993 15:22:12 GMT Folx, I have two (unrelated) questions: 1) How do you get a running app to overwrite its icon, a la Mail.app? 2) Is there a way to get/set volume and brightness programmatically? Thanks, JLS PS Please email and I will post summary -- James Scott | jscott@bach.helios.nd.edu Consultant Team Leader, | Scott.15@nd.edu Debartolo Computer Cluster | 219.634.1517 On-line, adj.: The idea that a human being should always be accessible to a computer.
From: sowa@amdew.llnl.gov (Erik C. Sowa) Newsgroups: comp.sys.next.programmer Subject: Re: Get events without [NXApp run]? Date: 25 Oct 1993 18:38:54 GMT Organization: LLNL Chemistry and Materials Science Message-ID: <SOWA.93Oct25113854@amdew.llnl.gov> References: <1993Oct24.225053.125583@embl-heidelberg.de> <CEDMAN.93Oct24214909@capitalist.princeton.edu> In-reply-to: cedman@princeton.edu's message of Mon, 25 Oct 1993 01:49:08 GMT >>>>> "Carl" == Carl Edman <cedman@princeton.edu> writes: Carl> we ported Emacs 19.19 to run under NS natively. Do tell. -- erik sowa (sowa@amdew.llnl.gov)
From: hyongsop@saturn.eecs.umich.edu (Hyong S. Shim) Newsgroups: comp.sys.next.programmer Subject: Resizing a view Date: 25 Oct 1993 20:48:36 GMT Organization: University of Michigan EECS Dept. Message-ID: <2ahe34$2jf@zip.eecs.umich.edu> Hi, I have a custom view whose size should always be kept as that of the content view of which it is a subview. Does anyone know how to do this in a program, not using IB? --hyong (hyongsop@saturn.eecs.umich.edu)
From: art@cubicsol.com (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Freeing all memory allocated by unarchiving a nib Date: 25 Oct 1993 22:21:41 GMT Organization: University of California, Santa Cruz Distribution: world Message-ID: <2ahjhl$pbj@darkstar.UCSC.EDU> Does anyone have a crash-proof approach to freeing all memory allocated when a nib is unarchived? I've got a situation in which using DBModeler to change the properties of a database model is just too time-consuming to do manually, so I've written a process that opens each nib and changes the model based on info captured in each nib. Problem is, I'm unarchiving over 400 nibs with swapfile growth of over 60 MB! So I'd like to free the memory allocated when each nib is unarchived before unarchiving the next nib. I thought that I'd unarchive each nib into a new memory zone and then destroy the zone when I've gotten the info I need. I've got lots of custom non-view objects in these nibs in addition to one or more windows and panels, so destroying the zone seemed like the most straightforward approach to reclaiming memory. However, when I implemented this simple-minded approach, memory access violations crashed my app. So I figured that I really needed to free all windows and panels so that associated window server resources could be freed before destroying the memory zone. Bzzzzzt!! Nice try, thanks for playing, but no cigar. Similar crashes occur along with another one that occurs because "TextField does not respond to realObject". Say, what? I'm not sending that message in my code, so I guess that's a private method. I've also noticed that unarchiving my first nib also seems to instantiate several shared system panels like the Spelling panel, so freeing these doesn't seem like such a good idea. I tried to ignore these panels, but maybe I'm still missing one or more and am inadvertently freeing them. So if anyone has the magic key to freeing memory after a nib is no longer needed, please let me know. I'll summarize for all to enjoy. -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin From: ludwig@well.sf.ca.us (Michael Rutchik) Subject: Re: Panic: Next boot problem Message-ID: <CFH98H.547@well.sf.ca.us> Sender: news@well.sf.ca.us Organization: The Whole Earth 'Lectronic Link, Sausalito, CA References: <2ago4a$rqu@anaxagoras.ils.nwu.edu> Date: Mon, 25 Oct 1993 23:57:52 GMT In <2ago4a$rqu@anaxagoras.ils.nwu.edu> dbora@ils.nwu.edu (Donald Bora) writes: >Hello out there in the net world. I was playing around with some new >fonts last night when something very disoncerting happened. The machine >locked up and then booted me out. I expected to get the login screen >back when the cursor sat up in the corner spinning and the login window >never came up! I have rebooted several times and it all ends up >in the same place: the spinning cursor in the corner and no login window. >I can still boot into single user mode so the problem is not so serious that >I cannot replace the appropriate corrupted files (which I suspect is the >problem).. but which files might be corrupt? > Any clues? >-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* >Donald F. Bora | | | >The Institute for the Learning Sciences | | O | >Northwestern University | (--|--) >Evanston, Ill | | >e-mail: dbora@ils.nwu.edu | / \ >work: (708) 467-1972 | > --------Be excellent to each other-------- Yes, You need to boot up in single-user mode and type the following line at the command prompt: buildafmdir /NextLibrary/Fonts If you installed the fonts somewhere besides /NextLibrary/Fonts then type that directory instead. After rebooting again all should be well. Michael Rutchik ludwig@well.sf.ca.us
Newsgroups: comp.sys.next.programmer From: jjfeiler@relief.com (John Jay Feiler) Subject: Re: Hiding Nib Files Message-ID: <CF8J6s.9GK@relief.com> Sender: jjfeiler@relief.com (John Jay Feiler) Organization: Relief Consulting & Development References: <29vrub$mg7@rosie.next.com> Date: Thu, 21 Oct 1993 06:54:27 GMT In article <29vrub$mg7@rosie.next.com> sam_s@NeXT.com (Sam Streeper) writes: > eps@futon.SFSU.EDU (Eric P. Scott) writes: > > Peter.Hauke@brunel.ac.uk (Peter Hauke) writes: > > >Is it possible to produce an .app file such that the Nib files > > >cannot be viewed or modified by the end-user. > > > That all depends on how sophisticated your end-user is. > > After all, Eric is known for turning executables back into rather > accurate commented objc source... 8^) > > One suggestion would be scramble the data in the nib and put the resultant > mess in a mach-o segment of the executable. You could reconstitute it at > run time only long enough to read it in. You'd want to check that a following > call to unlink() actually nuked the file... > > -sam One simple way of creating a nib that cen't be played around with by unsophisticated users is to use objects from a private IB palette. IB can't open a nib file if it doesn't have some of the objects loaded in. Of course, someone like EPS could just write a dummy palette containing stub objects of the appropriate nature........ John -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!! Edmonds, WA 98026-4433 Independent NeXTSTEP Developer -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!!
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Re: Hiding Nib Files Message-ID: <2ai3ia$58s@ursula.ee.pdx.edu> Date: 25 Oct 93 12:55:06 GMT Article-I.D.: ursula.2ai3ia$58s References: <29vrub$mg7@rosie.next.com> <CF8J6s.9GK@relief.com> jjfeiler@relief.com (John Jay Feiler) writes: >Of course, someone like EPS could just write a dummy palette containing stub >objects of the appropriate nature........ We would hope someone would do something to short circuit this paranoia. Sheesh.
Newsgroups: comp.sys.next.programmer From: zeno@abstractsoft.com (Sean T. Lamont) Subject: Re: Icon / dread questions Message-ID: <1993Oct26.014902.21830@coco.ms.washington.edu> Sender: news@coco.ms.washington.edu (C-news admin) Organization: Abstract Software References: <1993Oct25.152212.6045@news.nd.edu> Date: Tue, 26 Oct 1993 01:49:02 GMT In article <1993Oct25.152212.6045@news.nd.edu> jscott@bartok.helios.nd.edu (james scott) writes: >Folx, > >I have two (unrelated) questions: > >1) How do you get a running app to overwrite its icon, a la Mail.app? [[NXApp appIcon] setContentView:[MyView new]]; > >2) Is there a way to get/set volume and brightness programmatically? > >Thanks, > >JLS > Never done volume, but it's probably similar to the following. Note that this has to have , one way or the other, write permissions to /dev/vid0. #include<stdio.h> #include<sys/file.h> #include<bsd/dev/m68k/video.h> main(ac,av) int ac; char **av; { int fd; int bright; int i; if (ac < 2){ fprintf(stderr,"Usage: %s [0-256]\n",av[0]); exit(-1);} bright = atoi(av[1]); fd = open("/dev/vid0",O_RDWR,0); bright = atoi(av[1]); ioctl(fd,DKIOCBRIGHT,&bright); close(fd); } -- Sean T. Lamont | Ask me about the WSI-Fonts Abstract Software | Professional collection for NeXT lamont@abstractsoft.com |____________________________________
From: tyen@mundo.eco.utexas.edu (Anthony Yen) Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: Santa Claus Wishlist for NS3.3 and NS4.0! Date: 26 Oct 1993 03:32:27 GMT Organization: The University of Texas at Austin, Austin, Texas Message-ID: <2ai5ob$lhu@geraldo.cc.utexas.edu> References: <CFGEKn.L99@muster.hrz.uni-giessen.de> Karsten Wolf (g402@hrz.uni-giessen.de) wrote: - I read about the object file system planned for NS4.0 (data soup). Can somebody explain this to me? Whereïs the advantage? How does it work? This reminds me of a question I forgot to ask. I know NS/FIP use fsck for taking care of filesystem integrity, but is there any reason a third party developer could not write a journaling filesystem for the underlying Mach system? As I understand Mach from my operating systems class, the architecture should allow for something like this, although what I didn't get out of the class was just how easy this is in implemented versions of Mach. By easy, I don't mean brainless, but more along the lines of asking if the implementors actually designed this possibility into the system. I know SVR4 gives you this capability, and people have also come up with on-the-fly compressed filesystems as well. : - Handwriting-recognition built in OS (we want our share of NeXton, too 8^) I remain unconvinced of the "solution-ability" of HWR at the current technology level for the consumer market. Don't get me wrong: I think it is an incredible solution for some applications, and the only solution that makes any sense in those situations. The Newton is neat, but it is a royal pain in the ass to use, even after it nails your handwriting spot-on when you've gone through the 4-6 week training period. I can still cram more information into my Day-Timer, by an order of magnitude. I think HWR will become useful in the mass market sense when a lot of other technology catches up (voice recognition, miniaturized hardware, wireless infrastructure, data interchange, etc.). -- Anthony Yen - SPARC Sysadmin - Department of Economics - UT/Austin ECB 3.138, MS#63100 - 471-3211 ext 170 - tyen@mundo.eco.utexas.edu
From: sanguish@digifix.com Newsgroups: comp.sys.next.announce,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.advocacy,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.bugs,comp.sys.next.programmer,comp.sys.next.marketplace Subject: Quick Guide to the comp.sys.next.* newsgroups Date: 25 Oct 1993 23:54:01 -0400 Organization: Next Announcements Message-ID: <2ai70m$787@digifix.digifix.com> The current menagerie: 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. comp.sys.next.announce Announcements of general interest to the NeXT community (new products, FTP submissions, user group meetings, commercial announcements etc.) The NEXTSTEP FAQs are posted here monthly as well. 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. 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. 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. 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. 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!!! comp.sys.next.programmer Questions and discussions of interest to NEXTSTEP programmers. This is primarily a forum for advanced technical material. The NEXTSTEP programmer FAQs are posted here. 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. comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. related Newsgroups 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. comp.lang.objective-c Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. 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. --------------------------------------------------------------------- Thanks to Michael Ross at antigone.com, the main NEXTSTEP groups are now available as a mailing list digest as well. next-nextstep-d next-advocacy-d next-announce-d next-bugs-d next-hardware-d next-marketplace-d next-misc-d next-programmer-d next-software-d next-sysadmin-d (For a full description, send mail saying LISTS to <digestif@antigone.com>). The subscription syntax is essentially the same as LISTSERV's. To subscribe, send a message to <digestif@antigone.com> saying: SUB Listname YourName Example: SUB next-hardware-d John Doe -------------------------------------------------------------------- Written by: Eric P. Scott eps@toaster.SFSU.EDU Minor editing: Scott Anguish sanguish@digifix.com Additions from: Greg Anderson (Greg_Anderson@afs.com) and Michael Pizolato (Michael_Pizolato@afs.com)
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: Re: Hiding Nib Files Message-ID: <CFHqt8.Eop@news.cis.umn.edu> Sender: news@news.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Hospital and Clinic, Labratory Information Services References: <29vrub$mg7@rosie.next.com> <CF8J6s.9GK@relief.com> <2ai3ia$58s@ursula.ee.pdx.edu> Date: Tue, 26 Oct 1993 06:14:54 GMT Imagine though, if you had a database login and password in one of those 'bundles' as ascii. Now the game moves from "Protect thine user, to protect thine database." Yup, flat files are cool -- they save vm, help apps load quickly, separate unrelated glob of stuff from each other but also introduce problems that may be worse than the problems they initially intended to solve. The decision of what's worse depends on the situation I s'pose. peter (Pardon my wandering in the wee hours of the morning...) -- Always looking for a handy place to nap... peter@tahiti.umhc.umn.edu (Peter Eisch) peter.a.eisch@uwrf.edu
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Re: Hiding Nib Files Message-ID: <2aihic$93l@ursula.ee.pdx.edu> Date: 25 Oct 93 16:54:04 GMT Article-I.D.: ursula.2aihic$93l References: <29vrub$mg7@rosie.next.com> <CF8J6s.9GK@relief.com> <2ai3ia$58s@ursula.ee.pdx.edu> <CFHqt8.Eop@news.cis.umn.edu> peter@corsica (Peter Eisch) writes: >Imagine though, if you had a database login and password in one of those >'bundles' as ascii. Now the game moves from "Protect thine user, to >protect thine database." The topic was specifically nib files. Nib files are our friends. All they let do us connect code to interface. That and archive our connectors. Connectors never meant to hurt anyone. If any developer was so stupid to a) do registration intercepts at the connector level or b) embed passwords, etc. as readable ASCII in NIBs they deserve all they get. >Yup, flat files are cool -- they save vm, help apps load quickly, separate >unrelated glob of stuff from each other but also introduce problems that >may be worse than the problems they initially intended to solve. The >decision of what's worse depends on the situation I s'pose. They harmlessly contain the most superficial level to an app. Making nice things like IB possible. Someone tell me how bastardizing our friend the NIB is so important. It's mean spirited. No it's worse than mean spirited, it's fascist. There is a danger in this twit-like behavior, it is called BACKLASH. And just when I was getting over my ATC bitterness. I feel better.
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Hiding Nib Files Message-ID: <1993Oct26.070054.11474@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <29vrub$mg7@rosie.next.com> <CF8J6s.9GK@relief.com> <2ai3ia$58s@ursula.ee.pdx.edu> Date: Tue, 26 Oct 1993 07:00:54 GMT In article <2ai3ia$58s@ursula.ee.pdx.edu> marcus@ursula.ee.pdx.edu (Marcus Daniels) writes: >We would hope someone would do something to short circuit this >paranoia. What paranoia? Get a clue: the purpose of compiling source code is merely to convert it into a form that can be executed more efficiently on a given processor. It's not to disguise its intent, function, or operation. Any "security through obscurity" enjoyed on Black Hardware was lost when NeXT decided to support the i486. Software to convert Intel binaries to understandable, editable "C" source code has been commercially available for several years, and some products are quite inexpensive. "You don't need me anymore." :-( -=EPS=-
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: cedman@princeton.edu (Carl Edman) Subject: Emacs 19 under NS natively (was: Get events without [NXApp run]?) In-Reply-To: sowa@amdew.llnl.gov's message of 25 Oct 1993 18:38:54 GMT To: sowa@amdew.llnl.gov (Erik C. Sowa) Message-ID: <CEDMAN.93Oct25154204@capitalist.princeton.edu> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University References: <1993Oct24.225053.125583@embl-heidelberg.de> <CEDMAN.93Oct24214909@capitalist.princeton.edu> <SOWA.93Oct25113854@amdew.llnl.gov> Date: Mon, 25 Oct 1993 19:42:04 GMT In article <SOWA.93Oct25113854@amdew.llnl.gov> sowa@amdew.llnl.gov (Erik C. Sowa) writes: >>>>> "Carl" == Carl Edman <cedman@princeton.edu> writes: Carl> we ported Emacs 19.19 to run under NS natively. Do tell. Not much to tell. Michael Brouwer and I ported emacs 19.19 to run under NS just as it does under X. It works. Multiple windows/multiple fonts/mouse support aso. are all there. Even most X based modes like hilit19.el and others work without modification. You can even compile a single binary which brings up a NS emacs when double-clicked in the workspace, an X emacs when started from an xterm and just the standard curses based emacs otherwise. I've been using it for months as my primary editor without crashes or other problems. I'm even posting this from a GNUS running in its own emacs window. The reason it is not on the archives yet is that the Free Software Foundation and Richard Stallman consider our NeXT port a nuisance at best and have refused to accept our code. (No, it is very modular, doesn't break any existing X code and is smaller in total size than e.g. the VMS support code). Neither Michael nor I have the time to create new NS patches in parallel to the patch of the week for emacs. If emacs for NS ever becomes publicly available we'll be sure to make a post to comp.sys.next.announce. Sorry, Carl Edman
Newsgroups: misc.jobs.offered,ba.jobs.misc,comp.sys.next.programmer,su.jobs,ucb.jobs From: peter@squaw.pdh.com (Peter Murray) Subject: *** JOB: NeXTStep Software Designer *** Message-ID: <CFDFwF.t8@pdh.com> Keywords: nextstep Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. Date: Sat, 23 Oct 1993 22:31:27 GMT Position: Software Design Engineer Start: November 1993 Location: San Jose, California Qualifications: Required: *** US CITIZENSHIP **** BS in Computer Science or related field, with at 2 years experience with the NeXT development environment. Experience in the following: - Independent design and development - Database design and development (Sybase/Oracle) - GUI design and development - Object Oriented Methodology, OOD and OOP - UNIX and shell scripts - NeXTStep and Interface Builder - Objective-C, C++ Willingness to travel within USA Desired: MS in computer related field Familiarity with product Integration and Test (I&T) Familiarity with DBKit, Sybase, Oracle Client-Server architectures Management of small development projects Duties: Software design engineers participate in all stages of the product life-cycle: proposal, design, implementation, testing, and documentation. Environment: PDH, Inc. is a small software development company specializing in systems solutions using NeXT computers. You will work on internal as well as contract work for customers. Current contracts involve systems engineering for a large workstation networked architecture, a document management system, and two programs to access relational data bases for tracking information. This is an excellent opportunity to be part of a rapid growth company. You will be able to work closely with customers as well as with the team. PDH provides excellent vacation, health, 401K and disability benefits. Also an entrepreneurial work environment with a lot of fun in a casual work atmosphere. PDH, Inc. is an equal opportunity employer. Please Contact: Personnel Department Vox: (408) 428-9596 Fax: (408) 428-9599 E-mail: personnel@pdh.com (NeXT Mail welcome)
From: reuven@athena.mit.edu (Reuven Lerner) Newsgroups: comp.sys.next.programmer,comp.sys.next.software Subject: Re: Emacs 19 under NS natively (was: Get events without [NXApp run]?) Date: 26 Oct 1993 14:17:32 GMT Organization: Massachusetts Institute of Technology Message-ID: <REUVEN.93Oct26101733@alexander-hamilton.mit.edu> References: <1993Oct24.225053.125583@embl-heidelberg.de> <CEDMAN.93Oct24214909@capitalist.princeton.edu> <SOWA.93Oct25113854@amdew.llnl.gov> <CEDMAN.93Oct25154204@capitalist.princeton.edu> In-reply-to: cedman@princeton.edu's message of Mon, 25 Oct 1993 19:42:04 GMT >>>>> On Mon, 25 Oct 1993 19:42:04 GMT, cedman@princeton.edu (Carl >>>>> Edman) said: Carl> Michael Brouwer and I ported emacs 19.19 to run under NS just Carl> as it does under X. It works. Carl> Neither Michael nor I have the time to create new NS patches Carl> in parallel to the patch of the week for emacs. I wouldn't presume to speak for everyone, but I certainly wouldn't mind using an "outdated" version of Emacs 19. So what if it's not the absolute latest version? Reuven
Newsgroups: comp.sys.next.programmer From: scott@cs.ust.hk (Scott Deerwester) Subject: How do I make a fifo? Message-ID: <1993Oct26.092438.4290@uxmail.ust.hk> Sender: usenet@uxmail.ust.hk (usenet account) Organization: Hong Kong University of Science and Technology Date: Tue, 26 Oct 1993 09:24:38 GMT I'm stumped. I can't figure out how to make a named pipe on the NeXT. I *can* make a named pipe by rlogin to a SUN and then /usr/etc/mknod file p on a filesystem that both the NeXT and the SUN mount. And the NeXT deals with the fifo just fine. It's just that mknod doesn't grok the p option. Help! _________________________________________________________________ Scott Deerwester | The Hong Kong University of Internet: scott@cs.ust.hk | Science and Technology Phone: (852) 358-6985 | Department of Computer Science -----------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: laurent@planon.qc.ca (Laurent Daudelin) Subject: Re: Resizing a view Message-ID: <1993Oct26.153013.3230@CAM.ORG!planon> Sender: laurent@CAM.ORG!planon References: <2ahe34$2jf@zip.eecs.umich.edu> Date: Tue, 26 Oct 1993 15:30:13 GMT In article <2ahe34$2jf@zip.eecs.umich.edu> hyongsop@saturn.eecs.umich.edu (Hyong S. Shim) writes: | Hi, | | I have a custom view whose size should always be kept as that of the | content view of which it is a subview. Does anyone know how to do this in | a program, not using IB? | | --hyong | (hyongsop@saturn.eecs.umich.edu) Hyong: 1. You have to add the subview to the content view with something like: [contentView addSubview:aSubview]; 2. You must tell the content view to automatically resize its subviews with: [contentView setAutoresizeSubviews:YES]; 3. You determine the way you wish your subview to be resized with something like: [aSubview setAutosizing:NX_WIDTHSIZABLE | NX_HEIGHTSIZABLE]; (see the "setAutosizing" view method to get the signification of the flags you can specify to the method). 4. If you want your subview to handle the resizing, subclass the method sizeTo::. Hope this helps! L. -- ****************************************************************************** Laurent Daudelin, Software Engineer Planon TELEXPERTISE Inc., Boucherville, Quebec, CANADA laurent@planon.qc.ca <-- NeXTMail welcome! (Mac Mail welcome too!)
Newsgroups: comp.sys.next.sysadmin,comp.sys.next.hardware,comp.sys.next.programmer From: wissner@beech.mcs.gvsu.edu () Subject: Can I turn on/off the sound from the command-line? Message-ID: <1993Oct26.174404.6180@beech.csis.gvsu.edu> Sender: news@beech.csis.gvsu.edu Organization: Grand Valley State University, Allendale MI Date: Tue, 26 Oct 1993 17:44:04 GMT Hello: (Forgive me is this is irrelavant to this group; I wasn't sure which to post to) We have a NeXTStation running as a server for a time-card punching control system. In addition to reading from the magnetic card reader and displaying to a terminal the user's "punch status" (which it is currently doing fine), it should be sounding a signal for the workers at punch-in and punch-out times. We currently have an old XT with our PA system wired to the speaker and a simple program to make the sounds. Obviously, we would like to eliminate the need for this machine, but haven't figured out how yet. The problem with using the NeXT (which, even though it is a server, get's fairly frequently) is that in addition to the scheduled "beeps", all the other sounds come through the system. We tried having the users set their defaults to "mute" out sounds, but then the desired punch beeps don't go through either. I thought I had a solution by making a little script to go through at the right time and "dwrite" the sound "on", make the sound, and then "dwrite" the sound back off again. But it doesn't work. Of course, this is dependant on who is logged in (which in itself could be worked around) - but even with the correct scripting it didn't work. dread shows that the sound is turned on, but still no sound. So, the question is: is there any way to achieve our desired effect, or are we just plain out of luck? It seems ridiculous to me to have to run another machine to do this. Any help would be greatly appreciated. - Jim wissner@beech.csis.gvsu.edu
Newsgroups: comp.sys.next.bugs,comp.sys.next.programmer From: ereidell@media.mit.edu (Evan A. Reidell) Subject: QUESTION: /private/vm/swapfile.front Message-ID: <1993Oct26.182537.20448@news.media.mit.edu> Sender: news@news.media.mit.edu (USENET News System) Organization: MIT Media Laboratory Distribution: usa Date: Tue, 26 Oct 1993 18:25:37 GMT Can anyone tell me anything interesting about this file? Like why it's 22Megs and growing each day, and I can't delete it even when I'm root?
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: speters@samsun.us.oracle.com (Stephen Peters) Subject: Re: Emacs 19 under NS natively (was: Get events without [NXApp run]?) In-Reply-To: reuven@athena.mit.edu's message of 26 Oct 1993 14:17:32 GMT Message-ID: <SPETERS.93Oct26105228@samsun.us.oracle.com> Sender: usenet@oracle.us.oracle.com (Oracle News Poster) Organization: Oracle Corporation., Redwood City, CA, USA References: <1993Oct24.225053.125583@embl-heidelberg.de> <CEDMAN.93Oct24214909@capitalist.princeton.edu> <SOWA.93Oct25113854@amdew.llnl.gov> <CEDMAN.93Oct25154204@capitalist.princeton.edu> <REUVEN.93Oct26101733@alexander-hamilton.mit.edu> Date: Tue, 26 Oct 1993 17:52:27 GMT at Oracle Corporation. The opinions expressed are those of the user and not necessarily those of Oracle. In article <REUVEN.93Oct26101733@alexander-hamilton.mit.edu> reuven@athena.mit.edu (Reuven Lerner) writes: > >>>>> On Mon, 25 Oct 1993 19:42:04 GMT, cedman@princeton.edu (Carl > >>>>> Edman) said: > Carl> Michael Brouwer and I ported emacs 19.19 to run under NS just > Carl> as it does under X. It works. > Carl> Neither Michael nor I have the time to create new NS patches > Carl> in parallel to the patch of the week for emacs. > I wouldn't presume to speak for everyone, but I certainly wouldn't > mind using an "outdated" version of Emacs 19. So what if it's not the > absolute latest version? Same here. 19.19 is quite stable, frankly -- I don't see any pressing needs to worry about future revisions just yet. Make source available (since that's the GNU way :-), and add a note saying that you will not be able to actively support it in parallel to the standard moving-target GNU releases. Who knows? Get enough people using the NS Emacs version and there's no telling what can happen -- maybe someone else can pick up the support of it. Stephen Peters
From: schultrj@NeXTwork.Rose-Hulman.Edu Newsgroups: comp.sys.next.programmer Subject: Re: Can I turn on/off the sound from the command-line? Date: 26 Oct 1993 19:25:17 GMT Organization: Rose-Hulman Institute of Technology Message-ID: <2ajtit$41i@master.cs.rose-hulman.edu> References: <1993Oct26.174404.6180@beech.csis.gvsu.edu> The only thing I ever came up with for this was the short program like this: #import <soundkit/soundkit.h> #import <appkit/publicWraps.h> void main() { [Sound setMute:YES]; [Sound setVolume:0.94 :0.94]; } Then compile (with the right libraries...) and put the file where you want it. You can make another program with setMute:NO and call it something else. Anybody have a better way? ------------------------------------------- Rick Schultz "Omnia ioctl est."
Newsgroups: comp.lang.objective-c,comp.sys.next.programmer From: mccallum@cs.rochester.edu (R. Andrew McCallum) Subject: NEW RELEASE: GNU Objective-C Collection Library Message-ID: <1993Oct26.212847.17959@cs.rochester.edu> Sender: news@cs.rochester.edu (Usenet news) Organization: University of Rochester Computer Science Dept Date: Tue, 26 Oct 1993 21:28:47 GMT I have just released a new version of the GNU Objective-C Collection Library. Here's the README: ------------------------------------------------------------------ Alpha Release of the Collection Library for GNU Objective-C WARNING: This library is still in alpha release, and has not been thoroughly tested. I am making it public now in order to get feedback on design issues. A further warning: The API may still change before the first official release---if you write code based on this library you may later have to update your code to match. ------------------------------------------------------------------ * Where can you get it? How can you compile it? By anonymous ftp at cs.rochester.edu:pub/libcoll/libcoll-yymmdd.tar.gz where yymmdd is some string of numbers specifying its date. The library requires gcc 2.5.0 or higher. See the INSTALL file for more instructions. ------------------------------------------------------------------ * What is the Collection library? It's a library of Objective-C objects with similar functionality to Smalltalk's Collection objects. It includes: Set, Bag, Array, CircularArray, GapArray, Queue, Stack, Heap, LinkedList, BinaryTree, SplayTree, RBTree, Dictionary, MappedCollector, EltNodeCollector and DelegateList. Outside of its main heirarchy it also includes List, HashTable and Storage objects compatible with NeXT's objects of the same name. This release also includes a very preliminary version of a String object. I threw it together mostly as a thought-experiment to make sure that my changes to the IndexedCollection abstract superclass would fit well with a String class. Many methods are left unimplemented; it is not useable. As an extra plus, the .tar file includes classes Magnitude and Time. Eventually the .h files for these will be moved outside of the "coll" directory. Here is the object inheritance heirarchy. All protocols end with "ing"; all collection protocols end with "Collecting". All collection abtract superclasses (classes which are not usable without subclassing) end with "Collection"; Collection <Collecting> Set Bag KeyedCollection <KeyedCollecting> Dictionary MappedCollector IndexedCollection <IndexedCollecting> Array Stack GapArray CircularArray Queue Heap LinkedList BinaryTree RBTree EltNodeCollector String DelegateList LinkedListNode LinkedListEltNode BinaryTreeNode BinaryTreeEltNode RBTreeNode RBTreeEltNode HashTable List Storage ------------------------------------------------------------------ * What's new in this release? - Installation using ./configure and autoconf - New BinaryTree and RBTree(unfinished) classes. Rewritten LinkedList class. - A new scheme for holding non-object elements in classes that require object contents; EltNodeCollector class. - Archiving with -write: and -read: methods. This involved removing the ability to set the comparison function independent of content type. - Removed COLL_NO_ELEMENT and friends. Now there are no arbitrary restrictions on which long int's can be stored. Like in Smalltalk, ...ifAbsentCall: methods have been added to replace this functionalty. - Added a LABMDA() macro for defining small functions in the arg position. - Removed many ...perform: methods. Use instead the more flexible ...call: methods with LABMDA(). - Renamed ...Description: methods to ...Encoding: for better use of already-defined objc keyword: @encode(). - New in the Collecting protocol: + Filtered enumerating instead of filtered shallowCopy'ing. + Enumerations still safe when modifying the contents. - The beginnings of documentation in libcoll.texi. - Many bug fixes. ..and more. See also the ChangeLog for notes about the differences between this release and the last. ------------------------------------------------------------------ * How can you help? - Read the questions in TODO. If you have any useful comments mail them to me! - Give me feedback! Tell me what you like, tell me what you think could be better. Send me bug reports. - Donate classes. If you write classes that fit in the libcoll framework, I'd be happy to include them. ------------------------------------------------------------------ R. Andrew McCallum ARPA: mccallum@cs.rochester.edu Computer Science Department UUCP: uunet!cs.rochester.edu!mccallum University of Rochester VOX: (716) 275-2527 Rochester, NY 14627-0226 FEET: CSB Rm. 625
Newsgroups: comp.databases.oracle,comp.sys.next.programmer From: cafe@cbnewse.cb.att.com (richard.dib) Subject: NeXTSTEP DBModeler and Oracle Organization: AT&T Distribution: usa Date: Tue, 26 Oct 1993 21:50:00 GMT Message-ID: <CFIxzo.D85@cbnewse.cb.att.com> Followup-To: poster Hi There: I have a NeXT Cube connected to a network of SUN SPARCstations. On the SPARCstation server we are running Oracle 6.0. I have been unsucessful to make DBModeler (NeXTSTEP) work with the Oracle 6.0 server that sits on one of the SUNs in the network. Here are my questions: 1. When I start the DBModeler, I am asked about the Server ID, Host Machine, Login and password. What is the Server ID? Is it the IP address? How about the Login and Passwd? Are those Unix related or SLQPLUS related? 2. Do I need any extra or special software on the SUN or NeXT to make this work? Thanks in advance, Richard Dib AT&T BL dib@psp.att.com
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: Re: Hiding Nib Files Message-ID: <CFJ6y9.9LM@news2.cis.umn.edu> Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Hospital and Clinic, Labratory Information Services References: <29vrub$mg7@rosie.next.com> <CF8J6s.9GK@relief.com> <2ai3ia$58s@ursula.ee.pdx.edu> <CFHqt8.Eop@news.cis.umn.edu> <2aihic$93l@ursula.ee.pdx.edu> Date: Wed, 27 Oct 1993 01:00:03 GMT Marcus Daniels (marcus@ursula.ee.pdx.edu) wrote: : They harmlessly contain the most superficial level to an app. Making : nice things like IB possible. You're right. IB wasn't possible in 2.0. : Someone tell me how bastardizing our friend the NIB is so important. : It's mean spirited. No it's worse than mean spirited, it's fascist. : There is a danger in this twit-like behavior, it is called BACKLASH. Imagine, a facist in a hospital. : And just when I was getting over my ATC bitterness. I feel better. peter (your source for twit-like behavior...) -- Always looking for a handy place to nap... peter@tahiti.umhc.umn.edu (Peter Eisch) peter.a.eisch@uwrf.edu
From: Charles William Swiger <infidel+@CMU.EDU> Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs Subject: Re: QUESTION: /private/vm/swapfile.front Date: Tue, 26 Oct 1993 21:21:12 -0400 Organization: Fifth yr. senior, Chemistry, Carnegie Mellon, Pittsburgh, PA Distribution: usa Message-ID: <cgnQo8S00WB2QFeWoa@andrew.cmu.edu> In-Reply-To: <1993Oct26.182537.20448@news.media.mit.edu> Excerpts from netnews.comp.sys.next.bugs: 26-Oct-93 QUESTION: /private/vm/swapf.. by Evan A. Reidell: > Can anyone tell me anything interesting about this file? > Like why it's 22Megs and growing each day, > and I can't delete it even when I'm root? You are very, very lucky that you didn't crash your machine in a truely grotesque fashion. A suggestion: it might be prudent to be a little more careful in the future about what you do as root, or you will end up with your machine not working and you being very unhappy... ;-) To answer your questions: The /private/vm subdirectory is where the virtual memory system stores pages of memory which have been swapped or paged out. If this file were deleted, your machine would have absolutely no way to recover, and it would promptly die at the next physical VM access. Anything you were doing at that point loses irrevocably. Your specific setup, which has the swapfile.front as a special mountpoint, uses the compressed swapping feature. (BTW, this was why you couldn't delete swapfile.front.) The file grows with time as a function of the VM activities on your system. It is an operating system misfeature (not a bug, per se) that the swapfile does not shrink. However, you can reboot your machine to reset the size of the swapfile down to the default of 16Mb. -Chuck Charles William Swiger -- CMU...*crunch*! | 1. You can't fly. ------------------------------------------+ 2. Cars are always real, even AMS & normal mail: infidel@cmu.edu | when they're not. Failing that: cs4w+@andrew.cmu.edu | 3. Police are not your friends. NeXTmail: chuck@mon.slip.andrew.cmu.edu | 4. Fire burns.
Newsgroups: comp.sys.next.programmer From: villy@hatch.socal.com (Will Hartung) Subject: Basic Sound Pointers Message-ID: <CFJ16F.KKK@hatch.socal.com> Organization: Hatch Usenet and E-mail. Playa del Rey, CA Date: Tue, 26 Oct 1993 22:59:02 GMT The recent little micro-thread about playing several sounds simultaneously made me dig out the Sound documentation and browse through it. My basic question is about the data. The standard encoding method is 8_BIT_MULAW (I think). There is also 8 bit linear and others. How does one manipulate this data? What IS this data? Is there a text or something somewhere that can tell me the basics of what can be done with this data? Decriptions of what MULAW is? How about mixing two sounds together -- just add them up? Anyway, I'm just looking for some basic concepts regarding what the data in a sound file is and what can be done to it. Any hints would be appreciated. Thanx, Will
Newsgroups: comp.sys.next.programmer From: david@zion.com(David J. Ferrero) Subject: zmodem in FAT version ? Message-ID: <1993Oct26.124626.1980@zion.com> Sender: david@zion.com Organization: Zion Software & Consulting Date: Tue, 26 Oct 1993 12:46:26 GMT Has anyone compiled zmodem source in a FAT version? Since 3.1 I haven't been able to compile in NeXT version, never mind FAT. Any insights into compiling under 3.1 and especially FAT would be most appreciated. David Ferrero david@zion.com
Newsgroups: comp.sys.next.programmer From: Stuart Staniford-Chen (stuarts@landau.ucdavis.edu) Subject: Mixing C++ and objective C Message-ID: <CFJAJK.G8D@ucdavis.edu> Originator: stuarts@landau.ucdavis.edu Sender: usenet@ucdavis.edu (News Administrator) Organization: Physics, UC Davis Distribution: usa Date: Wed, 27 Oct 1993 02:21:19 GMT I have the following problem: I've written a bunch of C++ code on an SGI. Actually it's a polygon rendering system for a computer graphics class. The SGI graphics calls are well localized, and all the rest of the C++ compiles and works on my Next. I now want to hack together a viewer to look at all my rendered polygons on the NeXT. But to avoid duplicating a lot of work this means I have to mix the C++ and obj-C pretty freely. Can I do this? Questions that occur to me are very basic - should the file be .m or .C? Can I say [myView doSomthin]; in one breath and polygon.apply_matrix(M); in the next. Can I send objective-C messages from within C++ class member functions? (So I can define a NeXTy version of polygon.draw_in_view(id theView)); Any help - particularly example programs (the simpler the better) - would be greatly appreciated. I'm running 3.0 if that makes any difference. Stuart. stuarts@landau.ucdavis.edu
Newsgroups: comp.sys.next.programmer From: ggerard@Alex.Engr.Trinity.Edu (Greg Gerard) Subject: how do I read .texi files? Message-ID: <1993Oct27.032444.5145@ringer.cs.utsa.edu> Sender: news@ringer.cs.utsa.edu Organization: Trinity University, San Antonio TX. USA Date: Wed, 27 Oct 1993 03:24:44 GMT I would like to read the GCC documentation in .texi format with the NeXT supplied stuff. How? thanks, greg
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: Hiding Nib Files Date: 27 Oct 1993 00:10:49 -0400 Organization: Digital Fix Development Distribution: world Message-ID: <2aksc9$eq@digifix.digifix.com> References: <1993Oct26.070054.11474@csus.edu> Eric P. Scott writes > Software to convert > Intel binaries to understandable, editable "C" source code has > been commercially available for several years, and some products > are quite inexpensive. "You don't need me anymore." :-( > > -=EPS=- No! Us poor M68K orphans do! -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: Creating Installer Packages Message-ID: <1993Oct27.085258.201@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <2976ul$9ib@news.delphi.com> Date: Wed, 27 Oct 93 08:52:58 GMT In article <2976ul$9ib@news.delphi.com> nxtres@news.delphi.com (NXTRES@DELPHI.COM) writes: > I could not find any documentation (online or printed) that deals with > creating a package that your customers can use Installer.app to install on > their systems. Any clues on how to do this? > > Thanks for your help. > > On the Big Green CD you can find a Program called PackageBuilder.app. I did'n try it yet but it has a UI and looks simple enough for everyone. Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: DBKit master-detail question Message-ID: <1993Oct27.091408.273@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <2a9tuh$sup@cville-srv.wam.umd.edu> Date: Wed, 27 Oct 93 09:14:08 GMT In article <2a9tuh$sup@cville-srv.wam.umd.edu> sra@wam.umd.edu (Rich Andrews) writes: > > > According the to a code fragment in "DBKit Chap 9:Advanced Record List Techs.", > it is possible to implement a master-detail entity relationship using the > " - propertyValue" method. It does not appear to exist anywhere in DBKit! > > > id toEmp = [deptEntity propertyNamed:"toEmployee"]; > ... [[toEmp propertyValue] propertyNamed:"empName"]; > > objc: DBRelationship: does not recognize selector -propertyValue > > It would be nice to load the properties into a List to hand off to a > record list that would have the detail information of empEntity. > > What the heck did I miss? > > Richard Andrews > > This is the original line of the documentation (and it is just wrong): /* Get the desired attribute from the relationship's destination entity. */ id authorName = [[toAuthorRel propertyValue] propertyNamed:"name"]; You should use: id authorName = [[toAuthorRel propertyType] propertyNamed:"name"]; Because the propertyType of a Relationship is the Entity of the destination!!! See the documentation for DBEntities: The DBEntities protocol incorporates the DBTypes protocol. It does this for one reason: the type of Objective C data described by a property that represents a relationship is a DBEntities object. Thus, if the isEntity message returns YES when sent to the value returned by sending propertyType to a property, then that property is a relationship. This is demonstrated in the following example: /* Get the properties from an entity. Check for relationships. */ int counter; List *propList = [[List alloc] init]; id prop; [anEntity getProperties:propList]; for (counter = 0; counter < [aList count]; counter++) { prop=[aList objectAt:counter]; if ([[prop propertyType] isEntity]) printf("Property named %s is a relationship.\n", [prop name]); } Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not
From: blanford@spf.trw.com (Ronald P. Blanford) Newsgroups: comp.sys.next.programmer Subject: Re: NeXTSTEP DBModeler and Oracle Date: 27 Oct 1993 09:10:57 GMT Organization: TRW Systems Development Division Distribution: usa Message-ID: <2aldv1$819@deneva.sdd.trw.com> References: <CFIxzo.D85@cbnewse.cb.att.com> richard.dib writes > Hi There: > > I have a NeXT Cube connected to a network of SUN > SPARCstations. On the SPARCstation server we are > running Oracle 6.0. > > I have been unsucessful to make DBModeler (NeXTSTEP) > work with the Oracle 6.0 server that sits on one of > the SUNs in the network. > > Here are my questions: > > 1. When I start the DBModeler, I am asked about the > Server ID, Host Machine, Login and password. What is > the Server ID? Is it the IP address? How about the > Login and Passwd? Are those Unix related or SLQPLUS > related? The Server ID is the database name. Look in your Sun account for an environment variable called ORACLE_SID and use its value. The Host Machine is just the server's hostname. The Login and Password are your Oracle (SQLPlus) account name. > 2. Do I need any extra or special software on the SUN > or NeXT to make this work? You will need to add the orasrv service to NetInfo. next> niload services / orasrv 1525/tcp ^D next> I assume that since you are already running networked Oracle on your Suns the server's orasrv process is running. If not you will have to start it. The Oracle Adaptor for DBKit implements the orasrv protocol for the client, so no external process is required there. -- Ron blanford@spf.trw.com
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: How to display a View behind other objects? Message-ID: <1993Oct27.093559.339@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <1993Oct22.194312.8108@pacific.mps.ohio-state.edu> Date: Wed, 27 Oct 93 09:35:59 GMT In article <1993Oct22.194312.8108@pacific.mps.ohio-state.edu> gil@atlantic.mps.ohio-state.edu (Gil Rivlis) writes: > I want to display a view (and draw in it as well) inside a > window such that it will fill the whole frame, and that the > other objects, like Buttons or TextFields, will always be > in front. In IB I set it to be in the back, and, indeed, > when I start the application, all the other objects are in > front. However, when I start to draw, it displays on top of > everything. > > Any ideas? > > Please email and I'll summarize. > > Thanks, Gil > -- > Gil Rivlis > gil@atlantic.mps.ohio-state.edu > > Make your Buttons and TextFields subviews of your PaintView. Then the PaintView will redraw all it's subviews after beeing drawn by itself. Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not
Newsgroups: comp.sys.next.programmer From: bisselt@gb.swissbank.com (bisselt) Subject: Re: Emacs 19 under NS natively (was: Get events without [NXApp run]?) Date: Wed, 27 Oct 1993 10:23:33 +0000 Message-ID: <1280.199310271022@gpo.gb.swissbank.com> Sender: usenet@demon.co.uk > The reason it is not on the archives yet is that the Free Software > Foundation and Richard Stallman consider our NeXT port a nuisance at > best and have refused to accept our code. ... > Neither Michael nor I have the time to > create new NS patches in parallel to the patch of the week for emacs. ... > Carl Edman Why not offer the sources to NeXT? They aren't afraid to release out-of-date variants of FSF code ;-) tim -- Work: bisselt@gb.swissbank.com | +44 71 711 2984 Home: tim@ursidae.demon.co.uk | +44 480 451 022
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Basic Sound Pointers Message-ID: <1993Oct27.112807.5564@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <CFJ16F.KKK@hatch.socal.com> Date: Wed, 27 Oct 1993 11:28:07 GMT In article <CFJ16F.KKK@hatch.socal.com> writes: >The standard encoding method is 8_BIT_MULAW (I think). There is also 8 >bit linear and others. That's the most common standard for speech in North America. >How does one manipulate this data? What IS this data? It's a logarithmic companding that provides fidelity roughly equivalent to 13-bit linear. > Is there a text >or something somewhere that can tell me the basics of what can be done >with this data? Decriptions of what MULAW is? Try this: AUTHOR : Pohlmann, Ken C. TITLE : Principles of digital audio / Ken C. Pohlmann SERIES : Audio library; FORMAT : Book & monographs EDITION : 2nd ed. PUBLISHER : Indianapolis, Ind., USA : H.W. Sams, PUB. DATE : 1989. DESCRIPTION : xviii, 474 p. : ill. ; 25 cm. NOTES : Includes index. BIBLIOGRAPHY : Bibliography: p. 453-465. SUBJECT : Sound -- Recording and reproducing -- Digital techniques [from InvestiGator, SFSU's Online Catalog] Some of the material is a bit dated (particularly in regard to CD-ROM formats), but it's a pretty good book for beginners. >How about mixing two sounds together -- just add them up? Yes for linear types. For mu law, you need to convert, e.g. sum=SNDMulaw(SNDiMulaw(s1)+SNDiMulaw(s2)) >Anyway, I'm just looking for some basic concepts regarding what the >data in a sound file is and what can be done to it. Any hints would be >appreciated. You can do all kinds of things with sound data. You can play it forwards and backwards. Slice it to bits and reassemble it. Echo, reverb, flange, resample, pitch shift, harmonize, filter, etc. * * * Here's a little "test program" that creates a dual tone by summing two sine waves: #include <stdio.h> #include <math.h> #import <sound/sound.h> main() { register int i; double v; static SNDSoundStruct ss; ss.magic=SND_MAGIC; ss.dataLocation=sizeof ss; ss.dataSize=(int)(SND_RATE_CODEC*22); ss.dataFormat=SND_FORMAT_MULAW_8; ss.samplingRate=(int)SND_RATE_CODEC; ss.channelCount=1; (void)fwrite((void *)&ss, sizeof ss, 1, stdout); for (i=0;i<ss.dataSize;i++) { double a; a=((double)i)*(M_PI*2); v=7998.0*(sin((a*853.0)/SND_RATE_CODEC)+ sin((a*960.0)/SND_RATE_CODEC)); putchar(SNDMulaw((short)v)); } exit(0); } Redirect its output to a file called test.snd Have fun :-) -=EPS=-
Newsgroups: comp.sys.next.programmer From: tlm@tantalus.scl.ameslab.gov (Tom Marchioro) Subject: Re: how do I read .texi files? Message-ID: <CFKAw8.KAr@news.iastate.edu> Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA References: <1993Oct27.032444.5145@ringer.cs.utsa.edu> Date: Wed, 27 Oct 1993 15:26:31 GMT Greg Gerard writes []I would like to read the GCC documentation in .texi format with the NeXT supplied stuff. [] []How? [] These files are in TeXinfo format, and the easiest way to read them is to run them through TeX. To do that you need the file texinfo.tex, which can be gotten from most FSF archives or TeX archives, or I can NeXTmail you a copy. Hope this helps --- Tom -- Dr. Thomas L. Marchioro II Two-wheeled theoretical physicist Center for Physical and Computational Mathematics 515-294-5543 Ames Laboratory 515-233-1216 (home) Ames, Iowa 50011 tlm@iastate.edu
From: jfosback@darkwing.uoregon.edu (Jason Fosback) Newsgroups: comp.sys.next.programmer Subject: Re: zmodem in FAT version ? Date: 27 Oct 1993 16:36:52 GMT Organization: University of Oregon Message-ID: <2am834$t3p@pith.uoregon.edu> References: <1993Oct26.124626.1980@zion.com> In article <1993Oct26.124626.1980@zion.com>, david@zion.com(David J. Ferrero) writes: > > Has anyone compiled zmodem source in a FAT version? > Since 3.1 I haven't been able to compile in NeXT version, never mind FAT. > > Any insights into compiling under 3.1 and especially FAT would be most > appreciated. > > > David Ferrero > david@zion.com I have submitted a FAT version of zmodem to cs.orst.edu. It's called NeXT.rzsz0525.FAT.compressed (I think). It's located in /pub/next/submissions. -jason ___________________________________________________________________ Jason Fosback, User Support Analyst | No sir, I didn't like it ---- University of Oregon ---- | -R&S Internet: jfosback@oregon.uoregon.edu | Star Trek: NeXT mail: jfosback@darkwing.uoregon.edu | The NeXT Generation...
From: dario@voluptas (Dario Ringach) Newsgroups: comp.sys.next.programmer Subject: Setting up a list of objects upon init Date: 27 Oct 1993 16:29:44 GMT Organization: New York University Distribution: world Message-ID: <2am7lo$lu6@cmcl2.NYU.EDU> I have a number of TextField objects in a window and I'd like to setup a list of these objects upon initialization, so I can later send a message to all of them... How can I do that? Thank you. -- Dario
From: gerti@tms-gmbh.de (Gerd Knops) Newsgroups: comp.sys.next.programmer Subject: mallocLibraries and -all_load Date: 27 Oct 1993 12:10:07 -0500 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9310271707.AA00987@Cranach.tms-gmbh.de> Hi! We are having a quite hard time trying to use MallocDebug with our Program. The problem: Our program is modular, so we are using runtime loading, with source code to the modules spreaded all over the country. For this reason i have to use the -all_load flag, so that all library functions get loaded into the initial program. In an attempt to debug some memory problem, i tried to link the MallocDebug Library to our code. That ends up in a lot of multiple defined symbols, so i added the -m flag to the linker flags. But this leads to the following message: ld: Can't open: -L/lib/m68k for -sectcreate -lcrt0.o -L/lib/m68k (No such file or directory, errno = 2) Here are my questions: 1. Is there any way to get the MallocDebug Library linked to our code and still using the -all_load flag? (Collecting all the .o-Files and forgetting about the -all_load is quite out of the question) 2. If there is (hopefully) a positive answer to 1, this might also enable us to use the Profile Libraries. But is there any way to do profiling on any runtime loaded code? Please answer to my E-Mail address, i will summarize. Thanks in advance!!! Gerd ########################################################## Gerd Knops tms GmbH, Regensburg E-Mail: gerti@tms-gmbh.de In a REAL bar for programmers you can order up to 31 coffees with one hand... ##########################################################
From: trung@cs.bu.edu (Trung Dung) Newsgroups: comp.sys.next.programmer,comp.sys.next.software,comp.soft-sys.nextstep Subject: Hayes ISDN extender on analog lines? Date: 27 Oct 1993 17:05:30 GMT Organization: Computer Science Department, Boston University, Boston, MA, USA Distribution: world Message-ID: <2am9oq$4vv@news.bu.edu> Originator: trung@cs Subject: Hayes ISDN extender on analog lines? I would like to program my NeXTstation to have similar capabilities as your average voice-mail system. I was under the impression that the Hayes ISDN extender has the analog phone line hardware that I need, but I'm not entirely sure. I was hoping someone who has one could answer some questions and put my mind at ease before I plunk down $280 (or whatever NeXTconnection is selling it for). 1) Does it have the *analog* phone line interfacing that I want? To be specific: o Ring detection o On/Off hook o Touch Tone decoding o Sound in/out 2) Am I going to be able to program this thing? When I called to order one, NeXTconnection warned me that the PhoneKit only works with the ISDN extended on ISDN lines, not analog lines. Is this true? If so, where can I get information on how to write a driver for it? Any help or information anyone can give me would be most appreciated. -Trung Dung trung@cs.bu.edu
Newsgroups: comp.sys.next.programmer,comp.lang.objective-c From: ploeger@aplki.toppoint.de (Andreas Ploeger) Subject: Using GNU's libcoll with NeXT? Message-ID: <1993Oct27.145134.1167@aplki.toppoint.de> Sender: ploeger@aplki.toppoint.de (Andreas Ploeger) Organization: Andreas Ploeger Date: Wed, 27 Oct 93 14:51:34 GMT Hi, I just FTP'd libcoll-930531.tar.z and tried to compile it under NeXTSTEP 3.1. It failed because the file <objc/objc-api.h> is missing. What to do? Thanks, Andreas -- -------------------------------------------------------------------- Andreas Ploeger E-Mail: ploeger@tpki.toppoint.de
Newsgroups: comp.sys.next.programmer From: jduteau@eagle.ewd.dreo.dnd.ca (Jean-Henri Duteau) Subject: Oops!! I need math.h Message-ID: <1993Oct27.172841.20448@valet.dreo.dnd.ca> Sender: news@valet.dreo.dnd.ca Organization: Defence Research Establishment Ottawa Date: Wed, 27 Oct 1993 17:28:41 GMT Hi, while streamlining my filesystem and browsing my etc files, I accidentally deleted the header file math.h. I didn't realize it until the other day when a program I wrote couldn't access it. Needless to say, I debugged the program for a while until I realized what a bonehead I had been. My question/cry for help is if anyone out there has a copy of math.h (I'm sure everyone has) that they could forward my way. Thanx... Jean Duteau jduteau@crow.ewd.dreo.dnd.ca P.S. Please e-mail me at the above address as I rarely follow this newsgroup and when I do, it isn't religiously.
Newsgroups: comp.sys.next.programmer,comp.sys.next.misc From: thf@zelator.in-berlin.de (Thomas Funke) Subject: ncurses1.8 on sonata corrupted Message-ID: <1993Oct26.175228.1432@gamelan> Sender: thomas@gamelan (thomas) Organization: Disorganization Date: Tue, 26 Oct 1993 17:52:28 GMT The recently submitted version of ncurses (ncurses.1.8.tar.gz) on sonata is corrupted. (as usual :-( ) It will be deleted soon. So get it from cs.orst.edu ! (about ncurses: see comp.sys.next.announce ) -- ------------------------------------------------------------------ Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de Brooks's Law: Adding manpower to a late software project makes it later ------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Re: Hiding Nib Files Message-ID: <1993Oct27.112927.24594@prim.demon.co.uk> Organization: Primitive Software Ltd. References: <CF8J6s.9GK@relief.com> <2ai3ia$58s@ursula.ee.pdx.edu> <1993Oct26.070054.11474@csus.edu> Date: Wed, 27 Oct 1993 11:29:27 GMT In article <1993Oct26.070054.11474@csus.edu> eps@cs.sfsu.edu writes: > >Get a clue: the purpose of compiling source code is merely to >convert it into a form that can be executed more efficiently >on a given processor. It's not to disguise its intent, function, >or operation. This is news to me. > >Any "security through obscurity" enjoyed on Black Hardware was >lost when NeXT decided to support the i486. Software to convert >Intel binaries to understandable, editable "C" source code has >been commercially available for several years, and some products >are quite inexpensive. "You don't need me anymore." :-( How readable is it? You seem at times to be reverse-engineering bits of the appkit. If so, do you have any plans to publish the results? Do copyright laws apply? Dave Griffiths
Newsgroups: comp.sys.next.programmer From: Florian.Gutzwiller@open.ch (Florian Gutzwiller) Subject: Hacking loginwindow.app? Message-ID: <CFKLyJ.I4x@eunet.ch> Sender: usenet@eunet.ch (News Administrator) Organization: EUnet Switzerland Date: Wed, 27 Oct 1993 19:25:30 GMT Can anybody comment whether it is possible to hack loginwindow.app to add third party authentication mechanisms such as Kerberos or SecurID. Thanks -Florian
From: smcgrew@theocean.uoregon.edu Newsgroups: comp.sys.next.programmer Subject: FAT gopher and stuart Date: 27 Oct 93 13:38:01 Organization: University of Oregon Distribution: fj Message-ID: <smcgrew.93Oct2713381@theocean> Mime-Version: 1.0 Content-Type: text/plain Help. I am looking for a FAT verson of Gopher or other WAN programs. I have been able to compile the Application of gopher however I am unable to locate the source code for the gopher binary. Does anyone have a working FAT version of the gopher binary or any other FAT compiled programs that access the internet for information. If so could you please tell me where to find them or NeXTmail them to me. This account is NeXTmail capable. Thank you - Steven McGrew BLAH~!
From: mstankus@oba.ucsd.edu (Mark Stankus) Newsgroups: comp.sys.next.programmer Subject: Re: Mixing C++ and objective C Message-ID: <55959@sdcc12.ucsd.edu> Date: 27 Oct 93 22:24:07 GMT References: <CFJAJK.G8D@ucdavis.edu> Sender: news@sdcc12.ucsd.edu Distribution: usa Organization: Mathematics @ UCSD In article <CFJAJK.G8D@ucdavis.edu> you write: >[munch] If you get some good responses could you send them to me? You could start a Ojbective-C process and a c++ process and have them communicate with each other through a pipe or something. See Garfinkel & Mah. book if you have it. Mark Stankus
From: eullman@saturn (Eric Ullman) Newsgroups: comp.sys.next.programmer Subject: DBTableView Example Date: 28 Oct 1993 00:23:35 GMT Organization: Rogers Communications Message-ID: <2an3e7$8k5@mail.Rogers.Com> Keywords: DBKit, DBTableView I would like to use the DBTableView object as a general data list without actually using the whole DBKit. That is, I want to be able to programmatically fill the DBTableView directly without using a database or database adaptor. I was told that an example of this is contained in the Indexing Kit example distributed by Next. However, an hour of careful reading of this code has left me a bit bewildered. Does anyone know of a simpler example and/or simpler example of how to use the DBTableView as a simple data viewer. Please respond to eullman@corpit.cantel.rogers.com.
Newsgroups: comp.sys.next.programmer From: ggerard@Alex.Engr.Trinity.Edu (Greg Gerard) Subject: .texi and TeX output: Thanks, but I've got another problem... Message-ID: <1993Oct28.011617.16760@ringer.cs.utsa.edu> Sender: news@ringer.cs.utsa.edu Organization: Trinity University, San Antonio TX. USA Date: Thu, 28 Oct 1993 01:16:17 GMT Thanks for the info about the .texi format. I followed the instructions that we're sent to me, and to be sure, got output. It looked like some freak of typography, highly reminiscent of Mac Plus days. What gives? I am not experienced with TeX, Metafont, or anything else of this nature. I am printing to a LaserWriterPro 630, 600 dpi and it looks like it came of an fax machine. thanks, greg
Newsgroups: comp.sys.next.programmer,comp.sys.next.software,gnu.misc.discuss From: ben@fizz.fdn.org (Benoit Grange) Subject: Re: Emacs 19 under NS natively (was: Get events without [NXApp run]?) In-Reply-To: speters@samsun.us.oracle.com's message of Tue, 26 Oct 1993 17:52:27 GMT Message-ID: <BEN.93Oct27225957@fizz.fdn.org> Sender: ben@fizz.fdn.org (Benoit Grange) Organization: Me References: <1993Oct24.225053.125583@embl-heidelberg.de> <CEDMAN.93Oct24214909@capitalist.princeton.edu> <SOWA.93Oct25113854@amdew.llnl.gov> <CEDMAN.93Oct25154204@capitalist.princeton.edu> <REUVEN.93Oct26101733@alexander-hamilton.mit.edu> <SPETERS.93Oct26105228@samsun.us.oracle.com> Date: Wed, 27 Oct 1993 21:59:57 GMT In article <CEDMAN.93Oct25154204@capitalist.princeton.edu> cedman@princeton.edu (Carl Edman) writes: The reason it is not on the archives yet is that the Free Software Foundation and Richard Stallman consider our NeXT port a nuisance at best and have refused to accept our code. I don't really understand why the FSF does not 'accept' it. Put this code into the "unsupported goodies". Or publish it elsewere. An APOLLO port also exists, and is maybe "not so useful", but it does exist. Who prevents you from releasing yours ??? *FREE* Software Fundation ?!?!?!? I use emacs 18.55 and emacs 19.12 at different sites, and I don't mind not having the latest version. If you port works for emacs 19.19, it is ok for me. Please DO post the sources. Benoit. -- Benoit Grange - PARIS - FRANCE ---- Mail to : ben@fizz.fdn.org (SMALL NeXTMails accepted)
Newsgroups: comp.sys.next.programmer From: tlm@tantalus.scl.ameslab.gov (Tom Marchioro) Subject: Re: .texi and TeX output: Thanks, but I've got another problem... Message-ID: <CFLM9H.8B7@news.iastate.edu> Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA References: <1993Oct28.011617.16760@ringer.cs.utsa.edu> Date: Thu, 28 Oct 1993 08:29:41 GMT Greg Gerard writes []Thanks for the info about the .texi format. I followed the instructions that we're []sent to me, and to be sure, got output. It looked like some freak of typography, []highly reminiscent of Mac Plus days. [] []What gives? I am not experienced with TeX, Metafont, or anything else of this []nature. I am printing to a LaserWriterPro 630, 600 dpi and it looks like it came []of an fax machine. [] Well.... that's because you're doing a fair approximation of having it run off a FAX machine when you take 400 dpi fonts and print them at 600 dpi :) The NeXT version of TeX comes with fonts, and font making instructions, for a variety of dpi, but 600 is not one of them. I can either give you instructions on how to make the 600 dpi fonts automatically, or else you can just print to a 400 or 300 dpi printer. Either way, your comment about "the MacPlus days" took me back a bit :) Hope this helps -- Tom -- Dr. Thomas L. Marchioro II Two-wheeled theoretical physicist Center for Physical and Computational Mathematics 515-294-5543 Ames Laboratory 515-233-1216 (home) Ames, Iowa 50011 tlm@iastate.edu
Newsgroups: comp.sys.next.programmer From: cedman@princeton.edu (Carl Edman) Subject: Re: how do I read .texi files? In-Reply-To: ggerard@Alex.Engr.Trinity.Edu's message of Wed, 27 Oct 1993 03:24:44 GMT To: ggerard@Alex.Engr.Trinity.Edu (Greg Gerard) Message-ID: <CEDMAN.93Oct27094316@capitalist.princeton.edu> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University References: <1993Oct27.032444.5145@ringer.cs.utsa.edu> Date: Wed, 27 Oct 1993 13:43:15 GMT In article <1993Oct27.032444.5145@ringer.cs.utsa.edu> ggerard@Alex.Engr.Trinity.Edu (Greg Gerard) writes: I would like to read the GCC documentation in .texi format with the NeXT supplied stuff. How? Either run makeinfo on the texinfo files, but makeinfo doesn't come with the system. Or M-x texinfo-format-buffer on the file from inside emacs. Then put the resulting info file in your emacses info file directory and you can browse them from the info mode. If you want a printed version of the manual, either use the texi2dvi script (which doesn't come with the system either, but is also available from the texinfo archive on prep.ai.mit.edu), or 1. run 'tex' on the file 2. run 'texindex' on the file 3. again run 'tex' on the file The resulting .dvi file can be printed either using dvips or via TeXview. Carl Edman
Newsgroups: comp.sys.next.programmer From: schaik@cnplss5.cnps.philips.nl (Willem van Schaik) Subject: eject of floppy from command-line Message-ID: <1993Oct28.091954.20569@cnplss5.cnps.philips.nl> Keywords: floppy eject Sender: news@cnplss5.cnps.philips.nl (USENET News System) Organization: Philips Communications & Processing Services, Eindhoven Date: Thu, 28 Oct 1993 09:19:54 GMT Hi, Who has a fragment of code that enables me to make an eject-command that can be issued from the command line. I want to be able to include it in scripts. Willem schaik@cnplss5.cnps.philips.nl
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Hiding Nib Files Message-ID: <1993Oct28.103240.18496@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <CF8J6s.9GK@relief.com> <2ai3ia$58s@ursula.ee.pdx.edu> <1993Oct26.070054.11474@csus.edu> <1993Oct27.112927.24594@prim.demon.co.uk> Date: Thu, 28 Oct 1993 10:32:40 GMT In article <1993Oct27.112927.24594@prim.demon.co.uk> dave@prim.demon.co.uk (Dave Griffiths) writes: > You seem at times to be reverse-engineering bits of >the appkit. If so, do you have any plans to publish the results? No. I don't see any reason to. > Do copyright >laws apply? Of course. -=EPS=- -- Technology simply *is*. It's neither good nor bad. What matters is how it's used--and for what purpose.
Newsgroups: comp.sys.next.programmer From: dcode@netcom.com (Paul Marcos) Subject: Re: Hacking loginwindow.app? Message-ID: <dcodeCFM4uw.16r@netcom.com> Organization: Netcom - Online Communication Services (408 241-9760 guest) References: <CFKLyJ.I4x@eunet.ch> Date: Thu, 28 Oct 1993 15:11:20 GMT In article <CFKLyJ.I4x@eunet.ch> Florian.Gutzwiller@open.ch (Florian Gutzwiller) writes: >Can anybody comment whether it is possible to hack loginwindow.app to add third >party authentication mechanisms such as Kerberos or SecurID. > Sure it's *possible*. How's your assembly language? :) All of the login authentication is inside of the loginwindow.app application so you'd have to go in and hack the assembly to use something else. Probably the easier approach would be to supply an alternate loginwindow app and then use that in the /etc/ttys file to run instead of loginwindow.app. I have no idea if this would work, but NeXT uses a class called LoginView in the loginwindow.app so I would suspect you could subclass it and just override the login: method to do whatever you want your authentication to be. Just a stab in the dark. Paul -- -------------------------------------------------------------------------- dCode | dcode@netcom.com | NeXT Mail Happily Accepted
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: eject of floppy from command-line Message-ID: <1993Oct28.143911.827@afs.com> Sender: Michael_Pizolato@afs.com References: <1993Oct28.091954.20569@cnplss5.cnps.philips.nl> Date: Thu, 28 Oct 1993 14:39:11 GMT Willem van Schaik writes >Who has a fragment of code that enables me to make an eject-command >that can be issued from the command line. I want to be able to >include it in scripts. I have the following command in my .cshrc: alias eject /bin/su - -c \"/etc/disk -e /dev/rfd0a\" Hope this helps. Thanx, Michael -- Michael_Pizolato@afs.com NeXTMail accepted
From: hugh@ear.mit.edu (Hugh Secker-Walker) Newsgroups: comp.sys.next.programmer Subject: Advanced DSP Pointers (60 lines) Date: 28 Oct 93 13:33:12 Organization: Massachusetts Institute of Technology Message-ID: <HUGH.93Oct28133312@ear.mit.edu> I am about to use the DSP on a NeXTstation to analyze some speech and sound signals using nonlinear cochlear models. I have been using a system written and interpreted in Scheme; I'm expecting about a 1000-fold speed-up by converting the core signal processing to DSP assembly language. I have Motorola's DSP User's Manual, and the Assembler Manual is online. Where I'm having trouble is putting all the pieces together on the NEXTSTEP side of things. I've been reading a documentation set (NS 1.0 I believe, but maybe 2.0, I can't tell) and I've been looking through some of the examples I've found on ccrma.stanford.edu. I have a few queries: 1) What is the best set of documentation (from NeXT or elsewhere) for using the snddriver kit. I expect the 2.0 docs are it, right? Or is there more advanced stuff at CCRMA (which incidentally is refusing anonymous FTP logins today) or elsewhere. Anyone have a complete set of NeXT's 2.0 or 2.1 developer docs they'd like to sell? 2) Also, some documentation I've found refers to the Release Notes for 2.x, saying they have lots of good stuff on the DSP. Are these available online? I believe I have a license to use them since my system came with 2.1 when I bought it. I upgraded before I contemplated any development work.... (NeXTmail ok!) 3) Which are the best archives with examples of the gory details involved in CODEC input and double-buffered DMA transfer output with the DSP. 4) Specifically, how does one set up streams so that the DSP grabs (is given?) samples directly from the CODEC, does some processing, and ships the results to the application via DMA. The application needs to receive a new buffer of DSP outputs every 50 - 100 milliseconds for real-time display of the results. I believe what I want to do is similar to the MonsterScope application when it's running in spectral-analysis mode with MIC input. Anyone got sources they'd let me look at that use the DSP for real-time processing of CODEC input with DMA back to the application. My documentation doesn't mention the DSP getting its input directly from the CODEC, but the Laroche examples from CCRMA state that it's possible. How's it done? Also, none of the examples I've seen so far discuss getting small chunks of data back to the application via DMA, they all set up a big transfer and wait for it to complete. I think most of my confusion stems from not understanding what the DSP had to do in order to interact correctly with the snddriver. In particular, does anyone have a description of what interupts etc the DSP must service, and what registers it must use to interface correctly with the snddriver? 5) Where do I get extra DSP RAM? Anyone want to sell me the appropriate 96 KB SIMM (24 k-words of 3 bytes each)? Hey, thanks in advance for any documentation, help, advice, pointers, code, RAM, etc you can make available to me. Email is fine, I'll gladly summarize. Hugh -- Hugh Secker-Walker | hugh@mit.edu Perceptual Acoustics | hugh@hodain.ci.net (NeXTmail ok)
From: altitude@css.itd.umich.edu (Alex Tang) Newsgroups: comp.sys.next.programmer Subject: libg++-2.4/NS 3.0 Date: 28 Oct 1993 17:20:50 GMT Organization: University of Michigan ITD/User Services Message-ID: <2aov1i$on9@terminator.rs.itd.umich.edu> Hi. I'm looking to find out if anyone has gotten libg++-2.4 to compile for NeXTStep 3.0? Unfortunately, it's different that 3.1 :( Thanx...alex... -- Alex Tang --- ALTITUDE@UMICH.EDU...USERW00Y@UMICHUM.BITNET -----------+ U of M, SNRE: Student and Computer Consultant II, PGP on req.| ITD/CSS Consultant, Short asian with long hair :)
From: david@jaffe.com Newsgroups: comp.sys.next.programmer Subject: Re: Advanced DSP Pointers (60 lines) Date: 28 Oct 1993 21:06:36 GMT Organization: University of California, Berkeley Message-ID: <2apc8s$ljs@agate.berkeley.edu> References: <HUGH.93Oct28133312@ear.mit.edu> Keywords: dsp You might want to get a copy of the Music Kit and DSP Tools Distribution. This includes Bug56, the debugger from Ariel, as well as programming examples for the DSP. It's available from ccrma-ftp.stanford.edu.
From: david@jaffe.com Newsgroups: comp.sys.next.programmer Subject: Re: Basic Sound Pointers Date: 28 Oct 1993 21:10:58 GMT Organization: University of California, Berkeley Message-ID: <2apch2$lln@agate.berkeley.edu> References: <CFJ16F.KKK@hatch.socal.com> > The standard encoding method is 8_BIT_MULAW (I think). There is also 8 > bit linear and others. > This is the format of the sound coming into the mike input. You can also get linear 16 bit samples via the DSP port. > How does one manipulate this data? What IS this data? Is there a text > or something somewhere that can tell me the basics of what can be done > with this data? Decriptions of what MULAW is? > If you want to do anything with it, you should convert it to linear format. There are NeXTstep functions to do this (I forget the names at the moment--search for Mulaw in the digital librarian) > How about mixing two sounds together -- just add them up? > Yup (once they're in linear format.) But be careful about overflow. You may want to scale them down first. If you get overflow, it will sound like horrible distortion. > Anyway, I'm just looking for some basic concepts regarding what the > data in a sound file is and what can be done to it. Any hints would be > appreciated. > The data in a linear format soundfile is just a big array of samples (and a header). If it's a stereo soundfile, the samples are interleaved. As for what to do with it, you might want to pick up a book on audio signal processing. There are lots of things you can do, but they require some understanding of basic concepts of digital audio.
Newsgroups: comp.sys.next.programmer From: dekorte@ibm19.scri.fsu.edu (Stephen L. DeKorte) Subject: getting events - Please Help! Sender: usenet@mailer.cc.fsu.edu Organization: Supercomputer Computations Research Institute Date: Thu, 28 Oct 1993 21:39:45 GMT Message-ID: <CFMMuA.5r5@mailer.cc.fsu.edu> Hi, I'm trying to port my own Appkit and Foundation library (written origonally for SGIs using GL) to NeXT, and need to be able to get mouse screen position (*not* window relative coords) and button info. Is it even possible to do this without some obscure PS code that needs window information? Maybe a nice function like the GL function getvaluator(MOUSEX)? I haven't had much luck with : PScurrentmouse(currentwindow, x, Mouse_px) Any help would be greatly appreciated, Steve
From: zmonster@ATHENA.MIT.EDU (Eric M Hermanson) Newsgroups: comp.sys.next.programmer Subject: Help me disable a slider while it is being moved! Date: 28 Oct 1993 23:56:50 GMT Organization: Massachvsetts Institvte of Technology Distribution: world Message-ID: <2apm82$o1a@senator-bedfellow.MIT.EDU> In my program there is a DPSTimedEntry that calls a method every 0.1 seconds which checks to see if a slider should be disabled. The timed entry has a threshold priority of 12, 2 higher than the MODALRESPTHRESHOLD so that the timer will run even though the mouse is being moved. The problem is, if the timer function sees that the mouse should be disabled, it will send a setEnabled:NO message to that slider. However, IF the slider is being moved or dragged at that time, the message still gets sent, but the slider does not disable. So, I tried sending a MOUSEUP event to the queue BEFORE disabling the slider using DPSPostEvent but it didn't work. The wierd thing is, the MOUSEUP event DID cause the mouse to stop controlling the slider (i.e. it did work), BUT, the slider did NOT disable. So then I tried to remove all mouseup and mousedragged events from the event queue before calling slider disable routine, using DPSDiscardEvents(). But this didn't work either. So far, the only way I can get this to work is by disabling the slider before EVERY timer event is called, then check to see if the slider should be disabled. If so, I leave it disabled. If it is not supposed to be disabled, I enable it again using -setEnabled:YES. This works, like I said, but it is VERY SLOW. The setEnabled call really bogs down the system for some reason (I verified this because the setEnabled:NO call alone does not cause a system slowdown, only the two calls together cause the slow down). SO, the question is simple: How do I override a slider modal loop while the slider is being moved by the user, so that the slider can be successfully disabled? Thanks for the help, Eric
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: Jamie Zawinski <jwz@lucid.com> Subject: Re: Emacs 19 under NS natively In-Reply-To: cedman@princeton.edu's message of Mon, 25 Oct 1993 19:42:04 GMT Message-ID: <JWZ.93Oct28171918@thalidomide.lucid.com> Sender: usenet@lucid.com Organization: Lucid, Inc., Menlo Park, CA References: <1993Oct24.225053.125583@embl-heidelberg.de> <CEDMAN.93Oct24214909@capitalist.princeton.edu> <SOWA.93Oct25113854@amdew.llnl.gov> <CEDMAN.93Oct25154204@capitalist.princeton.edu> Date: 29 Oct 1993 00:19:18 GMT Carl Edman <cedman@princeton.edu> wrote: > > Not much to tell. Michael Brouwer and I ported emacs 19.19 to run under NS > just as it does under X. It works. Multiple windows/multiple fonts/mouse > support aso. are all there. Even most X based modes like hilit19.el and > others work without modification. You can even compile a single binary > which brings up a NS emacs when double-clicked in the workspace, an X emacs > when started from an xterm and just the standard curses based emacs > otherwise. Sounds great! > The reason it is not on the archives yet is that the Free Software > Foundation and Richard Stallman consider our NeXT port a nuisance at > best and have refused to accept our code. (Sigh.) I would love to see a version of Lucid Emacs that worked with a window system other than X; while redesigning the event loop, we always tried to keep window system independence in mind. (And tried not to make this mean "pretend all window systems are really just fancy dumb-ttys.") If you (or anyone else) would like to try to make similar changes to Lucid Emacs, I'll help out in any way I can (including putting it in the standard distribution.) -- Jamie
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: getting events - Please Help! Message-ID: <1993Oct29.042705.25631@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <CFMMuA.5r5@mailer.cc.fsu.edu> Date: Fri, 29 Oct 1993 04:27:05 GMT In article <CFMMuA.5r5@mailer.cc.fsu.edu> dekorte@ibm19.scri.fsu.edu (Stephen L. DeKorte) writes: >to NeXT, and need to be able to get mouse screen position >(*not* window relative coords) and button info. >Is it even possible to do this without some obscure PS code >that needs window information? >Maybe a nice function like the GL function getvaluator(MOUSEX)? >I haven't had much luck with : >PScurrentmouse(currentwindow, x, Mouse_px) I would expect something like #import <dpsclient/wraps.h> int mousex(void) { float x, y; PScurrentmouse(0, &x, &y); /* 0 means return screen coordinates */ return (int)x; } to work. What does "haven't had much luck" mean? -=EPS=-
Newsgroups: comp.sys.next.programmer From: scott@cs.ust.hk (Scott Deerwester) Subject: Re: How do I make a fifo? Message-ID: <1993Oct29.005243.24648@uxmail.ust.hk> Sender: usenet@uxmail.ust.hk (usenet account) Organization: Hong Kong University of Science and Technology References: <1993Oct26.092438.4290@uxmail.ust.hk> Date: Fri, 29 Oct 1993 00:52:43 GMT In article <1993Oct26.092438.4290@uxmail.ust.hk> scott@cs.ust.hk I wrote: > I'm stumped. I can't figure out how to make a named pipe > on the NeXT. Several kind people pointed me at GNU mknod and mkfifo, which are part of the GNU fileutils distribution. I compiled them and they work just fine. Thanks! _________________________________________________________________ Scott Deerwester | The Hong Kong University of Internet: scott@cs.ust.hk | Science and Technology Phone: (852) 358-6985 | Department of Computer Science ----------------------------------------------------------------- a named pipe > on the NeXT. Several kind people pointed me at GNU mknod and mkfifo, which are part of the GNU fileutils distribution. I compiled them and they work just fine. Thanks! _________________________________________________________________ Scott Deerwester | The Hong Kong University of Internet: scott@cs.ust.hk | Science and Technology Phone: (852) 358-6985 | Department of Computer Science -------------------
Newsgroups: comp.sys.next.programmer From: mike@lorax.com (Mike Ferris) Subject: Re: Two problems/questions about 3.1 gdb (on m68k machine) Message-ID: <CFM9oD.1FD@lorax.com> Sender: mike@lorax.com (Mike Ferris) Organization: Stultus Enterprises References: <1993Oct24.121038.11890@csus.edu> Date: Thu, 28 Oct 1993 16:55:24 GMT In article <1993Oct24.121038.11890@csus.edu> eps@futon.SFSU.EDU (Eric P. Scott) writes: >In article <2acc7h$2rb@hub.ucsb.edu> doug@ccmrc.ucsb.edu > (Douglas Scott) writes: >>The online documentation for gdb has a description of a very useful command >>called data-break. Unfortunately, NeXT's gdb does not recognize this command >>at all. Is the documentation out-of-date or ahead of its time? > >Both(!) > Which, of course, means that NextStep 3.0 had this feature, 3.1 does not, and 3.2 will again have this feature. It was removed (temporarily) because apparently its hard to implement for Intel. But it will be back. ____________________________________________________________ Mike Ferris Ever drifting in the stream-- mike@lorax.com Lingering in the golden gleam-- Rubicon Software Life, What is it but a dream? (510) 652-2039 -Lewis Carroll
Newsgroups: comp.sys.next.programmer From: zeno@abstractsoft.com (Sean T. Lamont) Subject: Re: eject of floppy from command-line Message-ID: <1993Oct29.063314.28242@coco.ms.washington.edu> Keywords: floppy eject Sender: news@coco.ms.washington.edu (C-news admin) Organization: Abstract Software References: <1993Oct28.091954.20569@cnplss5.cnps.philips.nl> Date: Fri, 29 Oct 1993 06:33:14 GMT Ejecting floppy from a command line: You can either use ioctl's and have write permissions for the particular device you want to eject (I think it's DKIOEJECT or some such...) or you can forge a workspace connection from the shell and use NXWorkspaceRequestProtocol to eject the disk in workspace (probably the recommended method.) Sample code follows: compile as cc -ObjC eject.c -lNeXT_s #include<appkit/appkit.h> @interface BogusObject:Object { } - appDidInit:sender; @end @implementation BogusObject - appDidInit:sender { [NXApp stop:self]; } @end main(argc,argv) int argc; char **argv; { if (argc < 2){ fprintf(stderr,"Usage: eject [drivepath]\n",argv[0]); exit(-1); } NXApp = [Application new]; [NXApp setDelegate:[[BogusObject alloc] init]]; [NXApp run]; [[Application workspace] unmountAndEjectDeviceAt:(argv[1])]; [NXApp free]; exit(0); } -- Sean T. Lamont | Ask me about the WSI-Fonts Abstract Software | Professional collection for NeXT lamont@abstractsoft.com |____________________________________
Newsgroups: comp.sys.next.programmer From: zeno@abstractsoft.com (Sean T. Lamont) Subject: Re: getting events - Please Help! Message-ID: <1993Oct29.063630.28684@coco.ms.washington.edu> Sender: news@coco.ms.washington.edu (C-news admin) Organization: Abstract Software References: <CFMMuA.5r5@mailer.cc.fsu.edu> Date: Fri, 29 Oct 1993 06:36:30 GMT In article <CFMMuA.5r5@mailer.cc.fsu.edu> dekorte@ibm19.scri.fsu.edu (Stephen L. DeKorte) writes: >Hi, > >I'm trying to port my own Appkit and Foundation library >(written origonally for SGIs using GL) >to NeXT, and need to be able to get mouse screen position >(*not* window relative coords) and button info. I pulled this out of a wraps.psw file... defineps getmouse(|short *xposition,*yposition,*butt) 0 currentmouse yposition xposition buttondown {1} {0} ifelse butt endps -- Sean T. Lamont | Ask me about the WSI-Fonts Abstract Software | Professional collection for NeXT lamont@abstractsoft.com |____________________________________
Sender: news@stasys.sta.sub.org From: ram@ramsys.sta.sub.org (Reimer A. Mellin) Newsgroups: comp.sys.next.programmer Subject: Re: Creating Installer Packages Date: 29 Oct 1993 06:58:27 GMT Organization: at home Message-ID: <2aqeuj$3cs@ramsys.sta.sub.org> References: <1993Oct27.085258.201@dart.de> Alexander Spohr writes > On the Big Green CD you can find a Program called PackageBuilder.app. > I did'n try it yet but it has a UI and looks simple enough for everyone. Never found a prg to construct packages packages incoporating different directories like 'mkpackage -d /tmp -f foo -B <dir1> <dir2> .... <dirx> Here is a sh-script I always use ---------------------------------- #! /bin/sh # # Author: Reimer A. Mellin (ram@ramsys.sta.sub.org) # Revision: oink! quick&dirty # Date: forgotten # prog=`/usr/bin/basename $0` root="Unknown" destdir="." if [ $# -lt 2 ] then echo mkpackage: \[options\] files.... echo A util for generating packages echo options: echo \-f \<name\> the name of the package echo \-d \<dest\> destination directory echo \-B use the bigtar \(long names\) echo \-i \<info\> name a info file echo \-t \<tiff\> name a tifffile exit 1 fi while [ true ] do case $1 in -d) shift; destdir=$1;shift;; -f) shift; root=$1; shift;; -B) bigflag=1; shift;; -t) tiffflag=1; shift; tifffile=$1; shift;; -i) infoflag=1; shift; infofile=$1; shift;; *) files=$*; break;; esac done if [ $bigflag ] then TAR=/NextAdmin/Installer.app/installer_bigtar else TAR=/NextAdmin/Installer.app/installer_tar fi /bin/mkdirs $destdir pkg=$destdir/$root.pkg echo Generating Installer package $pkg ... if [ -d $pkg ] then echo echo removing old package ... /bin/rm -rf $pkg fi /bin/mkdirs -m 755 $pkg # tar and compress root directory to package archive echo -n " creating package archive ... " pkgArchive=$pkg/$root.tar.Z pkgBom=$pkg/$root.bom $TAR cvf - $files | /usr/ucb/compress >$pkgArchive /usr/ucb/zcat $pkgArchive | $TAR tvf - >$pkgBom /bin/chmod 444 $pkgArchive /bin/chmod 444 $pkgBom if [ $infoflag ] then cp $infofile $pkg/$root.info /bin/chmod 444 $pkg/$root.info fi if [ $tiffflag ] then cp $tifffile $pkg/$root.tiff /bin/chmod 444 $pkg/$root.tiff fi # generate sizes file echo -n " generating sizes file ... " pkgSizes=$pkg/$root.sizes # compute number of files in package numFiles=`/bin/cat $pkgBom | /usr/ucb/wc -l` # compute package size when compressed compressedSize=`/bin/du -s $pkg | /bin/awk '{print $1}'` compressedSize=`expr $compressedSize + 3` # add 1KB each for sizes, location, status files if [ $infoflag ] then infoSize=`/bin/ls -s $pkg/$root.info | /bin/awk '{print $1}'` else infoSize=0 fi bomSize=`/bin/ls -s $pkg/$root.bom | /bin/awk '{print $1}'` if [ $tiffflag ] then tiffSize=`/bin/ls -s $pkg/$root.tiff | /bin/awk '{print $1}'` else tiffSize=0 fi installedSize=`cat $pkgBom | awk 'BEGIN{sum=0;} {sum+= $4;} END{sum= sum/1024; printf "%d\n", sum;}'` installedSize=`expr $installedSize + $infoSize + $bomSize + $tiffSize + 3` # echo size parameters to sizes file echo NumFiles $numFiles > $pkgSizes echo InstalledSize $installedSize >> $pkgSizes echo CompressedSize $compressedSize >> $pkgSizes echo done. echo "... finished generating $pkg." /bin/chmod 444 $pkgSizes if [ $infoflag ] then echo else echo echo You must still add an info-file!!! named $root.info echo fi if [ $tiffflag ] then echo else echo You can optionally add a tiff-file named $root.tiff echo fi ---------------------------------- Cheers Reimer --- Q: "Whats a TLA?" A:"A cafu!?" Reimer A. Mellin, ram@ramsys.sta.sub.org Aidenbachstr. 131/6, 81479 Muenchen, + 49 89 7849411
Newsgroups: comp.sys.next.programmer From: bisselt@gb.swissbank.com (Timothy Bissell) Subject: Programmatic host 'ping'ing Date: Fri, 29 Oct 1993 11:54:29 +0000 Message-ID: <29123.199310291152@gpo.gb.swissbank.com> Sender: usenet@demon.co.uk Environment: C code on NeXTstep 3.1 in a heterogenous Unix network (Suns/NeXTs) Inside my Obj-C program I need to check if a given machine (called, say, "edmund") is on the network and alive, or not; much as the Unix command ping(1) does. As I am a complete Networking novice, I wonder if any one out there has any example code, or can point me to the right functions to use. So what I need is a pointer to a library function of the form int HostIsResponding(const char *hostname, unsigned int timeoutSeconds); or code that I could wrap up into a function of this form. Thanks in advance for your help, --- tim -- Work: bisselt@gb.swissbank.com | +44 71 711 2984 Home: tim@ursidae.demon.co.uk | +44 480 451 022
Newsgroups: comp.sys.next.programmer,comp.sys.next.software,gnu.misc.discuss From: trebels@PROBLEM_WITH_INEWS_GATEWAY_FILE (Stephan Trebels) Subject: Re: Emacs 19 under NS natively (was: Get events without [NXApp run]?) Message-ID: <V2NIBDPQ@gwdu03.gwdg.de> Sender: news@gwdu03.gwdg.de (USENET News System) Organization: GWDG, Goettingen References: <BEN.93Oct27225957@fizz.fdn.org> Date: Fri, 29 Oct 1993 17:18:24 GMT Benoit Grange (ben@fizz.fdn.org) wrote: > In article <CEDMAN.93Oct25154204@capitalist.princeton.edu> > cedman@princeton.edu (Carl Edman) writes: > > The reason it is not on the archives yet is that the Free Software > Foundation and Richard Stallman consider our NeXT port a nuisance > at best and have refused to accept our code. > > I don't really understand why the FSF does not 'accept' it. Put this > code into the "unsupported goodies". Or publish it elsewere. I agree, VMS is also no open OS and there have always been VMS Changes. But anyway, please put these changes to the archives. It could be called "example patch for emacs 19.19 NS". If a Readme states clearly, that these patches are NOT SUPPORTED and NO QUESTIONS are answered, I can't see any problem for you. Of course this should be placed on the NeXTSTEP archives, not the FSF archives. If RMS doesn't want this in the emacs distribution, ok! It's his choice, but I *do* believe, that there will be a race for creating new patches whenever a new version of emacs is released by FSF. Look at the development of Linux. There is no need for a regular maintainance. This would be nice, but try without it now! Give the community of NeXTSTEP programmers a chance. Anything that helps other people *today*, should be given to the community, even if RMS doesn't want this. I would love to see it. Ciao, Stephan -- trebels@theo-phys.gwdg.de
Newsgroups: comp.sys.next.programmer From: Alexis Rzewski <rzewski@NorthStar.com> Subject: a Dictionary class anyone? Message-ID: <9310291838.AA01190@NorthStar.com> Sender: root@news.cs.indiana.edu (Operator) Organization: Computer Science, Indiana University Date: Fri, 29 Oct 93 14:38:54 -0400 Hi, has anyone developed a Dictionary class (a' la Smalltalk) that can share? - Alexis Alexis Rzewski NorthStar Technologies alexis@northstar.com
Newsgroups: comp.sys.next.programmer From: kris@black.toppoint.de (Kristian Koehntopp) Subject: Re: Hiding Nib Files References: <29vrub$mg7@rosie.next.com> <CF7C48.Mu2.3@cs.cmu.edu> Date: Tue, 26 Oct 1993 12:21:44 MET Reproduktion, auch auszugsweise, ausserhalb elektronischer, nichtkommerzieller Datennetze nur mit ausdruecklichem, schriftlichem Einverstaendnis des Autors. Organization: Toppoint Mailbox e.V. Message-ID: <1993Oct26.122144.15877@black.toppoint.de> In <CF7C48.Mu2.3@cs.cmu.edu> eht@cmu.edu (Eric Thayer) writes: >To prevent this kind of attack, you might attach a cryptographic checksum over >the code segments of your executable. However, I'd still be cautious that >someone with root access on a workstation could diddle with the memory of the >running executable and cause it to crash or not do the unlink. An attacker might just send a SIGSTOP to your application, make a copy of the file and the signal SIGCONT to your app. No crash, no object code hacking required. This is UNIX after all. Kristian -- Kristian Koehntopp, Harmsstrasse 98, 24114 Kiel 1, +49 431 676689 "Ich halte es z.B. fuer bedenklich fuer ein Industrieland, wenn ich zwar die amerikanische NSF und Herrn CLinton per e-mail erreichen kann, aber nicht das BMFT oder die DFG." -- schorsch@pz-oekosys.uni-kiel.d400.de
Newsgroups: comp.sys.next.programmer From: kris@black.toppoint.de (Kristian Koehntopp) Subject: Re: How do I make a fifo? References: <1993Oct26.092438.4290@uxmail.ust.hk> Date: Wed, 27 Oct 1993 10:39:43 MET Reproduktion, auch auszugsweise, ausserhalb elektronischer, nichtkommerzieller Datennetze nur mit ausdruecklichem, schriftlichem Einverstaendnis des Autors. Organization: Toppoint Mailbox e.V. Message-ID: <1993Oct27.103943.19938@black.toppoint.de> In <1993Oct26.092438.4290@uxmail.ust.hk> scott@cs.ust.hk (Scott Deerwester) writes: >I'm stumped. I can't figure out how to make a named pipe >on the NeXT. I *can* make a named pipe by rlogin to a >SUN and then /usr/etc/mknod file p on a filesystem that >both the NeXT and the SUN mount. And the NeXT deals with >the fifo just fine. It's just that mknod doesn't grok the >p option. Help! Im am using this on my NeXT: /* * Copyright (c) 1989 The Regents of the University of California. * All rights reserved. * * This code is derived from software contributed to Berkeley by * Kevin Fall. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifndef lint char copyright[] = "@(#) Copyright (c) 1989 The Regents of the University of California.\n\ All rights reserved.\n"; #endif /* not lint */ #ifndef lint static char sccsid[] = "@(#)mknod.c 4.4 (Berkeley) 6/1/90"; #endif /* not lint */ #include <sys/types.h> #include <sys/stat.h> #include <stdio.h> main(argc, argv) int argc; char **argv; { extern int errno; u_short mode; char *strerror(); if ((argc != 5) && (argc != 3)) { (void)fprintf(stderr, "usage: mknod name [b | c] major minor\n"); (void)fprintf(stderr, " or mknod name p\n"); exit(1); } mode = 0666; if (argv[2][0] == 'c') mode |= S_IFCHR; else if (argv[2][0] == 'b') mode |= S_IFBLK; else if (argv[2][0] == 'p') { mode |= S_IFIFO; } else { (void)fprintf(stderr, "mknod: node must be type 'b' or 'c' or 'p'.\n"); exit(1); } if(mode & S_IFIFO) { if(mknod(argv[1], mode, 0) < 0) { (void)fprintf(stderr, "mknod: %s: %s\n", argv[1], strerror(errno)); exit(1); } } else { if (mknod(argv[1], mode, makedev(atoi(argv[3]), atoi(argv[4]))) < 0) { (void)fprintf(stderr, "mknod: %s: %s\n", argv[1], strerror(errno)); exit(1); } } exit(0); } -- Kristian Koehntopp, Harmsstrasse 98, 24114 Kiel 1, +49 431 676689 "Ich halte es z.B. fuer bedenklich fuer ein Industrieland, wenn ich zwar die amerikanische NSF und Herrn CLinton per e-mail erreichen kann, aber nicht das BMFT oder die DFG." -- schorsch@pz-oekosys.uni-kiel.d400.de
Newsgroups: comp.sys.next.programmer From: arrouye@petole.imag.fr (Yves Arrouye) Subject: Interface: should we disable the submenus or just their items? Message-ID: <ARROUYE.93Oct29202243@petole.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Fri, 29 Oct 1993 19:22:43 GMT The subject says it all: I have a submenu which only relevant in some cases. Should I just disable it (easy) or recursively disable all its non-submenus menu cells? My user-interface lectures told me to only disable non-submenus items, because the user should be able to see all the potential actions even if some of them are not enabled (that's what make Services menus so annoying some time...). I think it's right, but how can one implement this properly? Of course, sending a setEnabled:FALSE to the menu cell does not work: should I consider that this is what the standard style is intended to do? Or is it just a flaw in the system? (The guidelines does not cover the case of submenus when discussing disabled commands). If the non-submenu case is the right one, did anybody implement it? I do not see any obvious way of doing that, except getting the cell's target (which is a menu), and recursively iterating on its itemList testing for hasSubmenu on the cells. Is there a shorter way to do that? Thanks, Yves. -- Advocates for the C++ school claim that a well designed Yves Arrouye program does not need the extra flexibility (a lie), Yves.Arrouye@imag.fr while advocates for the Objective-C school claim that (33) 76 57 48 64 the errors are no problem in practice (another lie). NeXT Mail
Newsgroups: comp.sys.next.programmer From: arrouye@petole.imag.fr (Yves Arrouye) Subject: Knowing if a screen is running in color? Message-ID: <ARROUYE.93Oct29202440@petole.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Fri, 29 Oct 1993 19:24:40 GMT Hi, I would like to know if its possible to know when a screen is a color one, and is running in color. It should be, because Preferences does it for the screen background color (even if the NeXT1 BackgroundColor default is not set, of course...). But how can I know that (I don't think trying to test if a view should draw in color is a good test, nor is the idea of asking for the best color screen...) Thanks in advance, yves -- Advocates for the C++ school claim that a well designed Yves Arrouye program does not need the extra flexibility (a lie), Yves.Arrouye@imag.fr while advocates for the Objective-C school claim that (33) 76 57 48 64 the errors are no problem in practice (another lie). NeXT Mail
From: mrb@earth.wustl.edu (Mike Bray) Newsgroups: comp.sys.next.programmer Subject: Help! Slow DBTableViews Date: 29 Oct 1993 20:39:09 GMT Organization: Washington University, St. Louis MO Distribution: world Message-ID: <2arv1d$r7c@wuecl.wustl.edu> Our In-house mission critical custom app uses dbtableviews extensively, but they are painfully slow when fetching more than a few columns. It doesn't seem to matter too much how many rows are fetched, it's the number of columns. One table has about 10 columns, and can take 10 seconds or more to fill with only 20 rows of data. Watching the low level log messages shows that the server is returning the data quickly, but after the fetch is complete there is a sizeable delay before the screen updates. I recompiled the app under 3.1 and didn't notice any difference from the 3.0 version. Any hints for speeding this up would be appreciated. Mike Bray mrb@earth.wustl.edu 307-332-1279
Newsgroups: comp.sys.next.programmer From: xinwei@otter.Stanford.EDU (Sha Xin Wei) Subject: Re: Help! Slow DBTableViews Message-ID: <1993Oct30.035636.10392@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: Stanford University References: <2arv1d$r7c@wuecl.wustl.edu> Date: Sat, 30 Oct 93 03:56:36 GMT In comp.sys.next.programmer article <2arv1d$r7c@wuecl.wustl.edu> you wrote: > Our In-house mission critical custom app uses dbtableviews extensively, > but they are painfully slow when fetching more than a few columns. > It doesn't seem to matter too much how many rows are fetched, it's the number > of columns. One table has about 10 columns, and can take 10 seconds or more > to fill with only 20 rows of data. Watching the low level log messages > shows that the server is returning the data quickly, but after the > fetch is complete there is a sizeable delay before the screen updates. > I recompiled the app under 3.1 and didn't notice any difference from the 3.0 > version. Any hints for speeding this up would be appreciated. > > Mike Bray > mrb@earth.wustl.edu > 307-332-1279 Interesting, I have the same problem filling a matrix of cells with images pulled out of Sybase, via a fetchGroup. The problem isn't so much with speed of filling DBTableView (in my case) becuase I actually swap views from a Matrix to a DBTableView which I programmatically pre-wiire to the same fetchGroup which is connected to the Matrix. In my case, it takes a *long* time to execute, say [recordList fetchAllRecords:nil] -- it seems to take an inordinate amount of time to stuff the DBRecordList. Is this your experience, too? - Sha Xin Wei Stanford University
Newsgroups: comp.sys.next.programmer From: xinwei@otter.Stanford.EDU (Sha Xin Wei) Subject: multiple concurrent logins to Sybase Message-ID: <1993Oct30.040332.10661@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: Stanford University Date: Sat, 30 Oct 93 04:03:32 GMT On one (68K, NS3.0) NeXT I have a dbkit app connected to a Sybase server. The associated .dbmodel logs me in as "sa". I launch a copy of the same app on a second NeXT. It fails upon connect: - findDatabaseNamed:(const char *)name { id database = [DBDatabase findDatabaseNamed:name connect:NO]; if ([database isConnected]) return database; if (database) { [database setPanelsEnabled:NO]; if ([database connect] == NO) { <<<<<<<<<<<<<<< FAILS HERE [self mmdbError:ERR_CONNECT]; return nil; } [self setDatabase:database]; } else { [self mmdbError:ERR_NO_DB]; return nil; } return database; } I get a "SYBASE LOGIN FAILED" error. What's keeping me from multiple concurrent logins? Xin Wei
Newsgroups: comp.sys.next.programmer From: xinwei@otter.Stanford.EDU (Sha Xin Wei) Subject: RTFD: drawing cells, zooming, programmatic control Message-ID: <1993Oct30.062200.13571@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: Stanford University References: <1993Oct26.014902.21830@coco.ms.washington.edu> Date: Sat, 30 Oct 93 06:22:00 GMT Anyone have an examples of dealing with rich text loaded from an rtfd: 1. zooming embedded graphics (or any NXImage/TIFF) 2. programmatically creating and tracing links Can someone please send a formal specification of NeXT's rtfd format? Xin Wei
Newsgroups: comp.sys.next.programmer From: xinwei@otter.Stanford.EDU (Sha Xin Wei) Subject: getting file move notification from Workspace Message-ID: <1993Oct30.063829.13899@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: Stanford University References: <1993Oct26.014902.21830@coco.ms.washington.edu> Date: Sat, 30 Oct 93 06:38:29 GMT How can my app be notified of a filemove (or other file operations)? NXWorkspaceRequestProtocol has beginListeningForApplicationStatusChanges etc., but won't inform me when the user has dragged a folder from one directory to another using the File Browser. Sha Xin Wei Stanford
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Programmatic host 'ping'ing In-Reply-To: <29123.199310291152@gpo.gb.swissbank.com> Message-ID: <1993Oct30.064817.16406@csus.edu> Sender: news@csus.edu Organization: San Francisco State University Date: Sat, 30 Oct 1993 06:48:17 GMT In article <29123.199310291152@gpo.gb.swissbank.com> bisselt@gb.swissbank.com (Timothy Bissell) writes: >Inside my Obj-C program I need to check if a given machine >(called, say, "edmund") is on the network and alive, or not; >much as the Unix command ping(1) does. As I am a complete >Networking novice, I wonder if any one out there has any >example code, or can point me to the right functions to use. > >So what I need is a pointer to a library function of the form > >int HostIsResponding(const char *hostname, unsigned int timeoutSeconds); > >or code that I could wrap up into a function of this form. First of all, to do what ping(1) does, you need to be superuser. That's why /usr/etc/ping runs set-uid root. The next best thing (which doesn't require privileges) is to try to bounce something off a UDP echo server. This assumes that inetd is running on the target machine, and the system administrator hasn't done something stupid like disable the UDP echo server. The biggest problem with both of the above is that a nonresponse doesn't necessarily mean a machine is down or unreachable. One easy way to improve upon UDP is to use RPC, as illustrated in the attached example. Note that in Objective-C programs based on the AppKit, you probably don't want to use something like this [that blocks], but rather some combination of DPSAddFD(), DPSAddTimedEntry(), - perform:with:afterDelay:cancelPrevious:, etc. -=EPS=- ------- #ifdef NX_COMPILER_RELEASE_3_0 #include <ansi/stdio.h> #include <bsd/netdb.h> #include <bsd/sys/socket.h> #include <bsd/netinet/in.h> #include <bsd/rpc/rpc.h> #include <bsd/rpc/pmap_prot.h> #else #include <stdio.h> #include <netdb.h> #include <sys/socket.h> #include <netinet/in.h> #include <rpc/rpc.h> #include <rpc/pmap_prot.h> #endif main(argc, argv) int argc; char *argv[]; { void try(); register int i; int errs; struct sockaddr_in sin; (void)setlinebuf(stderr); if (argc<2) { (void)fprintf(stderr, "Usage: %s host ...\n", *argv); exit(1); } errs=0; for (i=1;i<argc;i++) { bzero((char *)&sin, sizeof sin); sin.sin_addr.s_addr=inet_addr(argv[i]); if (sin.sin_addr.s_addr!=0xffffffff|| !strcmp(argv[i], "255.255.255.255")) { sin.sin_family=AF_INET; sin.sin_port=htons(PMAPPORT); try(&sin, argv[i]); } else { register struct hostent *h; register int j; if (!(h=gethostbyname(argv[i]))) { herror(argv[i]); (void)fflush(stderr); errs++; } else { sin.sin_family=h->h_addrtype; sin.sin_port=htons(PMAPPORT); j=0; do { bcopy(h->h_addr_list[j], (char *)&sin.sin_addr, h->h_length); try(&sin, argv[i]); } while (h->h_addr_list[++j]); } } } exit(errs); } void try(sin, target) struct sockaddr_in *sin; char *target; { register CLIENT *c; int sock; struct timeval tv; tv.tv_sec=5; /* RETRY_TIMEOUT */ tv.tv_usec=0; sock= RPC_ANYSOCK; if (!(c=clntudp_create(sin, PMAPPROG, PMAPVERS, tv, &sock))) clnt_pcreateerror(target); else { register enum clnt_stat e; tv.tv_sec=20; /* TIMEOUT */ (void)fprintf(stderr, "Trying [%s]... ", inet_ntoa(sin->sin_addr)); (void)fflush(stderr); if ((e=clnt_call(c, NULLPROC, xdr_void, (char *)0, xdr_void, (char *)0, tv))==RPC_SUCCESS) (void)fprintf(stderr, "%s is alive\n", target); else clnt_perror(c, target); (void)fflush(stderr); clnt_destroy(c); } } ------- herror.c /* * Copyright (c) 1988, 1990 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms are permitted provided * that: (1) source distributions retain this entire copyright notice and * comment, and (2) distributions including binaries display the following * acknowledgement: ``This product includes software developed by the * University of California, Berkeley and its contributors'' in the * documentation or other materials provided with the distribution and in * all advertising materials mentioning features or use of this software. * Neither the name of the University nor the names of its contributors may * be used to endorse or promote products derived from this software without * specific prior written permission. * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ #include <stdio.h> char *h_errlist[] = { "Error 0", "Unknown host", /* 1 HOST_NOT_FOUND */ "Host name lookup failure", /* 2 TRY_AGAIN */ "Unknown server error", /* 3 NO_RECOVERY */ "No address associated with name", /* 4 NO_ADDRESS */ }; int h_nerr = { sizeof(h_errlist)/sizeof(h_errlist[0]) }; int h_errno; /* In some version of SunOS this is necessary */ /* * herror -- * print the error indicated by the h_errno value. */ herror(s) char *s; { if (s && *s) { fprintf(stderr, "%s: ", s); } if ((h_errno < 0) || (h_errno >= h_nerr)) { fprintf(stderr, "Unknown error\n"); } else if (h_errno == 0) { #if defined(sun) fprintf(stderr, "Host unknown\n"); #endif /* defined(sun) */ } else { fprintf(stderr, "%s\n", h_errlist[h_errno]); } }
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: speters@samsun.us.oracle.com (Stephen Peters) Subject: Re: Emacs 19 under NS natively In-Reply-To: Jamie Zawinski's message of 29 Oct 1993 00:19:18 GMT Message-ID: <SPETERS.93Oct29172254@samsun.us.oracle.com> Sender: usenet@oracle.us.oracle.com (Oracle News Poster) Organization: Oracle Corporation., Redwood City, CA, USA References: <1993Oct24.225053.125583@embl-heidelberg.de> <CEDMAN.93Oct24214909@capitalist.princeton.edu> <SOWA.93Oct25113854@amdew.llnl.gov> <CEDMAN.93Oct25154204@capitalist.princeton.edu> <JWZ.93Oct28171918@thalidomide.lucid.com> Date: Sat, 30 Oct 1993 00:22:54 GMT at Oracle Corporation. The opinions expressed are those of the user and not necessarily those of Oracle. Those still following this debate might like to know that RMS just posted his position on supporting NeXT code within the FSF releases of Emacs to gnu.misc.discuss. Those interested can look it up -- the message ID is <9310292352.AA28989@mole.gnu.ai.mit.edu>. To summarize it here, he basically states that there is no reason that the NeXT support for Emacs can't release it, but feels that incorporating specific NS support into FSF Emacs would be a mistake, simply because NS will not be part of the future GNU O/S, and supporting NS would simply take away time towards their eventual goal. Also, he states that he regards the VMS decision as having done "more harm than good", and does not wish to repeat the mistake. Stephen Peters
Newsgroups: comp.sys.next.programmer From: chuck@benatong.com (Charles G. Bennett) Subject: Kermit in FAT version ? Message-ID: <CFoyLy.654@BenaTong.com> Sender: usenet@BenaTong.com Organization: BenaTong Software. References: <2am834$t3p@pith.uoregon.edu> Date: Sat, 30 Oct 1993 03:49:09 GMT Has anyone compiled kermit FAT? I can't live with tip, and I have enough KERMIT macros that I don't need a commercial app... Chuck
Newsgroups: comp.sys.next.programmer From: jfr@aspen.pdh.com (Jon F. Rosen) Subject: Hacking DBTableView column titles Message-ID: <CFoF2x.u4@pdh.com> Keywords: hacking dbkit Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. Date: Fri, 29 Oct 1993 20:47:20 GMT I want to replace the column titles in a DBTableView with something a bit more substantial, including a small icon for some of the columns. There is a columnClip outlet in the DBTableView class which provides a view of the column title area. But it seems that the proper interface is on a column-by-column basis where the actual column titles draw themselves. Does anybody have a clue how I could accomplish this? I assumed I would subclass some ColumnTitle class which draws in the title view but apparently that is not how its done. Thanks, Jon Rosen
Newsgroups: comp.sys.next.programmer From: optadm7@watserv1.uwaterloo.ca (J.Cassidy - Optometry) Subject: trying to locate library Message-ID: <CFpnw5.EzC@watserv1.uwaterloo.ca> Sender: news@watserv1.uwaterloo.ca Organization: University of Waterloo Distribution: na Date: Sat, 30 Oct 1993 12:55:17 GMT I am trying to find the library to link with my program which uses functions such as 'tcgetattr' and 'tcsetattr'. If anyone is aware of which library to use, I would be greatful if you let me know. Thanks! Jim.
From: blommer@quip.eecs.umich.edu (Michael Alan Blommer) Newsgroups: comp.sys.next.programmer Subject: Disabling sound volume control keys Date: 30 Oct 1993 17:32:50 GMT Organization: University of Michigan EECS Dept., Ann Arbor, MI Message-ID: <2au8g2$d7g@zip.eecs.umich.edu> Is there any way to disable the sound volume control keys? I'm developing an application where I'd like to have the volume set at a certain level during the entire time the application is active. I know that I can use the [Sound setVolume::] method or the setGainLeft:right: method in NXPlayStream to set the volume right before the sounds are played. However, the sounds are of long enough duration that the user could increase or decrease the volume as the sound was being played - an undesirable action. Is there a dwrite parameter similar to -PowerOffDisabled? I haven't seen any documentation on one. The Monitor.preferences bundle in Preferences.app somehow reads and sets the volume control, so there must be a way to communicate with the volume control keys through an application. I've looked in the Monitor.preferences bundle, but there aren't any hints there. Thanks in advance. Mike Blommer
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: al@rbc.uucp (Al Davis) Subject: Re: Emacs 19 under NS natively Message-ID: <1993Oct30.150908.1450@rbc.uucp> Organization: Huh? References: <CEDMAN.93Oct25154204@capitalist.princeton.edu> <JWZ.93Oct28171918@thalidomide.lucid.com> <SPETERS.93Oct29172254@samsun.us.oracle.com> Date: Sat, 30 Oct 1993 15:09:08 GMT In article <SPETERS.93Oct29172254@samsun.us.oracle.com> speters@samsun.us.oracle.com (Stephen Peters) writes: >Also, he states that he regards the VMS decision as having done "more >harm than good", and does not wish to repeat the mistake. There is another difference between NeXTSTEp and VMS that might make it ok to support VMS but not NS. VMS is an old crusty os that is used only because it has been for a long time. By supporting VMS it is possible to move their users over to GNU a piece at a time. The VMS users that use emacs and gcc don't want to use VMS. It is forced on them by the administration. al.
From: dario@cns.nyu.edu (Dario Ringach, x3941) Newsgroups: comp.sys.next.programmer Subject: Pretty printing Objective-C Date: 31 Oct 1993 01:26:40 GMT Organization: Center for Neural Science, New York University. Distribution: world Message-ID: <2av48g$7jv@cmcl2.NYU.EDU> Is there a filter that will produce a nice printout of Objective-C programs? Thanks! --- Dario Ringach office: (212) 998-7614 Center for Neural Science home: (212) 727-9346 New York University e-mail: dario@cns.nyu.edu
From: art@cubicsol.com (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Binary tree browser Date: 31 Oct 1993 02:50:29 GMT Organization: University of California, Santa Cruz Distribution: world Message-ID: <2av95l$12n@darkstar.UCSC.EDU> Keywords: tree, browser I need to display and manipulate a binary tree object. An NXBrowser seems like a good candidate for the job. However, the non-leaf nodes of my tree can have only 2 string values, "and" and "or", which means that both children of a particular node can have the same string value. NXBrowser's setPath: and browser:selectCell:inColumn seem to depend on each browsercell in a particular column having unique string values. I need to be able to navigate through my tree object based on a user's browser selection, but this doesn't appear to be possible if string values of browsercells are used to construct and set the browser path. I've considered implementing an NXBrowserCell subclass that has an ivar pointing to the tree node that it represents. But before doing any extra work, can NXBrowser and NXBrowserCell be used to implement a binary tree browser as is? Am I missing understanding something obvious? (Probably - we're talking NXBrowsers here :-) Does anyone know of an example of a binary tree browser anywhere? Anyone have any comments, suggestions, etc.? Thanks. -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: Re: Pretty printing Objective-C Message-ID: <CFqxL5.Fuw@news.cis.umn.edu> Sender: news@news.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Hospital and Clinic, Labratory Information Services References: <2av48g$7jv@cmcl2.NYU.EDU> Date: Sun, 31 Oct 1993 05:19:35 GMT like 'vgrind -lObjC *' ? Dario Ringach, x3941 (dario@cns.nyu.edu) wrote: : Is there a filter that will produce a nice printout of Objective-C : programs? Thanks! -- Always looking for a handy place to nap... peter@tahiti.umhc.umn.edu (Peter Eisch) peter.a.eisch@uwrf.edu
Newsgroups: comp.sys.next.software,comp.sys.next.programmer From: pjoe@charon.muc.de (Peter Eybert) Subject: Problem with zsh and cc1obj Message-ID: <1993Oct31.113051.643@charon.muc.de> Sender: pjoe@charon.muc.de Organization: Peter Eybert Date: Sun, 31 Oct 1993 11:30:51 GMT Hello, I've seen a problem with zsh (v2.2.0) and cc1obj: If I compile several .c files in a directory the following occurs: ~/Maths/cephes1/lib1 12% for i (*.c) > { > cc -c -O -o `basename $i .c`.o $i > } cc1obj: /usr/tmp/cc000495.i: No such file or directory cc1obj: /usr/tmp/cc000499.i: No such file or directory [... in total 20 times] In lib1 there are 31 .c files and the temporary files in /usr/tmp/ which cc1obj doesn't find DO exist. Furthermore, they don't vanish either as they should. Maybe it has something to do with a #define in conf.h of the zsh which is /* default prefix for temporary files */ #define DEFTMPPREFIX "/tmp/zsh" but I don't know. It seems that this errors don't do any harm, since the resulting library in lib1 works without errors as I've seen so far. Please could anybody post the reason for this behaviour? -- ____________________________________________________________ Peter Eybert pjoe@charon.muc.de Appenzellerstr. 123 Tel: +49-89-7593734 81475 Muenchen (NeXTMail welcome) --
Newsgroups: comp.sys.next.programmer From: jhall@barbados.umhc.umn.edu (Jeff Hallgren) Subject: DBKit optimistic locking Message-ID: <CFruyJ.Drv@news2.cis.umn.edu> Keywords: DBKit overwrite update stupid no timestamp hokey single user Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota, Twin Cities Date: Sun, 31 Oct 1993 17:19:13 GMT Optimistic locking is apparently not working for me. I'm using DBKit with Sybase in an app that has no user interface. It periodically does a select on a table and processes what it finds and updates the successfully processed rows. If I place a break in gdb after the initial SELECT and before the saveModifications, I can, using another utility select the same row, change the data and update the row. When I continue the app under gdb it goes into saveModifications, does a SELECT with a HOLDLOCK comparing only the primary key (a single column) in the WHERE clause, then it issues an UPDATE. There are no errors or warnings and it IS possible to overwrite the modifications of another user if both apps are update the same columns. If there were a comparison of the timestamps, or a column by column compare I would be able to pick up the fact that the row had been modified since the time it was originally read. NeXT's DBKit release notes state: DBRecordList supports multi-user concurrency through a check-before-update strategy, also known as optimistic locking. So, I have a couple of questions, 1). What does the "check" in optimistic locking consist of 2). Does one need a DBModule in order to have optimistic locking 3). Why the heck can't I get a timestamp out of a DBValue (it would fit nicely in a long int and I just want the 64 bits) 4). Why doesn't/can't DBKit support the Sybase FOR BROWSE mode with timestamp checking.
From: wheelan@binkley.cs.mcgill.ca (Bill Heelan) Newsgroups: comp.sys.next.programmer Subject: getting output from RenderMan? Date: 01 Nov 1993 03:43:39 GMT Organization: School of Computer Science, McGill Univ. Distribution: world Message-ID: <WHEELAN.93Oct31224339@binkley.cs.mcgill.ca> I have a program taken from "The RenderMan Companion" (see below). When I run it no output is produced, even when I use RiDisplay() to send it to a particular file. Is NeXT's version incompatible with the one described in the book, or is there some extra magic I have to add? - Bill --------------------- #include <ri.h> RtPoint Square[4] = { {0.5, 0.5, 0.5}, {0.5, -0.5, 0.5}, {-0.5, -0.5, 0.5}, {-0.5, 0.5, 0.5} }; main() { RiBegin(RI_NULL); #if 0 RiDisplay("/tmp/foo", RI_FILE, RI_RGB, RI_NULL); #endif RiWorldBegin(); RiSurface("constant", RI_NULL); RiPolygon(4, RI_P, (RtPointer)Square, RI_NULL); RiWorldEnd(); RiEnd(); }
Newsgroups: comp.sys.next.programmer From: jjfeiler@relief.com (John Jay Feiler) Subject: Re: Mixing C++ and objective C Message-ID: <CFL5p9.1o2@relief.com> Sender: jjfeiler@relief.com (John Jay Feiler) Organization: Relief Consulting & Development References: <CFJAJK.G8D@ucdavis.edu> Distribution: usa Date: Thu, 28 Oct 1993 02:31:56 GMT In article <CFJAJK.G8D@ucdavis.edu> Stuart Staniford-Chen (stuarts@landau.ucdavis.edu) writes: > I have the following problem: I've written a bunch of C++ code on an > SGI. Actually it's a polygon rendering system for a computer graphics > class. The SGI graphics calls are well localized, and all the rest of the > C++ compiles and works on my Next. > > I now want to hack together a viewer to look at all my rendered polygons > on the NeXT. But to avoid duplicating a lot of work this means I have > to mix the C++ and obj-C pretty freely. Can I do this? Questions > that occur to me are very basic - should the file be .m or .C? Can I say > [myView doSomthin]; in one breath and polygon.apply_matrix(M); in the > next. Can I send objective-C messages from within C++ class member functions? > (So I can define a NeXTy version of polygon.draw_in_view(id theView)); > > Any help - particularly example programs (the simpler the better) - would > be greatly appreciated. I'm running 3.0 if that makes any difference. > > Stuart. > > stuarts@landau.ucdavis.edu > C++ and Objective-C can be mixed freely, with only a few caveats. Check out /NextDeveloper/Examples/AppKit/CalculatorLab++ John -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!! Edmonds, WA 98026-4433 Independent NeXTSTEP Developer -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!!
Newsgroups: comp.sys.next.programmer From: jjfeiler@relief.com (John Jay Feiler) Subject: Re: eject of floppy from command-line Message-ID: <CFMyC5.3M7@relief.com> Sender: jjfeiler@relief.com (John Jay Feiler) Organization: Relief Consulting & Development References: <1993Oct28.091954.20569@cnplss5.cnps.philips.nl> Date: Fri, 29 Oct 1993 01:48:04 GMT In article <1993Oct28.091954.20569@cnplss5.cnps.philips.nl> schaik@cnplss5.cnps.philips.nl (Willem van Schaik) writes: > Hi, > > Who has a fragment of code that enables me to make an eject-command > that can be issued from the command line. I want to be able to > include it in scripts. > > Willem > schaik@cnplss5.cnps.philips.nl > /usr/etc/disk -e /dev/rfd0a -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!! Edmonds, WA 98026-4433 Independent NeXTSTEP Developer -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!!
From: ponchy_c@torion.epita.fr (cedric ponchy) Newsgroups: comp.sys.next.programmer Subject: Re: libg++-2.4/NS 3.0 Date: 1 Nov 1993 06:40:33 GMT Organization: Epita (French Computer Science school) Sender: ponchy_c@torion (cedric ponchy) Distribution: world Message-ID: <2b2b11$bh6@boson.epita.fr> References: <2aov1i$on9@terminator.rs.itd.umich.edu> [munch...] |> Hi. I'm looking to find out if anyone has gotten libg++-2.4 to compile for |> NeXTStep 3.0? Unfortunately, it's different that 3.1 :( |> |> Thanx...alex... [munch...] Unfortunately Next's cc is gcc 2.2; libg++-2.4 has features that cc can't compile, especially in the templates. But there is a solution: Get gcc-2.4.5, compile it (it's pretty easy, like all GNUs. Do configure, do make, change one thing or two in some headers if necessary, 'cause cc may complain if you didn't connfigured the makefile properly) Install gcc-2.4.5 in something like /usr/local in your file system. Then compile libg++. It works fine with NS applications also. Have fun! -- Cedric "ponpon" PONCHY //\\Oo//\\ "to be or not to be? Not to be..." ~~~~~~~~~~~~~~~~~~~~ e-mail: ponpon@free.fdn.org (NeXTMail welcome) or ponpon@free.fr if bounced back
Newsgroups: comp.sys.next.programmer From: botma@cs.utwente.nl (Bart Botma) Subject: cc(++) error: conflicting specification deriving ... Message-ID: <CFt0yq.Juo@cs.utwente.nl> Sender: usenet@cs.utwente.nl Organization: Twente University, Dept. of Computer Science Date: Mon, 1 Nov 1993 08:30:24 GMT Dictionary.C:8: conflicting specification deriving virtual function ... I'm trying to compile the ET++ package on my NeXT with (g)cc(++) and I'm baffled by the above error message. Any clues to what might be wrong? Thanks. -- ___/T\_______ Bart Botma, botma@cs.utwente.nl, University of Twente ,--_ |___\I/ _ __| Department of Computer Science, Tele-Informatics & /)_( ) | | O / \ (_ | Open Systems Group, P.O.Box 217, NL-7500 AE, Enschede (___ / |_|__S_\_/___)| The Netherlands,phone:+31-53-893755,fax:+31-53-333815 =/ \)
Newsgroups: comp.sys.next.sysadmin,comp.sys.next.hardware,comp.sys.next.programmer Subject: Re: Can I turn on/off the sound from the command-line? Message-ID: <SCOTT.93Nov1031711@nic.gac.edu> From: scott@nic.gac.edu (Scott Hess) Date: 1 Nov 93 03:17:11 References: <1993Oct26.174404.6180@beech.csis.gvsu.edu> Organization: Is a sign of weakness In-reply-to: wissner@beech.mcs.gvsu.edu's message of Tue, 26 Oct 1993 17:44:04 GMT In article <2ajtit$41i@master.cs.rose-hulman.edu>, schultrj@NeXTwork.Rose-Hulman.Edu writes: >The only thing I ever came up with for this was the short program like >this: > >#import <soundkit/soundkit.h> >#import <appkit/publicWraps.h> > >void main() >{ > [Sound setMute:YES]; > [Sound setVolume:0.94 :0.94]; > } > >Then compile (with the right libraries...) and put the file where you want >it. You can make another program with setMute:NO and call it something >else. Anybody have a better way? Here's a little hack I wrote for someone with a similar problem: #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # sndvolume.c # This archive created: Mon Nov 1 03:09:45 1993 export PATH; PATH=/bin:$PATH echo shar: extracting "'sndvolume.c'" '(2816 characters)' if test -f 'sndvolume.c' then echo shar: will not over-write existing file "'sndvolume.c'" else sed 's/^X//' << \SHAR_EOF > 'sndvolume.c' X/* sndvolume.c X * X * cc -g -O2 -s -object -o sndvolume sndvolume.c X * X * Set some volume-related sound parameters. "sndvolume" with no parameters X * X * Copyright 1993 Scott Hess. This source code may be redistributed X * and modified without restriction. Well, one restriction - do not X * claim that you wrote it. X * X * Scott Hess X * 12901 Upton Avenue South, #326 X * Burnsville, MN 55337 X * (612) 895-1208 X * scott@gac.edu X * shess@ssesco.com X */ X#import <libc.h> X#import <sound/utilsound.h> X Xvoid main( int argc, char **argv) X{ X int left, right, on; X SNDGetVolume( &left, &right); X SNDGetMute( &on); X if( argc==1) { X printf( "left %d right %d %s\n", left, right, on ? "unmute" : "mute"); X exit( 0); X } X while( argc>1) { X if( !strcasecmp( argv[ 1], "mute")) { X if( on) { X on=0; X } X } else if( !strcasecmp( argv[ 1], "unmute")) { X if( !on) { X on=1; X } X } else if( !strcasecmp( argv[ 1], "right")) { X if( argc>2) { X argc--; X argv++; X if( argv[ 1][ 0]=='+' || argv[ 1][ 0]=='-') { X right+=atoi( argv[ 1]); X } else if( isdigit( argv[ 1][ 0])) { X right=atoi( argv[ 1]); X } else { X fprintf( stderr, "Bad volume '%s'\n", argv[ 1]); X exit( 1); X } X } X } else if( !strcasecmp( argv[ 1], "left")) { X if( argc>2) { X argc--; X argv++; X if( argv[ 1][ 0]=='+' || argv[ 1][ 0]=='-') { X left+=atoi( argv[ 1]); X } else if( isdigit( argv[ 1][ 0])) { X left=atoi( argv[ 1]); X } else { X fprintf( stderr, "Bad volume '%s'\n", argv[ 1]); X exit( 1); X } X } X } else if( isdigit( argv[ 1][ 0])) { X left=atoi( argv[ 1]); X right=atoi( argv[ 1]); X } else if( argv[ 1][ 0]=='+' || argv[ 1][ 0]=='-') { X left+=atoi( argv[ 1]); X right+=atoi( argv[ 1]); X } else { X fprintf( stderr, "Bad parameter '%s'\n", argv[ 1]); X fprintf( stderr, "Usage:\n"); X fprintf( stderr, "sndvolume\n\tPrint out current volume status.\n"); X fprintf( stderr, "sndvolume [mute|unmute] [[left|right] [+|-]volume]\n"); X fprintf( stderr, "\tparameters may be applied multiple times in any order.\n"); X fprintf( stderr, "\tmute and unmute modify the mute status of the speaker.\n"); X fprintf( stderr, "\tleft or right specifies a channel to apply a volume change to.\n"); X fprintf( stderr, "\tabsolute volumes set the channel's volume.\n"); X fprintf( stderr, "\trelative volumes adjust the channel's volume.\n"); X fprintf( stderr, "\tif a channel is not specified, both are changed.\n"); X exit( 1); X } X argc--; X argv++; X } X if( left<0 || left>43) { X fprintf( stderr, "Left volume %d exceeds range.\n", left); X exit( 1); X } X if( right<0 || right>43) { X fprintf( stderr, "Right volume %d exceeds range.\n", right); X exit( 1); X } X SNDSetVolume( left, right); X SNDSetMute( on); X exit( 0); X} SHAR_EOF if test 2816 -ne "`wc -c < 'sndvolume.c'`" then echo shar: error transmitting "'sndvolume.c'" '(should have been 2816 characters)' fi fi # end of overwriting check # End of shell archive exit 0 Later, -- scott hess <scott@nic.gac.edu> <I can handle NeXTMail, but don't like it> 12901 Upton Avenue South, #326 Burnsville, MN 55337 (612) 895-1208 Anytime! <C++: ... One Language to bring them all and in the darkness bind them> <In the Land of Redmond where the Shadows lie.>
Newsgroups: comp.sys.next.programmer Subject: Helpful Alert Panel of the Day Message-ID: <SCOTT.93Nov1033155@nic.gac.edu> From: scott@nic.gac.edu (Scott Hess) Date: 1 Nov 93 03:31:55 Distribution: world Organization: Is a sign of weakness So, it's late, and I hit the Close button on a ProjectBuilder Window that was in the process of building. And I got the Alert Panel: +--------------------------------------------+ | X Close | +--------------------------------------------+ | Template is being built.. | | | | +------+ +-----+ | | |Cancel| |Abort| | +--------------------------+------+-+-----+--+ Template, of course, is the name of my program. The rest should be semi-obvious. This panel is funny for so many reasons ... (Yes, the |, + and - indicate that scott has been awake far past his quota), -- scott hess <scott@nic.gac.edu> <I can handle NeXTMail, but don't like it> 12901 Upton Avenue South, #326 Burnsville, MN 55337 (612) 895-1208 Anytime! <C++: ... One Language to bring them all and in the darkness bind them> <In the Land of Redmond where the Shadows lie.>
Newsgroups: comp.sys.next.programmer From: botma@cs.utwente.nl (Bart Botma) Subject: ld error: undefined _mkfifo Message-ID: <CFt518.L0E@cs.utwente.nl> Sender: usenet@cs.utwente.nl Organization: Twente University, Dept. of Computer Science Date: Mon, 1 Nov 1993 09:58:19 GMT Although there is a (POSIX) manual page for mkfifo, using `strings /usr/lib/*.a | grep mkfifo` does not show it. Where is mkfifo? Thanks. -- ___/T\_______ Bart Botma, botma@cs.utwente.nl, University of Twente ,--_ |___\I/ _ __| Department of Computer Science, Tele-Informatics & /)_( ) | | O / \ (_ | Open Systems Group, P.O.Box 217, NL-7500 AE, Enschede (___ / |_|__S_\_/___)| The Netherlands,phone:+31-53-893755,fax:+31-53-333815 =/ \)
Newsgroups: comp.sys.next.programmer From: gary@nshade.uah.ualberta.ca (Gary Ritchie) Subject: Mandlebrot.app and PDO Message-ID: <1993Nov1.155002.27384@kakwa.ucs.ualberta.ca> Sender: news@kakwa.ucs.ualberta.ca Organization: University Of Alberta, Edmonton Canada References: <jeffo.752102879@uiuc.edu> Date: Mon, 1 Nov 1993 15:50:02 GMT (I just regained my news feed, so I hope this isn't really old news) At NEXT's recent presentation in Calgary they showed a version of the Mandlebrot application that performed its calculations on an HP workstation and displayed the results on a machine running NSI. They said it was via Portable Distributed Objects. I didn't get to read the source code, but I believed them anyway :-). They ran the PDO version and the standard version side by side. Guess which one was *way* faster. They even yanked out the network cable (the drawing stopped) and put it back (the drawing continued). -- Gary Ritchie : NeXT Programmer : Department of Medicine gary@uaneuro.uah.ualberta.ca : NEXTMAIL Welcome
Newsgroups: comp.sys.next.programmer From: sta@logibec.com Subject: Re: eject of floppy from command-line Message-ID: <1993Oct30.214420.9051@logibec.com> Sender: news@logibec.com Organization: Logibec Groupe Informatique Ltee, QC, Canada References: <1993Oct29.063314.28242@coco.ms.washington.edu> Date: Sat, 30 Oct 1993 21:44:20 GMT In article <1993Oct29.063314.28242@coco.ms.washington.edu> zeno@abstractsoft.com (Sean T. Lamont) writes: > > Ejecting floppy from a command line: > > You can either use ioctl's and have write permissions for the > particular device you want to eject (I think it's DKIOEJECT or some > such...) or you can forge a workspace connection from the shell and > use NXWorkspaceRequestProtocol to eject the disk in workspace > (probably the recommended method.) > > Sample code follows: compile as > > cc -ObjC eject.c -lNeXT_s > > > > > > #include<appkit/appkit.h> > > @interface BogusObject:Object > { > } > - appDidInit:sender; > > @end > @implementation BogusObject > > > - appDidInit:sender > { > [NXApp stop:self]; > } > > @end > > > > main(argc,argv) > int argc; > char **argv; > { > > if (argc < 2){ > fprintf(stderr,"Usage: eject [drivepath]\n",argv[0]); > exit(-1); > } > > NXApp = [Application new]; > [NXApp setDelegate:[[BogusObject alloc] init]]; > [NXApp run]; > [[Application workspace] unmountAndEjectDeviceAt:(argv[1])]; > [NXApp free]; > exit(0); > } > > > -- > Sean T. Lamont | Ask me about the WSI-Fonts > Abstract Software | Professional collection for NeXT > lamont@abstractsoft.com |____________________________________ on the UNIX shell: disk -e /dev/rfd0a Stephane Ah-ki Logibec Group sta@logibec.com
Newsgroups: comp.sys.next.programmer From: gcolello@biosphere.Stanford.EDU (Greg Colello) Subject: Re: Programmatic host 'ping'ing Message-ID: <1993Nov1.172535.22176@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: Stanford University References: <29123.199310291152@gpo.gb.swissbank.com> Date: Mon, 1 Nov 93 17:25:35 GMT In article <29123.199310291152@gpo.gb.swissbank.com> bisselt@gb.swissbank.com (Timothy Bissell) writes: > > Environment: C code on NeXTstep 3.1 in a heterogenous Unix network (Suns/NeXTs) > > Inside my Obj-C program I need to check if a given machine > (called, say, "edmund") is on the network and alive, or not; > much as the Unix command ping(1) does. As I am a complete > Networking novice, I wonder if any one out there has any > example code, or can point me to the right functions to use. > > So what I need is a pointer to a library function of the form > > int HostIsResponding(const char *hostname, unsigned int timeoutSeconds); > > or code that I could wrap up into a function of this form. > > > Thanks in advance for your help, > --- > tim > -- > Work: bisselt@gb.swissbank.com | +44 71 711 2984 > Home: tim@ursidae.demon.co.uk | > +44 480 451 022 I created a shell script I call "hostup" to do it. Below is listed the hostup shell script. After it is the "ExecuteRemoteCommand" shell script that uses hostup to decide whether to do a remote execution: --------------------------------------------------------------- hostup: #! /bin/csh -f
#### # hostup (Syntax: hostup hostname) # (a C-shell script that reports final ping status for a remote host.) # (Returns "up" if host is 100% accessible, else returns "down %inaccessible") # (Also sets $status variable for a calling script by using an exit of 1 or 0) ########################################################################## #### # # (Do 10 pings and accumulate stats, extract %packets lost.) set percentlost = `ping $argv[1] 56 10 | grep "packet loss" | awk '{print $7}'` # # (Report remote host network status.) if ($percentlost == "") then echo "unknown host $argv[1]" exit 1 else if ($percentlost == "0%") then echo "$argv[1] UP 100%" exit 1 else echo "$argv[1] DOWN $percentlost" exit 0 endif # --------------------------------------------------------------- ExecuteRemoteCommand: #! /bin/csh -f
#### # ExecuteRemoteCommand (Syntax: ExecuteRemoteCommand) (Calls: hostup) # A C-shell script that runs on biosphere that tests if biosphere, stoma, # and jasper are available. If so, the (remote command) script is executed remotely; # else nothing is done.
#### #2 # Print out the date and time as a message. echo " " echo `date` # # Check whether Jasper is up. hostup Jasper.Stanford.EDU set jaspstat = $status # # Check whether biosphere is up. hostup biosphere.Stanford.EDU set biostat = $status # # Check whether stoma is up. hostup stoma.Stanford.EDU set stomastat = $status # # Execute remote command only if all systems are up. if ($jaspstat && $biostat && $stomastat) then /usr/ucb/rsh (remote command) echo "Executed umountbs remotely on Jasper." else echo "Did NOT execute umountbs remotely on Jasper." endif # # Produce a divider for the above block of messages. echo "-----------------------------------------------" # ----------------------------------------------------------------- Greg Colello Carnegie Institution, Department of Plant Biology Stanford University gcolello@biosphere.stanford.edu (NeXT mail OK)
Newsgroups: comp.sys.next.programmer From: jscott@plato.helios.nd.edu (james scott) Subject: SUMMARY: How to check/set volume + brightness Message-ID: <1993Nov1.182446.29917@news.nd.edu> Sender: news@news.nd.edu (USENET News System) Organization: University of Notre Dame Date: Mon, 1 Nov 1993 18:24:46 GMT Folx, First of all, thanks muchly to everyone who responded. I received all sorts of ideas. As it turns out, I bothered to look at the 3.1 release notes last night. If I had done that in the first place none of this would be necessary. 3.1 provides a nice API to check and set both sound volume and screen brightness. Look in the 3.1 release notes for further details. regards, JLS -- James Scott | jscott@bach.helios.nd.edu Consultant Team Leader, | Scott.15@nd.edu Debartolo Computer Cluster | 219.634.1517 Banectomy, n.: The removal of bruises on a banana. -- Rich Hall, "Sniglets"
From: Mark G. Tacchi Newsgroups: comp.sys.next.programmer Subject: Re: Knowing if a screen is running in color? Date: 30 Oct 1993 00:27:16 GMT Organization: NeXT, Inc. Distribution: world Message-ID: <2ascd4$avq@rosie.next.com> References: <ARROUYE.93Oct29202440@petole.imag.fr> In article <ARROUYE.93Oct29202440@petole.imag.fr> arrouye@petole.imag.fr (Yves Arrouye) writes: > I would like to know if its possible to know when a screen is a color > one, and is running in color. It should be, because Preferences does > it for the screen background color (even if the NeXT1 BackgroundColor > default is not set, of course...). But how can I know that (I don't > think trying to test if a view should draw in color is a good test, > nor is the idea of asking for the best color screen...) > You can find the color depth by using, int depth; if ((depth = [window depthLimit]) == NX_DefaultDepth) { depth = [Window defaultDepthLimit]; } /*endif*/ depth should be one of the following enumerated values: NX_DefaultDepth NX_TwoBitGrayDepth NX_EightBitGrayDepth NX_TwelveBitRGBDepth NX_TwentyFourBitRGBDepth -Mark -- Mark G. Tacchi MTacchi@NeXT.COM NeXT Computer, Inc. (NeXT Mail Welcome) "My opinions are my own, and do not necessarily reflect those of my employer."
From: ringer@spf.trw.com (Brian Ringer) Newsgroups: comp.sys.next.programmer Subject: Re: libg++-2.4/NS 3.0 Date: 1 Nov 1993 19:11:55 GMT Organization: TRW Sensor Data Processing Center, Redondo Beach, CA Distribution: world Message-ID: <2b3n1r$kqd@deneva.sdd.trw.com> References: <2aov1i$on9@terminator.rs.itd.umich.edu> <2b2b11$bh6@boson.epita.fr> Summary: I'll admit it, I'm lazy In article <2b2b11$bh6@boson.epita.fr> ponchy_c@torion.epita.fr (cedric ponchy) writes: >|> Hi. I'm looking to find out if anyone has gotten libg++-2.4 to compile for >|> Thanx...alex... > >Unfortunately Next's cc is gcc 2.2; libg++-2.4 has features that cc can't >compile, especially in the templates. But there is a solution: >Get gcc-2.4.5, compile it (it's pretty easy, like all GNUs. Do configure, [deleted] >Then compile libg++. Has anyone done this already? There are probably quite a few people (besides myself) who are interested in having libg++ and are about to all go through the same set of steps to build it. If someone who has already done it could put it on an ftp site, there would probably be a lot of grateful people (including myself of course - I'm interested in 3.1-Intel binaries). Thanks much. Brian
Newsgroups: comp.sys.next.programmer From: joe@FreemanSoft.com (Joe Freeman) Subject: Re: Mandlebrot.app and PDO Message-ID: <1993Nov1.205504.13418@FreemanSoft.com> Sender: jfreeman@FreemanSoft.com Organization: FreemanSoft Inc. References: <1993Nov1.155002.27384@kakwa.ucs.ualberta.ca> Distribution: usa Date: Mon, 1 Nov 1993 20:55:04 GMT In article <1993Nov1.155002.27384@kakwa.ucs.ualberta.ca> gary@nshade.uah.ualberta.ca (Gary Ritchie) writes: > (I just regained my news feed, so I hope this isn't really old news) > > At NEXT's recent presentation in Calgary they showed a version of the > Mandlebrot application that performed its calculations on an HP > workstation and displayed the results on a machine running NSI. They said > it was via Portable Distributed Objects. I didn't get to read the source > code, but I believed them anyway :-). > > They ran the PDO version and the standard version side by side. Guess > which one was *way* faster. They even yanked out the network cable (the > drawing stopped) and put it back (the drawing continued). When comparing a 96 Mhz HP to a 66Mhz Intel box, we figured it somewhere around 10x the performance. This is because the demo is a floating point application, the HP is really fast, and the HP has a superscaler architecture with an interger and floating point unit that can run in parallel. -- Joe Freeman FreemanSoft Inc. A NEXTSTEP software and consulting services company. Electronic Mail: Joe@FreemanSoft.com (NeXT Mail) Voice: 919.783.7033
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: markus@isolde.stgt.sub.org (Markus Stoll) Subject: Re: Emacs 19 under NS natively (was: Get events without [NXApp run]?) Content-Type: text/plain; charset=ISO-8859-1 Message-ID: <1993Oct31.091649.6840@isolde.stgt.sub.org> Followup-To: comp.sys.next.programmer,comp.sys.next.software Content-Transfer-Encoding: 8bit Organization: GbR Stoll & Stoeffler, Stuttgart, Germany References: <SPETERS.93Oct26105228@samsun.us.oracle.com> Mime-Version: 1.0 Date: Sun, 31 Oct 1993 09:16:49 GMT Stephen Peters (speters@samsun.us.oracle.com) wrote: > In article <REUVEN.93Oct26101733@alexander-hamilton.mit.edu> reuven@athena.mit.edu (Reuven Lerner) writes: > > >>>>> On Mon, 25 Oct 1993 19:42:04 GMT, cedman@princeton.edu (Carl > > >>>>> Edman) said: > > > Carl> Michael Brouwer and I ported emacs 19.19 to run under NS just > > Same here. 19.19 is quite stable, frankly -- I don't see any pressing > needs to worry about future revisions just yet. Make source available > (since that's the GNU way :-), and add a note saying that you will not > be able to actively support it in parallel to the standard > moving-target GNU releases. Yes, PLEASE release this stuff! -- Markus Stoll, markus@isolde.stgt.sub.org (NeXTMail preferred) stoll@vaxph.mpi-stuttgart.mpg.de
Newsgroups: comp.sys.next.programmer From: paccorti@nextsrv1.andi.org (Peter Accorti) Subject: Makefile question Message-ID: <CFuDB8.5H1@nextsrv1.andi.org> Keywords: makefile header Sender: usenet@nextsrv1.andi.org (usenet) Organization: Association of NeXTSTEP Developers International Date: Tue, 2 Nov 1993 01:54:43 GMT Is there a simple way (via make preamble or whatever) to get make to recompile all .o files that are dependent on a changed header file? I realize that I could enumerate each dependency myself but I'm hoping there is some simple flag that will take care of this for me. I feel so stupid tracking down a bug to a .o file that should have been recompiled when I changed a dependent header. Any help would be appreciated!!
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: trying to locate library Message-ID: <1993Nov2.043623.10264@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <CFpnw5.EzC@watserv1.uwaterloo.ca> Date: Tue, 2 Nov 1993 04:36:23 GMT In article <CFpnw5.EzC@watserv1.uwaterloo.ca> optadm7@watserv1.uwaterloo.ca (J.Cassidy - Optometry) writes: >I am trying to find the library to link with my program >which uses functions such as 'tcgetattr' and 'tcsetattr'. > >If anyone is aware of which library to use, I would be >greatful if you let me know. These functions are NOT supported by NeXT. (Valid for all NEXTSTEP Releases up to and including 3.1) Please refer to the man page tty(4). -=EPS=-
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: ld error: undefined _mkfifo Message-ID: <1993Nov2.044149.10643@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <CFt518.L0E@cs.utwente.nl> Date: Tue, 2 Nov 1993 04:41:49 GMT >Although there is a (POSIX) manual page for mkfifo, >using `strings /usr/lib/*.a | grep mkfifo` does not show it. >Where is mkfifo? As of NEXTSTEP 3.1, nowhere. There are *no* POSIX libraries. Read the Release Notes. Use mknod(path, S_IFIFO|mode, 0); -=EPS=-
From: Conrad_Geiger@NeXT.COM (Conrad Geiger) Newsgroups: comp.sys.next.programmer Subject: Job Position Open at NeXT: Corporate Systems Engineer Date: 1 Nov 1993 16:05:40 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9311012205.AA25446@toto.NeXT.COM> Send your resume to: Karen Steele NeXT 900 Chespeake Drive Redwood City, CA 94063 Fax: 415 780-3828 Open Position: Corporate Systems Engineer Department: Marketing Communications, Redwood City, California Primary Responsibilities Provide the technical expertise necessary to explain, support, and evangelize NEXTSTEP to all levels of customers and prospects, press, industry analysts, and others. Development and delivery of seminars and tutorials, rapid prototyping for feasibility analysis and demonstration, discussion and integration of NEXTSTEP within heterogenous computing environments. Significant travel involved - approx 70%. Position Requirements: * UNIX system administration in a heterogeneous networking environment * NEXTSTEP & Objective-C programming * Windowing application development (NEXTSTEP, Macintosh, X11, MSWindows, etc.) * Teaching experience * GUI design and implementation * Database application development (Sybase, Oracle, etc.) * TCP/IP, NFS, YP/NIS, distributed application design * Advanced application development experience in one of C, FORTRAN, Smalltalk, ... * Mac / PC / workstation application development and use * B.S. in Computer Science, Mathematics, Physics, Engineering, or equivalent * 2+ years experience in a computer-related field * Ability to articulate technically complex issues to a wide variety of audiences * Excellent verbal/presentation and written communication skills * Ability to "think on your feet"
Newsgroups: comp.sys.next.programmer From: zeno@abstractsoft.com (Sean T. Lamont) Subject: Re: eject of floppy from command-line Message-ID: <1993Nov2.080210.102@coco.ms.washington.edu> Sender: news@coco.ms.washington.edu (C-news admin) Organization: Abstract Software References: <1993Oct29.063314.28242@coco.ms.washington.edu> <1993Oct30.214420.9051@logibec.com> Date: Tue, 2 Nov 1993 08:02:10 GMT In article <1993Oct30.214420.9051@logibec.com> sta@logibec.com writes: >In article <1993Oct29.063314.28242@coco.ms.washington.edu> >zeno@abstractsoft.com (me...) writes: >> >> Ejecting floppy from a command line: >> >> You can either use ioctl's and have write permissions for the >> particular device you want to eject (I think it's DKIOEJECT or some >> such...) or you can forge a workspace connection from the shell and >> use NXWorkspaceRequestProtocol to eject the disk in workspace >> (probably the recommended method.) >> > >on the UNIX shell: > disk -e /dev/rfd0a > >Stephane Ah-ki >Logibec Group >sta@logibec.com The reason I say that this is the preferred way is that if you do it with IOCTL's it leaves the workspace in an odd state. If a disk is mounted and you use disk -e, the workspace may still think it is mounted. Using NXWorkspaceRequestProtocol both ejects the disk and does it "cleanly" in terms of the workspace. Also, this is a good way to invoke the infamous 3.0 "disk not ejecting" bug. -- Sean T. Lamont | Ask me about the WSI-Fonts Abstract Software | Professional collection for NeXT lamont@abstractsoft.com |____________________________________
Newsgroups: comp.sys.next.programmer From: arrouye@petole.imag.fr (Yves Arrouye) Subject: Re: Knowing if a screen is running in color? In-Reply-To: Mark G. Tacchi's message of 30 Oct 1993 00:27:16 GMT Message-ID: <ARROUYE.93Nov2100754@petole.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France References: <ARROUYE.93Oct29202440@petole.imag.fr> <2ascd4$avq@rosie.next.com> Date: Tue, 2 Nov 1993 09:07:53 GMT For those (like me) getting the screen depth from within an object which does not have a window to access, the following will work too: const NXScreen* deepestScreen = [NXApp colorScreen]; int depth; depth = deepestScreen->depth; if (depth == NX_DefaultDepth) { depth = [Window defaultDepthLimit]; } Then, if (depth == NX_TwoBitGrayDepth || depth == NX_EightBitGrayDepth) the screen is not running in color. Yves. -- Advocates for the C++ school claim that a well designed Yves Arrouye program does not need the extra flexibility (a lie), Yves.Arrouye@imag.fr while advocates for the Objective-C school claim that (33) 76 57 48 64 the errors are no problem in practice (another lie). NeXT Mail
Newsgroups: comp.sys.next.programmer From: arrouye@petole.imag.fr (Yves Arrouye) Subject: Re: Makefile question In-Reply-To: paccorti@nextsrv1.andi.org's message of Tue, 2 Nov 1993 01:54:43 GMT Message-ID: <ARROUYE.93Nov2103314@petole.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France References: <CFuDB8.5H1@nextsrv1.andi.org> Date: Tue, 2 Nov 1993 09:33:14 GMT Use the depend target from within ProjectBuilder. But note that the standard depend rule does not work because cc's -MM option is broken in 3.1 (it is fixed in 3.2, said NeXT). So you'll have to write your own depend rule in the Makefile.postamble (for example), using makedepend (at least a modified version of it which can recognize #import directives when it parses the file). Make depend before compiling when you have changed dependencies to your project (added a .m or .c, or changing included or imported files, ...) Yves -- Advocates for the C++ school claim that a well designed Yves Arrouye program does not need the extra flexibility (a lie), Yves.Arrouye@imag.fr while advocates for the Objective-C school claim that (33) 76 57 48 64 the errors are no problem in practice (another lie). NeXT Mail
From: otto@coactive.com (Otto Lind) Newsgroups: comp.sys.next.programmer Subject: Re: eject of floppy from command-line Date: 2 Nov 1993 05:27:36 GMT Organization: Coactive Aesthetics Inc. Message-ID: <2b4r48INNiu9@disc.coactive.com> References: <1993Oct28.091954.20569@cnplss5.cnps.philips.nl> <CFMyC5.3M7@relief.com> John Jay Feiler (jjfeiler@relief.com) wrote: : : /usr/etc/disk -e /dev/rfd0a Just doing the above will leave the file system mounted (if it was a dos disk). I use the following script to do the eject: #!/bin/sh MOUNTED=`/usr/etc/mount -p | egrep '/dev/rfd0b'` if test ! -z "$MOUNTED" then echo unmounting /dev/rfd0b /etc/umount /dev/rfd0b fi echo ejecting disk /usr/etc/disk -e /dev/rfd0b Otto P.S. What is the difference between /dev/rfd0a and /dev/rfd0b? -- Otto Lind Coactive Aesthetics otto@coactive.com P.O. Box 425967, San Francisco, CA 94142 netcom!coactive!otto voice:(415)626-5152 fax:(415)626-6320
Newsgroups: comp.sys.next.programmer From: lloyd@world.std.com (Chris Lloyd) Subject: IB alt-drag is no more in 3.x ? Message-ID: <CFvEsH.CyL@world.std.com> Organization: The World Public Access UNIX, Brookline, MA Date: Tue, 2 Nov 1993 15:24:16 GMT The NS 2.x InterfaceBuilder had a nice feature where you could alt-drag UI objects in and out of groupings as well as among windows - is there such a thing in the 3.0 version? I haven't been able to find it, and miss it dearly. Cut/Paste works ok, but it destroys the connections in the process. Danka, -- :: Christopher Lloyd :: Yrrid Incorporated :: lloyd@world.std.com :: :: boy, don't we all look _smashing_ in red. ::
From: gerti@tms-gmbh.de (Gerd Knops) Newsgroups: comp.sys.next.programmer Subject: mallocLibraries and -all_load Date: 2 Nov 1993 11:24:39 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9311021238.AA10768@Cranach.tms-gmbh.de> Hi! We are having a quite hard time trying to use MallocDebug with our Program. The problem: Our program is modular, so we are using runtime loading, with source code to the modules spreaded all over the country. For this reason i have to use the -all_load flag, so that all library functions get loaded into the initial program. In an attempt to debug some memory problem, i tried to link the MallocDebug Library to our code. That ends up in a lot of multiple defined symbols, so i added the -m flag to the linker flags. But this leads to the following message: ld: Can't open: -L/lib/m68k for -sectcreate -lcrt0.o -L/lib/m68k (No such file or directory, errno = 2) Here are my questions: 1. Is there any way to get the MallocDebug Library linked to our code and still using the -all_load flag? (Collecting all the .o-Files and forgetting about the -all_load is quite out of the question) 2. If there is (hopefully) a positive answer to 1, this might also enable us to use the Profile Libraries. But is there any way to do profiling on any runtime loaded code? Please answer to my E-Mail address, i will summarize. Thanks in advance!!! Gerd ########################################################## Gerd Knops tms GmbH, Regensburg E-Mail: gerti@tms-gmbh.de In a REAL bar for programmers you can order up to 31 coffees with one hand... ##########################################################
Newsgroups: comp.sys.next.programmer From: arrouye@petole.imag.fr (Yves Arrouye) Subject: Printing question Message-ID: <ARROUYE.93Nov2175012@petole.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Tue, 2 Nov 1993 16:50:12 GMT Hi, I have a big problem regarding printing of a view. I have a window with a view showing a simplified view of something. This something is organized in pages, and I would let the user the choice between 4 printing options: 1. Print the view in its window (i.e. [window smartPrintPSCode:sender]) 2. Print the current page of the something 3. Print the whole something on only one physical page 4. Print the whole something, one page at a time. But (you've guessed it) I do not know how to do that. Looking at PaginationLab, it seems that the kit will invoke my View's drawSelf:: method. However, I would like to print not the view, but the something (an NXImage, actually). Any help would be extremely helpful, Thanks, Yves. -- Advocates for the C++ school claim that a well designed Yves Arrouye program does not need the extra flexibility (a lie), Yves.Arrouye@imag.fr while advocates for the Objective-C school claim that (33) 76 57 48 64 the errors are no problem in practice (another lie). NeXT Mail
From: M.Crawford@dcs.sheffield.ac.uk (Malcolm Crawford) Newsgroups: comp.sys.next.programmer Subject: Re: Mandlebrot.app and PDO Date: 2 Nov 1993 12:05:02 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9311021756.AA08184@dcs.shef.ac.uk> Does anybody have the code for a PDO (or just DO :-) version of Mandelbrot? -- it would be a real useful example to have. Feel free to NeXTMail me source! Have fun, mmalcolm.
From: kay@cs.tu-berlin.de (Kay Neuenhofen) Newsgroups: comp.sys.next.software,comp.sys.next.programmer,comp.sys.next.sysadmin Subject: Request for user experience with PhoneKit Date: 2 Nov 1993 18:48:47 GMT Organization: Technical University of Berlin, Germany Message-ID: <2b6a2f$28m@news.cs.tu-berlin.de> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Is there anyone out there using PhoneKit ? Where do you use it for ? (connectivity or telephony ?) Positive/negative experience ? Please reply via email to kay@cs.tu-berlin.de, I'll summarize. Thanks
Newsgroups: gnu.misc.discuss,comp.sys.next.programmer From: gregg@outback.ny.tpc.com (Greg Gershowitz) Subject: Can't compile gzip on NeXTstep Message-ID: <1993Nov2.154108.24260@outback.ny.tpc.com> Organization: Out Back Trading Date: Tue, 2 Nov 1993 15:41:08 GMT I am making forays into the world of NeXTstep, and I'm already having problems with the compiler. I am trying to compile gzip 1.1.2. I ran "configure". When I try to make, I get a whole bunch of warnings about "conflicting types for built-in function" for memcpy, memcmp, strlen. Then I get a fatal error in "gzip.c" at line 1319 in function 'reset_times' : storage size of timep isn't known. What is happening here? I was able to compile this on my Sparc's using both cc and gcc (2.4.3.1). [PS: For those in gnu.misc.discuss, could you please e-mail me, my site doesn't get that group.] -Greg G -- "No matter who you are, no matter what you look like, deep down in the gunny sack of your soul, in the top drawer, in the back, on the bottom, we all have a pair of pants with a pocket full of kryptonite." "When God belches, it sounds OK" - Spin Doctors, Jones Beach, 7/9/93
From: Charles William Swiger <infidel+@CMU.EDU> Newsgroups: comp.sys.next.programmer Subject: Re: eject of floppy from command-line Date: Tue, 2 Nov 1993 14:34:57 -0500 Organization: Fifth yr. senior, Chemistry, Carnegie Mellon, Pittsburgh, PA Message-ID: <8gpfNV200WB9Nbxhl=@andrew.cmu.edu> In-Reply-To: <2b4r48INNiu9@disc.coactive.com> Excerpts from netnews.comp.sys.next.programmer: 2-Nov-93 Re: eject of floppy from co.. by Otto Lind@coactive.com > P.S. What is the difference between /dev/rfd0a and /dev/rfd0b? From fd(4): DESCRIPTION This driver allows access to a number of Sony MPX-111N floppy disk drives. The driver has both block and character oriented interfaces. The form of the block device is /dev/fd<unit>a where <unit> is a digit from 0 to 7, and the ``a'' indicates the ``a'' partition. The floppy device only has one parti- tion per disk. For example, /dev/fd1a refers to unit 1. Similarly, a character device is accessed by /dev/rfd<unit><partition> where <partition> is either ``a'' or ``b.'' Partition b of the character device, such as fd0b, is a special device called the live partition. I/O to/from the live partition is used to access disks that do not have a valid label, and to access portions of disks normally inaccessible to the read() and write() calls - for example, the front porch. (Reading and writing the ``a'' partition of the character or block device requires a valid label on the disk.) I/O using the live partition has the following restrictions: + Reads and writes must start on a sector boundary. + The length of reads and writes must be an integral multi- ple of the sector size. -Chuck Charles William Swiger -- CMU...*crunch*! | 1. You can't fly. ------------------------------------------+ 2. Cars are always real, even AMS & normal mail: infidel@cmu.edu | when they're not. Failing that: cs4w+@andrew.cmu.edu | 3. Police are not your friends. NeXTmail: chuck@mon.slip.andrew.cmu.edu | 4. Fire burns.
Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin From: harv@narwal.ali.bc.ca (Harvey C. Dueck) Subject: Connecting a terminal to a serial port under NS/FIP Message-ID: <1993Nov2.191155.3476@narwal.ali.bc.ca> Organization: A.L.I. Technologies Distribution: na Date: Tue, 2 Nov 1993 19:11:55 GMT Has anyone had any success using a terminal connected to a serial port under NS/FIP? We have no problems using a Wyse 160 in vt100 emulation mode connecting to NS/FIP via a DEC terminal server, but when we try to connect via the serial port we see some weird behaviour. The fourth character in a line is frequently dropped, and the driver wants to map the F1 function key to the NULL character. We can probably deal with the latter problem via termcap changes, but the dropped characters are a concern. More details on the setup: - Wyse 160 in vt100 emulation mode - 19200 baud, 8 bits, no parity - modified /etc/gettytab so that the std.19200 entry reads g|std.19200|19200-baud:\ :sp#19200:p8:ap: - set up getty in /etc/ttys as ttyb "/usr/etc/getty std.19200" vt100 on secure - serial cable only has TX, RX and GND connected We tried reducing the baud rate to 9600, but characters were still being dropped. Any suggestions are welcome. I would prefer to rely on software flow control if possible, but I can connect the hardware flow control lines if necessary. I should point out that we had no trouble getting 19200 baud connections over a 3 wire cable under SVR4. - harv -- Harvey C. Dueck A.L.I. Technologies Ltd. harv@ali.bc.ca 320 - 3700 Gilmore Way Phone: (604) 433-3422 Ext. 314 Burnaby, British Columbia FAX: (604) 433-5712 V5G 4M1
From: dzoey@terminus.apexgrp.com (Joe Herman) Newsgroups: comp.sys.next.programmer,comp.sys.next.software Subject: Interface to NeXT Mail front end Date: 2 Nov 1993 15:34:43 -0500 Organization: The Apex Group Distribution: world Message-ID: <2b6g93$il8@terminus.apexgrp.com> Hello, I'm trying to figure out a way to have the NeXT mail program call my programs to send and receive mail. I want to replace sendmail when sending the mail and (here's the hard part) have the mail client call my program when retrieving mail instead of looking in the file system. Unfortunatly, the interface to the mail program doesn't seem to support this kind of direction. I'd rather not write my own client because I like the system Mail client. Anyone have any suggestions or pointers? Thanks, Joe Herman dzoey@apexgrp.com P.S. B.C., if you're out there, drop me a note or give me a call.
Newsgroups: comp.sys.next.programmer From: derek@nosloc.com (Derek Collison) Subject: Re: NEW RELEASE: GNU Objective-C Collection Library Message-ID: <CFvqCy.7xs@nosloc.com> Sender: derek@nosloc.com (Derek Collison) Organization: Nosloc Software Technologies References: <1993Oct26.212847.17959@cs.rochester.edu> Date: Tue, 2 Nov 1993 19:34:10 GMT In article <1993Oct26.212847.17959@cs.rochester.edu> mccallum@cs.rochester.edu (R. Andrew McCallum) writes: > I have just released a new version of the GNU Objective-C Collection Library. > Here's the README: >>>munch Does this run on NeXT? It seems the Readme says that it needs gcc 2.5 or higher, but NS 3.1 provides gcc 2.2.? =derek -- Derek Collison <---> derek@nosloc.com Nosloc Software Technologies
Message-ID: <s-%@byu.edu> Date: Tue, 2 Nov 93 16:48:36 MST Newsgroups: comp.sys.next.programmer Subject: Re: Disabling sound volume control keys References: <2au8g2$d7g@zip.eecs.umich.edu> Organization: Los Alamos National Laboratory, NM From: feijai@kolob (Sean Luke) In article <2au8g2$d7g@zip.eecs.umich.edu> blommer@quip.eecs.umich.edu (Michael Alan Blommer) writes: >Is there any way to disable the sound volume control keys? >I'm developing an application where I'd like to have the >volume set at a certain level during the entire time the >application is active. There is a setVolume:: (or something like that) option in the SoundKit. But if you'd like it, I've got an object I'm working on which tracks a variety of sound parameters and warns you if they've been changed, including: Mute Volume (left, right, mono) Deemphasis Peak volumes (make your own SoundMeter!) Number of Samples or seconds played Percent played Number of Samples recorded It's coming in an upcoming free palette with a stereo soundmeter and a sound-light (changes gray value based on max volume), and whatever other little sound gadgets I'm working on for my upcoming version of Resound. BTW, in the past Resound was a very buggy little toy app with a nice philosophy (to make it easy to write sound-manipulation code without having to do the entire surrounding application framework). I've held off of releasing my newer version until I had made some major updates to it. It now dynamically loads sound modules, has an inspector, tick marks, a stereo soundmeter (hmm, where did *that* come from?), sample updating during playing, tracking of volume etc., anda host of new stuff. But it *doesn't* have many new modules. Is anyone interested in donating to the project? I may release Resound as freeware, or perhaps as source under GNU release (I haven't decided yet). Anyway, if anyone would like an object, drop me a line at sean@digaudio.byu.edu Sean -- -------------------------------------------------------------------- Sean Luke MILK: It Comes From Cows sean@digaudio.byu.edu NeXTmail, MIME OK --------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: esky@marathon.cs.ucla.edu (Eskandar Ensafi) Subject: Why -alloc & -init rather than +new ? Organization: UCLA CS Department, Los Angeles, CA Message-ID: <1993Nov02.225900.18149@cs.ucla.edu> Date: Tue, 02 Nov 93 22:59:00 GMT Hi, Ever since the Release 1.0 -> 2.0 transition, NeXT moved from using +new methods to using -alloc and -init methods. In fact, many +new methods had already been replaced by -alloc/-init even in 1.0. Some of the "survivors" that still use +new are the Font, PageLayout,... Was there a reason for this change? Any advantages/disadvanatges? Is there a real difference between intiliaizing an object by saying [MyObject new]; rather than [[MyObject alloc] init]; I've forgotten already, but I think we used to initialize Buttons by saying: [Button newRect:&frameRect]; But through most of my NeXTSTEP experience, I've used: [[Button alloc] initFrame:&frameRect]; Does anyone know why we made this change? Thanks. E-mail would be appreciated. - Eskandar -- "Dance with the dead in my dreams Listen to their hollowed screams The dead have taken my soul Temptation's lost all control" -- Slayer (Dead Skin Mask)
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Can't compile gzip on NeXTstep Message-ID: <1993Nov3.050510.12560@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Nov2.154108.24260@outback.ny.tpc.com> Date: Wed, 3 Nov 1993 05:05:10 GMT In article <1993Nov2.154108.24260@outback.ny.tpc.com> gregg@outback.ny.tpc.com (Greg Gershowitz) writes: > I am trying to compile gzip >1.1.2. Why? The current release is 1.2.4. It works. Old gzips are bad gzips... -=EPS=-
Newsgroups: comp.sys.next.programmer From: fabien@free.fdn.org (Fabien Roy) Subject: Re: eject of floppy from command-line Message-ID: <1993Nov2.173943.14656@free.fdn.org> Sender: news@free.fdn.org Organization: Fabien Roy Electronic Engineering (F.R.E.E.) - Paris, France. References: <1993Oct30.214420.9051@logibec.com> Date: Tue, 2 Nov 1993 17:39:43 GMT In article <1993Oct30.214420.9051@logibec.com> sta@logibec.com writes: > In article <1993Oct29.063314.28242@coco.ms.washington.edu> > zeno@abstractsoft.com (Sean T. Lamont) writes: > > > > Ejecting floppy from a command line: > > > > You can either use ioctl's and have write permissions for the > > particular device you want to eject (I think it's DKIOEJECT or some > > such...) or you can forge a workspace connection from the shell and > > use NXWorkspaceRequestProtocol to eject the disk in workspace > > (probably the recommended method.) > > > > Sample code follows: compile as > > > > cc -ObjC eject.c -lNeXT_s > > > > > > > > > > > > #include<appkit/appkit.h> > > > > @interface BogusObject:Object > > { > > } > > - appDidInit:sender; > > > > @end > > @implementation BogusObject > > > > > > - appDidInit:sender > > { > > [NXApp stop:self]; > > } > > > > @end > > > > > > > > main(argc,argv) > > int argc; > > char **argv; > > { > > > > if (argc < 2){ > > fprintf(stderr,"Usage: eject [drivepath]\n",argv[0]); > > exit(-1); > > } > > > > NXApp = [Application new]; > > [NXApp setDelegate:[[BogusObject alloc] init]]; > > [NXApp run]; > > [[Application workspace] unmountAndEjectDeviceAt:(argv[1])]; > > [NXApp free]; > > exit(0); > > } > > > > > > -- > > Sean T. Lamont | Ask me about the WSI-Fonts > > Abstract Software | Professional collection for NeXT > > lamont@abstractsoft.com > |____________________________________ > > > on the UNIX shell: > disk -e /dev/rfd0a > > Stephane Ah-ki > Logibec Group > sta@logibec.com Hi Stephane disk -e /dev/rfd0a is only for unmounted floppy. before that command try unmount /dev/fd0a for unix mounted floppy or unmount /dev/rfd0b for non unix mounted floppy. Have fun Fabien -- --------------------------------------------------------------------- Reply to Fabien_Roy@free.fdn.org or if your mail bounce back to Fabien_Roy@free.fr. (uucp road-map problem) NextMails accepted Fabien Roy Electronic Engineering (Former NeXT Distributor) ----------> Almost killed by NEXT when they stop the hardware. ---------------> Still alive with NEXTSTEP FOR INTEL PROCESSORS.
From: bjohnson@nevis.verity.com (Brett M. Johnson) Newsgroups: comp.sys.next.programmer Subject: Re: Makefile question Date: 2 Nov 1993 21:37:47 GMT Organization: Verity Inc. - Home of TOPIC Text Retreive System. Message-ID: <2b6jvb$rhc@hawaii.verity.com> References: <CFuDB8.5H1@nextsrv1.andi.org> Keywords: make, gcc In article <CFuDB8.5H1@nextsrv1.andi.org> paccorti@nextsrv1.andi.org (Peter Accorti) writes: > Is there a simple way (via make preamble or whatever) to get make to > recompile all .o files that are dependent on a changed header file? I > realize that I could enumerate each dependency myself but I'm hoping there > is some simple flag that will take care of this for me. > > I feel so stupid tracking down a bug to a .o file that should have been > recompiled when I changed a dependent header. Any help would be > appreciated!! Although make doesn't have the magic switch you are looking for, you don't have to enumerate each dependency yourself either - let gcc do it for you! Try the -M switch to gcc (excerpt from the manual): -M Produce a rule suitable for make describing the dependencies of the main source file, instead of outputting the result of preprocessing. The preprocessor produces one make rule containing the object file anme for that source file, a colon, and the names of all the included files. If there are many included files, then the rule is split into several lines using backslash-newline. Try: cc -M *.c *.m and add the output to your makefile. Good Luck, Brett Johnson bjohnson@verity.com
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: Anyone program for PAS16 on Intel? Message-ID: <1993Nov3.085106.222@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <1993Oct18.173045.9047@galileo.cc.rochester.edu> Date: Wed, 3 Nov 93 08:51:06 GMT In article <1993Oct18.173045.9047@galileo.cc.rochester.edu> LAPJ_LTD@db1.cc.rochester.edu (JASON LAPIERRE) writes: > I'm fairly new to NeXTstep programming, so for my first project I'm > writing a CDPlayer-type application to work with my Toshiba 3401 cd-rom > drive (not supported by CDPlayer.app). The SCSI code is going fine > however I have run into a snag. Rather than send the audio data over > the SCSI bus and send it through the snddriver (I think this is what > CDPlayer.app does), I just want to send commands to the drive and let > the sound go through the sound card directly so as not to eat up CPU > time. In principle I don't believe there is anything wrong with this. > However, herein lies the snag. The mixer function of the PAS card > apparently has the default value of the CD-ROM audio volume set to > almost 0. > So, what I need is some help finding code to control the mixer > functions of the PAS card. Has anyone already done this, or can someone > at least point me to a possible source? I've already tried the > development kit found on a few ftp sites, but it's just a few headers > and DOS compiled libraries. Is it maybe possible for me to use these? > Any help would be greatly appreciated. > -Jason > Jason, You missunderstood what CDPlayer.app is doing. It does NOT play the audio stuff through your soundcard, this would (as you mentioned) eat up your CPU cycles. It just uses the CD ROM commands to play sound OVER THE HEADPHONE JACK on your CD ROM. So you will hear nothing without connecting a pair of headphones to your CD ROM. NEXTSTEP has nothing to do with the audio playing of a Music CD. By the way: if you try to send 44KHz-stereo-data over an ISA-Bus you will have no chance to succeed. It simply is to slow. I have a Toshiba 3401 too and it just works. You only can't control the volume with CDPlayer.app on this CD ROM. Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not
Newsgroups: comp.sys.next.programmer From: botma@cs.utwente.nl (Bart Botma) Subject: porting X apps Message-ID: <CFwuDI.4Av@cs.utwente.nl> Sender: usenet@cs.utwente.nl Organization: Twente University, Dept. of Computer Science Date: Wed, 3 Nov 1993 09:58:30 GMT POSIX, where are you ? You can never truely understand the need for standards until you are confronted with the lack of them yourself. As Eric P. Scott pointed out in several useful replies, NeXT does not support POSIX. Some of the POSIX library calls can simply be replaced by others, and some propably not. I ran into these problems when I tried to compile my X stuff on the NeXT. You can get xdvi xfig xv (you need mkfifo replacement) sam (ditto) to compile, but, for instance, xdtm relies heavily on POSIX. I hope NeXT is looking in the right direction with its 4.0 release (I guess POSIX didn't make it into the 3.2 release :-( Bart -- ___/T\_______ Bart Botma, botma@cs.utwente.nl, University of Twente ,--_ |___\I/ _ __| Department of Computer Science, Tele-Informatics & /)_( ) | | O / \ (_ | Open Systems Group, P.O.Box 217, NL-7500 AE, Enschede (___ / |_|__S_\_/___)| The Netherlands,phone:+31-53-893755,fax:+31-53-333815 =/ \)
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: DBTableView Example Message-ID: <1993Nov3.093153.303@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <2an3e7$8k5@mail.Rogers.Com> Date: Wed, 3 Nov 93 09:31:53 GMT In article <2an3e7$8k5@mail.Rogers.Com> eullman@saturn (Eric Ullman) writes: > > > I would like to use the DBTableView object as a general data list without > actually using the whole DBKit. That is, I want to be able to > programmatically fill the DBTableView directly without using a database or > database adaptor. I was told that an example of this is contained in the > Indexing Kit example distributed by Next. However, an hour of careful > reading of this code has left me a bit bewildered. Does anyone know of a > simpler example and/or simpler example of how to use the DBTableView as a > simple data viewer. Please respond to eullman@corpit.cantel.rogers.com. Create an object which serves your DBTableView with data. This object must implement the DBTableDataSources informal protocol. Here's a simple setup for that kind of source object: @implementation TableSource - setUpTableView { [tableView setDataSource:self]; [self redraw]; return self; } - redraw { [[tableView layoutChanged:self] display]; [tableView scrollRowToVisible:[tableView selectedRow]]; return self; } - getValueFor:ci at:(unsigned int)ri into:value { [value setStringValue:[whatever stringValue]]; return self; } - getValueFor:ri :ci into:value { [value setStringValue:[whatever stringValue]]; return self; } - setValueFor:ci at:(unsigned int)ri from:value { [whatever setStringValue:[value stringValue]]; return self; } - setValueFor:ri :ci from:value { [whatever setStringValue:[value stringValue]]; return self; } @end If the DBTableView need data it will ask it's TableSource. If you change the data yourself send the redraw method. Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: Why -alloc & -init rather than +new ? Message-ID: <1993Nov3.095335.361@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <1993Nov02.225900.18149@cs.ucla.edu> Date: Wed, 3 Nov 93 09:53:35 GMT In article <1993Nov02.225900.18149@cs.ucla.edu> esky@marathon.cs.ucla.edu (Eskandar Ensafi) writes: > > Hi, > > Ever since the Release 1.0 -> 2.0 transition, NeXT moved from using +new > methods to using -alloc and -init methods. In fact, many +new methods had > already been replaced by -alloc/-init even in 1.0. Some of the "survivors" > that still use +new are the Font, PageLayout,... > > Was there a reason for this change? Any advantages/disadvanatges? > Is there a real difference between intiliaizing an object by saying > > [MyObject new]; > > rather than > > [[MyObject alloc] init]; > > I've forgotten already, but I think we used to initialize Buttons by saying: > > [Button newRect:&frameRect]; > > But through most of my NeXTSTEP experience, I've used: > > [[Button alloc] initFrame:&frameRect]; > > Does anyone know why we made this change? > > Thanks. E-mail would be appreciated. > - Eskandar If you call -init you are talking to an already established object. A +new has to set the ivars somehow. But how are you going to do this? The only way (if you don't use a private -init) is to have public ivars... urgh! The other thing is that you don't litter your objects with class methods if you subclass. The FontPanel and PageLayout (and Open- / SavePanel) are unique to an application. So your programm should not alloc a new instance every time, but ask the class object (which is unique to every application as well) for the actual instance (creating one if there is no such). Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: Setting up a list of objects upon init Message-ID: <1993Nov3.103114.427@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <2am7lo$lu6@cmcl2.NYU.EDU> Date: Wed, 3 Nov 93 10:31:14 GMT In article <2am7lo$lu6@cmcl2.NYU.EDU> dario@voluptas (Dario Ringach) writes: > > I have a number of TextField objects in a window and I'd like > to setup a list of these objects upon initialization, so I can > later send a message to all of them... How can I do that? > > Thank you. > -- > Dario We developed a Collection.palette which is nothing than a list, so no extra libs must be linked into your application. You can connect as much objects as you like in IB and create only one outlet for the list. If you want to do something with your collected object just use the usual -makeObjectsPerform:with: Beware: this palette has one tradeoff! Because we did not want to create a new subclass of IBConnection (no extra lib) you can chrash IB if you delete an Item in the list and save/run the .nib without first looking at the connection inspector because the List has no idea that one of the objects in the list is gone. As I said, just click on the Collection before save an it works with no problems. We use that thing for our FindFields which get the props to search for in IB (drag'ndrop). They are initialized with [qualificationList makeObjectsPerform:@selector(retrieveProperty:) with:dbmodule]; and used with [qualificationList makeObjectsPerform:@selector(appendCondition:) with:dbqualifier]; [dbmodule fetchContentsOf:nil usingQualifier:qualifier]; As you can see: one outlet (qualificationList) serves it all. It will be yours for $95.- or DM149.- as is. No includes, libs or docs needed. Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not
Newsgroups: comp.sys.next.programmer From: patersk@gb.swissbank.com (Kevin Paterson) Subject: Programmatically Sending Files through Mail.app Date: Wed, 3 Nov 1993 12:22:31 +0000 Message-ID: <22462.199311031220@gpo.gb.swissbank.com> Sender: usenet@demon.co.uk Does anyone know how to programmatically mail files through the Mail.app ? eg .m, .rtfd, folders or .tiff files. Solutions greatfully appreciated. Thanks Kev | "The bigger they come, the harder patersk@gb.swissbank.com | they hit you."
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: Why -alloc & -init rather than +new ? Message-ID: <1993Nov3.122134.316@afs.com> Sender: Michael_Pizolato@afs.com References: <1993Nov02.225900.18149@cs.ucla.edu> Date: Wed, 3 Nov 1993 12:21:34 GMT Eskandar Ensafi writes >Ever since the Release 1.0 -> 2.0 transition, NeXT moved from >using +new methods to using -alloc and -init methods. In fact, >many +new methods had already been replaced by -alloc/-init even >in 1.0. Some of the "survivors" that still use +new are the Font, >PageLayout,... > >Was there a reason for this change? Any advantages/disadvanatges? [some deleted] The general idea seems to be that if you have a class (Foo) that is intended to be instantiated multiple times during the run of a program, you use [[Foo alloc] init], and if you have a class that intantiates once and prevents multiple instantiations you used [Foo new]. The new method generally checks for the existence of the single instance, and if it exists simply returns it. If it does not exist, the new method creates it and then returns it. This is why you say [FontPanel new] but [[Button alloc] initFrame:&frameRect]. You almost always have more than one button in an app, but only one font panel. The FontPanel class will give you the id of the single instance of the panel every time you run the "new" method. Of course, it seems contradictory to call the method "new" and not to have it return a new instance. But this usage seems to be the way NeXT has gone, and we have also taken to doing it this way internally here at AFS. In addition, unless you want to create methods like -new:(NXRect*)frameRect, or invoke new and follow it by setting attributes, the alloc/init technique is the only way to initialize anything properly whose designated initializer is more complex than just "init". Hope this helps. Thanx, Michael -- Michael_Pizolato@afs.com NeXTMail accepted w] but [[Button alloc] initFrame:&frameRect]. You almost always have more than one button in an app, but only one font panel. The F
Newsgroups: comp.sys.next.programmer From: raul@pencom.com (Raul Alvarez) Subject: Re: Why -alloc & -init rather than +new ? Message-ID: <1993Nov03.153203.14311@pencom.com> Sender: usenet@pencom.com (News system) Organization: Pencom Systems Incorporated References: <1993Nov02.225900.18149@cs.ucla.edu> Date: Wed, 03 Nov 1993 15:32:03 GMT In article <1993Nov02.225900.18149@cs.ucla.edu> esky@marathon.cs.ucla.edu (Eskandar Ensafi) writes: > Ever since the Release 1.0 -> 2.0 transition, NeXT moved from using +new > methods to using -alloc and -init methods. In fact, many +new methods had > already been replaced by -alloc/-init even in 1.0. Some of the "survivors" > that still use +new are the Font, PageLayout,... > > Was there a reason for this change? Any advantages/disadvanatges? > Is there a real difference between intiliaizing an object by saying Yes, there was one very good reason. In C++ "new" is a keyword/operator. They replaces new with alloc init, so that people could write Objective C++. -- Raul Alvarez raul@pencom.com 212-513-7777 NeXT Mail is encouraged Remember: If you're not the lead dog, the view never changes.
Newsgroups: comp.sys.next.programmer From: joe@FreemanSoft.com (Joe Freeman) Subject: Re: Why -alloc & -init rather than +new ? Message-ID: <1993Nov3.165741.454@FreemanSoft.com> Sender: jfreeman@FreemanSoft.com Organization: FreemanSoft Inc. References: <1993Nov03.153203.14311@pencom.com> Distribution: usa Date: Wed, 3 Nov 1993 16:57:41 GMT In article <1993Nov03.153203.14311@pencom.com> raul@pencom.com (Raul Alvarez) writes: > In article <1993Nov02.225900.18149@cs.ucla.edu> esky@marathon.cs.ucla.edu > (Eskandar Ensafi) writes: > > Ever since the Release 1.0 -> 2.0 transition, NeXT moved from using +new > > methods to using -alloc and -init methods. In fact, many +new methods > had > > already been replaced by -alloc/-init even in 1.0. Some of the > "survivors" > > that still use +new are the Font, PageLayout,... > > > > Was there a reason for this change? Any advantages/disadvanatges? > > Is there a real difference between intiliaizing an object by saying > > Yes, there was one very good reason. In C++ "new" is a keyword/operator. > They replaces new with alloc init, so that people could write Objective > C++. I don't beleive this is the answer. There were several reasons for the change. I know that one of them was the fact that the number one cause of bugs in programs during the 0.9-1.0 timeframe was incorrect instance iniliaization inside the +new method. It seems that many folks would setup the instance vars for a new object inside the factory new method. This just doesn't work and can cause real problems. (I think due to the lack of class vars space). Folks then had to build a -initialize method to do setups. Anyway, it was decided that breaking out the memory allocation (factory) and the instance initialization (instance) would help cut the ramp up time for new programmers. The +new method was retained for classes that returned shared instances, ie: classes that don't alloc a new one each time. Thus, the shared SavePanel and shared OpenPanel have +new or derivative methods. -- Joe Freeman FreemanSoft Inc. A NEXTSTEP software and consulting services company. Electronic Mail: Joe@FreemanSoft.com (NeXT Mail) Voice: 919.783.7033
Newsgroups: comp.sys.next.programmer From: pfkeb@kaon.SLAC.Stanford.EDU (Paul F. Kunz) Subject: Re: Why -alloc & -init rather than +new ? In-Reply-To: esky@marathon.cs.ucla.edu's message of Tue, 02 Nov 93 22:59:00 GMT Message-ID: <PFKEB.93Nov3080506@kaon.SLAC.Stanford.EDU> Sender: news@unixhub.SLAC.Stanford.EDU Organization: Stanford Linear Accelerator Center References: <1993Nov02.225900.18149@cs.ucla.edu> Date: Wed, 3 Nov 1993 16:05:05 GMT I think the reason is so you can do both [[Button alloc] initFrame:aFrame]; and [[Button allocFromZone:aZone] initFrame:aFrame]; -- Paul F. Kunz Paul_Kunz@slac.stanford.edu (NeXT mail ok) Stanford Linear Accelerator Center, Stanford University Voice: (415) 926-2884 (NeXT) Fax: (415) 926-3587
From: richard@cicero.jpl.nasa.gov ( Richard Weidner) Newsgroups: comp.sys.next.programmer Subject: gcc2.5.0, 2.5.0a, 2.5.1, 2.5.2 have bad headers on OS3.1 Date: 3 Nov 1993 20:05:34 GMT Organization: Image Analysis Systems Group, JPL Distribution: usa Message-ID: <2b92ue$4dh@elroy.jpl.nasa.gov> The new versions of gcc 2.5.0, 2.5.0a ,2.5.1 ,2.5.2 have a broken fixproto for NeXTSTEP 3.1. The headers are not where the routine looks for them. Thus they are not fixed and gcc is not built correctly. I am not sure if this is a FSF problem or if NeXTSTEP 3.1 moved and/or broke the headers. Anyway the routine has to be changed or you get an internal error in gcc. cc++ works just fine. If you install gcc2.5.2 then delete the headers in /usr/local/lib/gcc-lib/m68k-next-mach/2.5.2 and replace them with an old set from /usr/local/lib/gcc-lib/m68k-next-mach/2.4.5 by just renaming 2.4.5 to 2.5.2 then gcc and g++ will work. Or at least for some programs it will work. Richard Weidner
Newsgroups: comp.sys.next.programmer From: elmar@knipp.en.open.de (Elmar Knipp) Subject: XVIEW for NeXT-Step 3.0? Message-ID: <1993Nov3.183913.11294@knipp.en.open.de> Date: Wed, 3 Nov 93 18:39:13 GMT Organization: Private/FRG Did anyone succesfully compile XVIEW-Library for NeXT-Step 3.0? Where can I find the libraries? Any information is highly appreciated. Thank you. Elmar -- --------------------------------+------------------------------------- Elmar Knipp | Voice: + 49 231 975015-0 Knipp Satz und Bild digital | Fax G3: + 49 231 975015-80 Technologiepark | Fax G4: + 49 231 975015-81 Martin-Schmeisser-Weg 9 | Modem: + 49 231 975015-82 44227 Dortmund | ISDN-Server: + 49 231 975015-83 Germany | E-Mail: elmar@knipp.en.open.de --------------------------------+-------------------------------------
From: dakhlia@nextover.pe.utexas.edu (Khaled Bendakhlia) Newsgroups: comp.sys.next.programmer Subject: NXBrowser question Date: 3 Nov 1993 21:33:46 GMT Organization: The University of Texas at Austin, Austin, Texas Message-ID: <2b983q$57o@geraldo.cc.utexas.edu> Keywords: NXBrowser, icon I could not find any detailed information on how to program multiple items selection from a browser and have an icon representing the number of items selected displayed (similar to the icon that appears when more than one file are selected from the browser on the workspace)... Any ideas on how to do this? Thanks for your help.
Newsgroups: comp.sys.next.programmer From: jswain@piglet.otago.ac.nz (Jason Swain) Subject: Text Class Message-ID: <CFxrzH.o8@news.otago.ac.nz> Sender: usenet@news.otago.ac.nz (News stuff) Organization: Computer Graphics Lab, University of Otago Date: Wed, 3 Nov 1993 22:04:28 GMT I'm writing some code at the moment that uses the Text object in a resizable rectangle. The problem is I need to find out what text is displayed and what text does not fit inside the rectangle. Ideally I would like to split my RTF into two sections, the first the text that fits inside the rectangle and the second the remaining text. I'm sure this has been done before by someone, can anyone give me some help in getting started with this. I've looked at the Text class documentation and it doesn't seem obvious how to do this at all. Thanks in advance. Jason Swain Postgrad Student Otago University jswain@otago.ac.nz
Newsgroups: comp.sys.next.software,comp.sys.next.programmer From: atownley@cs.umr.edu (Andrew S. Townley) Subject: NeXTSTEP <-> IBM DB2 connectivity? Date: Wed, 3 Nov 1993 23:22:50 GMT Organization: University of Missouri-Rolla, Missouri's Technological University Sender: cnews@umr.edu (UMR Usenet News Administration) Message-ID: <1993Nov3.232250.9253@umr.edu> Hopefully, someone out there will be able to help me, or at least point me in the right direction. I'm evaluating the feasibility of using NeXTSTEP platforms for an alternative client to an IBM mainframe running DB2. I really don't know the best place to start, but I figured that my best bet would be to post here. I know there are fronts for Sybase, Oracl e, etc, but the SQL that this application will use will be DB2 on an IBM Mainframe. One of the things I would like to know is if there are any commercial products available which would meet this need. Secondly, if there are no commercial packages, or the packages are prohibitively expensive, how difficult it would be to write something which would communicate with the mainframe system. If anyone has any information which would be applicable to this project, please send the information via e-mail. If there is enough response, or interest, I'll post a summary. Ideally, I would like to be able to make my proposal sometime mid to late December. Any help would be wonderful. Thank you, Andrew -- Andrew S. Townley Voice: 314-364-7244 1705 Pine Street FAX: 314-364-8471 Rolla, MO 65401 email: atownley@cs.umr.edu
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Re: Why -alloc & -init rather than +new ? Date: 3 Nov 1993 16:34:24 -0000 Organization: me organized? That's a joke! Message-ID: <2b8mig$108@steffi.demon.co.uk> References: <1993Nov02.225900.18149@cs.ucla.edu> <1993Nov03.153203.14311@pencom.com> raul@pencom.com (Raul Alvarez) wrote >Yes, there was one very good reason. In C++ "new" is a keyword/operator. >They replaces new with alloc init, so that people could write Objective >C++. > >-- >Raul Alvarez raul@pencom.com 212-513-7777 NeXT Mail is encouraged >Remember: If you're not the lead dog, the view never changes. I don't believe this and it doesn't even make sense. The compiler/parser is smart enough to know the context in which "new" is used inorder to determine whether it is a valid operator. I believe that without +new you dont' have to fart around with assigning to self ie. self = [super new] and it just formally ensures that initialization is separate from allocation this way.
From: depetris@dingo.imag.fr (thierry depetris) Newsgroups: comp.sys.next.programmer Subject: Loading bundle : need help Date: 4 Nov 1993 13:52:11 GMT Organization: I.M.A.G. Institute, University of Grenoble, France Sender: depetris@dingo (thierry depetris) Distribution: world Message-ID: <2bb1eb$o05@imag.imag.fr> I use a visual programming application who draw a working area. On this area you can drag bundles, connect them and execute the graph. I want to interface one of my bundle with matematica by using mathlink functions. But I dont know how to link libML.a with my code. Could somebody help me ?? sorry for my english !!
Newsgroups: comp.sys.next.programmer From: duvalld@liberty.uc.wlu.edu (Danek Duvall) Subject: ARCH_INCLUDE macro Message-ID: <1993Nov3.214743.23948@liberty.uc.wlu.edu> Date: Wed, 3 Nov 1993 21:47:43 GMT Organization: Washington & Lee University What is the reason for the ARCH_INCLUDE macro? It's foiling many of my compilation efforts, and gcc 2.5.0 chokes on it, not to mention some X stuff I've downloaded. Can I just go ahead and substitute in the proper include files and be done with this mess, or is there some sensible reason (and work- around) for it all? Along the same lines, is there any reason for the include heirarchy, or this another "feature" of the NeXT. Sorry that I didn't mention this before: I'm running NS3.0, and have no $$ to upgrade, so I apologize if this doesn't apply under newer releases. Thanks for any advice you can give me, Danek -- Danek Duvall: Washington and Lee U. Internet: duvalld@liberty.uc.wlu.edu ***
Newsgroups: comp.sys.next.programmer From: rpomeroy@aunext1.amd.com (Ron Pomeroy x(Coop)) Subject: Re: NeXTSTEP <-> IBM DB2 connectivity? Message-ID: <CFz1CE.5on@dvorak.amd.com> Sender: news@dvorak.amd.com (Usenet News) Organization: Advanced Micro Devices, Austin TX References: <1993Nov3.232250.9253@umr.edu> Distribution: usa Date: Thu, 4 Nov 1993 14:24:14 GMT In article <1993Nov3.232250.9253@umr.edu> atownley@cs.umr.edu (Andrew S. Townley) writes: >> >>Hopefully, someone out there will be able to help me, or at least point >> >>me in the right direction. I'm evaluating the feasibility of using NeXTSTEP platforms for an alternative client to an IBM mainframe running DB2. I really don't know the best place to start, but I figured that my best bet would be to post here. >> I know there are fronts for Sybase, Oracl >> >>e, etc, but the SQL that this application will use will be DB2 on an IBM Mainframe. One of the things I would like to know is if there are any commercial products available which would meet this need. Secondly, if there are no commercial packages, or the packages are prohibitively expensive, how difficult it would be to write something which would communicate with the mainframe system. >> If anyone has any information which would be applicable to this project, please send the information via e-mail. If there is enough response, or interest, I'll post a summary. Ideally, I would like to be able to make my proposal sometime mid to late December. >> >>Any help would be wonderful. >> I swear I've seen an announcment about a DBKit DB2 Adaptor but Digital Librarian turned up nil in my mailboxes and newsfolders. Anyone else got it ? -- Ronald Pomeroy Advanced Micro Devices CAM Applications Group rpomeroy@aunext1.amd.com
Newsgroups: comp.sys.next.programmer From: g8udgl@fnma.com Subject: Way to print RTF from batch while not logged in? Message-ID: <1993Nov4.151812.9017@almserv.uucp> Sender: usenet@almserv.uucp Organization: Fannie Mae Date: Thu, 4 Nov 1993 15:18:12 GMT Howdy, Does anyone know of a way to print rtf on a machine that isn't logged in? The purpose is to have a batch job generate RTF and spool it to a printer at a certain time. RTF-to-PS filter? Text object hack? Thanks, DL -- David Lewis Senior Software Engineer RAPS Development Team dlewis@fnma.com (NeXTmail OK), 202-752-4785
From: Randy Antler Newsgroups: comp.sys.next.programmer Subject: Re: Mandlebrot.app and PDO Date: 4 Nov 1993 18:19:50 GMT Organization: CERFnet Distribution: usa Message-ID: <2bbh46$1go@news.cerf.net> References: <9311021756.AA08184@dcs.shef.ac.uk> Keywords: mandelbrot rendering nximage Speaking of the Mandelbrot app. Does anyone know how to display "live rendering" in an image view? I'm writing a front end for a raytracer and I'd like to be able to display the rendering in process "live." I've got a viewer working the displays the final rendered result, but I can't get the behaviour I'd like. -- Randy Antler Just because I'm paranoid (randy@nacm.com) doesn't mean they're not (nacmra@cerf.net.com) out to get me!
From: Randy Antler Newsgroups: comp.sys.next.programmer Subject: Re: Programmatically Sending Files through Mail.app Date: 4 Nov 1993 18:22:07 GMT Organization: CERFnet Distribution: usa Message-ID: <2bbh8f$1gq@news.cerf.net> References: <22462.199311031220@gpo.gb.swissbank.com> Keywords: nextmail mail next In article <22462.199311031220@gpo.gb.swissbank.com> patersk@gb.swissbank.com (Kevin Paterson) writes: > Does anyone know how to programmatically mail files through the > Mail.app ? eg .m, .rtfd, folders or .tiff files. > > Solutions greatfully appreciated. > > Thanks > > Kev | "The bigger they come, the harder > patersk@gb.swissbank.com | they hit you." Try this script from a friend of mine... #!/usr/local/bin/perl # # Rich Plevin # 27 Jan 1993 # # Takes a single file or directory to mail, with a subject line and a # recipient and generates a NeXTMail compatible mail message with the # file enclosed as an attachment. # # This program is most useful on non-NeXT machines, allowing you to send # files or entire directories to NeXT users in a way that lets them use # the drag-and-drop mechanism instead of crufty old UNIX commands... # # The format for these messages was taken from an internet posting by # Avie Tevanian, Director, System Software, NeXT, Inc. The relevant section # is included here: # # Creating NeXTmail Format Messages # # The procedure for creating NeXTmail messages on non-NeXT UNIX systems # is the inverse of the procedure for reconstructing NeXTmail messages. # # Perform the following steps to create a NeXTmail message: # # 1. Create the index.rtf file containing the message body and # references to any attached files as described above. # # 2. Put the index.rtf file and all of the files to be attached to # the message in a separate subdirectory. # # 3. Run the command: # # tar cvf - * | compress | uuencode .tar.nnn.subject.attach > ./subject.temp # # where subject is the subject of the message with blanks replaced by # underscores, and nnn is an arbitrary integer. This operation produces # a file called subject.temp, in the parent directory of the directory # where the files to be mailed reside. (Note that this command must be # entered as a single line.) # # 4. Mail this file in a message by itself, adding a header field of the # form: # # Next-Attachment: .tar.nnn.subject.attach, bytes, 1/1, size, 0 # # where bytes is the length in bytes of the subject.temp file, and size # is the integer number of 48 byte blocks (counting the last partial # block as a whole block), multiplied by 66 characters per block. -- # # # Define the whereabouts of the programs used herein # $cat = "/bin/cat"; $tar = "/bin/tar"; $sendmail = "/usr/lib/sendmail"; $uuencode = "/usr/bin/uuencode"; $compress = "/usr/ucb/compress"; if ( $#ARGV != 2 ) { # Extract the leaf name of the executable $0 =~ s|.*/([^/])|\1|; die "Usage: $0 recipient subject file-to-attach\n"; } ($recipient, $subject, $filename) = @ARGV; # # Create a temporary directory based on our pid # $topdir = "/tmp/nextmail.$$"; mkdir($topdir, 0700); # # Create a subdirectory to from which to build the tar file # $subdir = "$topdir/build"; mkdir($subdir, 0700); # # Copy the desired file (or directory) to the build directory. # Use tar|tar in case the file we're sending is actually a directory. # Avoid using 'cp -R' because it expands links. # system("$tar cf - $filename | (cd $subdir; $tar xfp -)"); # # Create the RTF index file with a reference to the attached file # $rtf = "$subdir/index.rtf"; open( RTF, ">$rtf" ) || die("Can't open `$rtf' for writing\n"); print( RTF "{\\rtf0\\ansi{\\fonttbl\\f0\\fmodern Ohlfs;} \\paperw9840 \\paperh11200 \\margl120 \\margr120 {\\attachment0 $filename } \\pard\\tx960\\tx1920\\tx2880\\tx3840\\tx4800\\tx5760\\tx6720\\tx7680\\tx8 640\\tx9600\\f0\\b0\\i0\\ulnone\\fs20\\fc0\\cf0 }\n" ); close(RTF); # # Make a copy of the subject string with all spaces replaced by underlines # $fixedSubject = $subject; $fixedSubject =~ tr/ /_/; # # Run the prescribed command to create the message body # chdir($subdir); $body = "$topdir/$fixedSubject.tmp"; system( "$tar cf - * | $compress | $uuencode .tar.123.$fixedSubject.attach > $body" ); # # Determine out how big the file is # (@stat = stat($body)) > 0 || die "Can't stat file $body\n"; $bytes = $stat[7]; # # Compute the "bytes" and "size" parameters for the "Next-Attachment:" line # $size = int($bytes / 48); if ( $bytes % 48 ) { $size++; # Add one if there were any incomplete blocks } $size *= 66; # # Write header portion which we will later prepend to the body # $header = "$topdir/header"; open( HDR, ">$header" ) || die("Can't open `$header' for writing\n"); printf( HDR "To: %s\n", $recipient ); printf( HDR "Subject: %s\n", $subject ); printf( HDR "Next-Attachment: .tar.123.$fixedSubject.attach, %d, 1/1, %d, 0\n", $bytes, $size ); close( HDR ); # # Push it out the door # system( "$cat $header $body | $sendmail $recipient" ); # # Clean up is easy since we put all our junk under one directory # system( "rm -rf $topdir" ); --------------------------------- Randy Antler Just because I'm paranoid (randy@nacm.com) doesn't mean they're not (nacmra@cerf.net.com) out to get me!
From: art@cubicsol.com (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: NEXTSTEP to Windows porting expertise needed Date: 4 Nov 1993 19:57:18 GMT Organization: University of California, Santa Cruz Distribution: world Message-ID: <2bbmqu$r6d@darkstar.UCSC.EDU> Keywords: Windows Unfortunately, NEXTSTEP has yet to make itself a substantial player in the general desktop market, so after spending a considerable effort developing a suite of complex DBKit-based NEXTSTEP apps, a client now finds that a large potential customer won't consider buying anything but Windows apps :-( Not running under Windows has become a big enough competitive disadvantage (from the novice user's point of view, at least) that a Windows port is now being seriously considered. (We all know that from a technical point of view, running under Windows will probably result in a product that's inferior to the NS version, but the real world apparently values a standard, known environment over a superior one :-( Fortunately :-) I don't have any Windows knowledge, so I'm looking for NEXTSTEP to Windows porting expertise, especially for Sybase client apps. I am aware of Berkeley Productivity Group (Christopher Lozinski) but would like a more extensive list. Thanks for your assistance. -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
From: rick@akbar.cc.utexas.edu (Rick Watson) Newsgroups: comp.sys.next.programmer Subject: Transmitting broadcast packets on a SLIP line Date: 4 Nov 1993 20:00:39 GMT Organization: The University of Texas at Austin, Austin, Texas Distribution: world Message-ID: <2bbn17$aic@geraldo.cc.utexas.edu> I have an application where I need to transmit UDP broadcast packets down a SLIP link. I've tried sending to the normal IP broadcast address and I've also tried using the RAW IP packet interface. Neither case appears to work. It doesn't look like the slip driver supports broadcasts. Does anyone know of a workaround. All I need is for the packets IP destination address to contain all ones. Rick Watson The University of Texas Computation Center, Networking Services, 512/471-3241 internet: r.watson@utexas.edu bitnet: watson@utadnx uucp: ...!cs.utexas.edu!ut-emx!rick span: utspan::utadnx::watson
Newsgroups: comp.sys.next.programmer From: bau@cs.cornell.edu (David Bau) Subject: NXAppTile Message-ID: <1993Nov4.200625.18907@cs.cornell.edu> Organization: Cornell Univ. CS Dept, Ithaca NY 14853 Date: Thu, 4 Nov 1993 20:06:25 GMT How does Preferences figure out where its application tile is to draw pretty clocks on it? Is there a function NXAppTile that enables it to do this? It seems like there are too many APIs that have not been made public; it would be nice to see enough APIs published so that us ordinary users can reimplement any application that NeXT ships without breaking the rules. David
From: zryx0376@awssg7.rus.uni-stuttgart.de (Markus Wenzel (Hiwi bei R.Rabenseifner)) Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin Subject: Re: Connecting a terminal to a serial port under NS/FIP Date: 4 Nov 1993 20:24:52 GMT Organization: Visualization Group Comp.Center (RUS) U of Stuttgart, FRG Distribution: na Message-ID: <2bboek$1i9u@info2.rus.uni-stuttgart.de> References: <1993Nov2.191155.3476@narwal.ali.bc.ca> In article <1993Nov2.191155.3476@narwal.ali.bc.ca> harv@narwal.ali.bc.ca (Harvey C. Dueck) writes: > >Has anyone had any success using a terminal connected to a serial port >under NS/FIP? I had no problems connecting an old Atari with a VT100 compliant terminal program. >We have no problems using a Wyse 160 in vt100 emulation mode connecting >to NS/FIP via a DEC terminal server, but when we try to connect via the >serial port we see some weird behaviour. The fourth character in a line >is frequently dropped, and the driver wants to map the F1 function key >to the NULL character. We can probably deal with the latter problem via >termcap changes, but the dropped characters are a concern. Strange... I never saw anything like that, not with the new serial driver. >More details on the setup: > - Wyse 160 in vt100 emulation mode > - 19200 baud, 8 bits, no parity > - modified /etc/gettytab so that the std.19200 entry reads > g|std.19200|19200-baud:\ > :sp#19200:p8:ap: I set it to ...:p8:zp: >We tried reducing the baud rate to 9600, but characters were still being >dropped. 9600 really works for me. That cannot be the problem. -- Markus Wenzel System administration, Consulting, Networking mow@marsu.tynet.sub.org on... NeXTSTEP / Unix / Novell / Windows NT IRC: Marsu Expert in quantum bogodynamics
Newsgroups: comp.sys.next.programmer From: mshaler@tdocad.sps.mot.com (Michael Shaler) Subject: Re: NeXTSTEP <-> IBM DB2 connectivity? Message-ID: <CFzL0J.EG7@tdocad.sps.mot.com> Sender: news@tdocad.sps.mot.com Organization: Nippon Motorola Ltd., Tokyo, Japan References: <CFz1CE.5on@dvorak.amd.com> Distribution: usa Date: Thu, 4 Nov 1993 21:29:06 GMT Ron Pomeroy x(Coop) writes [munch] I swear I've seen an announcment about a DBKit DB2 Adaptor but Digital Librarian turned up nil in my mailboxes and newsfolders. Anyone else got it ? Yes, there WAS a company called Sonrisa who had been working on a DBKit DB2 Adaptor right up until Black February... There are unfortunately no longer in business. There was discussion that someone else would be picking up where they left off--any folks in Philly _off_ the Main Line care to comment on that one... %^)... Cheers. --- Michael Shaler Tokyo Design Center Nippon Motorola Ltd. +813 3280 8245 voice +813 3440 0033 fax mshaler@tdocad.sps.mot.com [NeXTmail]
From: amunoz Newsgroups: comp.sys.next.programmer Subject: F's keys in NeXTstep Intel Date: 4 Nov 1993 16:37:18 -0600 Organization: ITESM, Campus Monterrey Sender: root@mtecv2.mty.itesm.mx Distribution: alt Message-ID: <2bc06u$2q3p@mtecv2.mty.itesm.mx> Hello, Does anyone knows if the implementacion of NS for Intel reports a keyDown event after pushing F1 key or another F key? Is it implemented? or simply, it is not consider. I appreciate any help. Thanks, Artemio.
From: amunoz Newsgroups: comp.sys.next.programmer Subject: NS Intel 3.1 vs NS B.3.1 Date: 4 Nov 1993 16:43:59 -0600 Organization: ITESM, Campus Monterrey Sender: root@mtecv2.mty.itesm.mx Distribution: alt Message-ID: <2bc0jf$5cp@mtecv2.mty.itesm.mx> I like to know if exist some kind of diference between the NS for Intel release 3.1 and the Beta version of NS 3.1. I ask this because I'm having problems while mi app is executing. In NS Intel works perfectly but it doesn't matter in NS. Does anyone knows something about it? Thanks, Artemio.
Newsgroups: comp.sys.next.programmer From: xinwei@otter.Stanford.EDU (Sha Xin Wei) Subject: getting file-move "events" from Workspace Message-ID: <1993Nov5.010523.6138@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: Stanford University References: <2bc0jf$5cp@mtecv2.mty.itesm.mx> Distribution: alt Date: Fri, 5 Nov 93 01:05:23 GMT How can my app receive file/folder moved events? My app would like to perform some updates after a human has dragged a folder from one directory to another (anywhere on NFS). Sha Xin Wei Stanford University nextmail: xinwei@otter.stanford.edu
From: art@cubicsol.com (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: NeXTSTEP <-> IBM DB2 connectivity? Date: 5 Nov 1993 02:18:19 GMT Organization: University of California, Santa Cruz Distribution: world Message-ID: <2bcd5b$3d6@darkstar.UCSC.EDU> References: <CFzL0J.EG7@tdocad.sps.mot.com> In article <CFzL0J.EG7@tdocad.sps.mot.com> mshaler@tdocad.sps.mot.com (Michael Shaler) writes: >> Ron Pomeroy x(Coop) writes >> [munch] >> I swear I've seen an announcment about a DBKit DB2 Adaptor but Digital >> Librarian turned up nil in my mailboxes and newsfolders. Anyone else >> got it ? >> > Yes, there WAS a company called Sonrisa who had been working on a DBKit >DB2 Adaptor right up until Black February... There are unfortunately no >longer in business. There was discussion that someone else would be >picking up where they left off--any folks in Philly _off_ the Main Line >care to comment on that one... %^)... The latest NeXTWORLD lists Micro Decisionware, 800-221-3634, as a DB2 adaptor provider. -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
Newsgroups: comp.sys.next.programmer From: byer@mv.us.adobe.com (Scott Byer) Subject: Re: NXAppTile In-Reply-To: bau@cs.cornell.edu's message of Thu, 4 Nov 1993 20:06:25 GMT Message-ID: <BYER.93Nov4183757@birch.mv.us.adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated, Mountain View, CA References: <1993Nov4.200625.18907@cs.cornell.edu> Date: Fri, 5 Nov 1993 02:37:57 GMT David Bau writes: > How does Preferences figure out where its application tile is to > draw pretty clocks on it? Is there a function NXAppTile that > enables it to do this? [NXImage findImageNamed:"NXAppTile"]; Documented somewhere in the TechNotes or Developer Release Notes I think. -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Why -alloc & -init rather than +new ? Message-ID: <1993Nov5.091520.14991@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Nov02.225900.18149@cs.ucla.edu> <PFKEB.93Nov3080506@kaon.SLAC.Stanford.EDU> Date: Fri, 5 Nov 1993 09:15:20 GMT In article <PFKEB.93Nov3080506@kaon.SLAC.Stanford.EDU> Paul_Kunz@slac.stanford.edu writes: > [[Button allocFromZone:aZone] initFrame:aFrame]; Better example: [[Button allocFromZone:[self zone]] initFrame:aFrame]; -=EPS=-
Newsgroups: comp.sys.next.programmer From: joe@FreemanSoft.com (Joe Freeman) Subject: Re: Programmatically Sending Files through Mail.app Message-ID: <1993Nov5.020250.13015@FreemanSoft.com> Sender: jfreeman@FreemanSoft.com Organization: FreemanSoft Inc. References: <22462.199311031220@gpo.gb.swissbank.com> Distribution: usa Date: Fri, 5 Nov 1993 02:02:50 GMT In article <22462.199311031220@gpo.gb.swissbank.com> patersk@gb.swissbank.com (Kevin Paterson) writes: > Does anyone know how to programmatically mail files through the > Mail.app ? eg .m, .rtfd, folders or .tiff files. > > Solutions greatfully appreciated. I have a program called send_attach that lets you send files as next attachments. It supports To:, CC: and BCC: options along with the inclusion of multiple files. The underlying object also includes support for arbitrary RTF text included before the attachments but I haven't figured out how to bring that to the command line yet. Its compiled up as a fat binary, so drop me a note if you want a copy. -- Joe Freeman FreemanSoft Inc. A NEXTSTEP software and consulting services company. Electronic Mail: Joe@FreemanSoft.com (NeXT Mail) Voice: 919.783.7033
From: leuschr@b103-3.Rose-Hulman.Edu (Rainer Leuschke) Newsgroups: comp.sys.next.programmer Subject: flipped text in non-flipped view Date: 5 Nov 1993 20:02:06 GMT Organization: Rose-Hulman Institute of Technology Message-ID: <2bebfu$pec@master.cs.rose-hulman.edu> Hi there, I am trying to PSshow a string in a rather boring non-flipped view. Strangely, the result is flipped over the x-axes. Am I missing something about the way show works???? later, Rainer
From: rochelle@pdh.com (Rochelle Raccah) Newsgroups: comp.sys.next.programmer Subject: Summary: text delegate methods Date: 5 Nov 1993 15:38:18 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9311052136.AA04186@snowbird.pdh.com> Some time ago I posted a question about text delegate methods and trapping certain keys. Here is my original post: > Hello > > I have an object which implements the text delegate method > textDidGetKeys: isEmpty: I want to have different behavior in this method depending on what those keys actually were. More specifically, I want to trap for backspace, delete, or cut (whether it was command-x, or it was selected from the menu) > > I am getting the current event and examining the charCode for the event. This works fine for backspace, delete and command-x. The problem occurs if the user chooses Cut from the menu. cut: invokes textDidGetKeys: isEmpty: but there is no charCode since no keys were depressed. I can't just assume that all null charCodes are Cut, since I also want to trap Paste and Delete. > > Does anyone know a way to ask the application "who" invoked the method? One solution is to determine whether the coordinates of the mouse down (of the current event) lie in the rect of the Cut menu cell, but I was hoping for a cleaner solution. Can you determine which responder "accepted" the message? > > I'll summarize the responses. > > > Any suggestions would be greatly appreciated, > --- > > Rochelle Raccah > I received four responses, most of which led me to believe that I was not clear in stating my problem. I was not using the text delegate method to trap for the keys, I happened to be inside of a text delegate method (which I needed anyway) when I needed to trap for those certain keys. Thanks to mike@lorax.com, cjn@vaal.cpr.upenn.edu, simsong@next.cambridge.ma.us, and jfr@pdh.com for responding. In the end, I just attached the cut menu cell to my own method which set a flag, sent a cut: to the application's target for the action cut:, and then reset the flag to its normal state. Thanks, to Jon F. Rosen and Kelly Toshach for their help. --- Rochelle Raccah email: rochelle@pdh.com (NeXTMail OK) PDH Inc. 2635 N. First St. Ste 224, San Jose, CA 95128 phone: (408) 428 - 9596 fax: (408) 428 - 9599
Newsgroups: comp.sys.next.programmer From: adriano@nice.usergroup.ethz.ch (Adriano Gabaglio) Subject: Re: Way to print RTF from batch while not logged in? Message-ID: <CG0vBD.89C@bernina.ethz.ch> Sender: news@bernina.ethz.ch (USENET News System) Organization: NiCE - NeXT User Group, Zurich, Switzerland References: <1993Nov4.151812.9017@almserv.uucp> Date: Fri, 5 Nov 1993 14:09:12 GMT In article <1993Nov4.151812.9017@almserv.uucp> g8udgl@fnma.com writes: >Does anyone know of a way to print rtf on a machine that isn't logged in? >The purpose is to have a batch job generate RTF and spool it to a printer >at a certain time. RTF-to-PS filter? Text object hack? Try 'open -a Edit -p file'! Read the manual page for 'open' for further details. -Adriano -- Adriano Gabaglio, Brunnmattstr. 22a, CH-6010 Kriens, Switzerland e-mail: Adriano.Gabaglio@nice.usergroup.ethz.ch (NeXTmail ok) *** Editor of PowerKey, NiCE -- NeXT User Group Magazine ***
From: kline@CS.Arizona.EDU (Nick Kline) Newsgroups: comp.sys.next.programmer Subject: How can I underline text Date: 5 Nov 1993 16:23:42 -0700 Organization: University of Arizona CS Department, Tucson AZ Message-ID: <2ben9u$eqk@cheltenham.cs.arizona.edu> I would like to underline text in postscript. I have the red book which discusses underlining a bit but I didn't understand how to apply it. Using the info that you can get on a font (from the Font class), there seems to be enough info there about descenders and so forth to figure out underlining, but not enough for me, I'm afraid. Can someone tell me what things to use from the Font class info to do underlining? Thanks, Nick
Newsgroups: comp.sys.next.programmer From: gerben@rna.indiv.nluug.nl Subject: InterViews Message-ID: <1993Nov6.110106.450@rna.indiv.nluug.nl> Sender: gerben@rna.indiv.nluug.nl (Gerben Wierda) Organization: G.R.O.S.S. Date: Sat, 6 Nov 1993 11:01:06 GMT Can I use InterViews with Co-Xist under NEXTSTEP 3.1? Is there an InterViews port that uses appKit objects? Thanks, -- Gerben Wierda [NeRD:7539] gerben@rna.indiv.nluug.nl "If you don't know where you are going, any road will take you there." From the Talmud(?), rephrased in Lewis Carroll, "Alice in Wonderland".
Newsgroups: comp.sys.next.programmer From: bbum@friday.com Subject: Re: NXAppTile Message-ID: <CG1G4t.sw@friday.com> Sender: bbum@friday.com (Bill Bumgarner) Organization: Friday Software & Consulting; a virtual company References: <BYER.93Nov4183757@birch.mv.us.adobe.com> Date: Fri, 5 Nov 1993 21:38:52 GMT Scott Byer writes > > David Bau writes: > > > How does Preferences figure out where its application tile is to > > draw pretty clocks on it? Is there a function NXAppTile that > > enables it to do this? > > [NXImage findImageNamed:"NXAppTile"]; > > Documented somewhere in the TechNotes or Developer Release Notes I > think. I'm not sure which release adds this piece of API... Application implements - appIcon Which returns the window that contains the application icon. Send the window -contentView to grab the view within which the icon was composited. If you want to preserve the borders, you will have to center the icon (usually 48x48) within the 64x64 bounds. b.bum -- b.bum <bbum@friday.com> | "blah blah blah" WhiteLight Systems, INC. | - someone somewhere
Newsgroups: comp.sys.next.programmer From: bbum@friday.com Subject: Re: NXAppTile Message-ID: <CG1o2v.xC@friday.com> Sender: bbum@friday.com (Bill Bumgarner) Organization: Friday Software & Consulting; a virtual company Date: Sat, 6 Nov 1993 00:30:31 GMT Scott Byer writes > > David Bau writes: > > > How does Preferences figure out where its application tile is to > > draw pretty clocks on it? Is there a function NXAppTile that > > enables it to do this? > > [NXImage findImageNamed:"NXAppTile"]; > > Documented somewhere in the TechNotes or Developer Release Notes I > think. I'm not sure which release adds this piece of API... Application implements - appIcon Which returns the window that contains the application icon. Send the window -contentView to grab the view within which the icon was composited. If you want to preserve the borders, you will have to center the icon (usually 48x48) within the 64x64 bounds. -- b.bum <bbum@friday.com> | "blah blah blah" WhiteLight Systems, INC. | - someone somewhere
Newsgroups: comp.sys.next.programmer From: bbum@friday.com Subject: CrashCatcher (was: GDB & Lost Frames) Message-ID: <CG1xJG.1Kn@friday.com> Sender: bbum@friday.com (Bill Bumgarner) Organization: Friday Software & Consulting; a virtual company Date: Sat, 6 Nov 1993 03:54:51 GMT Be forewarned, this is kind of a plug for a potential product. I ran across the lost frame bug in gdb quite a number of times-- a most annoying non-feature. It turns out that the frame information is available, but gdb is decoding things the wrong way. Which brings us to the plug. For WhiteLight, I have written a package of technology called CrashCatcher. It is a self-contained unit of code that was originally intended to provide diagnostic information whenever an application crashes on-site (and automatically email a crash-report back to the parent company). As the project evolved, it became clear that CrashCatcher provided a large quantity of more accurate information than what was provided by gdb. This includes NOT skipping a frame when an application dies from an objective-c runtime error. Once CrashCatcher became an integral part of the debugging environment, it became justifiable for me to spend more time in augmenting CrashCatcher's feature set. At this point, CrashCatcher provides quite a number of features that aid in the debugging of an application. Whenever an application crashes (or enters a detectable failure state), CrashCatcher generates a report of the state of the application. This state report is dumped to stderr and can also be automatically emailed to a configurable address. The underlying structure of the state report consists of a backtrace of the application. During the backtrace, as much information as possible as provided about each method call. This includes: - the class & address of self - the name of the method called - the type and value of all arguments - for args of type (id), the class of the object passed (and address) - for args of type (char *), the contents of the string - for args of type SEL, the name of the method During this reporting process, CrashCatcher takes measure to make sure that all data being examined is valid. Whenever CrashCatcher encounters a variable of type (id), it makes every attempt to provide the object with an oppurtunity to identify itself and provide commentary about the state the object was in when it crashed. (Example output is shown below-- gdb output of the same bactrace is given below that for comparison). CrashCatcher operates as a completely non-obtrusive addition to the runtime environment. It has a less non-obtrusive mode that can catch +all+ method calls sent to freed objects-- very useful during the debugging phase of an application. It is completely configurable via a clean and concise API. CrashCatcher also provides a number of debugging functions that aid in the validation and generation of reports within any class that wants to provide custom reporting information. The underlying technology is based on code provided in the talk entitled +The Zen Of Debugging+ given by Julie Zelenski at the laste NeXT World Expo. Obviously, this technology is useful to all developers of NS based applications. Questions: - How much is technology like this worth to you? - What form do you want it in (source? library? if source, are you willing to pay the extra $$$$ for a source distribution?) While I'm not at liberty to freely distribute CrashCatcher, I have been given the go-ahead to develop some kind of a marketing strategy for CrashCatcher. Please reply with feedback, and I'll see what I can work out to ensure that this technology is available to developers (I have found it to be extremely useful and would have a hard time living without it now). thanks, b.bum CrashCatcher sample output follows: ====== CrashCatcher Automatic Report ====== does not recognize selector -doFoo:bar: Backtrace follows: 0]: Object(0x00a000): + CC_printBacktrace 1]: Object(0x00a000): + CC_dumpBacktrace: CC_dumpBacktrace:(char *): "does not recognize selector -doFoo:bar:" 2]: KillerController(0x0f0844): - error: -CC: (0x000001)<<corrupt (char *)>> error:(char *): "does not recognize selector %c%s" 3]: KillerController(0x0f0844): - doesNotRecognize: -CC: (0x000001)<<corrupt (char *)>> doesNotRecognize:(SEL)doFoo:bar: 4]: KillerController(0x0f0844): - forward:: -CC: (0x000001)<<corrupt (char *)>> forward:(SEL)doFoo:bar: :(ptr)0x3fff42c 5]: KillerController(0x0f0844): - doFoo:bar: -CC: (0x000001)<<corrupt (char *)>> <<objc_meth structure not found>> 6]: KillerController(0x0f0844): - dieMethNotImplemented: -CC: (0x000001)<<corrupt (char *)>> dieMethNotImplemented:Matrix(0x0ef1a8) 7]: KillerController(0x0f0844): - perform:with: -CC: (0x000001)<<corrupt (char *)>> perform:(SEL)dieMethNotImplemented: with:Matrix(0x0ef1a8) 8]: Application(0x0eb560): - sendAction:to:from: sendAction:(SEL)dieMethNotImplemented: to:KillerController(0x0f0844) -CC: (0x000001)<<corrupt (char *)>> from:Matrix(0x0ef1a8) 9]: Matrix(0x0ef1a8): - sendAction:to: sendAction:(SEL)dieMethNotImplemented: to:KillerController(0x0f0844) -CC: (0x000001)<<corrupt (char *)>> 10]: Matrix(0x0ef1a8): - sendAction:to: sendAction:(SEL)dieMethNotImplemented: to:KillerController(0x0f0844) -CC: (0x000001)<<corrupt (char *)>> 11]: ButtonCell(0x0ef2f8): - _sendActionFrom: title: "Method Not Implemented By Class" _sendActionFrom:Matrix(0x0ef1a8) 12]: ButtonCell(0x0ef2f8): - trackMouse:inRect:ofView: title: "Method Not Implemented By Class" trackMouse:(ptr)0x0eb570 inRect:(ptr)0x3fff6f2 ofView:Matrix(0x0ef1a8) 13]: ButtonCell(0x0ef2f8): - trackMouse:inRect:ofView: title: "Method Not Implemented By Class" trackMouse:(ptr)0x0eb570 inRect:(ptr)0x3fff6f2 ofView:Matrix(0x0ef1a8) 14]: Matrix(0x0ef1a8): - _mouseDownNonListmode: _mouseDownNonListmode:(ptr)0x0eb570 15]: Matrix(0x0ef1a8): - mouseDown: mouseDown:(ptr)0x0eb570 16]: Window(0x0f1410): - sendEvent: title: "Chooose your fatality..." sendEvent:(ptr)0x0eb570 17]: Application(0x0eb560): - sendEvent: sendEvent:(ptr)0x0eb570 18]: Application(0x0eb560): - run 19]: Function [0 "args"] () ====== end crash report ====== gdb stuff for comparison-- (with comment marking lost frame) Program received signal 6, IOT trap 0x5007974 in kill () (gdb) bt Reading in symbols for CrashCatcher.m...done. Reading in symbols for KillerController.m...done. Reading in symbols for CrashMan_main.m...done. #0 0x5007974 in kill () #1 0x3ffdf98 in ?? () #2 0x5053fd2 in abort () #3 0x5037dce in _objc_error () #4 0x503554a in -[Object error:] () #5 0x52fe in -[CrashCatcher error:] (self=0xf0844, _cmd=0x401d6e6, aString=0x50895d2 "does not recognize selector %c%s") at CrashCatcher.m:680 #6 0x5035520 in -[Object doesNotRecognize:] () #7 0x5035586 in -[Object forward::] () #8 0x5006c1a in _objc_msgForward () [... missing frame here ...] #9 0x61d0 in -[KillerController dieMethNotImplemented:] (self=0xf0844, _cmd=0xacb0, sender=0xef1a8) at KillerController.m:35 #10 0x502ea68 in -[Object perform:with:] () #11 0x6060530 in -[Application sendAction:to:from:] () #12 0x6064dc4 in -[Control sendAction:to:] () #13 0x606f4ae in -[Matrix sendAction:to:] () #14 0x606c7ba in -[Cell _sendActionFrom:] () #15 0x6067e00 in -[Cell trackMouse:inRect:ofView:] () #16 0x606dee2 in -[ButtonCell trackMouse:inRect:ofView:] () #17 0x6069b4e in -[Matrix _mouseDownNonListmode:] () #18 0x606f518 in -[Matrix mouseDown:] () #19 0x606177c in -[Window sendEvent:] () #20 0x6029772 in -[Application sendEvent:] () #21 0x602ffd2 in -[Application run] () #22 0x635a in main (argc=1, argv=0x3fffa0c) at CrashMan_main.m:10 ----- looking forward to replies. -- b.bum <bbum@friday.com> | "blah blah blah" WhiteLight Systems, INC. | - someone somewhere
Newsgroups: comp.sys.next.programmer From: jjfeiler@relief.com (John Jay Feiler) Subject: Re: NXSplitView in InterfaceBuilder? Message-ID: <CG0BKG.CI@relief.com> Sender: jjfeiler@relief.com (John Jay Feiler) Organization: Relief Consulting & Development References: <1993Nov04.023144.3091@corona.com> Date: Fri, 5 Nov 1993 07:02:39 GMT In article <1993Nov04.023144.3091@corona.com> pkron@corona.com (Peter Kron) writes: > I recently was probing the nib files of DefaultMgr.app, an old public > domain tool for managing the NEXTSTEP default database. (Wondering > how hard it would be to port it to Intel, since it is M68K only.) I > noticed one of the nibs defines an NXSplitView containing a browser > on the top and various other controls on the bottom. These appear > grouped, just like the when grouping objects inside a ScrollView. > > The question is, ScrollView grouping can be created by a menu pick, > but I've never found any way to group views into a split view. How > was this done? IB knows it is a split view and says so in the > inspector title; testing the interface causes it to behave as a split > view. But I've found no documentation or clues as to how to create > such an entity in InterfaceBuilder or how to subselect objects > contained within. (Double-click doesn't work, as in other groupings.) > > Can anyone explain how this is done? > There is a nib file somewhere in /usr/lib/NextStep that has a SplitView in it. I'm not sure how it was put there, but you can open that nib in IB and copy and paste from that nib into one of your own nibs. Sneaky, huh!? John -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!! Edmonds, WA 98026-4433 Independent NeXTSTEP Developer -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!!
Newsgroups: comp.sys.next.programmer From: rnielsen@pdh.com (Robert D. Nielsen) Subject: Distributed compiling Message-ID: <CG1M3M.649@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. Date: Fri, 5 Nov 1993 23:47:46 GMT Greetings All, Have you ever had ProjectBuilder build on a remote host and peeked at what was going on with ps (process status)? /usr/ucb/rsh [remotehost] -n /usr/lib/BuildServer [localhost] [pid] I also did a strings on the file and it proved to be an ObjC executable. Does anyone have the API for BuildServer? It seems like it could be used to distribute the build of a project. Lets say that you have a large project that consists of several subprojects. In a large network, you could set it up to compile one subproject per machine, and do the final link on the local host. I have a script that does this, but it is need of some maintenance, and I am looking for an alternative. Cheers, Robert
Newsgroups: comp.sys.next.programmer From: g8udgl@fnma.com Subject: Still looking (was: Way to print RTF from batch) Message-ID: <1993Nov6.171636.7821@almserv.uucp> Sender: usenet@almserv.uucp Organization: Fannie Mae Date: Sat, 6 Nov 1993 17:16:36 GMT Hello: Many helpful people have offered command-line and c-code suggestions for solving this problem: >Does anyone know of a way to print rtf on a machine that isn't logged in? >The purpose is to have a batch job generate RTF and spool it to a printer >at a certain time. RTF-to-PS filter? Text object hack? but they all require you to be logged in (open -p also requires Public Window Server, I believe). Any other ideas out there waiting to be hatched? Thanks in advance for successful solutions! DL -- David Lewis Senior Software Engineer RAPS Development Team dlewis@fnma.com (NeXTmail OK), 202-752-4785
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: How to get a the window server before loggin in? Message-ID: <1993Nov6.225227.13445@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Nov6.001044.3242@cc.usu.edu> Date: Sat, 6 Nov 1993 22:52:27 GMT In article <1993Nov6.001044.3242@cc.usu.edu> slwdz@cc.usu.edu (John Zollinger) writes: >I need to have a daemon start at system startup that depends on the >WindowServer to run. I cannot start it from rc.local, because when those >processes are run, the WindowServer isn't alive yet. > >What I am looking to do is to give my app an ability like the system has. When >you have a paper jam or something, even if you are logged out, the system >brings up an alert panel telling you that something has happened to your >printer. I want to be able to bring up an alert panel on a machine that isn't >logged in like the printer alerts. This question has come up two or three times before, so you FAQ maintainers out there may want to consider this for inclusion. Two answers: 1) Instead of starting from /etc/rc.local, start from /usr/lib/NextPrinter/lpd.children -or- 2) Steal lpd's Window Server port at runtime. Example attached. [Note that app.tiff can be any 48x48 TIFF image. This one is ripped off from something NeXT distributed a long time ago. I apologize for being too lazy to create an appropriate alpha channel.] -=EPS=- ------- Complain.m #include <stdio.h> #ifdef NX_COMPILER_RELEASE_3_0 #include <bsd/sysexits.h> #include <mach/mach.h> #else #include <sysexits.h> #include <mach.h> #endif #import <servers/bootstrap.h> #import <servers/netname.h> #import <appkit/Application.h> #import <appkit/Panel.h> main(int argc, char *argv[]) { int s; extern int optind; extern char *optarg; char *title, *msg, *deftxt, *alttxt, *othtxt; int obnoxious; port_t wsp; title=(char *)NULL; msg=(char *)NULL; deftxt=(char *)NULL; alttxt=(char *)NULL; othtxt=(char *)NULL; obnoxious=0; while ((s=getopt(argc, argv, "A:D:O:T:f"))!=EOF) switch (s) { case 'A': alttxt=optarg; break; case 'D': deftxt=optarg; break; case 'O': othtxt=optarg; break; case 'T': title=optarg; break; case 'f': obnoxious++; break; default: goto usage; } if (argc-optind!=1) { usage: (void)fprintf(stderr, "Usage: %s [-f] [-T title] [-D default] [[-A alternate] [-O other]] msg\n", *argv); (void)fputs("\t-f activate self\n", stderr); exit(EX_USAGE); } msg=argv[optind]; if (netname_look_up(name_server_port, "", "NextStep(tm) Window Server", &wsp)!=NETNAME_SUCCESS&&bootstrap_look_up(bootstrap_port, "WindowServer", &wsp)!=BOOTSTRAP_SUCCESS) { #ifdef NX_COMPILER_RELEASE_3_0 FILE *f; if (f=fopen("/usr/spool/lpd.lock", "r")) { int pid; task_t t; port_t b0, b1; if (fscanf(f, "%d", &pid)==1&&pid>3&& task_by_unix_pid(task_self(), pid, &t)==KERN_SUCCESS) { if (task_get_bootstrap_port(t, &b1)==KERN_SUCCESS&& b1!=bootstrap_port) { b0=bootstrap_port; if (task_set_bootstrap_port(task_self(), b1)== KERN_SUCCESS) { bootstrap_port=b1; (void)port_deallocate(task_self(), b0); } } (void)port_deallocate(task_self(), t); } (void)fclose(f); } #else exit(EX_UNAVAILABLE); #endif } [Application new]; if (obnoxious) (void)[NXApp activateSelf:YES]; s=NXRunAlertPanel(title, msg, deftxt, alttxt, othtxt); [NXApp free]; switch (s) { case NX_ALERTDEFAULT: exit(0); case NX_ALERTALTERNATE: exit(1); case NX_ALERTOTHER: exit(2); case NX_ALERTERROR: exit(EX_OSERR); default: exit(EX_UNAVAILABLE); } } ------- Makefile CFLAGS=-O LDFLAGS=-s -sectcreate __ICON app app.tiff LOADLIBES=-lNeXT_s OBJS=Complain.o all: Complain Complain: $(OBJS) app.tiff $(CC) -o $@ $(LDFLAGS) $(OBJS) $(LOADLIBES) Complain.o: Complain.m $(CC) -c $(CFLAGS) $*.m clean: rm -f Complain $(OBJS) ------- app.tiff.uu begin 644 app.tiff M34T`*@```DBJJJJJJJJ*JJJJJJJJJJJJJJI&JJJJJJJJJJJJJJI&JJDJJJJJ MJJJJJJJ*JJ@JJJJJJJJH:JJ*JJ2JJJJJJJJH*JJJJJ*JJJJJJJJJ&JJ*JJJJ MJJJJJJJJBJJJJHJJJJJJJJJJJJJJJJJJJJJJJJJJHJJJJJJJJJJJJJJJJJBD M`:JJJJJJJJJJJJH```JJJJJJJJJJJ`````:JJJJJJJJJJH````*JJJJJJJJJ MJH````*JJJJJJIJBJJ````*JJJJJJH*BJJ````"JJJJJJJ"BJJ````(JJJJJ MJJABJJ````"JJJJJJ&HB@8`````*JJJJJ08"`(````"JJJJJJI``:JH````J MJJJJJJ@`JJH````IJJJJJ```JD"````8JJJJJJ@`J@J0````JJJJJJI`*JJJ M@```:JJJJJJ@&JJJH```*JJJJJJH"*JJH`!`&JJJJJJH`*JJ@`+@"JJJ*JBH M`&JI``?P!JJJJ"J@`"JD``?P`JJJJJJ@`!J@``O@`JJJJJBH``J```O0`:JJ MJJJJ``8```^``*JJJJJJ0`````]``*JJJ*JJ@`````\``*JHJJBJD`````T` M`&JJJJJJH`````P``&JJJJJJJ`````0``&JJJ*JJJ0`&`````&JJJJJJJD!J M`'0``"JJJJJJJI:J`/P``"JJJJJJJJJJ`'0``"JJJJJJJJJJ`````"JJ*JJJ MJJJI`````"JJJJJJJJJI`````"JJJJJJJJJH`````"JJJJJJJJJH`6JJI2H` M"0$```,````!`#````$!``,````!`#````$"``,````!``(```$#``,````! M``$```$&``,````!``$```$1``0````!````"`$5``,````!``$```$7``0` 7```!```"0`$<``,````!``(````````! ` end
Newsgroups: comp.sys.next.programmer From: uli@zoodle.robin.de (Ulrich Grepel) Subject: Re: Can't compile gzip on NeXTstep Message-ID: <CG1MMC.1Gz@zoodle.robin.de> Sender: uli@zoodle.robin.de (Ulrich Grepel) Organization: meow!!! References: <1993Nov3.050510.12560@csus.edu> Date: Fri, 5 Nov 1993 23:58:59 GMT Eric P. Scott writes > In article <1993Nov2.154108.24260@outback.ny.tpc.com> > gregg@outback.ny.tpc.com (Greg Gershowitz) writes: > > I am trying to compile gzip > >1.1.2. > > Why? > > The current release is 1.2.4. It works. No it doesn't. At least not unless you define _POSIX_SOURCE (maybe _NEXT_SOURCE will suffice too). This is due to stupid header file design in NS 3.1. They need either of these defines to define a lot of useful things, especially in bsd/sys/....h files. It seems like the cc from NeXT doesn't always have this problem, haven't checked if it defines one of these macros, but probably. I now use gcc 2.5.2, looks good so far. BTW: This helps for installing libg++-2.5 - similar problems. For the unexperienced: define the flag by adding (incl. the quotes) "CFLAGS=-d_POSIX_SOURCE" to your make command. And if you are at it, you can also set "-O2", like "CFLAGS=-d_POSIX_SOURCE -O2". If you have to compile something with C++, then you might also need "CXXFLAGS" with the rest identical to the CFLAGS version. Bye, Uli
Newsgroups: comp.sys.next.programmer From: gfin@cyber (Gary Finley) Subject: Problems with NextDex install Message-ID: <1993Nov7.064118.10769@kakwa.ucs.ualberta.ca> Sender: news@kakwa.ucs.ualberta.ca Organization: University Of Alberta, Edmonton Canada Date: Sun, 7 Nov 1993 06:41:18 GMT I've been wrestling with Installer, trying to fix a bad install of the Developer package (3.0 black). It seems that some files were missing or corrupted in my original install, and because files were missing, the Installer wouldn't let me delete the package so I could reinstall it. I made a listing of the package contents and went through and manually deleted every file, including /NextLibrary/Reciepts/Developer.pkg. Even with this done, when I run the installer and pick NextDeveloper.pkg (from the CD ROM), it still tells me that the package status is "Installed", and the Install option is disabled. Can anyone tell me how to convince Installer.app that the package is *not* there, so it will let me install the thing again from scratch? -- -------------------------------------------- Gary Finley, Univ of Alberta Psychology Dept. gfin@psych.ualberta.ca (NeXTmail welcome!)
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Can't compile gzip on NeXTstep Message-ID: <1993Nov7.071610.4751@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Nov3.050510.12560@csus.edu> <CG1MMC.1Gz@zoodle.robin.de> Date: Sun, 7 Nov 1993 07:16:10 GMT In article <CG1MMC.1Gz@zoodle.robin.de> uli@zoodle.robin.de (Ulrich Grepel) writes: > The current release is 1.2.4. It works. >No it doesn't. At least not unless you define _POSIX_SOURCE (maybe _NEXT_SOURCE >will suffice too). This is due to stupid header file design in NS 3.1. They >need either of these defines to define a lot of useful things, especially >in bsd/sys/....h files. setenv DEFS -bsd setenv G g ./configure make next-fat No POSIX braindamage anywhere. It works on Black Hardware. I don't see why White should be any different. -=EPS=-
From: art@cubicsol.com (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: CrashCatcher (was: GDB & Lost Frames) Date: 8 Nov 1993 00:42:41 GMT Organization: University of California, Santa Cruz Distribution: world Message-ID: <2bk4m1$489@darkstar.UCSC.EDU> References: <CG1xJG.1Kn@friday.com> In article <CG1xJG.1Kn@friday.com> bbum@friday.com writes: > The underlying technology is based on code provided in the talk entitled > +The Zen Of Debugging+ given by Julie Zelenski at the laste NeXT World > Expo. I seem to recall that Julie stated that the code that produces the crash traceback would be posted somewhere or would somehow be made available. I've never heard if this has been done. Until bbum gets his app marketed, I'd like to be able to use what Julie described. Does anyone know where this code might be? -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
Newsgroups: comp.sys.next.programmer From: shayman@Objectario.com (Steve Hayman) Subject: Re: Still looking (was: Way to print RTF from batch) Message-ID: <1993Nov8.021148.777@objectario.com> Sender: shayman@objectario.com Organization: Steve Hayman + Associates References: <1993Nov6.171636.7821@almserv.uucp> Date: Mon, 8 Nov 1993 02:11:48 GMT > >Does anyone know of a way to print rtf on a machine that isn't logged in? There is a package by Paul DuBois of RTF processing tools on ftp.primate.wisc.edu, in pub/RTF. One of the tools is rtf2troff, which translates rtf to troff. Since your NeXT already has "ptroff", you could put together an rtf-to-postscript translation script by doing rtf2troff foo.rtf | ptroff -t (and you could then lpr the output if you needed to print it) and this wouldn't require anybody to be logged in. Now in spite of the heroic efforts of this package to parse rtf code, unfortunately this isn't really a good solution. The rtf2troff stuff admittedly sidesteps a whole lot of issues (such as not really recognizing that a document has different fonts in it.) So, this might be a place to start looking if you wanted to do some hacking on your own to come up with a suitable rtf-to-postscript tool but I don't think it's quite usable right out of the box. Now, for another approach, thinking out loud here - the Text object already has provisions for reading in an rtf file, and writing its own postscript code to a stream. I wonder if you could write a program that would run from the command line, create a Text object, read an rtf file into it, and then write the corresponding postscript code to standard output. I wonder if there's any chance something like this would work, or would you need all the overhead of Windows and the window server and so on, which would mean it couldn't work from the command line when nobody was logged in.... Steve
From: khare@cco.caltech.edu (Rohit Khare) Newsgroups: comp.sys.next.programmer Subject: Displaying a SoundMeter in a modal loop Date: 8 Nov 1993 03:18:45 GMT Organization: California Institute of Technology, Pasadena Message-ID: <2bkdqm$6pt@gap.cco.caltech.edu> For security reasons, I need to make sure a certain panel is modal, so, the user can't modify the doc while the panel is active (yeah, yeah, we *are* treading thin ice in The Land of Obvious here, we know :-) In this panel there lives a little sound meter. Unfortunately, our poor meter's undoumented internals create a timed entry at NX_BASETHRESHOLD, and the appkit runs our modal panel at NX_RUNMODALTHRESHOLD, so it only displays one sample and then fails to update ever again. Question: what can I do to make this system happy? o Wait in a tight loop using getNextEvent looking for clicks? o Alternatively, I could break my run: method into two pieces, one to set up the loop, and two other bits executed by the ok and cancel buttons-- thus letting the 'regular' event loop operate in between. But, how could I then keep the focus locked on the modal panel? I must be missing something here, right? Thanks in advance, Rohit Khare
From: theharv@csld.ucr.edu (Brian Harvey) Newsgroups: comp.sys.next.programmer Subject: Printing without printPSCode Date: 8 Nov 1993 06:29:47 GMT Organization: University of California, Riverside Message-ID: <2bkp0r$349@galaxy.ucr.edu> I'm writting an application that needs to print out a file (by making a call to popen). I want to bring up the PrintPanel so that the user can select a printer. Calling printPSCode doesn't help me. I want to print a file (which is not postscript) and using the PrintPanel to determine which printer the user wants to print to. Any ideas? ----------------------------------------------------------------- Brian Harvey * theharv@csld.ucr.edu University of California, Riverside * brian@cs.ucr.edu C.S.L.D. System Administrator (NeXT Mail preferred everywhere!) -----------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Still looking (was: Way to print RTF from batch) Message-ID: <1993Nov8.074337.3055@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Nov6.171636.7821@almserv.uucp> <1993Nov8.021148.777@objectario.com> Date: Mon, 8 Nov 1993 07:43:37 GMT In article <1993Nov8.021148.777@objectario.com> shayman@Objectario.com (Steve Hayman) writes: >Now, for another approach, thinking out loud here - the Text object >already has provisions for reading in an rtf file, and writing its >own postscript code to a stream. I wonder if you could write a >program that would run from the command line, create a Text object, >read an rtf file into it, and then write the corresponding postscript >code to standard output. You would THINK this would work... > I wonder if there's any chance something >like this would work, or would you need all the overhead of Windows >and the window server and so on, which would mean it couldn't work >from the command line when nobody was logged in.... Good guess! The _obvious_ approach is to use - printPSCode:, which at some point calls - beginPageSetupRect:placement: (View). That method performs a lockFocus (yes, it's documented), which depends on the Text being in a Window's View hierarchy *and* a real Window Server window existing. Boo, hiss! [No, I haven't tried overriding - beginPageSetupRect:placement: and - endPage.] -=EPS=- -- So much for the "NEXTSTEP Advantage" of being able to print something without writing pages and pages of code.
From: droux@info.isbiel.ch (Nicolas Droux) Newsgroups: comp.sys.next.programmer Subject: Writing to I/O ports (NS/I driver) Date: 8 Nov 1993 11:23:56 GMT Organization: Biel School of Engineering, CH-2501 Biel, Switzerland Distribution: world Message-ID: <2bla8c$ebh@vega.info.isbiel.ch> I'm starting to write my first NS/I driver for a little ISA card we developed here some years ago. This card is really simple and can be controlled with I/O some ports (no interrupt, ...). After reading some of the (poor) NeXT documents on the subject, I find that the outb/inb/outw/inw macros could do what I need. Before writing the driver, I'd like to test the sequence of my writes and reads on the ports from a user-level process. I have written a little program that just tries to write to a port but it just stopped after the error "Illegal Instruction". According to the NeXT docs, these functions/macros are not required to run in kernel-mode... is it really true ? Finally, I'd like to access my card through a /dev/blabla file. The user should have the possibity to open this device, and to write and read some data to and from it. Is it easy to do with NEXTSTEP, what kind of driver should I write in this case ? Nicolas Droux
Newsgroups: comp.sys.next.programmer From: bbum@friday.com Subject: Re: How to get a the window server before loggin in? Message-ID: <CG57BC.2Ew@friday.com> Sender: bbum@friday.com (Bill Bumgarner) Organization: Friday Software & Consulting; a virtual company References: <1993Nov6.225227.13445@csus.edu> Date: Sun, 7 Nov 1993 22:18:48 GMT Now all someone needs to do is: - write a little program that does what eric describes and calls a list of other little programs that need to be run at boot time.... - have the little program display an icon for each of the little programs it is sub-executing. result: INIT's w/Icons-- just like a Macintosh... neato keano. (someone else needs to figure out how to patch the shlib's on the fly-- and then the fun REALLY begins. I have an interesting ButtonCell subclass that animates the button state-flips w/a series of 3D images.... Of course, the menu class needs to be replaced... and one could REALLY have some fun w/OpenPanel/SavePanel) sorry, b.bum -- b.bum <bbum@friday.com> | "blah blah blah" WhiteLight Systems, INC. | - someone somewhere
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: Multiple Nibs with their own menus Message-ID: <1993Nov8.090203.226@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <2b9je1$dq7@cmcl2.NYU.EDU> Date: Mon, 8 Nov 93 09:02:03 GMT In article <2b9je1$dq7@cmcl2.NYU.EDU> dario@voluptas (Dario Ringach) writes: > How can I have multiple nibs with different menus? > That is, suppose I load a new nib from the main > menu. I want it to show its own menu and when I > make the original window the main window again I > want the original menu back... Can this be done? > > Thanks!! > -- > Dario Dario, Shure it can be done - it just depends on your skills avoiding the NeXT UI guidelines... My opinion is that you should not even think about doing that. This would violate the UI in a way which makes me shiver. But the system leaves you other choices: a) make your other nibs own programs and start them up through the Services menu or b) attach your menus as submenues (like Edit does with it's gdb menu if you have more than one debuggee running). Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not (+49) 40 / 380 23-290 (Fax ) And am content with all
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: Way to print RTF from batch while not logged in? Message-ID: <1993Nov8.102246.321@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <CG1usv.I1A@news2.cis.umn.edu> Date: Mon, 8 Nov 93 10:22:46 GMT In article <CG1usv.I1A@news2.cis.umn.edu> peter@corsica (Peter Eisch) writes: > > corsica> open -a Edit -p test.rtf > open: can't open connection to Workspace on local host. > > ...What might I be forgetting? > > Public Window Server checked for root? Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not (+49) 40 / 380 23-290 (Fax ) And am content with all
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: Way to print RTF from batch while not logged in? Message-ID: <1993Nov8.104449.387@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <1993Nov8.102246.321@dart.de> Date: Mon, 8 Nov 93 10:44:49 GMT In article <1993Nov8.102246.321@dart.de> Atze (Alexander Spohr) writes: > In article <CG1usv.I1A@news2.cis.umn.edu> peter@corsica (Peter Eisch) writes: > > > > corsica> open -a Edit -p test.rtf > > open: can't open connection to Workspace on local host. > > > > ...What might I be forgetting? > > > > > > Public Window Server checked for root? > Sorry, I was way to fast. Edit needs the Workspace, which you don't have if you're not logged in. I remember this question, but forgot the answer. Sorry again. Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not (+49) 40 / 380 23-290 (Fax ) And am content with all
Newsgroups: comp.sys.next.programmer From: jgg@LoftTech.com (J. G. Gregory) Subject: **Bad free area not marked free Message-ID: <1993Nov8.134353.374@LoftTech.com> Sender: jgg@LoftTech.com Organization: LoftTech Incorporated Date: Mon, 8 Nov 1993 13:43:53 GMT Here is a quiz, but I am not just playing; I really need to understand what is happening here. I have been having some kind of memory screw, so I put in a call of: malloc_debug(8); inside an init method. Shortly after my system starts, I get this: **Bad free area not marked free Malloc corrupted entering malloc If I wasn't so desperate, these lines would be funny. Now here is the quiz. What is the proper punctuation? 1. Bad free: area not marked free 2. Bad free area -- not marked free 3. Malloc: corrupted entering malloc 4. Malloc corrupted: entering malloc malloc_debug(8) is supposed to check a lot of stuff. If I don't do this, much later I run into an internal function, well inside of free(), that gets some kind of invalid pointer. I have not been able to get a repeatable scenario without malloc_debug() set to level 8. Any and all ideas appreciated. Happens on both Motorola and Intel. --J Gregory LoftTech Incorporated
Newsgroups: comp.sys.next.programmer From: g8udgl@fnma.com Subject: Re: Still looking (was: Way to print RTF from batch) Message-ID: <1993Nov8.141653.10264@almserv.uucp> Sender: usenet@almserv.uucp Organization: Fannie Mae References: <1993Nov8.074337.3055@csus.edu> Date: Mon, 8 Nov 1993 14:16:53 GMT In article <1993Nov8.074337.3055@csus.edu> eps@futon.SFSU.EDU (Eric P. Scott) writes: [munch -- unfortunate limitations of NS printing model] Hi Eric: I notice you posted something the other day about how to grab a handle to the window server when you're not logged in. I don't suppose this code could be munged to trick a Text object into printing when not logged in? What do you think? DL -- David Lewis Senior Software Engineer RAPS Development Team dlewis@fnma.com (NeXTmail OK), 202-752-4785
Newsgroups: comp.sys.next.programmer From: jaime@afs.com (Jaime Guerrero) Subject: Re: Why -alloc & -init rather than +new ? Message-ID: <1993Nov8.150633.5523@afs.com> Sender: jaime@afs.com References: <1993Nov02.225900.18149@cs.ucla.edu> Date: Mon, 8 Nov 1993 15:06:33 GMT In article <1993Nov02.225900.18149@cs.ucla.edu> esky@marathon.cs.ucla.edu (Eskandar Ensafi) writes: [deleted] In addition to the reasons mentioned in the previous postings, there are cases where objects "come to life" *without* receiving an -init message. Memory for these objects must still be obtained with +alloc, though. For example, when unarchiving an object from a stream (like when an IB palette object is created when loading a .nib file), their classes receive a +alloc message, and the resulting instance receives -read: and -awake messages in lieu of a -init message. In this case, SOME of what the -init method does must also be done by the -awake method, i.e. to initialize any ivars that are not stored in the stream and so have not been initialized. What to send for ordinary instantiation: [[MyClass alloc] init] -init initializes all ivars and sets up instance for use What ultimately gets sent (by the system) when unarchiving objects: [[[MyClass alloc] read:theStream] awake] -read: initializes archived ivars -awake initializes remaining ivars and sets up instance for use This is an example of where allocation and initialization cannot be combined into a single +new method. -- Jaime Guerrero Verbing weirds language. Anderson Financial Systems Inc. Springhouse, Pennsylvania, USA jaime@afs.com [NeXTmail ok]
From: reno@cs.mcgill.ca (Renaud GORGEON) Newsgroups: comp.sys.next.programmer Subject: NXImage Date: 8 Nov 1993 16:16:35 GMT Organization: SOCS, McGill University, Montreal, Canada Distribution: world Message-ID: <2blrd3$43c@homer.cs.mcgill.ca> I need some help using NXImage class. I create a background image using several TIFFs files , and so I have several NXImage . How can I concatenate all these images in only one. Thank you
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: Re: Still looking (was: Way to print RTF from batch) Message-ID: <CG6tuH.45D@news2.cis.umn.edu> Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Hospital and Clinic, Laboratory Information Services References: <1993Nov8.074337.3055@csus.edu> <1993Nov8.141653.10264@almserv.uucp> Date: Mon, 8 Nov 1993 19:18:54 GMT g8udgl@fnma.com wrote: : I notice you posted something the other day about how to grab a handle to : the window server when you're not logged in. I don't suppose this code : could be munged to trick a Text object into printing when not logged in? A day or two before the original post appeared I had run into the same requirement for a pet project I've been feeding. I had resigned that I would write a RTF scanner that could generate paginated PostScript given a region to draw in -- as the Text object should do. It would even give a grand attempt to print rtfd files as well as the general rtf files. Everything thus far in my project has been ObjC, but no NeXTSTEP in case I ever wanted to run it on [...|SCO|Linux]. Does anyone have a scanner/parser already available? (I guess it's sort of a loaded question because I'd want to send ObjC messages to the entities that it creates...) peter -- Always looking for a handy place to nap... peter@tahiti.umhc.umn.edu (Peter Eisch) peter.a.eisch@uwrf.edu
From: sanguish@digifix.com Newsgroups: comp.sys.next.announce,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.advocacy,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.bugs,comp.sys.next.programmer,comp.sys.next.marketplace Subject: Quick Guide to the comp.sys.next.* newsgroups Date: 8 Nov 1993 14:55:59 -0500 Organization: Next Announcements Message-ID: <2bm88d$bq3@digifix.digifix.com> The current menagerie: 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. comp.sys.next.announce Announcements of general interest to the NeXT community (new products, FTP submissions, user group meetings, commercial announcements etc.) The NEXTSTEP FAQs are posted here monthly as well. 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. 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. 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. 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. 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!!! comp.sys.next.programmer Questions and discussions of interest to NEXTSTEP programmers. This is primarily a forum for advanced technical material. The NEXTSTEP programmer FAQs are posted here. 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. comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. related Newsgroups 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. comp.lang.objective-c Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. 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. --------------------------------------------------------------------- Thanks to Michael Ross at antigone.com, the main NEXTSTEP groups are now available as a mailing list digest as well. next-nextstep-d next-advocacy-d next-announce-d next-bugs-d next-hardware-d next-marketplace-d next-misc-d next-programmer-d next-software-d next-sysadmin-d (For a full description, send mail saying LISTS to <digestif@antigone.com>). The subscription syntax is essentially the same as LISTSERV's. To subscribe, send a message to <digestif@antigone.com> saying: SUB Listname YourName Example: SUB next-hardware-d John Doe -------------------------------------------------------------------- Written by: Eric P. Scott eps@toaster.SFSU.EDU Minor editing: Scott Anguish sanguish@digifix.com Additions from: Greg Anderson (Greg_Anderson@afs.com) and Michael Pizolato (Michael_Pizolato@afs.com)
Newsgroups: comp.sys.next.programmer From: Alexis Rzewski <rzewski@NorthStar.com> Subject: how to build a hierarchy class listing from reading the .h files Message-ID: <9311082143.AA04224@NorthStar.com> Sender: root@news.cs.indiana.edu (Operator) Organization: Computer Science, Indiana University Date: Mon, 8 Nov 93 16:43:10 -0500 Hi, does anyone know if there is a utility somewhere that would read, say, the .h files where classes are declared, and from it write a file with text such as: Object MyView SubView1 SubView2 SubSubView AnotherView [ Using the above example, doing "grep @interface *.h" would have returned: SubView2.h:@interface SubView2: MyView AnotherView.h:@interface AnotherView: Object MyView.h:@interface MyView: Object SubSubView.h:@interface SubSubView: SubView2 SubView1.h:@interface SubView1: MyView ] --- Alexis Rzewski NorthStar Technologies, Inc. 15 Maiden Lane, Suite 803 New York, NY 10038 (212) 267-4100 ext 115 alexis@northstar.com
Newsgroups: comp.sys.next.programmer From: fabien@free.fdn.org (Fabien Roy) Subject: Re: NeXTSTEP <-> IBM DB2 connectivity? Message-ID: <1993Nov4.205433.1337@free.fdn.org> Sender: news@free.fdn.org Organization: Fabien Roy Electronic Engineering (F.R.E.E.) - Paris, France. References: <CFz1CE.5on@dvorak.amd.com> Date: Thu, 4 Nov 1993 20:54:33 GMT In article <CFz1CE.5on@dvorak.amd.com> rpomeroy@aunext1.amd.com (Ron Pomeroy x(Coop)) writes: > In article <1993Nov3.232250.9253@umr.edu> atownley@cs.umr.edu (Andrew S. > Townley) writes: > >> > >>Hopefully, someone out there will be able to help me, or at least point > >> > >>me in the right direction. I'm evaluating the feasibility of using NeXTSTEP > platforms for an alternative client to an IBM mainframe running DB2. I really > don't know the best place to start, but I figured that my best bet would be to > post here. > >> I know there are fronts for Sybase, Oracl > >> > >>e, etc, but the SQL that this application will use will be DB2 on an IBM > Mainframe. One of the things I would like to know is if there are any > commercial products available which would meet this need. Secondly, if there > are no commercial packages, or the packages are prohibitively expensive, how > difficult it would be to write something which would communicate with the > mainframe system. > >> If anyone has any information which would be applicable to this > project, please send the information via e-mail. If there is enough response, > or interest, I'll post a summary. Ideally, I would like to be able to make my > proposal sometime mid to late December. > >> > >>Any help would be wonderful. > >> > > I swear I've seen an announcment about a DBKit DB2 Adaptor but Digital > Librarian turned up nil in my mailboxes and newsfolders. Anyone else got it ? > > -- > Ronald Pomeroy > Advanced Micro Devices > CAM Applications Group > rpomeroy@aunext1.amd.com Hi Ronald, Andrew As a SYBASE var the only solution I can suggest is to install SYBASE DB2 SQL Bridge on an RS6000, then with DBKit+SYBASE adaptor you will connect to the RS600 which in turns will translate SYBASE SQL to DB2 dialect and data format then submit the query to DB2. Hope this would help. Fabien -- --------------------------------------------------------------------- Fabien_Roy@free.fdn.org (NextMails accepted) Fabien Roy Electronic Engineering (Former NeXT Distributor) ----------> Almost killed by NEXT when they stop the hardware. ---------------> Still alive with NEXTSTEP FOR INTEL PROCESSORS.
Newsgroups: comp.sys.next.programmer From: Greg_Anderson@afs.com (Gregory H. Anderson) Subject: Re: Still looking (was: Way to print RTF from batch) Message-ID: <1993Nov8.193640.3173@afs.com> Sender: greg@afs.com References: <1993Nov8.074337.3055@csus.edu> Date: Mon, 8 Nov 1993 19:36:40 GMT In article <1993Nov8.074337.3055@csus.edu> eps@futon.SFSU.EDU (Eric P. Scott) writes: > In article <1993Nov8.021148.777@objectario.com> > shayman@Objectario.com (Steve Hayman) writes: > >Now, for another approach, thinking out loud here - the Text object > >already has provisions for reading in an rtf file, and writing its > >own postscript code to a stream. I wonder if you could write a > >program that would run from the command line, create a Text object, > >read an rtf file into it, and then write the corresponding postscript > >code to standard output. > > You would THINK this would work... > > [munch] > > So much for the "NEXTSTEP Advantage" of being able to print > something without writing pages and pages of code. Here's a pseudo-definitive answer from someone who just bought a whole app that performs RTF->PS conversion and has seen the source code... 8^) Eric's last remark isn't fair. RTF is a general-purpose spec with many directives that require the rendering app to know information that only the WindowServer can supply easily, like font metrics. To give one simple but common example, RTF text doesn't specify line breaks, only paragraph breaks. That means the rendering app needs to calculate how much text will fit on each line given the current margins and indents, the individual character widths, and the paper size specified. Then it needs to calculate how tall each line is, given the rectangular union of the font height metrics for each font in the line, and determine whether that line fits on the page or should be moved to a new page. NOT EASY! That's probably why, as an earlier poster pointed out, rtf2troff is so crippled. The optimal solution is to write PS code in the first place, rather than RTF. Failing that, filter the text through rtfascii and then enscript it (see the man pages if you're not familiar with those programs). You'll lose the formatting info, but it will print. -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
From: amunoz Newsgroups: comp.sys.next.programmer Subject: Structure of NXBreakArray type Date: 8 Nov 1993 17:56:26 -0600 Organization: ITESM, Campus Monterrey Sender: root@mtecv2.mty.itesm.mx Distribution: alt Message-ID: <2bmmba$10oj@mtecv2.mty.itesm.mx> Hi, Does anyone knows how is structured the NXBreakArray type (Text Object)? how could I access it? and how many entries has it? thanks for any help, Artemio.
From: rdm@cfcl.com (Rich Morin) Newsgroups: comp.os.msdos.programmer,comp.sys.amiga.programmer,comp.sys.mac.programmer,comp.sys.next.programmer,comp.windows.ms.programmer Subject: Wanted: source-available document preparation freeware Message-ID: <40611@toad.com> Date: 8 Nov 93 23:00:16 GMT Sender: news@toad.com Distribution: world Organization: Canta Forda Computer Lab, Pacifica, CA Keywords: document freeware source Folks- Prime Time Freeware (PTF) is putting together a mixed-media (book/CD-ROM) collection of freeware for document preparation. It will cover the gamut of tools, including text browsers, checkers, editors, formatters, and ???. All tools will include source code, to allow inspection, modification, etc. At present, the collection is heavily biased in two major directions: TeX - we will be including essentially all of the enormous Comprehensive TeX Archive Network (CTAN) collection. UNIX - we will include all of the UNIX-based packages known to us from our work on Prime Time Freware for UNIX. With your help, we may be able to offset these biases. If you know of any source-available, non-TeX, non-UNIX, freeware document preparation tools that we should investigate, please let me (rdm@cfcl.com) know. (DON'T respond in this group; I don't read it.) Try to include, if possible: Name shredit Package name Desc. edit files into little bitty pieces Description Vers. 2.718281828459045 Version #(s) Dir. ftp.foo.bar.edu:/pub/shredit FTP archive(s) File * Relevant files By Joe Sikspak, joe6@bar.edu Author(s) Sugg. Harry Helpful, harry@helpful.com Suggester (you) Yours, Rich P.S. For information on PTF products, please send email to ptf@cfcl.com. -- Rich Morin, Canta Forda Computer Laboratory | Prime Time Freeware - quality UNIX consulting, training, and writing | freeware at affordable prices P.O. Box 1488, Pacifica, CA, 94044, USA | ptf@cfcl.com rdm@cfcl.com +1 415-873-7841 (Voice/Fax) | +1 408-433-9662, -0727 (Fax)
Newsgroups: comp.sys.next.programmer From: peter@corsica (Peter Eisch) Subject: Re: Still looking (was: Way to print RTF from batch) Message-ID: <CG7EH0.M6K@news2.cis.umn.edu> Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota Hospital and Clinic, Laboratory Information Services References: <1993Nov8.074337.3055@csus.edu> <1993Nov8.193640.3173@afs.com> Date: Tue, 9 Nov 1993 02:44:22 GMT Gregory H. Anderson (Greg_Anderson@afs.com) wrote: : [good details describing how to layout text] : The optimal solution is to write PS code in the first place, rather than : RTF. Failing that, filter the text through rtfascii and then enscript it : (see the man pages if you're not familiar with those programs). You'll : lose the formatting info, but it will print. I've been looking into this the last couple days now. Our needs stem from the data potentially coming from multiple platforms and expecting PS or EPS fragments from the users managing the data is an unwieldly expectation. Further, the text providers have formatting information that is important to the presentation of the information. Just the same, I have my own little font kit that I built for a font converting program that got shelved last Feb. Other ideas? peter PS. : Here's a pseudo-definitive answer from someone who just bought a whole app : that performs RTF->PS conversion and has seen the source code... 8^) How much did your converter cost? <sheepish grin> -- Always looking for a handy place to nap... peter@tahiti.umhc.umn.edu (Peter Eisch) peter.a.eisch@uwrf.edu
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Still looking (was: Way to print RTF from batch) Message-ID: <1993Nov9.024104.9777@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Nov8.074337.3055@csus.edu> <1993Nov8.193640.3173@afs.com> Date: Tue, 9 Nov 1993 02:41:04 GMT In article <1993Nov8.193640.3173@afs.com> Greg_Anderson@afs.com (Gregory H. Anderson) writes: >Eric's last remark isn't fair. RTF is a general-purpose spec with many >directives that require the rendering app to know information that only >the WindowServer can supply easily, like font metrics. Excuse me? The Font class is perfectly capable of supplying font metrics *without* involving the Window Server. > To give one simple >but common example, RTF text doesn't specify line breaks, only paragraph >breaks. That means the rendering app needs to calculate how much text will >fit on each line given the current margins and indents, the individual >character widths, and the paper size specified. Then it needs to calculate >how tall each line is, given the rectangular union of the font height >metrics for each font in the line, and determine whether that line fits on >the page or should be moved to a new page. NOT EASY! Not easy, but done for you by the Text object. But I think you're missing the point. My complaint is that there's a seemingly gratuitous dependency on the Window Server in the PostScript output methods. Printing occurs in a *different* context from display--why should printing even bother doing something that can only be performed in a display context? (At best, I can come up with some weak rationalizations.) I'll work on it some more. Sigh. -=EPS=- -- Bill? Trey? Bryan? Paul?
Newsgroups: comp.sys.next.programmer From: mcmahon@ny.shl.com (Michael McMahon) Subject: Conrad Geiger leaving NeXT!!! Message-ID: <CG7F30.MHz@ny.shl.com> Sender: usenet@ny.shl.com (Net News) Organization: SHL Systemhouse Inc. Date: Tue, 9 Nov 1993 03:01:46 GMT Yes it's TRUE!!! Conrad is indeed leaving NeXT!!! As with all things at NeXT these days it was not has decision!!! Conrad's role at NeXT over the last five years has changed greatly. In the beginning Conrad was the System Engineer for the northwest region. He was responsible for the five northwest states plus Alaska. He then moved onto help developing the campus consulting program. Which in the beginning was very important to NeXT because they were marketing only to University's and Colleges. After the program was up and running Conrad moved onto his current assignment, that of User Group coordinator. As coordinator, Conrad has been in charge of managing over 400 User Groups worldwide. Conrad has been an important resource to many in the community. One of his responsibilities is to make sure that all the user groups are kept up-to-date with the current goings on in the NeXT realm. He's also responsible for all the User Group activities at NeXTWORLD EXPO. Over the years Conrad has been one of NeXT foremost evangelist! It seems to me that Conrad's guiding principle for his work has been "I have never met a man/woman I did not like!" While telling one of my friends about this. He replied,"I thought has was a valuable resource for them?" I also thought that this was the case. Another individual described Conrad as, "The voice of NeXT on the internet!!!" I think this best describes how people fell about him. Conrad was one of the ONLY people in NeXT who posted regularly to the net. I know that this sounds like an obituary for him. And maybe it should because with his absences from the NeXT community it will fell that way. His loss will be greatly missed in the community!!! I wish him well in his next endeavor!!! - Michael -- --------------------------- Michael McMahon SHL Systemhouse Inc. mcmahon@ny.shl.com (NeXTmail) 212.303.5500
From: jeffo@uiuc.edu (J.B. Nicholson-Owens) Newsgroups: comp.sys.next.programmer Subject: NeXT Employee longevity data request (Was: Re: Conrad Geiger leaving NeXT!!!) Date: 9 Nov 93 04:00:42 GMT Organization: University of Illinois at Urbana Message-ID: <jeffo.752817642@uiuc.edu> References: <CG7F30.MHz@ny.shl.com> It seems to me that many employees (that NeXT spares no effort on making a big deal of on the net and in NeXTWORLD magazine) leave NeXT soon after joining. This image doesn't make NeXT look stable, in my opinion. Would someone please give me exact figures on how long NeXT employees stick with NeXT? Michael McMahon writes: > Conrad is indeed leaving NeXT!!! As with all things at > NeXT these days it was not has decision!!! Does that mean Conrad Geiger was fired? -- J.B. Nicholson-Owens (*NO* NeXTmail please)
Newsgroups: comp.sys.next.programmer From: david@zion.com(David J. Ferrero) Subject: extended ascii font needed ? Message-ID: <1993Nov9.061611.12642@zion.com> Sender: david@zion.com Organization: Zion Software & Consulting Date: Tue, 9 Nov 1993 06:16:11 GMT Does anyone know where I could get my hands on a font of the extended ASCII character set for use with NEXTSTEP? I don't want to create font characters for 128 characters about 128 if someone else has done it. Thanks David Ferrero david@zion.com
Newsgroups: comp.sys.next.programmer,comp.sys.next.software,andi.misc From: marketing@nextsrv1.andi.org (Marketing Director) Subject: Looking for Device driver writers Message-ID: <CG6HJp.Hvt@nextsrv1.andi.org> Keywords: ANDI,NeXTSTEP,drivers Sender: usenet@nextsrv1.andi.org (usenet) Organization: Association of NeXTSTEP Developers International Date: Mon, 8 Nov 1993 14:57:25 GMT With the release of 3.2, ANDI is looking for people who want to or are interested in writing device drivers. Through our tradeshow experiences we have found a number of companies interested in having drivers written. Please let us know what previous experience you have in this area. --- Bill Strehl Executive Director ANDI - Association of NeXTSTEP Developers International, Inc. reply to:marketing@nextsrv1.andi.org "Take the NeXTSTEP and Keep on Truckin'..."
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Re: NeXT Employee longevity data request (Was: Re: Conrad Geiger leaving NeXT!!!) Message-ID: <1993Nov9.080234.19320@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software References: <jeffo.752817642@uiuc.edu> Date: Tue, 9 Nov 1993 08:02:34 GMT J.B. Nicholson-Owens writes >It seems to me that many employees (that NeXT spares no effort on >making a big deal of on the net and in NeXTWORLD magazine) leave NeXT >soon after joining. This image doesn't make NeXT look stable, in my >opinion. Would someone please give me exact figures on how long NeXT >employees stick with NeXT? > According to the original post, Conrad was with NeXT 5 years. I think that's much longer than the industry average (I'd guess about 2 years). Turnover in the computer industry is very, very high relative to other industries. The industry is fast-paced and I'm not sure if turnover is the cause or the effect. I, too, am curios about the circumstances of Conrad's exit. Is it that user groups don't fit with NeXT MCCA focus? It sure seems like a guy who is as diligent and competent as Conrad obviously is would be useful in some other capacity within the organization. Perhaps he was simply ready to move on. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: printrtf.m: a bare-bones command-line RTF printer (source) Message-ID: <1993Nov9.100942.24325@csus.edu> Sender: news@csus.edu Organization: San Francisco State University Date: Tue, 9 Nov 1993 10:09:42 GMT This uses a Text object to convert RTF to PostScript. It looks deceptively simple, but I assure you it was *not* fun to develop! There are all sorts of undocumented things going on inside the View class, and I had to delve into the undocumentation(tm) to figure out how to trick it into running without an Application instance--or access to the Window Server. It _seems_ to work under NS 2.1 and 3.1. I don't provide any direct way to change settings in the global PrintInfo object (easily added), but the defaults are pretty reasonable. It needs work on error handling. It's a start, anyway. -=EPS=- ------- printrtf.m // Print RTF files from the command line // (without a connection to the Window Server!) // Eric P. Scott, San Francisco State University, November 1993 // + for NS 2.1 and 3.1 // cc -o printrtf -s -O printrtf.m -lNeXT_s #ifdef NX_COMPILER_RELEASE_3_0 #include <ansi/stdio.h> #import <defaults/defaults.h> #else #include <stdio.h> #import <appkit/defaults.h> #endif #import <streams/streams.h> #import <objc/Object.h> #import <objc/Storage.h> #import <appkit/PrintInfo.h> #import <appkit/Text.h> #import <dpsclient/dpsclient.h> #import <dpsclient/psops.h> @interface FakeApp:Object { id _focusStack; id printInfo; } + initialize; - init; - printInfo; - (BOOL)shouldRunPrintPanel:aView; - (const char *)appName; - (const char *const *)systemLanguages; - _focusStack; - (DPSContext)context; #ifdef NX_COMPILER_RELEASE_3_0 - (BOOL)_calibratedColorOK; #endif @end @implementation FakeApp + initialize { static NXDefaultsVector PRDefaults = { { "NXFont", "Helvetica" }, { "NXFontSize", "12" }, { "NXMargins", "72 72 90 90" }, { "NXPaperType", "Letter" }, #ifdef NX_COMPILER_RELEASE_3_0 { "NXBoldSystemFonts", "Helvetica" }, { "NXSystemFonts", "Helvetica-Bold" }, #endif { (char *)NULL, (char *)NULL } }; NXRegisterDefaults("printrtf", PRDefaults); return self; } - init { [super init]; _focusStack=[[Storage allocFromZone:[self zone]] initCount:0 elementSize:10 description:"@*c"]; return self; } - printInfo { if (!printInfo) printInfo=[[PrintInfo allocFromZone:[self zone]] init]; return printInfo; } - (BOOL)shouldRunPrintPanel:aView { return NO; } - (const char *)appName { return "printrtf"; } - (const char *const *)systemLanguages { return (const char *const *)NULL; } - _focusStack { return _focusStack; } - (DPSContext)context { return (DPSContext)NULL; } #ifdef NX_COMPILER_RELEASE_3_0 - (BOOL)_calibratedColorOK { return YES; } #endif @end @interface Text(printrtf) - (BOOL)lockFocus; - unlockFocus; - (BOOL)getVisibleRect:(NXRect *)theRect; #ifndef NX_COMPILER_RELEASE_3_0 - beginPSOutput; #endif - display:(const NXRect *)rects :(int)rectCount :(BOOL)clipFlag; - spoolFile:(const char *)filename; @end @implementation Text(printrtf) - (BOOL)lockFocus { return (NXDrawingStatus==NX_PRINTING) ? NO : [super lockFocus]; } - unlockFocus { return (NXDrawingStatus==NX_PRINTING) ? self : [super unlockFocus]; } - (BOOL)getVisibleRect:(NXRect *)theRect { if (NXDrawingStatus!=NX_PRINTING) return [super getVisibleRect:theRect]; [self getBounds:theRect]; return YES; } #ifndef NX_COMPILER_RELEASE_3_0 - beginPSOutput { extern id NXApp; [[NXApp printInfo] setPageOrder:NX_ASCENDINGORDER]; return [super beginPSOutput]; } #endif - display:(const NXRect *)rects :(int)rectCount :(BOOL)clipFlag { if (NXDrawingStatus!=NX_PRINTING) return [super display:rects:rectCount:clipFlag]; PSgsave(); PStranslate(0.0, -frame.size.height+ (rects[0].size.height+rects[0].origin.y)*2.0); PSscale(1.0, -1.0); [self drawSelf:rects:rectCount]; PSgrestore(); return self; } - spoolFile:(const char *)filename { extern id NXApp; id pi; const char *pn; int cp; char cmd[256]; pi=[NXApp printInfo]; (void)strcpy(cmd, "exec lpr"); #ifdef NX_COMPILER_RELEASE_3_0 if ((pn=[[pi printer] name])&&*pn) { #else if ((pn=[pi printerName])&&*pn) { #endif (void)strcat(cmd, " -P"); (void)strcat(cmd, pn); } if ((cp=[pi copies])>1) (void)sprintf(&cmd[strlen(cmd)], " -#%d", cp); (void)strcat(cmd, " -r -s "); (void)strcat(cmd, filename); (void)system(cmd); /* really should check status here! */ return self; } @end main(int argc, char *argv[]) { extern id NXApp; register int i; NXStream *f; Text *t; int errs; NXRect fr; char *streambuf; int len, maxlen; id pi; char path[24]; errs=0; [Text excludeFromServicesMenu:YES]; NXApp=[[FakeApp alloc] init]; pi=[NXApp printInfo]; [pi setHorizCentered:NO]; [pi setVertCentered:NO]; #ifdef NX_COMPILER_RELEASE_3_0 [pi setReversePageOrder:YES]; #endif for (i=1;i<argc;i++) { const NXSize large={ 504.0, 1.0e38 }; if (!(f=NXMapFile(argv[i], NX_READONLY))) { perror(argv[i]); errs++; continue; } NXGetMemoryBuffer(f, &streambuf, &len, &maxlen); NXSetRect(&fr, 0.0, 0.0, 504.0, 21.0); t=[[Text alloc] initFrame:&fr]; [t setMaxSize:&large]; [t setVertResizable:YES]; if (streambuf&&!strncmp(streambuf, "{\\rtf0\\", 7)) { [t setMonoFont:NO]; [t readRichText:f]; } else [t readText:f]; [t sizeToFit]; (void)strcpy(path, "/tmp/.printrtfXXXXXX.ps"); (void)NXGetTempFilename(path, 14); [pi setOutputFile:path]; [t printPSCode:NXApp]; NXCloseMemory(f, NX_FREEBUFFER); } exit(errs); }
Newsgroups: comp.sys.next.programmer From: bbum@friday.com Subject: Re: CrashCatcher (was: GDB & Lost Frames) Message-ID: <CG6pyG.IC@friday.com> Sender: bbum@friday.com (Bill Bumgarner) Organization: Friday Software & Consulting; a virtual company References: <2bk4m1$489@darkstar.UCSC.EDU> Date: Mon, 8 Nov 1993 17:59:04 GMT Art Isbell writes > I seem to recall that Julie stated that the code that produces > the crash traceback would be posted somewhere or would somehow > be made available. I've never heard if this has been done. > Until bbum gets his app marketed, I'd like to be able to use what > Julie described. Does anyone know where this code might be? Since it is rather small, and of general interest to all, I have enclosed the code from Julie's presentation. (Besides, for those following the thread, it will give a good comparison between the original proof of concept and all of the features/extensions that CrashCatcher implements). Interest in CrashCatcher has been extremely positive-- I will be putting together a beta package (and marketing plan) in the next week. If you are interested in directly receiving notification of progress, please send email. thanks, b.bum // ObjectError.h -- Subclass of Object which handles errors. // Copyright (c) 1992 by Proponent, Inc. All rights reserved. // To make this work, the application must send a "setup" message // to the class. This will poseAs: object and intercept a number of things. #import <objc/Object.h> @interface ObjectError : Object { // No instance variables (this one poses!) } // PUBLIC CLASS METHODS + setup; // initialize everything and pose as Object class + setSignalHandler:(void (*)()) handler; // address of function, or SIG_DFL @end // Contributors: // Bill Bumgarner and Andrew Stone (Stone Design) // Mike Morton (Proponent) // Julie Zelenski (NeXT) // // A class that poses as Object and does crash-reporting. // Catches terminating signals (seg faults, bus errors) // and fatal Objective-C runtime errors and writes a // backtrace out to the console using some shady hacks. // Could be modified to write backtrace to file, mail // message, etc. for purposes of beta-testing perhaps. // // You may freely copy, distribute and reuse this code. // but you do so at your own risk. // Julie Zelenski, her mother, NeXT Inc., Congress, Macy's // the Mormon Tabernacle Choir , your local 7-11, and the // Honda Motor Company disclaim any warranty of any kind, // expressed, implied, imagined or hoped for, as to its fitness // for any particular use. #import "ObjectError.h" #import <appkit/nextstd.h> #import <strings.h> #import <stdio.h> #import <sys/signal.h> typedef struct _sig{ int number; BOOL isOn; char *message; } SignalItem; typedef struct _type{ char encoding; char *format; char *name; } ObjcType; extern SignalItem signals[]; extern ObjcType encodings[]; @implementation ObjectError static void handle_signal (int signal); static BOOL ignoreCrashes; + setup; // initialize everything and pose as Object class { [self poseAs:[Object class]]; [self setSignalHandler:handle_signal]; ignoreCrashes = NO; return self; } + setSignalHandler:(void (*)()) handler; { SignalItem *cur; for (cur = signals; cur->number; cur++) if (cur->isOn) signal(cur->number,handler); return self; } + resumeHandlingCrashes { [self setSignalHandler:handle_signal]; ignoreCrashes = NO; return self; } + stopHandlingCrashes; { [[self class] setSignalHandler :(void (*)()) SIG_DFL]; ignoreCrashes = YES; return self; } // ASSUMPTION: The layout of a frame for a method invocation is: // fp+0 bytes: calling frame // fp+4 bytes: calling pc // fp+8 bytes: self // fp+12 bytes: selector for method invocation // fp+16 bytes: first argument // The layout for a function invocation is: // fp+0 bytes: calling frame // fp+4 bytes: calling pc // fp+8 bytes: first argument // Clearly, it's shady to assume these things. // But we're already crashing if we reach here... #define MAX_FUNCTION_ARGS 4 // print at most four args + printFunctionFromFP:(void *)framePointer { char buffer[256]; char line[1024]; void *argStart; long argNum; // index into arguments sprintf(line, "function ("); argStart = framePointer + 8; for (argNum = 0; argNum < MAX_FUNCTION_ARGS; argNum++) { sprintf (buffer, "%s0x%06lx", (argNum != 0 ? ", " : ""), *(((long *)argStart)+argNum)); strcat (line, buffer); } strcat (line, ")"); NXLogError("%s\n", line); return self; } #define IS_CLASS(object) ([object class] == object) + printMethodFromFP:(void *)framePointer { char line[1024]; char buffer[256]; SEL selector; id object; Method m; BOOL isClassMethod; object = *(id *)(framePointer + 8); // receiver is 8 bytes from fp selector = *(SEL *)(framePointer + 12); // selector is 12 bytes from fp isClassMethod = IS_CLASS(object); sprintf (line, "%c[%s %s", (isClassMethod ? '+' : '-'), object_getClassName (object), sel_getName(selector)); m = (isClassMethod ? class_getClassMethod([object class], selector) : class_getInstanceMethod([object class], selector)); if (m) { void *argStart = (framePointer + 8); int argNum, numArgs, offset; char *type; numArgs = method_getNumberOfArguments(m); argNum = 2; //(skip first two arguments, they are self & SEL) while (argNum < numArgs) { ObjcType *cur; method_getArgumentInfo(m, argNum, &type, &offset); for (cur = encodings; cur->encoding; cur++) { if (cur->encoding == type[0]) { // Find Obj-C type sprintf(buffer," :(%s)",cur->name); strcat(line,buffer); sprintf(buffer,cur->format,*(long *)(argStart + offset)); strcat(line,buffer); break; } } argNum++; } } else strcat(line, " Unknown method"); strcat (line, "]"); NXLogError("%s\n",line); return self; } #define MAX_FRAMES 50 + printBacktrace { void *framePointer; // pointer to current frame unsigned int frameCount; // counter for number of frames printed [self stopHandlingCrashes]; // try to avoid re-entry problems // Start the frame pointer off at our frame framePointer = ((void *) &self) - 8; frameCount = 0; // Assume that lotsa frames means either (a) we're trashed or // (b) we're in a recursive deathtrap. In the latter case, we've // probably got enough info to see the cycle. while (frameCount < MAX_FRAMES && framePointer) { // If this is a method, we'll have a valid selector at (fp+12). if (sel_isMapped(*(SEL *)(framePointer + 12))) [self printMethodFromFP:framePointer]; else [self printFunctionFromFP:framePointer]; framePointer = (void *)*(long *)framePointer; // go to calling frame } return self; } + dumpBacktrace:(const char *)message; { NXLogError("%s\n", message); NXLogError("Here's the backtrace\n"); [self printBacktrace]; return self; } static void handle_signal(int signal) { const char *msg = NULL; char buf [256]; SignalItem *cur; msg = "Unrecognized signal"; for (cur = signals; cur->number; cur++) { if (cur->number == signal) { msg = cur->message; break; } } sprintf (buf, "Caught signal #%d: \"%s\"", signal, msg); [ObjectError dumpBacktrace:buf]; } - error:(const char *) aString, ...; { va_list ap; char buffer[1024]; va_start(ap,aString); vsprintf(buffer, aString, ap); va_end(ap); if (!ignoreCrashes) [[self class] dumpBacktrace :buffer]; return [super error:buffer]; } + error:(const char *)aString, ... { va_list ap; char buffer[1024]; va_start(ap,aString); vsprintf(buffer, aString, ap); va_end(ap); if (!ignoreCrashes) [[self class] dumpBacktrace :buffer]; return [super error:buffer]; } #define ON 1 #define OFF 0 SignalItem signals[] = { { SIGHUP , OFF, "hangup"}, { SIGINT , OFF, "interrupt"}, { SIGQUIT , ON, "quit"}, { SIGILL , ON, "illegal instruction"}, { SIGTRAP , ON, "trace trap"}, { SIGIOT , ON, "IOT instruction"}, { SIGEMT , ON, "EMT instruction"}, { SIGFPE , ON, "floating point exception"}, { SIGKILL , OFF, "kill"}, { SIGBUS , ON, "bus error"}, { SIGSEGV , ON, "segmentation violation"}, { SIGSYS , ON, "bad argument to system call"}, { SIGPIPE , OFF, "write on a pipe with no one to read it"}, { SIGALRM , OFF, "alarm clock"}, { SIGTERM , OFF, "software termination signal"}, { SIGURG , OFF, "urgent condition present on socket"}, { SIGSTOP , OFF, "stop"}, { SIGTSTP , OFF, "stop signal generated from keyboard"}, { SIGCONT , OFF, "continue after stop"}, { SIGCHLD , OFF, "child status has changed"}, { SIGTTIN , OFF, "background read attempted from control terminal"}, { SIGTTOU , OFF, "background write attempted to control terminal"}, { SIGIO , OFF, "i/o is possible on a descriptor"}, { SIGXCPU , OFF, "cpu time limit exceeded"}, { SIGXFSZ , OFF, "file size limit exceeded"}, { SIGVTALRM , OFF, "virtual time alarm"}, { SIGPROF , OFF, "profiling timer alarm"}, { SIGWINCH , OFF, "Window size change"}, { SIGUSR1 , OFF, "User defined signal 1"}, { SIGUSR2 , OFF, "User defined signal 2"}, {0}, }; ObjcType encodings[] = { { _C_ID, "0x%06lx", "id"}, { _C_CLASS, "0x%06lx", "Class"}, { _C_SEL, "%s", "SEL"}, { _C_CHR, "%c", "char"}, { _C_UCHR,"%c", "unsigned char"}, { _C_SHT, "%s", "short"}, { _C_USHT, "%s", "unsigned short"}, { _C_INT, "%d", "int"}, { _C_UINT, "%d", "unsigned int"}, { _C_LNG, "%l", "long",}, { _C_ULNG, "%l", "unsigned long"}, { _C_FLT, "%f", "float"}, { _C_DBL, "%f", "double"}, { _C_VOID, "0x%06lx","void"}, { _C_PTR, "0x%06lx", "ptr"}, { _C_CHARPTR, "%s", "char *"}, { _C_STRUCT_B, "%x" ,"struct"}, {0, "0x%06lx", "Unknown"}, }; @end -- b.bum <bbum@friday.com> | "blah blah blah" WhiteLight Systems, INC. | - someone somewhere
Newsgroups: comp.sys.next.programmer From: joe@FreemanSoft.com (Joe Freeman) Subject: Re: NeXT Employee longevity data request (Was: Re: Conrad Geiger leaving NeXT!!!) Message-ID: <1993Nov9.122244.1614@FreemanSoft.com> Sender: jfreeman@FreemanSoft.com Organization: FreemanSoft Inc. References: <jeffo.752817642@uiuc.edu> Distribution: usa Date: Tue, 9 Nov 1993 12:22:44 GMT In article <jeffo.752817642@uiuc.edu> jeffo@uiuc.edu (J.B. Nicholson-Owens) writes: > It seems to me that many employees (that NeXT spares no effort on > making a big deal of on the net and in NeXTWORLD magazine) leave NeXT I'm not sure what you mean. Are you saying that high profile hires don't often stay, or that there is a lot of noise when people leave? Conrad has been there between 4 and 5 years. That is a pretty long time for a california startup. > soon after joining. This image doesn't make NeXT look stable, in my > opinion. Would someone please give me exact figures on how long NeXT > employees stick with NeXT? I doubt if they will ever put out employee logevity information. Very few small companies seem to do that. The turnover at NeXT probably varies wildly by department. (Hardware turnover is probably very high ;-) > > Michael McMahon writes: > > Conrad is indeed leaving NeXT!!! As with all things at > > NeXT these days it was not has decision!!! > > Does that mean Conrad Geiger was fired? Why don't you ask him instead of posting? -- Joe Freeman FreemanSoft Inc. A NEXTSTEP software and consulting services company. Electronic Mail: Joe@FreemanSoft.com (NeXT Mail) Voice: 919.783.7033
Newsgroups: comp.sys.next.programmer From: Greg_Anderson@afs.com (Gregory H. Anderson) Subject: Re: Still looking (was: Way to print RTF from batch) Message-ID: <1993Nov9.152933.4250@afs.com> Sender: greg@afs.com References: <CG7EH0.M6K@news2.cis.umn.edu> Date: Tue, 9 Nov 1993 15:29:33 GMT In article <CG7EH0.M6K@news2.cis.umn.edu> peter@corsica (Peter Eisch) writes: > Gregory H. Anderson (Greg_Anderson@afs.com) wrote: > : Here's a pseudo-definitive answer from someone who just bought a whole > : app that performs RTF->PS conversion and has seen the source code. 8^) > > How much did your converter cost? <sheepish grin> I was making a feeble joke about PasteUp. One of the things it can do is import and re-layout RTF files. In another article, EPS pointed out: >The Font class is perfectly capable of supplying font metrics *without* >involving the Window Server. Of course, Eric's right. I must have had my brain in backwards when I wrote that. I applaud his amazing hack to the Text object, which clearly was not written for the purpose of off-screen format conversion. So I guess it's not such a bad old object after all, is it, Eric? 8^) Real simple to hack that undocumented stuff... /etc/mount favorite:/soapbox /rant Once again, a classic case where source code access would be helpful. /etc/umount /rant -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
From: erwin@helsinki.ks.uiuc.edu (Edgar Erwin) Newsgroups: comp.sys.next.programmer Subject: Sybase software question Date: 9 Nov 1993 16:36:27 GMT Organization: University of Illinois at Urbana Distribution: world Message-ID: <2bogub$aie@vixen.cso.uiuc.edu> I've discovered we have some old Sybase software sitting around on diskettes and wonder if it will still work with NeXTStep 3.1. Can anyone tell me if SYBASE SQL Limited Server 4.1 will work with NS 3.1? If so, what other software do I need to also install? If not, which version of SYBASE would I need to get, and is there a demo version or inexpensive limited-use version available? *------------------------------------------------------------* Ed Erwin erwin@lisboa.ks.uiuc.edu 3117 Beckman Institute (NeXT Mail accepted) 405 N. Mathews, Urbana, IL 61801 *------------------------------------------------------------*
From: jbell@spiffy.cybernet.com Newsgroups: comp.sys.next.programmer Subject: Accessing an AddressBook.table Date: 09 Nov 93 14:59:40 Organization: Msen, Inc. -- Ann Arbor, Michigan Distribution: fj Message-ID: <jbell.93Nov9145940@spiffy> Mime-Version: 1.0 Content-Type: text/plain So does anyone know anything about this beast? I'd like to have my application consult a users addresses book for information. After looking at the AddressBook.table file located in the .addresses wrapper I thought that it might be in a supported format like Attribute Reader Format (ARF) or something. But it's not ARF and the format doesn't seem to be documented anywhere? Is there a NeXT supported way of accessing this data, or will I have to write a parser from scratch? Any pointers are welcome. --- J. Shan Bell Cybernet Systems Corportation jbell@cybernet.com (NeXTMail accepted) Research and Development (313) 668-2567 Voice (313) 668-8780 Fax Ann Arbor, MI
From: rseguine@buckeye.mitre.org (Roy SeGuine) Newsgroups: comp.sys.next.programmer,comp.sys.next.misc Subject: xmosaic-1.2-NeXT Date: 9 Nov 1993 18:48:46 GMT Organization: The MITRE Corporation Message-ID: <2boome$o8a@linus.mitre.org> Where can I get the source for xmosaic-1.2-NeXT and does anyone know who did the hack? --- Roy SeGuine Cyberspace Architect *The tablet become a page, become a screen, become a world, become a virtual world* USMail: MITRE Corp 7525 Colshire Drive McLean Va. 22102 Voice: (703) 883 - 7 double oh 7 Internet: rseguine@buckeye.mitre.org Sneakernet: C203, W273 Prefered OS NEXTSTEP ;-) End Of Line
From: hyongsop@saturn.eecs.umich.edu (Hyong S. Shim) Newsgroups: comp.sys.next.programmer Subject: First Responder ... HELP Date: 9 Nov 1993 20:58:00 GMT Organization: University of Michigan EECS Dept. Message-ID: <2bp08o$aj9@zip.eecs.umich.edu> Hi all, I have a panel that has a browser and a textfield. When this panel is displayed, I want the textfield to be the first responder; that is, I want the vertical cursor to be blinking in the textfield when the panel opens up. I've written the following code to accomplish this, but they don't work: [myPanel makeFirstResponder:theTextfield]; Does anyone know what's wrong? Thanks, Shim, Hyong Sop (hyongsop@saturn.eecs.umich.edu)
From: mrb@earth.wustl.edu (Mike Bray) Newsgroups: comp.databases.oracle,comp.sys.next.programmer Subject: Looking for ORACLE7/AUX users and/or next dbkit users Date: 9 Nov 1993 22:36:09 GMT Organization: Washington University, St. Louis MO Distribution: world Message-ID: <2bp60p$a0u@wuecl.wustl.edu> We have an "in-house mission critical custom app" based on the NeXT dbkit and oracle version 6 running on a motorola turbo color nextstation with NS3.0. I am porting the database over to ORACLE7 running under A/UX 3.0.2 on an Apple workgroup server 95. I'd like to know who else out there is using Oracle7 under A/UX. Also, on the NeXT side, who is using the dbkit to talk to a V7 server? What version of nextstep? (3.0, 3.1, 3.2?) Simply changing the connect string in the app to point to the new server appeared to work, but there is some flakey stuff going on with fetching columns with nulls in them. I haven't tracked it down yet, and next wants $200/hr to tell me if it's their bug or not. The app is running under 3.0. I'm going to try it under 3.1 next and see what happens. Thanks, Mike Bray mrb@earth.wustl.edu 307-332-1279
Newsgroups: comp.sys.next.programmer From: mshaler@tdocad.sps.mot.com (Michael Shaler) Subject: Re: Accessing an AddressBook.table Message-ID: <CG992A.Cy0@tdocad.sps.mot.com> Sender: news@tdocad.sps.mot.com Organization: Nippon Motorola Ltd., Tokyo, Japan References: <jbell.93Nov9145940@spiffy> Distribution: fj Date: Wed, 10 Nov 1993 02:46:57 GMT jbell@spiffy.cybernet.com writes So does anyone know anything about this beast? I'd like to have my application consult a users addresses book for information. After looking at the AddressBook.table file located in the .addresses wrapper I thought that it might be in a supported format like Attribute Reader Format (ARF) or something. But it's not ARF and the format doesn't seem to be documented anywhere? Is there a NeXT supported way of accessing this data, or will I have to write a parser from scratch? Any pointers are welcome. I tried importing my address book data via perl and crude disassembly of the Example.addresses/AddressBook.table file and succeeded in crashing WM every time I tried to access an email address. Sybase and DBKit are the direction in which I walked after filing my bug report with NeXT... If anybody knows about this stuff, it would be Alberto Ricart of SmartSoft, Inc. (alberto@parsec.mixcom.com), author of InTouch, an address book that uses the *.addresses format to store its data. It's a good app and probably provides the front end you might be looking for, unless you're in the SBook camp... To paraphrase an icon of the NeXT community, Tim Reed: "Unwritten undocumentation is an admission of failure." --- Michael Shaler Tokyo Design Center Nippon Motorola Ltd. +813 3280 8245 voice +813 3440 0033 fax mshaler@tdocad.sps.mot.com [NeXTmail]where? Is there a NeXT supported way of accessing this data, or will I have to write a parser from scratch? Any pointers are welcome. I tried importing my address book data via perl and crude disassembly of the Example.addresses/AddressBook.table file and succeeded in crashing WM every time I tried to access an email address. Sybase and DBKit are the direction in which I walked after filing my bug report with NeXT... If anybody knows about this stuff, it would be Alberto Ricart of SmartSoft, Inc. (alberto@parsec.mixcom.com), author of InTouch, an address book that uses the *.addresses format to store its data. It's a good app and probably provides the front end you might be looking for, unless you're in the SBook camp... To paraphrase an icon of the NeXT community, Tim Reed: "Unwritten undocumentation is an admission of failure."
From: agray@axion.bt.co.uk (Andy Gray) Newsgroups: comp.sys.next.programmer Subject: IB and a View Hierarchy Date: 10 Nov 1993 10:07:15 GMT Organization: BT Laboratories Distribution: world Message-ID: <2bqegj$lha@zaphod.axion.bt.co.uk> Can some kind soul please put me out of my misery. I have been using a simple app which draws into a custom view object. This was originally hacked from the Plotter example code. Inside the subclassed view I had two main methods - initFrame ... { // work out the size of the frame etc } - drawSelf ... { // fill background // set foreground colour // if initialised draw contents } This worked well with the drawSelf using a switch to select the contents drawn in the view. So, I decided to get clever :-( For each of the types of drawable selected in the switch statement I decided to subclass. ie View MyView MySubView1 ... MySubViewn I kept all of the common code in 'MyView' as would be expected. The delegate id in 'MyView' is used to point to the subview in use. There are various buttons etc which control the views. These are connected to 'MyView' which is common to all subviews. The problem is that I get all of the initFrame methods reporting when run before appDidInit is called, but none of the drawSelf methods seem to be called even when on of the subviews is explicitly created. Any ideas? Andy (going rapidly) Gray
From: michi@cube.sm.dsi.unimi.it (Michele Giardini) Newsgroups: comp.sys.next.misc,comp.sys.next.software,comp.sys.next.programmer Subject: Objectware Workshop Date: 10 Nov 1993 11:45:29 GMT Organization: Computer Science Dep. - Milan University Message-ID: <2bqk8p$hku@ghost.sm.dsi.unimi.it> The Italian NEXTSTEP User Group in collaboration with State University in Milan Department of Computer Science and Intersoft Objectware Workshop The object's advantage The aim of this workshop is to show the power of NEXTSTEP developing environment (or, as someone says, the "Advantage of objects"). After a brief introduction to object oriented environment, we'll show the main features of NEXTSTEP operative system and its development kit. The core part of the workshop will be a well detailed demonstration about development of object oriented application, built using existing objects (bundled or third party) and writing less code as possible The workshop will be held at the Computer Science Dept. of the State University in Milan (Italy), November 12, 1993, h. 2:30pm. The address is: Via Comelico, 39 - Milan Speakers: Prof. Giovanni Degli Antoni (Computer Science Dept.) Introduction Dott. Roberto Grande (IT Studio) Why Object Oriented ? Rubens Malloggi (InterSoft, Italian VAD) NEXTSTEP Gianfranco Pocecai (Italian NEXTSTEP User Group) Objects at work (Demo) Questions & Answers Free entrance PS: A feedback will be post ASAP. I also want to THANK John Yanefski (Target Development), Mike Panzitta (Doberman Systems), Valerie Birk (Professional Software), Scott Opitz (Conextions, Inc.) and all the people that have submitted their objects (not so many, but really useful) Giardini Michele - Computer Science Department State University of Milan - Coordinator of The Italian NEXTSTEP User Group Via Comelico 39/41 - 20135 Milano Tel. +39 2 55006385 Fax +39 2 55006373 Email: michi@cube.sm.dsi.unimi.it (NeXT mail welcome)
Newsgroups: comp.sys.next.programmer From: monty@its.com (Montgomery Zukowski) Subject: Has anyone used Shape on the Next? Message-ID: <1993Nov9.161401.2434@its.com> Sender: monty@its.com Organization: Information Technology Solutions Date: Tue, 9 Nov 1993 16:14:01 GMT Hi, I've been trying to get shape to work with Next's standard makefiles but I always end up with this error message: shape - multiple defined action for: I changed all of the :: rules to : rules and was hoping shape would tell me which one was still multiply defined so I could fix it. Anyway I was wondering if anybody has done this on the Next already and is willing to share the modified makefiles. Monty
Newsgroups: comp.sys.next.programmer From: ploeger@aplki.toppoint.de (Andreas Ploeger) Subject: RFC: overriding '_error' Message-ID: <1993Nov9.192824.7958@aplki.toppoint.de> Sender: ploeger@aplki.toppoint.de (Andreas Ploeger) Organization: Andreas Ploeger Date: Tue, 9 Nov 93 19:28:24 GMT Hi, I want to avoid my application to crash just because I send an wrong message to e.g. a Button. So I replaced the standard error handler for these cases with my own which just raises an exception. The exception handler can then inform the user about the problem and ask him if he wants to abort() the program or continue on his own risk. 1. Access the global '_error' variable and change it: extern void (*_error)(Object *, const char *, va_list); _error = gentleError; 2. Write a new error handler: void gentleError(Object *obj, const char *fmt, va_list args) /* Simplified version w/o error checking */ { static char buffer[2048]; int n1; sprintf(buffer, "%s ", [[obj class] name]); vsprintf(buffer+n1, fmt, args); NX_RAISE(..., buffer, ...); } Like vprintf() I don't use the 'va_start' and 'va_end' macros here. It works so far (since 30 minutes). What do the NeXTSTEP gurus think about it? Greetings, Andreas -------------------------------------------------------------------- Andreas Ploeger E-Mail: ploeger@tpki.toppoint.de Kiel University Phone: (49) 431 597 1757 Clinic for Pediatric Cardiology FAX: (49) 431 597 1828 Schwanenweg 20, 24105 Kiel 1, Germany *** NeXT Mail welcome *** -- -------------------------------------------------------------------- Andreas Ploeger E-Mail: ploeger@tpki.toppoint.de
From: reno@cs.mcgill.ca (Renaud GORGEON) Newsgroups: comp.sys.next.programmer Subject: NXImage Date: 10 Nov 1993 23:31:45 GMT Organization: SOCS, McGill University, Montreal, Canada Distribution: world Message-ID: <2brtl1$2mu@homer.cs.mcgill.ca> References: <1993Nov10.191140.3447@leland.Stanford.EDU> <2brm06$383@ftp.alleg.edu> <`}%@byu.edu> Help ... using Next Developer I draw an image using several NXImage from TIFF files . What can I do to concatenate all these NXImage in only one ? thank you very much, it's urgent ....
From: "Thomas G. Mon" <tm31+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: NeXTmail, receipts Date: Wed, 10 Nov 1993 16:17:40 -0500 Organization: Senior, Math/Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <ogsJdo200UzxE6yVRI@andrew.cmu.edu> I was just wondering what the flags are for setting recipts on networks that don't have NeXTs. In other words, if I just want to send a regular message on a system without NeXTmail, how can I get a receipt to be sent to me if I can't just click the "Receipt" button in Mail.app? Tom. tm31@andrew.cmu.edu [NeXTmail welcome]
Newsgroups: comp.sys.next.programmer,comp.unix.programmer From: umwan010@ccu.umanitoba.ca (Nga T A Wan) Subject: Re: PROBLEMS WITH tgetent() AND tgetstr() Message-ID: <CGB9oK.805@ccu.umanitoba.ca> Sender: news@ccu.umanitoba.ca Organization: University of Manitoba, Winnipeg, Manitoba, Canada References: <1993Nov10.001355.8370@cs.ucla.edu> Date: Thu, 11 Nov 1993 04:55:32 GMT In article <1993Nov10.001355.8370@cs.ucla.edu> esky@marathon.cs.ucla.edu (Eskandar Ensafi) writes: >Hello, > >I am experiencing problems using tgetent() and tgetstr(). Has anyone had the >same problems as I have outlined in my program below? I think it has something >to do with allocating memory for the second argument of tgetstr(*id, **area); >basically, my program exits with either code 012 or code 0364 under gdb. > >/* > * Compiled using: cc this_program.c -ltermcap > */ > >#include <stdio.h> >#include <stdlib.h> >#include <string.h> > >main() >{ > char termcap[1024]; > char *term = (char *)getenv("TERM"); > > char *area = (char *)malloc( 252); > > /* I was advised NOT to malloc the area pointer; however, when I do no > allocate memory for it, my program exits with a Bus Error. I also > tried to declare it as area[1024], but I still got a Bus Error. > */ > > if(!term) strcpy(term, "unknown"); > > tgetent(termcap, term); > > printf("\n%s\n%s\n", term, termcap); > > tgetstr("me", &area); > > /* If I do not debug my program, it appears that everything worked. > Sure, I got my terminal attribues like I wanted, but there is an > annoying (malloc-related?) side-effect: my program exits with a > code other than 0 (zero) in gdb: "Program exited with code 0364". > */ >} Try adding a return statement. Hope this helps. Alex Wan =|:)>+< -- WAN, Nga Ting Alex [Wan5 Ngaa5 Ting4] | Internet: Computer Science IV | umwan010@cc.umanitoba.ca University of Manitoba, Canada =|:)>+< | phone: (204) 261-9362 --------------------------------------------------------------------------------
Newsgroups: comp.sys.next.software,comp.sys.next.programmer,andi.business From: marketing@nextsrv1.andi.org (Marketing Director) Subject: ANDI to showcase NeXTSTEP software at COMDEX Message-ID: <CGB6n4.7J@nextsrv1.andi.org> Keywords: ANDI,NeXTSTEP,JCIS Sender: usenet@nextsrv1.andi.org (usenet) Organization: Association of NeXTSTEP Developers International Date: Thu, 11 Nov 1993 03:49:51 GMT ANDI - the Association of NeXTSTEP Developers International is pleased to announce that it will be showcasing NeXTSTEP applications for Intel processors at the COMDEX show in Las Vegas next week. ANDI will be at the Sands Convention Center, booth S647 with JC Information Systems. The Association promises to have more NeXTSTEP applications up and running than any other booth in the show. For more information on ANDI, NeXTSTEP, or how to have your product shown contact us at: --- Bill Strehl Executive Director ANDI - Association of NeXTSTEP Developers International, Inc. reply to:marketing@nextsrv1.andi.org phone 301-681-0613 fax 301-681-0616 "Take the NeXTSTEP and Keep on Truckin'..."
Newsgroups: comp.sys.next.programmer From: jmack@skye.phys.ualberta.ca Subject: Re: Transmitting broadcast packets on a SLIP line Message-ID: <1993Nov11.100147.20380@kakwa.ucs.ualberta.ca> Keywords: network,slip Sender: news@kakwa.ucs.ualberta.ca Organization: University Of Alberta, Edmonton Canada References: <2bbn17$aic@geraldo.cc.utexas.edu> Date: Thu, 11 Nov 1993 10:01:47 GMT In article <2bbn17$aic@geraldo.cc.utexas.edu> rick@akbar.cc.utexas.edu (Rick Watson) writes: > I have an application where I need to transmit UDP broadcast > packets down a SLIP link. I've tried sending to the normal > IP broadcast address and I've also tried using the RAW IP > packet interface. Neither case appears to work. It doesn't > look like the slip driver supports broadcasts. Does anyone > know of a workaround. All I need is for the packets IP destination > address to contain all ones. > > Rick Watson > The University of Texas Computation Center, Networking Services, 512/471-3241 > internet: r.watson@utexas.edu bitnet: watson@utadnx > uucp: ...!cs.utexas.edu!ut-emx!rick span: utspan::utadnx::watson rwalld works fine for me across a SLIP line (so UDP broadcast to multiple hosts is not a problem). For general wide broadcast, I would at least have a look at the bsd4.2 source for rwalld. You could then hack what you wanted out of that code. Alternatively, you could look into the 'eni' experimental packet filter ethernet interface for NeXT developed at McGill by Bill Heelan - an excellent one at that. -- James S. MacKinnon Office: P-139 Avahd-Bhatia Physics Lab Computing/Networking Phone : (403) 492-8226 Department of Physics email : jmack@phys.ualberta.ca University of Alberta uucp : uofaphys!jmack iskye!jmack Edmonton, Canada T6G 2N5 bitnet: jmack@triumfcl jsm1@ualtamts
From: thor@sushi.uib.no Newsgroups: comp.sys.next.hardware,comp.sys.next.misc,comp.sys.next.programmer,comp.sys.next.sysadmin,comp.sys.next.software Subject: Canon BJC 600 on NeXTSTEP??? Date: 11 Nov 1993 13:52:27 GMT Organization: University of Bergen, Norway Distribution: world Message-ID: <2btg2r$sga@due.uninett.no> Hi. I'm buying a printer for my NeXT, and have come down to a choice between two printers - the HP DJ550C and Canons new BJC600. They cost the same at the offers I've received. Easy question - does the BJC600 work on NeXTSTEP? Here's why I wonder... I know that there are PD support programs (drivers) for the HP, but the quality of the Canon looks much better, both output, use of ink, and cost per page. I have verified with Canon that the engine is _better_ tha the BJC800 used in the NeXT Color printer. However, although Canon said that the 600's control language was compatible with the 800, they beleive that NeXT has designed their own controller for the NeXT Color printer. I have looked at the printing package and modified a PPD and pmdb file for use with a 600 on a serial port (slow, I know) through the standard NXColorBJ driver. I haven't a printer to try - but if the controller is Canons standard in the NeXT printer, it _should_ work with the 600 as well... So - I _really_ want to buy the Canon. Is there: 1) existing drivers in 3.1, 3.2, or available PD/Shareware to controll this model? 2) anyone out there who has used this printer with NeXTSTEP? 3) anyone out there who knows that a driver is under way? I would buy the printer today and use it in Epson (B/W) compatibility mode for 6 months if I knew a driver was being written... I'd write it myself if I had the faintest idea how to :-) I imagine with all the Intel users getting NeXTSTEP _someone_ must have a BJC600 they have hacked to work with NS, no? Please e-mail replies. Regards, -- Thor Legvold | "This is the strangest life NorNeXT User Group leader | I've ever known..." University of Bergen | -Jim Morrison, The Doors NORWAY | edmtl@edb.uib.no
Newsgroups: comp.sys.next.programmer,comp.unix.programmer From: jq@phcs.com (Jim Quick) Subject: Re: PROBLEMS WITH tgetent() AND tgetstr() Message-ID: <CGBvq9.64q@phcs.com> Organization: Private Healthcare Systems, Inc References: <1993Nov10.001355.8370@cs.ucla.edu> <CGB9oK.805@ccu.umanitoba.ca> Date: Thu, 11 Nov 1993 12:51:45 GMT Do this. char termcap[1024]; char common[1024]; char *area = common; char *foo = 0; char *bar = 0; . . . foo = tgetsr("foo", &area); bar = tgetsr("bar", &area); after calls to tgetstr the buffer 'common' will contain valueOfFoo\0valueOfBar\0. . . . . . . area will point to here ^ and marks the next unused entry in your local string heap 'common'. So, area simply walks through a buffer and retains the value of the place to put the next string. Since termcap strings are variable length this saves you from having to allocate a separate buffer for each value you use. You just need to store pointers (foo , bar) to find the strings that in your common heap. -- ___ ___ mail: uunet!phcs!jq PHCS, Inc. Advanced Technology Group / / / or jq@phcs.com It's spelled "Luxury Yacht", but it's \_/ (_\/ Voice: (617) 861-5579 pronounced "Throat-Warbler Mangrove". ) NeXTMail O.K.
From: hyongsop@saturn.eecs.umich.edu (Hyong S. Shim) Newsgroups: comp.sys.next.programmer Subject: First Responder...Thank You Date: 11 Nov 1993 15:39:18 GMT Organization: University of Michigan EECS Dept. Message-ID: <2btmb6$9p2@zip.eecs.umich.edu> Hi, I'd like to thank all of you who have kindly replied to my post, First Responder...HELP. Thanks, --Hyong Sop Shim (hyongsop@saturn.eecs.umich.edu)
From: pkron@corona.com (Peter Kron) Organization: Corona Design, Inc., Seattle, WA Date: Thu, 11 Nov 1993 06:41:10 PST Message-ID: <1993Nov11.144110.1413@corona.com> Newsgroups: comp.sys.next.programmer Subject: Re: Still looking (was: Way to print RTF from batch) References: <1993Nov9.152933.4250@afs.com> Greg_Anderson@afs.com (Gregory H. Anderson) writes: > /etc/mount favorite:/soapbox /rant > > Once again, a classic case where source code access would > be helpful. || better design > > /etc/umount /rant Surely *someone* will rewrite the Text object to be more generally usable and they will doubtless publish the source as well. Patience. :^) --- NeXTMail:Peter_Kron@corona.com Corona Design, Inc. P.O. Box 51022 Seattle, WA 98115-1022
From: jkarab@next.com (John Karabaic) Newsgroups: comp.sys.next.programmer Subject: NS vs. Visual C++ Date: 8 Nov 1993 21:37:15 GMT Organization: NeXT, Inc. Message-ID: <2bme6b$2cp@rosie.next.com> If you have had recent experience with Visual C++ programming in a corporate environment and can give me a sense for its strengths and weaknesses vs. NEXTSTEP, please contact me. You can start a thread on this if you'd like, but my primary need is for someone to give me the flavor of the environment from the viewpoint of a corporate developer doing database programming. I want to get some developer perspectives for a presentation I'm doing tomorrow where Visual C++ is our primary competition. Thanks for your help! -- John S. Karabaic, Senior Systems Engineer, jk@NeXT.com, 312 329 2560 NeXT, Inc; 455 N Cityfront Plaza, Suite 3030; Chicago, IL 60611-5503 fax: 312 329 0285; territory: Loop, OH (513 & 614), IN, KY, MO, & WV "There is no such thing as 'luck'. There is only adequate or inadequate preparation for a statistical universe."--Dr S.C. Russell
From: dave_moore@next.com (Dave Moore) Newsgroups: comp.sys.next.advocacy,comp.os.ms-windows.advocacy,comp.sys.next.programmer Subject: Re: Advantages of FAT Binaries - No Rocket Scientists Needed Here Date: 9 Nov 1993 20:16:49 GMT Organization: NeXT, Inc. Message-ID: <2botrh$3a5@rosie.next.com> References: <2bop0r$75o@sol.ctr.columbia.edu> Well, the subject of Fat Binaries has been pretty much discussed to death, but here is some info: 1) Fat binaries do NOT share data or Objective C info. 2) Fat binaries DO share resources (nibs, tiffs, etc...). App Name m68k i386 .app % additional for i386 Concurrance 885 967 7058 16 Notebook 557 622 1410 78 WetPaint 304 320 2925 12 Diagram 1114 1180 6924 20 Sizes in Kbytes. %additional = i386 / (.app - i386) So there is some savings by sharing the resources. Remember, you can't assume you can share data between executables of different types. The C compiler may generate different sized structures for different cpu types because of alignment and endian-ness. We thought of several ways to get this sharing. We went with Fat binaries because they made the least amount of impact on the rest of the system. 1) Existing Makefiles could be changed to deal with them by adding flags to the "cc" lines. 2) They could be executed directly from the command line. 3) They could be executed by "execl(3)" in the c library. 4) NXBundle wouldn't have to change its searching logic. 5) Dynamic loading works, whether using NXBundles, rld_load, or objc_loadModules. 6) Minimal work needed to be done on the existing development tools (cc, ld, ar, gdb, etc...) Finally, we were able to present a clean picture to the developer. ProjectBuilder presents you with your cpu choices and you pick the one(s) you want. In general, neither the developer or the user spends much time dealing with the differences between fat and thin executables. Dave Moore NeXT Computer, Inc. Software Development Tools
From: bryce_jasmer@next.com (Bryce Jasmer) Newsgroups: comp.sys.next.programmer Subject: Awesome Developer App!! Date: 10 Nov 1993 00:18:47 GMT Organization: NeXT, Inc. Message-ID: <2bpc17$3ge@rosie.next.com> When you get your copy of 3.2 Developer, be sure and check out /NextDeveloper/Demos/FileMerge.app. It is incredibly useful!! (Its a front end to diff and allows you do diff entire folders of source (and other stuff) and do merges of source and all sorts of great things.) Bryce
From: szakhour@next.com (Sharon Zakhour) Newsgroups: comp.sys.next.programmer Subject: new and updated MiniExamples on the NeXT archive server Date: 10 Nov 1993 21:33:05 GMT Organization: NeXT, Inc. Message-ID: <2brmmh$4ej@rosie.next.com> TablePrinterPalette (DatabaseKit) -- this example requires NEXTSTEP 3.1 or later TablePrinterPalette is an Interface Builder palette which nicely formats and prints DBTableViews. Changes to TablePrinterPalette: This is a new MiniExample. TTools (Appkit) -- this examples requires NEXTSTEP 3.1 or later This MiniExample is an advanced IB Palette primer. The prerequisite knowledge for this is a good understanding of Interface Builder and Objective C including knowledge of the Protocol and Category language elements. The palette illustrates: How to palettize a simple view, window, and object. How to provide your palettized view or object with an inspector in IB. How to write a custom connection inspector and custom connector objects for your palettized object. How to access your superclass's inspector. How to effectively palettize Matrix without restricting its prototype cell class. How to palettize an object that uses the target/action connection paradigm in IB. How to browse the class hierarchy. How to implement a complete object editor. How to generate a library from your palette project so that applications can link in the palette code. How to automatically generate a library .h file, and precompile it. How to bind to instance variables that are not of type id (hyper advanced). Changes since TTools 1.0: Basically everything. The Ranker and Timer objects are the same, the AlertPanel object has been thrown away, and everything else is new. Timer changed a bit; versioning was used, so old instances of Timer should be fine. Also, this version works only in 3.1, not in 3.0. It requires minimal Makefile hackery to make it work under 3.0, but it was decided the project was large and confusing enough as it is. ScrollViewDeluxe (AppKit) -- this example requires NEXTSTEP 3.0 or later This object is an enhanced subclass of ScrollView. It adds the following features: Support for a 'top view', a view at the top of the scroll view that scrolls horizontally with the document but remains static when the document is scrolled vertically. Support for a 'left view', a view to the left of the scroll view that scrolls vertically with the document, but remains static when the document is scrolled horizontally. Automatic support for rulers. Support for synchronizing other scroll views. Automatic support for page up/down & left/right buttons. Automatic support for zooming. Support for adding arbitrary views to the vertical and horizontal scrollers. The ScrollViewDeluxe palette allows you to create a ScrollViewDeluxe by command-clicking the 'Group in ScrollView' menu item. Changes to ScrollViewDeluxe: This version of ScrollViewDeluxe fixes a bug in the 'Group In ScrollView' feature. The previous code caused 3.0 versions of the palette to crash InterfaceBuilder and 3.1 versions of the palette to archive ScrollViews incorrectly.
From: Ali_Ozer@NeXT.com (Ali Ozer) Newsgroups: comp.sys.next.programmer Subject: Re: NXImage Date: 11 Nov 1993 01:16:02 GMT Organization: NeXT, Inc. Distribution: world Message-ID: <2bs3oi$4je@rosie.next.com> References: <2brtl1$2mu@homer.cs.mcgill.ca> In article <2brtl1$2mu@homer.cs.mcgill.ca> reno@cs.mcgill.ca (Renaud GORGEON) writes: > using Next Developer I draw an image using several NXImage from > TIFF files . What can I do to concatenate all these NXImage in > only one ? Depends on what you mean by "concatenate." If you mean that you want to have one large image that contains all of the images (say one after another, vertically), then you can do something like: /* sizeOfBigImage is the size of the concatenated image images[] is the array containing the images to be concatenated... */ NXImage *bigImage = [[NXImage alloc] initSize:&sizeOfBigImage]; NXPoint loc = {0, 0}; unsigned cnt; if (![bigImage lockFocus]) return; /* Bail out */ for (cnt = 0; cnt < numImages; cnt++) { NXSize *size; [images[cnt] getSize:&size]; loc.y += size.height; [images[cnt] composite:NX_COPY toPoint:&loc]; } [bigImage unlockFocus]; Writing the image out to a .tiff involves creating a stream and writing the image out to it with writeTIFF:. Here's one way to do this, using a memory stream: NXStream *stream = NXOpenMemory (NULL, 0, NX_READWRITE); [bigImage writeTIFF:stream]; if (NXSaveToFile (stream, fileName)) { /* Couldn't save to desired file... */ } NXCloseMemory (stream, NX_FREEBUFFER); This approach of concatenation has several problems; first of all, because you are using the window server, the final image will be in one of the depths supported by the window server. Thus if your original TIFFs were 1-bit, the resulting image will be 2-bits (as the windowserver doesn't support 1-bit windows). Or if your original TIFFs were CMYK images, the resulting image will be RGB. Similarly, even if the original images had multiple representations (for instance, a color rep, a gray rep, a low-res rep, etc), the final image will be a concatenation of only one of the reps from each image. This all is probably not an issue if the resulting image is meant for on-screen use only and won't be saved. Otherwise you might need to do a more complete job, depending on the kind of input you expect. Ali, Ali_Ozer@NeXT.com
From: Ali_Ozer@NeXT.com (Ali Ozer) Newsgroups: comp.sys.next.programmer Subject: Re: NXImage Date: 11 Nov 1993 01:36:59 GMT Organization: NeXT, Inc. Distribution: world Message-ID: <2bs4vr$4k0@rosie.next.com> References: <2bs3oi$4je@rosie.next.com> In article <2bs3oi$4je@rosie.next.com> I wrote: > In article <2brtl1$2mu@homer.cs.mcgill.ca> Renaud GORGEON writes: > > What can I do to concatenate all these NXImage in only one ? > ... you can do something like: > NXPoint loc = {0, 0}; ... > for (cnt = 0; cnt < numImages; cnt++) { > NXSize *size; > [images[cnt] getSize:&size]; > loc.y += size.height; > [images[cnt] composite:NX_COPY toPoint:&loc]; Somehow I was in a origin-is-in-the-upper-left-corner mode when I wrote that. Because the 0,0 is in the lower left corner, you need to change the code around a bit. One possibility is to initialize loc so: NXPoint loc = {0, sizeOfBigImage.height}; ... and increment it so: loc.y -= size.height; Ali, Ali_Ozer@NeXT.com
From: npratt@glacier.sim.es.com (Nevin Pratt) Newsgroups: comp.sys.next.programmer Subject: Re: First Responder ... HELP Date: 11 Nov 1993 16:18:01 GMT Organization: E&S Distribution: world Message-ID: <2btojp$ml1@cnn.sim.es.com> References: <2bp08o$aj9@zip.eecs.umich.edu> In article aj9@zip.eecs.umich.edu, hyongsop@saturn.eecs.umich.edu (Hyong S. Shim) writes: > I have a panel that has a browser and a textfield. When this panel is > displayed, I want the textfield to be the first responder; that is, I want > the vertical cursor to be blinking in the textfield when the panel opens > up. > > I've written the following code to accomplish this, but they don't work: > > [myPanel makeFirstResponder:theTextfield]; > > Does anyone know what's wrong? [theTextfield selectText:""]; Nevin
From: joggl@neuro.tuwien.ac.at (Joachim Kainz) Newsgroups: comp.sys.next.programmer Subject: IB and the ZooView-MiniExample Date: 11 Nov 1993 16:42:44 GMT Organization: Technical University Vienna, Austria Message-ID: <2btq24$pgu@email.tuwien.ac.at> To all you gurus out there! The file SideSplitView.m in the ZooView-MiniExample contains the following functions: > /* > * take advantage of IB. Use these set methods to initialize the > * subviews > */ > - setLeftView:(id)newView > { [...] > } and > /* > * don't bother with the size and origin of the view as it gets > * completely reset in adjustSubviews > */ > - setRightView:(id)newView > { [..] > } Both these functions are called when the nib is loaded. I really appreciate that but I would also love to know why! Could somebody habe mercy and tell me!?! Greetings from Vienna! Joachim. -- Phone: ++43-1-58801-4132 Fax: ++43-1-504-15 Email: Joachim.Kainz@neuro.tuwien.ac.at
Newsgroups: comp.sys.next.programmer From: fdomingu@rainbow.UWaterloo.ca (Francisco Dominguez) Subject: Zmodem Version 3 info wanted Message-ID: <CGCBGw.GJM@watserv1.uwaterloo.ca> Sender: news@watserv1.uwaterloo.ca Organization: University of Waterloo Date: Thu, 11 Nov 1993 18:31:43 GMT I'm looking for information regarding the compilation of zmodem 3.03 on the NeXT. I've tried the make file that came with the source but no NeXT specific switches were provided. (sysV and BSD were). When compiling I get termio.h not found and lo and behold no termio.h in any of my include directories. Pleas send email if you know what I'm doing wrong or ways around the termio.h problem. Francisco fdomingu@zeus.uwaterloo.ca
Newsgroups: comp.sys.next.programmer From: bhill@physics.ucla.edu (Brian Hill) Subject: Re: 'gz' archive files In-Reply-To: luomat@alleg.edu's message of 10 Nov 1993 21:21:10 GMT Message-ID: <BHILL.93Nov11105719@spike.physics.ucla.edu> Sender: usenet@physics.ucla.edu Organization: Dept. of Physics, UCLA References: <1993Nov10.191140.3447@leland.Stanford.EDU> <2brm06$383@ftp.alleg.edu> Date: 11 Nov 93 10:57:19 >> Firstly, my abject and humble apologies for what I suspect is >> an elementary question.... but what do I do to decompress/unpack >> a foo.tar.gz (as opposed to a foo.tar.Z) file? (I know about >> tar, its the 'gz' format I'm unfamiliar with). Thanks. > gz and .z are extenstion for gnu's 'gzip' program, which is included in > NS 3.1. gzip can also be handled by Opener.app (available from > cs.orst.) version 3.0 or above. I'd suggest getting Opener 3.1.1 as it > is the most recent version and then you won't have to edit the archive > file to include gzip. Don't forget TickleServices.app. With Archive.ts installed in /LocalLibrary/TickleServices Command-Shift-Z archives and unarchives files. This is just one of a suite of utilities TickleServices offers. If you want Archive.ts, e-mail me. It's a little long to put in a post. --Brian Hill <bhill@physics.ucla.edu>
Newsgroups: comp.sys.next.hardware,comp.sys.next.misc,comp.sys.next.programmer,comp.sys.next.sysadmin,comp.sys.next.software From: crespo@vcd.hp.com (Ivan Crespo) Subject: Re: Canon BJC 600 on NeXTSTEP??? Sender: news@vcd.hp.com (News user) Message-ID: <CRESPO.93Nov11115653@hpvclic.vcd.hp.com> In-Reply-To: thor@sushi.uib.no's message of 11 Nov 1993 13:52:27 GMT Date: Thu, 11 Nov 1993 19:56:52 GMT References: <2btg2r$sga@due.uninett.no> Organization: Hewlett-Packard VCD > I'm buying a printer for my NeXT, and have come down to a choice > between two printers - the HP DJ550C and Canons new BJC600. > They cost the same at the offers I've received. > > Easy question - does the BJC600 work on NeXTSTEP? Here's why > I wonder... > > I know that there are PD support programs (drivers) for the HP, > but the quality of the Canon looks much better, both output, > use of ink, and cost per page. Well, the BJC600 is a very nice color printer. But in my opinion, Canon compromised black print quality in order to get good results with color. The HP 550C, on the other hand, gives you very good color without compromising black only output. So I would say that if you need only a color printer, buy the BJC600, but if you want a color printer that will also give you good black print quality then take another look at the DJ550C. Another option would be the DJ1200C which is a great color printer with great black print quality and it supports Postscript.. i. -- PS. I tried to make a fair comparison, but of course I am very biased... I work for HP, AND I worked on the HP550C.
Newsgroups: comp.sys.next.programmer From: joe@FreemanSoft.com (Joe Freeman) Subject: Re: Awesome Developer App!! Message-ID: <1993Nov11.180323.5439@FreemanSoft.com> Sender: jfreeman@FreemanSoft.com Organization: FreemanSoft Inc. References: <2bpc17$3ge@rosie.next.com> Distribution: usa Date: Thu, 11 Nov 1993 18:03:23 GMT In article <2bpc17$3ge@rosie.next.com> bryce_jasmer@next.com (Bryce Jasmer) writes: > When you get your copy of 3.2 Developer, be sure and check out > /NextDeveloper/Demos/FileMerge.app. It is incredibly useful!! (Its a > front end to diff and allows you do diff entire folders of source (and > other stuff) and do merges of source and all sorts of great things.) I would like to point out that Bryce did not write this app. Nor, does he even work in that group. :-) -- Joe Freeman FreemanSoft Inc. A NEXTSTEP software and consulting services company. Electronic Mail: Joe@FreemanSoft.com (NeXT Mail) Voice: 919.783.7033
From: Rebecca.Hunter@launchpad.unc.edu (Rebecca Hunter) Newsgroups: comp.sys.next,comp.sys.next.bugs,comp.sys.next.programmer Subject: DBKit/Sybase problem Date: 11 Nov 1993 22:01:41 GMT Organization: University of North Carolina Extended Bulletin Board Service Distribution: usa Message-ID: <2buco5$5n1@samba.oit.unc.edu> Summary: next bug? Keywords: Bug, HELP NextStep version 3.0 DEModeler version 0.7 using Sybase Adaptor Sometimes when we send two fetches, and the database delegate tells us that it is performing two SELECT statements in quick succession, the two are merged into one nonsensical statement, which then fails. Has anyone else experienced a similar problem? Does anyone know a fix for it? Details: Various debug print statements indicate that for the binders isFlushEnabled returns NO, sharesContext returns NO, and areObjectsFreedOnFlush returns Yes. All properties of the binders return YES for isDeferredExpression. We suspect that the actual selects are being deferred (until the data is actually needed) but that this is not being done cleanly, allowing mixing of commands. Example: The two commands which should be executing are: "SELECT t0.evaluation, tO.sourceProject FROM tl_evaluation_sourceProject tO" and "SELECT tO.name, tO.key FROM tv_staffOfficer tO WHERE tO.key = 121906061" Instead, we get: "SELECT to.name, tO.key, t1.evaluation, t1.sourceProject FROM tv_staffOfficer tO WHERE t1.evaluation = Ot1.sourceProject = 1073746836" Any help would be greatly appreciated. Please send any answers to [rhunter@kosmos.agu.org], not the address above. Thanks! -Rebecca -- The opinions expressed are not necessarily those of the University of North Carolina at Chapel Hill, the Campus Office for Information Technology, or the Experimental Bulletin Board Service. internet: laUNChpad.unc.edu or 152.2.22.80
From: kosakd@reis36.alleg.edu (David "Samuel Clemens" Kosak) Newsgroups: comp.sys.next.programmer Subject: Risk.app Date: 12 Nov 1993 01:20:02 GMT Organization: Allegheny College Message-ID: <2buoc2$4r6@ftp.alleg.edu> Hello, Does anyone have the source code for Risk.app by Mike Ferris? It's shareware but the author seems to have moved E-Mail addresses and I'd like to implement some new Computer Players. I'm hitting a few snags. Any help would be appreciated. -Dave -- ________________________________________________________________________ |_____|______|______|______|______|______|______|______|______|______|_| |__|______|_DAVID GEORGE KOSAK_|______|kosakd@alleg.edu____|______|____| |_____|______|______|______|______|______|______|______|______|______|_| |__|______|______|______|______|______|______|______|______|______|____|
From: chan@jpmorgan.com (Milo A. Chan) Newsgroups: comp.sys.next.programmer Subject: Q: Way to convert NeXT tiff fmt to gif _in_batch_mode_ Date: 12 Nov 93 04:21:20 GMT Organization: J.P. Morgan Securities, Inc. Distribution: world Message-ID: <CHAN.93Nov11232120@hawking.jpmorgan.com> Can anyone suggest a way to convert NeXT tiff format files to gif format or sun raster format in batch mode? (I have a lot to convert anddon't want to go through each tiff file interactively.) Apologies in advance if this a FAQ. Please email reply to chan@jpmorgan.com [as well] since I don't read this group regularly. AdvTHANKSance, -Milo -- Milo Chan, 212.648.4483, chan@jpmorgan.com
Newsgroups: comp.sys.next.programmer From: tomi@shinto.nbg.sub.org (Thomas Engel) Subject: Resize knob object/palette anywhere ? Message-ID: <CG9q6s.5D@shinto.nbg.sub.org> Sender: tomi@shinto.nbg.sub.org (Thomas Engel) Organization: Molecule Modelling Lab. Date: Wed, 10 Nov 1993 08:56:51 GMT Hi! I was wondering whether there is a knob object out there in the wourld or not. A knob object would be something like the knob inside the shelf use for sizing some views. Some kind of view that has a button in the middle and could be dragged to different positions inside another view cousing a upper(left) and lower(right) view to be scaled to the needed dimensions. Does something like this exist...maybe as a pallet for IB feedback ? Tom -- ____________________________________________________ (tomi@shinto.nbg.sub.org) Thomas Engel Neptunstr. 9 NeXTMail welcome 90522 Oberasbach
Newsgroups: comp.sys.next.programmer From: bhill@physics.ucla.edu (Brian Hill) Subject: Re: 'gz' archive files In-Reply-To: bhill@physics.ucla.edu's message of 11 Nov 93 10:57:19 Message-ID: <BHILL.93Nov11211535@spike.physics.ucla.edu> Sender: usenet@physics.ucla.edu Organization: Dept. of Physics, UCLA References: <1993Nov10.191140.3447@leland.Stanford.EDU> <2brm06$383@ftp.alleg.edu> <BHILL.93Nov11105719@spike.physics.ucla.edu> Date: 11 Nov 93 21:15:35 In article <BHILL.93Nov11105719@spike.physics.ucla.edu> bhill@physics.ucla.edu writes: > Don't forget TickleServices.app. With Archive.ts installed in > /LocalLibrary/TickleServices Command-Shift-Z archives and unarchives > files. This is just one of a suite of utilities TickleServices offers. > If you want Archive.ts, e-mail me. It's a little long to put in a post. To correct my own post, I note that Gzip.ts provides some of the above-described functionality, and again, I would be happy to e-mail it (it is 7K). TickleServices is shareware available from cs.orst.edu in pub/next/submissions. (I have nothing to do with its creation or any connection to the author, Scott Hess.) --Brian Hill
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: Re: IB and the ZooView-MiniExample Message-ID: <CGCIDC.6vz@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems References: <2btq24$pgu@email.tuwien.ac.at> Date: Thu, 11 Nov 1993 21:00:48 GMT Joachim Kainz writes > The file SideSplitView.m in the ZooView-MiniExample contains the following > functions: > - setLeftView:(id)newView > - setRightView:(id)newView > Both these functions are called when the nib is loaded. I really > appreciate that but I would also love to know why! because there are outlets named rightView and leftView that have connections set in the nib, and these methods follow the naming conventions described below. from the NeXTSTEP developer tools docs, chapt 3 on IB, discussing what happens when a NIB is loaded. -------------- Connections between objects are established in one of two ways. If the source object responds to a setMyOutlet: message, it will be sent that message. So, using the example above, the Window object would receive a setDelegate: message. (Note that the system determines the message to send by capitalizing the first letter of the outlet's name and prepending set .) If the object doesn't respond to such a message, the value of its outlet instance variable is set directly, without a message being sent. -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
Newsgroups: comp.sys.next.programmer From: gerben@rna.indiv.nluug.nl Subject: Question about databases and triggers Message-ID: <1993Nov12.074004.487@rna.indiv.nluug.nl> Sender: gerben@rna.indiv.nluug.nl (Gerben Wierda) Organization: G.R.O.S.S. Date: Fri, 12 Nov 1993 07:40:04 GMT Suppose I make a NEXTSTEP application (with dbKit) that accesses a database. Many databases nowadays handle triggers. What I'd like, though, is a way to make such a trigger activate a UI object. For instance, some field changes value -> trigger -> a textfield in the GUI is updated automatically. Can that be done with any database nowadays under NS? What about Sybase or ORACLE? -- Gerben Wierda [NeRD:7539] gerben@rna.indiv.nluug.nl "If you don't know where you are going, any road will take you there." From the Talmud(?), rephrased in Lewis Carroll, "Alice in Wonderland".
From: M.Crawford@dcs.sheffield.ac.uk (Malcolm Crawford) Newsgroups: comp.sys.next.programmer Subject: Comp.Object FAQ Version 1.0.4 Date: 12 Nov 1993 06:47:37 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9311121222.AA23770@dcs.shef.ac.uk> As for 1.0.3, I have got hold of the list and broken it down into sections, which makes it a bit easier to index with DL. Anybody wanting a copy (via NeXTMail), please feel free to ask. Have fun, mmalcolm.
Newsgroups: comp.sys.next.programmer From: fugue!william (William Wei) Subject: DO messaging Message-ID: <1993Nov8.214836.3088@imagine.com> Sender: william@imagine.com (William Wei) Organization: Imagine Multimedia, Inc., Ann Arbor, MI, USA Distribution: usa Date: Mon, 8 Nov 1993 21:48:36 GMT Anyone knows what the following message means? [NXConnection run] - tossing received reply msg In a two ways comminucation I use -runInNewThread for both parties. -- ++ William Wei Imagine Multimedia william@imagine.com (NeXTmail accepted)
Newsgroups: comp.sys.next.programmer From: k-terai@nrigw11.nri.co.jp (Koujun Terai) Subject: [DBTableView] getting the current editing point Message-ID: <CGDp47.B4r@nrigw11.nri.co.jp> Sender: news@nrigw11.nri.co.jp Organization: Nomura Research Institute, Ltd. Date: Fri, 12 Nov 1993 12:24:07 GMT Does anybody know how to get the current editing position in DBTableView object? I have read through almost all online documents and header files concerning DBKit user interface layer, but strangely enough, there seem to be no official way to know which cell I'm actually editing (in other words on which row and column the Window's field editor object resides). There IS a delegate method called tableViewWillChangeSelection, which is called anytime the user attepmted to change the current editing position either by cliking other field or entering TAB or RETURN key in the current field, but even in that method, it is impossible to know from which field you came or to which field you want to go. As far as I know, the only way to know the current editing field is, first get the content of the current editing field by writing TextFilter function for the window's text object, compare it with each property value of the current selected record of the DBRecordList object, and guess which column you are most likely to be in. Obviously, this does't work in every case. (And of course, it's not an elegant way.) Thanks for your help. ================================================================== TERAI Kojun, DSS, Trading Systems Dept., Nomura Research Institute. TEL: 03-3249-9456 FAX: 03-3639-2905 E-mail: terai@sr.nri.co.jp
From: eric@skatter.usask.ca Newsgroups: comp.sys.next.programmer Subject: Re: System-wide defaults database? Date: 12 Nov 1993 18:18:45 GMT Organization: University of Saskatchewan Message-ID: <2c0k25$hbo@tribune.usask.ca> References: <2brnjl$m8g@tribune.usask.ca> Many thanks to all of you who replied so quickly to my request for information. Two alternatives were suggested. To summarize: 1 - Use `NXSetDefaultsUser'. 2 - Put the information in a file and use an NXStringTable object. I had a look at these and have decided that an NXStringTable will do just what I want. Thanks, -- Eric Norum eric@skatter.usask.ca Saskatchewan Accelerator Laboratory University of Saskatchewan Saskatoon, Canada. NeXTMail accepted.
From: eric@skatter.usask.ca Newsgroups: comp.sys.next.programmer Subject: Merging RTF files Date: 12 Nov 1993 18:27:57 GMT Organization: University of Saskatchewan Message-ID: <2c0kjd$hpo@tribune.usask.ca> I have created a bunch of `help' files for my application. They're all available using the NeXT help system, but I'd like to make a hard copy version to hand out to the accelerator operators here. Surely there must be a better way to do this than to open each of the files in the editor and then print them. That method is: a) time consuming b) a waste of paper. Some of the help files describing certain status indicators are only a half dozen or so lines long. I guess what I really want is something like: RTFcat */*.rtfd | lpr -Pcolor Does such a utility exist? -- Eric Norum eric@skatter.usask.ca Saskatchewan Accelerator Laboratory University of Saskatchewan Saskatoon, Canada. NeXTMail accepted.
From: gad@eclipse.its.rpi.edu (Garance A. Drosehn) Newsgroups: comp.sys.next.programmer Subject: Re: System-wide defaults database? Date: 12 Nov 1993 20:38:07 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Distribution: world Message-ID: <2c0s7f$66t@usenet.rpi.edu> References: <2brnjl$m8g@tribune.usask.ca> eric@skatter.usask.ca writes: > I am writing an application which will control a piece of monitoring > equipment attached to our lab's linear accelerator. There are a number > of calibration factors associated with this equipment. I'd like to > handle these by using the defaults database that is part of NeXSTEP. > > My problem is that I want the *same* set of calibration parameters > regardless of who happens to be logged in and using the application. > As far as I can tell there is no way to do this. The digital > librarian tells me that the order used to obtain a defaults value > is: > > 1. The command line > 2. The user's defaults database (.NeXTdefaults), with a matching owner > 3. The user's defaults database, with the owner listed as *GLOBAL: > 4. The NXDefaultsVector array passed to NXRegisterDefaults() > > Any suggestions on the best way to get things to work the way I > want? I hope I don't have to resort to storing all the calibration > information in a file: > `/LocalLibrary/FastCamera.parms' > and parsing that file myself each time the application starts...... If it's an application that you are writing, then you can probably point the defaults processing at any specific file you want. Of course that would mean you'd get all the defaults from that file, and none from the user's own defaults. You could also have your program open up the system defaults first, save those values away, and then re-open defaults using the regular defaults-processing. On the other hand, it would be nice if there was some standard place for putting defaults-settings that would be in effect for all userids on the machine. The user's own values would override them, but the system administrator could setup things such that everyone would start out with a different set of defaults than that which shipped with any given app. [as an example, it'd be nice for the system administrator to be able to set the CDDrive default for CDPlayer.app on NeXT hardware, so that all users start out with the right default drive] -- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu ITS Systems Programmer (handles NeXT-type mail) Rensselaer Polytechnic Institute; Troy NY USA
Newsgroups: comp.sys.next.programmer From: patel@niblick.ecn.purdue.edu (Umesh H Patel) Subject: Tracking mouse events Message-ID: <CGEAH5.BzH@noose.ecn.purdue.edu> Sender: news@noose.ecn.purdue.edu (USENET news) Organization: Purdue University Engineering Computer Network Distribution: comp.sys.next.programmer Date: Fri, 12 Nov 1993 20:05:28 GMT I am trying to modify one of my existing applications such that I can have a record showing when and what menu items or switches are activated by user mouse clicks. I am thinking some type of delegate method would work, but I am not sure what appkit functions should be used within the method. I would also like to calculate the mouse dragging or moving time when a user operates the application. With this information I can approximate the manual manipulation time in an interface and also determine the decision making time when using the application. Any help on this subject if very much appreciated. Umesh Patel Hillenbrand Biomedical Engineering Center Purdue University patel@tumor.ecn.purdue.edu (NeXT mail) patel@ecn.purdue.edu (normal e-mail)
Newsgroups: comp.sys.next.programmer From: dave@alembicla.com(David W. Fahrney) Subject: Re: NeXTmail, receipts Message-ID: <CGD7nn.2M0@alembicla.com> Sender: dave@alembicla.com (David W. Fahrney) Organization: Alembic Systems International, Ltd. References: <ogsJdo200UzxE6yVRI@andrew.cmu.edu> Date: Fri, 12 Nov 1993 06:06:58 GMT In article <ogsJdo200UzxE6yVRI@andrew.cmu.edu> "Thomas G. Mon" <tm31+@andrew.cmu.edu> writes: !> I was just wondering what the flags are for setting recipts on !> networks that don't have NeXTs. In other words, if I just want to send !> a regular message on a system without NeXTmail, how can I get a receipt !> to be sent to me if I can't just click the "Receipt" button in Mail.app? !> The only 'flag' that a message requests a return receipt is in the version of the mailer: Received: by NeXT.Mailer (1.87.1.RR) compared to a header from a non return receipt message you will see: Received: by NeXT.Mailer (1.87.1) If you can get the mailer to generate this small difference in the mailer header, then you have got yourself a return reciept enabled system. -- David W. Fahrney =:-) Alembic Systems International, Los Angeles V: 310.371.6226 F: 310.371.0886
From: frank@lucas Newsgroups: comp.sys.next.programmer Subject: How to launch a Terminal application from a program Date: 12 Nov 1993 23:10:33 GMT Organization: Northwestern University, Evanston, IL USA Message-ID: <2c1559$gbs@news.acns.nwu.edu> Hi! Could anyone please tell me how to launch some Terminal/Stuart applications from a program? I know it is easy to open a Terminal/Stuart from a program, but how can I run the applications in the Terminal/Stuart? Thanks a lot in advance. Frank
From: Christopher_Lane@Med.Stanford.EDU Newsgroups: comp.sys.next.programmer Subject: Re: System-wide defaults database? Date: 13 Nov 1993 00:48:26 GMT Organization: Stanford University Distribution: world Message-ID: <2c1asq$kks@morrow.stanford.edu> References: <2c0s7f$66t@usenet.rpi.edu> Garance A. Drosehn <gad@eclipse.its.rpi.edu> writes: > On the other hand, it would be nice if there was some standard > place for putting defaults-settings that would be in effect for > all userids on the machine. The user's own values would override > them, but the system administrator could setup things such that > everyone would start out with a different set of defaults than > that which shipped with any given app. > > [as an example, it'd be nice for the system administrator > to be able to set the CDDrive default for CDPlayer.app on > NeXT hardware, so that all users start out with the right > default drive] The defaults system should have been tied to NetInfo (functionally, not necessary data storage-wise), i.e. the current defaults mechanism should have been the individual user layer in the NetInfo tree and sysadmins could then set some defaults on a system-wise bases, as needed -- and users could still augment and override, as needed. (Of course you'd want to retain the current defaults API -- athough it isn't great it sure beats the NetInfo API.) The current programming style of putting the defaults directly in code seems to be the wrong thing to do -- I've been putting the defaults for my applications in an NXStringTable *.strings plain text file in the *.app wrapper and then read them in at runtime. A little messy but better than the current design as it is possible to modify the defaults without source on a system-wide basis. - Christopher
From: al152433@academ01.mty.itesm.mx (Maria Del Belen Huerta Y Novak) Newsgroups: comp.sys.next.programmer Subject: NeXT font editor Wanted! Date: 13 Nov 93 00:34:41 GMT Organization: ITESM, Campus Monterrey Message-ID: <al152433.753150881@academ01> Keywords: font editor I'm in deep need of a font editor i could use on the NeXT, if anybody knows about one and where in the internet could i find it, please let me know. You can mail me to (al194205@next00.mty.itesm.mx) Thanks! Claudio Garcia
From: haker@whitewater.chem.wisc.edu (M Haker) Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs Subject: Wierd 3.1 DriverKit bug Date: 13 Nov 1993 01:35:30 GMT Organization: Division of Information Technology Message-ID: <2c1dl2$3jo@news.doit.wisc.edu> Hello all, I thought I'd just pass on this very strange bug I discovered recently while writing a 3.1 DriverKit driver for a National Instruments data aquisition board (it's a subclass of IODirectDevice). I wrote a method called - initializeBoard which reset the board to a startup state. At first I just called this method from within another method -configureBoard (initializes, then sets the board according to object parameters). Well all was working well until I decided to also initialize the board in the -initFromDeviceDescription method. The strange part about all this is that it initialized the board fine with the call from initFromDeviceDescription (I followed it with IOLog messages), but when I asked it to configure the board (and hence initialize the board) I got a System Panic with the message something like: -<3>: Objc error, object NatInstMIO16x does not respond to selector -<3> which I tracked down to be this call to - initializeBoard. When I comment out the call in initFromDeviceDescription, the other call works again (and I can call multiple times). I also thought it might have something special to do with the initFromDeviceDescription method so I provided another means of accessing it directly (here a subset of my setIntValue procedure, which I also use to have the driver execute methods by just passing in nothing, and other related code): - (IOReturn)setIntValues : (unsigned int *)parameterArray forParameter : (IOParameterName)parameterName count : (unsigned int)count { unsigned int temp, temp2, x; inputConfigType *tempConfig; if(strcmp(parameterName, SAMPLES_PER_TRIGGER) == 0){ temp = parameterArray[0]; if(temp<=65535) { samplesPerTrigger=temp; return IO_R_SUCCESS; } else return IO_R_UNSUPPORTED; } else if (strcmp(parameterName, SET_DEVICE)==0) { IOLog("setting device\n"); [self configureBoard]; return IO_R_SUCCESS; } else if (strcmp(parameterName, INITIALIZE_BOARD)==0) { IOLog("INITIALIZE_BOARD\n"); [self initializeBoard]; return IO_R_SUCCESS; } else { /* Pass parameters we don't recognize to our superclass. */ return [super setIntValues:parameterArray forParameter:parameterName count:count]; } } - initializeBoard { IOLog("initializeBoard\n"); [self clearBoard]; [self initAm9513a]; [self disableRTSIswitch]; return self; } - configureBoard { IOLog("Start configureBoard\n"); [self initializeBoard]; [self programChannelConfig]; [self setSampleTimer]; [self setSampleCounter]; IOLog("finished configureBoard\n"); return self; } So apparently the kernalLoaded driverKit objects are doing some funky stuff with objective C method translation. If I understand this Objective C stuff right, methoding is handled by the Objective C RunTime system, which is not running in the kernal(the kernal is not objective C). I switched the method over to a C function and I can call it from multiple places in my code (just not as a method). I hope this bug is fixed in 3.2 either through userLevel drivers or by someother means, because I want to be able to write driver code with methods and object level variable scopeing. Hope this is some help. Mike Haker Department of Chemistry, UW-Madison haker@whitewater.chem.wisc.edu
From: dbora@ils.nwu.edu (Donald Bora) Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin,comp.sys.next.misc Subject: Question about fonts on the next Date: 13 Nov 1993 06:23:41 GMT Organization: The Institute for the Learning Sciences Distribution: world Message-ID: <2c1uhd$cue@anaxagoras.ils.nwu.edu> Hello NeXT world! I have a question about some fonts I got a hold of. I got some free fonts but there is only one problem. They are not really professional pring quality. Is there anything I can do about this... does anybody know if there are really professional type fonts available for the NeXT? -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* Donald F. Bora | | | The Institute for the Learning Sciences | | O | Northwestern University | (--|--) Evanston, Ill | | e-mail: dbora@ils.nwu.edu | / \ work: (708) 467-1972 | --------Be excellent to each other--------
Newsgroups: comp.sys.next.programmer From: Richard Jacob Subject: programming environnement for the DSP Message-ID: <1993Nov8.223805.1404@CAM.ORG!planon> Keywords: DSP Sender: richard@CAM.ORG!planon Date: Mon, 8 Nov 1993 22:38:05 GMT I want to program my DSP 56001 (Motorola) on my Next computer. I would like to know what I need to program, to compile, to debug. Where I can get more information? Did a "C" compiler exist? Please help me.
Newsgroups: comp.sys.next.programmer From: laurent@planon.qc.ca (Laurent Daudelin) Subject: Re: First Responder ... HELP Message-ID: <1993Nov12.144531.2746@CAM.ORG!planon> Sender: laurent@CAM.ORG!planon References: <2btojp$ml1@cnn.sim.es.com> Date: Fri, 12 Nov 1993 14:45:31 GMT In article <2btojp$ml1@cnn.sim.es.com> npratt@glacier.sim.es.com (Nevin Pratt) writes: | In article aj9@zip.eecs.umich.edu, hyongsop@saturn.eecs.umich.edu (Hyong S. Shim) writes: | | > I have a panel that has a browser and a textfield. When this panel is | > displayed, I want the textfield to be the first responder; that is, I want | > the vertical cursor to be blinking in the textfield when the panel opens | > up. | > | > I've written the following code to accomplish this, but they don't work: | > | > [myPanel makeFirstResponder:theTextfield]; | > | > Does anyone know what's wrong? | | | | [theTextfield selectText:""]; | | | Nevin | [theTextfield selectText:self]; Laurent -- ****************************************************************************** Laurent Daudelin, Software Engineer Planon TELEXPERTISE Inc., Boucherville, Quebec, CANADA laurent@planon.qc.ca <-- NeXTMail welcome! (Mac Mail welcome too!)
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Tracking mouse events Message-ID: <1993Nov13.080937.3461@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <CGEAH5.BzH@noose.ecn.purdue.edu> Date: Sat, 13 Nov 1993 08:09:37 GMT In article <CGEAH5.BzH@noose.ecn.purdue.edu> patel@ecn.purdue.edu (Umesh H Patel) writes: > I am trying to modify one of my existing applications > such that I can have a record showing when and what menu items or > switches are activated by user mouse clicks. Check out the NXJournaler class. -=EPS=-
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Which apps use distributed objects? Message-ID: <1993Nov13.064426.1965@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software Date: Sat, 13 Nov 1993 06:44:26 GMT Which of NeXT's apps take advantage of distributed objects? Which of the apps provide a DO interface? Where is this documented? -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
From: dario@voluptas (Dario Ringach) Newsgroups: comp.sys.next.programmer Subject: Reading Lotus Improv data from external program Message-ID: <2c3697$q4s@cmcl2.NYU.EDU> Date: 13 Nov 93 17:41:59 GMT Organization: New York University I'd like to use Lotus Improv as a source of data for *another* application running simulataneously. Does anyone know how I can read the contents of the current spreadsheet in Lotus Improv from another application? Thank you very much in advance. -- Dario
Newsgroups: comp.sys.next.programmer From: dsiebert@icaen.uiowa.edu (Doug Siebert) Subject: How do I redefine library functions? Message-ID: <1993Nov12.032404.26974@icaen.uiowa.edu> Sender: usenet@icaen.uiowa.edu (UseNet News daemon) Organization: Iowa Computer Aided Engineering Network, University of Iowa Date: Fri, 12 Nov 1993 03:24:04 GMT I'm not sure if this is a NeXT problem, a GCC problem, a GNU linker problem or what, but I tried it using GCC on an HP 700 series machine running HP-UX and it worked as expected, so I assume this is NeXT specific. % cat > test.c int printf(const char *format, ...) { return(0); } main() { } ^D % cc test.c /bin/ld: multiple definitions of symbol _printf x.o definition of _printf in section (__TEXT,__text) /lib/libsys_s.a(printf.o) definition of absolute _printf (value 0x5002ce4) % So why can't I replace the libc's printf with my own? How do I do it? And if I can't I'm really really really annoyed at NeXT and want to know why! Thanks! -- Doug Siebert dsiebert@isca.uiowa.edu "Had this been an actual emergency, we would have fled in terror, and you would not have been informed." --Someone more clever than I
Newsgroups: comp.sys.next.programmer From: dsiebert@icaen.uiowa.edu (Doug Siebert) Subject: Can I do munmap() on the NeXT? Message-ID: <1993Nov12.052321.27087@icaen.uiowa.edu> Sender: usenet@icaen.uiowa.edu (UseNet News daemon) Organization: Iowa Computer Aided Engineering Network, University of Iowa Date: Fri, 12 Nov 1993 05:23:21 GMT Although there is no man page, mmap() apparently exists and works on the NeXT (I haven't tried it yet so I can't be sure it works like a real mmap() does) But there is no munmap in the libc (I'm using NS 3.0) There is a syscall for it in /usr/include/bsd/syscall.h, though. Can I use this call or does it not work/isn't supported? Its kind of silly to provide mmap() but not munmap()! -- Doug Siebert dsiebert@isca.uiowa.edu "Had this been an actual emergency, we would have fled in terror, and you would not have been informed." --Someone more clever than I
From: infidel+@CMU.EDU (Charles William Swiger) Newsgroups: comp.sys.next.programmer Subject: Re: How do I redefine library functions? Message-ID: <AgtM7ka00iV306fcge@andrew.cmu.edu> Date: 14 Nov 93 00:55:12 GMT Organization: Fifth yr. senior, Chemistry, Carnegie Mellon, Pittsburgh, PA In-Reply-To: <1993Nov12.032404.26974@icaen.uiowa.edu> Excerpts from netnews.comp.sys.next.programmer: 12-Nov-93 How do I redefine library f.. by Doug Siebert@icaen.uiowa > I'm not sure if this is a NeXT problem, a GCC problem, a GNU linker problem > or what, but I tried it using GCC on an HP 700 series machine running HP-UX > and it worked as expected, so I assume this is NeXT specific. > > [..printf example munched..] > > So why can't I replace the libc's printf with my own? How do I do it? And > if I can't I'm really really really annoyed at NeXT and want to know why! A graceful way of doing this is to add this at the start of your code: #define printf my_printf and provide a definition of my_printf() instead of redefining printf(). If you really want to override printf, here's a quote from "man ld": -m Only print a warning for multiply defined symbols and don't treat them as a hard error. The first symbol is used for linking and is the value of the symbol in the symbol table. The other symbols by the same name may be used in the resulting output file through local references. This can still produce a resulting output file that is in error. This flag's use is strongly discouraged. Caveat emptor, -Chuck Charles William Swiger -- CMU...*splat*! | 1. You can't fly. --------------------------------------------+ 2. Cars are always real, even AMS & normal mail: infidel@cmu.edu | when they're not. Failing that: cs4w+@andrew.cmu.edu | 3. Police are not your friends. NeXTmail: chuck@cswiger.slip.andrew.cmu.edu | 4. Fire burns.
Newsgroups: comp.sys.next.programmer From: Greg_Anderson@afs.com (Gregory H. Anderson) Subject: Re: How do I redefine library functions? Message-ID: <1993Nov13.231802.8072@afs.com> Sender: greg@afs.com References: <1993Nov12.032404.26974@icaen.uiowa.edu> Date: Sat, 13 Nov 1993 23:18:02 GMT In article <1993Nov12.032404.26974@icaen.uiowa.edu> dsiebert@icaen.uiowa.edu (Doug Siebert) writes: > > So why can't I replace the libc's printf with my own? How do I do it? > And if I can't I'm really really really annoyed at NeXT and want to know > why! Thanks! Use the '-m' flag with ld. See the man page for more details. -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
Newsgroups: comp.sys.next.programmer From: jspears@weston.com (Wes Spears) Subject: Re: Question about fonts on the next Message-ID: <1993Nov13.150125.8849@weston.com> Sender: jspears@weston.com (Wes Spears) References: <2c1uhd$cue@anaxagoras.ils.nwu.edu> Date: Sat, 13 Nov 1993 15:01:25 GMT In article <2c1uhd$cue@anaxagoras.ils.nwu.edu> dbora@ils.nwu.edu (Donald Bora) writes: > Hello NeXT world! I have a question about some fonts I got a hold of. > I got some free fonts but there is only one problem. They are not > really professional pring quality. Is there anything I can do about this... > does anybody know if there are really professional type fonts available > for the NeXT? > > You can contact Tilithon Software. They are now distributing NeXT Fonts from Adobe. Contact: henry@trilithon.com (Henry McGilton) Thanks Wes -- Wes Spears <-------> jspears@weston.com (NeXTMail Welcome) The Weston Group (UUCP and SENDMAIL Consultation) 8524 Highway 6 North, 162, Houston, TX 77095
From: stolcke@ICSI.Berkeley.EDU (Andreas Stolcke) Newsgroups: comp.sys.next.software,comp.sys.next.programmer Subject: gcc >2.3.3 on NeXT rel 2.1 ? Date: 14 Nov 1993 02:39:33 GMT Organization: International Computer Science Institute, Berkeley, CA, U.S.A. Message-ID: <2c45p5$t6q@agate.berkeley.edu> gcc 2.3.3 was the last version that compiled out-of-the-box for me on a 68040 NeXT cube running Release 2.1 (no flames please). With 2.4.x and now with 2.5.3 I get messages from the assembler complaining about undefined labels, and the build fails when trying to run the self-compiled enquire program. Are there any patches for this phenomenon out there? Thanks a lot in advance for any hints. (please reply in e-mail). -- Andreas Stolcke stolcke@icsi.berkeley.edu International Computer Science Institute stolcke@ucbicsi.bitnet 1947 Center St., Suite 600, Berkeley, CA 94704 (510) 642-4274 ext. 126
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: How do I redefine library functions? Message-ID: <1993Nov14.041123.26093@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Nov12.032404.26974@icaen.uiowa.edu> Date: Sun, 14 Nov 1993 04:11:23 GMT In article <1993Nov12.032404.26974@icaen.uiowa.edu> dsiebert@icaen.uiowa.edu (Doug Siebert) writes: >So why can't I replace the libc's printf with my own? How do I do it? And if >I can't I'm really really really annoyed at NeXT and want to know why! Thanks! You *can* but you *shouldn't*. (1) The shared libraries are prelinked. You may find NeXT's version being used sometimes, and yours at others. (2) It confuses anyone else who has to read your code or maintain it. (3) It makes it difficult or impossible to provide you with technical support. (4) You're not SUPPOSED to f--- with libc. (5) For those *few* cases where it might make sense, hooks are provided (e.g. malloc and friends). Those hooks are in there for debugging; it's highly doubtful that you are going to improve upon what's already there. Why don't you make your own my_bozo_printf() and use that wherever you want nonstandard behavior? (Or use NXPrintf(), which is designed to be extensible?) -=EPS=-
Newsgroups: comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Re: [DBTableView] getting the current editing point Message-ID: <1993Nov13.200255.14107@prim.demon.co.uk> Organization: Primitive Software Ltd. References: <CGDp47.B4r@nrigw11.nri.co.jp> Date: Sat, 13 Nov 1993 20:02:55 GMT In article <CGDp47.B4r@nrigw11.nri.co.jp> k-terai@nrigw11.nri.co.jp (Koujun Terai) writes: >Does anybody know how to get the current editing position in >DBTableView object? > How about subclassing DBEditableFormatter and overriding editFieldAt::inside:inView:withAttributes::usePositions:onEvent:? Dave Griffiths
Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin,comp.sys.next.misc From: henry@trilithon.com (Henry McGilton) Subject: Re: Question about fonts on the next Message-ID: <1993Nov14.182650.16480@trilithon.com> Sender: henry@trilithon.com Organization: Trilithon Software References: <2c1uhd$cue@anaxagoras.ils.nwu.edu> Date: Sun, 14 Nov 1993 18:26:50 GMT In article <2c1uhd$cue@anaxagoras.ils.nwu.edu> dbora@ils.nwu.edu (Donald Bora) writes: * Hello NeXT world! I have a question about some fonts I * got a hold of. I got some free fonts but there is only * one problem. They are not really professional pring quality. Sounds like ``free fonts'' are worth every penny . . . * Is there anything I can do about this... does anybody know * if there are really professional type fonts available for * the NeXT? We [Trilithon Software] are an Adobe-authorised reseller and can supply fonts from the Adobe Type Library for NEXTSTEP. Fonts are shipped with an installer utility. For non-Adobe fonts, we can supply conversion utilities which convert Mac to NEXTSTEP or PC to NEXTSTEP. The utilities convert the storage formats, check and clean up the AFM files [or generate the AFM files if they don't exist], and install the fonts on NEXTSTEP for you. Write To: Trilithon Software, Two Ohlone, Portola Valley, California 94028. Telephone: (415) 325-0767 FAX: (415) 325-0768 E-mail: info@trilithon.com ........ Henry
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: Reading Lotus Improv data from external program Message-ID: <1993Nov15.095739.249@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <2c3697$q4s@cmcl2.NYU.EDU> Date: Mon, 15 Nov 93 09:57:39 GMT In article <2c3697$q4s@cmcl2.NYU.EDU> dario@voluptas (Dario Ringach) writes: > > I'd like to use Lotus Improv as a source of data for > *another* application running simulataneously. Does > anyone know how I can read the contents of the current > spreadsheet in Lotus Improv from another application? > > Thank you very much in advance. > -- > Dario Use the ImprovAPIToolkit.pkg. This will do in both directions! Sorry, I don't remember where to get it. Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not (+49) 40 / 380 23-290 (Fax ) And am content with all
Newsgroups: comp.sys.next.programmer From: arrouye@petole.imag.fr (Yves Arrouye) Subject: Pb with runModalSession: error messages about handlers Message-ID: <ARROUYE.93Nov15110053@petole.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Mon, 15 Nov 1993 10:00:52 GMT Hi, I have an application which listens to application launches, and displays a panel during the launch. What I want to do is to run the panel as modal from the start to the end of the launch, so that the user will not be able to use the app's commands before the launch is done. The NXApp delegate calls a method in another object when it receives the app:applicationWillLaunch: message, and this method begins a modal session for a panel. When the NXApp delegate receives the app:applicationDidLaunch: message, it calls another method in the same object which ends the modal session. The problems I have are the following: 1/ If there is no loop testing [NXApp runModalSession:&session], I got the following error messages: Exception handlers were not properly removed. Attempt to remove unrecognized exception handler. apparently at the beginning and end of the modal session. 2/ If I do a loop, or use runModalFor: directly, the app:applicationDidLaunch: message is not received. What should I do in order to obtain the correct behaviour? Thanks for any help, Yves. -- Advocates for the C++ school claim that a well designed Yves Arrouye program does not need the extra flexibility (a lie), Yves.Arrouye@imag.fr while advocates for the Objective-C school claim that (33) 76 57 48 64 the errors are no problem in practice (another lie). NeXT Mail
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: How to launch a Terminal application from a program Message-ID: <1993Nov15.104947.328@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <2c1559$gbs@news.acns.nwu.edu> Date: Mon, 15 Nov 93 10:49:47 GMT In article <2c1559$gbs@news.acns.nwu.edu> frank@lucas writes: > Hi! > > Could anyone please tell me how to launch some Terminal/Stuart > applications from a program? I know it is easy to open a Terminal/Stuart > from a program, but how can I run the applications in the Terminal/Stuart? > Thanks a lot in advance. > > Frank Try int ret = system("some unix command"); This will not start Terminal.app. Instead it will run "some unix command" in a background shell. Your prog will wait until "some unix command" returns. ret will give you the return code of "some unix command". Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not (+49) 40 / 380 23-290 (Fax ) And am content with all
From: Joerg.Vogler@launchpad.unc.edu (Joerg Vogler) Newsgroups: comp.sys.next.programmer Subject: Driverkit Examples ? Date: 15 Nov 1993 13:57:01 GMT Organization: University of North Carolina Extended Bulletin Board Service Distribution: world Message-ID: <2c81rd$35v@samba.oit.unc.edu> Hi folks, I wonder if anyone out there has experience with the new Driver Kit provided with NS 3.1. I'm especially interestet in CDROM drivers or at least a floppy or harddisk driver for a non SCSI device using the Disk class. I'm going to develop a driver for the Mitsumi CDROM that comes with Gateway PC's. I found a driver for this device for BSD 386 UNIX. How different is the driver concept for NS from BSD UNIX ? Thanks for any support. jv@wg.com Joerg -- The opinions expressed are not necessarily those of the University of North Carolina at Chapel Hill, the Campus Office for Information Technology, or the Experimental Bulletin Board Service. internet: laUNChpad.unc.edu or 152.2.22.80
Newsgroups: comp.sys.next.programmer From: woo@ornl.gov (John W. Wooten) Subject: Mosaic on NextStep? Message-ID: <1993Nov15.150105.19487@ornl.gov> Sender: usenet@ornl.gov (News poster) Organization: Oak Ridge National Laboratory Date: Mon, 15 Nov 1993 15:01:05 GMT The neatest app for gopher, WWW, Wais, etc is now the NCSA Mosaic app. Is anyone porting that to NextStep? It is in the public domain. Would like to be able to do it without entire X distribution. It seems possible on Mac, why not on NeXTStep? - - - - - - - - - J. W. Wooten
Newsgroups: comp.sys.next.programmer From: lpkruger@tucson.Princeton.EDU (Louis P. Kruger) Subject: Un*x audio programming on Next machines Message-ID: <1993Nov14.084052.29521@Princeton.EDU> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University Date: Sun, 14 Nov 1993 08:40:52 GMT I am writing a Un*x audio application which I'm trying to make as portable as possible to a wide variety of Un*xes. My program is written around the /dev/audio raw bytestream interface found on Sun machines among others. I've run into problems trying to port this to a next, however, because /dev/audio doesn't exist and the manuals I read only referred to very specific Next libraries. I don't need any special signal processing, just a DAC and an ADC will suffice. Thanks for any suggestions! Louis Kruger
From: cfleming@reis27.alleg.edu (Chuck Fleming) Newsgroups: comp.sys.next.programmer Subject: adaptor for UniData? Date: 15 Nov 1993 15:22:53 GMT Organization: Allegheny College Distribution: world Message-ID: <2c86sd$sas@ftp.alleg.edu> Keywords: database, adaptor, UniData Greetings, The November issue of NeXTWORLD mentions that a DBKit adaptor is under development for use with the UniData RDBMS. After calling Pencom, the company mentioned as possibly developing this adaptor, it appears that they are not working on one. Is anyone out there working on a UniData adaptor? -- ########################################### Chuck Fleming (cfleming@alleg.edu) Educational Computing Services Allegheny College NeXTMail welcome ###########################################
From: charlie@snowflake.az.stratus.com Newsgroups: comp.sys.next.programmer Subject: Putting cursor in TextField Date: 15 Nov 1993 18:06:07 GMT Organization: Stratus Computer Inc, Marlboro MA Message-ID: <2c8gef$cfr@transfer.stratus.com> Is there a way to get the cursor to appear in a TextField or at the end of the text already in a TextField without selecting the entire contents? -- Charles Spitzer charlie@snowflake.az.stratus.com Telecom Customer Assistance Center Stratus Computer, Inc. Phoenix, AZ 85018
Newsgroups: comp.sys.next.programmer From: thf@zelator.in-berlin.de (Thomas Funke) Subject: Re: Question about databases and triggers Message-ID: <1993Nov14.121256.735@gamelan> Sender: thomas@gamelan (thomas) Organization: Disorganization References: <1993Nov12.074004.487@rna.indiv.nluug.nl> Date: Sun, 14 Nov 1993 12:12:56 GMT In article <1993Nov12.074004.487@rna.indiv.nluug.nl> gerben@rna.indiv.nluug.nl writes: > Suppose I make a NEXTSTEP application (with dbKit) that accesses > a database. Many databases nowadays handle triggers. > > What I'd like, though, is a way to make such a trigger activate > a UI object. For instance, some field changes value -> trigger > -> a textfield in the GUI is updated automatically. > > Can that be done with any database nowadays under NS? What about > Sybase or ORACLE? What you want is running a user supplied function from a trigger. As far I know about Sybase, this is only possible by buying some extra $$$-product. Sybase for NeXT does not handle things like this. Anyway, combining this with NeXTSTEP would not be trivial I guess. A future solution might be running sybase on HP and using portable distributed objects .... -- ------------------------------------------------------------------ Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de Brooks's Law: Adding manpower to a late software project makes it later ------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: Greg_Anderson@afs.com (Gregory H. Anderson) Subject: loop and sched files Message-ID: <1993Nov15.184248.8791@afs.com> Sender: greg@afs.com Date: Mon, 15 Nov 1993 18:42:48 GMT Does anyone know what 'loop' and 'sched' files are? All of a sudden they started showing up in one of our projects after recompiling. For example, if you have a file named WriteUp.m, you end up with two additional files named WriteUp.m.loop and WriteUp.m.sched. It looks like some odd kind of assembler language: ;; Function -[WriteUpDocument alternateFooters] (note 1 0 2 ("WriteUpDocument.m") 80) (note 2 1 4 "" NOTE_INSN_DELETED) (insn 4 2 6 (set (reg/v:SI 28) (mem:SI (plus:SI (reg:SI 14) (const_int 8)))) 29 {movsi+1} (nil) (expr_list:REG_EQUIV (mem:SI (plus:SI (reg:SI 14) (const_int 8))) (nil))) (note 6 4 7 "" NOTE_INSN_DELETED) [etc for another 500K bytes...] Anyone know what these are and why they started appearing? -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
From: jhalchin@alleg.edu (Judy Halchin) Newsgroups: comp.sys.next.programmer Subject: serial port buffer overrunning Date: 15 Nov 1993 19:10:17 GMT Organization: Allegheny College Message-ID: <2c8k6p$44r@ftp.alleg.edu> A couple of weeks ago there was an article about the serial port buffer overrunning and crashing a program. I seem to be having a problem with this myself, but the relevant articles have expired at my site. Can someone send me these articles, a synopsis, or other information on the problem (and solution)? Thanks, Judy Halchin jhalchin@alleg.edu Allegheny College
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Re: Putting cursor in TextField Message-ID: <1993Nov15.205144.20058@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software References: <2c8gef$cfr@transfer.stratus.com> Date: Mon, 15 Nov 1993 20:51:44 GMT charlie@snowflake.az.stratus.com writes >Is there a way to get the cursor to appear in a TextField or at the end of the >text already in a TextField without selecting the entire contents? > In response to this, I wrote the following TextField category method. However, I had hoped that [aWindow makeFirstResponder:self] would make the cursor display in the TextField in question, but it didn't. To get a solution, I used the brute force approach of selecting all the text (-selectText:) and then setting the selection to the end. I tried to disassemble NeXT's selectText: but it was too hairy to tell what was going on. If someone can make this more elegant/efficient, I'd appreciate it! @implementation TextField (TextSelection) -setSel:(int)start :(int)end; { id aWindow = [self window]; id anEditor = [aWindow getFieldEditor:YES for:self]; //I wish this worked as I expected... // [aWindow makeFirstResponder:self]; //...because I wouldn't have to do this brute force thing... [self selectText:self]; return [anEditor setSel:start :end]; } @end -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
Newsgroups: comp.sys.next.programmer From: sascha@anarch.do.open.de (Sascha Gresk) Subject: DBTableView 4 Palette shouldn't look like ScrollView !!! Message-ID: <1993Nov15.225943.6371@anarch.do.open.de> Keywords: Palette Sender: usenet@anarch.do.open.de Organization: LogikFabrik/WiLa Dortmund Date: Mon, 15 Nov 1993 22:59:43 GMT Hi there ! I have been writing a Palette which also should have a subclass of an DBTableView as an extra object. As you might know, you will get a scrollview into your palette-window (and as well a scrollview-inspector) if you try to do this. Can anybody think of a solution how to avoid this problem ? Thanks,
Newsgroups: comp.sys.next.programmer From: wave@media.mit.edu (Michael B. Johnson) Subject: 3DKit background rendering problem Message-ID: <1993Nov15.220807.17319@news.media.mit.edu> Followup-To: wave@media.mit.edu Sender: news@news.media.mit.edu (USENET News System) Organization: MIT Media Laboratory Date: Mon, 15 Nov 1993 22:08:07 GMT Hi folks. I had this problem this summer when I first started seriously playing with the 3DKit, and stuck in a stupid workaround. I now want to figure out if I'm the only one having this problem... Here's the problem: I implement N3DCamera delegate method camera:didRenderStream:tag:frameNumber:, but when it gets called, the NXStream is always empty. The only thing I can figure is that my /renderers stuff in NetInfo is messed up. I have *never* been able to get this to work, on any of my 3 NeXT machines, even using commercial packages. Does anybody have any bright ideas? -- --> Michael B. Johnson -- wave@media.mit.edu --> MIT Media Lab -- Computer Graphics & Animation Group --> 20 Ames St. E15-023G -- (617) 253-0663 (day office) --> Cambridge, MA 02139 -- (617) 547-0563 (night office)
Newsgroups: comp.sys.next.programmer From: mrothste@keiko.acs.calpoly.edu (Rothstein) Subject: Rotating an image in a View Message-ID: <1993Nov16.015646.169523@zeus.aix.calpoly.edu> Sender: news@zeus.calpoly.edu Organization: Cal Poly State University, San Luis Obispo Date: Tue, 16 Nov 1993 01:56:46 GMT I have a program that loads an image into a View (Actually an NXLiveVideoView). The images are often recorded in EPS LANDSCAPE and I would like to rotate them without having to go in and alter the code directly. I have tried all the seeming rotate methods in view and can't seem to get the image it self to rotate (just the coord system, axis etc). If anyone knows what I should do to rotate a the image in a view I would greatly appreciate the help. Thanks, -Mont NeXTmail OK :-) mrothste@data.acs.calpoly.edu
Newsgroups: comp.sys.next.programmer From: mrothste@keiko.acs.calpoly.edu (Rothstein) Subject: DPS ghosts Message-ID: <1993Nov16.020241.173310@zeus.aix.calpoly.edu> Sender: news@zeus.calpoly.edu Organization: Cal Poly State University, San Luis Obispo Date: Tue, 16 Nov 1993 02:02:41 GMT I recently took the scroll-dood-scroll example and altered it. I changed the orientation to be horizontal instead of verticle and made the objects hold icons istead of the text & image of the example. What I'm trying to achieve is a horizontally scrolling set of images as in the prefrences panel but that can be reaganged by control-dragging. I got everything to work except that if a drag to an area that was not on the screen originally I get ghosts until I drop. Try as I might I can't get rid of these. If anyone has any sugestions I would be very greatful. Thanks, -Mont NeXTmail OK :-) mrothste@data.acs.calpoly.edu
Newsgroups: comp.sys.next.programmer From: mgoedel@muaddib.isar.muc.de (Maximilian Goedel) Subject: Re: Reading Lotus Improv data from external program Message-ID: <CGJyM0.1qo@muaddib.isar.muc.de> Sender: mgoedel@muaddib.isar.muc.de (Maximilian Goedel) Organization: Michael Maximilian Goedel References: <1993Nov15.095739.249@dart.de> Distribution: all Date: Mon, 15 Nov 1993 21:34:48 GMT In article <1993Nov15.095739.249@dart.de> Atze (Alexander Spohr) writes: > In article <2c3697$q4s@cmcl2.NYU.EDU> dario@voluptas (Dario Ringach) writes: > > > > I'd like to use Lotus Improv as a source of data for > > *another* application running simulataneously. Does > > anyone know how I can read the contents of the current > > spreadsheet in Lotus Improv from another application? > > > > Thank you very much in advance. > > -- > > Dario > > Use the ImprovAPIToolkit.pkg. This will do in both directions! > Sorry, I don't remember where to get it. > > Atze > -- > Alexander Spohr, Hamburg, Germany > Alexander_Spohr@dART.de (Mail ) Faces and faces > (+49) 40 / 380 23-0 (Sound) See them and complain not > (+49) 40 / 380 23-290 (Fax ) And am content with all It can be found on the Walnut-Creek CD-ROM called NOVA -- Michael Maximilian Goedel _____________________ Internet: mgoedel@muaddib.isar.muc.de Adresse: Gerhardstrasse 33 - 81543 Muenchen Telefon: +49 89 65 29 18
Newsgroups: comp.sys.next.programmer From: mgoedel@muaddib.isar.muc.de (Maximilian Goedel) Subject: Re: Reading Lotus Improv data from external program Message-ID: <CGJz8v.1xE@muaddib.isar.muc.de> Sender: mgoedel@muaddib.isar.muc.de (Maximilian Goedel) Organization: Michael Maximilian Goedel References: <1993Nov15.095739.249@dart.de> Distribution: nymphe Date: Mon, 15 Nov 1993 21:48:31 GMT In article <1993Nov15.095739.249@dart.de> Atze (Alexander Spohr) writes: > In article <2c3697$q4s@cmcl2.NYU.EDU> dario@voluptas (Dario Ringach) writes: > > > > I'd like to use Lotus Improv as a source of data for > > *another* application running simulataneously. Does > > anyone know how I can read the contents of the current > > spreadsheet in Lotus Improv from another application? > > > > Thank you very much in advance. > > -- > > Dario > > Use the ImprovAPIToolkit.pkg. This will do in both directions! > Sorry, I don't remember where to get it. > > Atze > -- > Alexander Spohr, Hamburg, Germany > Alexander_Spohr@dART.de (Mail ) Faces and faces > (+49) 40 / 380 23-0 (Sound) See them and complain not > (+49) 40 / 380 23-290 (Fax ) And am content with all It can be found on the Walnut-Creek CD-ROM called NOVA -- Michael Maximilian Goedel _____________________ Internet: mgoedel@muaddib.isar.muc.de Adresse: Gerhardstrasse 33 - 81543 Muenchen Telefon: +49 89 65 29 18
Newsgroups: comp.sys.next.programmer From: pett@ucsf.edu (Eric Pettersen) Subject: PB sounds Message-ID: <CGKF72.Jpo@cgl.ucsf.edu> Sender: news@cgl.ucsf.edu (USENET News System) Organization: UCSF Computer Graphics Lab Date: Tue, 16 Nov 1993 03:33:00 GMT I found the sounds that ProjectBuilder now makes in 3.1 when a build succeeds / fails (rooster / breaking glass) annoying and turned them off. Was building something the other day and realized it would be nice to have some notification of build completion but didn't want to go back to the old sounds. So I nosed around the sounds I'd ftp'ed from sonata. So now when a build succeeds The Arnold announces: "No Problemo". And when a build fails... McCoy: He's dead Jim. Kirk: But's that's impossible! Anyone else changed their ProjectBuilder sounds? Eric Pettersen pett@cgl.ucsf.edu (NeXTmail okay)
Newsgroups: comp.sys.next.programmer From: avery@ccrma.Stanford.EDU (Avery Wang) Subject: Zones Message-ID: <1993Nov16.050732.25929@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: Stanford University Date: Tue, 16 Nov 93 05:07:32 GMT Where does memory from a destroyed zone go? I noticed through probing around with vm_stat and ps -u that if I create an NXZone and then allocate a large chunk of memory, use it, then destroy the zone, the memory does not reappear in the "pages free" count, according to vm_stat, and the process continues to be listed as having a large RSIZE. Thus it seems that memory flows into a process but does not flow out. It seems to me that the de-allocated pages should be returned to the OS, or am I wrong? I am getting very large swap files even though I destroy my large temporary zones conscientiously. The on-line docs don't tell what the relation is between VM, zones, processes, etc. Inquiring minds wanna know... .. anyone care to explain? Please email me since I don't check this group every day. Thanks, Avery Wang avery@ccrma.stanford.edu CCRMA (Center for Computer Research in Music and Acoustics) 660 Lomita Dr. Fax: +1 (415) 723-8468 Stanford, CA 94305 Tel: +1 (415) 364-5002
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Mosaic on NextStep? Message-ID: <1993Nov16.072231.7124@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Nov15.150105.19487@ornl.gov> Date: Tue, 16 Nov 1993 07:22:31 GMT In article <1993Nov15.150105.19487@ornl.gov> woo@ornl.gov (John W. Wooten) writes: >The neatest app for gopher, WWW, Wais, etc is now the NCSA Mosaic app. >Is anyone porting that to NextStep? It is in the public domain. No, parts are copyrighted by CERN. I believe they're continuing development for NEXTSTEP--otherwise there are several people willing to port X Mosaic 2.0 (minus the godawful Motif interface, I hope, I hope). -=EPS=-
From: med@D012S648.zfe.siemens.de (T.Hoellrich) Newsgroups: comp.sys.next.programmer Subject: Re: loop and sched files Date: 16 Nov 1993 09:54:14 GMT Organization: Siemens-Nixdorf Informationssystem AG Message-ID: <MED.93Nov16105414@D012S648.zfe.siemens.de> References: <1993Nov15.184248.8791@afs.com> In-reply-to: Greg_Anderson@afs.com's message of Mon, 15 Nov 1993 18:42:48 GMT Hi Greg! In article <1993Nov15.184248.8791@afs.com> Greg_Anderson@afs.com (Gregory H. Anderson) writes: >Does anyone know what 'loop' and 'sched' files are? All of a sudden they >started showing up in one of our projects after recompiling. For example, >if you have a file named WriteUp.m, you end up with two additional files >named WriteUp.m.loop and WriteUp.m.sched. It looks like some odd kind of >assembler language: [ some stuff deleted ] >Anyone know what these are and why they started appearing? Read the 'cc'-man-page. Somebody inserted CFLAGS to dump the compiler optimization. From the man-page: -dL Dump after loop optimization, to `file.loop'. -dt Dump after the second CSE pass (including the jump optimization that sometimes follows CSE), to `file.cse2'. -df Dump after flow analysis, to `file.flow'. -dc Dump after instruction combination, to `file.combine'. -dS Dump after the first instruction scheduling pass, to `file.sched'. Hope this helps Bye Tobias -- ____/| Tobias Hoellrich, Nietzschestr.26, 80807 Muenchen, Germany \ o.O| phone: +49-89-359 03 54 =(_)= email: med@d012s648.zfe.siemens.de U NeXTMail: tobias@nextix.muc.de
Newsgroups: comp.sys.next.programmer From: timbl@info.cern.ch (Tim Berners-Lee) Subject: Image in Text? Re: Mosaic on NextStep? Message-ID: <1993Nov16.093642.22075@dxcern.cern.ch> Sender: news@dxcern.cern.ch (USENET News System) Organization: CERN European Lab for Particle Physics References: <1993Nov16.072231.7124@csus.edu> Date: Tue, 16 Nov 1993 09:36:42 GMT > In article <1993Nov15.150105.19487@ornl.gov> woo@ornl.gov > (John W. Wooten) writes: > >The neatest app for gopher, WWW, Wais, etc is now the NCSA Mosaic app. > >Is anyone porting that to NextStep? It is in the public domain. No, Mosaic isn't. It is freely distributed to academic institutes. That is different. It is (c)NCSA. In article <1993Nov16.072231.7124@csus.edu> eps@futon.SFSU.EDU (Eric P. Scott) writes: > No, parts are copyrighted by CERN. Wrong again... Mosaic is based on a version of the CERN WWW library. The CERN WWW library IS in the public domain. > I believe they're continuing > development for NEXTSTEP--otherwise there are several people > willing to port X Mosaic 2.0 (minus the godawful Motif interface, > I hope, I hope). I am working in spare moments on reviving the NeXTStep WorldWideWeb application. It now uses the latest library from CERN. The big plus is that it is a hypertext editor, and so allows you create your own hypertext in a wysiwyg way. It now handles nested lists, etc.. Right now I am just putting images in... I have been out of the NeXTStep scene a little, so a bit of help would be useful. In particular, tell me how to put in an arbitrary image. The doc on the Text class says that replaceSelWithCell: is implemented but not replaceSelWithView:. That means I have to put a Cell in -- but how does one put an arbitrary image (loaded for example from a stream) into a Cell? There seem to be options only for creating Cells with named icons or text in them. This must all be possible with off the shelf objects. Pointers to examples which include graphics? Please mail me incase I don't get around to checking this group. Tim Berners-Lee CERN
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: Driverkit Examples ? Message-ID: <1993Nov16.085449.232@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <2c81rd$35v@samba.oit.unc.edu> Date: Tue, 16 Nov 93 08:54:49 GMT In article <2c81rd$35v@samba.oit.unc.edu> Joerg.Vogler@launchpad.unc.edu (Joerg Vogler) writes: > > Hi folks, > > I wonder if anyone out there has experience with the new Driver Kit > provided with NS 3.1. I'm especially interestet in CDROM drivers or > at least a floppy or harddisk driver for a non SCSI device using the > Disk class. I'm going to develop a driver for the Mitsumi CDROM > that comes with Gateway PC's. I found a driver for this device for > BSD 386 UNIX. How different is the driver concept for NS from BSD > UNIX ? > Very! Wait for 3.2. There will be sources with it. (ATI, ET4000, Tape ...) Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not (+49) 40 / 380 23-290 (Fax ) And am content with all
From: hal@alfred.econ.lsa.umich.edu (Hal Varian) Newsgroups: comp.sys.next.programmer Subject: Re: Mosaic on NextStep? Date: 16 Nov 1993 13:14:06 GMT Organization: University of Michigan Message-ID: <2cajmu$dki@controversy.math.lsa.umich.edu> References: <1993Nov15.150105.19487@ornl.gov> <1993Nov16.072231.7124@csus.edu> In article <1993Nov16.072231.7124@csus.edu> eps@cs.sfsu.edu writes: > >... there are several people >willing to port X Mosaic 2.0 (minus the godawful Motif interface, >I hope, I hope). I uploaded Mosaic 2.0 (for X) to cs.orst.edu and ftp.ncsa.uiuc.edu. The NCSA source compiles with only minor changes. -- Hal.Varian@umich.edu Hal Varian voice: 313-764-2364 Dept of Economics fax: 313-764-2364 Univ of Michigan Ann Arbor, MI 48109-1220
From: joggl@neuro.tuwien.ac.at (Joachim Kainz) Newsgroups: comp.sys.next.programmer Subject: Question I: IXRecordManager Date: 16 Nov 1993 15:43:24 GMT Organization: Technical University Vienna, Austria Message-ID: <2cases$mnj@email.tuwien.ac.at> Playing around with the Indexing-Kit I want to store the following: @interface Personality:Object <IXRecordTranscription> { char *firstName, *surName; unsigned char sex; // .... } I would like to have a attribute "Name" which defines a keyspace ordered by surName AND firstName. How can I do that? Greetings from Vienna! Joachim. -- Phone: ++43-1-58801-4132 Fax: ++43-1-504-15 Email: Joachim.Kainz@neuro.tuwien.ac.at BTW: To avoid the questions I received after my last posting: 1) No, Vienna is not a part of NY, but a city in Austria/Europe. 2) No, there are no kangaroos in Austria.
From: joggl@neuro.tuwien.ac.at (Joachim Kainz) Newsgroups: comp.sys.next.programmer Subject: Question II: Memory Allocation Date: 16 Nov 1993 16:11:56 GMT Organization: Technical University Vienna, Austria Message-ID: <2cau4c$nua@email.tuwien.ac.at> Suppose I have a class like @interface Personality:Object <IXRecordTranscription> { char *name; // ... } - (const char*) surName; - (const char*) firstName; @end 'name' contains values in the "Surname,Firstname"-format. (Eg: "Kainz,Joachim"). What is the most elegant way to implement -surName if surName should return "Kainz" when name holds "Kainz,Joachim"? -- Phone: ++43-1-58801-4132 Fax: ++43-1-504-15 Email: Joachim.Kainz@neuro.tuwien.ac.at
From: cc100aa@xray.oit.gatech.edu (Ray Spalding) Newsgroups: comp.sys.next.programmer Subject: Re: Putting cursor in TextField Date: 16 Nov 1993 16:26:06 GMT Organization: Georgia Institute of Technology Message-ID: <2cauuu$jam@news.gatech.edu> References: <2c8gef$cfr@transfer.stratus.com> <1993Nov15.205144.20058@gleap.sccsi.com> In article <1993Nov15.205144.20058@gleap.sccsi.com> clloyd@gleap.sccsi.com writes: >charlie@snowflake.az.stratus.com writes >>Is there a way to get the cursor to appear in a TextField or at the end of >>the text already in a TextField without selecting the entire contents? >[...] However, I had hoped that [aWindow makeFirstResponder:self] >would make the cursor display in the TextField in question, but it >didn't. Generally speaking, Controls (of which TextField is of course a subclass) can't be the first responder, since they don't implement the keyDown: method. When editing a TextField, the Window's field editor (a Text object) is the first responder. >To get a solution, I used the brute force approach of >selecting all the text (-selectText:) and then setting the selection >to the end. If someone can make this more elegant/efficient, I'd >appreciate it! [...] Here's my entry. I make the Window the first responder (temporarily, until select:... changes it to the editor) in order to ensure that any editing that may currently be in progress agrees to give up. (See the reference for Window's endEditingFor: method.) @implementation TextField (TextSelection) - setSel:(int)start :(int)end { id editor; if ([window makeFirstResponder:window]) { [window endEditingFor:nil]; editor = [window getFieldEditor:YES for:self]; [cell select:&bounds inView:self editor:editor delegate:self start:start length:end - start]; } return self; } -- Ray Spalding, Office of Information Technology Georgia Institute of Technology, Atlanta Georgia, 30332-0715 Internet: ray.spalding@oit.gatech.edu (NeXT Mail accepted)
From: ssircar@canon.com (Subrata Sircar) Newsgroups: comp.sys.next.bugs,comp.sys.next.programmer Subject: ProjectBuilder bug [#50523] (Correction) Date: 16 Nov 1993 10:41:31 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9311161639.AA03637@alychne-nc.canon.com> I previously reported: ***** Under 3.0, 3.1E (Motorola) and 3.1J (Intel) Project Builder has a serious bug. 1. Create a new project and go to the Attributes view. 2. Change the install directory (to an absolute pathname, say). 3. Save the file and close the window. 4. Open the file and go the Attributes window - the old install path is still there! The only obvious option was to edit the Makefile and PB.project by hand. ***** This behavior depends on the 3.0/3.1 AutoSave setting; if the AutoSave preference is set, this bug can be seen. If the AutoSave preference is off, then the bug does not occur. --- Subrata Sircar|ssircar@canon.com (NextMail ok)|Prophet & SPAMIT Charter Member Canon Information Systems and I do not share the same views on everything. "I'm just mad that I missed the sexual revolution." - me "Yes, but you dress much better as a result." - Mike
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: PB sounds Message-ID: <1993Nov16.144325.294@afs.com> Sender: Michael_Pizolato@afs.com References: <CGKF72.Jpo@cgl.ucsf.edu> Date: Tue, 16 Nov 1993 14:43:25 GMT Eric Pettersen writes >I found the sounds that ProjectBuilder now makes in 3.1 when a >build succeeds / fails (rooster / breaking glass) annoying and >turned them off. Was building something the other day and realized >it would be nice to have some notification of build completion >but didn't want to go back to the old sounds. So I nosed around >the sounds I'd ftp'ed from sonata. So now when a build succeeds >The Arnold announces: "No Problemo". And when a build fails... > > McCoy: He's dead Jim. > Kirk: But's that's impossible! > >Anyone else changed their ProjectBuilder sounds? I have a bunch of Looney Toones sounds, and a lot from the new Warner Bros. show "Animaniacs" (weekdays at 4pm EST on Fox - if you haven't seen it yet, set your VCR to tape it for you, it's amazing!). I use some of those, and I change them around once in a while to keep it interesting. My current selections both feature Brain from "Pinky and the Brain" on Animaniacs: Success: Behold my latest creation, Pinky! Failure: We failed again, Pinky. Thanx, Michael -- Michael_Pizolato@afs.com NeXTMail accepted
From: luomat@alleg.edu (Timothy J. Luoma) Newsgroups: comp.sys.next.programmer Subject: Re: PB sounds Date: 16 Nov 1993 16:56:50 GMT Organization: Allegheny College Distribution: world Message-ID: <2cb0oi$b4@ftp.alleg.edu> References: <1993Nov16.144325.294@afs.com> I could suggest a failure .snd (not to be a downer :-) HAL from 2001: "Just what do you think you're doing, Dave?" I edited out the 'Dave' and had it for my system beep for awhile, but found it a little too spooky (if you've seen the movie you'll probably know why) I had weird thoughts of my NeXT deciding to send nasty email to my Professors, sys admin, the president..... I find 'Ping' much less disconcerting... -- Timothy J. Luoma Email: luomat@alleg.edu NeXT Mail Welcomed Home: Hudson, MA Current: Allegheny College, Meadville PA
Newsgroups: comp.sys.next.programmer From: gary@uaneuro.uah.ualberta.ca (Gary Ritchie) Subject: Commercial Text objects Message-ID: <1993Nov16.180143.20034@kakwa.ucs.ualberta.ca> Sender: news@kakwa.ucs.ualberta.ca Organization: University Of Alberta, Edmonton Canada Date: Tue, 16 Nov 1993 18:01:43 GMT Help, we need a *real* text object. Who wants to sell us one? -- Gary Ritchie : NeXT Programmer Department of Medicine (Neurology) : University of Alberta Hospital gary@uaneuro.uah.ualberta.ca : NEXTMAIL Welcome (403) 492-8648
Newsgroups: comp.sys.next.programmer From: Greg_Anderson@afs.com (Gregory H. Anderson) Subject: Re: loop and sched files Message-ID: <1993Nov16.163516.9395@afs.com> Sender: greg@afs.com References: <1993Nov15.184248.8791@afs.com> Date: Tue, 16 Nov 1993 16:35:16 GMT In article <1993Nov15.184248.8791@afs.com> Greg_Anderson@afs.com (Gregory H. Anderson) writes: > Does anyone know what 'loop' and 'sched' files are? All of a sudden > they started showing up in one of our projects after recompiling. Thanks to everyone that responded. The answer is that '-d' is a compiler flag that generates intermediate-stage output files in Register Transfer Language (RTL), a lisp-like language that gcc uses internally while the compiler is working. The 'loop' file dumps the state of things at time of loop optimization, the 'sched' file dumps the state of things at time of instruction scheduling. This happened because we added what we intended to be a debug flag to the CFLAGS variable in Makefile.preamble. We typed "-dALPHA_RELEASE" instead of "-DALPHA_RELEASE", and the compiler picked up all flags it recognized in the trailing string. So if you notice weird files showing up in your projects, this is the reason. -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
Newsgroups: comp.sys.next.programmer From: hbergh@nl.oracle.com (Herbert vd Bergh) Subject: Re: Question about databases and triggers Message-ID: <CGLII4.Lou@nl.oracle.com> Sender: news@nl.oracle.com Organization: Oracle Europe References: <1993Nov12.074004.487@rna.indiv.nluug.nl> Date: Tue, 16 Nov 1993 17:42:03 GMT In article <1993Nov12.074004.487@rna.indiv.nluug.nl> gerben@rna.indiv.nluug.nl writes: : Suppose I make a NEXTSTEP application (with dbKit) that accesses : a database. Many databases nowadays handle triggers. : : What I'd like, though, is a way to make such a trigger activate : a UI object. For instance, some field changes value -> trigger : -> a textfield in the GUI is updated automatically. : : Can that be done with any database nowadays under NS? What about : Sybase or ORACLE? Oracle for NeXTSTEP is still at version 6, which doesn't support triggers. With the DBKit you're not limited to accessing Oracle databases on your local machine however. So you can connect to an Oracle7 Server via tcp. That doesn't seem to be very useful if you want to change local UI objects based on remote data changes, but with some careful programming you should be able to achieve it. Try creating a trigger that unlocks a certain resource when a row is updated. Then you can block on that lock from a program running on the NeXT connected to the remote database. As soon as the trigger releases the lock the modified status can be obtained. Note that I haven't tried any of this, it's just an idea. Herbert van den Bergh Oracle Europe hbergh@nl.oracle.com
From: npratt@glacier.sim.es.com (Nevin Pratt) Newsgroups: comp.sys.next.programmer Subject: Re: First Responder ... HELP Date: 16 Nov 1993 19:18:48 GMT Organization: E&S Distribution: world Message-ID: <2cb92o$1ed@cnn.sim.es.com> References: <1993Nov12.144531.2746@CAM.ORG!planon> In article 2746@CAM.ORG!planon, laurent@planon.qc.ca (Laurent Daudelin) writes: > | > I've written the following code to accomplish this, but they don't work: > | > > | > [myPanel makeFirstResponder:theTextfield]; > | > > | > Does anyone know what's wrong? > | [theTextfield selectText:""]; > | > | Nevin > > [theTextfield selectText:self]; > Laurent hu..mmmm... I knew that... Which goes to show, a person should be careful with off-the- cuff, quick answers that are given without thinking. :-) Thanks Laurent Nevin
Newsgroups: comp.sys.next.programmer From: ph@pencom.com (Patrick Hester) Subject: Re: PB sounds Message-ID: <1993Nov16.191118.18220@pencom.com> Sender: usenet@pencom.com (News system) Organization: Pencom Systems Incorporated References: <CGKF72.Jpo@cgl.ucsf.edu> Distribution: usa Date: Tue, 16 Nov 1993 19:11:18 GMT In article <CGKF72.Jpo@cgl.ucsf.edu> pett@ucsf.edu (Eric Pettersen) writes: > > Anyone else changed their ProjectBuilder sounds? Failure: (Bill-n-Ted) Bogus. Success: (Bill-n-Ted) EXCELLENT! Failure: (Earl) Nice try Success: (Butthead) You got it dude! -- Patrick Hester ph@pencom.com 212-513-7777 NeXT Mail OK =8(\/\) -<-@ King of all Soundbytes
From: rseguine@buckeye.mitre.org (Roy SeGuine) Newsgroups: mitre.internet.nidr,comp.sys.next.misc,comp.sys.next.programmer Subject: Re: xmosaic Compiled for NeXT? Date: 16 Nov 1993 18:38:31 GMT Organization: The MITRE Corporation Message-ID: <2cb6n7$pvk@linus.mitre.org> References: <2cb1ir$mug@linus.mitre.org> In article <2cb1ir$mug@linus.mitre.org> jthomas@mitre.org (Joe Thomas) writes: > Has anybody built (or found pre-built binaries of) xmosaic for the NeXT? > I've been using the 1.2 version on mwunix for a while, and now the 2.0 copy > is installed, but the connect time charges on mwunix are outrageous. For my > netting inside the firewall I thought it would make sense to use a copy on my > local machine. > > I don't think I'm up to building it myself, though. For one thing, I don't > have a Motif development environment... > > Any help would be greatly appreciated. > > Thanks, > Joe We thought we almost had it "made" until it choked on... /NextDeveloper/Headers/X11/Xos.h:103: header file 'unistd.h' not found *** Exit 1 Stop. *** Exit 1 Stop. A global find reveals that this header file does not exist in any of the libraries that came with NeXTSTEP 3.0 or co-Xist. I'll post to one of the NeXT groups to see if someone can help. Anyone? --- Roy SeGuine Cyberspace Architect rseguine@buckeye.mitre.org
Newsgroups: comp.sys.next.programmer From: joe@FreemanSoft.com (Joe Freeman) Subject: addSupplement: inPath: from a bundle Message-ID: <1993Nov16.204923.3045@FreemanSoft.com> Sender: jfreeman@FreemanSoft.com Organization: FreemanSoft Inc. Distribution: usa Date: Tue, 16 Nov 1993 20:49:23 GMT Could someone please give me a pointer on the following: I want to be attach some HELP information that is part of a bundle. I have tried the [[NXHelpPanel new] addSupplement: inPath:] type of message to no avail. Under 3.1 the help in the bundle has been compressed by project builder using the compresshelp command. So, I don't know what information to pass to the NXHelpPanel instance to get theis Help.store file loaded. Can anyone tell me how they have gotten supplemental help loaded from a bundle under 3.1? -- Joe Freeman FreemanSoft Inc. A NEXTSTEP software and consulting services company. Electronic Mail: Joe@FreemanSoft.com (NeXT Mail) Voice: 919.783.7033
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Re: Mosaic on NextStep? Date: 16 Nov 1993 14:33:20 -0000 Organization: me organized? That's a joke! Message-ID: <2caobg$1jr@steffi.demon.co.uk> References: <1993Nov15.150105.19487@ornl.gov> <1993Nov16.072231.7124@csus.edu> <2cajmu$dki@controversy.math.lsa.umich.edu> hal@alfred.econ.lsa.umich.edu (Hal Varian) wrote >I uploaded Mosaic 2.0 (for X) to cs.orst.edu and ftp.ncsa.uiuc.edu. >The NCSA source compiles with only minor changes. Yes and as I explained to Hal earlier I get a run time error running this with CoXist 3.0.1 with NeXSTSTEP 3.1. Please let us know if you get the same. Cheers.
From: emo@mitre.org (E. Michael O'Neill) Newsgroups: comp.sys.next.programmer Subject: Re: Question about databases and triggers Date: 16 Nov 1993 18:53:02 GMT Organization: The MITRE Corporation Message-ID: <2cb7ie$qha@linus.mitre.org> References: <1993Nov14.121256.735@gamelan> Thomas Funke writes > In article <1993Nov12.074004.487@rna.indiv.nluug.nl> > gerben@rna.indiv.nluug.nl writes: > > Suppose I make a NEXTSTEP application (with dbKit) that accesses > > a database. Many databases nowadays handle triggers. > > > > What I'd like, though, is a way to make such a trigger activate > > a UI object. For instance, some field changes value -> trigger > > -> a textfield in the GUI is updated automatically. > > > > Can that be done with any database nowadays under NS? What about > > Sybase or ORACLE? > > What you want is running a user supplied function from a trigger. As far > I know about Sybase, this is only possible by buying some extra > $$$-product. Sybase for NeXT does not handle things like this. > Anyway, combining this with NeXTSTEP would not be trivial I guess. A > future solution might be running sybase on HP and using portable > distributed objects .... > We encountered this problem in implementing a specialized multiuser tool. Our solution is, as the above proposes, to use distributed objects. We have established a protocol which requires any dbclient that updates or creates db records to update two unique fields called "lastupdater" and "lastupdatetime" in a shared table. These fields are periodically queried by a distributed object server (called sybiff :) ) When sybiff encounters a new "lastupdatetime" it notifies all clients who have registered with it. In our system this registration takes place automatically after the sybase client login is accepted. Determination of what has changed and what if any its effects may be is left up to the client. In our system the user may be select what type of update action is to be taken, the choices are: ignore, flag, notify, and force update. Obviously a method like this has some drawbacks and is NOT suitable for systems which must maintain absoltute transaction integrity, but for our purposes it seems adequate. (Let's hope the NS 4.0 object system will take care of all of this for us!) -- * * MIKE * (E. Michael O'Neill) <emo@mitre.org> * CENTER FOR ADVANCED AVIATION SYSTEM DEVELOPMENT * Operated for the Federal Aviation Administration by: * The MITRE Corp., MCLEAN VA, Tel (703)883-7528 (FAX -6308)
From: Airborne Newsgroups: comp.sys.next.programmer,comp.sys.next.misc Subject: Tetris-3.0 Date: 16 Nov 1993 21:09:37 GMT Organization: Allegheny College Message-ID: <2cbfih$3gi@ftp.alleg.edu> Ever since I posted about improvements I made to Tetris I have been recieving a lot of mail from people requesting a copy of the game to try out. I currently am working on getting the game into a FAT binary to send to these people and anyone else who is still interested. I didn't expect the response I got, but I am stiil taking all requests, although it will take me a day or so to get the binary ready. Have patience and I'll get the game out to those people who mailed me asap. Thanks for all the support!!! -- <<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "Virtue is like a rich stone, best plain set." - Francis Bacon "Yesterday, all my troubles seemed so far away, Now it looks as though they're here to stay, oh I believe, in yesterday..." - (you know who) <<<< Jeremy Bussard <-> Airborne <-> bussarj@alleg.EDU >>>>
From: Michael_Pizolato@afs.com (Michael Pizolato) Newsgroups: comp.sys.next.programmer Subject: Setting target to FirstResponder in code Message-ID: <1993Nov16.203123.652@afs.com> Date: 16 Nov 93 20:31:23 GMT Sender: Michael_Pizolato@afs.com In IB it is possible to make the target of a control or cell be "FirstResponder," which is not a real object but an abstract representation of the responder chain. I have a need to make the target of a control be FirstResponder not in IB but in code, so that after setting it up action messages from the control will go up the responder chain just as if I had connected the control to FirstResponder in IB. Anybody know what the magic incantations are to do this? Thanx, Michael -- Michael_Pizolato@afs.com "Schopenhauer's not as optimistic as Nietzsche, NeXTMail accepted but he makes up for it by being less cheerful than Kierkegaard." - Kim Pizolato
Newsgroups: comp.sys.next.programmer From: raul@pencom.com (Raul Alvarez) Subject: Re: How do I redefine library functions? Message-ID: <1993Nov16.215936.18498@pencom.com> Sender: usenet@pencom.com (News system) Organization: Pencom Systems Incorporated References: <1993Nov12.032404.26974@icaen.uiowa.edu> Date: Tue, 16 Nov 1993 21:59:36 GMT In article <1993Nov12.032404.26974@icaen.uiowa.edu> dsiebert@icaen.uiowa.edu (Doug Siebert) writes: > > I'm not sure if this is a NeXT problem, a GCC problem, a GNU linker problem or > what, but I tried it using GCC on an HP 700 series machine running HP-UX and > it worked as expected, so I assume this is NeXT specific. > > > % cat > test.c > int printf(const char *format, ...) > { > return(0); > } > > main() > { > } > ^D > % cc test.c > /bin/ld: multiple definitions of symbol _printf > x.o definition of _printf in section (__TEXT,__text) > /lib/libsys_s.a(printf.o) definition of absolute _printf (value 0x5002ce4) > % > > > So why can't I replace the libc's printf with my own? How do I do it? And if > I can't I'm really really really annoyed at NeXT and want to know why! Thanks! This is correct behavior on account of ld on the NeXT. I'm surprised you didn't ask yourself why the HP didn't give you the same error, because it is an error to do this in C It's perfectly legitimate to want to overload a function like printf. C does not give you direct support of this. C++ does give you direct support. You may try compiling your program like this: cc -ObjC++ test.c to use the Objective C++ compiler instead of the standard C compiler. C++ will mangle the printf function so that linkage is safe. If you ever need to use the system printf, you will have to call it like this ::printf(...) I hope this obfuscates the subject. -- Raul Alvarez raul@pencom.com 212-513-7777 NeXT Mail is encouraged Remember: If you're not the lead dog, the view never changes.
From: andrew@cubetech.com (Andrew Loewenstern) Newsgroups: comp.sys.next.programmer Subject: Re: Question I: IXRecordManager Date: 16 Nov 1993 17:36:00 -0600 Organization: Cube Technologies, Inc Message-ID: <2cbo50$d9b@valinor.cubetech.com> References: <2cases$mnj@email.tuwien.ac.at> In article <2cases$mnj@email.tuwien.ac.at> Joachim.Kainz@neuro.tuwien.ac.at writes: > >Playing around with the Indexing-Kit I want to store the following: > >@interface Personality:Object <IXRecordTranscription> >{ > char *firstName, > *surName; > unsigned char sex; > // .... >} > >I would like to have a attribute "Name" which defines a keyspace ordered >by surName AND firstName. How can I do that? IXKit builds attribute indexes based upon the return value of an object's method as it is placed into the store. So your object would probably implement a method "- (const char *)name" which would return the full name and you would send [myRecordManager addAttributeNamed:"Name" forSelector:@selector("name")]; to the appropriate IXRecordManager... andrew -- andrew@cubetech.com | "We cannot dwell in the time that is to come, Andrew Loewenstern | lest we lose our now for a phantom of our Cube Technologies, Inc. | own design." - Erendis e-me for my public key
From: klund@haas.berkeley.edu (Kyle Lundstedt) Newsgroups: comp.sys.next.programmer Subject: Graphical debuggers? Date: 17 Nov 1993 00:21:39 GMT Organization: University of California, Berkeley Distribution: USA Message-ID: <2cbqqj$kti@agate.berkeley.edu> Keywords: debugger,graphical Hello, I and several other novice programmers would like to hear from the Net regarding graphical debuggers. I know of three: BUGBYTE ONyX Systems, Inc. Graphical GNU gdb debugger Price: $159 Availability: Motorola now, Intel now 817-432-9107 817-731-0157 fax info@onyx.com FX MULTI-LANGUAGE DEBUGGER Absoft Corp. Source-level debugger for C/FORTRAN/Assembly Price: $750 Availability: Motorola now, Intel call 313-853-0050 313-853-0108 fax fortran@absoft.com SUPERDEBUGGER Impact Software Publishing, Inc. Source code debugging environment Price: $199 Availability: Motorola now, Intel now 1-800-822-3385 718-472-0600 718-472-0160 fax info@impact.com If one of these, or some other I don't know about, is easy to use and not too expensive, I would appreciate recommendations. If people email responses, I will summarize. Thank you, Kyle Lundstedt Haas School of Business, UC Berkeley klund@haas.berkeley.edu
From: peer@ccrma.stanford.edu (Peer Landa) Newsgroups: comp.sys.next.programmer Subject: .logout file question.. Message-ID: <1993Nov17.003709.29280@leland.Stanford.EDU> Date: 17 Nov 93 00:37:09 GMT Sender: news@leland.Stanford.EDU (Mr News) Organization: Stanford University I've noticed that the .logout file only works from the terminal, i.e while quitting shell by typing "logout". Is there a way to activate this dot-file (or any other file for that matter) while really logging out, i.e from the fileviewer? -- peer
Newsgroups: comp.sys.next.programmer From: cordero@bronze.ucs.indiana.edu ( Manuel Cordero ) Subject: NEXTSTEP Developer positions Message-ID: <CGM5sr.89I@usenet.ucs.indiana.edu> Keywords: immediate Sender: news@usenet.ucs.indiana.edu (USENET News System) Organization: Indiana University, Bloomington IN Distribution: usa Date: Wed, 17 Nov 1993 02:05:15 GMT **************** DO NOT REPLY DIRECTLY TO THIS ACCOUNT. ****************** ************ REPLIES TO THIS ACCOUNT **WILL** BE DISCARDED. ************** NEXTSTEP application specialists and technical writers needed for Quartz, a communications, computing, and consulting firm based in Chicago, maintaining national accounts with Fortune 500 companies. You will develop mission critical and database apps for financial trading, medical, imaging, and multimedia sectors of industry. Full-time and part-time employment, consultancies, and contract positions for on-site, off-site, and telecommuted links, immediately available. Must have some experience with some of the following: - Objective C - AppKit - Interface Builder - Database Interfaces such as with DBKit, Sybase, Oracle, etc. - Object Oriented Design We ask that with your resume, you provide us: - Summary of past work - Salary history - Past employers and/or clients as references Such information will be held in the strictest confidence. Please identify your availablity as to: - NEXTSTEP Experience: Exposed, Experienced, Expert - Work Basis: Consultancy, Contract, Employment - Availabilty: Full-time, Part-time, Weekends - Renumeration: Salary, Hourly, Fixed Fee - Terminal Locale: Off-site, Tele-commute, On-site - Geography: Please specify limitations as to travel and residency. Send the required information in utmost confidence via US Mail: Quartz 454 Belden Chicago, IL 60614 Paper or diskette versions accepted; Applications will not be returned. Guaranteed response within ten days of mail reciept. NO PHONE CALLS OR HAND DELIVERIES PLEASE. **************** DO NOT REPLY DIRECTLY TO THIS ACCOUNT. ****************** ************ REPLIES TO THIS ACCOUNT **WILL** BE DISCARDED. **************
From: gad@eclipse.its.rpi.edu (Garance A. Drosehn) Newsgroups: comp.sys.next.programmer Subject: Questions on programming of Distributed Objects and C-Threads Date: 17 Nov 1993 02:32:47 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Distribution: world Message-ID: <2cc2gm$pug@usenet.rpi.edu> The following questions come from Paul Carrig <9035656@ul.ie>. He can't post to usenet right now, so I'm posting this for him. Replies can either be made as followups to this article, or in messages to his email address. - Garance real questions from Paul: I am a final year computer systems undergrad at the Uni. of Limerick Ireland. At present I am looking into doing a final year project on a NeXT platform. As a result I have a few questions regarding distributed objects and threads. i. do you know of any "good" books on using distributed objects ii. can the c-thread functions as described in the NeXT systems software documentation be called directly in objective-c. If so do you know of any literature describing the correct conventions to use. I've had no problem with threads in C as of yet, but am unable to implement the functions in Objective-C. Thanks for your time, Regards, Paul Carrig.
Newsgroups: comp.sys.next.programmer From: gwagstaf@kiwi.csil.sfu.ca (George William Wagstaff) Subject: Amiga 8SVX sound files Message-ID: <1993Nov17.023249.10372@sfu.ca> Sender: news@sfu.ca Organization: Simon Fraser University, Burnaby, B.C., Canada Date: Wed, 17 Nov 1993 02:32:49 GMT Does anyone know of a utility to allow use of Amiga 8SVX format sound files on the NeXT? I need to get a couple of these into a format that I can use. THX
From: tjhendry@mcs.drexel.edu (Jonathan Hendry) Newsgroups: comp.sys.next.programmer Subject: Re: PB sounds Message-ID: <1993Nov17.043308.2622@netnews.noc.drexel.edu> Date: 17 Nov 93 04:33:08 GMT References: <CGKF72.Jpo@cgl.ucsf.edu> <1993Nov16.144325.294@afs.com> Sender: news@netnews.noc.drexel.edu Organization: Drexel University, Dept. of Math. and Comp. Sci. Michael Pizolato (Michael_Pizolato@afs.com) wrote: : Eric Pettersen writes : >The Arnold announces: "No Problemo". And when a build fails... : > : > McCoy: He's dead Jim. : > Kirk: But's that's impossible! : Success: Behold my latest creation, Pinky! : Failure: We failed again, Pinky. Success: Wile E. Coyote: "Well well, the boy has talent!" Failure: Ren Hoek: "You Eeeeediot!" -- Jonathan W. Hendry Inexpensive NeXTSTEP Consulting tjhendry@mcs.drexel.edu For Your "Not-So-Mission-Critcal" Apps
From: bublitz@mdd.comm.mot.com (Martin Bublitz) Newsgroups: comp.sys.next.programmer,comp.sys.next.software Subject: Voice recognition Help Wanted Date: 17 Nov 1993 06:27:03 GMT Organization: Motorola - Wireless Data Group; Richmond, BC Distribution: na Message-ID: <2ccg7n$d26@mmddvan.mdd.comm.mot.com> I'm doing a project in voice recognition and I'm wondering if anyone has/knows of routines to do FFT or other transformations on samples of voice in order to create the templates as well as compare the incoming samples to these templates. Any help would be appreciated. Thanks. Martin Bublitz bublitz@sfu.ca
Newsgroups: comp.sys.next.programmer From: jmack@skye.phys.ualberta.ca Subject: Re: xmosaic Compiled for NeXT? Message-ID: <1993Nov17.072253.16090@kakwa.ucs.ualberta.ca> Keywords: X11 Sender: news@kakwa.ucs.ualberta.ca Organization: University Of Alberta, Edmonton Canada References: <2cb6n7$pvk@linus.mitre.org> Date: Wed, 17 Nov 1993 07:22:53 GMT In article <2cb6n7$pvk@linus.mitre.org> rseguine@buckeye.mitre.org (Roy SeGuine) writes: > In article <2cb1ir$mug@linus.mitre.org> jthomas@mitre.org (Joe Thomas) writes: > > Has anybody built (or found pre-built binaries of) xmosaic for the NeXT? .. > We thought we almost had it "made" until it choked on... > /NextDeveloper/Headers/X11/Xos.h:103: header file 'unistd.h' not found > *** Exit 1 > Stop. > *** Exit 1 > Stop. > A global find reveals that this header file does not exist in any of the > libraries that came with NeXTSTEP 3.0 or co-Xist. I'll post to one of the .. Wouldn't expect it to be found on a NeXT. Note that 'Xos.h' brings in 'unistd.h' IFF there is a def for a USG machine: (at least in my version of Xos.h : * $XConsortium: Xos.h,v 1.24 89/12/18 16:14:23 rws Exp $) .. * The list of systems that currently needs System V stings includes: * * hpux * macII * CRAY * stellar * USG * * all of which happen to define SYSV as well. .. /* * Get open(2) constants */ #ifdef SYSV #ifndef macII #include <fcntl.h> #endif #endif /* SYSV */ #include <sys/file.h> #ifdef USG #include <unistd.h> #endif .. So try ensuring that the Makefile does not define USG, i.e. check the flags for your machine's architecture.
Newsgroups: comp.sys.next.programmer From: jjfeiler@relief.com (John Jay Feiler) Subject: Re: PB sounds Message-ID: <CGMMCI.7v2@relief.com> Sender: jjfeiler@relief.com (John Jay Feiler) Organization: Relief Consulting & Development References: <CGKF72.Jpo@cgl.ucsf.edu> Date: Wed, 17 Nov 1993 08:02:42 GMT In article <CGKF72.Jpo@cgl.ucsf.edu> pett@ucsf.edu (Eric Pettersen) writes: > I found the sounds that ProjectBuilder now makes in 3.1 when a build > succeeds / fails (rooster / breaking glass) annoying and turned them off. Was > building something the other day and realized it would be nice to have some > notification of build completion but didn't want to go back to the old sounds. > So I nosed around the sounds I'd ftp'ed from sonata. So now when a build > succeeds The Arnold announces: "No Problemo". And when a build fails... > > McCoy: He's dead Jim. > Kirk: But's that's impossible! > > Anyone else changed their ProjectBuilder sounds? > > Eric Pettersen > pett@cgl.ucsf.edu (NeXTmail okay) I did this before they added the success/failure sounds to PB, by putting a wrapper around make. THe sounds I use are my own voice recorded saying the following: Success: "All Right!!!" Failure: "Aw, Damn!!!" -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!! Edmonds, WA 98026-4433 Independent NeXTSTEP Developer -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!!
From: mrb@earth.wustl.edu (Mike Bray) Newsgroups: comp.sys.next.programmer Subject: Re: Question about databases and triggers Date: 17 Nov 1993 09:24:41 GMT Organization: Washington University, St. Louis MO Message-ID: <2ccqkp$pum@wuecl.wustl.edu> References: <1993Nov12.074004.487@rna.indiv.nluug.nl> <CGLII4.Lou@nl.oracle.com> Cc: In article <CGLII4.Lou@nl.oracle.com>, Herbert vd Bergh <hbergh@nl.oracle.com> wrote: >In article <1993Nov12.074004.487@rna.indiv.nluug.nl> >gerben@rna.indiv.nluug.nl writes: >: Suppose I make a NEXTSTEP application (with dbKit) that accesses >: a database. Many databases nowadays handle triggers. >: >: What I'd like, though, is a way to make such a trigger activate >: a UI object. For instance, some field changes value -> trigger >: -> a textfield in the GUI is updated automatically. >: Can't help with an asynchronous event like you want, but it looks like "RAISE_APPLICATION_EVENT" would be useful from Oracle7 PL/SQL to send your own programmer defined error code to the application. Mike Bray mrb@earth.wustl.edu 307-332-1279
From: anderson@sapir.cog.jhu.edu (Stephen Anderson) Newsgroups: comp.sys.next.sysadmin,comp.sys.next.software,comp.sys.next.programmer Subject: CAP60 on NeXT problem Date: 17 Nov 1993 13:55:23 GMT Organization: Dept. of Cognitive Science, The Johns Hopkins University Message-ID: <ANDERSON.93Nov17085523@sapir.cog.jhu.edu> I'm trying to build cap60.162 for NeXT (OS 3.1/Motorola). Using the default configuration parameters, everything makes all right except applications/lwserv, where I get the following errors: cc -O -DNeXT -DADDRINPACK -c lwsrv.c lwsrv.c: In function `childdone': lwsrv.c:394: warning: passing arg 1 of `wait' from incompatible pointer type lwsrv.c: In function `childjob': lwsrv.c:1174: warning: passing arg 1 of `wait' from incompatible pointer type lwsrv.c:1187: request for member `w_S' in something not a structure or union lwsrv.c:1187: request for member `w_T' in something not a structure or union *** Exit 1 Stop. Since others seem to have built this successfully, I thought I'd ask here about whether there's a straightforward fix before attempting to work it out for myself. Thanks in advance for any help, --Steve Anderson
From: Airborne Newsgroups: comp.sys.next.misc,comp.sys.next.programmer Subject: Tetris3.0 on the archives Date: 17 Nov 1993 15:29:19 GMT Organization: Allegheny College Message-ID: <2cdg0f$o4b@ftp.alleg.edu> This morning I posted my improved (hopefully) Tetris game to cs.orst.edu in /pub/next/submission/Tetris3.0.tar.Z. For those of you who sent me nail, your copy is going out today in the mail (the same as you will find on the archive). Hopefully, I have remembered all the documentation, if not someone pelse let me know and I'll correct the mistakes. Please send all comments, ideas, suggestions to bussarj@alleg.edu. One last note, the binary is FAT... -- <<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "Virtue is like a rich stone, best plain set." - Francis Bacon "Yesterday, all my troubles seemed so far away, Now it looks as though they're here to stay, oh I believe, in yesterday..." - (you know who) <<<< Jeremy Bussard <-> Airborne <-> bussarj@alleg.EDU >>>>
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer,comp.lang.c++ Subject: libg++2........??? Date: 17 Nov 1993 16:00:22 -0000 Organization: me organized? That's a joke! Message-ID: <2cdhqm$1c1@steffi.demon.co.uk> After the recent "a new gcc everyday" syndrome what is the status with the new libg++ under NeXSTEP 3.1. I'm currently using gcc 2.5.0 and would like to know if I can take advantage of the new streams library that has been separated from the libg++ implementation. Also, have any _nasty_ C++ bugs been fixed between 2.5.0 and 2.5.3?
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: Setting target to FirstResponder in code (solution) Message-ID: <1993Nov17.145542.447@afs.com> Sender: Michael_Pizolato@afs.com References: <1993Nov16.203123.652@afs.com> Date: Wed, 17 Nov 1993 14:55:42 GMT Michael Pizolato (that's me) writes >In IB it is possible to make the target of a control or cell be >"FirstResponder," which is not a real object but an abstract >representation of the responder chain. I have a need to make the >target of a control be FirstResponder not in IB but in code, so >that after setting it up action messages from the control will go >up the responder chain just as if I had connected the control to >FirstResponder in IB. Anybody know what the magic incantations are >to do this? RTFM. Yes, that's the answer, although exactly where to RTFM isn't obvious; I had looked in lots of places besides the right one :-(. From Control.rtf in the Developer documentation: setTarget: - setTarget:anObject Sets the target for the action message of the Control's Cell. Returns self. If anObject is nil, then when an action message is sent, NXApp looks for an object that can respond to the message by following the responder chain, as detailed in the class description. See also: - target, - setAction:, - sendAction:to: Thanks to Matt Watson, Mark N. Roder, Scott Hess, and Fearless Leader for pointing this out to me. Guess I've been working too hard lately. I wonder why... Thanx, Michael P.S. I'd flame the original poster for his RTFM question, but I've been down that road before... -- Michael_Pizolato@afs.com "Schopenhauer's not as optimistic as Nietzsche, NeXTMail accepted but he makes up for it by being less cheerful than Kierkegaard." - Kim Pizolato
Newsgroups: comp.sys.next.programmer From: arunc@cc.nctu.edu.tw (Arun Chandra) Subject: gcc 2.5.3 and libc.h under NeXTStep 3.1 Message-ID: <1993Nov17.153449.19620@debbie.cc.nctu.edu.tw> Sender: usenet@debbie.cc.nctu.edu.tw Organization: National Chiao Tung University Date: Wed, 17 Nov 1993 15:34:49 GMT i've successfully compiled gcc 2.5.3 under both NeXTStep 3.0 and 3.1. However, there is a problem with libc.h under 3.1 but not under 3.0. when I compile a program that uses libc.h under 3.1, I get the following error message: gcc -g -Wall -finline-functions -o call call.c In file included from call.c:6: /usr/local/lib/gcc-lib/m68k-next-bsd/2.5.3/include/libc.h:71: confictilng types for `wait' /usr/local/lib/gcc-lib/m68k-next-bsd/2.5.3/include/sys/wait.h:190: previous declaration of `wait' *** Exit 1 Stop. The same source code compiles without any errors under NextStep 3.0. Are there any intelligent ways to solve this problem? (I know a few unintelligent ones ...) Thanks very much, Arun Chandra arunc@cc.nctu.edu.tw
Newsgroups: comp.sys.next.programmer From: Eric Noyau <e_noyau@cubx.com> Subject: Re: PB sounds Message-ID: <1993Nov17.111807.6929@pelane.cubx.com> Sender: noyau@pelane.cubx.com Organization: Cub'x systemes References: <CGKF72.Jpo@cgl.ucsf.edu> Date: Wed, 17 Nov 1993 11:18:07 GMT Eric Pettersen writes > [...] So now when a build succeeds The Arnold announces: "No Problemo". > And when a build fails... > > McCoy: He's dead Jim. > Kirk: But's that's impossible! > > Anyone else changed their ProjectBuilder sounds? > Success : bravo.snd (unknow origin ?) Failure : ohno.snd "Ho no, I don't believe it !" (The Art of noise) Eric -- % e_noyau@cubx.com (Eric Noyau) Small NeXTMail ok % /d{def}def/i{add d}d/Z{rand 2147483647 div mul d}d 99 -2 9{-1 1/X 500 Z/Y 700 Z/C .3 Z{C setgray/r exch d X Y r 0 360 arc fill/X X .5 i/Y Y .6 i/C C 1 C sub r div i}for}for showpage % Be carefull ! I'm a .signature virus...
From: xepo@csd4.csd.uwm.edu (Scott R Violet) Newsgroups: comp.sys.next.programmer Subject: Re: PB sounds Date: 17 Nov 1993 19:04:21 GMT Organization: Computing Services Division, University of Wisconsin - Milwaukee Message-ID: <2cdsjlINN6rl@uwm.edu> References: <CGKF72.Jpo@cgl.ucsf.edu> <1993Nov17.111807.6929@pelane.cubx.com> In article <1993Nov17.111807.6929@pelane.cubx.com> e_noyau@cubx.com (Eric Noyau) writes: >Eric Pettersen writes >> Anyone else changed their ProjectBuilder sounds? Failure: Homer: Dow!!! (from 3.0 days:) Success: Homer: It's goooood! -- -Scott Violet (xepo@csd4.csd.uwm.edu)
Newsgroups: comp.sys.next.programmer,comp.lang.c++ From: jbuck@synopsys.com (Joe Buck) Subject: Re: libg++2........??? Message-ID: <1993Nov17.185740.12816@Synopsys.Com> Keywords: n Sender: usenet@Synopsys.Com Organization: Synopsys, Inc. References: <2cdhqm$1c1@steffi.demon.co.uk> Date: Wed, 17 Nov 1993 18:57:40 GMT robert@steffi.demon.co.uk (Robert Nicholson) writes: >Also, have any _nasty_ C++ bugs been fixed between 2.5.0 and 2.5.3? Yes, someone added a patch that broke overloading of static member functions into 2.5.0 (this someone is a frequent critic of g++'s quality, by the way -- ironies abound -- though to be fair to Ron, a proper release engineering process would have caught the problem). This was fixed in 2.5.3. There *still* appears to be a nasty new (in 2.5) bug in pointers to member functions. This one is being tracked down. As for code quality on the NeXT: no one at FSF or Cygnus has a NeXT box and Cygnus has no support contracts from NeXT users. Given this, NeXT users are going to have to take it on themselves to send in fixes. -- -- Joe Buck jbuck@synopsys.com Posting from but not speaking for Synopsys, Inc. Formerly jbuck@<various-hosts>.eecs.berkeley.edu
From: "Thomas G. Mon" <tm31+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: What are these processes? Date: Wed, 17 Nov 1993 13:53:33 -0500 Organization: Senior, Math/Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <UgubAh200UhBI4BVY3@andrew.cmu.edu> root -1 0.0 0.0 0K 0K ? N 0:00 <mach-task> root -1 0.0 0.0 0K 0K ? N 0:00 <mach-task> root -1 0.0 0.0 0K 0K ? S 0:00 <mach-task> root -1 0.0 0.0 0K 0K ? N 0:00 <mach-task> root -1 0.0 0.0 0K 0K ? N 0:00 <mach-task> root -1 0.0 0.0 0K 0K ? N 0:00 <mach-task> root -1 0.0 0.0 0K 0K ? N 0:00 <mach-task> root -1 0.0 0.0 0K 0K ? N 0:00 <mach-task> Tom. tm31@andrew.cmu.edu [NeXTmail welcome]
From: sj1@acpub.duke.edu (Stan Jirman) Newsgroups: comp.sys.next.programmer Subject: encodeVM problems Keywords: Distributed Objects, encodeVM Message-ID: <23850@news.duke.edu> Date: 17 Nov 93 20:49:49 GMT Sender: news@news.duke.edu Hello, I recently tried to use encodeVM:: in the dist object system, and I couldn't make it work. I have no idea why, and I am looking for any input. My particular problem is: I have two apps, communicating with each other through distributed objects. One app creates objects from time to time, and passes them to the other app. This 2nd app needs a real copy of the object, not just a proxy. Sending it bycopy would be a possible approach, but as each object can be rather large (5MB or more) this approach seems not to be the best idea. Now when I implement the NXEncoding protocol, using encodeVM::, it first seems to work. Then, the app that created the object frees it. No problem. Then the receiving app (and now the only one still posessing it) frees it, too. What I get is a memory hole of the object's size. When I do this kind of object passing a dozen times you see where my memory is gone. When I free the object I deallocate the memory using vm_deallocate, and I get a confirmation that the memory was freed. When looking at ps -ux, and the system's performance, I know it wasn't. What's wrong? I am running NS 3.2 on a black system. Thanks for any help! Stan --- ---------------------------------------------------------------------- "640K ought to be enough for anybody." -- Bill Gates '81 Stan Jirman sj1@acpub.duke.edu NeXTmail welcome ----------------------------------------------------------------------
From: haker@whitewater.chem.wisc.edu (M Haker) Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs Subject: HELP: unable to link 3.1 driver with mach messages Date: 17 Nov 1993 21:13:24 GMT Organization: Division of Information Technology Message-ID: <2ce45k$578@news.doit.wisc.edu> Hello all, My 3.1 driver is at a point where I need to start dealing with handling mach messages. I've added some really simple port watching code (msg_receive) which compiles fine. But when I try to load the driver into the kernal I get these log messages Nov 17 14:53:22 swamp kern_loader: kern_loader: Link failed Nov 17 14:53:22 swamp kern_loader: kern_loader: Link failed Nov 17 14:53:22 swamp kern_loader: kern_loader: server NatInstMIO16x won't link Nov 17 14:53:22 swamp kern_loader: kern_loader: server NatInstMIO16x won't link Nov 17 14:53:22 swamp syslog: kern_loader_add_server: error 108 I know this probably has something to do with the fact that it can't link to the mach functions (msg_receive,port_allocate,mach_error,task_self) but it sounds fishy (the kernal_loader can't like to mach kernal functions?) Thanks for any help Michael Haker dept Chemistry, UW-Madison haker@whitewater.chem.wisc.edu
From: baer@psssun.pss.msu.edu (Brian Baer) Newsgroups: comp.sys.next.programmer Subject: Smalltalk? Date: 17 Nov 1993 22:05:05 GMT Organization: Michigan State University Message-ID: <2ce76h$u1m@msuinfo.cl.msu.edu> Summary: Is there a version of Smalltalk available for NeXT Keywords: smalltalk Sorry if this has been asked before, but is there a version of Smalltalk for the NeXT (black hardware) machine? I looked in the FAQ, but it doesn't say. -- Brian Baer baer@psssun.pss.msu.edu
From: ralf@reswi.en.open.de (Ralf E. Stranzenbach) Newsgroups: comp.sys.next.programmer Subject: Printing Off-Screen Views Date: 17 Nov 1993 21:56:25 GMT Organization: News Server fuer en.open.de Distribution: world Message-ID: <RALF.93Nov17225625@jodokus.en.open.de> Hi, i would like to print a view, that is _not_ visible. I've used the following (very simple) code for my first trial: #include <appkit/appkit.h> @interface grayView : View { } @end @implementation grayView - (BOOL) lockFocus { return NO; } - unlockFous { return self; } - drawSelf: (const NXRect *) rects : (int) rectCount { int i; for (i = 0; i < rectCount; i++) { PSsetgray (NX_BLACK); PSrectfill (NX_X (&rects [i]), NX_Y (&rects [i]), NX_WIDTH (&rects [i]), NX_HEIGHT (&rets [i])); } return self; } @end int main () { id myView; NXRect aRect = { 0.0, 0.0, 10.0, 10.0 }; [Application new]; myView = [[grayView alloc] initFrame: &aRect]; [myView printPSCode: nil]; [myView free]; [NXApp free]; exit (0; } For some reason this does _not_ work. The saved PS-code contains the expected rectclip operator but lacks the rectfill. I placed a breakpoint on [grayView drawSelf::] but this code gets never executed. What's wrong with my code ? - ralf -- Ralf E.Stranzenbach - (NeXT)-Mail: ralf@reswi.en.open.de Fido: Ralf_Stranzenbach 2:245/5800.12 (Voice)-Phone: +49 2302 / 68403 -- Niemand braucht einen Computer. Aber kein Computerbesitzer will das Gesicht verlieren, indem er zugibt, dass die ganze Sache ein teurer Irrtum war.
From: art@cubicsol.com (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Archiving problem Date: 17 Nov 1993 22:52:59 GMT Organization: University of California, Santa Cruz Distribution: world Message-ID: <2cea0b$75g@darkstar.UCSC.EDU> Keywords: archive I'd appreciate some help with an archiving problem I'm having. I'm trying to archive an object whose write: method archives a single ivar which points to a hashtable. This hashtable has "*" keys and "@" values. Each value is a list of string objects. I need all objects right down to the string objects to be archived, but the gdb trace indicates that the problem is occurring in the hashtable write: method: Program generated(1): Memory access exception on address 0x14039440 (invalid address). (gdb) where #0 0x50069d6 in objc_msgSend () #1 0x177a12 in ?? () #2 0x5074b18 in WriteValue () #3 0x502fea6 in NXWriteType () #4 0x50348d6 in -[HashTable write:] () #5 0x5037208 in InternalWriteObject () #6 0x5037386 in NXWriteObject () #7 0xa274 in -[TSSelectorTable write:] (self=0x18061c, _cmd=0x6188f15, typedStream=0x188f30) at TSSelectorTable.m:92 #8 0x5037208 in InternalWriteObject () #9 0x5037386 in NXWriteObject () #10 0x503746a in NXWriteRootObject () The snippet that initiates the archiving (using NXWriteObject() produces the same error): NXTypedStream *typedStream = NXOpenTypedStreamForFile([selectorTablePath stringValue], NX_WRITEONLY); if (typedStream != NULL) { NXWriteRootObject(typedStream, selectorTable); NXCloseTypedStream(typedStream); } TSSelectorTable's write: method: - write:(NXTypedStream *)typedStream { [super write:typedStream]; NXWriteObject(typedStream, selectorTable); return self; } selectorTable is instantiated as: selectorTable = [[HashTable alloc] initKeyDesc:@encode(char *) valueDesc:@encode(List *)]; and at crash time looks like: (gdb) p selectorTable $1 = (struct HashTable *) 0x183268 (gdb) p *$1 $2 = { isa = 0x4018168, count = 1, keyDesc = 0x11644 "*", valueDesc = 0x11507 "@", _nbBuckets = 1, _buckets = 0x181f04 } I can retrieve stored values from selectTable, so I'm confident that the hashtable is properly set up. Does anyone understand what I'm doing wrong? Thanks for your help. -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: Re: loop and sched files Message-ID: <CGL7J5.L0@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems References: <1993Nov15.184248.8791@afs.com> Date: Tue, 16 Nov 1993 13:45:04 GMT Gregory H. Anderson writes > Does anyone know what 'loop' and 'sched' files are? All of a sudden they > started showing up in one of our projects after recompiling. ... > (insn 4 2 6 (set (reg/v:SI 28) > (mem:SI (plus:SI (reg:SI 14) > (const_int 8)))) 29 {movsi+1} (nil) > (expr_list:REG_EQUIV (mem:SI (plus:SI (reg:SI 14) > (const_int 8))) > (nil))) > Anyone know what these are and why they started appearing? this looks suspiciously like RTL, the intermediate language gcc uses to communicate between the front end of the compiler and the code generator (and optimizer). if you have corresponding .o files generated, you should be able to safely delete these. the compiler normally doesnt save these. check what flags you are passing to the compiler when you compile these files. -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
Newsgroups: comp.sys.next.programmer From: tom@basil.icce.rug.nl (Tom R.Hageman) Subject: Re: PB sounds Message-ID: <CGnnJ9.109@basil.icce.rug.nl> Sender: tom@basil.icce.rug.nl (Tom R.Hageman) Organization: Farty Owls References: <1993Nov17.043308.2622@netnews.noc.drexel.edu> Date: Wed, 17 Nov 1993 21:25:56 GMT In article <1993Nov17.043308.2622@netnews.noc.drexel.edu> tjhendry@mcs.drexel.edu (Jonathan Hendry) writes: > Michael Pizolato (Michael_Pizolato@afs.com) wrote: > : Eric Pettersen writes > > : >The Arnold announces: "No Problemo". And when a build fails... > : > > : > McCoy: He's dead Jim. > : > Kirk: But's that's impossible! > > : Success: Behold my latest creation, Pinky! > : Failure: We failed again, Pinky. > > Success: Wile E. Coyote: "Well well, the boy has talent!" > Failure: Ren Hoek: "You Eeeeediot!" Success: that catchy little 20th Century Fox tune. Failure: HAL, reminding me: "Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error." -- __/__/__/__/ Tom Hageman (tom@basil.icce.rug.nl) [NeXTMail accepted] __/ __/_/ __/__/__/ __/ _/_/ <space for quote intentionally left blank>
Newsgroups: comp.sys.next.programmer From: Greg_Anderson@afs.com (Gregory H. Anderson) Subject: Employment Opportunity at AFS Message-ID: <1993Nov17.223355.1384@afs.com> Sender: greg@afs.com Date: Wed, 17 Nov 1993 22:33:55 GMT You know who we are. You know what we do. If you'd like to be part of it, convince me that you've been waiting your whole life for the chance to program oddball computers in suburban Philadelphia. Resume and salary requirements helpful, too. Email: Greg_Anderson@afs.com Fax: 215 653 0711 Physical: Anderson Financial Systems Inc. 909 Sumneytown Pike, Suite 207 Springhouse, PA 19477 -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
Newsgroups: comp.sys.next.programmer From: cary@fiu.edu (Cary A. Bakker) Subject: Hello...I want to drag&drop a pic-file into a veiw to be displayed... Organization: Florida International University, Miami Date: Thu, 18 Nov 1993 01:03:00 GMT Message-ID: <CGnxL1.47r@fiu.edu> Sender: news@fiu.edu (Usenet Administrator) Hi Y'all.. This should be easy for all you gurus, but sometimes a good example can speed up the learning processs tremendously...(referring to myself)... What I would like to do is be able to drag and drop a .ps, .tiff, whatever, file icon into a view, and have the view display the picture. I think I'm on the right track, and I have some code so far. I overrode the protocol methods for Dragging/Dropping.. I think I have the stuff on creating an NXImage from a file down so far. So all I need to do is get the filename from the pasteboard, create the NXImage and composite, right? OK, now for a little more functionality.... Let's create a subview for the NXImage instead of simply compositing.. This way the Image can be moved inside the view by selecting the view with the composited image...... There's a lot more I'd like to do...but this would be more than enough.. Anyone feel like helping me out tons by spewing out a small application that does something kinda like this? That way I can compare my code to something and see the millions of slip-ups I've made ;) I'll be a friend forever, Cary -- PS ==> Please respond to bakker@cyclon.aoml.erl.gov That is my NeXT account, and nextmail welcome. ------------------------------------------------------------------------- Cary A. Bakker | Music is the pleasure the human soul C.S. Major | experiences from counting without FLorida International University | being aware that it is counting... NeXT Programmer | NOAA/AOML | -- Gottfried W. Leibniz
Newsgroups: comp.sys.next.programmer From: yanik@planon.qc.ca (Yanik Crepeau) Subject: Re: .logout file question.. Message-ID: <1993Nov17.214836.5843@CAM.ORG!planon> Sender: yanik@CAM.ORG!planon References: <1993Nov17.003709.29280@leland.Stanford.EDU> Date: Wed, 17 Nov 1993 21:48:36 GMT In article <1993Nov17.003709.29280@leland.Stanford.EDU> peer@ccrma.stanford.edu (Peer Landa) writes: I've noticed that the .logout file only works from the terminal, i.e while quitting shell by typing "logout". Is there a way to activate this dot-file (or any other file for that matter) while really logging out, i.e from the fileviewer? -- peer The loginwindow programm (the program that handle username and userpassword) has two interesting features: -LoginHook and -LogOutHook. However, the hooks created will be executed at the login or the logout of any and every user that will work on that machine. Hopefully, the first argument of the hook programs is the user name. To install a hook program, use the following procedure: 1 - Open a terminal window. If you are not connected as user "root" make "su" to become root. 2. Isuue the command: dwrite loginwindow LogoutHook <progname> <progname> must be a full path like /usr/folder1/myfolder/anotherFolder/hook. By the way, I suspect that the hook programs could not be NeXTSTEP programs, just plain UNIX programs. I strongly suggest that you open a terminal window and type: man loginwindow to have the complete documentation on that matter. Yanik -- Yanik Crepeau Programmer Planon Telexpertise E-Mail: yanik@planon.qc.ca (NeXT)
Newsgroups: comp.sys.next.programmer From: yanik@planon.qc.ca (Yanik Crepeau) Subject: Re: Voice recognition Help Wanted Message-ID: <1993Nov17.221344.5904@CAM.ORG!planon> Sender: yanik@CAM.ORG!planon References: <2ccg7n$d26@mmddvan.mdd.comm.mot.com> Distribution: na Date: Wed, 17 Nov 1993 22:13:44 GMT In article <2ccg7n$d26@mmddvan.mdd.comm.mot.com> bublitz@mdd.comm.mot.com (Martin Bublitz) writes: Organization: Motorola - Wireless Data Group; Richmond, BC I'm doing a project in voice recognition and I'm wondering if anyone has/knows of routines to do FFT or other transformations on samples of voice in order to create the templates as well as compare the incoming samples to these templates. Any help would be appreciated. Thanks. Martin Bublitz bublitz@sfu.ca Call Motorolla. They have made a oustanding chip capable to make Fast Fourier Transform. That chip is the Motorolla 56000. It is built-in in any NeXT machine under the name of DSP (Digital Signal Processor). Motorolla also operate a BBS on the DSP. They have lots of examples that use FFT. Call the Motorola DSP Marketing at 512-891-2030. Yanik -- Yanik Crepeau Programmer Planon Telexpertise E-Mail: yanik@planon.qc.ca (NeXT)
From: art@cubicsol.com (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: Archiving problem Date: 18 Nov 1993 03:44:33 GMT Organization: University of California, Santa Cruz Distribution: world Message-ID: <2cer31$alt@darkstar.UCSC.EDU> References: <2cea0b$75g@darkstar.UCSC.EDU> In article <2cea0b$75g@darkstar.UCSC.EDU> art@cubicsol.com (Art Isbell) writes: > I'd appreciate some help with an archiving problem I'm having. > I'm trying to archive an object whose write: method archives a single > ivar which points to a hashtable. This hashtable has "*" keys and "@" > values. Each value is a list of string objects. I need all objects right > down to the string objects to be archived, but the gdb trace indicates > that the problem is occurring in the hashtable write: method: > > I can retrieve stored values from selectTable, so I'm confident that > the hashtable is properly set up. Bzzzzt!! Wrong. > Does anyone understand what I'm doing wrong? Well, I apparently don't :-) I've always been about 1 pointer dereference away from being totally comfortable with hashtables and storage objects. Storage objects seem to need pointers to pointers to the objects being stored whereas hashtables just need pointers. I was treating my hashtable as a storage object :-( Sorry for the waste of bandwidth. -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
From: nika!ken@uunet.UU.NET (Ken Pelletier) Newsgroups: comp.sys.next.programmer Subject: RE: errata for Garfinkel and Mahoney? Date: 17 Nov 1993 23:07:13 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9311180230.AA07604@nika> After trying to fix a problem that I was convinced was my own in the animated info panel for Math Paper, I discovered that the source code that comes with the book has the same problem... The animation will only successfully run the first time, then it spits out: MathPaper[7532]: Exception handlers were not properly removed. for each timed entry that is dispatched via the handler to the dissolve method. Anyone know what's causing this - I can't seem to nail it. I remember there being a post about some corrections to the text; might this be one of them? Where can I get the errata update? Thanks, Ken
Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer From: fabien@free.fdn.org (Fabien Roy) Subject: WriteNow port challenge Message-ID: <1993Nov17.225718.7697@free.fdn.org> Keywords: WriteNow Sender: news@free.fdn.org Organization: Fabien Roy Electronic Engineering (F.R.E.E.) - Paris, France. Date: Wed, 17 Nov 1993 22:57:18 GMT Hi WN copyright owner, Just like troff which has been translated from DEC PDP11 assembly to C, I know some folks who will take the challenge to translate WN in ASM 68K to C. Estimate work 50% to 80% programmaticaly the rest by hand. If this could be done, it will be the best response to the WordPerfect people which are not going to port WP 6.0 to NEXTSTEP. --Fabien --------------------------------------------------------------------- Fabien_Roy@free.fdn.org (NextMails accepted) Fabien Roy Electronic Engineering 3 rue ANDRE DANJON, 75019 PARIS, France, Tel: 33 1 4040 0206 Fax: 33 1 4040 0641
From: sanguish@digifix.com Newsgroups: comp.sys.next.announce,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.advocacy,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.bugs,comp.sys.next.programmer,comp.sys.next.marketplace Subject: Quick Guide to the comp.sys.next.* newsgroups Date: 18 Nov 1993 01:53:25 -0500 Organization: Next Announcements Message-ID: <2cf653$hl@digifix.digifix.com> The current menagerie: 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. comp.sys.next.announce Announcements of general interest to the NeXT community (new products, FTP submissions, user group meetings, commercial announcements etc.) The NEXTSTEP FAQs are posted here monthly as well. 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. 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. 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. 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. 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!!! comp.sys.next.programmer Questions and discussions of interest to NEXTSTEP programmers. This is primarily a forum for advanced technical material. The NEXTSTEP programmer FAQs are posted here. 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. comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. related Newsgroups 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. comp.lang.objective-c Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. 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. --------------------------------------------------------------------- Thanks to Michael Ross at antigone.com, the main NEXTSTEP groups are now available as a mailing list digest as well. next-nextstep-d next-advocacy-d next-announce-d next-bugs-d next-hardware-d next-marketplace-d next-misc-d next-programmer-d next-software-d next-sysadmin-d (For a full description, send mail saying LISTS to <digestif@antigone.com>). The subscription syntax is essentially the same as LISTSERV's. To subscribe, send a message to <digestif@antigone.com> saying: SUB Listname YourName Example: SUB next-hardware-d John Doe -------------------------------------------------------------------- Written by: Eric P. Scott eps@toaster.SFSU.EDU Minor editing: Scott Anguish sanguish@digifix.com Additions from: Greg Anderson (Greg_Anderson@afs.com) and Michael Pizolato (Michael_Pizolato@afs.com)
Newsgroups: comp.sys.next.programmer From: paul@phoenix.Princeton.EDU (Paul Lansky) Subject: need settings for MICROP 1578-15MB Message-ID: <1993Nov17.145124.23787@Princeton.EDU> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University Date: Wed, 17 Nov 1993 14:51:24 GMT Will someone run the scsitools sense program over a working (well) MICROP 1578-15MB drive and send me the output. We need to reformat one and don't have the settings. Thanks paul lansky paul@princeton.edu
Newsgroups: comp.sys.next.programmer Subject: write(2) and overfull floppies... Message-ID: <1993Nov18.085819.2068@urz.unibas.ch> From: frank@ifi.unibas.ch (Robert Frank) Date: Thu, 18 Nov 1993 08:58:19 GMT Sender: news@urz.unibas.ch (USENET News System) Organization: Institut fuer Informatik Keywords: write,floppy Hello everybody, I've found some verry interesting and stunning 'feature'. I'm currently writing some software which writes to any output volume (/dev/xxxx) using the write(2) library call. When writing to a floppy diskette (1.44MB) on the same machine to which the drive belongs, I can write until the disk is physically full and will then, as expected, recieve an error after which my program takes appropriate action. The program has the ability to send its data to another machine (say from a floppy-less cube to a station) via TCP using a client (the sender) and a server (the [remote] reciever). The reciever is started via rsh on the remote system in the background by a pipe(2) command (After starting or on failure to do so the server prints a message on stdout, which is then read from the pipe and analysed). The server works like a daemon, that is, it forks a child, which does the actual communication, then quits. The client can now send and receive data to and from the server - so far no problems. The server uses the same write(2) command to write to the output volume. Now, if I have a floppy (1.44MB) inserted with only 250KB free space, I can actually send 500KB of data, which will be written to the floppy WITHOUT the disk full error! The browser (and also ls) will show the file to be of 500KB and the file IS 500KB! I KNOW that this is not possible - and sure enough, trying to eject the disk fails as it is still in use. This can only mean that the excess 250KB are stored somewhere else. This doesn't bother me much, but: why don't I get the diskfull error when writing to the disk any more? Is this because the process is started with rsh, in the background and forks a child? I'm stumped! Anybody have an idea? Many thanks in advance, Regards Robert --- Robert Frank tel. +41 (0)61 321 99 67 Institut fuer Informatik fax +41 (0)61 321 99 15 University of Basel, Switzerland Mittlere Strasse 142 rfc822: frank@ifi.unibas.ch (NeXT mail ok) CH-4056 Basel X400: S=frank;OU=ifi;O=unibas;P=switch;A=arcom;C=ch ( if all fails try frank@urz.unibas.ch ) -- Robert Frank tel. +41 (0)61 321 99 67 Institut fuer Informatik fax +41 (0)61 321 99 15 University of Basel, Switzerland Mittlere Strasse 142 rfc822: frank@ifi.unibas.ch (NeXT mail ok) CH-4056 Basel X400: S=frank;OU=ifi;O=unibas;P=switch;A=arcom;C=ch ( if all fails try frank@urz.unibas.ch )
Newsgroups: comp.sys.next.programmer From: raptor!rlove (Robert B. Love ) Subject: Exception on Power up Message-ID: <1993Nov18.044302.526@nugget.rmNUG.ORG> Sender: rlove@nugget.rmNUG.ORG Organization: Rocky Mountain NeXT Users' Group Date: Thu, 18 Nov 1993 04:43:02 GMT I got no response in sysadmin so I thought I'd try here. Every time I power on my NeXT station the monitor comes up with the following msg: Exception #3 (0xc) at 0x1000374 I've tried man and searching with DL and reading "Network and System Administration" but I can't find any Next documentation on what this code means. What is wrong with my computer? When I type "b" it proceeds to boot but somethings gotta be wrong for the monitor to pop up every time. Thanx for all help. -- ----------------------------------------------------------------- Bob Love rlove@raptor.rmnug.org (NeXT Mail OK) BIX: rlove -----------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: sfitzp@cs.qub.ac.uk (Stephen Fitzpatrick) Subject: Re: .logout file question.. Message-ID: <1993Nov18.102041.1243@ousrvr.oulu.fi> Sender: news@ousrvr.oulu.fi Organization: University of Oulu References: <1993Nov17.003709.29280@leland.Stanford.EDU> Date: Thu, 18 Nov 1993 10:20:41 GMT In article <1993Nov17.003709.29280@leland.Stanford.EDU> peer@ccrma.stanford.edu (Peer Landa) writes: > > I've noticed that the .logout file only works from the terminal, i.e > while quitting shell by typing "logout". Is there a way to activate > this dot-file (or any other file for that matter) while really > logging out, i.e from the fileviewer? > > -- peer Two ways occur to me: + Assuming you're a programmer, write a simple app with an application delegate that implements the powerOff methods. These will be executed when the user logs out (I think, check the docs for the Application class) and can execute "~/.Logout" or whatever. + Have your sys admin set up a logout hook that executes "~/.Logout" for the user who's logging off. (Check the docs on loginwindow for details on LogoutHook default.) -- Stephen Fitzpatrick | sfitzp@cs.qub.ac.uk O-O Department of Computer Science | (NeXT mail ok) | The Queen's University of Belfast|"Keep passing the OpenWindows" v ewer? > > -- peer Two ways occur to me: + Assuming you're a programmer, write a simple app with an application delegate that implements the powerOff methods. These will be executed when the user logs out (I think, check the docs for the Application class) and can execute "~/.Logout" or whatever. + Have your sys admin set up a logout hook that executes "~/.Logout" for the user who's logging off. (Check the docs on loginwindow for details on LogoutHook default.) -- Stephen Fitzpatrick | sfitzp@cs.qub.ac.uk O-O Department of Computer Science | (NeX
Newsgroups: comp.sys.next.programmer Subject: NextMail question Message-ID: <1993Nov18.130954.128312@embl-heidelberg.de> From: rajas@duke.NMR.EMBL-Heidelberg.DE (Raj Thiagarajan) Date: 18 Nov 93 13:09:54 +0100 Distribution: world Keywords: NeXtmail question Hello Guys, I am running NextStep 3.0 on my Next Station. 1. I was wondering whether I could setup aliases for sending mails outside using NextMailer - if yes ? how would I do it - I tried settting up an alias in my .cshrc file (it didn't work..) 2. is it possible to have signature option in the NextMailer. Thanks for your info in advance. -rajas
Newsgroups: comp.sys.next.programmer From: jfr@aspen.pdh.com (Jon F. Rosen) Subject: DBTableView problem with Window Message-ID: <CGMJ36.FGz@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. Date: Wed, 17 Nov 1993 06:52:18 GMT We have a DBTableView in a window connected to a Controller object (as the delegate). Everything we need to do (edit the columns in the DBTableView, scroll, etc.) works fine. Now, we need to add a Window delegate (to handle closing the Window) so we put in a windowWillClose: method in the same Controller object and make the Controller object the delegate of the Window. When we double click on one of the rows of the DBTableView, we end up in the windowWillClose: method, even though we have not done anything that resembles trying to close the window. Any ideas how this might happen? Is there a known bug in Release 3.0 DBTableView? Inquiring minds wish to know... Jon Rosen jfr@pdh.com
Newsgroups: comp.sys.next.programmer From: cleelacj@agedwards.com (Chris Cleeland) Subject: Re: CrashCatcher (was: GDB & Lost Frames) Message-ID: <CGnq2E.HtA@agedwards.com> Date: Wed, 17 Nov 1993 22:20:38 GMT References: <CG6pyG.IC@friday.com> Organization: A. G. Edwards & Sons, Inc. bbum@friday.com wrote: : Art Isbell writes : > I seem to recall that Julie stated that the code that produces : > the crash traceback would be posted somewhere or would somehow : > be made available. I've never heard if this has been done. : > Until bbum gets his app marketed, I'd like to be able to use what : > Julie described. Does anyone know where this code might be? : Since it is rather small, and of general interest to all, I have enclosed : the code from Julie's presentation. (Besides, for those following the : thread, it will give a good comparison between the original proof of : concept and all of the features/extensions that CrashCatcher implements). : Interest in CrashCatcher has been extremely positive-- I will be putting : together a beta package (and marketing plan) in the next week. If you are : interested in directly receiving notification of progress, please send : email. Not to rain on anybody's particular parade, but I seem to remember that Julie placed a tremendous caveat on her code -- it's only guaranteed to work on Black and Intel; and, come to think of it, it may only be *guaranteed* to work on Black hardware. Everything that her code did depended on the order of things going onto the stack and which CPU registers were used for what, and all that is subject to change based on the underlying architecture. When the PA-RISC port comes out, this code will most likely have a difficult time working, since the PA-RISC calling convention does (at least under HP-UX) does *not* use the stack for subroutine calls in the way that the Motorola and the Intel do. Perhaps b.bum has already taken this into consideration and coded around this possiblity. Otherwise, we might all be in for a big surprise when NS/PA gets in our mitts and CrashCatcher simply generates another crash...:-( (Please tell me I'm wrong!) -cj -- ============================================================================== Chris Cleeland | NeXTMail: chris@milo.st-louis.mo.us BOS Dev. Team | MIMEMail: cleeland@agedwards.com | BellNet: (314) 289-5372
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer,comp.lang.c++,comp.lang.objective-c Subject: NeXT support Cygnus? (ObjC queries) Date: 18 Nov 1993 11:00:12 -0000 Organization: me organized? That's a joke! Message-ID: <2cfkjs$36j@steffi.demon.co.uk> References: <2cdhqm$1c1@steffi.demon.co.uk> <1993Nov17.185740.12816@synopsys.com> Keywords: n jbuck@synopsys.com (Joe Buck) wrote >As for code quality on the NeXT: no one at FSF or Cygnus has a NeXT box >and Cygnus has no support contracts from NeXT users. Given this, NeXT >users are going to have to take it on themselves to send in fixes. This raises (for me at least) a rather important point. Who thinks that some effort should be made to get FSF a NeXT machine? I guess it wouldn't do any good unless somebody also purchased a support contract from them? In anycase I would like to make the following proposals. 1. Discuss wether getting them a machine would help matters any. 2. Somebody who relies on GCC (C++) for their work and who has plenty of spare time perhaps put together a binary consisting of the latest compiler and the latest libg++ for both archtitectures. Or at least make the Motorolla binaries available. How big would a binary (pkg) distribution be? The source now for Gcc alone is 6 MEG which is rather large. On another note: Where is the language definition of Objective-C going? Is a language definition of this rather simple language (simple compared to C++'s definition) necessary? C++ has the ANSI committee to look over proposed enhancements. Where's in Objective-C heading? Will we ever see private instance variables? etc etc.
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Re: PB sounds Date: 18 Nov 1993 11:06:31 -0000 Organization: me organized? That's a joke! Message-ID: <2cfkvn$390@steffi.demon.co.uk> References: <CGKF72.Jpo@cgl.ucsf.edu> <1993Nov16.144325.294@afs.com> Michael_Pizolato@afs.com wrote > Success: Behold my latest creation, Pinky! > Failure: We failed again, Pinky. I'd go for B&B's (Hi John) Success: YES!!!! or We're there dude or dant dant da dant ant da da Failure: What hell is this crap. For ftp freaks sounds.sdsu.edu will probably entertain.
From: teske@opac1.cc.vt.edu (Steve Teske) Newsgroups: comp.sys.next.programmer,comp.sys.sysadmin Subject: GNU libg++ 2.5: Linking problems encountered Date: 18 Nov 1993 15:11:02 GMT Organization: Virginia Tech, Blacksburg, Virginia Message-ID: <2cg3a6$36i@vtserf.cc.vt.edu> Keywords: GNU GCC LIBG++ ld NeXTstep next binutils Problem(1): I have been working diligently to integrate GNU's gcc-2.5.2 and libg++-2.5 into the development environment on a NeXT Cube 040 running NS 3.0. After a small amount of grief I was able to build gcc and libg++. Then a little more grief brought me all the way through compilation of a test program. However, the joy ended when ld attempted to link it all together: ld: /big/teske/libg++/lib/libg++.a(String.o) symbol 1009 (x:r120)'s n_sect field (33) is greater than the number of sections in this object (6). Does this problem seem familiar to anyone? If so, what might you suggest as the possible solution? Problem(2): I attempted to build a new version of ld from GNU's binutils-2.3 as a possible solution to problem(1). This is not possible because there is no configuration file for NeXT in the ld package. Is there a version of GNU ld that can be configured and built on NeXTstep 3.0? If you have any insight into problems (1) and/or (2) above please let me know. I Thank you very much for you help. -- Steve Teske ___ __ __ __ _______ Virginia Tech //|| // ____ \\ // // Expanding the paradigm Computing Center // || // // \\ \\// // of OO programming on Blacksburg, VA // || // ||====== //\\ // a platform made to (703) 231-3461 // ||// \\_____ // \\ // order -- NeXTStep. teske@opac1.cc.vt.edu
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: Re: Setting target to FirstResponder in code Message-ID: <CGnr1o.C7@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems References: <1993Nov16.203123.652@afs.com> Date: Wed, 17 Nov 1993 22:41:47 GMT Michael Pizolato writes > I have a need to make the target of a control be FirstResponder... > Anybody know what the magic incantations are to do this? [yourControl setTarget:nil]; ----------- from the Control class docs ----------- - setTarget:anObject Sets the target for the action message of the Control's Cell. Returns self. If anObject is nil, then when an action message is sent, NXApp looks for an object that can respond to the message by following the responder chain, as detailed in the class description. -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: cedman@princeton.edu (Carl Edman) Subject: Re: NextMail question In-Reply-To: rajas@duke.NMR.EMBL-Heidelberg.DE's message of 18 Nov 93 13:09:54 +0100 To: rajas@duke.NMR.EMBL-Heidelberg.DE (Raj Thiagarajan) Message-ID: <CEDMAN.93Nov18104734@capitalist.princeton.edu> Followup-To: comp.sys.next.software Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University References: <1993Nov18.130954.128312@embl-heidelberg.de> Date: Thu, 18 Nov 1993 15:47:33 GMT In article <1993Nov18.130954.128312@embl-heidelberg.de> rajas@duke.NMR.EMBL-Heidelberg.DE (Raj Thiagarajan) writes: I am running NextStep 3.0 on my Next Station. 1. I was wondering whether I could setup aliases for sending mails outside using NextMailer - if yes ? how would I do it - I tried settting up an alias in my .cshrc file (it didn't work..) If you want to have aliases to be used for all mailers and all users of your system add them to /etc/sendmail/aliases and run newaliases. If you want to have private aliases for a particular MUA different from Mail.app you'll have to read the documentation for that particular mailer. 2. is it possible to have signature option in the NextMailer. RTF[riendly]FAQ. Carl Edman
Newsgroups: comp.sys.next.programmer From: hbergh@nl.oracle.com(Herbert van den Bergh) Subject: Re: Question about databases and triggers Message-ID: <CGp8H3.ALG@nl.oracle.com> Sender: news@nl.oracle.com Organization: Oracle Europe References: <2ccqkp$pum@wuecl.wustl.edu> Date: Thu, 18 Nov 1993 17:55:51 GMT In article <2ccqkp$pum@wuecl.wustl.edu> mrb@earth.wustl.edu (Mike Bray) writes: > In article <CGLII4.Lou@nl.oracle.com>, > Herbert vd Bergh <hbergh@nl.oracle.com> wrote: > >In article <1993Nov12.074004.487@rna.indiv.nluug.nl> > >gerben@rna.indiv.nluug.nl writes: > >: Suppose I make a NEXTSTEP application (with dbKit) that accesses > >: a database. Many databases nowadays handle triggers. > >: > >: What I'd like, though, is a way to make such a trigger activate > >: a UI object. For instance, some field changes value -> trigger > >: -> a textfield in the GUI is updated automatically. > >: > > Can't help with an asynchronous event like you want, but it looks > like "RAISE_APPLICATION_EVENT" would be useful from Oracle7 > PL/SQL to send your own programmer defined error code to > the application. > > Mike Bray > mrb@earth.wustl.edu > 307-332-1279 This reminds me of the DBMS_ALERT package of Oracle7. It implements asynchronous database event notification. For more info see the file rdbms/admin/dbmsalrt.sql. I don't know if there's any user documentation beside the sql script. Herbert van den Bergh Oracle Europe hbergh@nl.oracle.com
From: izumi@pinoko.berkeley.edu (Izumi Ohzawa) Newsgroups: comp.lang.postscript,comp.sys.next.programmer,comp.sys.next.software,alt.sources Subject: SUMMARY: Code to turn B/W PostScript into White-on-Blue Date: 18 Nov 1993 20:09:13 GMT Organization: University of California, Berkeley Distribution: world Message-ID: <2cgkp9$lar@agate.berkeley.edu> References: <2ccos0$inm@agate.berkeley.edu> Keywords: slide, film recorder, color remapping, PostScript I asked: >Is it possible turn a regular black-on-white PostScript >into white-on-blue PS, by adding some code at the beginning >of a PS file? > >The reason I want to do this is to produce a slide of B/W PostScript. >Unfortunately, most film recorders can't produce thin black lines >on white background with good contrast. And making the PS into >white-on-blue can prevent the loss of contrast. The intent is to duplicate the effect one gets from a special photographic process that gives you white-on-blue slides from B/W originals, but instead using color film recorders. Thank you everyone who responded, especially James E. Burns, and Marcel Weiher who sent in code. I modified Marcel's code to map grayscale onto a line in color space. With that you can actually convert black-on-white to anything, e.g., yellow-on-blue, or white-on-red, etc. Caveat: It doesn't work with "image" operator and many pattern fill schemes. There are probably more things in PS that break this code. If you can fix it, please send me the fix. Both Marcel's and Jim's codes are included. Use whichever that works for you. ### 1: ----- cut here ---- %! % GrayToColor.ps [V0.90, 93-11-17] % % The following sniplet of PostScript code will turn a black-on-white drawing % into white-on-blue drawing, by defalut. % % Actually, it is possible to map the gray scale to a series of colors % that lie on a line segment in color space defined by two end-point colors. % % This is useful when producing a slide of a black-on-white PostScript % because most film recorders cannot produce thin black lines on white % background with high contrast (due to scattered light and finite spot size). % % Insert the following code (except for the test code) at the % beginning of a black-on-white PostScript. % But after all those obligatory DSC comments, preferably after % "%%EndComments" line. % % Tested and works with simple PS files generated by: % (old) FreeHand (New version will probably work.) % Virtuoso (NEXTSTEP) % TopDraw (NEXTSTEP) % GMT-System (v2.1) % % It does not work with "image" operator. Images will still be rendered % as black-and-white. Pattern fills often doesn't work either. % There are probably more things that break this code. % % It does not work with "image" operator. Images will still be rendered % as black-and-white. There are probably more things that break this code. % % Original by Marcel Weiher <marcel@cs.tu-berlin.de> % Modified by Izumi Ohzawa <izumi@pinoko.berkeley.edu> % setcmykcolor support % flexible mapping of gray scale to any line in linear color space %-------------------------------------------------------------------------- % ### Color Remapping Defintions -- Modify the following to suit your taste. % RGB value of new background color to which white is mapped % (default= 60% of Blue and 10% of Red) /_r_BG 0.1 def /_g_BG 0 def /_b_BG 0.6 def % RGB value of new marking color to which black is mapped (default=white) /_r_MK 1 def /_g_MK 1 def /_b_MK 1 def /_new_setgray %-- Do the color reversal { %-- (gray to inverted blue scale) 1 exch sub % i (inverted setgray value (1-gray)) dup dup % i i i _r_MK _r_BG sub mul % i i (i*(r_MK-r_BG)) _r_BG add % i i (i*(r_MK-r_BG)+r_BG) 3 1 roll % (i*(r_MK-r_BG)+r_BG) i i _g_MK _g_BG sub mul _g_BG add exch % (i*(r_MK-r_BG)+r_BG) (i*(g_MK-g_BG)+g_BG) i _b_MK _b_BG sub mul _b_BG add setrgbcolor } bind def %---- Make sure (some) alternative methods for %---- specifying color are also covered %---- "setcmykcolor" (level-2) implemented by Izumi %---- Missing: Level 2 setcolor /nxsetgray /_new_setgray load def %--- NeXT gray setting operator /setgray /_new_setgray load def /setrgbcolor { 3 copy dup % r g b r g b b 4 1 roll eq % r g b b r (g==b) 3 1 roll eq % r g b (g==b) (b==r) and { % (r==g==b), so still gray pop pop _new_setgray } { % not a gray, so render as color setrgbcolor } ifelse } bind def /nxsetrgbcolor /setrgbcolor load def %--- NeXT calibrated RGB color setting op. /setcmykcolor % Level 2 { 4 copy pop dup % c m y k c m y y 4 1 roll eq % c m y k y c (m==y) 3 1 roll eq % c m y k (m==y) (y==c) and { % (c == m == y) % c m y k add % c m (y+k) 1 exch sub % c m (1-(y+k)) _new_setgray pop pop } { % not a gray value setcmykcolor } ifelse } bind def %--- Important: fill background with new backgound color, %--- because PostScript's default white background is implicit. 1 1 1 setrgbcolor clippath fill %--- End of color remmaping code. ------------------------------- %==== Remove Test Code Below Before Using ================= /Helvetica findfont 30 scalefont setfont /temp-str 10 string def 20 20 moveto 0 0.1 1 { dup setgray % change gray from 0 to 1 in 0.1 steps gsave temp-str cvs show ( setgray) show grestore 0 30 rmoveto } for gsave 0 0 0 setrgbcolor (0 0 0 setrgbcolor ) show grestore 0 30 rmoveto gsave 0 0 0 1 setcmykcolor (0 0 0 1 setcmykcolor ) show grestore 0 30 rmoveto gsave 1 1 1 0 setcmykcolor (1 1 1 0 setcmykcolor ) show grestore showpage %=== End of Test Code ### 2: ----- cut here ---- %! % whiteonblue.ps % % This can be prepended to a black & white PostScript file % to print white on blue. Grays will map to shades of blue. % It is assumed that the original file doesn't reset the % graphics state (e.g., with grestoreall or initgraphics). % % James E. Burns, 11/17/93, burns@nova.bellcore.com % (Based on whiteonblack.ps 4/20/93) systemdict begin { 0 0 1 setrgbcolor % Dark blue background clippath fill % Suggested by: andrew@frip.wv.tek.com (Andrew Klossner) 1 setgray % Default white foreground } bind dup exec /showpage [ /showpage load 4 3 roll /exec load ] cvx { 1 exch sub dup dup 1 setrgbcolor } bind end % systemdict /setgray exch def % setgray def % showpage % -- End of remmaping code -- %==== Remove Test Code Below Before Using ================= /Helvetica findfont 30 scalefont setfont /temp-str 10 string def 20 20 moveto 0 0.1 1 { dup setgray % change gray from 0 to 1 in 0.1 steps gsave temp-str cvs show ( setgray) show grestore 0 30 rmoveto } for % ---------- I cannot test the following, but vshastry@magnus.acs.ohio-state.edu (Vijay Shastry) also noted: "xv-3.00 can do what you want. It uses ghostscript to display PS files in X window environment. You can also edit colours and save the resulting file again in postscript or a variety of other formats." I don't know if xv-3.00 can output PostScript that is not a bitmap, but you might check what it does if interested. -- Izumi Ohzawa [ $@Bg_78^=;(J ] USMail: University of California, 360 Minor Hall, Berkeley, CA 94720 Telephone: (510) 642-6440 Fax: (510) 642-3323 Internet: izumi@pinoko.berkeley.edu (NeXTMail OK)
Newsgroups: comp.sys.next.programmer From: paul@seer.demon.co.uk (Paul Lynch) Subject: Re: PB sounds Message-ID: <1993Nov18.180323.6861@seer.demon.co.uk> Sender: paul@seer.demon.co.uk Organization: P & L Systems References: <1993Nov17.111807.6929@pelane.cubx.com> Date: Thu, 18 Nov 1993 18:03:23 GMT In article <1993Nov17.111807.6929@pelane.cubx.com> Eric Noyau <e_noyau@cubx.com> writes: > Failure : ohno.snd "Ho no, I don't believe it !" (The Art of noise) For the completists amongst us, I believe that last sample must be Victor Meldrew, from "One Foot In the Grave" (a UK comedy show). All we need now is someone with Harry Enfield saying "You don't do it like that, you do it like this" (which anyone familiar with it will recognise as the sound of utter and complete failure). Paul -- Paul Lynch P & L Systems (NeXTmail) paul@seer.demon.co.uk Tel: (0494)671501 paull@cix.compulink.co.uk Fax: (0494)680228 76711.451@compuserve.com
Newsgroups: comp.sys.next.programmer From: paul@seer.demon.co.uk (Paul Lynch) Subject: Re: Printing Off-Screen Views Message-ID: <1993Nov18.183108.6968@seer.demon.co.uk> Sender: paul@seer.demon.co.uk Organization: P & L Systems References: <RALF.93Nov17225625@jodokus.en.open.de> Date: Thu, 18 Nov 1993 18:31:08 GMT In article <RALF.93Nov17225625@jodokus.en.open.de> ralf@reswi.en.open.de (Ralf E. Stranzenbach) writes: > Hi, > > i would like to print a view, that is _not_ visible. I've used the > following (very simple) code for my first trial: > > #include <appkit/appkit.h> > > @interface grayView : View > { > } > @end > > @implementation grayView > - (BOOL) lockFocus { return NO; } > - unlockFous { return self; } > > - drawSelf: (const NXRect *) rects : (int) rectCount > { > int i; > > for (i = 0; i < rectCount; i++) { > PSsetgray (NX_BLACK); > PSrectfill (NX_X (&rects [i]), NX_Y (&rects [i]), > NX_WIDTH (&rects [i]), NX_HEIGHT (&rets [i])); > } > return self; > } > > @end > > int main () > { > id myView; > NXRect aRect = { 0.0, 0.0, 10.0, 10.0 }; > > [Application new]; > myView = [[grayView alloc] initFrame: &aRect]; > [myView printPSCode: nil]; > [myView free]; > > [NXApp free]; > exit (0; > } > > For some reason this does _not_ work. The saved PS-code contains the > expected rectclip operator but lacks the rectfill. I placed a > breakpoint on [grayView drawSelf::] but this code gets never executed. > > What's wrong with my code ? I thought that you could only print a view which was in a window. Allocate an off-screen window, make the view it's content view, and it should work. You should get a message about unlockFocus being sent to a view that is not in a window, which is why I assume you have attempted to override these methods. This message is probably a suitable hint. Paul -- Paul Lynch P & L Systems (NeXTmail) paul@seer.demon.co.uk Tel: (0494)671501 paull@cix.compulink.co.uk Fax: (0494)680228 76711.451@compuserve.com
From: annard@theborg.stack.urc.tue.nl (Annard Brouwer) Newsgroups: comp.sys.next.programmer Subject: Re: PB sounds Date: 18 Nov 1993 10:20:19 GMT Organization: the Borg Distribution: world Message-ID: <2cfi93$90@theborg.stack.urc.tue.nl> References: <CGKF72.Jpo@cgl.ucsf.edu> In article <CGKF72.Jpo@cgl.ucsf.edu> pett@ucsf.edu (Eric Pettersen) writes: > Anyone else changed their ProjectBuilder sounds? > (using my own voice) success: Yippie (a la Droopy) failure: Oh Dear (a la Droopy) Annard -- Give me enough bandwidth and I can transmit the earth. - Annard Brouwer annard@stack.urc.tue.nl (NeXTmail appreciated)
Newsgroups: comp.sys.next.programmer From: gjudd@siward.demon.co.uk (Graham Judd) Subject: Re: Smalltalk? Distribution: world References: <2ce76h$u1m@msuinfo.cl.msu.edu> Organization: At Home Date: Thu, 18 Nov 1993 23:24:24 +0000 Message-ID: <753665064snz@siward.demon.co.uk> Sender: usenet@demon.co.uk In article <2ce76h$u1m@msuinfo.cl.msu.edu> baer@psssun.pss.msu.edu writes: >Sorry if this has been asked before, but is there a version of Smalltalk >for the NeXT (black hardware) machine? I looked in the FAQ, but it doesn't >say. You can get GNU Smalltalk from any GNU archive BUT it's command line driven so no pretty windows, etc. [unless anyone knows different...] > >-- Brian Baer > baer@psssun.pss.msu.edu > -- Graham At home, no professional connection with demon.co.uk
Newsgroups: comp.sys.next.programmer From: verket@venice.sedd.trw.com (Paul Verket) Subject: Re: Smalltalk? Message-ID: <1993Nov19.010732.14304@venice.sedd.trw.com> Organization: TRW Systems Engineering & Development Division, Carson, CA References: <2ce76h$u1m@msuinfo.cl.msu.edu> Date: Fri, 19 Nov 1993 01:07:32 GMT Brian Baer (baer@psssun.pss.msu.edu) wrote: : Sorry if this has been asked before, but is there a version of Smalltalk : for the NeXT (black hardware) machine? ... Parcplace ported Smalltalk-80 (a.k.a. ObjectWorks) to the Moto-NeXT as well as VisualWorks (a Smalltalk GUI builder). info@parcplace.com for details. Paul Verket (NeXTmail ok)
Newsgroups: comp.sys.next.programmer From: mrothste@keiko.acs.calpoly.edu (Rothstein) Subject: Re: Question II: Memory Allocation Message-ID: <1993Nov18.212643.188014@zeus.aix.calpoly.edu> Sender: news@zeus.calpoly.edu Organization: Cal Poly State University, San Luis Obispo References: <2cau4c$nua@email.tuwien.ac.at> Date: Thu, 18 Nov 1993 21:26:43 GMT In article <2cau4c$nua@email.tuwien.ac.at> joggl@neuro.tuwien.ac.at (Joachim Kainz) writes: > > Suppose I have a class like > > @interface Personality:Object <IXRecordTranscription> > { > char *name; > // ... > } > > - (const char*) surName; > - (const char*) firstName; > > @end > > 'name' contains values in the "Surname,Firstname"-format. (Eg: > "Kainz,Joachim"). > > What is the most elegant way to implement -surName if surName should > return "Kainz" when name holds "Kainz,Joachim"? > > -- > > Phone: ++43-1-58801-4132 Fax: ++43-1-504-15 > Email: Joachim.Kainz@neuro.tuwien.ac.at #define maxSurNameLength 15 - (const char*) surName { char aSurName[maxSurNameLength]; sscanf(name,"[^,]", aSurName); return aSurName; } -------------------------------------------------------------------- This should do it. If memory is a REALLY big deal (or if you want to do this on something much longer than a name) then you could: scan through and find the comma allocate memory for a string the size of (numCharsBeforeComma * sizeof(char)) Then read in the string in the newly created string. Hope that helps, -Mont NeXTmail OK :-) mrothste@data.acs.calpoly.edu
Newsgroups: comp.sys.next.programmer,comp.lang.c++ From: rfg@netcom.com (Ronald F. Guilmette) Subject: Re: libg++2........??? Message-ID: <rfgCGq5rt.Lvo@netcom.com> Keywords: n Organization: Netcom Online Communications Services (408-241-9760 login: guest) References: <2cdhqm$1c1@steffi.demon.co.uk> <1993Nov17.185740.12816@Synopsys.Com> Date: Fri, 19 Nov 1993 05:55:03 GMT In article <1993Nov17.185740.12816@Synopsys.Com> jbuck@synopsys.com (Joe Buck) writes: >robert@steffi.demon.co.uk (Robert Nicholson) writes: >>Also, have any _nasty_ C++ bugs been fixed between 2.5.0 and 2.5.3? > >Yes, someone added a patch that broke overloading of static member >functions into 2.5.0 (this someone is a frequent critic of g++'s quality, >by the way -- ironies abound -- though to be fair to Ron, a proper release >engineering process would have caught the problem). This was fixed in >2.5.3. It is rather humorous to note that people who are totally uninvolved with the actual code of the g++ front-end and/or whatever meager attempts people occasionally make to help fix its many bugs somehow become gifted and insightful when it comes to laying blame for things which they do not even know about, let alone fully understand. In any event I'm sure Joe will be pleased to know that I (like many other people before me who have been generous enough to donate time and energy in futile attempts to get g++ improved) have learned my lesson, and I promise to make no further attempts to help the g++ maintainers to do the job which they (unlike me) are being PAID to do. It is certainly not worth it to be riduculed by people who don't themselves have a clue about what's wrong with g++, or how to fix it. (And I'm *not* just talk- ing about Joe.) >As for code quality on the NeXT: no one at FSF or Cygnus has a NeXT box >and Cygnus has no support contracts from NeXT users. Given this, NeXT >users are going to have to take it on themselves to send in fixes. I would advise NeXt users *not* to send any g++ fixes to anyone unless they are prepared to be similarly ridiculed for their efforts. (This can be especially irksome when the people doing the ridiculing have themselves failed to demonstrate any great knowledge of g++ internals.) -- -- Ronald F. Guilmette, Sunnyvale, California ------------------------------- ------ domain address: rfg@netcom.com --------------------------------------- ------ uucp address: ...!uunet!netcom.com!rfg -------------------------------
From: Hartmut Benz <benz@informatik.uni-koblenz.de> Newsgroups: comp.sys.next.programmer Subject: Re: Question II: Memory Allocation Date: 19 Nov 1993 10:21:56 GMT Organization: CC/CS Uni-Koblenz Message-ID: <2ci6o4INNafi@mailhost.uni-koblenz.de> References: <1993Nov18.212643.188014@zeus.aix.calpoly.edu> In article <1993Nov18.212643.188014@zeus.aix.calpoly.edu> mrothste@keiko.acs.calpoly.edu (Rothstein) writes: [stuff deleted] > #define maxSurNameLength 15 > > - (const char*) surName > { > char aSurName[maxSurNameLength]; > > sscanf(name,"[^,]", aSurName); > > return aSurName; > } > -------------------------------------------------------------------- > This should do it. If memory is a REALLY big deal... As far as I understand this code one should be _extremely_ careful when using it since the variable <aSurName> is allocated on the stack. When the method returns, the data on the stack can be destroyed any time you don't like it. For example doSomething( someFunction(...), [personality surName], someOtherFnc(..)) will most likely produce very interesting but not neccessary the desired results. Hartmut ,,, (o o) --------------------------oOO--(_)--OOo-------------------------------- Hartmut Benz | benz@infko.uni-koblenz.de D-56076 Koblenz, Germany | (NeXTmail ok)
From: otto@coactive.com (Otto Lind) Newsgroups: comp.sys.next.programmer Subject: Re: How do I redefine library functions? Date: 19 Nov 1993 06:58:18 GMT Organization: Coactive Aesthetics Inc. Message-ID: <2chqqaINNr8v@disc.coactive.com> References: <1993Nov12.032404.26974@icaen.uiowa.edu> <1993Nov16.215936.18498@pencom.com> Raul Alvarez (raul@pencom.com) wrote: : This is correct behavior on account of ld on the NeXT. I'm surprised you : didn't ask yourself why the HP didn't give you the same error, because it : is an error to do this in C The C language does not (as far as I know) specific the behaviour of the linker in this case. Also, it is very useful to be able to replace broken libc functions with your own. I wish that NeXT would fix this "feature" and allow you to do what most traditional unix systems do; Specify the link order on the command line for what should be grabbed first. : It's perfectly legitimate to want to overload a function like printf. C : does not give you direct support of this. C++ does give you direct : support. You may try compiling your program like this: : cc -ObjC++ test.c To say the C++ "supports" this is false. In the above case, the name mangling will be done, but if you have two C++ modules both defining the same function, the ld program will spit out an error. Also, defining your own printf and doing the proper thing with 'extern "C" {}' and stdio.h will cause the ld program to spit out the same error. : I hope this obfuscates the subject. I guess it does. Otto -- Otto Lind Coactive Aesthetics otto@coactive.com P.O. Box 425967, San Francisco, CA 94142 netcom!coactive!otto voice:(415)626-5152 fax:(415)626-6320
From: belka@gb.swissbank.com (Andy Belk) Newsgroups: comp.sys.next.programmer Subject: netinfo API examples, system-wide defaults Date: 18 Nov 1993 13:51:29 GMT Organization: Swiss Bank Corporation, High Timber St, London, UK Message-ID: <2cful1$8v2@gpo.gb.swissbank.com> Keywords: system-wide defaults netinfo Hi all. Similar to an earlier poster, we wish to store some system (or network) -wide defaults in netinfo. Unfortunately there's a real lack of info on the api - and no examples. Does anyone have an example of how to lookup property values in netinfo. I don't really care how ugly it is as it maps almost exactly to how we want to have defaults inherited by users and I'll wrap it in a class for everyone else to use ... Any help much appreciated. Andy Belk Swiss Bank Corp London
From: joggl@neuro.tuwien.ac.at (Joachim Kainz) Newsgroups: comp.sys.next.programmer Subject: Re: Question II: Memory Allocation Date: 19 Nov 1993 15:58:39 GMT Organization: Technical University Vienna, Austria Message-ID: <2ciqff$omc@email.tuwien.ac.at> References: <1993Nov18.212643.188014@zeus.aix.calpoly.edu> Rothstein writes > #define maxSurNameLength 15 > > - (const char*) surName > { > char aSurName[maxSurNameLength]; > > sscanf(name,"[^,]", aSurName); > > return aSurName; > } The qestion might be silly, but isn't 'aSurName' removed from the stack and so invalid after 'return aSurName'? Greetings from Vienna! Joachim. -- Phone: ++43-1-58801-4132 Fax: ++43-1-504-15 Email: Joachim.Kainz@neuro.tuwien.ac.at
From: villa@ghost.sm.dsi.unimi.it (Max .Vilas. Villa) Newsgroups: comp.sys.next.programmer Subject: EUROPEAN NEXTSTEP CDROM - don't miss it !! Date: 19 Nov 1993 17:18:48 +0100 Organization: Computer Science Dep. - Milan University Message-ID: <2cirl8$1iu@ghost.sm.dsi.unimi.it> Due to the growing interest in NEXTSTEP here in Europe, the Italian NEXTSTEP User Group has started some new activities. We're preparing an European CDROM (it'll be made and distributed in Europe, but we hope overseas too) and we're looking for any kind of software (Demos, Public Domain, Shareware, Palettes, Classes, Sources, ...). We're mirroring the ftp site at cs.orst.edu and most of the software will come from there. If your software is not there and you want it to be on our cdrom, please send it to us via email. We've only a few days left. Everything must be ready by November, 24th ... If you think that this is a good opportunity for you, don't miss it !! Send us your software ASAP !! You can send your software to: michi@cube.sm.dsi.unimi.it or gpoc@cube.sm.dsi.unimi.it If you need additional infos, feel free to contact us. Our telephone number is: +39 2 55006385 FAX number: +39 2 55006373 Thank you in advance for your support Ciao Michele Giardini & Gianfranco Pocecai PS: If your software is available via FTP, please let us know. We will get it. -- Massimo .Vilas. Villa (villa@dsi.unimi.it) System and News Administrator Computer Science Dep. - Milan University (more informations availables via finger)
From: cc100aa@xray.oit.gatech.edu (Ray Spalding) Newsgroups: comp.sys.next.programmer Subject: Re: Putting cursor in TextField Date: 19 Nov 1993 16:41:23 GMT Organization: Georgia Institute of Technology Message-ID: <2cisvj$ngq@news.gatech.edu> References: <2c8gef$cfr@transfer.stratus.com> <1993Nov15.205144.20058@gleap.sccsi.com> <2cauuu$jam@news.gatech.edu> In article <2cauuu$jam@news.gatech.edu> I write: >Generally speaking, Controls (of which TextField is of course a >subclass) can't be the first responder, since they don't implement >the keyDown: method. As was pointed out to me via E-mail, this gross oversimplification of mine is not correct. The Control class inherits keyDown: from the Responder class. Any Responder object (Application, View, or Window) can be the first responder (if acceptsFirstResponder is overridden to return YES). However, the point I was trying to make was that making a TextField the first responder does not buy you much, and will not initiate text editing. Among other things, the inherited keyDown: method simply passes the message to the next responder. There is no functionality in the TextField (or TextFieldCell) class to perform text editing directly. What the edit:inView:... and select:inView:... methods of Cell actually do is position a Text object (the Window's field editor) directly on top of the Cell (and make the Text object the first responder). When you're editing a TextField, you're interacting with a Text object which is drawing on top of the TextField, not a TextField object. Yes, it's somewhat convoluted. But text editing is fairly complex, so it makes sense to make use of the existing functionality of the Text class. Given all that, now I'm wondering why TextField overrides acceptsFirstResponder (to return YES if it's selectable or editable). Since it does that, it seems like a lot of confusion could be avoided if TextField went on to override becomeFirstResponder with something like: @implementation TextField (TextSelection) - becomeFirstResponder { return [self selectText:self]; } With this simple addition, [window makeFirstResponder:textfield] does what most people expect to happen, i.e., begins text editing. But then, as explained above, after doing this the textfield isn't really the first responder, and that could perhaps lead to other confusion. (The only thing I can think of is an unexpected recipient for an untargeted action message sent down the responder chain.) By the way, I've tested this code (and the select:inView... code I posted previously). -- Ray Spalding, Office of Information Technology Georgia Institute of Technology, Atlanta Georgia, 30332-0715 Internet: ray.spalding@oit.gatech.edu (NeXT Mail accepted)
Newsgroups: comp.sys.next.programmer From: mrothste@keiko.acs.calpoly.edu (Rothstein) Subject: Re: Questions on programming of Distributed Objects and C-Threads Message-ID: <1993Nov18.213149.189680@zeus.aix.calpoly.edu> Sender: news@zeus.calpoly.edu Organization: Cal Poly State University, San Luis Obispo References: <2cc2gm$pug@usenet.rpi.edu> Date: Thu, 18 Nov 1993 21:31:49 GMT In article <2cc2gm$pug@usenet.rpi.edu> gad@eclipse.its.rpi.edu (Garance A. Drosehn) writes: > The following questions come from Paul Carrig <9035656@ul.ie>. > He can't post to usenet right now, so I'm posting this for > him. Replies can either be made as followups to this article, > or in messages to his email address. > - Garance > > real questions from Paul: > > I am a final year computer systems undergrad at the Uni. of Limerick > Ireland. At present I am looking into doing a final year project > on a NeXT platform. As a result I have a few questions regarding > distributed objects and threads. > > i. do you know of any "good" books on using distributed objects > > ii. can the c-thread functions as described in the NeXT systems software > documentation be called directly in objective-c. If so do you know > of any literature describing the correct conventions to use. I've > had no problem with threads in C as of yet, but am unable to > implement the functions in Objective-C. > > Thanks for your time, > Regards, > > Paul Carrig. As for a book on DOs. You don't need one. Look in /NextLibrary/Documentation/NextDev/GeneralRef/DistributedObjects/ It is really easy. Everything you need to know is in there. -Mont NeXTmail OK :-) mrothste@data.acs.calpoly.edu
Newsgroups: comp.sys.next.programmer From: Alexis Rzewski <rzewski@NorthStar.com> Subject: question about Parabase Message-ID: <9311191646.AA03422@NorthStar.com> Sender: root@news.cs.indiana.edu (Operator) Organization: Computer Science, Indiana University Date: Fri, 19 Nov 93 11:46:12 -0500 Hi, does anyone know wether it is possible to access an existing database in Gupta Technology's SQLBase using Parabase? I created a database and a bunch of tables and indexes using Gupta's Sqltalk, but Parabase doesn't see it. Am I missing something? Also, I noticed that when creating a database using Parabase, the data types of the columns that where created using Parabase's UI objects CharTextField, and TimeField from the palette, are of type VARCHAR and FLOAT; is there a way to force them to be CHAR and TIMESTAMP (or DATETIME) instead? - Alexis alexis@northstar.com
Newsgroups: comp.sys.next.programmer From: barry@ictv.com (Barry Lustig) Subject: Mysterious Windowserver death Message-ID: <1993Nov19.170940.1922@ictv.com> Keywords: Windowserver death Organization: ICTV, Inc., Santa Clara, CA (408) 562-9200 Date: Fri, 19 Nov 1993 17:09:40 GMT Lately, I have been running into a problem with the Windowserver dying mysteriously. The only trace I have found is the following error messages in the console.log file. Has anyone come across this before? If so, did you find a solution? console.log ========================================= Software Version 3.1 (Lightning4H) Nov 11 08:18:57 groucho netmsgserver[20]: netname_main.msg_send fails, kr = -102. Nov 11 08:18:57 groucho netmsgserver[20]: netname_main.port_type fails, kr = 4. Thanks, Barry Lustig ICTV --
From: izumi@pinoko.berkeley.edu (Izumi Ohzawa) Newsgroups: comp.sys.next.sysadmin,comp.sys.next.programmer Subject: Is DriverKit overhead too much? (Re: Has the serial drivers problem ..) Date: 19 Nov 1993 17:55:19 GMT Organization: University of California, Berkeley Distribution: world Message-ID: <2cj1a7$d6i@agate.berkeley.edu> References: <CGp2G0.16s@ripple.uunet> In article <CGp2G0.16s@ripple.uunet> df@watershed.com (Dirk P. Fromhein) writes: >Unfortunately this makes no difference, we have a new product that is ready to >ship that requires the serial device to be used for an extended period of time >(from say 5PM to 7AM) per night with multiple calls out each lasting 1-4min. >Well even at 7200bps we get a internal table overflow in the kernel (errors >-900 and -902) after a VERY short amount of time (1-40min). So we tried it on >another machine, same thing, then bought a "high speed" serial card with a >16550 on it, same thing. Result: we can't ship our product, and thus are >losing money because of the defective driver, this makes me most unhappy. > >So we tried it on Black hardware, it ran to two days without a single fault. This is starting to worry me. Is DriverKit design really sound in the first place? I think NeXT *is* trying hard to solve this problem, but hasn't been able to fix it for several months, indicating that it is not probably due to errors or bugs in the code, per se. It seems like interrupt latencies are becoming too large under Mach and deferred/indirected processing by DriverKit. The fact that there are many comm programs for the PC's that can do 38kbs even on very slow PC's (with direct interrupt processing) indicates to me that perhaps DriverKit's overhead could be just too much for it to work reliably. If that's the case, other devices such as data acqusition boards may also have difficulty in its drivers, as they can also generate interrupt at short intervals as do serial devices. This doesn't look good. Please convince me that it is not so. -- Izumi Ohzawa [ $@Bg_78^=;(J ] USMail: University of California, 360 Minor Hall, Berkeley, CA 94720 Telephone: (510) 642-6440 Fax: (510) 642-3323 Internet: izumi@pinoko.berkeley.edu (NeXTMail OK)
Newsgroups: comp.sys.next.programmer From: brad@instep.wimsey.bc.ca Subject: Re: PB sounds Message-ID: <1993Nov19.173356.5643@instep.wimsey.bc.ca> Sender: brad@instep.wimsey.bc.ca (Bradley Head) Organization: InStep Mobile Communications Inc. References: <2cfi93$90@theborg.stack.urc.tue.nl> Date: Fri, 19 Nov 1993 17:33:56 GMT In article <2cfi93$90@theborg.stack.urc.tue.nl> annard@theborg.stack.urc.tue.nl (Annard Brouwer) writes: > In article <CGKF72.Jpo@cgl.ucsf.edu> pett@ucsf.edu (Eric Pettersen) writes: > > Anyone else changed their ProjectBuilder sounds? > > Success: That's All Folks (Porky) Failure: I've Fallen And Can't Get Up BTW, have any of you noticed that sometimes the compile is finished, but the sound doesn't play (NS 3.1)? Brad. -- Bradley Head Software Developer, InStep Mobile Communications Inc. brad@instep.wimsey.bc.ca (NeXTmail accepted) 604 872-7116 fax: 604 872-7125
From: claspac@tallis.ucsc.edu (Jas-Russell) Newsgroups: comp.sys.next.programmer Subject: Wanted: source for terminal emulator window or Vi Text Object Date: 19 Nov 1993 19:11:44 GMT Organization: University of California, Santa Cruz Message-ID: <2cj5pg$qu@darkstar.UCSC.EDU> Keywords: library source palette I would like to build an app style front end to Vi with better hooks than are possible with Stuart and Terminal tricks. It would be really neat to have a set of code that builds on the NeXT supplied "sup-process" example which provides its own filter of some kind to handle the terminal emulation of Vt100 for the sub-process. The source for simpler versions of the Terminal or Stuart apps is what I am hoping to find or buy. Also handy would be a sub-class of the text object which provides Vi style editing functionality and a block cursor rather than the blinking insert cursor. Anybody done this? If there is anybody who can provide a hint as to public domain sources for this stuff or who would like to sell their own code for this stuff please contact me. Thanks! E-mail: claspac@cats.ucsc.edu Voice: 408-459-2060 FAX: 408-429-0146
Newsgroups: comp.sys.next.programmer From: tyler@vanguard.com (Tyler Gingrich) Subject: Re: Question II: Memory Allocation Message-ID: <1993Nov19.183746.4264@il.us.swissbank.com> Sender: root@il.us.swissbank.com (Operator) Organization: Swiss Bank Corporation CM&T Division References: <2ciqff$omc@email.tuwien.ac.at> Date: Fri, 19 Nov 1993 18:37:46 GMT Joachim Kainz writes >Rothstein writes >> #define maxSurNameLength 15 >> >> - (const char*) surName >> { >> char aSurName[maxSurNameLength]; >> sscanf(name,"[^,]", aSurName); >> return aSurName; >> } > > The qestion might be silly, but isn't 'aSurName' removed from the stack > and so invalid after 'return aSurName'? > True, aSurName is removed from the stack but the memory is not cleared and a pointer to this memory is returned. Unfortunately, the technique used above SOMETIMES works. It depends on what you do with the pointer you get back from "return aSurName". If you immediately copy the string with NXUniqueString or NXCopyStringBuffer (or any similar routine) you might be okay (very sloppy and maybe safe, but don't count on it). On the other hand, if you just retain the returned pointer and continue, you are playing Russian Roulette with your program. There are a variety of ways to handle this potential problem. Which one you use will depend greatly on what you are trying to accomplish. Note, in all of these code snippets, I am assuming that "name" is correctly allocated and hasn't been handled in a manner similar to the original version of the surName method (see above). I am also assuming that maxSurNameLength is 25. 1) malloc memory during your method to hold the string (rather than allocating some off the stack) and return the pointer to this storage. You have to be careful about freeing this memory later. - (const char *) surName; { char aSurName[maxSurNameLength + 1]; sscanf(name, "%25[^,]", aSurName); return (NXCopyStringBuffer(aSurName)); } 2) Have a static variable for the Class (be careful with this one, all instances use the same storage area for static variables -- they are really more like Class variables). static char aSurName[maxSurNameLength + 1]; [more program here...] - (const char *) surName; { sscanf(name, "%25[^,]", aSurName); return aSurName; } 3) Have an instance variable allocating the appropriate amount of storage (char mySurName[maxSurNameLength + 1]). Use the same code snippet as #2. 4) Have a pointer instance variable and malloc the appropriate memory in your instance init method. (char *mySurName). - init { [super init]; mySurName = (char *) malloc(maxSurNameLength + 1); return self; } and continue with code snippet from #2. Hope this helps, Tyler Gingrich tyler@dbkit.com Vanguard Software, Corp. Dislaimer: This post contains my opinions only. Nothing contained herein should be attributed too Swiss Bank, Corp. or to Vanguard Software, Corp.
From: dario@voluptas (Dario Ringach) Newsgroups: comp.sys.next.programmer Subject: Removing a Palette from IB Date: 19 Nov 1993 19:19:56 GMT Organization: New York University Distribution: world Message-ID: <2cj68s$guq@cmcl2.NYU.EDU> I loaded a palette into IB that seems to be corrupted. How can I remove it? Thanks! -- Dario
Newsgroups: comp.sys.next.programmer From: byer@mv.us.adobe.com (Scott Byer) Subject: Re: Question II: Memory Allocation In-Reply-To: joggl@neuro.tuwien.ac.at's message of 19 Nov 1993 15:58:39 GMT Message-ID: <BYER.93Nov19122341@birch.mv.us.adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated, Mountain View, CA References: <1993Nov18.212643.188014@zeus.aix.calpoly.edu> <2ciqff$omc@email.tuwien.ac.at> Date: Fri, 19 Nov 1993 20:23:41 GMT My personal preference is to define the function such that the caller is responsible for copying the string if he wants to keep it, and that the value in the address passed back is valid only until the next call. This allows the following implementation: char defaultBuffer[SOMESIZE] char *emergencyBuffer = NULL; int eBufferSize = 0; - (const char *)surName { int len = (int)(index(name, ',') - name); int newLen; if (len < SOMESIZE) { strncpy(defaultBuffer, name, len); defaultBuffer[len] = 0; return defaultBuffer; } else if (len < eBufferSize) { strncpy(emergencyBuffer, name, len); emergencyBuffer[len] = 0; return emergencyBuffer; } newLen = len+1; /* Minimalistic */ if (emergencyBuffer == NULL) { malloc(emergencyBuffer, newLen); } else { emergencyBuffer = realloc(emergencyBuffer, newLen); } if (emergencyBuffer == NULL) { eBufferSize = 0; return NULL; } eBufferSize = strncpy(emergencyBuffer, name, len); emergencyBuffer[len] = 0; return emergencyBuffer; } While this may seem like a lot of code (it's not really - and could probably be distilled out into a "static buffer handling class") I favor it for it's low memory-thrashing potential. Having worked with large systems for so long, I've grown a distinct aversion to lots of little mallocs. There are a couple of things that can be tuned in this routine. The size of the static buffer should be large enough to catch %90 of the cases without being obscene (for this case, about 20 would be my guess). The formula for calculating the new buffer size can be teweaked. Elegant? Depends on your definition. I usually consider functionality as part of elegance, so to me, something that barfs if you go beyond it's expected input isn't elegant. Or, alternatively, something that causes thrashing - CPU or memory - isn't very elegant either. And especially not something that isn't portable or relies on processor specifics. Especially if it's going to be hidden in an object. -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: montyz@il.us.swissbank.com (Montgomery Zukowski) Subject: Is there a dbkit mailing list? Message-ID: <1993Nov19.202331.5159@il.us.swissbank.com> Sender: root@il.us.swissbank.com (Operator) Organization: Swiss Bank Corporation CM&T Division Date: Fri, 19 Nov 1993 20:23:31 GMT Please send me or post the address of where I can subscribe to the dbkit mailing list. Thanks, Monty
Newsgroups: comp.sys.next.programmer From: lloyd@world.std.com (Chris Lloyd) Subject: Re: Question II: Memory Allocation Message-ID: <CGrD09.2nH@world.std.com> Organization: The World Public Access UNIX, Brookline, MA References: <1993Nov18.212643.188014@zeus.aix.calpoly.edu> <2ciqff$omc@email.tuwien.ac.at> <BYER.93Nov19122341@birch.mv.us.adobe.com> Date: Fri, 19 Nov 1993 21:28:56 GMT In article <BYER.93Nov19122341@birch.mv.us.adobe.com> byer@mv.us.adobe.com (Scott Byer) writes: >My personal preference is to define the function such that the >caller is responsible for copying the string if he wants to keep >it, and that the value in the address passed back is valid only >until the next call. This allows the following implementation: > >char defaultBuffer[SOMESIZE] >char *emergencyBuffer = NULL; >int eBufferSize = 0; > >- (const char *)surName >{ > [ lot's-o-buffer-handling-code deleted ] I avoid static variables and pass in a NXZone * if the function needs an arbitrary memory workspace for the return value(s). This can save copying, allows the function to allocate however much it needs without reallocating issues, locality of reference, and puts an explicit indicator (the passing of a NXZone *) that the return value is allocated, so I don't have to remember what functions return static buffers, and what return malloc'd memory. [self zone] used liberally. -(char *)surName:(NXZone *)zone { .. NXZoneMalloc memory out of zone .. .. fill in and return memory .. } shrug, -- :: Christopher Lloyd :: Yrrid Incorporated :: lloyd@world.std.com :: :: boy, don't we all look _smashing_ in red. ::
From: david@jaffe.com Newsgroups: comp.sys.next.programmer Subject: Re: programming environnement for the DSP Date: 19 Nov 1993 22:04:39 GMT Organization: University of California, Berkeley Message-ID: <2cjftn$hrp@agate.berkeley.edu> References: <1993Nov8.223805.1404@CAM.ORG!planon> In article <1993Nov8.223805.1404@CAM.ORG!planon> Richard Jacob writes: > I want to program my DSP 56001 (Motorola) on my Next computer. I would > like to know what I need to program, to compile, to debug. Where I can get > more information? Did a "C" compiler exist? > Please help me. The assembler and assembler manual come with NeXTstep. You should also *definitely* get the Motorolla DSP56001 manual. Bug56 is an extremely useful debugger, available as part of the Music Kit and DSP Tools Distribution from ccrma-ftp.stanford.edu. There are also a lot of programming examples in that package, not to mention a real time DSP system. I don't know about any reasonable C compiler for the DSP.
Newsgroups: comp.sys.next.programmer,comp.lang.c++ From: jbuck@synopsys.com (Joe Buck) Subject: Re: libg++2........??? Message-ID: <1993Nov19.225407.962@Synopsys.Com> Keywords: nn Sender: usenet@Synopsys.Com Cc: rfg@netcom.com Organization: Synopsys, Inc. References: <2cdhqm$1c1@steffi.demon.co.uk> <1993Nov17.185740.12816@Synopsys.Com> <rfgCGq5rt.Lvo@netcom.com> Date: Fri, 19 Nov 1993 22:54:07 GMT I wrote: >>>Also, have any _nasty_ C++ bugs been fixed between 2.5.0 and 2.5.3? >> >>Yes, someone added a patch that broke overloading of static member >>functions into 2.5.0 (this someone is a frequent critic of g++'s quality, >>by the way -- ironies abound -- though to be fair to Ron, a proper release >>engineering process would have caught the problem). This was fixed in >>2.5.3. While this is accurate, it is somewhat unfair of me, since at least three other show-stopping bugs were also introduced into gcc2.5 and libg++2.5, problems that Cygnus people have now tracked down -- these bugs were worse in many ways. I mentioned this bug because someone asked for a nasty bug that had been fixed (the others are still in 2.5.4). I intended no ridicule of Ron; I've introduced many bugs into software myself. My point was quite different from the point Ron infers (you're *way* too thin-skinned, Ron). OK, here's the context. Here's the change that introduced the problem I was refering to (from the gcc ChangeLog file): Thu Oct 28 19:01:33 1993 Ron Guilmette (rfg@netcom.com) * cp-method.c (hack_identifier): If an overloaded identifier can only mean one thing, it can only mean one thing. The comment above and the patch seem reasonable, but it completely breaks overloading of static member functions. The reason the patch was introduced was to fix code like void foo(); void bar(); typedef void (*voidfn)(); main () { voidfn f = 1 ? foo : bar; } (and I'm sure Ron will correct me if he had a different case in mind). Later in the ChangeLog, this patch was taken out again: Tue Nov 9 15:33:45 1993 Jason Merrill (jason@deneb.cygnus.com) * cp-method.c (hack_identifier): Undo rfg's earlier patch. Perhaps it would have been better to try to figure out how to fix the patch to work correctly in all cases; this is the kind of quick solution a company whose business is support will choose when customer code breaks. Since Jason took Ron's patch out, the code above is broken again, but at least overloaded static members work. rfg@netcom.com (Ronald F. Guilmette) writes: >It is rather humorous to note that people who are totally uninvolved with >the actual code of the g++ front-end and/or whatever meager attempts people >occasionally make to help fix its many bugs somehow become gifted and >insightful when it comes to laying blame for things which they do not >even know about, let alone fully understand. They also serve who only send in well-documented bug reports by the hundreds, and who spend considerable amounts of time working with the maintainers to make sure the job's done right. I've spent a great deal of time testing proposed changes from Cygnus before they were inflicted on the world (even Cygnus customers) and this is an important function. When I was first working with Cygnus, I sent them compiler patches directly, but I've since found that it's less disruptive to send the outline of a proposed fix and let them decide how they want to do it. So you won't see my name in the ChangeLog. >In any event I'm sure Joe will be pleased to know that I (like many other >people before me who have been generous enough to donate time and energy >in futile attempts to get g++ improved) have learned my lesson, and I >promise to make no further attempts to help the g++ maintainers to do >the job which they (unlike me) are being PAID to do. This is one possible lesson that one can learn. Another possible lesson that can be learned is that improving g++ is a difficult and tricky job, and half the time it seems that fixing one bug causes another one to appear. This might lead one to be gentler with the g++ maintainers. If you now wish to take your ball and go home, that's your choice, Ron. I wish you wouldn't; it's up to you. >I would advise NeXt users *not* to send any g++ fixes to anyone unless >they are prepared to be similarly ridiculed for their efforts. (This can >be especially irksome when the people doing the ridiculing have themselves >failed to demonstrate any great knowledge of g++ internals.) NeXT users who send in bug fixes will not be ridiculed by me. -- -- Joe Buck jbuck@synopsys.com Posting from but not speaking for Synopsys, Inc. Formerly jbuck@<various-hosts>.eecs.berkeley.edu
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: Removing a Palette from IB Message-ID: <1993Nov19.230110.4949@afs.com> Sender: Michael_Pizolato@afs.com References: <2cj68s$guq@cmcl2.NYU.EDU> Date: Fri, 19 Nov 1993 23:01:10 GMT Dario Ringach writes >I loaded a palette into IB that seems to be corrupted. How can >I remove it? Thanks! Edit the file ~/.NeXT/defaults.nibd. A palette can be in either the AvailablePalettes or Palettes strings. The first is all palettes that appear in IB's preferences panel. The second are those that load on launch. Thanx, Michael -- Michael_Pizolato@afs.com "Schopenhauer's not as optimistic as Nietzsche, NeXTMail accepted but he makes up for it by being less cheerful than Kierkegaard." - Kim Pizolato
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: cmsg cancel <2cja25$28g@steffi.demon.co.uk> Control: cancel <2cja25$28g@steffi.demon.co.uk> Date: 19 Nov 1993 22:47:25 -0000 Organization: me organized? That's a joke! Message-ID: <2cjidt$3ru@steffi.demon.co.uk> <2cja25$28g@steffi.demon.co.uk> was cancelled from within trn.
From: devans@herman.cs.uoguelph.ca (David F Evans) Newsgroups: comp.sys.next.programmer Subject: Re: programming environnement for the DSP Date: 20 Nov 1993 02:01:11 GMT Organization: University of Guelph Message-ID: <2cjtp7$j6b@nermal.cs.uoguelph.ca> References: <1993Nov8.223805.1404@CAM.ORG!planon> <2cjftn$hrp@agate.berkeley.edu> In article <2cjftn$hrp@agate.berkeley.edu> david@jaffe.com wrote: :>In article <1993Nov8.223805.1404@CAM.ORG!planon> Richard Jacob writes: :>> I want to program my DSP 56001 (Motorola) on my Next computer. I would :>> like to know what I need to program, to compile, to debug. Where I can :>get :>> more information? Did a "C" compiler exist? :>> Please help me. :>The assembler and assembler manual come with NeXTstep. :>You should also *definitely* get the Motorolla DSP56001 manual. :>Bug56 is an extremely useful debugger, available as part of the Music Kit :>and DSP Tools Distribution from ccrma-ftp.stanford.edu. :>There are also a lot of programming examples in that package, not to :>mention a real time DSP system. The part number for the Motorola manual is DSP56001-UM/AD. Mine cost me $9.41 Canadia, and it's over an inch thick! :>I don't know about any reasonable C compiler for the DSP. There are GCC machine descriptions for the 56K but I haven't tried building it. From what I recall of the documentation the compiler was a bit crude (eg. numbers couldn't go outside the range [-1.0,~1.0]) but I gather it did work. I might try to build it someday soon. I got it either from ccrma-ftp.stanford.edu or sonata.cc.purdue.edu...I can't remember which. ============================================================================= David Evans devans@snowhite.cis.uoguelph.ca Computer/Synth Junkie University of Guelph "Default is the value selected by the Guelph, Ontario, Canada composer overridden by your command." - Roland TR-707 Manual
From: igerard@jerry.ina.fr (Gerard Iglesias) Newsgroups: comp.sys.next.programmer Subject: Wacom tablet Date: 19 Nov 1993 15:48:53 GMT Organization: INA Message-ID: <2cipt5$h4t@wolfy.ina.fr> I have not seen any InstallTablet.app program in NextAdmin directory of an 3.1 Intel version of NEXTSTEP. I wonder if anyone have informations on this Wacom driver. Is it in the 3.2 release ??? --------------------------------------------------------------------- Gerard Iglesias igerard@ina.fr Computer Graphics researcher - INA France NeXT mail accepted Computer Aided Cartoon Project ---------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: asc1002@Armstrong.EDU (-phillip bruce-) Subject: Re: programming environnement for the DSP Message-ID: <1993Nov20.072518.3297@Armstrong.EDU> Organization: Armstrong State College, Savannah, GA References: <1993Nov8.223805.1404@CAM.ORG!planon> <2cjftn$hrp@agate.berkeley.edu> <2cjtp7$j6b@nermal.cs.uoguelph.ca> Date: Sat, 20 Nov 1993 07:25:18 GMT In article <2cjtp7$j6b@nermal.cs.uoguelph.ca> devans@herman.cs.uoguelph.ca (David F Evans) writes: > > The part number for the Motorola manual is DSP56001-UM/AD. Mine cost me >$9.41 Canadia, and it's over an inch thick! > I think they are free in the US. Mine was. Haven't taken measurements,though. >:>I don't know about any reasonable C compiler for the DSP. > > There are GCC machine descriptions for the 56K but I haven't tried building >it. From what I recall of the documentation the compiler was a bit crude >(eg. numbers couldn't go outside the range [-1.0,~1.0]) but I gather it did >work. I might try to build it someday soon. > Yes the compiler is a bit crude, though technically, the 56k ALU only represents numbers i:-1.0<= i <1.0 (plus an overflow range of 255) anyway. You won't notice the difference (between the fractional and integer formats) on most operations(ADD f'rinstance)..but there are several exceptions to this... The GCC56k compiler is good for edification and entertainment, but the code it produces is extraordinarily inefficient. I know for a fact that the particular version I've got doesn't support parallel data moves (which saps half of your performance right there)..Motorola makes a C compiler, and while one would reckon it to be fairly dangerous (I don't know *personally*; never had a chance to use it), I remain fairly convinced that the only way to write fast code is with assembler. d!ll!yd (the tough coughs as he ploughs the dough)
From: Dwight.Jones@f7050.n153.z1.ship.net (Dwight Jones) Sender: UUCP@ship.net Newsgroups: comp.sys.next.programmer Subject: NEXT SERIAL LOCKUP Message-ID: <753792814.AA03943@ship.net> Date: Fri, 19 Nov 1993 23:28:03 -0800 Does anyone have a fix for serial port lockups in NextStep 3.1? It's blocking our Internet mail, so it hurts real bad...
From: joggl@neuro.tuwien.ac.at (Joachim Kainz) Newsgroups: comp.sys.next.programmer Subject: Re: Question II: Memory Allocation Date: 20 Nov 1993 12:15:26 GMT Organization: Technical University Vienna, Austria Message-ID: <2cl1ou$g7c@email.tuwien.ac.at> References: <1993Nov19.183746.4264@il.us.swissbank.com> Tyler Gingrich writes > 1) malloc memory during your method to hold the string (rather than > allocating some off the stack) and return the pointer to this storage. > You have to be careful about freeing this memory later. > > - (const char *) surName; > { > char aSurName[maxSurNameLength + 1]; > sscanf(name, "%25[^,]", aSurName); > return (NXCopyStringBuffer(aSurName)); > } Disadvantage: E.g. Caller is responsible for freeing. > 2) Have a static variable for the Class (be careful with this one, all > instances use the same storage area for static variables -- they are > really more like Class variables). > > static char aSurName[maxSurNameLength + 1]; > > [more program here...] > > - (const char *) surName; > { > sscanf(name, "%25[^,]", aSurName); > return aSurName; > } Disadvantage: E.g. You can't use threads anymore. > 3) Have an instance variable allocating the appropriate amount of storage > (char mySurName[maxSurNameLength + 1]). Use the same code snippet as #2. Disadvantage: You are storing the data twice. > 4) Have a pointer instance variable and malloc the appropriate memory in > your instance init method. (char *mySurName). > > - init > { > [super init]; > mySurName = (char *) malloc(maxSurNameLength + 1); > return self; > } Disadvantage: Same as above. Forgive me, but none of these solutions are 'elegant'. Greetings from Vienna, Joachim. -- Phone: ++43-1-58801-4132 Fax: ++43-1-504-15 Email: Joachim.Kainz@neuro.tuwien.ac.at
Newsgroups: comp.sys.next.programmer From: dave@prim.demon.co.uk (Dave Griffiths) Subject: Re: PB sounds Message-ID: <1993Nov20.124648.16338@prim.demon.co.uk> Organization: Primitive Software Ltd. References: <1993Nov17.111807.6929@pelane.cubx.com> <1993Nov18.180323.6861@seer.demon.co.uk> Date: Sat, 20 Nov 1993 12:46:48 GMT In article <1993Nov18.180323.6861@seer.demon.co.uk> paul@seer.demon.co.uk (Paul Lynch) writes: >In article <1993Nov17.111807.6929@pelane.cubx.com> Eric Noyau ><e_noyau@cubx.com> writes: >> Failure : ohno.snd "Ho no, I don't believe it !" (The Art of noise) > >For the completists amongst us, I believe that last sample must be Victor >Meldrew, from "One Foot In the Grave" (a UK comedy show). > >All we need now is someone with Harry Enfield saying "You don't do it like >that, you do it like this" (which anyone familiar with it will recognise >as the sound of utter and complete failure). Or John Major saying "Oh dear". Dave Griffiths
Newsgroups: comp.lang.objective-c,comp.sys.next.programmer From: pclark@is.com (Pete Clark) Subject: Re: if...else indentation formatting tools Message-ID: <CGr288.2q0@is.com> Keywords: obj-c, indent, GNU Sender: pclark@is.com (Pete Clark) Organization: Integrity Solutions, Inc. References: <1993Nov18.162405.3548@hot.com> Date: Fri, 19 Nov 1993 17:36:07 GMT In article <1993Nov18.162405.3548@hot.com> Robert_La_Ferla@hot.com writes: > Look at the utility "indent" which is available under NEXTSTEP. If anyone is interested, I've modified the GNU indent to parse Objective-C. There are still a couple bugs, but on the whole, it works very nicely. I'm not sure that I want to release the source yet, since it's not completely finished, but I'll be happy to send the binary. Just ask, I'll send it along. Best, Pete Clark pclark@is.com -- ********************************************************************* Pete Clark - Software Engineer | You know that way that Integrity Solutions, Inc. | you always are? pclark@is.com NeXTMail preferred | Don't be that way.
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: gemoe@proximus.north.de (Gerhard Moeller) Subject: Lucid Emacs? (was: Re: Emacs 19 under NS natively) Content-Type: text/plain; charset=ISO-8859-1 References: <JWZ.93Oct28171918@thalidomide.lucid.com> Mime-Version: 1.0 Organization: Gerhard Moeller, German NeXT User Group, Oldenburg. Date: Sat, 20 Nov 1993 13:19:13 GMT Message-ID: <1993Nov20.131913.794@proximus.north.de> Content-Transfer-Encoding: quoted-printable Hi, though this thread is really old (looks like I haven't had time to read news for a while...): Jamie Zawinski (jwz@lucid.com) wrote: > Carl Edman <cedman@princeton.edu> wrote: > > [...Port of emacs 19.19 to NS...] > > Sounds great! It sure is. Is it available on an archive by now? Where? If not, why? > > The reason it is not on the archives yet is that the Free Software > > Foundation and Richard Stallman consider our NeXT port a nuisance at > > best and have refused to accept our code. Well, I think you can release it anyhow, it's just not distributed by FSF. So what? I would really love to have it... ;-) > [...Lucid Emacs...:] > If you (or anyone else) would like to try to make similar changes to Lucid > Emacs, I'll help out in any way I can (including putting it in the standard > distribution.) Now, this sounds good, doesn't it? Is there someone in the community who is on that? Gerhard. -- +---------------------------< principiis obsta! >---------------------------+ N Gerhard Moeller, Hetzg. 32/11, A-1030 Wien (Austria) [*: 02/21/1968] N e Private: gemoe@proximus.north.de Phone (voice): +43-1-7151531 e X Uni: Gerhard.Moeller@arbi.Informatik.Uni-Oldenburg.DE NeXTmail X T Z-Net: Gerhard.Moeller@uniol.zer encouraged! T +-> NoGeNUG - Northern German NeXT User Group: NoGeNUG@proximus.north.DE <-+
From: zmonster@ATHENA.MIT.EDU (Eric M Hermanson) Newsgroups: comp.sys.next.programmer Subject: What "endian" type are these processors? Date: 20 Nov 1993 23:13:42 GMT Organization: Massachvsetts Institvte of Technology Distribution: world Message-ID: <2cm8b6$4um@senator-bedfellow.MIT.EDU> I am trying to explain to someone that Windows NT lacks support for big-endian CPU's ( a permanent "bug" that Microsoft designed into NT). 8-) Therefore, since NEXTSTEP runs efficiently on both little and big endian chips, it seems that there may be certain advantages running NEXTSTESP, especially if a user wants a multi-processing system that contains BOTH little and big endian CPU's. Can someone complete this list for me? Alpha - little-endian MIPS R4000 - little-endian Intel x86 - little-endian Mot. 680x0 - big-endian PowerPC - little-endian (?) PA-RISC - ? SuperSparc - ? any other important processors... Thanks, Eric
From: devans@herman.cs.uoguelph.ca (David F Evans) Newsgroups: comp.sys.next.programmer Subject: Re: What "endian" type are these processors? Date: 21 Nov 1993 01:35:17 GMT Organization: University of Guelph Distribution: world Message-ID: <2cmgkl$ic2@nermal.cs.uoguelph.ca> References: <2cm8b6$4um@senator-bedfellow.MIT.EDU> In article <2cm8b6$4um@senator-bedfellow.MIT.EDU> Eric M Hermanson (zmonster@ATHENA.MIT.EDU) wrote: :>I am trying to explain to someone that Windows NT lacks support for big-endian :>CPU's ( a permanent "bug" that Microsoft designed into NT). 8-) :>Therefore, since NEXTSTEP runs efficiently on both little and big endian chips, :>it seems that there may be certain advantages running NEXTSTESP, especially :>if a user wants a multi-processing system that contains BOTH little and :>big endian CPU's. :>Can someone complete this list for me? :>Alpha - little-endian :>MIPS R4000 - little-endian I think both of these processors can do both. I know the MIPS R2000/R3000 can, since DECstations run it in little-endian and IRISes run it in big-endian. It was kind of fun taking an Ultrix executable and trying to run it on an SGI Indigo (which is supposedly bi-endian). I got a "Program not supported by architecture" error. :) ============================================================================= David Evans devans@snowhite.cis.uoguelph.ca Computer/Synth Junkie (NeXTMail OK) University of Guelph "Default is the value selected by the Guelph, Ontario, Canada composer overridden by your command." - Roland TR-707 Manual
From: Charles William Swiger <infidel+@CMU.EDU> Newsgroups: comp.sys.next.programmer Subject: Re: What "endian" type are these processors? Date: Sat, 20 Nov 1993 21:28:39 -0500 Organization: Fifth yr. senior, Chemistry, Carnegie Mellon, Pittsburgh, PA Distribution: world Message-ID: <8gvh9Li00iV6E7zqNA@andrew.cmu.edu> In-Reply-To: <2cm8b6$4um@senator-bedfellow.MIT.EDU> Excerpts from netnews.comp.sys.next.programmer: 20-Nov-93 What "endian" type are thes.. by Eric M Hermanson@ATHENA. > Alpha - little-endian > MIPS R4000 - little-endian > Intel x86 - little-endian > Mot. 680x0 - big-endian > PowerPC - little-endian (?) > PA-RISC - ? > SuperSparc - ? Big endian: IBM 360, MIPS, Motorola (both the 68k & 88k), SPARC Little endian: DEC VAX, DEC RISC (including the Alpha), Intel 80x86 From the cover page of "Computer Architecture" by Hennessy & Patterson [under the Trivia section :-)] I believe that the newer MIPS chips are endian-swappers (they can run as either big or little endian), which is why you've got the R4000 listed as little-endian. I don't know what endian-ness the PowerPC chip is, either. -Chuck Charles William Swiger -- CMU...*splat*! | 1. You can't fly. --------------------------------------------+ 2. Cars are always real, even AMS & normal mail: infidel@cmu.edu | when they're not. Failing that: cs4w+@andrew.cmu.edu | 3. Police are not your friends. NeXTmail: chuck@cswiger.slip.andrew.cmu.edu | 4. Fire burns.
From: tim@apple.com (Tim Olson) Newsgroups: comp.sys.next.programmer Subject: Re: What "endian" type are these processors? Date: 21 Nov 1993 04:05:02 GMT Organization: Apple Computer, Inc., Cupertino, California Distribution: world Message-ID: <2cmpde$jo8@apple.com> References: <2cm8b6$4um@senator-bedfellow.MIT.EDU> Eric M Hermanson writes: | I am trying to explain to someone that Windows NT lacks support for big-endian | CPU's ( a permanent "bug" that Microsoft designed into NT). 8-) | | Therefore, since NEXTSTEP runs efficiently on both little and big endian chips, | it seems that there may be certain advantages running NEXTSTESP, especially | if a user wants a multi-processing system that contains BOTH little and | big endian CPU's. | | Can someone complete this list for me? | | | Alpha - little-endian | MIPS R4000 - little-endian These processors support both little and big-endian accessing through a configuration bit. | Intel x86 - little-endian | Mot. 680x0 - big-endian | PowerPC - little-endian (?) PowerPC processors support both little and big-endian modes, although there is more support for big-endian (misaligned accesses and string instructions) | PA-RISC - ? [not sure] | SuperSparc - ? Big endian. -- -- Tim Olson Apple Computer Inc. / Somerset
Newsgroups: comp.sys.next.programmer From: dsiebert@icaen.uiowa.edu (Doug Siebert) Subject: Re: What "endian" type are these processors? Message-ID: <1993Nov21.054736.4030@icaen.uiowa.edu> Sender: usenet@icaen.uiowa.edu (UseNet News daemon) Organization: Iowa Computer Aided Engineering Network, University of Iowa References: <2cm8b6$4um@senator-bedfellow.MIT.EDU> Date: Sun, 21 Nov 1993 05:47:36 GMT zmonster@ATHENA.MIT.EDU (Eric M Hermanson) writes: >I am trying to explain to someone that Windows NT lacks support for big-endian >CPU's ( a permanent "bug" that Microsoft designed into NT). 8-) >Therefore, since NEXTSTEP runs efficiently on both little and big endian chips, >it seems that there may be certain advantages running NEXTSTESP, especially >if a user wants a multi-processing system that contains BOTH little and >big endian CPU's. >Can someone complete this list for me? >Alpha - little-endian >MIPS R4000 - little-endian >Intel x86 - little-endian >Mot. 680x0 - big-endian >PowerPC - little-endian (?) It goes both ways. >PA-RISC - ? Current implementations are big-endian, the new 7100LC (I *think* that's the name) goes both ways. >SuperSparc - ? Pretty sure its big-endian, it may also go both ways. I don't think endianness really matters anymore, almost all new designs are either designed from the start to go both ways or are being modified to do so. Probably partially because of NT's influence. MS may not make the world go little-endian, but they may at least help make sure the point is moot as far which processors you can run a given OS on. That's something I guess... -- Doug Siebert || dsiebert@isca.uiowa.edu Kibo Turkey Greece -- defeat Usenet spool grepping!
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy Subject: Shared Libraries, why not? Date: 21 Nov 1993 12:57:15 -0000 Organization: me organized? That's a joke! Message-ID: <2cnojb$lm@steffi.demon.co.uk> In the past this discussion had been raised. And the conclusion generally reached (If I read things right?) was that NeXT didn't want to let anybody know how to do it? WHY? Is it a hack or something? I run X emulation and it is a serious oversite not to provide this functionallity _if one can_. It's about time the 3rd X server vendors were given the technology in order to produce shared libraries with their product. Are we the only platform that has to reply on static linking for non-NeXTSTEP things?
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: Removing a Palette from IB Message-ID: <1993Nov21.113339.1964@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <1993Nov19.230110.4949@afs.com> Date: Sun, 21 Nov 1993 11:33:39 GMT In article <1993Nov19.230110.4949@afs.com> Michael_Pizolato@afs.com (Michael Pizolato) writes: -> Dario Ringach writes -> > I loaded a palette into IB that seems to be corrupted. -> > How can I remove it? Thanks! -> -> Edit the file ~/.NeXT/defaults.nibd. A palette can be -> in either the AvailablePalettes or Palettes strings. -> The first is all palettes that appear in IB's -> preferences panel. The second are those that load -> on launch. Or, easier yet... Double-click it in the Prefs panel and shut-down and restart IB. It won't be auto-loaded on the slider next time around. To add a palette, you SHOULD only have to double-click it on the main browser. Bruce Gingery bruce@TotSysSoft.com
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: Question II: Memory Allocation Message-ID: <1993Nov21.115455.2038@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <2cl1ou$g7c@email.tuwien.ac.at> Date: Sun, 21 Nov 1993 11:54:55 GMT In article <2cl1ou$g7c@email.tuwien.ac.at> joggl@neuro.tuwien.ac.at (Joachim Kainz) writes: -> Tyler Gingrich writes [previous samples omitted]... for LOW usage methods, you replace all null pointers with null strings using the following... - (char *)strdup:(const char *)str { if (str == NULL) return [self strdup:""]; return strcpy((char *)malloc(strlen(str)+1,str); } - (char *)myMethod:(sometype)somevalue { ... return [self strdup:workstring]; } Also, there's the NXString*() functions... char *NXCopyStringBuffer(const char *buffer) char *NXCopyStringBufferFromZone(const char *buffer, \ NXZone *zone) NXCopyStringBuffer() allocates memory from the default memory zone for a copy of buffer. Then buffer, which should be null-terminated, is copied using strcpy(). (similar to the above method) NXCopyStringBufferFromZone() is identical to NXCopyStringBuffer() except that memory is allocated from the specified zone. DECLARED IN objc/hashtable.h NeXT's own examples return the stack allocated value, or static pointer value and then use an NXCopyStringBuffer call on the return value, which I've not always found to be "uninteresting". Bruce Gingery bruce@TotSysSoft.com
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: Re: Question II: Memory Allocation (its C's fault) Message-ID: <CGuppw.1Bt@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems References: <2cl1ou$g7c@email.tuwien.ac.at> Date: Sun, 21 Nov 1993 16:56:20 GMT Joachim Kainz followed up Tyler Gingrich's post about returning strings > > 1) malloc memory during your method to hold the string > Disadvantage: E.g. Caller is responsible for freeing. > > 2) Have a static variable for the Class > Disadvantage: E.g. You can't use threads anymore. > > 3) Have an instance variable allocating the appropriate amount of storage > Disadvantage: You are storing the data twice. > > 4) Have a pointer instance variable and malloc the appropriate memory in > > your instance init method. > Disadvantage: Same as above. > Forgive me, but none of these solutions are 'elegant'. I suppose (with options 3 & 4) you could return a pointer to the string to the method caller but then you risk someone modifying the string from outside the class - though if you mark it const the compiler will warn them. and there is always NXUniqueString. but I wholeheartedly agree that none of these solutions are elegant, and its a result of C being such a low level primitive language with poor support for returning variable length data on the stack among other things. ------ begin digression --------- this wont help in ObjC much, but it may be interesting to some to see how this problem is solved efficiently and elegantly in Ada. I wish it were as easy in C. first there is a predefined type called string that is simply an unconstrained array of characters. unconstrained means that the bounds are not fixed in the type definition. (similar to char[]) type string is array (positive range <>) of character; you can write functions whose return values are unconstrained arrays. "... args ..." just means I left them out of the example, thats not Ada. function name (... args ...) return string; a function may declare constrained objects on the stack (automatic variables in C except that the size can be determined when the function is invoked, as in alloca but better) function name (... args ...) return string is local_var : string (1 .. x); -- stack allocation, x could be a parameter begin -- assign to local_var return local_var; end name; and here's the great part. most compilers implement this by NOT changing the stack pointer after the call -- to give the caller a chance to use the "temporary original" stack allocated string. They then pop the stack pointer after the final reference to the function result. this would be very error prone and risky if done by hand, but is a perfectly safe (and valuable) compiler optimization. the semantics are as if a copy of the string was returned, but the implementation is much more efficient. this works because in Ada (unlike C) it is possible to return an array (conceptually) rather than just a pointer to an array, and it is not possible for the caller to modify a function result without either saving it via assignment or declaring the function to return a "pointer to a string" instead of returning a string. so the compiler can tell when this optimization is safe. there are other nice things as well. you can concatanate strings using the & operator, which can be efficient due to the above optimization. so you can write return "this" & "that; rather than tmp = malloc(9); strcpy (tmp, "this"); strcat (tmp, "that"); and require the caller to remember to call free. this is real nice when calling functions too. put_line ("your name is " & name(currrent_user) & " other string"); no temporary variables required. no heap storage required. the return value from function name is passed to "&" to be concatanated with the other strings, that return value is passed to put_line, and the compiler removes all the residue from the stack by the time put_line returns. you can also assign slices of 1-D arrays or strings; x(1..10) := x(5..10); which can be efficiently implemented as a block copy, where is C you either typically write for loop (which will be less efficient) or call memcpy (which is good but not very strongly type checked at compile time). even though C has strengths, its not a very good language for easily and efficiently working with strings IMHO. you often see either hard coded limits on bufffer sizes or dynamic memory being allocated (and hopefully freed) in little tiny fragments just there aren't good safe flexible ways to use the stack efficiently for returning variable length data. -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: Re: Putting cursor in TextField Message-ID: <CGupsn.1CK@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems References: <2cisvj$ngq@news.gatech.edu> Date: Sun, 21 Nov 1993 16:57:59 GMT Ray Spalding writes > There is no functionality in the TextField (or TextFieldCell) class > to perform text editing directly. What the edit:inView:... and > select:inView:... methods of Cell actually do is position a Text > object (the Window's field editor) directly on top of the Cell (and > make the Text object the first responder). When you're editing a > TextField, you're interacting with a Text object which is drawing > on top of the TextField, not a TextField object. we just went through a thread on this, and I lost the answer. is there a way to find out which formcell or textfieldcell the window's field editor is currently serving? -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
Newsgroups: comp.sys.next.programmer From: thf@zelator.in-berlin.de (Thomas Funke) Subject: Re: Smalltalk? Message-ID: <1993Nov19.143141.724@gamelan> Sender: thomas@gamelan (thomas) Organization: Disorganization References: <2ce76h$u1m@msuinfo.cl.msu.edu> Date: Fri, 19 Nov 1993 14:31:41 GMT In article <2ce76h$u1m@msuinfo.cl.msu.edu> baer@psssun.pss.msu.edu (Brian Baer) writes: > Sorry if this has been asked before, but is there a version of > Smalltalk for the NeXT (black hardware) machine? I looked in > the FAQ, but it doesn't say. Little Smalltalk runs on NeXT if you have X11 running as well. 'make sunos' is the only thing you need Get it from beach.rockwell.com and "cd [pub.smalltalk]" because it's a VMS box. Also Gnu Smalltalk can be used. No GUI so far. -- ------------------------------------------------------------------ Thomas Funke ** Unix-Consultant ** thf@zelator.in-berlin.de Brooks's Law: Adding manpower to a late software project makes it later ------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: Re: Question II: Memory Allocation (its C's fault - addendum) Message-ID: <CGusxI.1F7@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems References: <CGuppw.1Bt@genoa.com> Date: Sun, 21 Nov 1993 18:05:41 GMT I wrote about > you can also assign slices of 1-D arrays or strings; > x(1..10) := x(5..10); this is a typo and would cause a compiler error it should say x(1..10) := x(5..14); note that the overlapping copy is safely handled. -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
Newsgroups: comp.sys.next.programmer From: chris@iastate.edu (Chris Wong) Subject: Re: Smalltalk? Message-ID: <CGuwJu.3n2@news.iastate.edu> Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames, IA References: <2ce76h$u1m@msuinfo.cl.msu.edu> <1993Nov19.143141.724@gamelan> Date: Sun, 21 Nov 1993 19:23:53 GMT In article <1993Nov19.143141.724@gamelan> thf@zelator.in-berlin.de (Thomas Funke) writes: >In article <2ce76h$u1m@msuinfo.cl.msu.edu> baer@psssun.pss.msu.edu (Brian >Baer) writes: >> Sorry if this has been asked before, but is there a version of >> Smalltalk for the NeXT (black hardware) machine? I looked in >> the FAQ, but it doesn't say. > >Little Smalltalk runs on NeXT if you have X11 running as well. >'make sunos' is the only thing you need Get it from beach.rockwell.com >and "cd [pub.smalltalk]" because it's a VMS box. > >Also Gnu Smalltalk can be used. No GUI so far. > The doc said it has a X GUI. Never try it though. -- Chris Wong | "Hardware is supposed to serve Software." chris@iastate.edu | Computer Engineering & Computer Science twba8@isuvax.iastate.edu | Iowa State University of Science and Technology
Newsgroups: comp.sys.next.programmer From: mgoedel@muaddib.isar.muc.de (Maximilian Goedel) Subject: Re: NEXT SERIAL LOCKUP Message-ID: <CGtGrr.5Gt@muaddib.isar.muc.de> Sender: mgoedel@muaddib.isar.muc.de (Maximilian Goedel) Organization: Michael Maximilian Goedel References: <753792814.AA03943@ship.net> Distribution: all Date: Sun, 21 Nov 1993 00:45:27 GMT In article <753792814.AA03943@ship.net> Dwight.Jones@f7050.n153.z1.ship.net (Dwight Jones) writes: > Does anyone have a fix for serial port lockups in NextStep 3.1? > > It's blocking our Internet mail, so it hurts real bad... > > > Yes, very easy, Send email to NeXTanswers@NeXT.COM an use the following Subject: 1326 1327 1326 for the manual 1337 for the package itself -- Michael Maximilian Goedel _____________________ Internet: mgoedel@muaddib.isar.muc.de Adresse: Gerhardstrasse 33 - 81543 Muenchen Telefon: +49 89 65 29 18
From: chharris@stein3.u.washington.edu (Chris Harris) Newsgroups: comp.sys.next.programmer Subject: Mac vs. NeXT Development Process Date: 21 Nov 1993 22:57:45 GMT Organization: University of Washington Message-ID: <2corp9$943@news.u.washington.edu> Summary: Looking for a comparison of mac/next development For anybody out there who's worked with both mac and NeXT, I'm wondering how to development process differs betweent the two platorms. (i.e. Do you still have a main event loop? How much code is needed to respond to interfaces built in the interface builder?) If anyone would be interested in answering such questons, please e-mail me. Thanks. -Chris -- ------------------------------------------------------------------------------ "To error is human, but to really foul things up, you need a computer." Send questions, comments, flames, etc. to: Chris Harris / chharris@u.washington.edu
From: Dwight.Jones@f7050.n153.z1.ship.net (Dwight Jones) Sender: UUCP@ship.net Newsgroups: comp.sys.next.programmer Subject: COMMERCIAL TEXT OBJECTS Message-ID: <753893611.AA03981@ship.net> Date: Sun, 21 Nov 1993 15:41:37 -0800 Call Mastersoft in Scottsdale AZ, they sell text libraries/tools. Ask for Bob tell him I sent you. If they don't have they probably know who does. Dwight djones@imagen.bc.ca
From: dekorte@ibm8.scri.fsu.edu (Stephen L. DeKorte) Newsgroups: comp.sys.next.programmer Subject: problem with mouse input Date: 22 Nov 1993 05:04:38 GMT Organization: Supercomputer Computations Research Institute Distribution: world Message-ID: <2cph96$jqr@mailer.fsu.edu> I'm trying to poll the mouse using PScurrentmouse(0, &x, &y); (I'm trying to write a cross-OS app and so I need to aviod appkit as much as possible) But as soon as I start polling, the pointer turns to a spinning disk(paging?), the windowing system seems to get *extremely* slow, and I get a Nov 21 23:51:21 slip8 WindowServer[179]: IPCFlushOutput: failed to flush output for stream 0x30a8c0. error in the console, although it does get the mouse input ok. How do I poll the mouse without bogging down the system? Also, how do I get the applications icon to go into "running" mode?(to get out of the white "starting" mode) without using [NXapp run]? Thanks for any help, Steve PS. please respond by email.
Newsgroups: comp.sys.next.programmer From: jfr@aspen.pdh.com (Jon F. Rosen) Subject: Re: Question II: Memory Allocation Message-ID: <CGv05K.7H6@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. References: <BYER.93Nov19122341@birch.mv.us.adobe.com> Date: Sun, 21 Nov 1993 20:41:43 GMT Scott Byer writes > > My personal preference is to define the function such that the > caller is responsible for copying the string if he wants to keep > it, and that the value in the address passed back is valid only > until the next call. This allows the following implementation: > > char defaultBuffer[SOMESIZE] > char *emergencyBuffer = NULL; > int eBufferSize = 0; > > - (const char *)surName > { > int len = (int)(index(name, ',') - name); > int newLen; [munch] Sorry Scott, but UGGH! :-) One thing you clearly overlook with a static variable approach is that you can't use threads or interrupt this code in any way and expect it to be reentrant. In Unix, this can be a BIG problem. #define soapbox ON REMOVE ALL STATIC VARIABLES FROM YOUR CODE! THEY ARE THE ENEMY OF GOOD PROGRAMMING! THAT'S ONE BIG ADVANTAGE OF OBJECTS. THE STORAGE IS DYNAMIC AND CAN NEVER CAUSE THESE KINDS OF PROBLEMS. THAT'S WHY CLASS VARIABLES ARE NEEDED ALSO, BECAUSE USING STATIC VARIABLES AS PSEUDO-CLASS VARIABLES SUCKS! #define soapbox OFF I would put the surname as an ivar. If you REALLY want to conserve memory (i.e., not double-store things), build a UniqueStringClass that allocates strings in a continuous memory heap and has pointer/lengths to the strings. This way, you could store the first/last name as one string and also store pointers (and lengths) to the first and last names separately. The disadvantage of this is that you have to write your own string-handling functions since all C functions use null-terminated strings (boo! hiss!) but this can be encapsulated in the class. Add to that a unique string facility (but without the hassle of not being able to FREE the strings when you no longer need them) and you should have a pretty elegant string class capable of doing what you want. Jon Rosen
From: fxg@elrond.tolkien.imib.rwth-aachen.de (Felix Gatzemeier #Alwd#) Newsgroups: comp.sys.next.programmer Subject: print filter crashes(?) app's Date: 22 Nov 1993 17:35:14 GMT Organization: Rechnerbetrieb Informatik - RWTH Aachen Distribution: world Message-ID: <FXG.93Nov22183517@elrond.tolkien.imib.rwth-aachen.de> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit To enable any app to print duplex pages on single-page printers, I wrote a print filter to reorder pages to all-odd's / all-even's. Yes, it's an awful solution and me and NeXT have to think of better ways. But here comes the real bugger: Next doc's define print filters as standard Unix-type filters, taking ps code on stdin and writing to a file given on the command line with "-o filename". So I write such a filter, test it on the command line --- no problem. So I look up the installation details in the doc's (found zero) and check the given filters (yes, the "PostScript for chosen Printer" etc. reside in /NextLibrary/Servics!). Finally, my filter shows up. I filter a file through it and my filter writes a complete file and finishes off neatly --- and the calling App (in these test cases Edit.App) crashes with a memory exception in NXPing()! I tried buffered vs. unbuffured I/O and an identity filter that does nothing with the incoming data and doesn't crash. The call stack is somewhere below a _NXRunLocalAlertPanel and the "Printing..." panel still shows. Things are running on a 3.0 NeXTstation. I would be grateful for any hints as well as pointers to more comfortable printing packages. Couldn't a similar thing be done using the regular Services? -- Felix (fxg@(([Pool|I3].Informatik)|(Tolkien.ImIB)).RWTH-Aachen.de NeXT-Mail ok, but slow)
From: pclip@is2e.vub.ac.be (Paul Clip) Newsgroups: comp.sys.next.programmer Subject: Help: 3.1 compatibility problems Message-ID: <3600@rc1.vub.ac.be> Date: 22 Nov 93 12:37:31 GMT Sender: news@rc1.vub.ac.be Distribution: world Organization: Brussels Free Universities (VUB/ULB), Belgium Hello, I'm sorry if you've seen this email before, I posted it in a few places. After having upgraded from Release 3.0 to Release 3.1 on my NeXTstation, I'm having a lot of problems running one of the apps I've written. This app uses Distributed Objects and is in three parts: Client, Server and SharedLib which is a library of mainly Storage subclasses that the Client and Server share and which are able to send a copy of themselves across applications (i.e. from the Client to the Server and vice versa). When compiled and running under 3.0, all goes well. In the three other combinations (i.e. compiled 3.1/running 3.1, compiled 3.0/running 3.1 and even compiled 3.1/running 3.0) the apps crash in pretty much the same kinda way. In the normal course of events, the user creates a simulation with the Client and then sends it to a Server (a non-AppKit prog) which runs the simulation and sends data back to the Client that can then be displayed for the user. The first time a simulation is sent to a Server all is well. The second or third time a simulation is sent (from the same Client, but to a different Server, one Server only runs one sim), the Client crashes. This is where things get complicated because there are many different ways in which the crash manifests itself. I'll try and list the most common. Sometimes the Client will crash in before even getting to the Client code (i.e. it might get lost in an objective-c function like _cache_expand, the Client's Application object might send a message to the Object class instead of the proper object, etc). Sometimes gdb doesn't even realize the Client has crashed. On other occasions, the Client will crash in the alloc/init phase of a FullCopyList (a List object that copies its objects across apps, taken from one of the NeXT examples), or when drawing something on the screen, a display message might be sent to one of the SharedLib Storage objects which is obviously followed by a crash. What is even stranger is that when I single-step through the code that starts a Server and sends it a simulation, 95% to 99% of the time I get no crash whatsoever. I can start a large number of Servers without trouble. Stranger still is that the Servers sometimes crash and become immortal: they are totally unkillable and hog the CPU like hell. When I have one or more of these babies running in the background, it's impossible to turn the station off normally since it'll try to shut the processes down and wait (and wait and wait :-( until they do. Well there you just about have it, my litany of woes is at an end :-) I get the impression that the trouble might be due to the compiler badly linking in the SharedLib to the Client but then why does compiled 3.0/running 3.1 crash while compiled 3.0/ running 3.0 works OK? Thanks for reading this far. If you have any solutions, ideas, suggestions, thoughts, ... anything! (I'm getting pretty desperate <8-( I'd love to hear from you. Cheers, Paul. -- _____________________________________________________________________________ Paul-L. Clip Unit of Behavioural Ecology, Center for Non-Linear Phenomena and Complex Systems, Tel: +32-2-650-5796 CP 231, Campus Plaine ULB, B-1050 Brussels, Belgium. Fax: +32-2-650-5767 Email: pclip@is1.vub.ac.be (no NeXTmail please)
Organization: Central Michigan University Date: Sun, 21 Nov 1993 15:48:04 EST From: John Goggan <34II5MT@CMUVM.CSV.CMICH.EDU> Message-ID: <93325.15480434II5MT@CMUVM.CSV.CMICH.EDU> Newsgroups: comp.sys.next.programmer Subject: putenv & waitpid (under NS2.1) I'm trying to compile the HTTP daemon (v 1.0a5) under NS 2.1... Most of it works fine, but I'm missing two important functions (well, one I think I can work around -- the other is beyond my current capabilities (I'm just a beginning C programmer, especially when it comes to Unix system calls or odd library includes)). Anyways, the first (and more important) is "putenv" which apparently should be used to define a variable under the current shell (NS2.1 does have getenv, which does the reverse). Is there something I can do about this? I tried using a SunOS include file that had putenv in it, but that really didn't go too well (I didn't mess with it much because I wasn't sure if it should even work theoretically). The other function is "waitpid" -- which should just wait for a specified process to die before continuing... Any suggestions on doing this also? Thanks! - John...
From: charlesa@mailhost.learned.co.uk Newsgroups: comp.sys.next.software,comp.sys.next.programmer Subject: makefile question Date: Mon, 22 Nov 93 18:40:12 PST Organization: EUnet GB Message-ID: <2cr1gk$4cu@marble.Britain.EU.net> Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Hi - I'm trying to compile some code with "make" without success. When I try to run "make" in a terminal window & also using the ProjectBuilder, I get a whole slew of error messages (posted below). Before running "make", I edit a file called "config.h" (listed below) and put in info like hostname and directory. If I run "make" with the default config.h (listed here), it complies fine. Only when I edit the config.h does it complain. The "make" process doesn't seem to like any field which I remove the hash sign. beginner question: am i correct in thinking that I have to remove the hash sign for any line I want to edit, allowing "make" to 'see'? For example, the default "config.h" has the line: #define HOSTNAME "your.host.edu" which I edited to read: define HOSTNAME "my.host.edu" removing the hash at the beginning of the line so it could be recognized. I'm using NS 3.1 user+developer on Intel. I'm no programmer, and was told to just simply follow the documentation, which i've done! (promise). I'm wondering if it is something specific to NS; like maybe I need to give the makefile a different CC= setting for NS (also listed below). Thoughts would be appreciated. Charles. charlesa@mailhost.learned.co.uk ===================== error messages ===================== Making mkcache (cd mkcache; make CC="cc" CFLAGS="-I.. -I../gn " LIBS="" INSTALL="/usr/bin/install" BINDIR="/usr/local/etc") cc -I.. -I../gn -c mkcache.c ./config.h:7: undefined type, found `define' ./config.h:7: illegal external declaration, missing `;' after `HOSTNAME' ./config.h:12: undefined type, found `define' ./config.h:12: illegal external declaration, missing `;' after `ROOT_DIR' ./config.h:20: undefined type, found `define' ./config.h:20: illegal external declaration, missing `;' after`ROOT_MENU_NAME' ./config.h:25: undefined type, found `define' ./config.h:25: illegal external declaration, missing `;' after `DEFAULTPORT' ./config.h:31: undefined type, found `define' ./config.h:31: illegal external declaration, missing `;' after `ACCESSFNAME' ./config.h:33: undefined type, found `define' ./config.h:33: illegal external declaration, missing `;' after `CACHEFNAME' ./config.h:35: undefined type, found `define' ./config.h:35: illegal external declaration, missing `;' after `MENUFNAME' ./config.h:37: undefined type, found `define' ./config.h:37: illegal function prototype, found `10' ./config.h:37: illegal function definition, found `)' ./config.h:39: undefined type, found `define' ./config.h:39: illegal external declaration, missing `;' after `DECOMPRESS' ./config.h:41: undefined type, found `define' ./config.h:41: illegal function prototype, found `300' ./config.h:41: illegal function definition, found `)' *** Exit 1 Stop. *** Exit 1 Stop. ==================== config.h ==================== /* CONFIGURATION FILE FOR THE GN PACKAGE (vers 1.0) */ /* * Enter your fully qualified host name here */ #define HOSTNAME "your.host.edu" /* * Enter the complete path of your root data directory here. */ #define ROOT_DIR "/root/dir/path" /* * The ROOT_MENU_NAME set below is used as a <title> and heading * <h2> for the root menu in HTTP transactions. It has no effect * on gopher transactions. Just make it something descriptive of * your server. */ #define ROOT_MENU_NAME "GN -- A Gopher/HTTP Server" /* * If you wish to run at a different port than 70, edit this line. */ #define DEFAULTPORT "70" /* * If you wish you can change the following defaults. */ #define ACCESSFNAME ".access" #define CACHEFNAME ".cache" #define MENUFNAME "menu" #define MAXDEPTH (10) /* maximum depth of menus */ #define DECOMPRESS "/usr/net/bin/zcat" #define TIMEOUT (300) /* Time in seconds to wait before timeout */ /* Five minutes should be adequate */ ==================== top-file makefile: ==================== # # Configurable Part. # # Choice of Compiler. CC = cc #CC = gcc # # Compiler Flags (-I.. *MUST* be included) # INCLUDES= -I.. -I../gn CFLAGS = $(INCLUDES) # -DSYSV # # Libraries to be included. # LIBS = #Use this with SysV #LIBS = -lsocket -lc # # install program. SysV without GNU Utils - use cp # #INSTALL = cp INSTALL = /usr/bin/install # # Where to put the programs # BINDIR = /usr/local/etc all: gn mkcache uncache install: inst-gn inst-mkcache inst-uncache gn: gn/gn mkcache: mkcache/mkcache uncache: uncache/uncache gn/gn: @echo "Making gn" (cd gn; make CC="$(CC)" CFLAGS="$(CFLAGS)" LIBS="$(LIBS)" \ INSTALL="$(INSTALL)" BINDIR="$(BINDIR)" ) mkcache/mkcache: config.h @echo "Making mkcache" (cd mkcache; make CC="$(CC)" CFLAGS="$(CFLAGS)" LIBS="$(LIBS)" \ INSTALL="$(INSTALL)" BINDIR="$(BINDIR)") uncache/uncache: config.h @echo "Making uncache" (cd uncache; make CC="$(CC)" CFLAGS="$(CFLAGS)" LIBS="$(LIBS)" \ INSTALL="$(INSTALL)" BINDIR="$(BINDIR)") inst-gn: @echo "Installing gn" (cd gn; make CC="$(CC)" CFLAGS="$(CFLAGS)" LIBS="$(LIBS)" \ INSTALL="$(INSTALL)" BINDIR="$(BINDIR)" install ) touch inst-gn inst-mkcache: @echo "Installing mkcache" (cd mkcache; make CC="$(CC)" CFLAGS="$(CFLAGS)" LIBS="$(LIBS)" \ INSTALL="$(INSTALL)" BINDIR="$(BINDIR)" install ) touch inst-mkcache inst-uncache: @echo "Installing uncache" (cd uncache; make CC="$(CC)" CFLAGS="$(CFLAGS)" LIBS="$(LIBS)" \ INSTALL="$(INSTALL)" BINDIR="$(BINDIR)" install ) touch inst-uncache clean: @echo "Cleaning in gn" (cd gn ; make clean) @echo "Cleaning in mkcache" (cd mkcache ; make clean) @echo "Cleaning in uncache" (cd uncache ; make clean)
Newsgroups: comp.sys.next.programmer From: arrouye@petole.imag.fr (Yves Arrouye) Subject: Validating TextFields: HELP Message-ID: <ARROUYE.93Nov22182610@petole.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Mon, 22 Nov 1993 17:26:10 GMT Hi, I have a problem validating TextFields in a preference panel: the fields are correctly validated if the user attempts to edit another field while editing an incorrect one, but not when the Set button is clicked (I think this is because the TextField does not resign first responder.) What should I do to make the fields validate themselves when the button is hit (i.e. if there is an error, beep and highlight, and return something saying it is wrong so I can return from the set method.) ? I noted another problem too: when my field is valid, it clears itself (i.e. draws white on white) but the text is still here (it comes back is the entry is very long and you scrooll it in the TextField): why? Thanks in advance, Yves. -- Advocates for the C++ school claim that a well designed Yves Arrouye program does not need the extra flexibility (a lie), Yves.Arrouye@imag.fr while advocates for the Objective-C school claim that (33) 76 57 48 64 the errors are no problem in practice (another lie). NeXT Mail
Newsgroups: comp.sys.next.programmer From: wwright@shell.portal.com (Bradly William Wright) Subject: How do you load RIB into a view? Message-ID: <CGwz8H.Lrr@unix.portal.com> Keywords: RIB Sender: news@unix.portal.com Organization: Portal Communications Company Date: Mon, 22 Nov 1993 22:17:01 GMT I'm working on a program which loads rib files into a view and then 3D renders them. I've got rib part loaded via a next Image Rep class, but the 3D camera view doesn't pick-up the RIB data correctly. Does anyone have source code to load ribs and then Photo-real. render them? Thanks, Brad Wright wwright@shell.portal.com wwright@premisys.com
Newsgroups: comp.sys.next.programmer From: gjudd@siward.demon.co.uk (Graham Judd) Subject: textDidEnd: with matrix in a scrollview Distribution: world Organization: At Home Date: Mon, 22 Nov 1993 21:55:28 +0000 Message-ID: <754005328snz@siward.demon.co.uk> Sender: usenet@demon.co.uk I have a matrix which is inside a scrollview. I would like to be able to intercept the up/down arrow keys to move up or down and assumed that the textDidEnd: delegate method would do the business. I can't seem to get it to work, the basic problem is that I have 4 matrices that have the same delegate and I can't work out which matrix I am acting for right now. Any ideas or pointers would be most welcome. -- Graham At home, no professional connection with demon.co.uk
From: Charles William Swiger <infidel+@CMU.EDU> Newsgroups: comp.sys.next.programmer,comp.sys.next.software Subject: Re: makefile question Date: Mon, 22 Nov 1993 18:48:35 -0500 Organization: Fifth yr. senior, Chemistry, Carnegie Mellon, Pittsburgh, PA Message-ID: <ogwIzHK00WBOI=tbU9@andrew.cmu.edu> In-Reply-To: <2cr1gk$4cu@marble.Britain.EU.net> Excerpts from netnews.comp.sys.next.programmer: 22-Nov-93 makefile question by charlesa@mailhost.learne > If I run "make" with the default config.h (listed here), it complies fine. > Only when I edit the config.h does it complain. The "make" process doesn't > seem to like any field which I remove the hash sign. beginner question: > am i correct in thinking that I have to remove the hash sign for any line I > want to edit, allowing "make" to 'see'? > > For example, the default "config.h" has the line: > #define HOSTNAME "your.host.edu" > which I edited to read: > define HOSTNAME "my.host.edu" > removing the hash at the beginning of the line so it could be recognized. No. Do not remove the hash marks, simply change it to: #define HOSTNAME "my.host.edu" By the way, what are you trying to compile that requires the *hostname* to be compiled in like that?? -Chuck Charles William Swiger -- CMU...*splat*! | 1. You can't fly. --------------------------------------------+ 2. Cars are always real, even AMS & normal mail: infidel@cmu.edu | when they're not. Failing that: cs4w+@andrew.cmu.edu | 3. Police are not your friends. NeXTmail: chuck@cswiger.slip.andrew.cmu.edu | 4. Fire burns.
Newsgroups: comp.sys.next.misc,comp.sys.next.programmer From: gibraltar!wiley (Wiley S. Hodges) Subject: Lighthouse Design, Ltd. Seeks Staff Engineers Message-ID: <1993Nov22.234036.466@lighthouse.com> Sender: kevin@lighthouse.com Organization: Lighthouse Design, Ltd. Date: Mon, 22 Nov 1993 23:40:36 GMT Keywords: Lighthouse, jobs, NEXTSTEP, free food Distribution: world Lighthouse Design, Ltd. Seeks Staff Engineers Lighthouse Design, a developer of productivity applications for object-oriented environments, is seeking two staff engineers to participate in the development of new products, and the maintenance and enhancement of existing products. Applicants should have strong academic credentials, experience with Objective-C or C++, a demonstrated ability to perform in time-critical environments, and a professional approach to teamwork. Development experience under NEXTSTEP a plus. Compensation is commensurate with experience, and includes comprehensive health coverage, opportunities to participate in corporate prosperity through stock options and profit sharing, and free food. Please send resumes to: Kevin Steele, Director of Engineering Lighthouse Design, Ltd. 2929 Campus Drive, Suite 250 San Mateo, CA 94403 kevin@lighthouse.com 415-570-5587 (FAX) 415-570-7736 (Voice)
Newsgroups: comp.sys.next.programmer From: allanc@casaba.csil.sfu.ca (Christopher Allan) Subject: Connecting to the Mathematica Kernel Message-ID: <1993Nov23.003646.16725@sfu.ca> Sender: news@sfu.ca Organization: Simon Fraser University, Burnaby, B.C., Canada Date: Tue, 23 Nov 1993 00:36:46 GMT I'm doing a term project in a University GUI course and I would like to write an app that connects and talks to the Mathematica kernel. If any- one could point me to some information and/or code examples I'd be quite greatful.
Newsgroups: comp.sys.next.programmer From: fe@free.fr Subject: Re: gcc 2.5.3 and libc.h under NeXTStep 3.1 Message-ID: <1993Nov22.184258.21695@free.fdn.org> Sender: news@free.fdn.org Organization: Fabien Roy Electronic Engineering (F.R.E.E.) - Paris, France. References: <1993Nov17.153449.19620@debbie.cc.nctu.edu.tw> Date: Mon, 22 Nov 1993 18:42:58 GMT In article <1993Nov17.153449.19620@debbie.cc.nctu.edu.tw> arunc@cc.nctu.edu.tw (Arun Chandra) writes: > > i've successfully compiled gcc 2.5.3 under both NeXTStep 3.0 and 3.1. > However, there is a problem with libc.h under 3.1 but not under 3.0. > > when I compile a program that uses libc.h under 3.1, I get the > following error message: > > gcc -g -Wall -finline-functions -o call call.c > In file included from call.c:6: > /usr/local/lib/gcc-lib/m68k-next-bsd/2.5.3/include/libc.h:71: > confictilng types for `wait' > /usr/local/lib/gcc-lib/m68k-next-bsd/2.5.3/include/sys/wait.h:190: > previous declaration of `wait' > *** Exit 1 > Stop. > > The same source code compiles without any errors under NextStep 3.0. > > Are there any intelligent ways to solve this problem? (I know a few > unintelligent ones ...) > > Thanks very much, > > Arun Chandra > arunc@cc.nctu.edu.tw > > the fact is that this is a warning not a compilation error. on NS3.1m gcc version is 2.2.2 (while 1.93 on NS3.0), so gcc is stiffer. just remove one prototype (for example in libc.h) and it should compile without any problem. I have been told gcc 2.5.4 is here ... wait and see -- Francois-Eric Daveau (a.k.a. FE) E-Mail : ris@epita.fr (school) fe@free.fr (work, NeXT-Mail welcome)
From: reiss@cis.ohio-state.edu (joseph reiss) Newsgroups: comp.sys.next.programmer Subject: Waiting for Workspace to launch... Date: 22 Nov 1993 20:34:15 -0500 Organization: The Ohio State University Dept. of Computer and Info. Science Message-ID: <2crpanINNaei@python.cis.ohio-state.edu> Hi! I'm working on a program that I want to autolaunch from my dock. At the same time, I'd like to be able to use the image filtering services provided by ImageViewer (and other similar programs). The problem is, my program tries to get its image before the Workspace has had a chance to finish its housekeeping chores and recognize that an image filter exists out there somewhere. As a result, I end up with nothing. The program works just fine if run from the Workspace after things have settled down. How can I make my application wait until the Workspace has finished with this kinda stuff before it tries to load the image? If this is a really simple question, forgive me. I'm just a newbie when it comes to NS programming :-) Joe -- __________ | NeXTmail accepted, but not preferred | |___) | """""""""""""""""""""""""""""""""""""""""""""""""""""""" \_/OE | \EISS | Real programmers don't read manuals. Reliance on a `---- | reference book is the mark of the novice & the coward.
From: luomat@alleg.edu (Timothy J. Luoma) Newsgroups: comp.sys.next.programmer Subject: Re: Waiting for Workspace to launch... Date: 23 Nov 1993 02:54:51 GMT Organization: Allegheny College Distribution: world Message-ID: <2cru1r$kvc@ftp.alleg.edu> References: <2crpanINNaei@python.cis.ohio-state.edu> Well, I'm not really a programmer, but I can suggest something you might want to try, but I am not sure if it will work. Obviously you will be the final judge of that. Instead of having it launch from your dock, why not have add it to your Workspace LaunchPaths? This can be easily done with TickleServices, or with a dwrite % dwrite Workspace LaunchPaths "FILE" where 'FILE' stands for the full pathname to the file (and the filename itself, obviously). Separate entries with semicolons, and make sure to use "" around the whole thing. Make sure (before you do this) you check to make sure you don't have anything in you LaunchPaths already. (dread -n LaunchPaths would be one way I guess) If you do, add FILE to them with a semicolon. I believe (99.9% sure) that the Workspace LaunchPaths waits for the Workspace to finish before it goes. This and many other things can be done much easier if you have TickleServices. God Bless Hess!! (ok I got a little carried away with the Thanksgiving spirit) -- Timothy J. Luoma Email: luomat@alleg.edu Allegheny College, Meadville PA USA Using: NS 3.1 Black NeXT Mail Welcomed
From: claspac@tallis.ucsc.edu (Jas-Russell) Newsgroups: comp.sys.next.programmer Subject: Adding new actions to Interface Builder's FirstReponder class Date: 23 Nov 1993 03:53:38 GMT Organization: University of California, Santa Cruz Message-ID: <2cs1g2$inv@darkstar.UCSC.EDU> I notice when I use the IB to examine Draw.nib in the Draw example that the FirstResponder in that NIB file has a saveAs: method to which menu buttons can be connected. When I create a new application from scratch the FirstResponder doesn't have a saveAs: method. How do I get Interface Builder to let me add methods to its idea of what a FirstResponder can be expected to handle? I have looked all over in the documentation and I can't seem to find any mention of this. One is not allowed to subclass FirstResponder and I have already parsed my other "responder" objects which have saveAs: methods and that didn't work. Any hints greatly appreciated. Will Russell E-mail: claspac@cats.ucsc.edu Voice: 408-459-2060 FAX: 408-429-0146
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: what happened to dbkit method propertyValue? Message-ID: <CGxGJC.7v@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems Date: Tue, 23 Nov 1993 04:30:47 GMT chapter 9 of the 3.1 DBKit concepts doc makes heavy use of a method called propertValue in the sections about traversing to-one relationships and qualified fetches. unfortunately it doesnt seem to exist in the other docs or header files. what's going on? did this method get dropped at the last minute? is there something to take its place? -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
From: grw@oahu.cs.ucla.edu (George Wu) Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs Subject: Does fcntl() support the record locking commands ? Message-ID: <1993Nov23.054340.1691@cs.ucla.edu> Date: 23 Nov 93 05:43:40 GMT Distribution: usa Organization: UCLA, Computer Science Department Does anyone know if fcntl() under NEXTSTEP 3.0 support the following commands: F_SETLK F_SETLKW F_GETLK These commands were not mentioned in the man pages for fcntl() but they were in fcntl.h. I tried using the above commands and always got an invalid argument error. So, I suspect that they are not supported but I wanted to make sure this is the case. If the above commands are not supported under NEXTSTEP 3.0, are they supported under NEXTSTEP 3.1 or 3.2 ? A more general question I have is whether NEXTSTEP will become more POSIX-like in the future. I remember hearing that NeXT was going to provide POSIX support but maybe as an add-on option. Is this still true ? George
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: putenv & waitpid (under NS2.1) Message-ID: <1993Nov23.062119.7887@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <93325.15480434II5MT@CMUVM.CSV.CMICH.EDU> Date: Tue, 23 Nov 1993 06:21:19 GMT In article <93325.15480434II5MT@CMUVM.CSV.CMICH.EDU> John Goggan <34II5MT@CMUVM.CSV.CMICH.EDU> writes: >I'm trying to compile the HTTP daemon (v 1.0a5) under NS 2.1... Most of >it works fine, but I'm missing two important functions (well, one I think >I can work around -- the other is beyond my current capabilities (I'm just >a beginning C programmer, especially when it comes to Unix system calls or >odd library includes)). Anyways, the first (and more important) is "putenv" In NS 2.1, a version of putenv() is in libcs.a. It may not work quite the way you expect, however! (The source code should be available from CMU.) Generally, a better choice is the widely available BSD setenv() code--especially since NeXT *removed* libcs.a from the distribution beginning with NS 3.0, grr. Actually, it's pretty rare for a program to need to change its own environment--usually the goal is to set up the environment for a subprocess, and execve(2) [or execle(3)] handle that situation far more elegantly. >The other function is "waitpid" -- which should just wait for a specified >process to die before continuing... Any suggestions on doing this also? waitpid() is notoriously nonportable, and you should complain vociferously to the authors that they're being bozos for depending on it. Then read the man page for wait4(); it probably does what you want. -=EPS=-
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: mike@lorax.com (Mike Ferris) Subject: MOKit Version 0.9 Release 2 Available Message-ID: <CGxGn2.1M8@lorax.com> Sender: mike@lorax.com (Mike Ferris) Organization: Stultus Enterprises Date: Tue, 23 Nov 1993 04:33:01 GMT Hello, Announcing MOKit Version 0.9 Release 2 -------------------------------------- This is to let anyone who's interested know that a new version of MOKit is available at cs.orst.edu. For those who missed the first version, MOKit is a collection of Objective-C objects which provide a variety of useful functions. They are available in source code form. Many of the objects are palettized for IB. Others have example programs which show their use. See the README file at cs.orst.edu for more details. The new release is version 0.9 Release 2. It adds two new objects, upgrades a few more, and has a lot of other minor changes and bug fixes. If you are using release 1, I urge you to use release 2 instead. ____________________________________________________________ Mike Ferris When you're up to your ass in mike@lorax.com alligators, it's hard to remember Rubicon Software your initial objective was to (510) 652-2039 drain the swamp.
Newsgroups: comp.sys.next.programmer From: carol@media.com (Carol Deihl) Subject: How to see IBEditor and/or Attributes for a custom File's Owner? Message-ID: <1993Nov23.015943.21449@media.com> Sender: usenet@media.com Organization: Multimedia Learning, Inc. Date: Tue, 23 Nov 1993 01:59:43 GMT Hello, Using Interface Builder, I have set the class of the File's Owner object to a custom class of my own making (it happens to be in a palette that I've loaded). I need to set things in the Attributes Inspector and in the custom IBEditor for that custom class, but IB only shows me the File's Owner Attributes (e.g. the list of classes to choose from) on a single click, and the class editor on a double click. Anyone know how I can access my custom Attributes Inspector and Editor? Thanks, Carol Deihl carol@media.com
Newsgroups: comp.sys.next.programmer From: xinwei@otter.Stanford.EDU (Sha Xin Wei) Subject: Sybase row size error Message-ID: <1993Nov23.073544.27976@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: Stanford University Date: Tue, 23 Nov 93 07:35:44 GMT Some of my [recordList fetchUsingQualifier:nil]; calls fail with this error message: "Sybase: Create of work table failed because row size would be 3895. This exceeds the maximum allowable size of a row in a table, 2014." My tables are modest (?) -- only approx 30 columns, mostly null entries for now, though a few are IMAGE or TEXT. Q0. Does "row size" mean total number bytes filled by actual data? Q1. What is the "work table"? Where is this documented? Q2. How can I increase the row size ceiling? Sha Xin Wei Stanford University
From: fxg@gimli.tolkien.imib.rwth-aachen.de (Felix Gatzemeier #Alwd#) Newsgroups: comp.sys.next.programmer Subject: Re: PB sounds Date: 23 Nov 1993 09:48:07 GMT Organization: Rechnerbetrieb Informatik - RWTH Aachen Message-ID: <FXG.93Nov23104809@gimli.tolkien.imib.rwth-aachen.de> References: <CGKF72.Jpo@cgl.ucsf.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-reply-to: pett@ucsf.edu's message of Tue, 16 Nov 1993 03:33:00 GMT So many folks are posting this irrelevant stuff that I can overcome my own bad feelings about wasting bandwidth, too. Even if it's not a PB sound, but for that ol' Compiler App (Lacking a 3.1 PB): "You loose" "I'm outta here" Both Ice-T from the "I'm yer pusher" promo-CD. I put a box up to the mic to record it, but that's awright. -- Felix (fxg@(([Pool|I3].Informatik)|(Tolkien.ImIB)).RWTH-Aachen.de NeXT-Mail ok, but slow)
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: Putting cursor in TextField Message-ID: <1993Nov23.101133.260@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <CGupsn.1CK@genoa.com> Date: Tue, 23 Nov 93 10:11:33 GMT In article <CGupsn.1CK@genoa.com> alex@cs.umd.edu (Alex Blakemore) writes: > > we just went through a thread on this, and I lost the answer. > is there a way to find out which formcell or textfieldcell the > window's field editor is currently serving? Yes, it's the delegate of the window's field editor. -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not (+49) 40 / 380 23-290 (Fax ) And am content with all
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: what happened to dbkit method propertyValue? Message-ID: <1993Nov23.102200.316@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <CGxGJC.7v@genoa.com> Date: Tue, 23 Nov 93 10:22:00 GMT In article <CGxGJC.7v@genoa.com> alex@cs.umd.edu (Alex Blakemore) writes: > chapter 9 of the 3.1 DBKit concepts doc makes heavy use of > a method called propertValue in the sections about traversing > to-one relationships and qualified fetches. > unfortunately it doesnt seem to exist in the other docs or > header files. > > what's going on? did this method get dropped at the last minute? > is there something to take its place? It'a a documentation-bug. Just use propertyType. (See DBEntities) -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not (+49) 40 / 380 23-290 (Fax ) And am content with all
Newsgroups: comp.sys.next.programmer From: arrouye@petole.imag.fr (Yves Arrouye) Subject: Re: textDidEnd: with matrix in a scrollview In-Reply-To: gjudd@siward.demon.co.uk's message of Mon, 22 Nov 1993 21:55:28 +0000 Message-ID: <ARROUYE.93Nov23095559@petole.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France References: <754005328snz@siward.demon.co.uk> Date: Tue, 23 Nov 1993 08:55:57 GMT In article <754005328snz@siward.demon.co.uk> gjudd@siward.demon.co.uk (Graham Judd) writes: I have a matrix which is inside a scrollview. I would like to be able to intercept the up/down arrow keys to move up or down and assumed that the textDidEnd: delegate method would do the business. I can't seem to get it to work, the basic problem is that I have 4 matrices that have the same delegate and I can't work out which matrix I am acting for right now. - textDidEnd:textObject { id matrix = [textObject delegate]; id currentCell = [matrix selectedCell]; // more fun here return self; } Yves. -- Advocates for the C++ school claim that a well designed Yves Arrouye program does not need the extra flexibility (a lie), Yves.Arrouye@imag.fr while advocates for the Objective-C school claim that (33) 76 57 48 64 the errors are no problem in practice (another lie). NeXT Mail
Newsgroups: comp.sys.next.programmer From: tyler@vanguard.com (Tyler Gingrich) Subject: Re: Adding new actions to Interface Builder's FirstReponder class Message-ID: <1993Nov23.121324.22881@il.us.swissbank.com> Sender: root@il.us.swissbank.com (Operator) Organization: Swiss Bank Corporation CM&T Division References: <2cs1g2$inv@darkstar.UCSC.EDU> Date: Tue, 23 Nov 1993 12:13:24 GMT Jas-Russell writes > When I create a new application from scratch the FirstResponder > doesn't have a saveAs: method. How do I get Interface Builder to > let me add methods to its idea of what a FirstResponder can > be expected to handle? > Open your nib in IB, go to the "Classes" suitcase, click on the FirstResponder Class, hit command-1 for the Attributes inspector, and type your new target-action method in the textfield at the bottom of the inspector panel. Alternatively, if you want to permantly add a first responder action to the list which is stored in IB.app -- edit the following file: /NextDeveloper/Apps/InterfaceBuilder.app/firstResponder.table and add methods to your hearts content (don't forget to relaunch IB for these changes to take effect). Tyler Gingrich tyler@dbkit.com Vanguard Software, Corp. Dislaimer: This post contains my opinions only. Nothing contained herein should be attributed too Swiss Bank, Corp. or to Vanguard Software, Corp.
From: rfi@jeans.fokus.gmd.de (Robert Fischer) Newsgroups: comp.sys.next.programmer Subject: Re: Adding new actions to Interface Builder's FirstReponder class Message-ID: <1993Nov23.093429.26520@fokus.gmd.de> Date: 23 Nov 93 09:34:29 GMT References: <2cs1g2$inv@darkstar.UCSC.EDU> Sender: news@fokus.gmd.de (News system) Organization: GMD-Fokus In article <2cs1g2$inv@darkstar.UCSC.EDU> claspac@tallis.ucsc.edu (Jas-Russell) writes: > ... > When I create a new application from scratch the FirstResponder > doesn't have a saveAs: method. How do I get Interface Builder to > let me add methods to its idea of what a FirstResponder can > be expected to handle? > ... 1. Double-click the 'First responder' icon or select it and choose the 'Classes' icon 2. Bring up the inspector panel 3. Choose Attributes in the popup list 4. Write 'saveAs' in the lower text field 5. Click 'Add Action' Et voila'. Robert. -- ------------------------------------------------------------------------ Robert Fischer @ GMD-Fokus -------- __o ------- _`\<,_ fischer@fokus.gmd.de ------- (*)/ (*) ## NeXT-Mail welcome ## ------------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: mikes@ceco.ceco.com (Michael Stepniczka) Subject: Opening Edit to a string Message-ID: <CGyDrp.8xC@ceco.ceco.com> Sender: root@ceco.ceco.com (Operator) Organization: Commonwealth Edison Co. Date: Tue, 23 Nov 1993 16:28:36 GMT Hi. I was wondering if anyone had had any luck opening Edit to a specific string. I've been trying this with string that I parsed out of a file, as well as with strings that I cut&pasted out of a text file and while the correct document opens in Edit, no string is highlighted. Is there some trick to this? Does Edit not support this?? [[Application workspace] findString:"whatever" inFile:fileToOpen] where "whatever" has been text from the file I'm trying to open to that hightlighted string. Edit is the default app for the filetypes I'm trying to open... Thanks for any tips! Mike Stepniczka mikes@ceco.ceco.com
Newsgroups: comp.sys.next.programmer From: Robert Aich <raich@ganesh.muc.de> Subject: Q: What is OPN? Message-ID: <CGwLJ9.1sI@ganesh.muc.de> Sender: robert@ganesh.muc.de (Robert Aich) Organization: No Org Date: Mon, 22 Nov 1993 17:21:09 GMT In the October issue of NeXTWORLD I read an article about the Objectware Professionals Network, but - sorry if I m too silly - I did n understand what OPN really is. Is it a network only for professional software-developers? I m no developer (just for fun so far) but I would like to contribute to discussions about modern concepts around OO-technology. I think distributed objects are one of the key-factors, not only for financial-services (Object Enterprise -> HP/NeXT), but e.g. also for future engineering-environments. Can somebody explain what OPN is heading for and h o w it works? Thanx. Robert raich@ganesh.muc.de -- NewsGrazer, a NeXTstep(tm) news reader, posting -- M>UQR=&8P7&%N<VE[7&9O;G1T8FQ<9C!<9FYI;"!";V]K;6%N+4QI9VAT.WT* M7&UA<F=L,3(P"EQM87)G<C$R,`I<<&%R9%QT>#8Q-%QT>#$R,CA<='@Q.#0S M7'1X,C0U-UQT>#,P-S%<='@S-C@V7'1X-#,P,%QT>#0Y,35<='@U-3(Y7'1X M-C$T,UQF,%QB,%QI,%QU;&YO;F5<9G,R-%QF8S!<8V8P($EN('1H92!/8W1O M8F5R(&ES<W5E(&]F($YE6%173U),1"!)(')E860@86X@87)T:6-L92!A8F]U M="!T:&4@3V)J96-T=V%R92!0<F]F97-S:6]N86QS($YE='=O<FLL(&)U="`M M('-O<G)Y(&EF($G";2!T;V\@<VEL;'D@+2!)(&1I9,)N('5N9&5R<W1A;F0@ M=VAA="!/4$X@<F5A;&QY(&ES+B!)<R!I="!A(&YE='=O<FL@;VYL>2!F;W(@ M<')O9F5S<VEO;F%L('-O9G1W87)E+61E=F5L;W!E<G,_($G";2!N;R!D979E M;&]P97(@*&IU<W0@9F]R(&9U;B!S;R!F87(I(&)U="!)('=O=6QD(&QI:V4@ M=&\@8V]N=')I8G5T92!T;R!D:7-C=7-S:6]N<R!A8F]U="!M;V1E<FX@8V]N M8V5P=',@87)O=6YD($]/+71E8VAN;VQO9WDN($D@=&AI;FL@9&ES=')I8G5T M960@;V)J96-T<R!A<F4@;VYE(&]F('1H92!K97DM9F%C=&]R<RP@;F]T(&]N M;'D@9F]R(&9I;F%N8VEA;"US97)V:6-E<R`H3V)J96-T($5N=&5R<')I<V4@ M+3X@2%`O3F585"DL(&)U="!E+F<N(&%L<V\@9F]R(&9U='5R92!E;F=I;F5E M<FEN9RUE;G9I<F]N;65N=',N7`I#86X@<V]M96)O9'D@97AP;&%I;B!W:&%T M($]03B!I<R!H96%D:6YG(&9O<B!A;F0@:"!O('<@:70@=V]R:W,_7`I<"E1H F86YX+EP*7`I2;V)E<G1<"G)A:6-H0&=A;F5S:"YM=6,N9&4*?0H_ `
From: izumi@pinoko.berkeley.edu (Izumi Ohzawa) Newsgroups: comp.sys.next.programmer,comp.sys.next.misc,comp.sys.next.software Subject: OpenStep and DPS ? Date: 23 Nov 1993 19:00:40 GMT Organization: University of California, Berkeley Distribution: world Message-ID: <2ctmko$qd3@agate.berkeley.edu> The Sun/NeXT news is better than I expected. Now, OpenStep will be based on OS-independent API portion of NS 3.2, getting divorced from Mach OS, and that's fine with me as long as the underlying OS is good. What then will be the relationship between OpenStep and DPS, the current imaging model for NEXTSTEP? Is DPS part of OpenStep API, or does OpenStep also become independent of DPS as the imaging model? -- Izumi Ohzawa [ $@Bg_78^=;(J ] USMail: University of California, 360 Minor Hall, Berkeley, CA 94720 Telephone: (510) 642-6440 Fax: (510) 642-3323 Internet: izumi@pinoko.berkeley.edu (NeXTMail OK)
Newsgroups: comp.sys.next.programmer From: cuilla@black_silk (Chris Cuilla) Subject: Re: Is NEXTSTEP 3.2 shipping? (QuickBase) Message-ID: <1993Nov23.164504.27754@il.us.swissbank.com> Keywords: QuickBase, NEXTSTEP 3.2, DBAdaptor Sender: root@il.us.swissbank.com (Operator) Organization: Swiss Bank Corporation CM&T Division Distribution: comp.sys.next.advocacy Date: Tue, 23 Nov 1993 16:45:04 GMT In article b27@cnn.sim.es.com, npratt@glacier.sim.es.com (Nevin Pratt) writes: > > Also, another program I wrote that uses QuickBase no > longer works. It crashes > with a complaint about the > QB DBKit adaptor, which hints that 3.2 introduced > > changes that don't get along with QB (it couldn't be *my* > code, could it? :-) > > As a follow-up, while I'm generally please with NS > 3.2/FIP, QuickBase is definitely totally hosed under it > (or at least, the QB DBKit adaptor is). > > Although I'm sure that the QuickBase people will provide > a fix shortly (they have always been very responsive), > if you rely on QB for your project, you had better not > upgrade to 3.2/FIP until the QB fix comes (this assumes > you are using their DBKit adaptor rather than their custom > class library for QB access. Their custom class library > might work fine-- I don't know-- but I *do* know their > DBKit adaptor somehow got hosed with 3.2/FIP). I've chatted with Scott Keith at SofDesign (creators of QuickBase) about this problem. Since I must be concerned about such problems. He has said (as he has told me all along) that they are continuing to work on the DBAdaptor, and plan (relatively soon from what I gather) to release a new DBAdaptor that will fix a number of existing problems, and bring their adaptor more in alignment with the features of the Sybase adaptor. He also mentioned that he wasn't yet aware of this specific problem but would be looking into ASAP. Just another axample of Scott, and SofDesign's terrific responsiveness. ******************************* DISCLAIMER ******************************* I do not work for Scott Keith, or SofDesign. I do not sell QuickBase. I have no financial stake or interest in this product. I'm just a happy customer. ************************************************************************** -- Chris Cuilla --- NEXTSTEP Developer chris@its.com --------------------------------------------------------------------- "There's no such thing a as 'part-time' perfectionist."
Newsgroups: comp.sys.next.programmer From: mike@lorax.com (Mike Ferris) Subject: Re: Putting cursor in TextField Message-ID: <CGyGCH.2vF@lorax.com> Sender: mike@lorax.com (Mike Ferris) Organization: Stultus Enterprises References: <1993Nov23.101133.260@dart.de> Date: Tue, 23 Nov 1993 17:24:16 GMT In article <1993Nov23.101133.260@dart.de> Atze (Alexander Spohr) writes: >In article <CGupsn.1CK@genoa.com> alex@cs.umd.edu (Alex Blakemore) writes: >> >> we just went through a thread on this, and I lost the answer. >> is there a way to find out which formcell or textfieldcell the >> window's field editor is currently serving? > >Yes, it's the delegate of the window's field editor. Actually the Control is the delegate, not the cell. You can find the cell from the control pretty easily though. ____________________________________________________________ Mike Ferris Every time that wheel goes 'round, mike@lorax.com You're bound to cover Rubicon Software just a little more ground. (510) 652-2039
Newsgroups: comp.sys.next.programmer,comp.sys.next.misc,comp.sys.next.software From: byer@mv.us.adobe.com (Scott Byer) Subject: Re: OpenStep and DPS ? In-Reply-To: izumi@pinoko.berkeley.edu's message of 23 Nov 1993 19:00:40 GMT Message-ID: <BYER.93Nov23133550@birch.mv.us.adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated, Mountain View, CA References: <2ctmko$qd3@agate.berkeley.edu> Date: Tue, 23 Nov 1993 21:35:50 GMT In article <2ctmko$qd3@agate.berkeley.edu> izumi@pinoko.berkeley.edu (Izumi Ohzawa) writes: > Is DPS part of OpenStep API, or does OpenStep also become independent > of DPS as the imaging model? Uhm, the specification for the DPS API is already published (PostScript Language Reference Manual and Programming the Display PostScript System with X). And why would NeXT want to divorce itself from that? Beside, DPS is part of Solaris, isn't it? :-) -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
From: scott@nic.gac.edu (Scott Hess) Newsgroups: comp.sys.next.programmer Subject: Re: How to see IBEditor and/or Attributes for a custom File's Owner? Date: 23 Nov 93 15:42:23 Organization: Is a sign of weakness Message-ID: <SCOTT.93Nov23154223@nic.gac.edu> References: <1993Nov23.015943.21449@media.com> In-reply-to: carol@media.com's message of Tue, 23 Nov 1993 01:59:43 GMT In article <1993Nov23.015943.21449@media.com>, carol@media.com (Carol Deihl) writes: >Using Interface Builder, I have set the class of the File's Owner >object to a custom class of my own making (it happens to be in a >palette that I've loaded). I need to set things in the Attributes >Inspector and in the custom IBEditor for that custom class, but >IB only shows me the File's Owner Attributes (e.g. the list of >classes to choose from) on a single click, and the class editor >on a double click. Anyone know how I can access my custom Attributes >Inspector and Editor? This is a common misunderstanding WRT File's Owner. The problem is that File's Owner is a _placeholder_, not a real object. Basically, File's Owner stands in for the object passed as owner to an Application -loadNib* method. It doesn't actually exist in the .nib file - thus, you can't inspect it (I mean, what is there to inspect?). This has a number of consequences. For instance, File's Owner is created manually via +alloc*/-init instead of -read:/-awake/-finishUnarchiving as .nib objects are created. A reasonable solution that is usable is to have the File's Owner provide an outlet to point at another object which can hold the configuration information. It sounds like a hack, but it really isn't that bad. An alternative solution which I've not tried as of yet would be to make the File's Owner be a simple placeholder which forwards messages to a different object which _really_ controls the .nib file. Since this other object _would_ exist in the .nib file, it can have an inspector. Later, -- scott hess <scott@nic.gac.edu> <I can handle NeXTMail, but don't like it> 12901 Upton Avenue South, #326 Burnsville, MN 55337 (612) 895-1208 Anytime! <C++: ... One Language to bring them all and in the darkness bind them> <In the Land of Redmond where the Shadows lie.>
Newsgroups: comp.sys.next.programmer,comp.sys.next.syadmin From: gpmenos@firestone.Princeton.EDU (Gerard Philippe Menos) Subject: Running Apps "Remotely" Message-ID: <1993Nov23.164309.16487@Princeton.EDU> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University Date: Tue, 23 Nov 1993 16:43:09 GMT Hi. A developer friend of mine was going to do a big project in NT (using Visual C++ ??), but (with the Sun/NeXT) news is re-evaluating options. He has a question for me that I am not equipped to respond to. My friend is wondering if it's possible, with NEXTSTEP, to run an app on machine A, but have the results display on machine B. I assume this is part of the purpose of the Portable Distributed Objects scheme, but would like to provide a fuller answer, as he makes a decision (in the next few days) on which environment to work in. Please explain the best way(s) to develop an app that would run processes on a machine (Sun or H-P!) in Buffalo, NY and display results on a machine (Intel-based!) in Boston, Massachusetts. Can someone post or e-mail a response to this query. With much appreciation, Phil P.S. By the way, I've already suggested that NEXTSTEP would be superior to NT from a SysAdmin point of view (especially for remote access to sites that are running the app)... but I am open to getting all further thoughts to amplify this suggestion. -- G. Philippe Menos gpmenos@firestone.princeton.edu [NeXTmail OK.] Systems Administrator, Princeton University Libraries voice: 609-258-5183 fax: 609-258-5571
From: david@chern.msri.org (David Mostardi) Newsgroups: ba.jobs.offered,misc.jobs.offered,comp.sys.next.programmer Subject: Next programmer wanted in Northern California Date: 23 Nov 1993 22:27:08 GMT Organization: Capital Market Technology, Berkeley Distribution: usa Message-ID: <35689@dog.ee.lbl.gov> Exciting NeXTSTEP Development Opportunity in California! Marine Terminals Corporation, a major west coast stevedoring company with offices in SF and Oakland, is currently developing a NeXTSTEP-based graphical planning system. This highly-interactive, application will be used on a WAN connecting 3 sites around California. MTC is looking for a creative, self-motivated developer with demonstrable Objective-C and NeXTstep experience to participate in the development effort for this innovative product. Some networking and database experience would also be helpful. This is a fulltime position. Please contact: Steve Longbotham (415) 267-1138 Marine Terminals Corporation mtcoak!steve@netcom.com 600 Harrison Street, Suite 200 (NeXT mail accepted) San Francisco CA, 94107 *** Do not reply to this account! *** -- David Mostardi "Due to budgetary cutbacks, Capital Market Technology, Berkeley CA the light at the end (510) 540-6400 of the tunnel has been david@capmkt.com turned off."
Newsgroups: comp.sys.next.programmer From: mgoedel@muaddib.isar.muc.de (Maximilian Goedel) Subject: Re: Connecting to the Mathematica Kernel Message-ID: <CGysvA.9oy@muaddib.isar.muc.de> Sender: mgoedel@muaddib.isar.muc.de (Maximilian Goedel) Organization: Michael Maximilian Goedel References: <1993Nov23.003646.16725@sfu.ca> Distribution: all Date: Tue, 23 Nov 1993 21:54:46 GMT In article <1993Nov23.003646.16725@sfu.ca> allanc@casaba.csil.sfu.ca (Christopher Allan) writes: > I'm doing a term project in a University GUI course and I would like to > write an app that connects and talks to the Mathematica kernel. If any- > one could point me to some information and/or code examples I'd be quite > greatful. > This is just a litte example of Subprocesses; First create a Subprocess-object for the communication to the math-kernel: mathProcess = [[Subprocess alloc] init: "/path"]; where path is e.g. "/NextApps/Mathematica.app/Kernel/math" Then you have to tell the new process, to which target the outgoing information has to go: [mathProcess setDeleate: result]; here result could be you own tag Now send the command to Mathematica: [mathProcess send: "N[Pi, 1000]\n"]; Lots of fun -- Michael Maximilian Goedel _____________________ e-mail: mgoedel@muaddib.isar.muc.de Address: Gerhardstrasse 33 - 81543 Muenchen Telephone: +49 89 65 29 18
Newsgroups: comp.sys.next.programmer,comp.sys.next.syadmin From: byer@mv.us.adobe.com (Scott Byer) Subject: Re: Running Apps "Remotely" In-Reply-To: gpmenos@firestone.Princeton.EDU's message of Tue, 23 Nov 1993 16:43:09 GMT Message-ID: <BYER.93Nov23160502@birch.mv.us.adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated, Mountain View, CA References: <1993Nov23.164309.16487@Princeton.EDU> Date: Wed, 24 Nov 1993 00:05:02 GMT In article <1993Nov23.164309.16487@Princeton.EDU> gpmenos@firestone.Princeton.EDU (Gerard Philippe Menos) writes: > My friend is wondering if it's possible, with NEXTSTEP, to run > an app on machine A, but have the results display on machine > B. I assume this is part of the purpose of the Portable > Distributed Objects scheme, but would like to provide a fuller > answer, as he makes a decision (in the next few days) on which > environment to work in. > Please explain the best way(s) to develop an app that would run > processes on a machine (Sun or H-P!) in Buffalo, NY and display > results on a machine (Intel-based!) in Boston, Massachusetts. It sounds *almost* like there are really two questions here. The answer to the obvious one is yes, use -NXHost to redirect the display for an application somewhere else. As long as the receiving system is marked as a public window server, there's no problem. The utility OpenSesame make running apps remotely on severeal different machines an easy task. This acutally has nothing to do with PDO. The other, more subtle thing that will go on (is going on) is "Distributed Objects". These are much more interesting beasts, as they allow an application developer to split up an application in functional units, which can then be run on different machines. Instead of having to manually open a port and send a specific protocol across it, an application will be able to create a proxy object and then from then on simply deal with it as if it were local to the machine it was being run on. The advantage of this over remote displaying is that most of the UI can be run locally, increasing responsiveness to the user for critical UI elements, while the object can be run on whatever machine is best for running that kind of object - say, running a data gathering object on an HP with a disk array. <<A contrived example: you've really gone and site-licensed every Type 1 font in the world and you have them sitting on a server somewhere. It would be faster to have the font object sitting on that server than having it local - such things as getting a list of every font would stay on the server, and only the small portions of the list that need to be displayed in the UI would be shoved over the wire, rather than have every font name shoved.>> In essence, PDOs really do mean that "the network is the computer." Note that either method doesn't care what the processor type is, as long as it's running NEXTSTEP. -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
From: jreiss@magnus.acs.ohio-state.edu (Joseph W Reiss) Newsgroups: comp.sys.next.programmer Subject: Re: Waiting for Workspace to launch... Date: 24 Nov 1993 00:59:21 GMT Organization: The Ohio State University Distribution: world Message-ID: <2cubl9$p9p@charm.magnus.acs.ohio-state.edu> References: <2crpanINNaei@python.cis.ohio-state.edu> <2cru1r$kvc@ftp.alleg.edu> Luomat@alleg.edu (Timothy J. Luoma) wrote... >Instead of having it launch from your dock, why not have add it to your >Workspace LaunchPaths? This can be easily done with TickleServices, or >with a dwrite Well, for myself that'd be fine. But if I can get this last "bug" out of this program, it's quite possible that it might get put on the archives for public consumption, and I'd like to keep it as simple as possible. Setting the flag to autolaunch a program from the dock is much more intuitive than using LaunchPaths. So, is it possible for an AutoLaunched app to delay reading in a non-TIFF image before the Workspace has finished its startup chores and located all the filter services? I tried putting a "findApplications" message in before attempting the load in hopes that'd convince the WM to go out and find the proper information for me, but that didn't cut it at all. Please, any solutions are greatly appreciated. Joe -- __________ | NeXTMail? We can do NeXTMail!!! | |___) | """""""""""""""""""""""""""""""""""""""""""""""""""""""" \_/OE | \EISS | This patient has hyperwhosiwawah. Prepare for gobble `---- | degoogoo surgery. Hand me the nanu-whatchamadosits.
From: mikep@hack.dragoman.com (Mike Park) Newsgroups: comp.sys.next.bugs,comp.sys.next.programmer,comp.sys.next.sysadmin Subject: Auto reboot after a crash? Date: 23 Nov 1993 17:12:02 -0800 Organization: Hoopy Froods, Inc. Message-ID: <2cucd2$352@hack.dragoman.com> Keywords: crash autoboot reboot 3.1 Does anyone have a kernel hack to allow a 3.1 black hardware machine do an auto-reboot after a crash? I'm sick of finding my machine dead with the "duplicate posix control structure" bug. If it would at least auto-reboot then news and mail would not backlog. There must be an adb kernel hack to make panics do an auto-reboot. Who has it? Mike -- Mike Park mikep@dragoman.com
Newsgroups: comp.sys.next.programmer From: gil@atlantic.mps.ohio-state.edu (Gil Rivlis) Subject: Clicking and Dragging question Message-ID: <1993Nov24.015245.20213@pacific.mps.ohio-state.edu> Followup-To: comp.sys.next.programmer Summary: How to implement clicking and dragging a-la-Fileviewer? Keywords: mouse, dragging Sender: news@pacific.mps.ohio-state.edu Organization: Ohio State University; Physics Department Date: Wed, 24 Nov 1993 01:52:45 GMT I would like to implement a File Viewer-like behavior when clicking and/or dragging the mouse. That is, I'd like to detect mouseDragged events and if it wasn't dragged then I'd like to implement some action on mouseDown (or mouseUp, I don't care). However, if mouseDragged is detected, I'd like to implement a dragging session. A file viewer behaves is a similar way. When you click an icon on the shelf, this folder/app/file is chosen in the browser. However, when draggin an icon, it just gets dragged, and nothing happens to the browser. Any ideas? If people will be interested, I'll summarize the replies. Thanks, Gil -- Gil Rivlis, Physics Department, OSU gil@atlantic.mps.ohio-state.edu NeXTmail welcome.
From: zmonster@ATHENA.MIT.EDU (Eric M Hermanson) Newsgroups: comp.sys.next.programmer,comp.sys.next.misc,comp.sys.next.software Subject: Re: OpenStep and DPS ? Date: 24 Nov 1993 03:36:22 GMT Organization: Massachusetts Institute of Technology Distribution: world Message-ID: <2cukrm$m5f@senator-bedfellow.MIT.EDU> References: <2ctmko$qd3@agate.berkeley.edu> In article <2ctmko$qd3@agate.berkeley.edu> izumi@pinoko.berkeley.edu writes: >What then will be the relationship between OpenStep and >DPS, the current imaging model for NEXTSTEP? >Is DPS part of OpenStep API, or does OpenStep also become independent >of DPS as the imaging model? The following information is what I received from a software engineer at NeXT: OpenStep includes the full NEXTSTEP GUI. Part of the OpenStep spec is that it retains the same appearance and behavior as NEXTSTEP. Here's specifically what the spec will include at the minimum (I may have left something out here): * DisplayPostscript * Distributed Objects * the AppKit * Databasekit * Objective-C Eric
From: hindman@orange.digex.com (hindman) Newsgroups: comp.sys.next.programmer Subject: I need a unix wizard... Date: 23 Nov 1993 21:29:52 -0800 Organization: Express Access Online Communications, Greenbelt, MD USA Distribution: ca Message-ID: <2curgg$nsa@orange.digex.net> I need some help setting up my cube for mail and news. I live in Fountain Valley (close to Irvine). I can provide transportation and ? Please call me at 800-800-8600 ext 215. Thanks
From: eidosat!fichting (Helmut Fichtinger) Newsgroups: comp.sys.next.programmer Subject: Event Programming Date: 24 Nov 1993 09:15:55 +0100 Organization: Heliosan Medicaldevelopment Center, Stockerau, Austria Sender: fichting@eidos.co.at Message-ID: <2cv57r$7l7@eidosat.eidos.co.at> Keywords: event, application defined event Hello! Can anyone explain the concept of an application defined event by an programming example? many thanks helmut Helmut Fichtinger Austr. 10 A-2000 Stockerau Austria voice +43 2266 61830 fax +43 2266 61830 12 e-mail fichting@eidos.co.at
From: michael@rs2.iaee.tuwien.ac.at () Newsgroups: comp.sys.next.programmer Subject: Programming an Inspector Panel? Date: 24 Nov 1993 15:59:42 GMT Organization: Technical University Vienna, Austria Distribution: world Message-ID: <2d00de$876@email.tuwien.ac.at> What´s the best way to create an Inspector Panel with IB? Do I have to create all Views in source? Shall I create for each Inspector-View a window and use the content view of these windows by copying it after loading the .nib file? Are there some other suggestions? Suessner Michael
Newsgroups: comp.sys.next.programmer From: hlam@bmerh170.bnr.ca (Hayward Lam) Subject: Attention Panel: how? Message-ID: <1993Nov24.173228.9197@bmers95.bnr.ca> Sender: hlam@bmerh170 (Hayward Lam) Organization: Bell-Northern Research, Ottawa, Canada Date: Wed, 24 Nov 1993 17:32:28 GMT I'd like to create an attention panel with 2 text fileds. Do I have to deal with the open/close/positioning (etc.) the panel in the corresponding object? I thought it's automatically done when you create the attentation panel from the IB menu!!?? Any comments? Any example code?? Hayward
From: "Thomas G. Mon" <tm31+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: Browser Memory Leak, or so I think Date: Wed, 24 Nov 1993 13:06:20 -0500 Organization: Senior, Math/Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <Agwu_QW00Uh_A3AEZZ@andrew.cmu.edu> I am using the following code to fill in the cells in a browser, when I link in MallocDebug.lib I get "free-node trashed" warnings/errors as well as other errors. Is this the correct want to fill in a browser column from a linked list of items? I really should be using a list object, but that'll get changed later. Here is the code, any help is appreciated: - (int)browser:sender fillMatrix:matrix inColumn:(int)column { int row = 0; id cell; NODE *mark = headList; while(mark != NULL) { [matrix addRow]; cell = [GraphCell alloc]; [cell setLoaded:YES]; [cell setEnabled:YES]; [cell setLeaf:YES]; [cell setWidgetNode:mark]; [cell setStringValue:mark->widget.name]; [[matrix putCell:cell at:row :0] free]; // Frees the cell that was there. row++; mark = mark->next; } return row; } In fact, if you have an example code, please feel free to send it to me. Thanks, tm31@andrew.cmu.edu [NeXTmail welcome]
Newsgroups: comp.sys.next.programmer From: laurent@planon.qc.ca (Laurent Daudelin) Subject: Re: Event Programming Message-ID: <1993Nov24.161117.3879@planon.qc.ca> Sender: laurent@planon.qc.ca References: <2cv57r$7l7@eidosat.eidos.co.at> Date: Wed, 24 Nov 1993 16:11:17 GMT In article <2cv57r$7l7@eidosat.eidos.co.at> eidosat!fichting (Helmut Fichtinger) writes: | Hello! | | Can anyone explain the concept of an application defined event by an | programming example? | | many thanks | helmut | | | Helmut Fichtinger | Austr. 10 | A-2000 Stockerau | Austria | voice +43 2266 61830 | fax +43 2266 61830 12 | e-mail fichting@eidos.co.at Basically, an event driven application responds to events, and, base on the kind of events, the application performs appropriate functions. The operating system is the general controller of the entire computer, or so. When it detects an event, a key press, the mouse moves, a floppy disk is inserted, and so on, the OS determines if the event should be fowarded to the active application. It then put the event in a queue where an application can retreive it (usually the frontmost). The main part of the application is basically a loop that calls a function to see if there is any pending event in the queue that needs to be processed. In NeXTSTEP, all this stuff is hidden from the programmer. For example, if the user clicks a button in a window, the application object processes this event by fowarding it to the window object, which, in turn, will foward it to his first responder. This first responder will have the opportunity to process the event. In short, this is, basically, what is an event driven application. Hope this helps! Laurent. -- ****************************************************************************** Laurent Daudelin, Software Engineer Planon TELEXPERTISE Inc., Boucherville, Quebec, CANADA laurent@planon.qc.ca <-- NeXTMail welcome! (Mac Mail welcome too!)
Newsgroups: comp.sys.next.marketplace,comp.sys.next.programmer From: fugue!william (William Wei) Subject: NEXTSTEP DEVELOPER Message-ID: <1993Nov24.191021.2418@imagine.com> Sender: william@imagine.com (William Wei) Organization: Imagine Multimedia, Inc., Ann Arbor, MI, USA Distribution: usa Date: Wed, 24 Nov 1993 19:10:21 GMT Hi, I'm an experenced NEXTSTEP developer. I'm looking for NEXTSTEP software engineer position. If you are interested, please call me at: phone: (617)522-8205 William Wei c/o Lena Mathews 33 Burroughs St. #2 Jamaica Plain, MA 02130 I encloded my resume both in ASCII and postscript form. p.s. please don't send e-mail. --------- resume in ASCII ------------ William Wei 314 Village Green Blvd. #202 Ann Arbor, MI 48105 phone: (313)665-1641 SUMMARY Software engineer with experience and interest in: OO analysis, design and programming Client/Server architecture. Computer Graphic Multimedia Multi-thread architecture Chinese programming EXPERIENCE Imagine Multimedia Inc., Ann Arbor, Michigan Software engineer, 6/93 - present Designing and Implementing a Multimedia Asset Management system using Distributed Object technology in a Client/Server Multi-threaded Architecture. Developed network licensing scheme and integrated it into company's revolutionary interactive multimedia authoring package, Callisto. Stratus Computer Inc., Marlboro, Massachusetts Software engineer, 6/91 - 8/92 Worked in a tools and productivity group to support the development of a fault-tolerant UNIX project. Developed a validation, regression and code coverage test scheme for a new Pascal compiler and debugger. University Computing Center, University of Massachusetts Consultant, 6/91 - 6/93 Provided assistance to users on UNIX/VMS/DOS/Windows/Macintosh machines. Handled administration and wrote system programs and utilities. Department of Electrical and Computer Engineering, University of Massachusetts Teaching Assistant, 6/91 - 6/93 Assisted professors in teaching Data Structures & Algorithms and graduate-level Computer Graphics as well as co-designed homework, projects and exams. PERSONAL DEVELOPMENT Developing an Object-Oriented WYSIWYG Chinese word processor for NEXTSTEP. Developed an Object-Oriented 3D modeling and rendering graphics package which includes Boolean Operation and Ray Tracing. Implemented "Geometric Substitution" texture creator. The resulting textures were mapped to 3D objects such as icosahedra or spheres which were then viewed using 3D synthetic cameras. Developed a client/server model for distributed Ray Tracing using Mach's C-thread package and NEXTSTEP's Distributed Object. EDUCATION Master of Science in Electrical and Computer Engineering 9/91-5/93 University of Massachusetts, Amherst, Massachusetts Concentration in Object-Oriented Software Engineering and Computer Graphics Post Bachelorette studies in Computer Engineering 6/90-9/90 Michigan State University, East Lansing, Michigan Training Course - Programming NEXTSTEP 7/93 NeXT Computer Inc., Redwood City, California COMPUTER SKILL Object-Oriented analysis, design and programming. Programming in C/C++/Objective-C/Pascal/Modula-3/Assembly/UNIX shell/PostScript. Programming NEXTSTEP, UNIX, MS-Windows, X Windows and DOS. Computer Graphics in 2D and 3D, especially in 3D modeling and rendering. Relational database systems. Network, Client/Server programming. Multi-thread programming. User interface design. Chinese programming. REFERENCES Available upon request. ---- resume in postscript ----------- %!PS-Adobe-2.0 %%Title: resume.rtf - ~ %%Creator: Edit %%CreationDate: Tue Nov 23 15:55:32 1993 %%For: william %%DocumentFonts: (atend) %%Pages: (atend) 1 %%BoundingBox: (atend) %%DocumentPaperSizes: Letter %%Orientation: Portrait %%NXNextStepVersion: 3.0 %%EndComments %%BeginProcSet: /usr/lib/NextStep/printPackage.ps 3.0 %! % NeXT Printing Package % Version: 3.1 % Copyright: 1988, NeXT, Inc. /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /_NXLevel2 systemdict /languagelevel known {languagelevel 2 ge}{false}ifelse __NXdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /_NXfindfont /findfont load def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {_NXfindfont} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {_NXfindfont dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXImageString {/__NXImageString where{pop}{/__NXImageString 4000 string __NXdef}ifelse __NXImageString}__NXbdef /_NXDoImageOp{ 3 dict begin /parr 5 array def 1 index{dup}{1}ifelse /chans exch def chans 2 add 2 roll parr 0 chans getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /totbytes exch def pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore {0 1 chans 1 sub{parr exch get exec length totbytes exch sub /totbytes exch def}for totbytes 0 le{exit}if}loop end }__NXbdef /alphaimage{1 add _NXDoImageOp}def _NXLevel2{ /NXCalibratedRGBColorSpace where{pop}{ /NXCalibratedRGBColorSpace {mark /NXCalibratedRGB /ColorSpace findresource exch pop}stopped {cleartomark /NXCalibratedRGB[/CIEBasedABC 2 dict dup begin /MatrixLMN[.4124 .2126 .0193 .3576 .7152 .1192 .1805 .0722 .9505]def /WhitePoint[.9505 1 1.089] def end] /ColorSpace defineresource}if def}ifelse /nxsetrgbcolor{NXCalibratedRGBColorSpace setcolorspace setcolor}__NXbdef /nxsetgray{dup dup nxsetrgbcolor}__NXbdef /_NXCalibratedImage{exch{array astore dup length true}{false}ifelse 8 -1 roll{NXCalibratedRGBColorSpace setcolorspace}if 8 dict dup 9 1 roll begin /ImageType 1 def /MultipleDataSources exch def currentcolorspace 0 get /Indexed eq{pop /Decode[0 2 6 index exp 1 sub]def} {2 mul dup array /Decode exch def 1 sub 0 1 3 -1 roll{Decode exch dup 2 mod put}for}ifelse /DataSource exch def /ImageMatrix exch def /BitsPerComponent exch def /Height exch def /Width exch def end image}__NXbdef } { /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor}__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /colorimage{2 copy 3 ne or{_NXDoImageOp}{4 index dup 8 ne exch 4 ne and{_NXDoImageOp}{ pop pop save 6 1 roll 12 dict begin/Proc exch def/Res 0 string def /Alloc{2 index length mul 2 add dup 2 index load length gt{1.2 mul round cvi string def}{pop pop}ifelse}def 1 index 8 eq{/Unpack{.34 Alloc}def}{ /Wid 4 index 3 mul def exch pop 8 exch/Str1 0 string def/Lim Wid def /Unpack{.67 Alloc/Str1 2 Alloc 0 exch Lim exch {dup -4 bitshift 17 mul Str1 exch 4 index exch put 15 and 17 mul Str1 exch 3 index 1 add exch put 2 sub dup 0 le{0 lt Wid exch{exch 1 sub exch}if}if exch 2 add exch }forall/Lim exch def Str1 exch 0 exch getinterval }def }ifelse /Ops[{.3 mul add 1}{.59 mul add 2}{.11 mul add round cvi Res exch 2 index exch put 1 add 0.0 0}]def/Val 0.0 def/Phase 0 def {0 Val Phase Proc/Res Unpack{exch Ops exch get exec}forall/Phase exch def/Val exch def Res exch 0 exch getinterval} image end restore}ifelse}ifelse }__NXbdef /nxsetrgbcolor{setrgbcolor}__NXbdef /nxsetgray{setgray}__NXbdef /setpattern{pop .5 setgray}__NXbdef /_NXCalibratedImage{dup 1 eq {pop pop image}{colorimage}ifelse pop}__NXbdef } ifelse /_NXSetCMYKOrRGB where{pop}{ mark{systemdict /currentwindow get exec}stopped {{pop pop pop setcmykcolor}}{{nxsetrgbcolor pop pop pop pop}}ifelse /_NXSetCMYKOrRGB exch def cleartomark }ifelse %%EndProcSet gsave -20 408 translate /__NXbasematrix matrix currentmatrix def grestore %%EndProlog %%BeginSetup %%PaperSize: Letter %%EndSetup %%Page: 1 1 %%PageBoundingBox: 49 74 563 720 %%PageFonts: (atend) %%BeginPageSetup %%PaperSize: Letter /__NXsheetsavetoken save def 49.5 74 translate gsave -20 408 translate /__NXbasematrix matrix currentmatrix def grestore gsave /Times-Roman findfont 12 scalefont [1 0 0 -1 0 0] makefont 60 exch defineuserobject 60 execuserobject setfont 0 nxsetgray [1 0 0 -1 0 970] concat 0 324 translate %%EndPageSetup gsave 0 0 513 646 rectclip 1 nxsetgray 0 0 513 646 rectfill /Times-Bold findfont 13 scalefont [1 0 0 -1 0 0] makefont 13 exch defineuserobject 13 execuserobject setfont 0 nxsetgray 221 13 moveto (William Wei) show 60 execuserobject setfont 184 27 moveto (314 Village Green Blvd. #202) show 203 41 moveto (Ann Arbor, MI 48105) show 202 55 moveto (phone: \(313\)665-1641) show /Times-BoldItalic findfont 13 scalefont [1 0 0 -1 0 0] makefont 15 exch defineuserobject 15 execuserobject setfont 6 100 moveto (SUMMARY) show 60 execuserobject setfont 24 114 moveto (Software engineer with experience and interest in:) show 24 133 moveto <b7204f4f20616e616c797369732c2064657369676e20616e642070726f6772616d6d696e6 7> show 258 133 moveto <b720436c69656e742f536572766572206172636869746563747572652e> show 24 147 moveto <b720436f6d70757465722047726170686963> show 258 147 moveto <b7204d756c74696d65646961> show 24 161 moveto <b7204d756c74692d74687265616420617263686974656374757265> show 258 161 moveto <b7204368696e6573652070726f6772616d6d696e67> show 15 execuserobject setfont 6 191 moveto (EXPERIENCE) show /Times-Bold findfont 12 scalefont [1 0 0 -1 0 0] makefont 61 exch defineuserobject 61 execuserobject setfont 24 206 moveto (Imagine Multimedia Inc., Ann Arbor, Michigan) show 24 221 moveto (Software engineer, 6/93 - present) show 60 execuserobject setfont 24 235 moveto (Designing and Implementing a Multimedia Asset Management system using Distributed) show 24 249 moveto (Object technology in a Client/Server Multi-threaded Architecture.) show 24 268 moveto (Developed network licensing scheme and integrated it into company's revolutionary interactive) show 24 282 moveto (multimedia authoring package, Callisto.) show 61 execuserobject setfont 24 302 moveto (Stratus Computer Inc., Marlboro, Massachusetts) show 24 317 moveto (Software engineer, 6/91 - 8/92) show 60 execuserobject setfont 24 331 moveto (Worked in a tools and productivity group to support the development of a fault-tolerant UNIX) show 24 345 moveto (project. Developed a validation, regression and code coverage test scheme for a new Pascal) show 24 359 moveto (compiler and debugger.) show 61 execuserobject setfont 24 379 moveto (University Computing Center, University of Massachusetts) show 24 394 moveto (Consultant, 6/91 - 6/93) show 60 execuserobject setfont 24 408 moveto (Provided assistance to users on UNIX/VMS/DOS/Windows/Macintosh machines. Handled) show 24 422 moveto (administration and wrote system programs and utilities.) show 61 execuserobject setfont 24 442 moveto (Department of Electrical and Computer Engineering, University of Massachusetts) show 24 457 moveto (Teaching Assistant, 6/91 - 6/93) show 60 execuserobject setfont 24 471 moveto (Assisted professors in teaching Data Structures & Algorithms and graduate-level Computer) show 24 485 moveto (Graphics as well as co-designed homework, projects and exams.) show 15 execuserobject setfont 6 515 moveto (PERSONAL DEVELOPMENT) show 60 execuserobject setfont 24 529 moveto (Developing an Object-Oriented WYSIWYG Chinese word processor for NEXTSTEP.) show 24 548 moveto (Developed an Object-Oriented 3D modeling and rendering graphics package which includes) show 24 562 moveto (Boolean Operation and Ray Tracing.) show 24 581 moveto (Implemented "Geometric Substitution" texture creator. The resulting textures were mapped to) show 24 595 moveto (3D objects such as icosahedra or spheres which were then viewed using 3D synthetic cameras.) show 24 614 moveto (Developed a client/server model for distributed Ray Tracing using Mach's C-thread package) show 24 628 moveto (and NEXTSTEP's Distributed Object.) show grestore grestore showpage __NXsheetsavetoken restore %%PageTrailer %%DocumentFonts: Times-BoldItalic %%+ Times-Bold %%+ Times-Roman %%Page: 2 2 %%PageBoundingBox: 49 396 563 720 %%PageFonts: (atend) %%BeginPageSetup %%PaperSize: Letter /__NXsheetsavetoken save def 49.5 396 translate gsave -20 408 translate /__NXbasematrix matrix currentmatrix def grestore gsave /Times-Roman findfont 12 scalefont [1 0 0 -1 0 0] makefont 60 exch defineuserobject 60 execuserobject setfont 0 nxsetgray [1 0 0 -1 0 970] concat 0 0 translate %%EndPageSetup gsave 0 646 513 324 rectclip 1 nxsetgray 0 646 513 324 rectfill /Times-BoldItalic findfont 13 scalefont [1 0 0 -1 0 0] makefont 15 exch defineuserobject 15 execuserobject setfont 0 nxsetgray 6 658 moveto (EDUCATION) show /Times-Bold findfont 12 scalefont [1 0 0 -1 0 0] makefont 61 exch defineuserobject 61 execuserobject setfont 24 673 moveto (Master of Science in Electrical and Computer Engineering) show 60 execuserobject setfont 373 673 moveto (9/91-5/93) show 24 687 moveto (University of Massachusetts, Amherst, Massachusetts) show 24 701 moveto (Concentration in Object-Oriented Software Engineering and Computer Graphics) show 61 execuserobject setfont 24 721 moveto (Post Bachelorette studies in Computer Engineering) show 60 execuserobject setfont 373 721 moveto (6/90-9/90) show 24 735 moveto (Michigan State University, East Lansing, Michigan) show 61 execuserobject setfont 24 755 moveto (Training Course - Programming NEXTSTEP) show 60 execuserobject setfont 373 755 moveto (7/93) show 24 769 moveto (NeXT Computer Inc., Redwood City, California) show 15 execuserobject setfont 6 798 moveto (COMPUTER SKILL) show 60 execuserobject setfont 24 812 moveto (Object-Oriented analysis, design and programming.) show 24 826 moveto (Programming in C/C++/Objective-C/Pascal/Modula-3/Assembly/UNIX shell/PostScript.) show 24 840 moveto (Programming NEXTSTEP, UNIX, MS-Windows, X Windows and DOS.) show 24 854 moveto (Computer Graphics in 2D and 3D, especially in 3D modeling and rendering.) show 24 868 moveto (Relational database systems.) show 24 882 moveto (Network, Client/Server programming.) show 24 896 moveto (Multi-thread programming.) show 24 910 moveto (User interface design.) show 24 924 moveto (Chinese programming.) show 15 execuserobject setfont 6 953 moveto (REFERENCES) show 60 execuserobject setfont 24 967 moveto (Available upon request.) show grestore grestore showpage __NXsheetsavetoken restore %%PageTrailer %%DocumentFonts: Times-BoldItalic %%+ Times-Bold %%+ Times-Roman %%Trailer %%DocumentFonts: Times-BoldItalic %%+ Times-Bold %%+ Times-Roman %%Pages: 2 1 %%BoundingBox:49 74 563 720 -- ++ William Wei Imagine Multimedia william@imagine.com (NeXTmail accepted)
From: cjohnson@uranus.aitc.rest.tasc.com (Chris Johnson) Newsgroups: comp.sys.next.programmer Subject: NEXTSTEP Programmers Wanted Date: 24 Nov 1993 19:36:11 GMT Organization: TASC Message-ID: <2d0d3b$ojk@voltaire5.rest.tasc.com> NEXTSTEP DEVELOPMENT OPPORTUNITIES ABOUND IN WASHINGTON D.C. Northern Virginia based company is looking for developers motivated to work on NEXTSTEP database projects on black and white hardware (SYBASE, ORACLE). Openings are available for as many as 10 creative, self-motivated developers with Objective-C and NEXTSTEP development experience to participate on many new and existing database based development efforts. Existing security clearances would be great! However, the ability to get a clearance (sorry, no foriegn nationals) is a must. Some database experience would also be helpful. These are fulltime positions. Please send resume to: NEXTSTEP OPENINGS 6707B Washington BLVD Arlington, VA 22213
Newsgroups: comp.sys.next.programmer Subject: Re: Event Programming Message-ID: <1993Nov24.125550.4589@cc.usu.edu> From: hcole@tumbleweed.nrcabq.com (Howard R. Cole) Date: 24 Nov 93 12:55:50 MDT References: <1993Nov24.161117.3879@planon.qc.ca> Distribution: world In article <1993Nov24.161117.3879@planon.qc.ca> writes: > In article <2cv57r$7l7@eidosat.eidos.co.at> eidosat!fichting (Helmut > Fichtinger) writes: > | Hello! > | > | Can anyone explain the concept of an application defined event by an > | programming example? > Basically, an event driven application responds to events, and, base on the > kind of events, ... [ Rest of good description of event driven application deleted...] I think the question was "what is an example of an application defined event" rather than "what is an event driven application". Notice all the examples of events you described are *system* defined events rather than application defined events. Howard ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Howard Cole | Nichols Research Corp. | hcole@tumbleweed.nrcabq.com 2201 Buena Vista SE | Suite 203 | "Leaders on the trailing Albuquerque, NM 87106 | edge of technology"
Newsgroups: comp.sys.next.advocacy,comp.sys.next.misc,comp.sys.next.programmer,comp.sys.next.software From: mcentral@netcom.com (Media Central) Subject: is there a FAQ on NeXT-related-stuff ? Message-ID: <mcentralCH0J2w.M3A@netcom.com> Followup-To: poster Keywords: FAQ NEXT Organization: NETCOM On-line Communication Services (408 241-9760 guest) Date: Wed, 24 Nov 1993 20:18:32 GMT Hi folks, Suddenly Iam finding NeXT is the real thing and I would like to know more about it. Lets start with the FAQ, is their one ? cheers, shahid
Newsgroups: comp.sys.next.programmer From: bouhouch@next.mc.maricopa.edu (Ali Bouhouch) Subject: Debug vs. App compilation discrepancies Message-ID: <1993Nov24.234505.6155@ennews.eas.asu.edu> Keywords: debug, compilation Sender: news@ennews.eas.asu.edu (USENET News System) Organization: Arizona State University Date: Wed, 24 Nov 1993 23:45:05 GMT The following may be a bug in NeXTStep 3.1 for Intel machines. My application works properly when compiled with the 'debug' option selected, but hangs up when compiled with the 'app' option selected. The application launches but hangs up when my controller object is called. Using ProjectBuilder's Debug utility the application runs fine and data looks OK, so the problem could not be located. When transferring the source code to NeXT hardware running NeXTStep 3.0, it compiled and ran correctly as an App. Does someone have any ideas about what causes different behaviours when code is compiled as an app versus a debug version? All suggestions greatly appreciated. Thank you, Ali Bouhouch bouhouch@next.mc.maricopa.edu NeXT mail accepted
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Re: Event Programming Message-ID: <1993Nov24.202839.17670@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software References: <2cv57r$7l7@eidosat.eidos.co.at> Date: Wed, 24 Nov 1993 20:28:39 GMT Helmut Fichtinger writes >Hello! > >Can anyone explain the concept of an application defined event by an >programming example? > I cooked up a little example of how to do this. If anyone is interested, I can send it to you. Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
From: guy@Auspex.COM (Guy Harris) Newsgroups: gnu.misc.discuss,comp.os.linux.misc,comp.sys.next.advocacy,comp.sys.next.programmer,comp.sys.next.software Subject: cancel Message-ID: <19097@auspex-gw.auspex.com> Date: 25 Nov 93 01:35:30 GMT Control: cancel <19095@auspex-gw.auspex.com> Sender: news@auspex-gw.auspex.com Followup-To: gnu.misc.discuss <19095@auspex-gw.auspex.com> was cancelled from within trn.
From: guy@Auspex.COM (Guy Harris) Newsgroups: gnu.misc.discuss,comp.os.linux.misc,comp.sys.next.advocacy,comp.sys.next.programmer,comp.sys.next.software Subject: cancel Message-ID: <19098@auspex-gw.auspex.com> Date: 25 Nov 93 01:35:34 GMT Control: cancel <19096@auspex-gw.auspex.com> Sender: news@auspex-gw.auspex.com Followup-To: gnu.misc.discuss <19096@auspex-gw.auspex.com> was cancelled from within trn.
Newsgroups: comp.sys.next.programmer From: mshaler@tdocad.sps.mot.com (Michael Shaler) Subject: Re: Attention Panel: how? Message-ID: <CH0w93.8As@tdocad.sps.mot.com> Sender: news@tdocad.sps.mot.com Organization: Nippon Motorola Ltd., Tokyo, Japan References: <1993Nov24.173228.9197@bmers95.bnr.ca> Date: Thu, 25 Nov 1993 01:03:03 GMT Hayward Lam writes I'd like to create an attention panel with 2 text fileds. Do I have to deal with the open/close/positioning (etc.) the panel in the corresponding object? I thought it's automatically done when you create the attentation panel from the IB menu!!?? Any comments? Any example code?? Check out TTTools at ftp.next.com. This has an attention panel and much more, including VERY instructive code. ____________________ Michael Shaler Tokyo Design Center Nippon Motorola Ltd. +813 3280 8245 voice +813 3440 0033 fax mshaler@tdocad.sps.mot.com [NeXTmail]
Newsgroups: comp.sys.next.programmer From: costello@costello.mc.maricopa.edu (Ken Costello) Subject: Debug vs. App compilation discrepancies Message-ID: <1993Nov24.211306.3831@ennews.eas.asu.edu> Keywords: debug, compilation Sender: news@ennews.eas.asu.edu (USENET News System) Organization: Arizona State University Date: Wed, 24 Nov 1993 21:13:06 GMT The following may be a bug in NeXTStep 3.1 for Intel machines. My application works properly when compiled with the 'debug' option selected, but hangs up when compiled with the 'app' option selected. The application launches but hangs up when my controller object is called. Using ProjectBuilder's Debug utility the application runs fine and data looks OK, so the problem could not be located. When transferring the source code to NeXT hardware running NeXTStep 3.0, it compiled and ran correctly as an App. Does someone have ideas about what causes different behaviours when code is compiled as an app versus a debug version? All ideas greatly appreciated. Thank you, Ali Bouhouch bouhouch@next.mc.maricopa.edu NeXT mail accepted
Newsgroups: comp.sys.next.programmer From: wwright@shell.portal.com (Bradly William Wright) Subject: RIB in a View, how? <------------------------< Message-ID: <CH189D.DC3@unix.portal.com> Summary: Trying to import a rib into a view and render photoreal Keywords: RIB, View, ImageRep Class Sender: news@unix.portal.com Organization: Portal Communications Company Date: Thu, 25 Nov 1993 05:22:23 GMT I'm trying to load a rib into a view and render it photo-real. Does anyone have example code? Thanks wwright@shell.portal.com wwright@premisys.com
From: sanguish@digifix.com Newsgroups: comp.sys.next.announce,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.advocacy,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.bugs,comp.sys.next.programmer,comp.sys.next.marketplace Subject: Quick Guide to the comp.sys.next.* newsgroups Date: 25 Nov 1993 02:48:50 -0500 Organization: Next Announcements Message-ID: <2d1o12$824@digifix.digifix.com> The current menagerie: 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. comp.sys.next.announce Announcements of general interest to the NeXT community (new products, FTP submissions, user group meetings, commercial announcements etc.) The NEXTSTEP FAQs are posted here monthly as well. 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. 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. 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. 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. 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!!! comp.sys.next.programmer Questions and discussions of interest to NEXTSTEP programmers. This is primarily a forum for advanced technical material. The NEXTSTEP programmer FAQs are posted here. 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. comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. related Newsgroups 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. comp.lang.objective-c Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. 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. --------------------------------------------------------------------- Thanks to Michael Ross at antigone.com, the main NEXTSTEP groups are now available as a mailing list digest as well. next-nextstep-d next-advocacy-d next-announce-d next-bugs-d next-hardware-d next-marketplace-d next-misc-d next-programmer-d next-software-d next-sysadmin-d (For a full description, send mail saying LISTS to <digestif@antigone.com>). The subscription syntax is essentially the same as LISTSERV's. To subscribe, send a message to <digestif@antigone.com> saying: SUB Listname YourName Example: SUB next-hardware-d John Doe -------------------------------------------------------------------- Written by: Eric P. Scott eps@toaster.SFSU.EDU Minor editing: Scott Anguish sanguish@digifix.com Additions from: Greg Anderson (Greg_Anderson@afs.com) and Michael Pizolato (Michael_Pizolato@afs.com)
Newsgroups: comp.sys.next.programmer From: jq@phcs.com (Jim Quick) Subject: Re: Event Programming Message-ID: <CH0w90.AIH@phcs.com> Organization: Private Healthcare Systems, Inc References: <1993Nov24.161117.3879@planon.qc.ca> <1993Nov24.125550.4589@cc.usu.edu> Date: Thu, 25 Nov 1993 01:03:00 GMT In article <1993Nov24.125550.4589@cc.usu.edu> hcole@tumbleweed.nrcabq.com (Howard R. Cole) writes: >In article <1993Nov24.161117.3879@planon.qc.ca> writes: >> In article <2cv57r$7l7@eidosat.eidos.co.at> eidosat!fichting (Helmut >> Fichtinger) writes: >> | Hello! >> | >> | Can anyone explain the concept of an application defined event by an >> | programming example? > >> Basically, an event driven application responds to events, and, base on >the >> kind of events, ... > >[ Rest of good description of event driven application deleted...] > >I think the question was "what is an example of an application >defined event" rather than "what is an event driven application". >Notice all the examples of events you described are *system* >defined events rather than application defined events. > >Howard Let's say that application opened a socket and was listening for a TCP connect request (or was waiting for an incoming UDP datagram). You don't know when something will arrive, but you need to be able to handle it when it happens. Somewhere during initialization you set up your socket. Then you call this. - initMessages: aSocket { extern void myMsgHandler(); DPSAddFD(aSocket, myMsgHandler, (void *) self, PRIORITY); } /* Heres the handler which could do the work itself but in this ** case will convert it into a message to send to an object. *. void myMsgHandler(int fd, void *userdata) { id recipient = userdata; [ recipient readMessage: fd ]; } What you have done here is to associate a file descriptor with an object responsible for reading it when something arrives. Whenever the event occurs, the handler gets called and you end up passing a message to the appropriate object, which causes the socket to be read (or accept()ed etc.). Thus you have defined a new application specific event: what needs to happen when input arrives on this socket. Really, an application specific event is simply a *system* event or class of *system* events to which you have ascribed an application specific meaning. -- ___ ___ mail: uunet!phcs!jq PHCS, Inc. Advanced Technology Group / / / or jq@phcs.com It's spelled "Luxury Yacht", but it's \_/ (_\/ Voice: (617) 861-5579 pronounced "Throat-Warbler Mangrove". ) NeXTMail O.K.
From: fxg@schumann.informatik.rwth-aachen.de (Felix Gatzemeier) Newsgroups: comp.sys.next.programmer Subject: Re: 'gz' archive files Date: 25 Nov 1993 12:44:53 GMT Organization: Lehrstuhl fuer Informatik III, RWTH Aachen, Germany Distribution: world Message-ID: <FXG.93Nov25134454@schumann.informatik.rwth-aachen.de> References: <1993Nov10.191140.3447@leland.Stanford.EDU> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-reply-to: cjb@canopus.Stanford.EDU's message of Wed, 10 Nov 93 19:11:40 GMT I don't know wether it's in the FAQ's. A List of popular extensions should be in there. .gz is the "gnu zip" extension. Versions <= 1.0.3 use .z, 1.2.4 uses .gz, but I don't know when they changed it exactly. .z is the "zip" extension (that's why they changed the .gz extension) gnu zip is available at just about all archive sites. It is a better version than UN_X' "compress" and expands .Z files also. But I have 3 more questions on this subject: 1) There seems to be a version > 1.2.4 that can handle multi-file archives, but I havent seen the prog, just a file... 2) How do I uncompress gnuzip-1.2.4.gz? Just a point of interest. 3) Can I change the workspace's compression program neatly (i.e. without renaming executables)? -- Felix (fxg@(([Pool|I3].Informatik)|(Tolkien.ImIB)).RWTH-Aachen.de NeXT-Mail ok, but slow)
Newsgroups: comp.sys.next.programmer From: michael@trillian (Michael O'Connell) Subject: What do you think of the NeXT/Sun deal? Message-ID: <CH0xo6.1sI@sunworld.com> Sender: usenet@sunworld.com (Mr. UseNet Manager) Organization: SunWorld Magazine Date: Thu, 25 Nov 1993 01:33:42 GMT [ Article crossposted from comp.sys.next.misc ] [ Author was Michael O'Connell ] [ Posted on Thu, 25 Nov 1993 01:11:42 GMT ] I'm seeking reactions to the recent NeXT/SunSoft agreement. Any input would be appreciated. General comments are appreciated, but I also have a few specific questions: * How will NeXTSTEP on SPARC (or--perhaps more importantly--the incorporation of the NeXTSTEP application environment into Solaris) change the way you do your job, or your ability to do it? How mill it impact your company's business? * What impact do you suspect this agreement will have on the involved companies (Sun and NeXT)? * How much impact do you think OpenStep will have on SPARC users? On the Unix industry as a whole? Thanks in advance for your opinions. Please post them here or mail them to me directly. If the responses are good and plentiful I post a collection of them. Michael O'Connell oconnell@sunworld.com
From: krause@math.tu-berlin.de Newsgroups: comp.sys.next.programmer Subject: Are there objects to implement a shelf? Date: 25 Nov 1993 16:59:04 GMT Organization: TUBerlin/ZRZ Distribution: world Message-ID: <2d2o8o$757@mailgzrz.TU-Berlin.DE> Keywords: shelf,object Hello, does anybody know an object (or an object library) which helps to implement a shelf (like in the Workspace File Viewer or in Digital Librarian)? Any help appreciated. Thanks in advance. Martin -------------------------------------------------------------------- Martin Krause,Technical University Berlin,Department of Mathematics E-mail : krause@math.tu-berlin.de
Newsgroups: comp.sys.next.programmer From: brad@instep.wimsey.bc.ca Subject: Re: OpenStep and DPS ? Message-ID: <1993Nov25.211117.16334@instep.wimsey.bc.ca> Sender: brad@instep.wimsey.bc.ca (Bradley Head) Organization: InStep Mobile Communications Inc. References: <2cukrm$m5f@senator-bedfellow.MIT.EDU> Date: Thu, 25 Nov 1993 21:11:17 GMT In article <2cukrm$m5f@senator-bedfellow.MIT.EDU> zmonster@ATHENA.MIT.EDU (Eric M Hermanson) writes: > In article <2ctmko$qd3@agate.berkeley.edu> izumi@pinoko.berkeley.edu writes: > > >What then will be the relationship between OpenStep and > >DPS, the current imaging model for NEXTSTEP? > > >Is DPS part of OpenStep API, or does OpenStep also become independent > >of DPS as the imaging model? > > The following information is what I received from a software engineer at > NeXT: > > OpenStep includes the full NEXTSTEP GUI. Part of the OpenStep spec is that it > retains the same appearance and behavior as NEXTSTEP. > > Here's specifically what the spec will include at the minimum (I may have > left something out here): > * DisplayPostscript > * Distributed Objects > * the AppKit > * Databasekit > * Objective-C > > Eric What about threads? Threads is a very important facility. Distributed Objects, for example, relies on them - [NXPort worryAboutPortInvalidation], for example, which spawns a new thread to listen for port deaths. Will OpenStep include specifications for a threads (pthreads? cthreads?) implementation? Will the NEXTSTEP spec change to become a superset of OpenStep (removing mach dependencies from the developer kit interfaces)? Brad. -- Bradley Head Software Developer, InStep Mobile Communications Inc. brad@instep.wimsey.bc.ca (NeXTmail accepted) 604 872-7116 fax: 604 872-7125
Newsgroups: comp.sys.next.programmer,comp.databases.sybase From: mshaler@tdocad.sps.mot.com (Michael Shaler) Subject: @#$% problems compiling dsql under NeXTSTEP 3.1 (long) Message-ID: <CH3A29.2I8@tdocad.sps.mot.com> Sender: news@tdocad.sps.mot.com Organization: Nippon Motorola Ltd., Tokyo, Japan Date: Fri, 26 Nov 1993 07:56:32 GMT As a zealous tcsh user, I thought it would be great to have tcsh features available during my interaction with Sybase. I grabbed the readline library and the dsql source and still can't get dsql to compile. Has anybody compiled dsql for black hardware? Alternatively, can anyone help me understand what the pr oblem really is here? (Malloc is not the only one confused here....) Thanks in advance. michael tdoplan:1 > make cc -c -s -O -DSEMICOLON_HACK -DHIDE_PASSWORD -DNEED_XMALLOC -I/usr/sybase/include -I/usr/local/include -o dsql.o dsql.c In file included from dsql.c:183: /NextDeveloper/Headers/bsd/sys/malloc.h:11: conflicting types for `malloc' /NextDeveloper/Headers/ansi/stdlib.h:62: previous declaration of `malloc' /NextDeveloper/Headers/bsd/sys/malloc.h:12: conflicting types for `calloc' /NextDeveloper/Headers/ansi/stdlib.h:60: previous declaration of `calloc' /NextDeveloper/Headers/bsd/sys/malloc.h:13: conflicting types for `realloc' /NextDeveloper/Headers/ansi/stdlib.h:63: previous declaration of `realloc' /NextDeveloper/Headers/bsd/sys/malloc.h:15: conflicting types for `malloc_good_size' /NextDeveloper/Headers/ansi/stdlib.h:160: previous declaration of `malloc_good_size' dsql.c:450: warning: static declaration for `sql_msg' follows non-static dsql.c:502: warning: static declaration for `sql_error' follows non-static dsql.c:526: warning: static declaration for `sql_init' follows non-static dsql.c: In function `sql_init': dsql.c:627: `ENOSYS' undeclared (first use this function) dsql.c:627: (Each undeclared identifier is reported only once dsql.c:627: for each function it appears in.) dsql.c:670: warning: assignment makes pointer from integer without a cast dsql.c:707: `DBPRCOLSEP' undeclared (first use this function) dsql.c:711: `DBPRLINELEN' undeclared (first use this function) dsql.c: At top level: dsql.c:723: warning: static declaration for `sql_cleanup' follows non-static dsql.c:747: warning: static declaration for `sql_buffer_alloc' follows non-static dsql.c:779: warning: static declaration for `sql_buffer_expand' follows non-static dsql.c:808: warning: static declaration for `sql_buffer_free' follows non-static dsql.c:828: warning: static declaration for `is_editor' follows non-static dsql.c:849: warning: static declaration for `sql_edit' follows non-static dsql.c:949: warning: static declaration for `sql_exec' follows non-static dsql.c:973: warning: static declaration for `sql_results' follows non-static dsql.c:1001: warning: static declaration for `sql_abort' follows non-static dsql.c: In function `sql_abort': dsql.c:1004: warning: passing arg 2 of `signal' from incompatible pointer type dsql.c: At top level: dsql.c:1019: warning: static declaration for `find_semicolon' follows non-static dsql.c:1043: warning: static declaration for `sql_go' follows non-static dsql.c:1059: warning: static declaration for `sql_loop' follows non-static dsql.c: In function `sql_loop': dsql.c:1076: warning: passing arg 2 of `signal' from incompatible pointer type dsql.c:1160: warning: assignment makes integer from pointer without a cast dsql.c: At top level: dsql.c:1293: warning: static declaration for `sql_script' follows non-static *** Exit 1 Stop.
From: fxg@gimli.tolkien.imib.rwth-aachen.de (Felix Gatzemeier #Alwd#) Newsgroups: comp.sys.next.software,comp.sys.next.programmer Subject: Re: makefile question Date: 26 Nov 1993 15:03:47 GMT Organization: Rechnerbetrieb Informatik - RWTH Aachen Message-ID: <FXG.93Nov26160349@gimli.tolkien.imib.rwth-aachen.de> References: <2cr1gk$4cu@marble.Britain.EU.net> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-reply-to: charlesa@mailhost.learned.co.uk's message of Mon, 22 Nov 93 18:40:12 PST Well. The error you made here is to think tha the .h file will be read by make. It won't (in most cases). A name.h (or name.m, name.c, for that matter) will be read by the C compiler that is invoked by make. The programs use different Syntax. In C, a comment starts with "/*" and ends with "*/". In makefiles, comments start with "#" and end with a line break. C uses the hash to mark Preprocessor commands in C. Make has some file-timestamp - based rules on when to "see" files, plus the non-comment lines in the makefile. Thus, make will "see" your config.h once it's newer than the file you want as the result of the compilation (and if it's listed correctly in the makefile you got, what youu should be able to count on). The C compiler still counts on the #. #define ID "text" tells C to replace instances of "ID" with ""text"" (including the inner quotes). define ID "text" makes no particular sense, but could be read as: Create a variable with Name ID and type define, then choke on "text". Which may explain some of the errors. -- Felix (fxg@(([Pool|I3].Informatik)|(Tolkien.ImIB)).RWTH-Aachen.de NeXT-Mail ok, but slow)
Newsgroups: comp.os.mach,comp.sys.next.programmer From: gerben@rna.indiv.nluug.nl Subject: Mach Book? Message-ID: <1993Nov26.153831.1572@rna.indiv.nluug.nl> Sender: gerben@rna.indiv.nluug.nl (Gerben Wierda) Organization: G.R.O.S.S. Date: Fri, 26 Nov 1993 15:38:31 GMT About a year ago I read that there would be a book called "The design of the Mach operating system". Is that book in print? Or is there another good book on mach internals? Thanks, -- Gerben Wierda [NeRD:7539] gerben@rna.indiv.nluug.nl "If you don't know where you are going, any road will take you there." From the Talmud(?), rephrased in Lewis Carroll, "Alice in Wonderland".
Newsgroups: comp.sys.next.programmer From: netcom.com!kira!davidjohn (David John Burrowes) Subject: Re: Smalltalk? Message-ID: <1993Nov24.000658.399@kira.net.netcom.com> Sender: davidjohn@kira.net.netcom.com Organization: No organization at this time. References: <753665064snz@siward.demon.co.uk> Date: Wed, 24 Nov 1993 00:06:58 GMT In article <753665064snz@siward.demon.co.uk> gjudd@siward.demon.co.uk (Graham Judd) writes: > In article <2ce76h$u1m@msuinfo.cl.msu.edu> baer@psssun.pss.msu.edu writes: > > >Sorry if this has been asked before, but is there a version of Smalltalk > >for the NeXT (black hardware) machine? I looked in the FAQ, but it doesn't > >say. > > You can get GNU Smalltalk from any GNU archive BUT it's command line driven > so no pretty windows, etc. [unless anyone knows different...] Last time I tried this, I got a variety of compile errors that I didn't hvae time to track down. Is there some magic to get it to compile right, otherwise does anyone have a list of what porting work must be done to get it to run on a NeXT? \david john burrowes
From: mahoney@csulb.edu (Mike Mahoney) Newsgroups: comp.sys.next.programmer Subject: Garfinkel/Mahoney Book Errata Date: 26 Nov 1993 21:02:48 GMT Organization: Cal State Long Beach Message-ID: <2d5qto$h4j@garuda.csulb.edu> Keywords: NEXTSTEP, Programming ERRATA for the Garfinkel/Mahoney BOOK, "NeXTSTEP Programming - STEP ONE: Object-Oriented Applications" by Simson L. Garfinkel and Michael K. Mahoney published by TELOS/Springer-Verlag, 1993. ISBN 0-387-97884-4 Send additional errata to nextbook@csulb.edu (improvements in the code are welcome, but please submit the entire improved files with detailed comments and a list of changes). The following errors (and comments) were found in the first printing of the book and corrected in the second printing. The first printing (6000 copies) sold out in about 3 months. We thank you all for buying the book and thank those of you who submitted errors and comments to nextbook@csulb.edu even more. A special thanks go to Duane Storti and Andreas Ploeger, both of whom submitted several pages of comments. - Mike Mahoney 4/7/93 PAGE LINE ERROR / COMMENT xviii 9 "Suzanne Woolf at SRI International" --> "Suzanne Woolf Strauss at the USC Information Sciences Institute" 8 13 "five principle" --> "seven principal" 17 -2 "more than" --> "less than" 23 -8 You can Command-drag the Recycler out of the dock. 30 12 The Show Menus menu command is not implemented in the App Kit. 43 -3 "using" --> "use" 44 14 "Chapter 3" --> "Chapter 5" 57 8 "Copy" --> "Paste" 58 6 "View Documentation" --> "View Header" 59 -12 The order of the tools may differ in your IconBuilder. 110 -9 "are" --> "is" 112 17 "clear:" --> "View" 128 -2 "left" --> "right" 139 6 "Interfaces" --> "Headers" 140 21 "yFlag = 0" --> "yFlag = NO" 140 22 "enterFlag = 0" --> "enterFlag = NO" 152 6 Double-click the error message in the PB window . 155 3 "enterFlag = 1" --> "enterFlag = YES" 173 1 Drop the Info submenu when you see the copy cursor. 189 19 Insert "in the Info panel" immediately before the comma. 213 -6 "NX_WIDTH" --> "NX_X" 229 -1 "Panel" --> "Panels" 235 17 "ownerwith" --> "owner:with" 240 2 "abutton" --> "aButton" 241 9 "isKindof" --> "isKindOf" 244 3 "103" --> "105" 244 23 "Calculator.m" --> "CalcWindow.m" 244 -1 "designed" --> "designated" 250 -4 "off" --> "of" 262 10 You can copy the Evaluator file from the bundled floppy disk to your ~/Apps directory to install the Evaluator. 264 18 "containing" --> "contains" 274 8 Don't hide Workspace Manager as it's needed in Step 20. 281 -12 Insert "sizes" after "window". 294 -2 "you" --> "your" 297 20 "occured" --> "occurred" 309 18 "51" --> "60" 311 9 "Brackets" --> "Braces" 312 -7 "lets" --> "let's" 313 9 "lets" --> "let's" 353 5 "Consequentially" --> "Consequently" 366 -13 Insert "NXPing()" inside the inner "for" loop. 374 -7 "second" --> "seconds" 375 14 "of delayed loop" --> "of a delay loop" 379 -9 Insert "[self unlockFocus];" before "return self;" . 380 5 Insert "[self unlockFocus];" before "return self;" 391 -3 "View" --> "superview" 427 14 "number" --> "numbers" 428 2 "1024" --> "16384" 432 11 "rectsCount" --> "rectCount" 454 14 "Continous" --> "Continuous" 496 22 "superview" --> "superclass" 512 -15 "four" --> "five" 514 6 Change "readType" description to "Reads data from the pasteboard server." 523 -10 "paste board" --> "pasteboard" 560 14 "yFlag = 0" --> "yFlag = NO" 560 15 "enterFlag = 0" --> "enterFlag = NO" 563 -4 The code for appDidInit on page 245 should be used here. 567 -12 Insert "[self unlockFocus];" before "return self;" . 568 2 Insert "[self unlockFocus];" before "return self;" 574 20 "occured" --> "occurred" 596 4 "1024" --> "16384" -- - Mike Mahoney, SCaN President Professor and Chair Computer Engineering and Computer Science Dept California State University, Long Beach Long Beach, CA 90840-8302
Newsgroups: comp.sys.next.programmer From: gsl@netcom.com (Greg Lindholm) Subject: TIFF specs and tools Message-ID: <gslCH4H6x.Fpx@netcom.com> Keywords: TIFF Organization: NETCOM On-line Communication Services (408 241-9760 guest) Date: Fri, 26 Nov 1993 23:28:09 GMT I'm looking for the specs for TIFF files, does anyone know where I can find them? Also looking for and tools/objects to manipluate the bitmaps directly. Thanks in advance, I'll post a summary. (Please mail me.) Greg Lindholm gsl@netcom.com
Newsgroups: comp.sys.next.programmer,comp.sys.next.misc,comp.sys.next.software From: tjhendry@mcs.drexel.edu (Jonathan Hendry) Subject: Re: OpenStep and DPS ? Message-ID: <1993Nov27.061940.26832@netnews.noc.drexel.edu> Followup-To: comp.sys.next.programmer,comp.sys.next.misc,comp.sys.next.software Sender: news@netnews.noc.drexel.edu Organization: Drexel University, Dept. of Math. and Comp. Sci. References: <2ctmko$qd3@agate.berkeley.edu> <2cukrm$m5f@senator-bedfellow.MIT.EDU> Date: Sat, 27 Nov 1993 06:19:40 GMT Eric M Hermanson (zmonster@ATHENA.MIT.EDU) wrote: : OpenStep includes the full NEXTSTEP GUI. Part of the OpenStep spec is that it : retains the same appearance and behavior as NEXTSTEP. : Here's specifically what the spec will include at the minimum (I may have : left something out here): : * DisplayPostscript : * Distributed Objects : * the AppKit : * Databasekit : * Objective-C Wouldn't it be possible to write an OpenStep implementation without using DPS? For instance, an implementation based on Pink's OS layers, with imaging done in Quickdraw GX (or whatever they use). As long as it follows the API, and does what is expected, shouldn't it work? -- Jonathan W. Hendry Inexpensive NeXTSTEP Consulting tjhendry@mcs.drexel.edu For Your "Not-So-Mission-Critcal" Apps
Newsgroups: comp.sys.next.programmer From: mark@ve6mgs.ampr.org (Mark G. Salyzyn) Subject: Re: NEXT SERIAL LOCKUP Organization: ADEC Systems Inc. Date: Fri, 26 Nov 93 21:54:18 GMT Message-ID: <1993Nov26.215418.19436@ve6mgs.ampr.org> References: <753792814.AA03943@ship.net> <CGtGrr.5Gt@muaddib.isar.muc.de> mgoedel@muaddib.isar.muc.de (Maximilian Goedel) writes: >In article <753792814.AA03943@ship.net> >Dwight.Jones@f7050.n153.z1.ship.net (Dwight Jones) writes: >> Does anyone have a fix for serial port lockups in NextStep 3.1? >> It's blocking our Internet mail, so it hurts real bad... >Send email to NeXTanswers@NeXT.COM an use the following >Subject: 1326 1327 But only if you now want to get disappointed about system reliability at 9600 bps rather than at 2400 bps :-(. The patch is an improvement, but if YOUR job depends on it, I would say that they still get a failing grade! -- Mark Still waiting for 3.2 to arrive to solve my Serial Port Lockup problems.
From: silbar@cantina.lanl.gov (Dick Silbar) Newsgroups: comp.sys.next.programmer Subject: App bombs from PB 'Run' but not from command line Date: 26 Nov 1993 22:40:07 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9311270436.AA15210@cantina.lanl.gov> It's actually been a while since I've used Project Builder, and this is certainly the first time for me in NS/I 3.1. So here's some peculiar behavior that I don't ever remember seeing before in 3.0 (or earlier): I've built an App which has a 'Plot' button to read a file for some numbers and then make a plot from them. It runs fine in GDB when entered after building it by clicking the 'Debug' icon in the PB interface. Likewise, it runs fine by building with 'make' from a C-shell command line, followed by 'MyApp.app/MyApp'. The 'Plot' button doess what it should and the plot stays around afterwards for me to look at. HOWEVER, if I build the App by clicking the PB's 'Run' icon, the App launches OK. And, clicking on other buttons (I also have a 'Clear' button), nothing unexpected happens. But, clicking on my 'Plot' button now immediately wipes out the App's window from the screen. I can't find any error messages in the Console window or private/adm that pertain to this. I've also checked (and don't believe) that I'm writing beyond some array's limits. (Suspecting a bus error, there.) Has anyone else seen anything like this? And, without looking at any of my (54-line) code, have any idea what might be going on? Dick Silbar WhistleSoft, Inc.
Newsgroups: comp.sys.next.programmer From: BrianW@SoundS.WA.com (Brian Willoughby) Subject: Re: OpenStep and DPS ? Message-ID: <CH5678.13n@sounds.wa.com> Sender: brianw@sounds.wa.com (Brian Willoughby) Organization: Sound Consulting, Bellevue, WA, USA References: <1993Nov27.061940.26832@netnews.noc.drexel.edu> Date: Sat, 27 Nov 1993 08:28:19 GMT Jonathan Hendry writes | Wouldn't it be possible to write an OpenStep implementation without using | DPS? For instance, an implementation based on Pink's OS layers, with | imaging done in Quickdraw GX (or whatever they use). As long as it follows | the API, and does what is expected, shouldn't it work? I'm just speculating here, but I think that changing the imaging model would remove a great deal of the benefit of having OpenStep in the first place. Say you have a subclass of View in your application (which carefully avoids operating-system-specific calls) which plots a graph in its -drawSelf: method. The only way to recompile this Object under OpenStep would be if all three of the following are present: AppKit's View superclass Objective-C Display PostScript with wraps The way I see it, those are the minimal features, and DBKit and Distributed Objects are icing on the cake to make OpenStep even more tasty. If Display PostScript wraps and single operator calls were not such an integral part of most people's existing custom UI objects, then allowing for different imaging models might make some sense (just like ignoring the underlying OS makes sense for *most* Objects). To remove DPS would require the invention of some other abstract imaging model that could be translated to DPS, Quickdraw, X Windows, or (gasp) GDI on the target system. P.S. Crossposts to comp.sys.next.misc,comp.sys.next.software removed. -- Brian Willoughby Software Design Engineer, BSEE from NCSU NeXTmail welcome Sound Consulting: Software Design and Development BrianW@SoundS.WA.com Bellevue, WA
Newsgroups: comp.sys.next.programmer From: jim@nestmoi.rain.com (Jim Chorn) Subject: otool-not, Anyone have a 68k disassemblier with source code? Message-ID: <1993Nov27.015640.3303@nestmoi.rain.com> Organization: none - Portland, OR Date: Sat, 27 Nov 1993 01:56:40 GMT I've been working on a program which wants certain text sections linked and loaded in absolute address ranges. otool won't disassemble these and gdb is less than helpful. Anyone out there have a disassemblier for the 68k with source for any machine written in 'C'? Or am I just asking for too much? BTW, I already tried archie with no luck. If you send email I'll repost a summary. -jim jim@nestmoi.rain.com
From: otto@coactive.com (Otto Lind) Newsgroups: comp.sys.next.programmer,comp.databases.sybase Subject: Re: @#$% problems compiling dsql under NeXTSTEP 3.1 (long) Followup-To: comp.sys.next.programmer,comp.databases.sybase Date: 27 Nov 1993 02:55:39 GMT Organization: Coactive Aesthetics Inc. Message-ID: <2d6fjbINNe4k@disc.coactive.com> References: <CH3A29.2I8@tdocad.sps.mot.com> Michael Shaler (mshaler@tdocad.sps.mot.com) wrote: : Has anybody compiled dsql for black hardware? Yes. Apply the following patch to dsql.c to have it compile on a NeXT system (I am running NeXT 3.1 and dblib 4.0, but this should work for all versions of NeXT and Sybase): *** /tmp/,RCSt1019459 Fri Nov 26 18:42:57 1993 --- dsql.c Fri Nov 26 18:28:00 1993 *************** *** 183,189 **** #include <ctype.h> #include <strings.h> #include <errno.h> - #include <malloc.h> #include <memory.h> #include <setjmp.h> --- 183,188 ---- *************** *** 627,633 **** default: fprintf(stderr, usage, argv[0]); fflush(stderr); ! exit(ENOSYS); } } --- 626,632 ---- default: fprintf(stderr, usage, argv[0]); fflush(stderr); ! exit(-1); } } *************** *** 639,645 **** default: fprintf(stderr, usage, argv[0]); fflush(stderr); ! exit(ENOSYS); } if (user[0] == '\0') --- 638,644 ---- default: fprintf(stderr, usage, argv[0]); fflush(stderr); ! exit(-1); } if (user[0] == '\0') *************** *** 706,717 **** --- 705,720 ---- dbmsghandle(sql_msg); dberrhandle(sql_error); + #ifdef DBPRCOLSEP if ( colsep[0] != '\0' ) { dbsetopt(dbproc, DBPRCOLSEP, colsep, strlen(colsep)); } + #endif + #ifdef DBPRLINELEN sprintf(roww_str, "%d", rowwidth ); dbsetopt(dbproc, DBPRLINELEN, roww_str, strlen(roww_str)); + #endif return; } The -s and -w options can't be supported with dsql is you use the 4.0 version of dblib, since the corresponding dbsetopts didn't exist. Otto -- Otto Lind Coactive Aesthetics otto@coactive.com P.O. Box 425967, San Francisco, CA 94142 netcom!coactive!otto voice:(415)626-5152 fax:(415)626-6320
From: M.Crawford@dcs.sheffield.ac.uk (Malcolm Crawford) Newsgroups: comp.sys.next.programmer Subject: Re: TIFF specs and tools Date: 27 Nov 1993 07:33:07 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9311271333.AA06833@dcs.shef.ac.uk> > I'm looking for the specs for TIFF files, does anyone know where I > can find them? > The stuff I got was by Sam Leffler: it's a fairly comprehensive package! Details given below. Have fun, mmalcolm. --- SHeffield Auditory Group | Vox : (+44) 742 768555 ext 5569 Dept. Computer Science | direct : 825569 Sheffield University | Fax : (+44) 742 780972 Regent Court | Email: malc@dcs.shef.ac.uk 211 Portobello Street | (NeXTMail welcome) Sheffield S1 4DP, UK. | (Read-Receipts discouraged :-) $Header: /usr/people/sam/tiff/RCS/HOWTO,v 1.8 92/02/21 15:31:47 sam Exp $ How To Obtain This Software (in case all you get is this file) The software is available for public ftp on sgi.com graphics/tiff/v3.0.tar.Z (192.48.153.1) ucbvax.berkeley.edu pub/tiff/v3.0.tar.Z (128.32.130.12) For example, ftp -n sgi.com .... user anonymous ... <type in password> cd graphics/tiff binary get v3.0.tar.Z The software comes in a compressed tar file. To extract the information: zcat v3.0.tar.Z | tar xf - (uncompress and extract individual files in current directory). There is also a companion compressed tar file, v3.0pics.tar.Z that has sample TIFF image files. These are mostly useful in testing the software if/when you port it to an unsupported system.
From: silbar@cantina.lanl.gov (Dick Silbar) Newsgroups: comp.sys.next.programmer Subject: Re: App bombs from PB 'Run' but not from command line -- SOLVED Date: 27 Nov 1993 08:02:21 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9311271359.AA15517@cantina.lanl.gov> Yesterday I posted the following query: I've built an App which has a 'Plot' button to read a file for some numbers and then make a plot from them. It runs fine in GDB when entered after building it by clicking the 'Debug' icon in the PB interface. Likewise, it runs fine by building with 'make' from a C-shell command line, followed by 'MyApp.app/MyApp'. The 'Plot' button does what it should and the plot stays around afterwards for me to look at. HOWEVER, if I build the App by clicking the PB's 'Run' icon, the App launches OK. And, clicking on other buttons (I also have a 'Clear' button), nothing unexpected happens. But, clicking on my 'Plot' button now immediately wipes out the App's window from the screen. Has anyone else seen anything like this? And, without looking at any of my (54-line) code, have any idea what might be going on? Well, it has a very simple explanation, as pointed out to me by Ray Spaulding of Georgia Tech: I believe the current working directory will be different depending on how the app is launched -- it will be your project directory under debug, but your $HOME directory under a workspace launch. Perhaps your "Plot" method is unable to find the data file and killing the app. Unfortunately, I already knew something like that, but it didn't occur to me in the present context! It is time for me to finally learn how to use NXBundle, I guess. Thanks, Ray (and anyone else who may have already answered this on the as-yet unread c.s.n.programmer newsgroup). Dick Silbar WhistleSoft, Inc.
Newsgroups: comp.sys.next.programmer From: brisinda@cpsc.ucalgary.ca (Dale Brisinda) Subject: Profiling Bundles Message-ID: <BRISINDA.93Nov27002428@fsd.cpsc.ucalgary.ca> Sender: news@cpsc.ucalgary.ca (News Manager) Organization: University of Calgary Date: Sat, 27 Nov 1993 07:24:28 GMT I'm writing a bundle for an application, and I desparately need some profiling information. Project Builder does not know how to make "profile" bundles as the target. So I just manually added to Makefile.preamble OTHER_CFLAGS = -pg in order to compile the bundle to be able to produce profiling information. But actually getting the profiling information out is another story. Does anybody know how to do this for a bundle? Dale --- dale@pegasus.cuc.ab.ca (NeXTmail Welcome) brisinda@cpsc.ucalgary.ca
From: rgc@wam.umd.edu (Ross Garrett Cutler) Newsgroups: comp.sys.next.software,comp.sys.next.programmer Subject: Anyone build gdb 4.11 on NS/I? Date: 27 Nov 1993 19:53:36 GMT Organization: University of Maryland, College Park Message-ID: <2d8b80$akd@cville-srv.wam.umd.edu> Anyone build GNU gdb 4.11 on NS/I 3.1? I'm trying to do so, but it fails to build the file "bfd/trad-core.c". I'm using gcc 2.5.4 (I've also tried NeXT's cc), and the configuration is i386-next-bsd. Any help will be greatly appreciated. Ross. -- Ross Cutler University of Maryland, College Park Internet: rgc@wam.umd.edu
From: ernest@pundit.cithep.caltech.edu (Ernest Prabhakar) Newsgroups: comp.sys.next.programmer,comp.sys.next.misc,comp.sys.next.software Subject: Re: OpenStep and DPS ? Date: 27 Nov 1993 20:56:13 GMT Organization: California Institute of Technology, Pasadena Distribution: world Message-ID: <2d8etd$914@gap.cco.caltech.edu> References: <1993Nov27.061940.26832@netnews.noc.drexel.edu> In article <1993Nov27.061940.26832@netnews.noc.drexel.edu> tjhendry@mcs.drexel.edu (Jonathan Hendry) writes: > Wouldn't it be possible to write an OpenStep implementation > without using DPS? For instance, an implementation based on Pink's > OS layers, with imaging done in Quickdraw GX (or whatever they > use). As long as it follows the API, and does what is expected, > shouldn't it work? I think the point is that the API -includes- PostScript constructs as part of its specification: i.e., pswraps, fonts, and window contexts (not to mention PS and DPS function calls) can all be used by OpenStep programs. Of course that just means the Display PostScript 'spec' is part of the API, and the implementation can vary. However, I do not think any of the other imaging models is capable of simulating Display PostScript (nor, for that matter, is GhostScript). I have no idea how much effort it would be to emulate all of DPS (fonts, contexts, coordinate transforms, etc.), but I suspect it is non-trivial enough that all commercial implementations will just license it from Adobe (if they haven't already). -- Ernie P. -- Ernest N. Prabhakar Caltech High Energy Physics Member, League for Programming Freedom (league@prep.ai.mit.edu) CaJUN President NeXTMail:ernest@pundit.cithep.caltech.edu "...and ourselves, your servants for Jesus sake." - II Cor 4:5b #import <std/disclaimer.h>
From: tjhendry@mcs.drexel.edu (Jonathan Hendry) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep and DPS ? Message-ID: <1993Nov27.233839.5467@netnews.noc.drexel.edu> Date: 27 Nov 93 23:38:39 GMT References: <1993Nov27.061940.26832@netnews.noc.drexel.edu> <CH5678.13n@sounds.wa.com> Sender: news@netnews.noc.drexel.edu Organization: Drexel University, Dept. of Math. and Comp. Sci. Brian Willoughby (BrianW@SoundS.WA.com) wrote: : Jonathan Hendry writes : | Wouldn't it be possible to write an OpenStep implementation without using : | DPS? For instance, an implementation based on Pink's OS layers, with : | imaging done in Quickdraw GX (or whatever they use). As long as it follows : | the API, and does what is expected, shouldn't it work? :I'm just speculating here, but I think that changing the imaging model would :remove a great deal of the benefit of having OpenStep in the first place. :Say you have a subclass of View in your application (which carefully avoids :operating-system-specific calls) which plots a graph in its -drawSelf: method. :The only way to recompile this Object under OpenStep would be if all three of :the following are present: : AppKit's View superclass : Objective-C : Display PostScript with wraps : The way I see it, those are the minimal features, and DBKit and Distributed : Objects are icing on the cake to make OpenStep even more tasty. :If Display PostScript wraps and single operator calls were not such an integral :part of most people's existing custom UI objects, then allowing for different : imaging models might make some sense (just like ignoring the underlying OS : makes sense for *most* Objects). :To remove DPS would require the invention of some other abstract imaging model:that could be translated to DPS, Quickdraw, X Windows, or (gasp) GDI on the :target system. If, say, QuickDraw GX provides most of the functionality of DPS (don't really know if it does), then really shouldn't you just need some way of converting DPS or PS code into Quickdraw Code at compile time? Like changing "20 20 moveto" to "MoveTo(20,20)" As long as there is a way to translate the PS or DPS code into the native system, it could probably work. If nothing else, perhaps a library which contains postscript-style interfaces to the native GDI. If there is a way to wrap the native GDI in such a way that it can be accessed identically to postscript, shouldn't existing code work? "20 20 moveto" should work regardless of whether it's being handled by an Adobe postscript interpreter, or if its actually being converted into Quickdraw functions and executed that way. Speed is another matter, though... -- Jonathan W. Hendry Inexpensive NeXTSTEP Consulting tjhendry@mcs.drexel.edu For Your "Not-So-Mission-Critcal" Apps
From: mstankus@oba.ucsd.edu (Mark Stankus) Newsgroups: comp.sys.next.programmer Subject: DPS in X11 R6 (Was: Re: OpenStep and DPS ?) Message-ID: <57647@sdcc12.ucsd.edu> Date: 27 Nov 93 19:16:45 GMT Sender: news@sdcc12.ucsd.edu Organization: Mathematics @ UCSD In article <1993Nov27.061940.26832@netnews.noc.drexel.edu> tjhendry@mcs.drexel.e du (Jonathan Hendry) writes: >Eric M Hermanson (zmonster@ATHENA.MIT.EDU) wrote: >[munch] >Wouldn't it be possible to write an OpenStep implementation without using >DPS? For instance, an implementation based on Pink's OS layers, with >imaging done in Quickdraw GX (or whatever they use). As long as it follows >the API, and does what is expected, shouldn't it work? > >-- >Jonathan W. Hendry Inexpensive NeXTSTEP Consulting >tjhendry@mcs.drexel.edu For Your "Not-So-Mission-Critcal" Apps From what I hear X11R6 will have display postscript support. Is this correct? If so, it is not a deficit to use dps if you are going to buy into X. Mark Stankus
Newsgroups: comp.sys.next.programmer From: arrouye@petole.imag.fr (Yves Arrouye) Subject: Open panel for files with .xxx or no extension? HELP! Message-ID: <ARROUYE.93Nov28160710@petole.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Sun, 28 Nov 1993 15:07:10 GMT Subject says it all: I would like to filter files having a given extensions or no extension at all in an OpenPanel. How can I do that? Saying "" as extension is bad because it means files ending with a dot... Thanks, Yves. -- Advocates for the C++ school claim that a well designed Yves Arrouye program does not need the extra flexibility (a lie), Yves.Arrouye@imag.fr while advocates for the Objective-C school claim that (33) 76 57 48 64 the errors are no problem in practice (another lie). NeXT Mail
From: cahalan@clouds.gsfc.nasa.gov (Robert F. Cahalan) Newsgroups: comp.sys.next.programmer Subject: Re: Running Apps "Remotely" Date: 28 Nov 1993 17:22:19 GMT Organization: NASA Goddard Space Flight Center -- InterNetNews site Distribution: world Message-ID: <2damob$qnb@skates.gsfc.nasa.gov> References: <BYER.93Nov23160502@birch.mv.us.adobe.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In article <BYER.93Nov23160502@birch.mv.us.adobe.com> byer@mv.us.adobe.com (Scott Byer) writes: > > ............-NXHost discussion deleted ....... > > The other, more subtle thing that will go on (is going on) is > "Distributed Objects". These are much more interesting beasts, > as they allow an application developer to split up an application > in functional units, which can then be run on different machines. > Instead of having to manually open a port and send a specific > protocol across it, an application will be able to create a proxy > object and then from then on simply deal with it as if it were local > to the machine it was being run on. The advantage of this over > remote displaying is that most of the UI can be run locally, increasing > responsiveness to the user for critical UI elements, while the > object can be run on whatever machine is best for running that kind > of object - say, running a data gathering object on an HP with a > disk array. > > <<A contrived example: you've really gone and site-licensed every > Type 1 font in the world and you have them sitting on a server > somewhere. It would be faster to have the font object sitting on > that server than having it local - such things as getting a list > of every font would stay on the server, and only the small portions > of the list that need to be displayed in the UI would be shoved > over the wire, rather than have every font name shoved.>> > > In essence, PDOs really do mean that "the network is the computer." > > > Note that either method doesn't care what the processor type is, > as long as it's running NEXTSTEP. > > -- > Scott Byer NeXTMail: byer@mv.us.adobe.com > Adobe Systems Incorporated These are *my* opinions, and > 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect > Mountain View, CA 94039-7900 the opinions of my employer. > --------------------------------------------------------------------- I like your discussion, and your example, Scott. But I find your concluding sentence confusing. Maybe I don't really understand the PDO program, but I thought a major selling point of the PDO idea is that your server can run PDO and NOT run NeXTStep. For example, PDO runs under HP-UX, which is has an X-based UI. NeXTSTEP will be available, too, but I don't believe it's necessary. This is an important issue in our group, which has an HP-755 providing X to a mixed bag of a couple dozen macs, half a dozen SGIs, several X terminals, and a handful of PeeCees and NeXTs. It'd be impossible to wean them of X overnight. -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .Dr. Robert F. Cahalan (Bob)...#..Laboratory for Atmospheres...... .cahalan@clouds.gsfc.nasa.gov..#..NASA-Goddard Space Flight Center .*** NeXTMail accepted ***.....#..Greenbelt, MD 20771............. .FAX: (301) 286-1627...........#..voice: (301) 286-4276........... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Newsgroups: comp.sys.next.programmer From: fleminmk@fe808.cc.purdue.edu (Michael K Fleming) Subject: Re: App bombs from PB 'Run' but not from command line Message-ID: <fleminmk.754547137@fe808.cc.purdue.edu> Sender: news@mentor.cc.purdue.edu (USENET News) Organization: Purdue University References: <9311270436.AA15210@cantina.lanl.gov> Date: Mon, 29 Nov 1993 04:25:37 GMT silbar@cantina.lanl.gov (Dick Silbar) writes: >I've built an App which has a 'Plot' button to read a file for some numbers >and then make a plot from them. It runs fine in GDB when entered after >building it by clicking the 'Debug' icon in the PB interface. Likewise, >it runs fine by building with 'make' from a C-shell command line, followed >by 'MyApp.app/MyApp'. The 'Plot' button doess what it should and the plot >stays around afterwards for me to look at. >I can't find any error messages in the Console window or private/adm that >pertain to this. I've also checked (and don't believe) that I'm writing >beyond some array's limits. (Suspecting a bus error, there.) Yeah, actually, I can directly relate to what you're going through. This exact thing happened to me once, and I never figured out quite why. I was programing a dumb "vector-ball" demo as an example for a class. Well, the vector balls worked alright--but the damn thing would only run from the command line! (it also would fail if you double-clicked it from Workspace). The only thing I can say is that you might want to check the way you're calling [super initFrame: ] or something like that. I don't know if that's even close, since it works fine for me everywhere else. To be honest, I haven't looked at the problematic code in many moons... If anyone else has a clue why this might happen, I'd like to know as well :) Mike Fleming > Dick Silbar > WhistleSoft, Inc.
Newsgroups: comp.os.mach,comp.sys.next.programmer From: jim@galileo.ifa.hawaii.edu (Kevin Jim) Subject: Re: Mach Book? Message-ID: <CH8r0I.Dwp@news.Hawaii.Edu> Sender: news@news.Hawaii.Edu Organization: Institute for Astronomy, Hawaii References: <1993Nov26.153831.1572@rna.indiv.nluug.nl> Date: Mon, 29 Nov 1993 06:50:41 GMT In article <1993Nov26.153831.1572@rna.indiv.nluug.nl> gerben@rna.indiv.nluug.nl (Gerben Wierda) writes: >About a year ago I read that there would be a book called "The design of the >Mach operating system". Is that book in print? Or is there another good book >on mach internals? I happen to be reading a book on programming with the Mach system, which is not necessarily what you are looking for, but might be of interest: Programming Under Mach, by Joseph Boykin, David Kirschen, Alan Langerman, Susan LoVerso. 1993. Publ: Addison-Wesley. ISBN: 0-201-52739-1 The book discusses Mach concepts under Mach 2.5 (mostly) and 3.0. It is oriented toward getting a programmer up to speed using those Mach fundamentals of threads, tasks, IPC, virtual memory, C threads, exception handling, the Mach Interface Generator, and more. The book covers the philosophy of various Mach features and lists specific code to illustrate concepts. I know next to nothing about Mach, which is why I am reading the book, but I do find the book quite understandable and well written. It explains threads and IPC better than anything else I have read. I would appreciate the opinion of someone more expert in these matters on the value of this book (or any other Mach book, for that matter.) -- Kevin Jim (jim@galileo.ifa.hawaii.edu)
From: fxg@tolkien.tolkien.imib.rwth-aachen.de (Felix Gatzemeier #Alwd#) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep and DPS ? Date: 29 Nov 1993 12:40:24 GMT Organization: Rechnerbetrieb Informatik - RWTH Aachen Message-ID: <FXG.93Nov29134025@tolkien.tolkien.imib.rwth-aachen.de> References: <1993Nov27.061940.26832@netnews.noc.drexel.edu> <CH5678.13n@sounds.wa.com> <1993Nov27.233839.5467@netnews.noc.drexel.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-reply-to: tjhendry@mcs.drexel.edu's message of 27 Nov 93 23:38:39 GMT < No quotes, you know what it's about > I don't quite get it why most people want to get rid of PS here. It's one of THE NeXTstep strong points to have a powerful and general graphics API. Look ad Quickdraw: That was Apple's imaging model. DTP got huge with the PS imaging model! Applications had to draw on the screen with the quickdraw API and printed with PS code. That's still reasonable, because PS seems to be a superset of all other rendering mechanisms in use today. Look at the *2ps converters out there. The back route is much harder. You won't come short of a RIP for any conversion worth the trouble. So why rewrite all apps under NeXTstep? I doubt that any algorithmic solution would be useful. So what would be a vendor-independant Graphics API anyway? Your'e just substituting Vendor Adobe with Vendor Bedobe. Or even a Consortium? Shiver. -- Felix (fxg@(([Pool|I3].Informatik)|(Tolkien.ImIB)).RWTH-Aachen.de NeXT-Mail ok, but slow)
From: rcfa@cubiculum.com (Ronald C.F. Antony) Newsgroups: comp.sys.next.programmer Subject: Emacs 3.1 vs. Emacs 3.0.1 Date: 29 Nov 1993 12:25:33 GMT Organization: NeXT-BUG (NeXT at Brown University Group) Distribution: world Message-ID: <2dcpnt$ok2@tunix.cubiculum.com> As I understand it, these are two distinct derivatives from Emacs 3.0 I'd like to merge them, but I only have the 3.1 binary and can't seem to find neither the binary nor the source of it on any ftp site. (I don't remember where I got it from). Any hints :-) Or did per chance someone already merge the two? -- Ronald ============================================================================== "The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man." G.B. Shaw ------------------------------------------------------------------------------ rcfa@cubiculum.com rcfa@ANDI.org rcfa@sleepy.cis.brown.edu | NeXT-mail welcome
From: fxg@gimli.tolkien.imib.rwth-aachen.de (Felix Gatzemeier #Alwd#) Newsgroups: comp.sys.next.programmer Subject: Re: Sybase row size error Date: 29 Nov 1993 14:19:59 GMT Organization: Rechnerbetrieb Informatik - RWTH Aachen Message-ID: <FXG.93Nov29152001@gimli.tolkien.imib.rwth-aachen.de> References: <1993Nov23.073544.27976@leland.Stanford.EDU> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-reply-to: xinwei@otter.Stanford.EDU's message of Tue, 23 Nov 93 07:35:44 GMT In article <1993Nov23.073544.27976@leland.Stanford.EDU> xinwei@otter.Stanford.EDU (Sha Xin Wei) writes: Newsgroups: comp.sys.next.programmer From: xinwei@otter.Stanford.EDU (Sha Xin Wei) Sender: news@leland.Stanford.EDU (Mr News) Organization: Stanford University Date: Tue, 23 Nov 93 07:35:44 GMT Some of my [recordList fetchUsingQualifier:nil]; calls fail with this error message: "Sybase: Create of work table failed because row size would be 3895. This exceeds the maximum allowable size of a row in a table, 2014." My tables are modest (?) -- only approx 30 columns, mostly null entries for now, though a few are IMAGE or TEXT. While I can't say anything about Szbase in particular, I can say some things about INGRES that may very well apply to Sybase also: Q0. Does "row size" mean total number bytes filled by actual data? Well, in a way, yes. Logically, all fields in the table are filled up to their size given in the declaration with "actual data". These data include padding spaces that are added when you enter shorter data into the DB. It may not look like actual data to you, but for the DB system, it very well is. Q1. What is the "work table"? Where is this documented? Any retrievel retrieves values from a DB. But where is it to store them? An application may put them into scroll views or whatever IT deals with, but the DB deals with tables. So it puts the data into temporary tables. These may be the work tables, just as well as those that are used when a join is evaluated. Q2. How can I increase the row size ceiling? I'm afraid you can't. At least not in INGRES. It handles data in physical 2k - pages, minus some adminitration bytes, leaving, I think, 2008 Bytes to the user. And a row can't span several pages. Another hard limit seems to be 30 columns per table. You can get around this with BLOB-type things. BLOB is for Binary Large OBject. These won't generally be stored in the DB table itself, but in seperate files, with a pointer of some small kind in the table. As I said, I don't know if these exacxt restrictions apply to Sybase also, I especially don't know about an IMAGE type, which sounds like an BLOB type. Sha Xin Wei Stanford University -- Felix (fxg@(([Pool|I3].Informatik)|(Tolkien.ImIB)).RWTH-Aachen.de NeXT-Mail ok, but slow)
Newsgroups: comp.sys.next.programmer,misc.jobs.resumes From: fugue!william (William Wei) Subject: NEXTSTEP Development Message-ID: <1993Nov29.162805.1412@imagine.com> Sender: william@imagine.com (William Wei) Organization: Imagine Multimedia, Inc., Ann Arbor, MI, USA Distribution: usa Date: Mon, 29 Nov 1993 16:28:05 GMT Hi, I'm an experenced NEXTSTEP developer. I'm looking for NEXTSTEP software engineer position. If you are interested, please call me at: phone: (617)522-8205 William Wei c/o Lena Mathews 33 Burroughs St. #2 Jamaica Plain, MA 02130 I encloded my resume both in ASCII and postscript form. p.s. please don't send e-mail. --------- resume in ASCII ------------ William Wei 314 Village Green Blvd. #202 Ann Arbor, MI 48105 phone: (313)665-1641 SUMMARY Software engineer with experience and interest in: OO analysis, design and programming Client/Server architecture. Computer Graphic Multimedia Multi-thread architecture Chinese programming EXPERIENCE Imagine Multimedia Inc., Ann Arbor, Michigan Software engineer, 6/93 - present Designing and Implementing a Multimedia Asset Management system using Distributed Object technology in a Client/Server Multi-threaded Architecture. Developed network licensing scheme and integrated it into company's revolutionary interactive multimedia authoring package, Callisto. Stratus Computer Inc., Marlboro, Massachusetts Software engineer, 6/91 - 8/92 Worked in a tools and productivity group to support the development of a fault-tolerant UNIX project. Developed a validation, regression and code coverage test scheme for a new Pascal compiler and debugger. University Computing Center, University of Massachusetts Consultant, 6/91 - 6/93 Provided assistance to users on UNIX/VMS/DOS/Windows/Macintosh machines. Handled administration and wrote system programs and utilities. Department of Electrical and Computer Engineering, University of Massachusetts Teaching Assistant, 6/91 - 6/93 Assisted professors in teaching Data Structures & Algorithms and graduate-level Computer Graphics as well as co-designed homework, projects and exams. PERSONAL DEVELOPMENT Developing an Object-Oriented WYSIWYG Chinese word processor for NEXTSTEP. Developed an Object-Oriented 3D modeling and rendering graphics package which includes Boolean Operation and Ray Tracing. Implemented "Geometric Substitution" texture creator. The resulting textures were mapped to 3D objects such as icosahedra or spheres which were then viewed using 3D synthetic cameras. Developed a client/server model for distributed Ray Tracing using Mach's C-thread package and NEXTSTEP's Distributed Object. EDUCATION Master of Science in Electrical and Computer Engineering 9/91-5/93 University of Massachusetts, Amherst, Massachusetts Concentration in Object-Oriented Software Engineering and Computer Graphics Post Bachelorette studies in Computer Engineering 6/90-9/90 Michigan State University, East Lansing, Michigan Training Course - Programming NEXTSTEP 7/93 NeXT Computer Inc., Redwood City, California COMPUTER SKILL Object-Oriented analysis, design and programming. Programming in C/C++/Objective-C/Pascal/Modula-3/Assembly/UNIX shell/PostScript. Programming NEXTSTEP, UNIX, MS-Windows, X Windows and DOS. Computer Graphics in 2D and 3D, especially in 3D modeling and rendering. Relational database systems. Network, Client/Server programming. Multi-thread programming. User interface design. Chinese programming. REFERENCES Available upon request. ---- resume in postscript ----------- %!PS-Adobe-2.0 %%Title: resume.rtf - ~ %%Creator: Edit %%CreationDate: Tue Nov 23 15:55:32 1993 %%For: william %%DocumentFonts: (atend) %%Pages: (atend) 1 %%BoundingBox: (atend) %%DocumentPaperSizes: Letter %%Orientation: Portrait %%NXNextStepVersion: 3.0 %%EndComments %%BeginProcSet: /usr/lib/NextStep/printPackage.ps 3.0 %! % NeXT Printing Package % Version: 3.1 % Copyright: 1988, NeXT, Inc. /__NXdef{1 index where{pop pop pop}{def}ifelse}bind def /__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def /UserObjects 10 array __NXdef /defineuserobject{ exch dup 1 add dup UserObjects length gt{ array dup 0 UserObjects putinterval /UserObjects exch def }{pop}ifelse UserObjects exch 3 -1 roll put }__NXbdef /undefineuserobject{UserObjects exch null put}__NXbdef /execuserobject{UserObjects exch get exec}__NXbdef /__NXRectPath{4 2 roll moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath}__NXbdef /__NXProcessRectArgs{ 1 index type /arraytype eq{ exch 0 4 2 index length 1 sub{ dup 3 add 1 exch{1 index exch get exch}for 5 1 roll 5 index exec }for pop pop }{exec}ifelse }__NXbdef /rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef /rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef /rectstroke{ gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ {gsave __NXRectPath null concat stroke grestore} dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore }__NXbdef /_NXLevel2 systemdict /languagelevel known {languagelevel 2 ge}{false}ifelse __NXdef /xyshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index 2 mul 1 add get add exch 3 index 3 index 2 mul get add exch moveto pop }for pop pop }__NXbdef /xshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show exch 3 index 3 index get add exch moveto pop }for pop pop }__NXbdef /yshow{ 0 1 3 index length 1 sub{ currentpoint 4 index 3 index 1 getinterval show 3 index 3 index get add moveto pop }for pop pop }__NXbdef /arct{arcto pop pop pop pop}__NXbdef /setbbox{pop pop pop pop}__NXbdef /ucache{}__NXbdef /ucachestatus{mark 0 0 0 0 0}__NXbdef /setucacheparams{cleartomark}__NXbdef /uappend{systemdict begin cvx exec end}__NXbdef /ueofill{gsave newpath uappend eofill grestore}__NXbdef /ufill{gsave newpath uappend fill grestore}__NXbdef /ustroke{ gsave newpath dup length 6 eq {exch uappend concat}{uappend}ifelse stroke grestore }__NXbdef /__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse /ustrokepath{ newpath dup length 6 eq{ exch uappend __NXustrokepathMatrix currentmatrix exch concat strokepath setmatrix }{uappend strokepath}ifelse } __NXbdef /upath{ [exch {/ucache cvx}if pathbbox /setbbox cvx {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx } __NXbdef /setstrokeadjust{pop}__NXbdef /currentstrokeadjust{false}__NXbdef /selectfont{exch findfont exch dup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef /_NXCombineArrays{ counttomark dup 2 add index dup length 3 -1 roll { 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch }repeat pop pop pop }__NXbdef /flushgraphics{}def /setwindowtype{pop pop}def /currentwindowtype{pop 0}def /setalpha{pop}def /currentalpha{1.0}def /hidecursor{}def /obscurecursor{}def /revealcursor{}def /setcursor{4 {pop}repeat}bind def /showcursor{}def /NextStepEncoding where not{ /NextStepEncoding StandardEncoding 256 array copy def 0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave /Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute /Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright 176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior 204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave /aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth /ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute /ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] {dup type /nametype eq {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse }forall pop /NextStepEncoding NextStepEncoding readonly def /_NXfstr 128 string dup 0 (_NX) putinterval def /_NXfindfont /findfont load def /findfont{ % Because we can never let NextStepEncoding get into % SharedFontDirectory, we cannot reencode a font to NextStepEncoding % if we are in shared mode. So if currentshared is true, % we call the normal findfont and return that /currentshared where {pop currentshared} {false} ifelse {_NXfindfont} {dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll getinterval cvn exch FontDirectory 2 index known {pop FontDirectory exch get} {_NXfindfont dup /Encoding get StandardEncoding eq { dup length dict exch {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall dup /Encoding NextStepEncoding put definefont }{exch pop} ifelse }ifelse }ifelse }bind def }{pop}ifelse /_NXImageString {/__NXImageString where{pop}{/__NXImageString 4000 string __NXdef}ifelse __NXImageString}__NXbdef /_NXDoImageOp{ 3 dict begin /parr 5 array def 1 index{dup}{1}ifelse /chans exch def chans 2 add 2 roll parr 0 chans getinterval astore pop 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse 4 index mul /totbytes exch def pop exch pop gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore {0 1 chans 1 sub{parr exch get exec length totbytes exch sub /totbytes exch def}for totbytes 0 le{exit}if}loop end }__NXbdef /alphaimage{1 add _NXDoImageOp}def _NXLevel2{ /NXCalibratedRGBColorSpace where{pop}{ /NXCalibratedRGBColorSpace {mark /NXCalibratedRGB /ColorSpace findresource exch pop}stopped {cleartomark /NXCalibratedRGB[/CIEBasedABC 2 dict dup begin /MatrixLMN[.4124 .2126 .0193 .3576 .7152 .1192 .1805 .0722 .9505]def /WhitePoint[.9505 1 1.089] def end] /ColorSpace defineresource}if def}ifelse /nxsetrgbcolor{NXCalibratedRGBColorSpace setcolorspace setcolor}__NXbdef /nxsetgray{dup dup nxsetrgbcolor}__NXbdef /_NXCalibratedImage{exch{array astore dup length true}{false}ifelse 8 -1 roll{NXCalibratedRGBColorSpace setcolorspace}if 8 dict dup 9 1 roll begin /ImageType 1 def /MultipleDataSources exch def currentcolorspace 0 get /Indexed eq{pop /Decode[0 2 6 index exp 1 sub]def} {2 mul dup array /Decode exch def 1 sub 0 1 3 -1 roll{Decode exch dup 2 mod put}for}ifelse /DataSource exch def /ImageMatrix exch def /BitsPerComponent exch def /Height exch def /Width exch def end image}__NXbdef } { /setcmykcolor{ 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor}__NXbdef /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef /colorimage{2 copy 3 ne or{_NXDoImageOp}{4 index dup 8 ne exch 4 ne and{_NXDoImageOp}{ pop pop save 6 1 roll 12 dict begin/Proc exch def/Res 0 string def /Alloc{2 index length mul 2 add dup 2 index load length gt{1.2 mul round cvi string def}{pop pop}ifelse}def 1 index 8 eq{/Unpack{.34 Alloc}def}{ /Wid 4 index 3 mul def exch pop 8 exch/Str1 0 string def/Lim Wid def /Unpack{.67 Alloc/Str1 2 Alloc 0 exch Lim exch {dup -4 bitshift 17 mul Str1 exch 4 index exch put 15 and 17 mul Str1 exch 3 index 1 add exch put 2 sub dup 0 le{0 lt Wid exch{exch 1 sub exch}if}if exch 2 add exch }forall/Lim exch def Str1 exch 0 exch getinterval }def }ifelse /Ops[{.3 mul add 1}{.59 mul add 2}{.11 mul add round cvi Res exch 2 index exch put 1 add 0.0 0}]def/Val 0.0 def/Phase 0 def {0 Val Phase Proc/Res Unpack{exch Ops exch get exec}forall/Phase exch def/Val exch def Res exch 0 exch getinterval} image end restore}ifelse}ifelse }__NXbdef /nxsetrgbcolor{setrgbcolor}__NXbdef /nxsetgray{setgray}__NXbdef /setpattern{pop .5 setgray}__NXbdef /_NXCalibratedImage{dup 1 eq {pop pop image}{colorimage}ifelse pop}__NXbdef } ifelse /_NXSetCMYKOrRGB where{pop}{ mark{systemdict /currentwindow get exec}stopped {{pop pop pop setcmykcolor}}{{nxsetrgbcolor pop pop pop pop}}ifelse /_NXSetCMYKOrRGB exch def cleartomark }ifelse %%EndProcSet gsave -20 408 translate /__NXbasematrix matrix currentmatrix def grestore %%EndProlog %%BeginSetup %%PaperSize: Letter %%EndSetup %%Page: 1 1 %%PageBoundingBox: 49 74 563 720 %%PageFonts: (atend) %%BeginPageSetup %%PaperSize: Letter /__NXsheetsavetoken save def 49.5 74 translate gsave -20 408 translate /__NXbasematrix matrix currentmatrix def grestore gsave /Times-Roman findfont 12 scalefont [1 0 0 -1 0 0] makefont 60 exch defineuserobject 60 execuserobject setfont 0 nxsetgray [1 0 0 -1 0 970] concat 0 324 translate %%EndPageSetup gsave 0 0 513 646 rectclip 1 nxsetgray 0 0 513 646 rectfill /Times-Bold findfont 13 scalefont [1 0 0 -1 0 0] makefont 13 exch defineuserobject 13 execuserobject setfont 0 nxsetgray 221 13 moveto (William Wei) show 60 execuserobject setfont 184 27 moveto (314 Village Green Blvd. #202) show 203 41 moveto (Ann Arbor, MI 48105) show 202 55 moveto (phone: \(313\)665-1641) show /Times-BoldItalic findfont 13 scalefont [1 0 0 -1 0 0] makefont 15 exch defineuserobject 15 execuserobject setfont 6 100 moveto (SUMMARY) show 60 execuserobject setfont 24 114 moveto (Software engineer with experience and interest in:) show 24 133 moveto <b7204f4f20616e616c797369732c2064657369676e20616e642070726f6772616d6d696e6 7> show 258 133 moveto <b720436c69656e742f536572766572206172636869746563747572652e> show 24 147 moveto <b720436f6d70757465722047726170686963> show 258 147 moveto <b7204d756c74696d65646961> show 24 161 moveto <b7204d756c74692d74687265616420617263686974656374757265> show 258 161 moveto <b7204368696e6573652070726f6772616d6d696e67> show 15 execuserobject setfont 6 191 moveto (EXPERIENCE) show /Times-Bold findfont 12 scalefont [1 0 0 -1 0 0] makefont 61 exch defineuserobject 61 execuserobject setfont 24 206 moveto (Imagine Multimedia Inc., Ann Arbor, Michigan) show 24 221 moveto (Software engineer, 6/93 - present) show 60 execuserobject setfont 24 235 moveto (Designing and Implementing a Multimedia Asset Management system using Distributed) show 24 249 moveto (Object technology in a Client/Server Multi-threaded Architecture.) show 24 268 moveto (Developed network licensing scheme and integrated it into company's revolutionary interactive) show 24 282 moveto (multimedia authoring package, Callisto.) show 61 execuserobject setfont 24 302 moveto (Stratus Computer Inc., Marlboro, Massachusetts) show 24 317 moveto (Software engineer, 6/91 - 8/92) show 60 execuserobject setfont 24 331 moveto (Worked in a tools and productivity group to support the development of a fault-tolerant UNIX) show 24 345 moveto (project. Developed a validation, regression and code coverage test scheme for a new Pascal) show 24 359 moveto (compiler and debugger.) show 61 execuserobject setfont 24 379 moveto (University Computing Center, University of Massachusetts) show 24 394 moveto (Consultant, 6/91 - 6/93) show 60 execuserobject setfont 24 408 moveto (Provided assistance to users on UNIX/VMS/DOS/Windows/Macintosh machines. Handled) show 24 422 moveto (administration and wrote system programs and utilities.) show 61 execuserobject setfont 24 442 moveto (Department of Electrical and Computer Engineering, University of Massachusetts) show 24 457 moveto (Teaching Assistant, 6/91 - 6/93) show 60 execuserobject setfont 24 471 moveto (Assisted professors in teaching Data Structures & Algorithms and graduate-level Computer) show 24 485 moveto (Graphics as well as co-designed homework, projects and exams.) show 15 execuserobject setfont 6 515 moveto (PERSONAL DEVELOPMENT) show 60 execuserobject setfont 24 529 moveto (Developing an Object-Oriented WYSIWYG Chinese word processor for NEXTSTEP.) show 24 548 moveto (Developed an Object-Oriented 3D modeling and rendering graphics package which includes) show 24 562 moveto (Boolean Operation and Ray Tracing.) show 24 581 moveto (Implemented "Geometric Substitution" texture creator. The resulting textures were mapped to) show 24 595 moveto (3D objects such as icosahedra or spheres which were then viewed using 3D synthetic cameras.) show 24 614 moveto (Developed a client/server model for distributed Ray Tracing using Mach's C-thread package) show 24 628 moveto (and NEXTSTEP's Distributed Object.) show grestore grestore showpage __NXsheetsavetoken restore %%PageTrailer %%DocumentFonts: Times-BoldItalic %%+ Times-Bold %%+ Times-Roman %%Page: 2 2 %%PageBoundingBox: 49 396 563 720 %%PageFonts: (atend) %%BeginPageSetup %%PaperSize: Letter /__NXsheetsavetoken save def 49.5 396 translate gsave -20 408 translate /__NXbasematrix matrix currentmatrix def grestore gsave /Times-Roman findfont 12 scalefont [1 0 0 -1 0 0] makefont 60 exch defineuserobject 60 execuserobject setfont 0 nxsetgray [1 0 0 -1 0 970] concat 0 0 translate %%EndPageSetup gsave 0 646 513 324 rectclip 1 nxsetgray 0 646 513 324 rectfill /Times-BoldItalic findfont 13 scalefont [1 0 0 -1 0 0] makefont 15 exch defineuserobject 15 execuserobject setfont 0 nxsetgray 6 658 moveto (EDUCATION) show /Times-Bold findfont 12 scalefont [1 0 0 -1 0 0] makefont 61 exch defineuserobject 61 execuserobject setfont 24 673 moveto (Master of Science in Electrical and Computer Engineering) show 60 execuserobject setfont 373 673 moveto (9/91-5/93) show 24 687 moveto (University of Massachusetts, Amherst, Massachusetts) show 24 701 moveto (Concentration in Object-Oriented Software Engineering and Computer Graphics) show 61 execuserobject setfont 24 721 moveto (Post Bachelorette studies in Computer Engineering) show 60 execuserobject setfont 373 721 moveto (6/90-9/90) show 24 735 moveto (Michigan State University, East Lansing, Michigan) show 61 execuserobject setfont 24 755 moveto (Training Course - Programming NEXTSTEP) show 60 execuserobject setfont 373 755 moveto (7/93) show 24 769 moveto (NeXT Computer Inc., Redwood City, California) show 15 execuserobject setfont 6 798 moveto (COMPUTER SKILL) show 60 execuserobject setfont 24 812 moveto (Object-Oriented analysis, design and programming.) show 24 826 moveto (Programming in C/C++/Objective-C/Pascal/Modula-3/Assembly/UNIX shell/PostScript.) show 24 840 moveto (Programming NEXTSTEP, UNIX, MS-Windows, X Windows and DOS.) show 24 854 moveto (Computer Graphics in 2D and 3D, especially in 3D modeling and rendering.) show 24 868 moveto (Relational database systems.) show 24 882 moveto (Network, Client/Server programming.) show 24 896 moveto (Multi-thread programming.) show 24 910 moveto (User interface design.) show 24 924 moveto (Chinese programming.) show 15 execuserobject setfont 6 953 moveto (REFERENCES) show 60 execuserobject setfont 24 967 moveto (Available upon request.) show grestore grestore showpage __NXsheetsavetoken restore %%PageTrailer %%DocumentFonts: Times-BoldItalic %%+ Times-Bold %%+ Times-Roman %%Trailer %%DocumentFonts: Times-BoldItalic %%+ Times-Bold %%+ Times-Roman %%Pages: 2 1 %%BoundingBox:49 74 563 720 -- ++ William Wei Imagine Multimedia william@imagine.com (NeXTmail accepted)
From: erwin@helsinki.ks.uiuc.edu (Edgar Erwin) Newsgroups: comp.sys.next.programmer Subject: Setting Keyboard Equivalents in IB Date: 29 Nov 1993 18:27:06 GMT Organization: University of Illinois at Urbana Distribution: world Message-ID: <2ddetq$5fu@vixen.cso.uiuc.edu> Help! I know how to set keyboard equivalents for buttons with the interface builder using the attributes inspector panel. But... I know that I can use `\r' for the return key and `\n' for enter, but is there a similar construct I can use for the arrow keys? I know the octal codes for these keys, but the interface builder doesn't seem to accept them. Must I set these key equivalents from my .m code? (If this is in the online documentation somewhere, please tell me where.) *------------------------------------------------------------* Ed Erwin erwin@lisboa.ks.uiuc.edu 3117 Beckman Institute (NeXT Mail accepted) 405 N. Mathews, Urbana, IL 61801 *------------------------------------------------------------*
Newsgroups: comp.sys.next.programmer From: arrouye@petole.imag.fr (Yves Arrouye) Subject: respondsTo: seems not to work! Why? Message-ID: <ARROUYE.93Nov29175257@petole.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France Date: Mon, 29 Nov 1993 16:52:57 GMT Hi, Some strange things happened to me... I have subclassed SavePanel as in #import <appkit/appkit.h> @interface QuietSavePanel:SavePanel { } - ok:sender; @end and one of my objects has a method like: - (BOOL)panelValidateFilenames:sender { const char* filename; BOOL res, neg = NO; if ([sender respondsTo:@selector(filename)]) { filename = [sender filename]; } else { neg = YES; filename = [sender stringValue]; if (!strcmp(filename, UNKNOWN_PATH)) return NO; } res = [self isValidPath:filename forApp:[appNameField stringValue]]; return neg ? !res : res; } in order to be able to validate a file name both from the QuietSavePanel object and from a TextField. But the code goes in the else part of the if, even if I can check that the object is of the good class under gdb: (gdb) p [sender isKindOfClassNamed:"QuietSavePanel"] $8 = 1 (gdb) p [sender isKindOfClassNamed:"SavePanel"] $9 = 1 What is happening? I thought (the doc says it) that respondsTo: looks at the inheritance hieracrchy, and I have other cases where respondsTo: has the correct behaviour (all my calls but this one, to say). Thanks in advance, Yves. -- Advocates for the C++ school claim that a well designed Yves Arrouye program does not need the extra flexibility (a lie), Yves.Arrouye@imag.fr while advocates for the Objective-C school claim that (33) 76 57 48 64 the errors are no problem in practice (another lie). NeXT Mail
From: pakala@sdl.egr.uh.edu (Rama R. Pakala) Newsgroups: comp.lang.objective-c,comp.sys.next.programmer Subject: Help needed in accessing pointers to functions ... Date: 29 Nov 1993 18:58:31 GMT Organization: University of Houston Message-ID: <2ddgon$rg0@menudo.uh.edu> Hi, I am doing a project on the NeXT, but the question I have is very much in the basic "grassroots" C. I have posted this in comp.lang.c, but no replies, so I am trying my luck here :-). I am building a user-interface, and am using someone else's object to do some parsing of strings which will be entered by the user while running my program. Now, the object ( lets call it Expression) maintains a list of functions which it can parse for. I don't know how it works, but it works very well. Expression also has a method with which I can add new functions to this list. All is nice when I know the functions which I want to add to the list before hand. I can just add a few lines to the code and I am done - Expression will now recognize the new function. The problem is that I want to do this runtime. So the user will enter the name of the function he wants added to the list in a window, and I want the parser to recognize the function. I can specify that the new function to be added to the list be entered in a specific file, which will be compiled along with my program. So the compiler will "know" the new function at compile time. I cannot obviously maintain a list of function pointers and function names, before hand since 1. The function names will be known only at run-time. 2. I will not know the address of the new function. I hope I have put my problem accross clearly. Any help would be greatly appreciated. -- Rama Rao Pakala, Systems Design Laboratory, W224-D3, College of Engineering, University of Houston ******************************************* To be is to do - Immanuel Kant To do is to be - Sigmund Freud Dooby, dooby, do - Frank Sinatra
From: eric@skatter.USask.Ca (Eric Norum) Newsgroups: comp.sys.next.programmer Subject: How can I Use IB to set actions for a custom object Date: 29 Nov 1993 18:59:56 GMT Organization: University of Saskatchewan, Saskatoon, Canada Distribution: world Message-ID: <2ddgrc$4c1@tribune.usask.ca> I have developed an object which acquires data via ethernet and serial lines from a number of front-end processors around our laboratory. Among this object's instance variables are things like: id target; SEL action; id errorTarget; SEL errorAction; The `action' method is sent to the `target' when new data arrive from the front-end processor. The `errorAction' method is sent to the `errorTarget' when communications with the front-end processor breaks down. There are associated methods like: - setTarget:target; - target; - setAction:(SEL)action; - (SEL)action; - setErrorTarget:target; - errorTarget; - setErrorAction:(SEL)action; - (SEL)errorAction; I'd like to be able to make the connections to this object using the Interface Builder. For the `target' and `errorTarget' instance variables this is no problem -- the names appear in the Outlets column of the IB CustomObject Inspector connections panel. The Actions column is blank, though. I want to make the actions connectable, too (like it is for things like buttons). How do I do this? My object is now a subclass of Object. If I made it a subclass of some other object (Cell?, Control?) would the Interface Builder do what I want? Do I have to write some sort of Inspector for my object? Is there an example anywhere that can show me how this is done? -- Eric Norum eric@skatter.usask.ca Saskatchewan Accelerator Laboratory University of Saskatchewan Saskatoon, Canada. NeXTMail accepted.
From: mcgredo@crl.com (Donald R. McGregor) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep and DPS ? Date: 29 Nov 1993 12:08:07 -0800 Organization: CRL Dialup Internet Access (415) 705-6060 [login: guest] Message-ID: <2ddkr7$29o@crl.crl.com> References: <2cukrm$m5f@senator-bedfellow.MIT.EDU> <1993Nov25.211117.16334@instep.wimsey.bc.ca> On a sort of related note, what things should you be on the lookout for from a compatability standpoint with the move to OpenSTeP? This is jumping the gun a bit, since this will obviously be hashed out in the coming months as the spec actually gets written. I assume any BSD-isms are right out, as are Mach message ports, and anything Mach-specific. cthreads? -- Don McGregor | The Fabio of Cyberspace mcgredo@crl.com |
Newsgroups: comp.sys.next.programmer From: LAPJ_LTD@db1.cc.rochester.edu (JASON LAPIERRE) Subject: help w/ icons on buttons in IB Message-ID: <1993Nov29.202523.5340@galileo.cc.rochester.edu> Sender: news@galileo.cc.rochester.edu Organization: University of Rochester, Rochester NY Date: Mon, 29 Nov 93 20:25:23 GMT Is there an FAQ somewhere for this kind of stuff? This seems like a ridiculously simple problem but I can't get it to work. In IB I type in the names of the two tiff files (icon and altIcon) but all I get is the regular icon. When I test the interface and even if I compile the project and run the app, the icon doesn't change. The event is sent though. Even a setState message to the button doesn't do anything. Can someone kindly tell me what foolish mistake I'm making? Thanks in advance -Jason ---------- Jason LaPierre -- University of Rochester -- lapj_ltd@db1.cc.rochester.edu
From: minogue@mayo.edu (Lisa Minogue) Newsgroups: comp.sys.next.programmer Subject: Re: help w/ icons on buttons in IB Date: 29 Nov 1993 21:39:17 GMT Organization: Mayo Foundation Message-ID: <2ddq65$ffp@fermat.mayo.edu> References: <1993Nov29.202523.5340@galileo.cc.rochester.edu> In article <1993Nov29.202523.5340@galileo.cc.rochester.edu> LAPJ_LTD@db1.cc.rochester.edu (JASON LAPIERRE) writes: > In IB I type in the names of the two tiff files (icon and altIcon) but > all I get is the regular icon. When I test the interface and even if I > compile the project and run the app, the icon doesn't change. The event is > sent though. Even a setState message to the button doesn't do anything. > Can someone kindly tell me what foolish mistake I'm making? I've had this problem too... My bet is that your tiff file isn't part of your nib/project. Look in the Images suitcase in Interface Builder. If your icons aren't there, drag them in, Interface Builder will then ask you if you want to insert them into your project. If the icons are in the interface builder suitcase, try adding them to the Images section of project builder. Hope this helps you out. -- Lisa ---------------------------------------------------------- Lisa M. Minogue Internet: minogue@mayo.edu Analyst/Programmer NeXT mail welcome Research Computing Facility Mayo Foundation -----------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: ief@netnews.jhuapl.edu (Ian Feldberg (TES)) Subject: attaching images to buttons in IB Message-ID: <CH9wpH.6p0@netnews.jhuapl.edu> Organization: Applied Physics Laboratory of Johns Hopkins University Date: Mon, 29 Nov 1993 21:51:17 GMT Does anyone out there know how to attach an icon (TIFF or EPS) to a button in Interface Builder and make its background transparent? I need to create some non-square button icons. Thanks, Ian Feldberg --- JHU/APL --- Ian_Feldberg@jhuapl.edu
From: pedja@cs.umd.edu (& Bogdanovich) Newsgroups: comp.sys.next.programmer Subject: How to makeMainWindow? Date: 29 Nov 1993 21:57:12 GMT Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Distribution: world Message-ID: <PEDJA.93Nov29165712@franang.cs.umd.edu> Two questions: 1. Does anyone know how to make a window be the application's mainWindow (other than making it key)? 2. If an application has an open Panel and an open Window, how do I make the panel be the key window while the main window is either undefined or the panel itself? Thanks. Pedja <pedja%luka@umiacs.umd.edu>
From: eric@skatter.usask.ca Newsgroups: comp.sys.next.programmer Subject: Re: How can I Use IB to set actions for a custom object Date: 29 Nov 1993 23:09:08 GMT Organization: University of Saskatchewan Distribution: world Message-ID: <2ddvek$fhp@tribune.usask.ca> References: <2ddgrc$4c1@tribune.usask.ca> First of all, I'd like to express my thanks to the people that responded so quickly to my previous posting. Unfortunately, the question they answered wasn't the one I intended to ask. I see that my question wasn't worded clearly enought. I don't want to set up connections *to* my custom object, I want to set up connections *from* it. Perhaps the following example can make things clearer. I have an class (HexComm) with instance variables like: id target; SEL action; id errorTarget; SEL errorAction; I instantiate an object of this class in the Interface Builder window. Let's say I call this instance hexCommObj. I want to set up the connections from this object (hexCommObj) to some other object (let's call it dataHandler). The dataHandler object has methods like `- handleData:sender' and `- handleError:sender'. To make the connections I control drag from the hexCommObj sphere in the Objects window to the dataHandler sphere in the Objects window. What I see in the inspector window at this point is: +---------------------------------------------------+ | CustomObject Inspector | +---------------------------------------------------+ | | Connections *| | +---------------------------------------------------+ | Outlets | | +---------------------------------------------------+ | target | | | errorTarget | | | | | | | | So, I can set hexCommObj's `target' and `errorTarget' instance variables to my `dataHandler' object, but I can't set the action or errorAction instance variables. What I *want* to see in the inspector window is the sort of thing you see when you control-drag from a button. i.e. I want to see something like this: +---------------------------------------------------+ | CustomObject Inspector | +---------------------------------------------------+ | | Connections *| | +---------------------------------------------------+ | Outlets | Actions | +---------------------------------------------------+ | target > | list of possible | | errorTarget > | receiver actions in | | | dataHandler object | | | | Note that the `target' outlet now has a little right-arrow beside it........ I can see why this can't ``just work'' (how does IB know that target and action go together, and that errorTarget and errorAction go together?), but I hope there is some reasonably simple way of doing this. -- Eric Norum eric@skatter.usask.ca Saskatchewan Accelerator Laboratory University of Saskatchewan Saskatoon, Canada. NeXTMail accepted.
From: rcfa@cubiculum.com (Ronald C.F. Antony) Newsgroups: comp.sys.next.programmer Subject: Re: NeXT support Cygnus? (ObjC queries) Date: 29 Nov 1993 23:36:35 GMT Organization: NeXT-BUG (NeXT at Brown University Group) Distribution: world Message-ID: <2de123$52h@tunix.cubiculum.com> References: <2cfkjs$36j@steffi.demon.co.uk> In article <2cfkjs$36j@steffi.demon.co.uk> robert@steffi.demon.co.uk (Robert Nicholson) writes: > committee to look over proposed enhancements. Where's in Objective-C > heading? Will we ever see private instance variables? etc etc. Hm, are you per chance still using NeXTSTEP 2.x? NS3.x does have private Ivars... As to the main topic: I think that we should start a campaign to urge NeXT to buy a Cygnus maintenance contract. If NeXT would pay Cygnus (or any other qualified party) to maintain all of the GNU software on the NeXTSTEP platform, NeXT could divert resources from maintaining Unix utilties to writing device drivers, object kits and doing an SGI, PowerPC and Alpha port. There is really no reason why we should be stuck with some partially braindead BSD tools, when there are sometimes vastly superior GNU versions available. It also does not make sense to install all tools twice (once in /usr/local/gnu/bin and once in /bin or /usr/bin), nor does it make sense that NeXT wastes manpower and resources in maintaining old tools. If they were to send some money and equippment to Cygnus, we'd get source, support and better tools. NeXT would free resources to do more "mission critical" work on NeXTSTEP... Hey, and maybe we'd even get NeXTSTEP interfaces to some of the GNU tools. e.g. a "railway" diagram editor for yacc/byacc/bison etc. :-) -- Ronald ============================================================================== "The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man." G.B. Shaw ------------------------------------------------------------------------------ rcfa@cubiculum.com rcfa@ANDI.org rcfa@sleepy.cis.brown.edu | NeXT-mail welcome
From: rcfa@cubiculum.com (Ronald C.F. Antony) Newsgroups: comp.sys.next.programmer Subject: OpenSteop Date: 29 Nov 1993 23:59:38 GMT Organization: NeXT-BUG (NeXT at Brown University Group) Distribution: world Message-ID: <2de2da$5br@tunix.cubiculum.com> While I'm generally thrilled about the NeXT/SUN deal, there are a few questions that concern me: Since OpenStep is supposed to be based on NS 3.2, this opens up potential problems/road blocks: a) NS 3.2 is NOT 64bit clean, moving to 64bit architectures will not be that simple, but it might be necessary, considering the general tendency to move to memory mapped file operations and multimedia type applications. b) NS 4.0 was supposed to clean up the NS API that is messy in some respects (e.g. Text object), as well as to add crucial features like UNICODE, support for languages that write in other directions than left-to-right (=> merging of NS J-versions with the regular international version, support for Hewbrew, Arabic, ...) etc. Now with all that sudden 3.2 porting going on, how likely is it going to be that we will see 4.0 (or these features) within reasonable time? (After all I doubt SUN would be too happy to come to market with OpenStep (3.2 compliant) just to see NeXT announce NS 4.0 a few weeks later and tell everyone that SUN's stuff is outdated. c) Where is the OODB/OO-file system going to fit in? Where NeXTTIME? d) DBKit, as expected (considering it's appeal to business) is part of OpenStep. NeXT however is working on a totally revised version, if one can belive the rumors. So, if OpenStep is based on NS 3.2, what does that mean for the overhauled DBKit? etc.etc. In short: there are many things that NeXT is expected to come out with for quite a while now. It seems that NeXT, as long as there were just NeXTSTEP ports, could introduce new versions anytime, since, as long as the kernel wasn't affected, the rest of NS was more or less platform independent. Now with OpenStep, they have to take care not to piss off their partners all too soon and maybe slow down developmen :-( Comments anyone? -- Ronald ============================================================================== "The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man." G.B. Shaw ------------------------------------------------------------------------------ rcfa@cubiculum.com rcfa@ANDI.org rcfa@sleepy.cis.brown.edu | NeXT-mail welcome
Newsgroups: comp.sys.next.programmer From: paul@phoenix.Princeton.EDU (Paul Lansky) Subject: Can't find WindowServer Port Message-ID: <1993Nov29.151440.25486@Princeton.EDU> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University Date: Mon, 29 Nov 1993 15:14:40 GMT [posting for a friend. please reply to him] I am working with a 68040 NeXTcube, running NeXTstep 3.1. At this point the machine completes all stages of the boot process except for the duties of the init daemon. The WindowServer fails to start. The mach monitor remains on the screen and the mouse appears. We get this error: loginwindow[45]: Cannot Find WindowServer Port! Any help would be tremendously appreciated. Please reply as soon as possible via email to both of the following addresses: pap@vergina.eng.auth.gr penrose@silvertone.princeton.edu Christopher Penrose
Newsgroups: comp.sys.next.programmer From: paul@phoenix.Princeton.EDU (Paul Lansky) Subject: Problems with .nib files built under 2.1 Message-ID: <1993Nov29.153341.22067@Princeton.EDU> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University Date: Mon, 29 Nov 1993 15:33:41 GMT I've been through this before but forgot what to do. I have a .nib file built under 2.1 or 2.0. If I try to open it under 3.1 *or* 2.1 InterfaceBuilder it dies on strcmp() or strlen() according to gdb. Does anyone have a workaround for this? Thanks Paul Lansky paul@princeton.edu
From: rcfa@cubiculum.com (Ronald C.F. Antony) Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep Date: 30 Nov 1993 00:36:32 GMT Organization: NeXT-BUG (NeXT at Brown University Group) Distribution: world Message-ID: <2de4ig$5ua@tunix.cubiculum.com> References: <2de2da$5br@tunix.cubiculum.com> While I'm generally thrilled about the NeXT/SUN deal, there are a few questions that concern me: Since OpenStep is supposed to be based on NS 3.2, this opens up potential problems/road blocks: a) NS 3.2 is NOT 64bit clean, moving to 64bit architectures will not be that simple, but it might be necessary, considering the general tendency to move to memory mapped file operations and multimedia type applications. b) NS 4.0 was supposed to clean up the NS API that is messy in some respects (e.g. Text object), as well as to add crucial features like UNICODE, support for languages that write in other directions than left-to-right (=> merging of NS J-versions with the regular international version, support for Hewbrew, Arabic, ...) etc. Now with all that sudden 3.2 porting going on, how likely is it going to be that we will see 4.0 (or these features) within reasonable time? (After all I doubt SUN would be too happy to come to market with OpenStep (3.2 compliant) just to see NeXT announce NS 4.0 a few weeks later and tell everyone that SUN's stuff is outdated. c) Where is the OODB/OO-file system going to fit in? Where NeXTTIME? d) DBKit, as expected (considering it's appeal to business) is part of OpenStep. NeXT however is working on a totally revised version, if one can belive the rumors. So, if OpenStep is based on NS 3.2, what does that mean for the overhauled DBKit? etc.etc. In short: there are many things that NeXT is expected to come out with for quite a while now. It seems that NeXT, as long as there were just NeXTSTEP ports, could introduce new versions anytime, since, as long as the kernel wasn't affected, the rest of NS was more or less platform independent. Now with OpenStep, they have to take care not to piss off their partners all too soon and maybe slow down developmen :-( Comments anyone? -- Ronald ============================================================================== "The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man." G.B. Shaw ------------------------------------------------------------------------------ rcfa@cubiculum.com rcfa@ANDI.org rcfa@sleepy.cis.brown.edu | NeXT-mail welcome
From: rcfa@cubiculum.com (Ronald C.F. Antony) Newsgroups: comp.sys.next.programmer Subject: OpenStep Date: 30 Nov 1993 01:20:29 GMT Organization: NeXT-BUG (NeXT at Brown University Group) Distribution: world Message-ID: <2de74t$6hr@tunix.cubiculum.com> While I'm generally thrilled about the NeXT/SUN deal, there are a few questions that concern me: Since OpenStep is supposed to be based on NS 3.2, this opens up potential problems/road blocks: a) NS 3.2 is NOT 64bit clean, moving to 64bit architectures will not be that simple, but it might be necessary, considering the general tendency to move to memory mapped file operations and multimedia type applications. b) NS 4.0 was supposed to clean up the NS API that is messy in some respects (e.g. Text object), as well as to add crucial features like UNICODE, support for languages that write in other directions than left-to-right (=> merging of NS J-versions with the regular international version, support for Hebrew, Arabic, ...) etc. Now with all that sudden 3.2 porting going on, how likely is it going to be that we will see 4.0 (or these features) within reasonable time? (After all I doubt SUN would be too happy to come to market with OpenStep (3.2 compliant) just to see NeXT announce NS 4.0 a few weeks later and tell everyone that SUN's stuff is outdated. c) Where is the OODB/OO-file system going to fit in? Where NeXTTIME? d) DBKit, as expected (considering it's appeal to business) is part of OpenStep. NeXT however is working on a totally revised version, if one can believe the rumors. So, if OpenStep is based on NS 3.2, what does that mean for the overhauled DBKit? etc.etc. In short: there are many things that NeXT is expected to come out with for quite a while now. It seems that NeXT, as long as there were just NeXTSTEP ports, could introduce new versions anytime, since, as long as the kernel wasn't affected, the rest of NS was more or less platform independent. Now with OpenStep, they have to take care not to piss off their partners all too soon and maybe slow down development :-( Comments anyone? Ronald PS: If you should get multiple copies of this article: I tried to cancel them but NewsGrazer gave me some error. I then tried to manually post a control message. This might not have worked out quite right. Sorry... ============================================================================== "The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man." G.B. Shaw ------------------------------------------------------------------------------ rcfa@cubiculum.com rcfa@ANDI.org rcfa@sleepy.cis.brown.edu | NeXT-mail welcome
Newsgroups: comp.sys.next.programmer From: david@zion.com(David J. Ferrero) Subject: pword vs. ixbuild? Message-ID: <1993Nov29.130355.881@zion.com> Sender: david@zion.com Organization: Zion Software & Consulting Date: Mon, 29 Nov 1993 13:03:55 GMT What exactly did/does pword do? I am porting an application which uses pword [-a] [-f] [-p] -m directory/filename I need to come up with a replacement, but from the NEXT docs, I can't determine what pword did and the substitute using ixbuild or ixdomain. Thanks, David Ferrero david@zion.com
Newsgroups: comp.sys.next.programmer From: jfr@aspen.pdh.com (Jon F. Rosen) Subject: Re: Event Programming Message-ID: <CH9yt8.8us@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. References: <CH0w90.AIH@phcs.com> Date: Mon, 29 Nov 1993 22:36:44 GMT Jim Quick writes > Howard R. Cole writes: > > > > I think the question was "what is an example of an application > > defined event" rather than "what is an event driven > > application". Notice all the examples of events you described > > are *system* defined events rather than application defined > > events. > > Let's say that application opened a socket and was listening > for a TCP connect request (or was waiting for an incoming UDP > datagram). You don't know when something will arrive, but > you need to be able to handle it when it happens. > > Somewhere during initialization you set up your socket. Then > you call this. > [description of a file descriptor handler munched] This is still not exactly what was asked, I believe. An application-defined event is something your own application can post on the normal event queue so that it is dispatched automatically when it is encountered in the event queue. For instance, I needed to have a server shut itself down when it received a SHUTDOWN message. I was able to use distributed objects to have a client administrator application connect to the server and send the shutdown message. However, in the server, my original thought was to just do the shutdown when the server got the shutdown message. Unfortunately, there may be other events waiting to be processed that arrive after the shutdown arrives but before it is handled. The proper solution in the shutdown method is to "quiesce" the server (i.e., turn off its ability to receive new messages), post an application-defined event (so that it will be the last event in the queue) and then let things wind up properly. No new messages will be accepted but already received messages will be handled normally. When the application-defined event gets its turn, there should be no more events in the queue to process. Jon Rosen
From: silbar@cantina.lanl.gov (Dick Silbar) Newsgroups: comp.sys.next.programmer Subject: NS/I 3.1 PB with f2c can't find _sig_die in libF77.a Date: 30 Nov 1993 00:03:02 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9311300558.AA17387@cantina.lanl.gov> Sometimes I say I haven't seen something before, but I had and forgot about it. I don't think I've seen this one, however. I'm trying to build an App which provides a front end to a Fortran source code. (I didn't write the code and have only modified it very slightly to fit the App.) I've certainly done this sort of thing before, when on black hardware, and thus anticipated no troubles. My Fortran "compiler" is the f2c converter. I might add that I recompiled f2c myself to run on the NS/I 3.1 machine I'm now using. Don't recall there was any problem here other than having to define CRAY (cc -DCRAY ...) to avoid a few multiple definitions. And, the f2c works. Compiling the Fortran code with the provided 'f77' script, f77 -g -o sola sola.f [no kidding, that's its name. Really.] and having the libraries libF77.a and libI77.a in the right place, /usr/lib/, sola reproduced test example results (originally run on a CRAY back in the 70's) down to the last visible significant digit in many, many numbers. (It is a 2D hydrodynamics code.) No complaints during the compilation process at all. What _doesn't_ work is when I do the compilation and loading while building the App in Project Builder: f77 -c -g sola.f sola.f: sola: cc -g -O -Wall -I./sym -arch i386 -ObjC -sectcreate __ICON __header Sola-2DFlow.iconheader -segprot __ICON r r -sectcreate __ICON app /usr/lib/NextStep/Workspace.app/application.tiff -o Sola-2DFlow.app/Sola-2DFlow i386_obj/SolaController.o i386_obj/VecFieldView.o i386_obj/Sola-2DFlow_main.o i386_obj/drawVector.o sola.o -lF77 -lI77 -lMedia_s -lNeXT_s ld: Undefined symbols: _sig_die *** Exit 1 Stop. So, the loader can't find something called _sig_die. But _sig_die *IS* present in the libF77.a library. You can see it there as a sig_die.c file before you make the library, as a sig_die.o relocatable, AND as _sig_die in the libF77.a symbol table. (At least, I THINK that is the symbol table, up there at the top of the libF77.a file; in any case the string "_sig_die" certainly appears about four times in it.) It appears there are no other symbols the loader can't resolve. (There were plenty, before I got the libraries inserted in the Project Builder.) Does this make any sense to anyone? I'm (once again) baffled. Thanks in advance, Dick Silbar WhistleSoft, Inc.
From: mrb@earth.wustl.edu (Mike Bray) Newsgroups: comp.sys.next.software,comp.sys.next.programmer Subject: Zipcode/CASS scrubber wanted Date: 30 Nov 1993 07:05:25 GMT Organization: Washington University, St. Louis MO Distribution: world Message-ID: <2derbl$93a@wuecl.wustl.edu> I'm looking for a NeXTStep application that will validate and correct postal addresses. There are commercial products like AcuZip for the Macintosh that access a US Postal Service CDROM containing valid US addresses, updated every 3 months. I want an object or server process that can be messaged from our in-house mission critical application to validate addresses as our users enter them, and to scrub addresses already in the database. Vendors, please call if you have a solution! Thanks, Mike Bray mrb@earth.wustl.edu 307-332-1279
Newsgroups: comp.sys.next.programmer From: rawyatt@netcom.com (Robert Wyatt) Subject: NEED HELP: Setting up automatic-reply email server... Message-ID: <rawyattCHAM9E.1FF@netcom.com> Organization: Netcom Online Communications Services (408-241-9760 login: guest) Date: Tue, 30 Nov 1993 07:03:13 GMT I'm interested in setting up my NEXTSTEP system to be able to automatically reply to email. I am a partner in a small record label and we are in the process of setting up our UUCP/News connection. When everything is finished, we would ideally like to be able to have email sent to us which, depending on the contents of the subject line, automatically replies. For example, if someone send us a message with the subject reading: bio Siddal, this would automatically send a (non-NeXTmail) reply containing the bio for our band, Siddal. Catalogs, order-forms, press releases, indexes, song lyrics, etc. could all be retrieved this way. I realizes this is no small undertaking, but I have had quite a bit on Unix experience and am now learning to develop using NEXTSTEP. Has anyone here set-up something like this? I'm not looking for someone to write it for me, just to point me in the right direction in way of books and other reference materials. Thank you very much for your time and help! It is much appreciated! -Rob Wyatt rawyatt@netcom.com
From: sanguish@digifix.com Newsgroups: comp.sys.next.announce,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.advocacy,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.programmer,comp.sys.next.marketplace Subject: Quick Guide to the comp.sys.next.* newsgroups Date: 30 Nov 1993 00:24:04 -0500 Organization: Next Announcements Message-ID: <2deldk$h7t@digifix.digifix.com> The current menagerie: 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. comp.sys.next.announce Announcements of general interest to the NeXT community (new products, FTP submissions, user group meetings, commercial announcements etc.) The NEXTSTEP FAQs are posted here monthly as well. 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. 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. 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. 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. 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!!! comp.sys.next.programmer Questions and discussions of interest to NEXTSTEP programmers. This is primarily a forum for advanced technical material. The NEXTSTEP programmer FAQs are posted here. 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. comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. related Newsgroups 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. comp.lang.objective-c Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. 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. --------------------------------------------------------------------- Thanks to Michael Ross at antigone.com, the main NEXTSTEP groups are now available as a mailing list digest as well. next-nextstep-d next-advocacy-d next-announce-d next-bugs-d next-hardware-d next-marketplace-d next-misc-d next-programmer-d next-software-d next-sysadmin-d (For a full description, send mail saying LISTS to <digestif@antigone.com>). The subscription syntax is essentially the same as LISTSERV's. To subscribe, send a message to <digestif@antigone.com> saying: SUB Listname YourName Example: SUB next-hardware-d John Doe -------------------------------------------------------------------- Written by: Eric P. Scott eps@toaster.SFSU.EDU Minor editing: Scott Anguish sanguish@digifix.com Additions from: Greg Anderson (Greg_Anderson@afs.com) and Michael Pizolato (Michael_Pizolato@afs.com)
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: Re: How can I Use IB to set actions for a custom object Message-ID: <CHAHw6.98@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems References: <2ddgrc$4c1@tribune.usask.ca> Date: Tue, 30 Nov 1993 05:28:53 GMT Eric Norum writes > I'd like to be able to make the connections to this object using Interface > Builder. For the `target' and `errorTarget' instance variables this is no > problem -- the names appear in the Outlets column of the IB CustomObject > Inspector connections panel. The Actions column is blank, though. > My object is now a subclass of Object. If I made it a subclass of some > other object (Cell?, Control?) would the Interface Builder do what I want? if your object is a subclass of Control, you can set the action via Interface Builder -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
Newsgroups: comp.sys.next.programmer From: Robert_La_Ferla@hot.com Subject: Serial Technology (Re: a NeXT at home, with a modem.) Message-ID: <1993Nov30.050113.14807@hot.com> Keywords: SerialPortKit, SerialPortServer, serial, modems, Hot Technologies Sender: robertl@hot.com Organization: Hot Technologies References: <1993Nov30.045908.14738@hot.com> Date: Tue, 30 Nov 1993 05:01:13 GMT Shameless plug to follow... Hot Technologies has a great set of products called SerialPortKit and SerialPortServer that do just this and more. The SerialPortKit is an Interface Builder palette that allows you to easily add serial communications to your custom application without any of the drawbacks of other solutions. In addition, the kit makes full use of Distributed Objects to talk to our SerialPortServer which allows you to seamlessly access and share serial ports on remote computers on a network even across the country! Share stock tickers, PBX systems, dial out modems, audio/video equipment and more... For more information, contact Hot Technologies (info@hot.com or + 1 617 252 0088. You can purchase these directly from us, through Paget Press (info@paget.com or + 1 206 448 0845) and Alembic Systems (info@alembic.com) In article <CEDMAN.93Nov28220149@capitalist.princeton.edu> cedman@princeton.edu (Carl Edman) writes: > Others have answered most of your questions fairly accurately, so let > me just add a few points. > > In article <CH7oMn.InC@cc.umontreal.ca> kosmatoo@JSP.UMontreal.CA (Kosmatos Odisseas) writes: > C) write programs in C on the NeXT that can access the modem? > (for example, when the ring detect line on the modem, > which I hope the NeXT's have, is activated, can I easily > write a program to do so?) > > No, apart from a few special functions which are supported by ioctls > (man zs), this would be very difficult to do. On the other hand, I > can not think of many good reasons why you'd want to. Most > applications of modems are directly supported by the OS already, so > there should be no need to do anything as low level as that. > > D) If Xwindows is installed on the NeXT with the modem, can > one (although slowly because of slow 14.4K modem) run xwindows > programs elsewhere but use them locally at home using, > say, xremote, or whatever? > > If you run SLIP, you can use the standard methods for running X > applications remotely and displaying them locally (and vice versa). > With modern V32.bis/V42.bis modems the performance is actually > surprisingly good. xterms or emacs will run very smoothly. Graphics > intensive applications are of course an exception though even here you > may be surprised how usable X can be over a low bandwidth link. > > Using xremote instead of SLIP will significantly improve your X > performance, but you'll not any longer be directly on the net with all > the attendant benefits (rlogin, telnet, NNTP, mail and many more), so > unless you are going to be a very heavy X user I'd advise against it. > And even if you are, I'd suggest you give plain SLIP a try first. > > Basically, how well is a NeXT going to function with a high speed modem? > I mean, is this common? Or are all NeXT's on the internet and nobody > bothers to stick modems on them? > > Fairly common. Quite a few of the people on the net actually do use > SLIP with NeXTs and those who do are almost uniformly very happy with > it. But note, that I'm referring to 68040 (not i386, not 68030) > hardware only here. > > Carl Edman
Newsgroups: comp.sys.next.programmer From: arrouye@petole.imag.fr (Yves Arrouye) Subject: Re: respondsTo: [...] MORE PROBLEMS AND PRECISIONS In-Reply-To: arrouye@petole.imag.fr's message of Mon, 29 Nov 1993 16:52:57 GMT Message-ID: <ARROUYE.93Nov30095834@petole.imag.fr> Sender: news@imag.fr Organization: Institut Imag, Grenoble, France References: <ARROUYE.93Nov29175257@petole.imag.fr> Date: Tue, 30 Nov 1993 08:58:33 GMT In fact, what happens is the following: the test is always false (!). I have changed the variable to be named tovalidate instead of filename, and it does not change anything. Moreover, if I change the test to if ([sender isKindOfClassNamed:"SavePanel"]) no parts of the if are executed (controlled under gdb) ! And after the test, sender becomes 0x0 !!! (In the following excerpt from a gdb session, the commands starts just after the if() has been stepped): (gdb) p tovalidate $1 = 0x2a105c "p£\002" (gdb) p sender $2 = (struct QuietSavePanel *) 0x2a105c (gdb) p [sender filename] $3 = 0 (gdb) p (char*)[sender filename] $4 = 0x0 (gdb) p [sender isKindOfClassNamed:"SavePanel"] $5 = 1 (gdb) s (gdb) p sender $6 = (struct objc_object *) 0x0 So I do not know what to do... I have two other problems here, too: first, the +new and +newContent... methods of my QuietSavePanel class are never called! Second, if I directly call [QuietSavePanel new] instead of setting the panel factory, it works, but if the method looks like: + new { QuietSavePanel* panel = [super new]; panel->spFlags.opening = 0; return panel; } the panel still brings up an alert panel asking for confirmation because the selected file exists. And what I want is *Not* to have this panel. What can I do? (I can't use an Openpanel, because I am unable to make it display file packages as plain files when the delegate implements a filtering function. And my goal is to be able to let the user select only executables files, some of them are without extension, so I cannot use the runModal...types: method of the OpenPanel). Thanks in advance for any help: I am lost with this one! Yves -- Advocates for the C++ school claim that a well designed Yves Arrouye program does not need the extra flexibility (a lie), Yves.Arrouye@imag.fr while advocates for the Objective-C school claim that (33) 76 57 48 64 the errors are no problem in practice (another lie). NeXT Mail
From: Bob_Vadnais@next.com (Bob Vadnais) Newsgroups: comp.sys.next.programmer Subject: NeXT OS engineering position available Date: 29 Nov 1993 17:15:36 GMT Organization: NeXT, Inc. Distribution: world Message-ID: <2ddano$4h8@rosie.next.com> Position: OS Engineer Location: NeXT Computer, Inc., Redwood City, California The engineer will perform system bringup in the NEXTSTEP RISC group. Duties will include general kernel, OS and driver development, and kernel/OS bringup. In the future, the engineer will be expected to help with bringup on other architectures as NeXT's needs emerge. Required Experience - BSCS or equivalent experience - Fluency in C and assembly language - 4 years OS engineering background: UNIX internals, Mach internals a plus - 3 years of OS bringup work Desired Experience - 4 to 7 years OS internals - Bootloader experience and strategy development - Device drivers development experience (LAN, floppy, serial, parallel, SCSI) - Knowledge of various RISC architectures and assembly languages (HP PA-RISC) - Experience with object-oriented languages (Objective-C, C++, Smalltalk) - NEXTSTEP programming experience is a definite advantage For more information, please send a cover letter and resume via email to RISC_Jobs@NeXT.com or fax to 415.780.4554. Responses without cover letters will not be considered. Please include at least one paragraph which reflects on how your skills and experience will enable your success as a OS Engineer at NeXT.
Newsgroups: comp.sys.next.programmer Subject: Re: OpenStep and DPS ? Message-ID: <93334.005627JTRQC@CUNYVM.CUNY.EDU> From: <JTRQC@CUNYVM.CUNY.EDU> Date: Tue, 30 Nov 1993 00:56:27 EST References: <2cukrm$m5f@senator-bedfellow.MIT.EDU><1993Nov25.211117.16334@instep.wimsey.bc.ca> <2ddkr7$29o@crl.crl.com> Organization: City University of New York/ University Computer Center It will be a sad day when OpenStep will step away from the wonderous capabilities that mach has!! Oh no... there goes my cthreads and my RPC's ...... *cry* If OpenStep does do away with RPC's cthreads etc.. (mach stuff!) then OpenStep will really suck!!!!
From: wwille.hanse.de!wwille (Winfried Wille) Newsgroups: comp.sys.next.programmer,de.comp.sys.next Subject: How to get a subclass of DBAssociation on a palette Date: 27 Nov 1993 14:56:47 +0100 Organization: Terraprolls Sender: wwille@wwille.hanse.de Message-ID: <2d7mav$i8g@wwille.hanse.de> Keywords: dbkit,dbassociation,palette Hi, I am currently writing a DBKit application for a laboratory, a small thing. I tried to enhance the DBKit with some generic objects, that would allow everyone without programming to build a application which is able to search over all fields in the rootfetchgroup, coordinate fetching between different moduls - not just single rows - and the ability to insert records in arbitrary fetchgroups with automatically generated ids. I got this stuff to 75% going and prepared one object WWQualAssoc, a enhanced version of the AssociationExample from Mai Nguyen, for release. Its currently undocumented, but I will mail it to you, if you are interested. But I am having some serious problems. WWQualAssoc is a subclass of DBAssociation, and the IB dosn't know anything about the class DBAssociation. I got it in a palette by parsing "DBAssoc.h", but how to get the inspector and IB-testmode to work !? The same thing will happen with the other objects, because they use the DBFetchgroup, DBRecordList, DBBinder, DBQualifier and DBValue classes. Has already someone contact NeXT with similar problems. I think I need the DBAssociation, DBFetchGroup, DBValue... class as bundles. I have a lot of other problems: - how to get a fetchgroup to save all properties of a 1/1 join(I think I will just build views); - how to determine to which table and column a key property in a view belongs. think I will make the restrictions, that these dependencies have to be entered in a different table. The only solution I had in mind was to get the view definition with sp_helptext out of Sybase and perform a parsing of the text (its a recursive operation, because views can be build on top of views). Perhapst someone could give me some hints !? Greetings Winfried Wille -- * email: wwille@wwille.hanse.de, NeXT mail accepted * * Voice: +49 40/456543, Data +49 40/457826 * * HMH e.V. section NeXTfriends *
From: bkr@drdhh.hanse.de (Bjoern Kriews) Newsgroups: comp.sys.next.programmer Subject: Re: XVIEW for NeXT-Step 3.0? - YES !!! Date: 27 Nov 1993 09:08:19 +0100 Organization: Digital Island Message-ID: <bkr.754387577@drdhh> References: <1993Nov3.183913.11294@knipp.en.open.de> elmar@knipp.en.open.de (Elmar Knipp) writes: >Did anyone succesfully compile XVIEW-Library for NeXT-Step 3.0? >Where can I find the libraries? A friend of mine, Valentino Kyriakides, has ported XView to the NeXT. The binaries are distributed a shareware. I have uploaded them a few days ago to ftp.informatik.uni-muenchen.de but I don't know if they are already out of submissions (unreadable) and I can't check now because the network seems to be down. Greetings, Bjoern -- bkr@drdhh.hanse.de - Bjoern Kriews - Stormsweg 6 - D-22085 Hamburg [76] - FRG By definition, a properly functioning kernel doesn't allow user programs to make it crash unless they say "please". (Richard Stallman)
Newsgroups: comp.sys.next.programmer,comp.sys.next.misc,comp.sys.next.software From: caro@adobe.com (Perry A. Caro) Subject: Re: OpenStep and DPS ? Message-ID: <1993Nov30.193154.28929@adobe.com> Sender: caro@mv.us.adobe.com Organization: Adobe Systems Incorporated References: <1993Nov27.061940.26832@netnews.noc.drexel.edu> <2d8etd$914@gap.cco.caltech.edu> Date: Tue, 30 Nov 1993 19:31:54 GMT In article <2d8etd$914@gap.cco.caltech.edu> ernest@cco.caltech.edu (Ernest Prabhakar) writes: >I think the point is that the API -includes- PostScript constructs as >part of its specification: i.e., pswraps, fonts, and window contexts >(not to mention PS and DPS function calls) can all be used by OpenStep >programs. The devil will be in the details, but I think Ernest is right about the DPS part. I suppose it would be possible to divorce NEXTSTEP from DPS at the API level, but if you're going to do that, you might as well rewrite NEXTSTEP from scratch. It would probably be less work to write a DPS clone. It remains to be seen just how hard porting from NEXTSTEP 3.X to OpenStep is going to be. The "operating system independent portions of the API" is practically meaningless in a world where most people consider "fopen" and "bcopy" to be part of the OS! Here's my guess at what the OpenStep API will be: All of /usr/include (particularly appkit, dbkit, dpsclient, and objc), except that bsd/* and mach*/* are replaced by equivalents in POSIX.1 or SVID or CDE or DCE. For example, I'd expect all the stdio.h/stdc.h stuff to come from POSIX.1, the RPC stuff to come from DCE, the network stuff to come from SVID, etc. Ports and messaging will probably be abstracted, or omitted entirely in favor of using the higher level abstraction of DO and PDO. cthreads could be replaced by pthreads, or could become a higher level abstraction. In terms of user level features, I'd expect NEXTIME and RenderMan to be omitted, but everything else that we know and love should be there. It's possible that NeXT will do something similar to Microsoft's Win32, Win32s, and Win32c. That is, NEXTSTEP 3.2 (Win32) is the superset API, in which there already exists an OS-independent subset (Win32s) which will form the basis for OpenStep. NEXTSTEP 3.3 (Win32(Win32c)) will add some abstractions so that programs targeted for OpenStep will compile and run on both flavors. I wonder if they'll do an ABI as well, so that native SPARC NEXTSTEP 3.2++ will just run on SPARC OpenStep, and vice versa. If OpenStep is to run on Solaris, this probably won't happen (MAB ELF? Shudder.:-) Perry -- caro@mv.us.adobe.com ...!{sun}!adobe!caro Contents: my opinions, no others
Newsgroups: comp.os.mach,comp.sys.next.programmer From: mrt+@CS.CMU.EDU (Mary Thompson) Subject: Re: Mach Book? Message-ID: <CHBL4o.9y3.3@cs.cmu.edu> Sender: news@cs.cmu.edu (Usenet News System) Organization: Carnegie Mellon University References: <1993Nov26.153831.1572@rna.indiv.nluug.nl> Date: Tue, 30 Nov 1993 19:36:24 GMT I don't believe the promised book on Mach internals has ever been published. I tried to contact one of the authors a few months ago about a proposed publishing date and received no answer, which I assume means no good news. I will enlcose the list of books that have at least a sizeable chapter on Mach internals. Mary Thompson Mach Project Distribution Manager Date: Oct. 1993 Abstract: Books containing substantial information about Mach -------------------------------------------------------- Programming Under Mach Joseph Boykin, David Kirschen, Alan Langerman, Susan LoVerso Addison-Wesley Publishing Co,. 1993 481 pages This is certainly the most complete presentation of how to program applications using Mach features. It explains the basic Mach abstractions of tasks, threads, ports, messages and memory objects and gives examples of why and how to use them. There are introductory chapters for tasks/threads, interprocess communication (IPC) and virutal memory. Following this are chapters on advanced features of IPC such as server processes might need, the Mach Interface Generator which is used to simplify the writing of IPC interfaces, and external memory management. There is also a chapter each for C-threads and OSF/1 P-threads, and the Mach exception handling facility. There are frequent short code examples as well as a complete client/server example of an external memory manager. The code is all compatible with Mach 2.5, but references are made to where there are differences with Mach 3.0. Even if your goal is to program for a Mach 3.0 system, this book is a good place to start since the basic concepts have not changed significantly. Once the basic ideas are understood, the Mach 3.0 reference manuals can be used to update your knowledge of the details. -------------------------------------------------------- Distributed Operating Systems: The Logical Design A. Goscinski Addison-Wesley Publishers., 1991 Chapter 14.8, pages 864-888 is about Mach This is a subsection of a chapter surveying seven experimental distributed operating systems. It defines the basic Mach abstractions and goals. It emphasizes the software architecture both at the high level of the system tasks running on tightly coupled multi-processor platforms or a network of loosely coupled machines and at the implementation level of describing the various kernel modules and data structures. Specific primitives are specified and an outline of a client/server shared memory server is given. ------------------------------------------------ Advanced Computer Architecture: Parallelism, Scalability, Programmability K. Hwang McGraw-Hills, Inc., 1993, pages 686-709 --------------------------------------------------------- CMU Computer Science - A 25th Aniversary Commemorative Ed. R. Rashid Mach: A Case Study in Technology Transfer - Chapter 17 pages 411-421 ACM Press, Anthology Series, 1991 This chapter describes history of the Mach operating system research project and its efforts to transfer the ideas imbedded in that system from the research laboratory to industry. --------------------------------------------------------- Operating Systems Concepts A. Silberschatz, J.L Peterson, P.B. Galvin Addison-Wesley Publishing Company, 3rd Edition 1991 Chapter 16, pages 597-628 is about Mach. Gives a brief introduction to Mach, its history and design goals. Covers the basic concepts of Mach, its similarities and differences from Unix. Discusses the NetMessage Server and how it extends IPC trasparently across machines. Covers virtual memory managment and external memory managers and sharing of memory between tasks. There is a brief mention of implementation details and how they compare with BSD-Unix. ------------------------------------------------------- Modern Operating Systems Andrew S. Tanenbaum Prentice Hall 1992 Chapter 15, pages 637-682 (Case Study 4) is about Mach This chapter gives a general introduction to the Mach 3.0 micro-kernel and compares it to the Amobea operating system. Implementation of task and thread creation and scheduling are covered in some depth as is memory management and interprocess communication. External memory management is explained and there is a brief description of the Network Message Server and the Unix server. ------------------------------------------------------- Mach: Konzepte und Programmierung Christoph Zimmermann, Albrecht W. Kraas Springer-Verlag, 1993 192 pages, written in German This book coveers the concepts and programming interfaces of the Mach kernel. It addresses both the novice and the more advanced reader. The first part reviews the reader's knowledge of operating systems, and introduces the basic Mach abstactions of VM objects, threads, tasks, etc.. The second part presents an in-depth description of the following topics: Mach IPC, the MiG, Cthreads, the Mach VM system, the External Memory Management Interface (EMMI). An application example gives this section on Mach programing a final polish. An outlook in the last chapter presents the differences between the 2.5 version of Mach and the Micro-kernel based 3.0 version together with the description of the Unix-Emulation.
From: sp@canal.osf.org (Simon Patience) Newsgroups: comp.os.mach,comp.sys.next.programmer Subject: Re: Mach Book? Date: 30 Nov 1993 21:16:22 GMT Organization: Open Software Foundation Distribution: world Message-ID: <2dgd76$oct@paperboy.osf.org> References: <1993Nov26.153831.1572@rna.indiv.nluug.nl> <CHBL4o.9y3.3@cs.cmu.edu> In article <CHBL4o.9y3.3@cs.cmu.edu>, mrt+@CS.CMU.EDU (Mary Thompson) writes: > I don't believe the promised book on Mach internals has ever been published. > I tried to contact one of the authors a few months ago about a proposed > publishing date and received no answer, which I assume means no good news. I know several of the authors and I don't believe that this book has had more than a couple of chapters written let alone published. I think you can safely assume that it will never be published. Simon. -- Simon Patience Phone: (617) 621-7376 Open Software Foundation FAX: (617) 621-8696 1 Cambridge Center Email: sp@osf.org Cambridge, MA 02142 uunet!osf!sp
Newsgroups: comp.sys.next.programmer From: kwang@lore.acs.calpoly.edu (Kevin John Wang) Subject: Re: putenv & waitpid (under NS2.1) Message-ID: <1993Nov30.224759.191605@zeus.aix.calpoly.edu> Sender: news@zeus.calpoly.edu Organization: Cal Poly State University, San Luis Obispo References: <1993Nov23.062119.7887@csus.edu> Date: Tue, 30 Nov 1993 22:47:59 GMT In article <1993Nov23.062119.7887@csus.edu> eps@futon.SFSU.EDU (Eric P. Scott) writes: > >The other function is "waitpid" -- which should just wait for a specified > >process to die before continuing... Any suggestions on doing this also? > > waitpid() is notoriously nonportable, and you should complain > vociferously to the authors that they're being bozos for > depending on it. Then read the man page for wait4(); it probably > does what you want. hear hear. I just had to deal with waitpid() versus wait4(). There were other systems that didn't have wait4, and to make life easier, I just used: #defing waitpid(a,b,c) wait4(a,b,c,NULL) - Kevin Wang, kwang@lore.acs.calpoly.edu
From: pedja@cs.umd.edu (& Bogdanovich) Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs Subject: Subprocess exit notification Date: 01 Dec 1993 01:15:04 GMT Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Distribution: world Message-ID: <PEDJA.93Nov30201504@midgard.cs.umd.edu> Does anyone know how to get Subprocess object *reliably* notify of subprocess death? More detailed description of how to replicate the problem is attached. Is there another easy way to get reliable subprocess death notification (other than forking a thread and doing wait4)? Terminal.app works fine: you can open any number of terminal windows and they will all exit when the shell inside dies. Does anyone know what Terminal.app does? Thanks. Pedja <pedja%luka@umiacs.umd.edu> ----------------------------------------------------------------------------- Subprocess exit notification bug exhibited by: Subprocess.m (v10) by Charles L. Oei pty support by Joe Freeman Subprocess Example, Release 2.0 NeXT Computer, Inc. distributed with NS3.1/Motorola, compiled and run under NS 3.1. Good behavior: 1. Launch MyShell.app from workspace. 2. Type exit after $ prompt. What happens: As subprocess exits, DPS invokes fdHandler, we get into -[Subprocess fdHandler:], bufferCount<0 => we get into -[Subprocess childDidExit], and the Subprocess delegate gets subprocessDone message. BAD behavior: Start by logging in. Let define N to be 4. (If you cannot reproduce behavior below, just increase N and eventually you will be able to reproduce it.) 1. Launch MyShell.app. 2. Launch N-1 more MyShell.app copies (Alt-double-click). 3. In the N-th running copy of MyShell.app type exit after $ prompt. What happens: Subprocess exits (one can verify this by doing `ps ux|grep sh' in a Terminal window before and after typing exit), but the Subprocess delegate does NOT get subprocessDone message! (DPS does not invoke fdHandler.) More BAD behavior: 1. Open M<N Terminal windows in Terminal.app. 2. Now you just need to run roughly N-M copies of MyShell.app to get the bad behavior. 1. If the Subprocess object is used in an app which runs N Subprocesses, we get the bad behavior (no exit notification).
Newsgroups: comp.sys.next.programmer From: lapj_ss@troi.cc.rochester.edu (J. LaPierre) Subject: ioctl(fd, DKIOCCHECKINSERT, NULL) no good? Message-ID: <1993Dec1.013851.22014@galileo.cc.rochester.edu> Keywords: ioctl cdrom Sender: news@galileo.cc.rochester.edu Organization: University of Rochester - Rochester, New York Date: Wed, 1 Dec 93 01:38:51 GMT I'm trying to use this call to check if a CD is ready in a drive (i think that's what DKIOCCHECKINSERT is for anyway), but with this function call: ioctl(fd, DKIOCCHECKINSERT, NULL) I keep getting an invalid argument error. I assume the invalid argument isn't NULL, but my understanding of what goes on in ioctl isn't great. If I remember right DKIOCCHECKINSERT is #defined as _IO('d', 26) if that makes a difference. This is similar to the #definition of DKIOCEJECT, therefore the NULL argument seems reasonable. Can anyone help me out with this? All I want to do is see if there is in fact a disk in the drive. I tried doing this with a test-unit-ready scsi command but for some reason, even with a 1 second timeout, this check takes about five seconds with a disk check about once every second. Any help greatly appreciated. -Jason /**** Jason LaPierre -- lapj_ss@troi.cc.rochester.edu ****/
Newsgroups: comp.sys.next.programmer From: lapj_ss@troi.cc.rochester.edu (J. LaPierre) Subject: Icons on Buttonsin IB: Solved Message-ID: <1993Dec1.014435.22176@galileo.cc.rochester.edu> Keywords: icons buttons IB Sender: news@galileo.cc.rochester.edu Organization: University of Rochester - Rochester, New York Date: Wed, 1 Dec 93 01:44:35 GMT Thanks for the reply I got suggesting making sure that the images were present both in IB and PB. However this turned out not to be the problem. But it prommpted me to fool around enough that I eventually figured it out. The problem was that assigning an Icon and Alt Icon tiff in IB did not seem to work. The problem turned out to be that only some types of buttons support two icons (momentary change and toggle I think). So for anyone else who is having trouble with this, hope this helps. -Jason /**** Jason LaPierre -- lapj_ss@troi.cc.rochester.edu ****/
Newsgroups: comp.sys.next.programmer From: wave@media.mit.edu (Michael B. Johnson) Subject: Re: OpenStep and DPS ? Message-ID: <1993Dec1.004459.27095@news.media.mit.edu> Sender: news@news.media.mit.edu (USENET News System) Organization: MIT Media Laboratory References: <1993Nov30.193154.28929@adobe.com> Distribution: ne Date: Wed, 1 Dec 1993 00:44:59 GMT Perry A. Caro writes > In article <2d8etd$914@gap.cco.caltech.edu> ernest@cco.caltech.edu (Ernest Prabhakar) writes: > >I think the point is that the API -includes- PostScript constructs as > >part of its specification: i.e., pswraps, fonts, and window contexts > >(not to mention PS and DPS function calls) can all be used by OpenStep > >programs. > > The devil will be in the details, but I think Ernest is right about the > DPS part. I suppose it would be possible to divorce NEXTSTEP from DPS > at the API level, but if you're going to do that, you might as well > rewrite NEXTSTEP from scratch. It would probably be less work to write > a DPS clone. > > In terms of user level features, I'd expect NEXTIME and RenderMan to be > omitted, but everything else that we know and love should be there. > Well, let's avoid talking about NEXTIME, since it has no announce schedule, but I for one would be horrified if RenderMan support went away. It makes no sense to say that. RenderMan is a "scene description language", it is, by definition, an API. Why would you expect it to go away, especially given that NeXT and Pixar are a bit more connected than NeXT and Adobe. It's not very hard to write a renderer that sticks to the RenderMan spec (i.e. takes all the RiXXX() calls) and makes calls to, say, OpenGL. This doesn't mean that you can display to the screen exactly what the final .rib file would look like, but so what? Save it out as .rib and render it somewhere else, same way you take your .ps file to service bureau. I would be very, very, very surprised if the 3DKit, based on the RenderMan API, went away in OpenStep. It's one of the easier parts--just do a qrman implementation that talks to OpenGL. Trust me, this is not that hard... -- --> Michael B. Johnson --> MIT Media Lab -- Computer Graphics & Animation Group --> (617) 253-0663 -- wave@media-lab.media.mit.edu --> NeXT Mail accepted at wave@nordine.media.mit.edu
Newsgroups: comp.sys.next.programmer From: mshaler@tdocad.sps.mot.com (Michael Shaler) Subject: Re: NeXT support Cygnus? (ObjC queries) Message-ID: <CHBxGn.E09@tdocad.sps.mot.com> Sender: news@tdocad.sps.mot.com Organization: Nippon Motorola Ltd., Tokyo, Japan References: <2de123$52h@tunix.cubiculum.com> Date: Wed, 1 Dec 1993 00:02:46 GMT Ronald C.F. Antony writes I think that we should start a campaign to urge NeXT to buy a Cygnus maintenance contract. If NeXT would pay Cygnus (or any other qualified party) to maintain all of the GNU software on the NeXTSTEP platform, I think this is a great idea. A better idea, however, might be to pay Eric P. Scott to do it. I don't think, though, that either idea will meet with desired response from the PowersThatBe... --- Michael Shaler Tokyo Design Center Nippon Motorola Ltd. +813 3280 8245 voice +813 3440 0033 fax mshaler@tdocad.sps.mot.com [NeXTmail]$BW4(J
From: slwdz@cc.usu.edu Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs Subject: RTF Source problems in 3.2 Message-ID: <1993Nov30.173451.4922@cc.usu.edu> Date: 30 Nov 93 17:34:51 MDT Organization: Utah State University I have found which could either be considered a bug, or an oversight. I hope it gets "fixed" soon, because it is rather annoying... With 3.2 you can now have RTF source. Way cool. I like it a lot. But...you cannot have RTF header files because then Iterface Builder cannot parse them! Argh! I went through RTF'ing my source...adding nice little links in my headers that will "zap" me to the method in the ".m" file. Very slick. But...alas, interface builder is not smart enough to strip the RTF info when you want to parse back in a header file. Please release a fix? John Zollinger Programmer/Analyst/Network Admin @ Moore BCS slwdz@cc.usu.edu P.S. If there is some work around for this (short of un-RTF'ing my headers) I would like to hear about it.
From: pedja@cs.umd.edu (& Bogdanovich) Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs Subject: Re: Subprocess exit notification Date: 01 Dec 1993 14:05:41 GMT Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Distribution: world Message-ID: <PEDJA.93Dec1090542@midgard.cs.umd.edu> References: <PEDJA.93Nov30201504@midgard.cs.umd.edu> In-reply-to: pedja@cs.umd.edu's message of 01 Dec 1993 01:15:04 GMT Thanks to all who replied. The bad behavior was caused by master pty not being closed when open() for slave fails in getptys(). Pedja
Newsgroups: comp.sys.next.programmer From: drew@fnbc.com (Drew Davidson) Subject: Re: Subprocess exit notification Message-ID: <1993Dec1.144933.27159@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA References: <PEDJA.93Nov30201504@midgard.cs.umd.edu> Date: Wed, 1 Dec 93 14:49:33 GMT In article <PEDJA.93Nov30201504@midgard.cs.umd.edu> pedja@cs.umd.edu (& Bogdanovich) writes: > Does anyone know how to get Subprocess object *reliably* notify of > subprocess death? More detailed description of how to replicate the > problem is attached. > > Is there another easy way to get reliable subprocess death > notification (other than forking a thread and doing wait4)? > Terminal.app works fine: you can open any number of terminal windows > and they will all exit when the shell inside dies. Does anyone know > what Terminal.app does? > [stuff deleted] I have a version of Subprocess that has reliable exit notification, and as an added bonus it will allow you to pause/restart the process and get the exit code of the process that finished. You can email me for the source (via NeXTmail). - Drew -- +--------------------------------+---------------------------------------+ | Drew Davidson | "Never ask a programmer if he'll have | | Software Guy | another cup of coffee because it's | | First National Bank of Chicago | nobody's damn business how much he's | | drew@fnbc.com (NeXTmail) | already had!" - me | +--------------------------------+---------------------------------------+
From: slwdz@cc.usu.edu Newsgroups: comp.sys.next.programmer Subject: Can't init integer var to zero! Help Message-ID: <1993Dec1.112316.5003@cc.usu.edu> Date: 1 Dec 93 11:23:16 MDT Organization: Utah State University I just upgraded to 3.2 and have come across a problem. I cannot initialize an integer variable to zero. If I do it gives some big hairy integer instead of a nice round zero. I can set it to 1 o.k., and I know I was able to do this in 3.1. What gives? Any help would be appreciated. John Zollinger slwdz@cc.usu.edu
Newsgroups: comp.sys.next.programmer From: gemoe@proximus.north.de (Gerhard Moeller) Subject: Re: New Compiler Warnings in NS3.1 ?? Content-Type: text/plain; charset=ISO-8859-1 References: <28a9p5$gnv@rosie.next.com> Mime-Version: 1.0 Organization: Gerhard Moeller, German NeXT User Group, Oldenburg. Date: Tue, 30 Nov 1993 08:37:18 GMT Message-ID: <1993Nov30.083718.1709@proximus.north.de> Content-Transfer-Encoding: quoted-printable Mark Wagner (Mark_Wagner@NeXT.COM) wrote: [...] > One could argue that I shouldn't have included appkit.h, clearly I didn't > need it. You can play the game of only including the headers that you > need but it gets boring after a while. I'd personally rather include > all of appkit or all of dbkit or whatever and let precomp's optimize it > for me. Me, too. I really like the precompiled headers, as they save me _a lot_ of time... But it gets a boomerang if you have to compile an app on another system. Because then you have to scan your entire code for the libs you would have to include... and to check which ones are available on the other system. While this might be okay for a few hundred lines, its certainly a BAD job on programs with several thousands of lines. Gerhard. PS: Still, precompiled headers DO save me a lot of time, so I like them very much. (And also I still get lots of warnings in some programs, especially abou redefinements of macros...) -- +---------------------------< principiis obsta! >---------------------------+ N Gerhard Moeller, Hetzg. 32/11, A-1030 Wien (Austria) [*: 02/21/1968] N e Private: gemoe@proximus.north.de Phone (voice): +43-1-7151531 e X Uni: Gerhard.Moeller@arbi.Informatik.Uni-Oldenburg.DE NeXTmail X T Z-Net: Gerhard.Moeller@uniol.zer encouraged! T +-> NoGeNUG - Northern German NeXT User Group: NoGeNUG@proximus.north.DE <-+
Newsgroups: comp.sys.next.programmer From: gemoe@proximus.north.de (Gerhard Moeller) Subject: Re: Extending Workspace "Addresses" Handling w/ WMInspector Content-Type: text/plain; charset=ISO-8859-1 References: <1993Sep26.090920.3455@dolphin.com> Mime-Version: 1.0 Organization: Gerhard Moeller, German NeXT User Group, Oldenburg. Date: Tue, 30 Nov 1993 08:41:34 GMT Message-ID: <1993Nov30.084134.1767@proximus.north.de> Content-Transfer-Encoding: quoted-printable Distribution: usa [...about address.bundle...] Actually, I would LOVE to see the sources of the address.bundle included as an example in NEXTSTEP! Thios would allow to customize things -- (like buttons for email, fax, export to pasteboard, autodialing, etc...) So the neat little inspector could become a full blown app... ;-) Gerhard. -- +---------------------------< principiis obsta! >---------------------------+ N Gerhard Moeller, Hetzg. 32/11, A-1030 Wien (Austria) [*: 02/21/1968] N e Private: gemoe@proximus.north.de Phone (voice): +43-1-7151531 e X Uni: Gerhard.Moeller@arbi.Informatik.Uni-Oldenburg.DE NeXTmail X T Z-Net: Gerhard.Moeller@uniol.zer encouraged! T +-> NoGeNUG - Northern German NeXT User Group: NoGeNUG@proximus.north.DE <-+
Newsgroups: comp.sys.next.programmer From: gemoe@proximus.north.de (Gerhard Moeller) Subject: Re: More PB suggestions Content-Type: text/plain; charset=ISO-8859-1 References: <1993Sep28.124127.15268@gleap.sccsi.com> Mime-Version: 1.0 Organization: Gerhard Moeller, German NeXT User Group, Oldenburg. Date: Tue, 30 Nov 1993 08:53:19 GMT Message-ID: <1993Nov30.085319.1847@proximus.north.de> Content-Transfer-Encoding: quoted-printable Charles C. Lloyd (clloyd@gleap) wrote: [...] > It'd be nice if we could do a make on "selected subprojects" only. I'd like to > shift-click several subprojects in the top level Subprojects suitcase and then > choose "Make Selected Subprojects". Then, make would only be invoked on those > subprojects. This would allow me to handle the 98% case which is where I want > to compile a single subproject but not other things yet (especially if I have > previously done a "make depend"). [...] Add me. The lack of this feature caused me not to use PB for a few subprojects in my last project. (I had an app for that I needed TCP and Serial driver objects that I wanted to have seperated from the app. As I had a server and a client part.) I would be VERY good, if there was the possibility to compile just a few selected classes! (eg. if I _know_ that a.m does not compile yet, but I want to verify just b.m, because a.m is not my problem -- what should I do?) Gerhard. -- +---------------------------< principiis obsta! >---------------------------+ N Gerhard Moeller, Hetzg. 32/11, A-1030 Wien (Austria) [*: 02/21/1968] N e Private: gemoe@proximus.north.de Phone (voice): +43-1-7151531 e X Uni: Gerhard.Moeller@arbi.Informatik.Uni-Oldenburg.DE NeXTmail X T Z-Net: Gerhard.Moeller@uniol.zer encouraged! T +-> NoGeNUG - Northern German NeXT User Group: NoGeNUG@proximus.north.DE <-+
From: slwdz@cc.usu.edu Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs Subject: Re: Can't init integer var to zero! Help Message-ID: <1993Dec1.123953.5015@cc.usu.edu> Date: 1 Dec 93 12:39:53 MDT References: <1993Dec1.112316.5003@cc.usu.edu> Organization: Utah State University In article <1993Dec1.112316.5003@cc.usu.edu>, slwdz@cc.usu.edu writes: > I just upgraded to 3.2 and have come across a problem. I cannot initialize an > integer variable to zero. If I do it gives some big hairy integer instead of a > nice round zero. I can set it to 1 o.k., and I know I was able to do this in > 3.1. What gives? To update this a bit. It only does this when I run the "debug" file. The normally compiled app works just fine. What compile flag is causing this? John Zollinger slwdz@cc.usu.edu
Newsgroups: comp.sys.next.programmer,comp.sys.next.misc,comp.sys.next.software From: wave@media.mit.edu (Michael B. Johnson) Subject: Re: OpenStep and DPS ? Message-ID: <1993Dec1.214651.15991@news.media.mit.edu> Sender: news@news.media.mit.edu (USENET News System) Organization: MIT Media Laboratory References: <1993Nov27.061940.26832@netnews.noc.drexel.edu> <2d8etd$914@gap.cco.caltech.edu> <1993Nov30.193154.28929@adobe.com> Date: Wed, 1 Dec 1993 21:46:51 GMT Gag. I was wrong - 3DKit is not part of OpenStep, although it will continue to be part of NeXT's offerings (i.e. it will be on their SPARC port). sigh. -- --> Michael B. Johnson -- wave@media.mit.edu --> MIT Media Lab -- Computer Graphics & Animation Group --> 20 Ames St. E15-023G -- (617) 547-0563 (day office) --> Cambridge, MA 02139 -- (617) 253-0663 (night office)
Newsgroups: comp.sys.next.programmer From: dhinz@newsit.mtt.it.uswc.uswest.com (David Hinz) Subject: Re: Can't init integer var to zero! Help Message-ID: <CHDMyE.DL4@da_vinci.it.uswc.uswest.com> Sender: news@da_vinci.it.uswc.uswest.com (IT Netnews) Organization: U S WEST Information Technologies References: <1993Dec1.112316.5003@cc.usu.edu> Date: Wed, 1 Dec 1993 22:11:01 GMT Are you running on Intel or Motorola?
Newsgroups: comp.sys.next.programmer From: bhill@physics.ucla.edu (Brian Hill) Subject: emacs v. 19, Emacs.app Message-ID: <BHILL.93Dec1164447@spike.physics.ucla.edu> Sender: usenet@physics.ucla.edu Organization: Dept. of Physics, UCLA Distribution: comp Date: 1 Dec 93 16:44:47 I believe there was a discussion in this group a month or so ago regarding emacs v. 19. I had hoped to avoid needing to know about this by waiting for emacs v. 19 to come as part of NS 3.2. Alas, after installing NS 3.2 this week, I see that NeXT hasn't bothered to update the version of emacs that the executable is based on (isn't this precisely the sort of thing we are paying for upgrades for?). If some of those who participated in the aforementioned discussion (which I apologize for not following) would mail me the answer to the following questions, I will post a summary: (1) What does one need to do to compile emacs v. 19 under NS 3.2? (2) Will emacs v. 19 break Emacs.app? --Brian Hill <bhill@physics.ucla.edu>
From: scott@nic.gac.edu (Scott Hess) Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: RUMOR-ATTACK: Gerstner/Spindler approach Steven Jobs for PowerPC port ?! Date: 1 Dec 93 18:32:52 Organization: Is a sign of weakness Message-ID: <SCOTT.93Dec1183252@nic.gac.edu> References: <garylangCHAp3A.HDt@netcom.com> <CHBHDE.1DL@genoa.com> In-reply-to: alex@cs.umd.edu's message of Tue, 30 Nov 1993 18:15:14 GMT In article <CHBHDE.1DL@genoa.com>, alex@genoa.com (Alex Blakemore) writes: >Bruce Webster writes >> "Most of the Intel-specific problems have boiled down to a single >> issue: if you have a method which returns a floating point value, >> and you attempt to send it to a nil object pointer, it returns >> NaN (Not A Number) on Intel hardware, whereas it returns 0.0 on >> Motorola hardware (which had been our assumption of Objective-C >> behavior). > >what I dont understand is why NeXT created this inconsistency in the first >place. It seems like it would have been pretty easy to reproduce >the Motorola behavior on other platforms. after all, all messaging >to nil objects (and others) goes through the same runtime interface >objc_message_send() or something similar. > >the only reason I can imagine they would introduce this thorn >would be because the overhead of testing the return type of messages >sent to nil might increase. but if messages sent to nil are a small >percentage of all messages, then this should not be a big penalty. >even if it involved modifying the compiler to record more info. Consider the problems of "testing the return type of messages sent to nil"! What message is that? Consider: @interface ObjectI : Object -(int)value; @end @interface ObjectF : Object -(float)value; @end ... if( [nil value]) { ... } ... The problem being, of course, that a message sent to nil doesn't _have_ a return type, because there's no specific definition for the method. [Ponder NXBundles, too!] >so why on earth did NeXT choose to provide this barrier to portability? >was it based on anything technical? or just rushing to market? My suspicion is that they just stuff some "standard" zero value into some register in this case, and it happens to not work right ... specifically, if you have the code: float f; bzero( &f, sizeof( f)); the value of f probably differs between Intel and Motorola machines. [But keep in mind that I don't actually _know_ this, it's just speculation!] Later, -- scott hess <scott@nic.gac.edu> <I can handle NeXTMail, but don't like it> 12901 Upton Avenue South, #326 Burnsville, MN 55337 (612) 895-1208 Anytime! <C++: ... One Language to bring them all and in the darkness bind them> <In the Land of Redmond where the Shadows lie.>
From: izumi@pinoko.berkeley.edu (Izumi Ohzawa) Newsgroups: comp.sys.next.software,comp.sys.next.programmer,comp.sys.next.advocacy Subject: Features of Tailor.app that I want to see in all other apps. Date: 2 Dec 1993 02:28:15 GMT Organization: University of California, Berkeley Distribution: world Message-ID: <2djjrv$khj@agate.berkeley.edu> Keywords: Tailor, PostScript, Editor I have been using Tailor.app (a Graphical PostScript editor, I would say THE only app of its kind on ANY platform), and I am continue to be impressed by what it can do. Perhaps, I will write about it sometime. There are two pretty unique features that I particularly like which I would like to see incorporated in other NEXTSTEP apps. So, let me state what they are so more developers will implement them. [1] Multiple Views into a single document. All apps I have seen let you see and manipulate a document in one view/window at a time. E.g., you have to zoom in to see details and zoom out to see the whole picture, and often zoom/unzoom is a time consuming operation. Tailor lets you see a single document via multiple views in separate windows, e.g., one zoomed, another unzoomed, and yet another showing a different section. This may not always be needed and you don't have to, but it's great to have the capability when you can really use it. I really want this feature in Edit.app. If someone writes a better Edit with multiple views into a single document, I will buy it. (Don't tell me emacs can do this. It doesn't count.) [2] Entering Groups without Ungrouping. In all drawing apps I have used, in order to edit members of a grouped object, you have to ungroup it first. Tailor lets you "enter" a group and let you edit its members without breaking the grouping. I want to see that in Virtuoso and other apps. Sorry if I missed existing apps that already do these things, and please let me know about it. -- Izumi Ohzawa [ $@Bg_78^=;(J ] USMail: University of California, 360 Minor Hall, Berkeley, CA 94720 Telephone: (510) 642-6440 Fax: (510) 642-3323 Internet: izumi@pinoko.berkeley.edu (NeXTMail OK)
Newsgroups: comp.sys.next.software,comp.sys.next.programmer,comp.sys.next.advocacy From: wave@media.mit.edu (Michael B. Johnson) Subject: Re: Features of Tailor.app that I want to see in all other apps. Message-ID: <1993Dec2.044819.23327@news.media.mit.edu> Keywords: Tailor, PostScript, Editor Sender: news@news.media.mit.edu (USENET News System) Organization: MIT Media Laboratory References: <2djjrv$khj@agate.berkeley.edu> Date: Thu, 2 Dec 1993 04:48:19 GMT In article <2djjrv$khj@agate.berkeley.edu> izumi@pinoko.berkeley.edu writes: >>I have been using Tailor.app (a Graphical PostScript editor, I would >>say THE only app of its kind on ANY platform), and I am continue to >>be impressed by what it can do. Perhaps, I will write about it >>sometime. >> It really is awesome. >>There are two pretty unique features that I particularly like which >>I would like to see incorporated in other NEXTSTEP apps. So, let >>me state what they are so more developers will implement them. >> >>[1] Multiple Views into a single document. >> Another good example of when this is vital is drawing icons - The 8X view and the 1X view... >>it. (Don't tell me emacs can do this. It doesn't count.) I know, but it's still one of the reasons many of us can't give up emacs for more GUI friendly apps. This is vital. >> >>[2] Entering Groups without Ungrouping. >> A particulary elegant way to implement this exists in a very popular NeXSTEP app: InterfaceBuilder. Probably the nicest part of the implementation is being able to paste into a group in IB: just select some sub object in a group (i.e. a button grouped in a box) and past (or drag) some other object in. Voila! Good points, though. I'd love to see the above techniques SOP in NS apps... -- --> Michael B. Johnson -- wave@media.mit.edu --> MIT Media Lab -- Computer Graphics & Animation Group --> 20 Ames St. E15-023G -- (617) 547-0563 (day office) --> Cambridge, MA 02139 -- (617) 253-0663 (night office)
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Re: More PB suggestions Message-ID: <1993Dec2.042957.11574@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software References: <1993Nov30.085319.1847@proximus.north.de> Date: Thu, 2 Dec 1993 04:29:57 GMT Gerhard Moeller writes > >It would be VERY good, if there was the possibility to compile just a few >selected classes! (eg. if I _know_ that a.m does not compile yet, but I want >to verify just b.m, because a.m is not my problem -- what should I do?) > > Gerhard. The best work-around I know of is the ctrl-drag feature available in PB. If you crtl-drag the desired subproject to the top of the Subprojects list and then, within that subproject, ctrl-drag the "b.m" file to the top of the Classes list, you should approximate the desired effect. Of course, you need to save the project after making these changes since that is how the makefile gets rewritten in the new order. Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
Newsgroups: comp.sys.next.programmer From: michaelh@uhunix3.uhcc.Hawaii.Edu (Michael A. Hoffhines) Subject: silly NXBrowser tricks Message-ID: <CHEG3G.7vx@news.Hawaii.Edu> Summary: update bug in setMaxVisibleColumns:? Sender: news@news.Hawaii.Edu Organization: University of Hawaii Date: Thu, 2 Dec 1993 08:40:27 GMT I have a plain vanilla browser in a window that I would like to have resize in such a way that the number of columns change (rather than the width of each column) as happens, eg, in WM. My approach was to have the windowDelegate pick up the windowDidResize: notification and change the number of maxVisibleColumns in the browser at that point. However, this doesn't work for me yet... While reducing the number of columns is never a problem, adding additional columns doesn't happen until another resize of the window is completed. Anyone have a workaround? Below is sample code that demonstrates the problem. Following the first resize the browser should have two more columns than initially. However, it isn't until after the second resize that the new columns actually appear on the screen. Contrast that with reducing the number of visible columns which appears correctly the first time around. Go figger. Thanks in advance for any help, Mike. --------------------------------------------------------------------------- Michael Hoffhines | michaelh@Hawaii.Edu University of Hawaii | Nomen est numen!? NOT! --------------------------------------------------------------------------- @implementation BT(WindowDelegate) - windowDidResize:sender { static int i=0; switch ( i ) { case 0: [ibBrowser setMaxVisibleColumns:[ibBrowser maxVisibleColumns]+2]; break; case 1: [ibBrowser setMaxVisibleColumns:[ibBrowser maxVisibleColumns]]; break; case 2: [ibBrowser setMaxVisibleColumns:[ibBrowser maxVisibleColumns]-1]; break; } [ibBrowser update]; i = (i+1) % 3; return self; } @end
From: luomat@alleg.edu (Timothy J. Luoma) Newsgroups: comp.sys.next.programmer,comp.sys.next.misc Subject: `from` via finger Date: 2 Dec 1993 09:08:57 GMT Organization: Allegheny College Distribution: world Message-ID: <2dkbb9$fup@ftp.alleg.edu> Is there a way I can add to my .plan or .project something which will let people see the equivalent of if I were to do from in a terminal shell? What I imagine is someone doing 'finger luomat@alleg.edu' and seeing my project, plan, and then a 'from' listing.... Any suggestions? Thanks TjL -- Timothy J. Luoma Email: luomat@alleg.edu Allegheny College, Meadville PA USA Using: NS 3.1 Black NeXT Mail Welcomed
Newsgroups: comp.sys.next.programmer From: chr@bio128.uni-bielefeld.de (Christian Bartling) Subject: Shared Libraries on the NeXT Sender: news@hermes.hrz.uni-bielefeld.de (News Administrator) Message-ID: <CHEtDG.7IA@hermes.hrz.uni-bielefeld.de> Date: Thu, 2 Dec 1993 13:27:15 GMT Organization: Universitaet Bielefeld, Rechenzentrum I want to use the WxWin libraries on the NeXT to develop some applications under X-Windows. Due to the size of the library it woud be comfortable to have them as shared libraries. Is there a documentation or FAQ on building shared libraries on the NeXT computer (3.1)?? --- Christian Bartling chr@bio128.uni-bielefeld.de
Message-ID: <+i%@byu.edu> Date: Thu, 2 Dec 93 09:13:58 MST Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs Subject: Sound Kit strangeness under NS/I Sender: Sean Luke Followup-To: comp.sys.next.programmer Organization: Brigham Young University From: feijai@kolob (Sean Luke) I'm releasing a sound editor in a while, and I'd like to make it available under NS/I, but I only rarely have access to an Intel GX, so I can't determine exactly _what_ these problems are, though my gut feeling is bugs in the Sound Kit as regards NS/I. 1) My editor generates new Sound instances, then records into them. But on intel boxes, the first recording attempt after the program launches results in zero bytes recorded. Is there some flag that needs to be set to wake up the sound driver? 2) Updating information like peak samples in an NXSoundStream or NXSoundDevice is VERY VERY slow--about 2 updates a second. Perhaps this is just the nature of sound hardware without a DSP and custom DACs, but I was wondering if there's a way to get this very fast machine to dedicate more resources to these kinds of updates... 3) The SoundView suffers from a variety of ailments, including bizarre sound display which I think stems from big-little-endian problems. It appears that sounds store their sound information only in big-endian format, and convert the sound when playing out, and this sometimes confuses a SoundView which has been compiled to deal with little-endian formats. 4) While we're on the subject of big-little-endian stupidity, the big-endian bug bites big in my custom modules, most of which mathematically adjust the sound. Since _they've_ been compiled for intel, they too expect the sound data to be little-endian. As a result, simple programs like a sine wave generator produce astonishingly strange amounts of noise instead of a sine wave. 5) Some conversions using NeXT's conversion functions not only don't work in NS/I, they *bomb* the machine! Of course, none of these problems exists in the Black version of my software, which may force me to only release it in Black. I'd hate to do this. Can anyone help? Discounting the bugs, I'd like to know at least if there are functions which 1) Indicate if I'm on big- or little-endian hardware, and 2) Convert chars, shorts, ints, longs, floats, and doubles to big- or little- endian formats. Even if I can't fix (perceived) errors in the Sound Kit, at least I might be able to deal with the endianness in my own code. Can anyone help here? Please reply to the address below (my reply-to header is broken)... Thanks very much, Sean Luke -- -------------------------------------------------------------------- Sean Luke MILK: It Comes From Cows sean@digaudio.byu.edu NeXTmail, MIME OK --------------------------------------------------------------------
From: art@cubicsol.com (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: More PB suggestions Date: 2 Dec 1993 16:41:28 GMT Organization: University of California, Santa Cruz Distribution: world Message-ID: <2dl5ro$3bc@darkstar.UCSC.EDU> References: <1993Dec2.042957.11574@gleap.sccsi.com> In article <1993Dec2.042957.11574@gleap.sccsi.com> clloyd@gleap (Charles C. Lloyd) writes: > Gerhard Moeller writes > > > >It would be VERY good, if there was the possibility to compile just a few > >selected classes! (eg. if I _know_ that a.m does not compile yet, but I want > >to verify just b.m, because a.m is not my problem -- what should I do?) > > > > Gerhard. > > The best work-around I know of is the ctrl-drag feature available in PB. If > you crtl-drag the desired subproject to the top of the Subprojects list and > then, within that subproject, ctrl-drag the "b.m" file to the top of the > Classes list, you should approximate the desired effect. Of course, you need > to save the project after making these changes since that is how the makefile > gets rewritten in the new order. Or take advantage of PB's extensibility and add a new target in its preferences (call it "file") and add the new target definition to /NextDeveloper/Makefiles/app/Makefile.postamble.template so it will be available to all new projects. This new target would compile the file specified in a make variable (call it "FILE") which would be set as an argument in PB's Build Options panel (FILE = Foo.m). It would be nice if PB would provide a way to access selections (like "%s" in Terminal services) so that arguments wouldn't have to be manually entered. -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
Newsgroups: comp.sys.next.software,comp.sys.next.programmer,comp.sys.next.advocacy From: lorinr@altsys.com (Lorin Rivers III) Subject: Re: Features of Tailor.app that I want to see in all other apps. Message-ID: <1993Dec2.155415.4796@altsys.com> Keywords: Tailor, PostScript, Editor Organization: Altsys Corporation, Richardson, TX References: <2djjrv$khj@agate.berkeley.edu> Date: Thu, 2 Dec 1993 15:54:15 GMT In article <2djjrv$khj@agate.berkeley.edu> izumi@pinoko.berkeley.edu writes: >I have been using Tailor.app (a Graphical PostScript editor, I would >say THE only app of its kind on ANY platform), and I am continue to >be impressed by what it can do. Perhaps, I will write about it >sometime. > >There are two pretty unique features that I particularly like which >I would like to see incorporated in other NEXTSTEP apps. So, let >me state what they are so more developers will implement them. > >[1] Multiple Views into a single document. This is a feature we are considering for a future release of Virtuoso... >[2] Entering Groups without Ungrouping. Virtuoso has this feature. At any time, you may press Alternate while using the selection tool to select a component of a group. Pressing the ``backqoute'' ("`") key backs you out of the selection hierarchy. Pressing Control selects objects behind other objects. Adding Shift toggles an objects' selection status. >Sorry if I missed existing apps that already do these things, and >please let me know about it. > >-- >Izumi Ohzawa [ $@Bg_78^=;(J ] >USMail: University of California, 360 Minor Hall, Berkeley, CA 94720 >Telephone: (510) 642-6440 Fax: (510) 642-3323 >Internet: izumi@pinoko.berkeley.edu (NeXTMail OK) -- Lorin Rivers Lorin_Rivers@altsys.com NEXTSTEP Sales Manager 214.680.2060 269 W. Renner Parkway NeXT Mail Expected Richardson, Texas 75080 I said it, not my boss
Newsgroups: comp.sys.next.programmer From: ericb@il.us.swissbank.com (Eric_Brown) Subject: Help with Sybase triggers and DBKit Message-ID: <1993Dec2.163351.16553@il.us.swissbank.com> Keywords: Sybase, triggers, DBKit Sender: root@il.us.swissbank.com (Operator) Organization: Swiss Bank Corporation CM&T Division Date: Thu, 2 Dec 1993 16:33:51 GMT I have a delete trigger in a Sybase database that upon failure of a certain condition will abort the transaction. The documented way to do this is to do a 'rollback transaction' and then a 'raiserror xxx "text"'. The problem with this method is that when the condition fails and the trigger rolls back the transaction, the raiserror comes through the Sybase adapter as a message in an alert panel, but does not cause the delete operation to fail. Because the delete didn't fail, DBKit then attempts to commit the transaction which does fail because the transaction has already been rolled back. When the commit fails, a rollback is attempted which also fails. Each of these causes another alert panel to pop up informing the user of the problem. Here is a description of what I'm doing on the NeXT side. I have a DBModule with several properties connected to vectors in one DBTableView. There are buttons connected to the -deleteRecord: and -saveChanges: methods of the DBModule. When a record that fails the above condition is deleted and then saved, the following sequence of events occurs: 1) Alert panel: Database Sybase server: <server name> Procedure: delete_business_area Line:7 Message: This business area is in use. 2) Alert panel: Database Sybase server: <server> Procedure: none Line: 1 Message: The commit transaction request has no corresponding BEGIN TRANSACTION. 3) Alert panel: Database Sybase server: <server> Procedure: none Line: 1 Message The rollback transaction request has no corresponding BEGIN TRANSACTION. 4) The DBTableView does not show the record that was attempted to be deleted. It behaves as if the delete succeeded. Also, at no time was the -fetchGroup:willFailForReason: method of the DBModule's delegate ever called. This would lead me to the conclusion that as far as DBKit is concerned, the transaction succeeded. How can one inform DBKit that the transaction failed and has been rolled back? (I need the rollback transaction in the trigger for situations when sources other than DBKit initiate the delete.) Is there a particular error number that should be used in the raiserror or another Sybase function that will do the job? Thanks in advance... Eric S. Brown NEXTSTEP Consultant CG Computer Services *** DISCLAIMER *** The opinions expressed above are my own (I think) and are not necessarily those of my employer.
From: pkron@corona.com (Peter Kron) Organization: Corona Design, Inc., Seattle, WA Distribution: world Date: Thu, 2 Dec 1993 08:35:06 PST Message-ID: <1993Dec02.163506.710@corona.com> Newsgroups: comp.sys.next.programmer Subject: returning NaN, Was: RUMOR-ATTACK... References: <SCOTT.93Dec1183252@nic.gac.edu> From: scott@nic.gac.edu (Scott Hess) > My suspicion is that they just stuff some "standard" zero > value into some register in this case, and it happens to > not work right ... specifically, if you have the code: > > float f; > > bzero( &f, sizeof( f)); > > the value of f probably differs between Intel and Motorola > machines. On Intel this will yield 0.0. But NEXTSTEP doesn't return this from messages to a nil object. It returns NaN if interpreted as a float. (Note that all messages to nil return exactly the same thing, since no actual instance method can be invoked. I suppose the selector could be looked up to determine the appropriate return type, but that would be expensive. Besides it isn't *required* by the runtime that all classes have the same return type for a given selector (though it is certainly recommended.) While this does represent a cross-compile issue, there is also an easy way to check for problems of this nature. Use the -NXTrapIllegalFloatingPointOps YES switch from the command line. I created an app on NS/I with the following initialization: - appDidInit: sender { id nullId = (id)0; float NaN = [nullId floatValue]; printf( "%x %x %x %x %x\n", 0.0, 1.0, 0x123); printf( "%x\n", [nullId target]); printf( "%x %x\n", NaN); printf( "%f\n", NaN + 1); printf( "%x %x\n", NaN + 1); return( self); } The results were: 0 0 0 3ff00000 123 0 0 fff80000 NaN 0 fff80000 Trapping the NaN: > float.debug/float -NXTrapIllegalFloatingPointOps YES Enabled trapping of illegal floating point operations. 0 0 0 3ff00000 123 0 Floating exception --- NeXTMail:Peter_Kron@corona.com Corona Design, Inc. P.O. Box 51022 Seattle, WA 98115-1022
From: zhang@bach.ecse.rpi.edu (Ji Zhang) Newsgroups: comp.sys.next.misc,comp.sys.next.programmer Subject: help: my machine wouldn't recognize next 3.2 Date: 2 Dec 1993 18:45:40 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Distribution: na Message-ID: <2dld4l$c1@usenet.rpi.edu> Newsgroups: comp.sys.next.hardware Subject: Help: nextstep will not recognize cdrom Summary: Followup-To: Distribution: na Organization: Rensselaer Polytechnic Institute, Troy NY, USA Keywords: Cc: I just got the Nextstep 3.2 yesterday and tried to install it. At the bootup, the scsi cdrom drive was recognized. But the cdrom in it was not, no matter what I do. I then used the old 3.1 and couldn't get that installed either. It used to be no problem. The sad part is I had erased the old nextstep partition a few weeks ago when I wanted to reinstall linux. I didn't install nextstep 3.1 since I knew 3.2 was coming out soon. So I now have no way of installing nextstep now. The linux also couldn't recognize the cdrom. Something was wrong. I hope it's not the hardware. Have any one of you guys had similar experience as this? I got a Texel DM 3024 cdrom drive, with scsi address 1, the harddrive has address 0. These are all the scsi devices I have on the system. Thanks a lot. Ji Zhang zhang@ecse.rpi.edu
From: bbeckwit@carrock.hw.stratus.com (Bob Beckwith) Newsgroups: comp.sys.next.programmer Subject: Re: returning NaN, Was: RUMOR-ATTACK... Date: 2 Dec 1993 19:14:29 GMT Organization: Stratus Computer, Inc. Distribution: world Message-ID: <2dleql$b0q@transfer.stratus.com> References: <SCOTT.93Dec1183252@nic.gac.edu> <1993Dec02.163506.710@corona.com> In article <1993Dec02.163506.710@corona.com> pkron@corona.com writes: >From: scott@nic.gac.edu (Scott Hess)>> My suspicion is that they just stuff some "standard" zero >> value into some register in this case, and it happens to >> not work right ... specifically, if you have the code: >> >> float f; >> >> bzero( &f, sizeof( f)); >> >> the value of f probably differs between Intel and Motorola >> machines. > >On Intel this will yield 0.0. But NEXTSTEP doesn't return this from >messages to a nil object. It returns NaN if interpreted as a float. >(Note that all messages to nil return exactly the same thing, since >no actual instance method can be invoked. I suppose the selector could >be looked up to determine the appropriate return type, but that would >be expensive. Besides it isn't *required* by the runtime that all >classes have the same return type for a given selector (though it is >certainly recommended.) [stuff deleted] It looks like the real problem is that the register used to hold floating point return values is not getting zeroed out by objc_msgSend (or whatever it's called) when it sees a message being sent to a nil object. It doesn't really need to be any more complicated than that. Moreover, I suspect that objc_msgSend is coded in assembly language for NS/I (as it is for NS/68k) and this necessity was somehow overlooked. This would be a 1 instruction fix. Also, if necessary, any other return values stored in registers should get zeroed here as well (it appears as though (id) and (int) returns are already handled appropriately). I'm sure the right folks could make quick work of this, assuming some one filed a bug report (instead of just net.gripping (I'm not saying that's what happened, just that you shouldn't expect something to get fixed if it hasn't been reported). No flame intended, just trying to make a point). --Bob -- Bob_Beckwith@vos.stratus.com Stratus Computer, Inc., Hardware Engineering 55 Fairbanks Blvd. Marlboro, MA 01752 USA
From: zeno@abstractsoft.com (Sean T. Lamont) Newsgroups: comp.sys.next.programmer Subject: does prebuild work? Date: 2 Dec 1993 19:48:58 GMT Organization: Abstract Software Distribution: world Message-ID: <2dlgra$i28@news.u.washington.edu> Does the prebuild application work correctly? I have 2 BDF font files which work just fine when used by themselves. (As a single bitmap description at only ONE point size). When both of them are specified, prebuild builds the .bepf file (And it appears to be roughly the sum of the two individual .bepf files, so it appears to be incorporating both.) However, the font doesn't work. All sizes between the lower number and the higher number use the bitmap description for the lower number (ie 10,11,12...23 point font use the bitmap for 10.) Many of the glyphs are not using the bitmap description. There are multiple-bitmap descriptions in the Symbol and a number of other fonts. Has NeXT managed to break yet another application? Any hints or inspirations helpful. -- Sean T. Lamont | Ask me about the WSI-Fonts Abstract Software | Professional collection for NeXT lamont@abstractsoft.com |____________________________________
From: haker@whitewater.chem.wisc.edu (M Haker) Newsgroups: comp.sys.next.programmer,comp.sys.nextt.bugs Subject: DriverKit problem (even in 3.2) Date: 2 Dec 1993 20:11:34 GMT Organization: Division of Information Technology Message-ID: <2dli5m$7kr@news.doit.wisc.edu> Hello All (again), Well I just got 3.2 installed on my machine and converted my driver over to 3.2. It's so close but I've got one little problem: I can't get the data I've collected out of the driver. It's a driver for a data aquisition board, so it operates not by requesting data, but instead you configure and arm the board for external triggers. When an external trigger triggers the board it collects data at which point I need to have the driver send it to the user level program which is controlling the board. I think the only logical way to do this is through a mach port. The problem is I can't figure out how to establish a port connection between a kernel(driver)task and a user task. Here are somethings I've found out so far: - I can't find any driverKit functions to do this - I've tried to get the driver to register a port with "netname_check_in" but it can't find "name_server_port" so it won't compile. And if I include <mach/mach.h> the header definitions conflict with some driverkit headers. - Loadable Kernel Servers (LKS), which the driver kit is a super set of, allow ports to be ADVERTISED by specifying in as a Load Command (appendix A in the writing LKS's manual section) It would make sense to me to have the IODevice and IODeviceMaster be able to establish mach ports between the kernel driver and the user level tasks using the driver with the IODeviceMaster object. Maybe in 3.3. Thanks for any help (please email responses) Michael Haker dept chemistry, UW-Madison haker@whitewater.chem.wisc.edu
Message-ID: <_i%@byu.edu> Date: Thu, 2 Dec 93 13:28:24 MST From: yackd@alaska.et.byu.edu (Don Yacktman) Newsgroups: comp.sys.next.programmer Distribution: world References: <SCOTT.93Dec1183252@nic.gac.edu> <1993Dec02.163506.710@corona.com> <2dleql$b0q@transfer.stratus.com> Organization: Brigham Young University, Provo UT USA Subject: Re: returning NaN, Was: RUMOR-ATTACK... In article <2dleql$b0q@transfer.stratus.com>, bbeckwit@carrock.hw.stratus.com (Bob Beckwith) writes: [ ... return values of messages to nil objects ... ] >This would be a 1 instruction fix. Also, if necessary, any other >return values stored in registers should get zeroed here as well (it >appears as though (id) and (int) returns are already handled appropriately). >I'm sure the right folks could make quick work of this, assuming some one >filed a bug report (instead of just net.gripping (I'm not saying that's >what happened, just that you shouldn't expect something to get fixed if >it hasn't been reported). No flame intended, just trying to make a point). That's fine, but to add a little information you might not have known about, at the Developer's conference at the last NeWXTWORLD Expo, it was explicitly stated that any message to nil will return nil for methods that return ids, but that any other return type is unpredictable. Period. They called it "luck" that ints return zero in Intel hardware... So the implication is that NeXT knows about the problem and not only plans to _never_fix_it_ but also, they will create even more inconsistencies in the future with their newer ports. In other words, NEVER rely upon a message to nil to return a zero. Instead, you should code stuff like this: (anObject ? [anObject floatValue] : 0.0 ) or you can make some macros for your project's main header file: #define FLOATMESSAGE(a, b) ((a) ? [(a) b] : 0.0) #define INTMESSAGE(a, b) ((a) ? [(a) b] : 0) and so on... and then as new ports come out, you don't have to worry about this problem, since you've planned ahead for chaos... Seems to me this is extra code that should be handled from the runtime, as you suggest, but apparently NeXT doesn't want to do this. So, as you say, it's something to lobby for. But it would be classified as a feature request, not a bug fix, given the attitude NeXT has shown on this topic. I think this extra code should not be necessary; but the NeXT engineers said that it should be considered an error to send a float-returning message to nil...so in my code, for robustness, I basically use the above construct to trap all places where these problems might occur in the code. Since I basically do this for every message, it seems to make more sense to put it in the runtime system, since the overhead will be lower if it's put there. Now, to convince NeXT that it is worth doing and that it is what we want... -- Don_Yacktman@byu.edu Nepotism is a relative thing.
Newsgroups: comp.sys.next.programmer,comp.databases.oracle From: adh@alvin.ach.uams.edu (Alvis Harding Jr.) Subject: Can't get DBModeler to connect to Oracle database Message-ID: <1993Dec2.223609.7906@engr.uark.edu> Sender: netnews@engr.uark.edu (NetNews Administrator) Organization: Arkansas Children's Hospital, Cardiac Imaging Date: Thu, 2 Dec 1993 22:36:09 GMT I'm having trouble getting Next's DBModeler (Version 0.7 running on NextStep 3.1 for Intel) to connect to Oracle (Version 6.07 running under SunOS 4.1.3). I start by selecting 'Model' and then 'New'. I select the 'Oracle Adapter'. I then enter the "Server ID", "Host Machine", "Login id", and "Password". The oracle server name is 'george'. If I use 'george' as the host machine, when I try to connect, the login windows just beeps at me. If I use the IP address of george as the host machine, the login windows disappears for about 5 seconds and then beeps at me. All of the parameters in the login window were entered correctly. I dumped all of the packets between the server and the NextStep machine and noticed that whenever I used the domain name, the NextStep machine doesn't send any packets to the server in trying to connect to the database. If I use the IP address, I get the following output from 'etherfind'. 'morpheus' is the name of the NextStep machine. UDP from morpheus.ach.uams.edu.2611 to george.ach.uams.edu.domain 47 bytes UDP from george.ach.uams.edu.domain to morpheus.ach.uams.edu.2611 127 bytes ICMP from morpheus.ach.uams.edu to george.ach.uams.edu dst unreachable bad port bad packet: UDP from george.ach.uams.edu.domain to morpheus.ach.uams.edu.2611 127 bytes UDP from morpheus.ach.uams.edu.2611 to george.ach.uams.edu.domain 47 bytes UDP from george.ach.uams.edu.domain to morpheus.ach.uams.edu.2611 127 bytes ICMP from morpheus.ach.uams.edu to george.ach.uams.edu dst unreachable bad port bad packet: UDP from george.ach.uams.edu.domain to morpheus.ach.uams.edu.2611 127 bytes Why can't I use the domain name to specify the server. NetInfo is set up and 'george' is in the hosts table. Is their a client program that I need to run on the NextStep machine? Why am I getting the bad port responses? Any help is appreciated. --- --- --- ---- ---- ----- ----- Alvis Harding Jr. Arkansas Children's Hospital adh@george.ach.uams.edu Cardiac Imaging Center "The nice thing about so many standards is that you can choose the one you want"
From: guy@Auspex.COM (Guy Harris) Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: RUMOR-ATTACK: Gerstner/Spindler approach Steven Jobs for PowerPC port ?! Message-ID: <19165@auspex-gw.auspex.com> Date: 2 Dec 93 23:27:09 GMT References: <garylangCHAp3A.HDt@netcom.com> <CHBHDE.1DL@genoa.com> <SCOTT.93Dec1183252@nic.gac.edu> Sender: news@auspex-gw.auspex.com Followup-To: comp.sys.next.advocacy Organization: Auspex Systems, Santa Clara >specifically, if you have the code: > > float f; > > bzero( &f, sizeof( f)); > >the value of f probably differs between Intel and Motorola machines. On Motorola 68K-family floating-point units, the value of "f" is a floating-point number with a sign of 0, a biased exponent of 0, and a fraction of 0; that translates to 0.0. On Intel x86-family floating-point units, the value of "f" is a floating-point number with a sign of 0, a biased exponent of 0, and a fraction of 0; that translates to 0.0. Yes, you guessed it - I just did a copy-and-paste and replaced "Motorola 68K" with "Intel x86". They both use IEEE floating-point format, as do almost all microprocessors these days (Alpha can use either VAX or IEEE format; I don't know if any microprocessors use only some non-IEEE format).
From: mcgredo@crl.com (Donald R. McGregor) Newsgroups: comp.sys.next.programmer Subject: Progress dial? Date: 2 Dec 1993 15:04:03 -0800 Organization: CRL Dialup Internet Access (415) 705-6060 [login: guest] Distribution: world Message-ID: <2dls93$fkb@crl.crl.com> I'm looking for a progress/percent completed dial object, like the one used in installer. It fills up as the operation it tracks gets closer to completion. I could have sworn I saw it somewhere in the archives, but I can't seem to find it now. -- Don McGregor | This certifies that you encountered mcgredo on the mcgredo@crl.com | internet, and found him intelligent, witty, and informed.
From: art@cubicsol.com (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: Help with Sybase triggers and DBKit Date: 3 Dec 1993 01:18:42 GMT Organization: University of California, Santa Cruz Distribution: world Message-ID: <2dm45j$9st@darkstar.UCSC.EDU> References: <1993Dec2.163351.16553@il.us.swissbank.com> In article <1993Dec2.163351.16553@il.us.swissbank.com> ericb@il.us.swissbank.com (Eric_Brown) writes: > I have a delete trigger in a Sybase database that upon failure of a > certain condition will abort the transaction. The documented way to do > this is to do a 'rollback transaction' and then a 'raiserror xxx "text"'. > The problem with this method is that when the condition fails and the > trigger rolls back the transaction, the raiserror comes through the Sybase > adapter as a message in an alert panel, but does not cause the delete > operation to fail. Because the delete didn't fail, DBKit then attempts to > commit the transaction which does fail because the transaction has already > been rolled back. When the commit fails, a rollback is attempted which > also fails. Each of these causes another alert panel to pop up informing > the user of the problem. > Also, at no time was the -fetchGroup:willFailForReason: method of the > DBModule's delegate ever called. This would lead me to the conclusion > that as far as DBKit is concerned, the transaction succeeded. > > How can one inform DBKit that the transaction failed and has been rolled > back? (I need the rollback transaction in the trigger for situations when > sources other than DBKit initiate the delete.) Is there a particular > error number that should be used in the raiserror or another Sybase > function that will do the job? I asked NeXT about this problem several months ago and received the attached response. Note that transactionDidRollback is an undocumented DBDatabase method, so use accordingly. I'm not sure whether 3.2 is required for this to work properly, but NeXT made significant changes to the 3.2 Sybase adaptor which might affect this process. Another problem that probably hasn't been fixed in 3.2 is that when a trigger prevents the update of a record, the fetchgroup isn't made aware that the save failed so the fetchgroup erroneously answers "NO" to hasUnsavedChanges :-( So the recordlist is now out of sync with the data in the database. The only way to resync appears to be to delete the record or to refetch the data, neither of which is a very nice solution. Note that for the purpose of this attached example, my trigger calls raiserror with an error number of 25100. The place to trace a Sybase trigger raise error is in the method db: notificationFrom:message:code:, and not inside fetchGroup:willFailForReason:. This will be better documented (as a NextAnswer) and in the Release Notes too. For now, I have added the code below to your test case: - (BOOL)db:aDb notificationFrom:anObject message:(const unsigned char *)message code:(int)code { fprintf(stderr, "(%d) %s\n", code, message); /* If the error code is the trigger raiseerror, tell * the database object that the trigger has rolled back * the transaction. This will sync up DBKit which will no longer * try to rollback a transaction because of the error situation. */ if ( code == 25100) [aDb transactionDidRollback]; return YES; } When the trigger fires, the trigger error will be raised and you'll see the error as follows: (25100) Sybase Server:unknown Procedure:t1_i Line:8 Message: Invalid value for c1 Then, the database object notifies the adaptor that a transaction has rolled back. Again, this is the programmer's responsibility to know that he has rolled back the transaction inside his sybase trigger. If the trigger doesn't roll back the transaction, the programmer could add if ( code == 25100) [aDb rollbackTransaction]; to roll back the transaction at the application level. Now, things must be in sync. -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
Newsgroups: comp.sys.next.programmer From: cedman@princeton.edu (Carl Edman) Subject: Re: emacs v. 19, Emacs.app In-Reply-To: bhill@physics.ucla.edu's message of 1 Dec 93 16:44:47 To: bhill@physics.ucla.edu (Brian Hill) Message-ID: <CEDMAN.93Dec1214828@capitalist.princeton.edu> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University References: <BHILL.93Dec1164447@spike.physics.ucla.edu> Distribution: comp Date: Thu, 2 Dec 1993 02:48:28 GMT In article <BHILL.93Dec1164447@spike.physics.ucla.edu> bhill@physics.ucla.edu (Brian Hill) writes: I had hoped to avoid needing to know about this by waiting for emacs v. 19 to come as part of NS 3.2. Alas, after installing NS 3.2 this week, I see that NeXT hasn't bothered to update the version of emacs that the executable is based on (isn't this precisely the sort of thing we are paying for upgrades for?). While many people use emacs 19 daily (as a matter of fact, I'm using emacs 19.22 to write and post this article right now), it probably still is too beta to ship it with a commercial product. If some of those who participated in the aforementioned discussion (which I apologize for not following) would mail me the answer to the following questions, I will post a summary: (1) What does one need to do to compile emacs v. 19 under NS 3.2? It should configure and build itself. At least under NS3.1 it does. (2) Will emacs v. 19 break Emacs.app? In some unpatched older versions of Emacs.app there is a bug which will give you an unnecessary query every time you try to quit Emacs.app but apart from that there should be no problems. And before anyone asks: Emacs 19 for NS is in alpha test right now and the testers seem to like it. There still are a few features which need to be added/completed (automatic use of NS menus to emulate Emacs menus, support for foreign character sets, documentation), so there is no public release yet, but there will be one as soon as I get around to finishing them. Unfortunately I'm rather busy working on getting a PhD in physics right now, so a full public release may be a few months off yet. Carl Edman
From: Charles William Swiger <infidel+@CMU.EDU> Newsgroups: comp.sys.next.programmer Subject: Re: returning NaN, Was: RUMOR-ATTACK... Date: Thu, 2 Dec 1993 22:05:30 -0500 Organization: Fifth yr. senior, Chemistry, Carnegie Mellon, Pittsburgh, PA Distribution: world Message-ID: <ggzenum00iUyAAPRFe@andrew.cmu.edu> In-Reply-To: <2dleql$b0q@transfer.stratus.com> Excerpts from netnews.comp.sys.next.programmer: 2-Dec-93 Re: returning NaN, Was: RUM.. by Bob Beckwith@carrock.hw. > It looks like the real problem is that the register used to hold > floating point return values is not getting zeroed out by objc_msgSend > (or whatever it's called) when it sees a message being sent to a nil > object. It doesn't really need to be any more complicated than that. The problem is that when you send a message to a null object, the system can't determine the return type. The sane thing to do is return 0x0, which is a '0' for both unsigned and signed integral types, a NULL pointer, and a floating point 0.0 for some systems and not for others. -Chuck Charles William Swiger -- CMU...*splat*! | 1. You can't fly. --------------------------------------------+ 2. Cars are always real, even AMS & normal mail: infidel@cmu.edu | when they're not. Failing that: cs4w+@andrew.cmu.edu | 3. Police are not your friends. NeXTmail: chuck@cswiger.slip.andrew.cmu.edu | 4. Fire burns.
Newsgroups: comp.sys.next.programmer,comp.sys.next.misc From: cedman@princeton.edu (Carl Edman) Subject: Re: `from` via finger In-Reply-To: luomat@alleg.edu's message of 2 Dec 1993 09:08:57 GMT To: luomat@alleg.edu (Timothy J. Luoma) Message-ID: <CEDMAN.93Dec2080803@capitalist.princeton.edu> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University References: <2dkbb9$fup@ftp.alleg.edu> Date: Thu, 2 Dec 1993 13:08:03 GMT In article <2dkbb9$fup@ftp.alleg.edu> luomat@alleg.edu (Timothy J. Luoma) writes: Is there a way I can add to my .plan or .project something which will let people see the equivalent of if I were to do 'from' in a terminal shell? What I imagine is someone doing 'finger luomat@alleg.edu' and seeing my project, plan, and then a 'from' listing.... Any suggestions? The new-finger distribution which is on cs.orst.edu as well as nova.cc.purdue.edu will allow you to do this as well as much, much more. However, again you need to have root privileges to install it properly. Carl Edman
Newsgroups: comp.sys.next.programmer From: fabien@free.fdn.org (Fabien Roy) Subject: Re: Shared Libraries on the NeXT Message-ID: <1993Dec2.184004.8982@free.fdn.org> Sender: news@free.fdn.org Organization: Fabien Roy Electronic Engineering (F.R.E.E.) - Paris, France. References: <CHEtDG.7IA@hermes.hrz.uni-bielefeld.de> Date: Thu, 2 Dec 1993 18:40:04 GMT In article <CHEtDG.7IA@hermes.hrz.uni-bielefeld.de> chr@bio128.uni-bielefeld.de (Christian Bartling) writes: > I want to use the WxWin libraries on the NeXT to develop some applications > under X-Windows. Due to the size of the library it woud be comfortable to > have them as shared libraries. Is there a documentation or FAQ on building > shared libraries on the NeXT computer (3.1)?? > > > --- > Christian Bartling > chr@bio128.uni-bielefeld.de From man ld: -fvmlib Produce a Mach-O fixed VM shared library format file. The headers are placed in the first segment but the first section in that segment will be placed on the next segment alignment boundary in that segment. All sections are placed in there proper segments and they are padded to the segment alignment. This has a file type of MH_FVMLIB. --Fabien --------------------------------------------------------------------- Fabien_Roy@free.fdn.org (NextMails accepted) Fabien Roy Electronic Engineering 3 rue ANDRE DANJON, 75019 PARIS, France, Tel: 33 1 4040 0206 Fax: 33 1 4040 0641
From: fankhauser@uptime.ch (George Fankhauser) Newsgroups: comp.sys.next.programmer Subject: MallocDebug not compatible with DBKit? Date: 3 Dec 1993 10:07:15 +0100 Organization: Uptime Object Factory Inc, Zurich, Switzerland Message-ID: <2dmvk3$a9m@california.uptime.ch> Hi, did anyone else encounter problems while debugging a dbkit-app with MallocDebug? simple apps with about 10 DBAssociations start crashing in realloc() but work great without linking libMallocDebug... George -- George Fankhauser Uptime Object Factory Inc Director Software Engineering Integrated NEXTSTEP Solutions fankhauser@uptime.ch (NeXTmail ok) Postfach, Baumackerstrasse 46 Phone +41-1-313 06 07, Fax +41-1-313 07 55 CH-8050 Zurich/Switzerland
Newsgroups: comp.sys.next.software,comp.sys.next.programmer,comp.sys.next.advocacy From: ludwig@well.sf.ca.us (Michael Rutchik) Subject: Re: Features of Tailor.app that I want to see in all other apps. Message-ID: <CHGCzI.3wG@well.sf.ca.us> Keywords: Tailor, PostScript, Editor Sender: news@well.sf.ca.us Organization: The Whole Earth 'Lectronic Link, Sausalito, CA References: <2djjrv$khj@agate.berkeley.edu> Date: Fri, 3 Dec 1993 09:28:30 GMT >In all drawing apps I have used, in order to edit members of a >grouped object, you have to ungroup it first. Tailor lets you >"enter" a group and let you edit its members without breaking the >grouping. I want to see that in Virtuoso and other apps. This feature is actually handled quit gracefully in Virtuoso. Using Alt and Alt-Shift key modifiers it is quite easy to select individual points, objects and subgroups of a group without ungrouping. One can also modify elements within a compound path (Join Elements) without having to split the elements. While we're wishing though, I would like to see Virtuoso implement one aspect of Illustrators text handling which would make it so much more pleasurable to use: Let me have the option to simply click the text tool anywhere and start typing without creating a text-block with tabs! While the formatting options available within that fancy text-block are a god-send when appropriate, they're a big pain in the butt most other times. Also multi-color (3 or more) blends and the blend-drag tool would be welcome additions. Oh, and just one more thing: can we save the file with an eps header instead of creating a separate eps file? Also, I could mention Illustrator 5 compatability but Lorin informs me they're already working on it. (Freehand for NS/FIP?) Anyhow, I look forward to anymore postings on tailor. It is beginning to sound like my next purchase. Michael Rutchik Clorox Graphics ludwig@well.sf.ca.us
From: izumi@pinoko.berkeley.edu (Izumi Ohzawa) Newsgroups: comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.advocacy Subject: Re: Features of Tailor.app that I want to see in all other apps. Date: 3 Dec 1993 09:46:15 GMT Organization: University of California, Berkeley Distribution: world Message-ID: <2dn1t7$gbl@agate.berkeley.edu> References: <CHGCzI.3wG@well.sf.ca.us> In article <CHGCzI.3wG@well.sf.ca.us> ludwig@well.sf.ca.us (Michael Rutchik) writes: >>In all drawing apps I have used, in order to edit members of a >>grouped object, you have to ungroup it first. Tailor lets you >>"enter" a group and let you edit its members without breaking the >>grouping. I want to see that in Virtuoso and other apps. > >This feature is actually handled quit gracefully in Virtuoso. Using Alt and >Alt-Shift key modifiers it is quite easy to select individual points, >objects and subgroups of a group without ungrouping. One can also modify >elements within a compound path (Join Elements) without having to split the >elements. Thank you and Lorin for pointing it out for me. Actually, I was missing a whole array of good features that are activated with Alt, Shift, Control keys with mouse ops. Better read the FM sometime. However, it doesn't seem possible to add a new object into a group, i.e., not everything you can do outside a group can be done into grouped objects in Virtuoso. So, I think there is still a point for the concept of "entering" a group, which will make the entered group a new playing field where you can do everything you can outside. -- Izumi Ohzawa [ $@Bg_78^=;(J ] USMail: University of California, 360 Minor Hall, Berkeley, CA 94720 Telephone: (510) 642-6440 Fax: (510) 642-3323 Internet: izumi@pinoko.berkeley.edu (NeXTMail OK)
From: fxg@gimli.tolkien.imib.rwth-aachen.de (Felix Gatzemeier #Alwd#) Newsgroups: comp.sys.next.programmer Subject: Re: returning NaN, Was: RUMOR-ATTACK... Date: 03 Dec 1993 11:18:09 GMT Organization: Rechnerbetrieb Informatik - RWTH Aachen Distribution: world Message-ID: <FXG.93Dec3121810@gimli.tolkien.imib.rwth-aachen.de> References: <SCOTT.93Dec1183252@nic.gac.edu> <1993Dec02.163506.710@corona.com> <2dleql$b0q@transfer.stratus.com> <_i%@byu.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-reply-to: yackd@alaska.et.byu.edu's message of Thu, 2 Dec 93 13:28:24 MST In article <_i%@byu.edu> yackd@alaska.et.byu.edu (Don Yacktman) writes: Nntp-Posting-Host: alaska.et.byu.edu Date: Thu, 2 Dec 93 13:28:24 MST From: yackd@alaska.et.byu.edu (Don Yacktman) Newsgroups: comp.sys.next.programmer Distribution: world References: <SCOTT.93Dec1183252@nic.gac.edu> <1993Dec02.163506.710@corona.com> <2dleql$b0q@transfer.stratus.com> Organization: Brigham Young University, Provo UT USA In article <2dleql$b0q@transfer.stratus.com>, bbeckwit@carrock.hw.stratus.com (Bob Beckwith) writes: [ ... return values of messages to nil objects ... ] >This would be a 1 instruction fix. Also, if necessary, any other [nil obj returning different values easily fixable] That's fine, but to add a little information you might not have known about, at the Developer's conference at the last NeWXTWORLD Expo, it was explicitly stated that any message to nil will return nil for methods that return ids, but that any other return type is unpredictable. Period. They called it "luck" that ints return zero in Intel hardware... [tips on how to trap this in your programs] -- Don_Yacktman@byu.edu Nepotism is a relative thing. Well, this seems to be a programming technique issue here. What do you expect to get from a nil object? "ex nihilo nil fit" is neatly fitting here: from nothing comes nothing. IMHO, the second nothing should be read as "undefined". So I don't really object to this kind of behaviour / design decision. Make sure you're not talking to nil when sending a message. But this rigidity is out of step with the no-types approach of objective-C. There, the idea is that messages are freely distributed to "some" object and it'll see what it does of it. So, it tries to position itself in the Smalltalk corner rather than the Eiffel corner. While the choice between these corners is free, the consequences should be handled straight. In this case, a nil object would be an object, too. So it should answer calls with default values: NaN being the appropriate one for float's. Notice that you still might have to check for nil objects to interpret that NaN correctly. -- Felix (fxg@(([Pool|I3].Informatik)|(Tolkien.ImIB)).RWTH-Aachen.de NeXT-Mail ok, but slow)
Newsgroups: comp.sys.next.programmer From: paul@psmpaul.demon.co.uk (Paul Meier) Subject: Calendar Palette Message-ID: <CHGI70.D80@demon.co.uk> Keywords: calendar palette appkit dbkit Sender: news@demon.co.uk (Usenet Administration) Organization: Demon Internet Limited. Distribution: all Date: Fri, 3 Dec 1993 11:20:59 GMT I am looking for a calendar palette which will avoid the need to program the look and feel of applications which need to book entries by date, order entry for example. If the calendar palette works well with the DBKit, so much the better. Any ideas? Paul Meier email:paul@psmpaul.demon.co.uk
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: DBTableView design question? Date: 3 Dec 1993 09:42:28 -0000 Organization: me organized? That's a joke! Message-ID: <2dn1m4$1dn@steffi.demon.co.uk> This message is directed to anybody doing DBKit applications. I was wondering if you have completely done away with NXBrowser, together with all it's horrible bugs? ie. even for heirarchical data? Is it easy to extend DBTableView to handle heirarchical models? (ie. selectively displaying certain columns) It would seem that DBTableView should be used instead of NXBrowser to maintain UI consistency? As we all know DBTableView can be used in a non-DBKit context but how many people are using it this way for _these_ and other reasons? Thoughts?
From: cahalan@clouds.gsfc.nasa.gov (Robert F. Cahalan) Newsgroups: comp.sys.next.programmer Subject: Re: Can't get DBModeler to connect to Oracle database Date: 3 Dec 1993 14:40:51 GMT Organization: NASA Goddard Space Flight Center -- InterNetNews site Distribution: world Message-ID: <2dnj5k$nd9@skates.gsfc.nasa.gov> References: <1993Dec2.223609.7906@engr.uark.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In article <1993Dec2.223609.7906@engr.uark.edu> adh@alvin.ach.uams.edu (Alvis Harding Jr.) writes: > I'm having trouble getting Next's DBModeler > (Version 0.7 running on NextStep >........STUFF DELETED........... > Is their a client program that I > need to run on the NextStep machine? > Alvis Harding Jr. Arkansas Children's Hospital > adh@george.ach.uams.edu Cardiac Imaging Center > This REALLY should be a FAQ, it's VERY frequently asked, and it's not in any NeXT docs that I know of. There are two "secrets" you need: (1) activate the oracle daemon on your NeXT with: niload services . << orasrv 1525/tcp (2) Tell the OracleAdapter which db tableowners to look at: dwrite OracleAdapter OracleTableOwners "'HARDING','OWNER2'" The default for this last one is just yourusername, like 'HARDING', but usually the interesting tables are owned by some sysadmin on the server. Ask your server admin what to use for 'OWNER2'. --Bob-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .Dr. Robert F. Cahalan (Bob)...#..Laboratory for Atmospheres...... .cahalan@clouds.gsfc.nasa.gov..#..NASA-Goddard Space Flight Center .*** NeXTMail accepted ***.....#..Greenbelt, MD 20771............. .FAX: (301) 286-1627...........#..voice: (301) 286-4276........... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Newsgroups: comp.sys.next.programmer Subject: sound Message-ID: <1993Dec3.003530.7661@nic.csu.net> From: thomas@zippy.sonoma.edu (Thomas Poff) Date: 3 Dec 93 00:35:26 PST Distribution: usa I was wondering if NeXTStep can handle having multiple sound channels open simultaneously for the purpose of layering sounds on top of one another? I want to be able to play conversations with ambient sound in the background in a prototype I'm planning && it's an important to be able to play at least two 8-bit digitized sounds at the same time. I have an object on the Macintosh that can play up to four digitized sounds simultaneously on an LC/Mac II machine and up to like twelve (!) on a Quadra. Granted I only need two to four at the most. Anyway the object on the Mac (a) plays the sound(s) asynchronously, (b) buffers the sounds in real time in 70kb increments off the hard drive. I'd like to duplicate this functionality on NeXTStep. You can assume that I'm just talking about doing this on black hardware for the moment if you decide to answer. --thomas--
Newsgroups: comp.sys.next.programmer From: ericb@il.us.swissbank.com (Eric_Brown) Subject: Re: MallocDebug not compatible with DBKit? Message-ID: <1993Dec3.170815.24052@il.us.swissbank.com> Sender: root@il.us.swissbank.com (Operator) Organization: Swiss Bank Corporation CM&T Division References: <2dmvk3$a9m@california.uptime.ch> Date: Fri, 3 Dec 1993 17:08:15 GMT George Fankhauser writes > > Hi, > > did anyone else encounter problems while debugging a dbkit-app with > MallocDebug? simple apps with about 10 DBAssociations start crashing > in realloc() but work great without linking libMallocDebug... > Yep...I have the same problem. The crash occurs in the -loadNibSection:owner: method that loads the nib that contains the DBTableView and DBModel with all of the DBAssociations. It makes it kind of hard to check for leaks. BTW: I am using NS3.0, but I think the problem happened under 3.2 as well. I'll have to go check that out. > George > -- > George Fankhauser Uptime Object Factory Inc > Director Software Engineering Integrated NEXTSTEP Solutions > fankhauser@uptime.ch (NeXTmail ok) Postfach, Baumackerstrasse 46 > Phone +41-1-313 06 07, Fax +41-1-313 07 55 CH-8050 Zurich/Switzerland Eric S. Brown NEXTSTEP Consultant CG Computer Services *** DISCLAIMER *** The opinions expressed above are mine (I think) and not necessarily those of my employer.
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: returning NaN, Was: RUMOR-ATTACK... Message-ID: <1993Dec3.171354.1533@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <ggzenum00iUyAAPRFe@andrew.cmu.edu> Date: Fri, 3 Dec 93 17:13:54 GMT In article <ggzenum00iUyAAPRFe@andrew.cmu.edu> Charles William Swiger <infidel+@CMU.EDU> writes: > The problem is that when you send a message to a null object, the system > can't determine the return type. The sane thing to do is return 0x0, > which is a '0' for both unsigned and signed integral types, a NULL > pointer, and a floating point 0.0 for some systems and not for others. > Question: How does 0.0 look in hex on a 80486? Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not (+49) 40 / 380 23-290 (Fax ) And am content with all
From: dhsmith@next.com Newsgroups: comp.sys.next.programmer Subject: NEXTSTEP Developer Conference - Washington DC Date: 2 Dec 1993 23:52:48 GMT Organization: NeXT, Inc. Message-ID: <2dlv4h$3k1@rosie.next.com> Keywords: NeXT, Sun, Developer, Intel There are only fifteen days remaining to sign up for the Conference at the discounted price! Representatives from Sun plan to join us to discuss how the recent announcement will affect developers. _______________________________ THE SUBJECT IS OBJECTS. NEXTSTEP East Coast Developer Conference Washington D.C. January 24 - 26, 1994 The first annual NEXTSTEP East Coast Developer Conference is your opportunity to experience object-oriented computing with NEXTSTEP, the product that Byte magazine has called, the most respected piece of software on the planet. The Conference spans three days combining two full days of technical sessions with one day of NEXTSTEP Tutorials. Designed for software developers, information systems management, systems integrators, VARs, and independent software vendors, this is the premier East Coast event to learn more about object-oriented technology and the development of mission-critical custom applications with NEXTSTEP. This East Coast event is a natural complement to the West Coast Developer Conference, to be held concurrently with NeXTWORLD Expo in June. If objects are in your future, you wont want to miss this important event. We look forward to seeing you. CONFERENCE SESSIONS The Conferences four tracks focus on both business and technical aspects of NEXTSTEP application development. Each track provides a different perspective on understanding and working with NEXTSTEP. Take a closer look at object kits and distributed objects. Or follow the track designed specifically to give managers an overview of the technical services and development opportunities offered with NEXTSTEP. Another track focuses on hardware platforms, system administration and configuration issues for the systems engineer. To benefit most from the breadth of topics offered at the Conference, we encourage you to review and attend sessions from several tracks. The mid-day break is reserved for informal Birds-of-a-Feather sessions about topics of special interest to developers or to visit with a variety of NEXTSTEP partners showcasing their products and solutions. Developers may reserve a time slot to conduct a Birds-of-a-Feather session of their choice by sending e-mail to bof@next.com with information about the topic and moderator. NEXTSTEP TUTORIALS The Conference opens with a day of optional tutorials to help attendees prepare for the Conference sessions. Attendees new to NEXTSTEP will want to take the one day introduction to the user and developer systems, covered in the NEXTSTEP Immersion track. Others who have already done some NEXTSTEP development might be interested in learning more about a different area of the system. Sessions in the second track, NEXTSTEP Developer, provide a chance to get a head start on two popular subjects Object-Oriented Design and the Database Kit. All tutorials are instructed by NeXT Training staff and are in lecture format. HANDS-ON WITH NEXTSTEP If you're new to NEXTSTEP, this is your chance to learn the basics. You can sign up to spend some time with an expert on the subject of your choice. Visit NeXT's hospitality suite and meet with NeXT's training staff who will provide instruction (one-on-one) for both end users and developers. User tutorials are scheduled throughout the two days of the Conference to introduce new users to NEXTSTEP and to provide guidance on navigating the workspace, working with applications, and using NEXTSTEP features. Developer tutorials provide two learning opportunities: hands-on instruction in boot camp issues as well as one-on-one time with a NeXT expert on specific development topics. CALL 800-767-2336 TO REGISTER KEYNOTE SPEAKERS Steve Jobs Chairman and CEO NeXT Computer, Inc. Steve Jobs will demonstrate how object-oriented NEXTSTEP can revolutionize the development of mission-critical custom applications today. Paul Strassmann Former Director of Defense Information, U.S. Government Paul Strassmann discusses the current transition of software creation, from a hand-crafted art form to a product assembled out of standard components. HOURS Monday, January 24 9:30a.m. - 4:30p.m. Tuesday, January 25 9:00a.m. - 6:00p.m. Wednesday, January 26 9:00a.m. - 6:00p.m. Nextstep DEVELOPER BUNDLE For just $995, Conference attendees are eligible to purchase a special developer bundle including: NEXTSTEP Release 3.2 User and Developer products One single-user license of Borland's InterBase SQL database server DBKit InterBase Adapter. This is a $5,000 savings. Limited to one per Conference attendee, must be present to receive bundle. NEXTSTEP East Coast Developer Conference Washington D.C. January 24 - 26, 1994 TABLE OF CONTENTS Developer Conference Co-Sponsors 4 Developer Conference Agenda 5 NEXTSTEP Tutorials Agenda 5 Developer Conference 6 Track and Session Descriptions NEXTSTEP Tutorials 9 Track and Session Descriptions Registration and Hotel Information 10 CREDITS DCI (Digital Consulting, Inc.) Mike Colby Chris De Salvo Mary Lou Gomes Diane Palmiero Laura Sannicandro Matthew Schmuck Cheryl Taylor Digital Consulting, Inc. (DCI), co-sponsor of the NEXTSTEP East Coast Developer Conference, is a high technology education and management consulting firm specializing in software conferences, tradeshows, and user group conferences. DCI offers a full range of services to help companies achieve maximum efficiency and productivity. For more information call 508/470-3880. NeXT Computer, Inc. Conrad Geiger Rick Jackson Ellen Leeb Patty McDonough Julie Saffren Kate Smith Karen Steele CO-Sponsors The NEXTSTEP Developer Conference is your opportunity to see the latest NEXTSTEP products and solutions showcased by participating co-sponsors. ANDI Association of NeXT Developers International NEXTSTEP puts you in control of your information flow and provides you with the tools to readily adapt to ever changing needs. See how you can integrate your custom application with shrinkwrap software in todays hetero-geneous computing environment. Visit our technology showcase to see why NEXTSTEP is the right step for you. Borland International, Inc. Scotts Valley, California For millions of software developers and end-users worldwide, Borland International, Inc. is the leader in application development software. A pioneer in the use of object-oriented technology, Borland is committed to offering the worlds best database management, programming languages, development tools, spreadsheets and applications software. Borland products include dBASE, Paradox, InterBase, Quattro Pro, Object Vision, Borland C++ and Borland Pascal with Objects. Founded in 1983 by Philippe Kahn, Borland is headquartered in Scotts Valley, California. Hewlett Packard Company Palo Alto, California HP and NeXT have created an initiative known as Object Enterprise, which combines NeXT's object-oriented software with HP's leading edge RISC-based desktop computers and servers and Intel-based Vectra PCs. Object Enterprise will enable customers to develop and deploy custom object-oriented software applications across the enterprise, delivering state-of-the-art desktop to data center solutions. HP will demonstrate the enabling technologies including, Portable Distributed Objects and NetInfo on both the HP Series 700 and 800 HP-UX Server class systems and NEXTSTEP on the Vectra PC. Intel Corporation Santa Clara, California Intel Corporation is a proud co-sponsor of the NEXTSTEP Developer Conference in Washington, D.C. Thousands of NEXTSTEP user agree: high-performance, upgradable systems based on the Intel architecture are the best platforms for application development and execution. From the laptop to the server, Intel-based solutions provide the reliable, compatible performance required for object- oriented, graphics-intensive applications. Welcome to the conference! NCR Corporation Dayton, Ohio NCR Corporation, an AT&T Company, develops, manufactures, markets, supports, and services enterprise-wide information systems for worldwide markets. NCR offers products and services that meet customer requirements for total enterprise-wide computing solutions. NCRs System 3000 is a seven-level family of open, scalable, microprocessor-based computer systems, ranging from portables to desktops and servers, to massively parallel processing systems. NCRs hardware, software, and networking systems enable access to information throughout the enterprise. NEC Technologies Boxborough, Massachussets NEC Technologies, Inc. manufactures, markets and distributes a wide range of NEC computers and computer peripherals. These include desktop and notebook PCs, server and professional client computer systems, computer monitors, printers, CD-ROM hardware, disk drives, and Automated Fingerprint Identification Systems. Head- quartered in Boxborough, MA, NEC Technologies has marketing offices in Wood Dale, IL and Washington, D.C. and operates major manufacturing facilities in Northborough, MA and McDonough, GA. Sales efforts are coordinated through 22 field offices throughout North America. NeXT Computer, Inc. Redwood City, California NeXT develops and markets the award-winning NEXTSTEP object-oriented software for industry-standard computer architectures. Customers use NEXTSTEP to develop and deploy custom client/server applications, using both custom and shrink-wrapped software. Headquartered in Redwood City, California, and with offices throughout the world, NeXT serves customers requiring enterprise-wide, object-oriented productivity environments. DEVELOPER CONFERENCE AGENDA Tuesday 9:00 - 10:30 10:45 - 11:45 11:45 - 1:00 1:00 - 2:00 2:15 - 3:15 3:30 - 4:30 4:45 - 6:00 TRACKS NeXT in the Market Place Keynote: Steve Jobs NeXT's Markets and Their Development Opportunities Mid-day Break Creating Success With NEXTSTEP What Is PDO, and How Can It Help Me? Distribution Options in North America and Europe Education and Support Services for the NEXTSTEP Professional A Closer Look Introduction to NEXTSTEP Programming Using Release 3 Application Kit Features Getting Started With Database Kit Programming With Distributed Objects Hardware Is Inevitable System Administration: Issues and Answers NEXTSTEP for Intel Processors: Q&A Learning More About: 3:30 Hewlett-Packard 4:00 NCR Wednesday 9:00 - 10:30 10:45 - 11:45 11:45 - 1:00 1:00 - 2:00 2:15 - 3:15 3:30 - 4:30 4:45 - 6:00 TRACKS The Art of Design Keynote: Paul Strassmann Objected-Oriented Client/Server Application Design Mid-day Break Building Better NEXTSTEP Applications Benefits on an Open API Writing Extensible Applications Building Reusable Objects A Closer Look Driver Kit for NEXTSTEP for Intel Processors Repeat: Programming With Distributed Objects A Practical Approach to Database Kit Repeat: Getting Started With Database Kit Creating Interface Builder Palettes Borland's InterBase on NEXTSTEP Hardware Is Inevitable Learning More About: 1:00 NEC 1:30 TBD Nextstep TUTORIALS AGENDA MONDAY 9:30 - 12:30 1:30 - 4:30 TRACKS NEXTSTEP Immersion Introduction to NEXTSTEP User Environment Introduction to NEXTSTEP Developer Environment NEXTSTEP Developer Object-Oriented Design Introduction to Database Kit Developer CONFERENCE general sessions The general sessions are in-depth looks at broad, important programming topics debugging and performance tuning. These will be opportunities to learn skills that will immediately affect your development efforts and your results. The Zen of Debugging Julie Zelenski, Lecturer, Stanford University and Developer Support Engineer, NeXT This session was clearly the most popular and talked-about session from the 1993 Developer Conference. Julie shares her bag of tricks and hints for debugging in the NEXTSTEP development environment. This is the place to come to fill out your repertoire of debugging methods. Useful and little used features of GDB are exposed, an example of how to inspect the stack frame is shown, and a rundown of the runtime system is made, along with discussions of many other topics. You will definitely learn new techniques in this challenging and extremely informative session. Getting More Speed Out of Your Application Trey Matteson, Manager, Application Kit Group, NeXT This session discusses a wide range of methods for measuring and improving the performance of your application. Topics include memory allocation strategies, code reordering, Window Server memory usage, drawing speed, reducing launch times, and implications of NEXTSTEP's expanding hardware base. NeXT in the Marketplace This track addresses topics aimed at the business and marketing side of NEXTSTEP and of broad general interest to the third-party and corporate developer community. This track is on Tuesday, January 25, and is designed to give a manager an overview of the technical services and development opportunities offered by NeXT and NEXTSTEP. The sessions will include speakers from successful third-party and corporate NEXTSTEP developers and from NeXT's marketing department. No direct NEXTSTEP experience is required for the sessions in this track. NeXT's Markets and Their Development Opportunities This is a chance to hear about NeXT's targeted markets, the products customers are requesting, and the solutions that match market requirements. Opportunities for developers and consultants are discussed, and guidelines for creating products that align with NeXT and NEXTSTEP are given. Creating Success With NEXTSTEP Based on their real-world experiences, a panel of NEXTSTEP developers describe their paths to success in the NEXTSTEP marketplace. Creative marketing techniques, how to leverage the sales force, and product focus are debated and discussed. What Is PDO, and How Can It Help Me? NeXT's PDO (Portable Distributed Objects) provides the framework for distributed computing in a heterogeneous environment, by providing NEXTSTEP's Distributed Object technology on foreign operating systems. This panel of early adopters describe the current PDO product and its applicability in client/server environments and discuss the findings of their direct experience. Distribution Options in North America and Europe Join Ingram Micro and Alembic Systems for an in-depth discussion of software distribution. Topics cover the range of North American, European, and Worldwide channels. If you are a third-party developer and want to distribute your product indirectly, this is an information-packed session. If you are a corporate customer, you'll learn that acquiring NEXTSTEP is only the beginning; there are many third party applications and services available to you. Education and Support Services for the NEXTSTEP Professional Application development can be accelerated by the availability of object-oriented training alternatives and timely, accurate technical support. NeXT provides a wide variety of education and support services to meet the diverse needs of its NEXTSTEP developers. This session describes services, ranging from NeXTanswers, a free document retrieval system, to the Mentorship Program, that provides in-depth support essential at the start of a large development project. The Art of Design The sessions of the second track are held on Wednesday, January 26. This track is for engineers wishing to learn more about designing better Object-Oriented and NEXTSTEP applications. These sessions show professionals how object-oriented design can create more flexible and robust objects, applications, and systems. Speakers are from the third party community and NeXT's technical staff. Some sessions assume limited NEXTSTEP knowledge. Object-Oriented Client/Server Application Design This session explains the key issues of object-oriented client/server application design and layout, including programming tools and techniques to assist in this type of application development. It also discusses how the user interface (or lack of it) for server requester objects and server provider objects affects the efficiency of an application. Examples of client/server applications using PDO will be shown. Building Better NEXTSTEP Applications Proper use of NEXTSTEP significantly increases the power of your application; correspondingly, improper or partial use of NEXTSTEP can decrease your applications usability. An overview of specific topics user interface, portability, localization, and important kit features shows you how to build flexibility into your application. References to documentation and other resources are included. The Benefits of an Open API A panel of developers and users discuss both sides of the Application Programmers Interface (API) issue. Commercial third-party developers discuss why they have decided to provide an API for their shrink-wrap productivity applications. Corporate developers discuss why having an API to third party applications makes the development of in-house solutions easier and faster. Writing Extensible Applications This lecture explores techniques that add run-time flexibility to an application. Dynamic loading of objects adds much to the power of Interface Builder as a development tool and is mainly responsible for the runaway success of BackSpace. Find out how to add dynamic loading to your application while increasing its efficiency and maintainability. Building Reusable Objects Well-rounded classes don't just happen; they require careful planning and design to become flexible and robust. This session reviews some of the issues that you should consider before writing your first line of code. A Closer Look This track takes a closer look at several of the kits specific to NEXTSTEP. The Application Kit, Driver Kit, and Database Kit are examined with additional sessions on important features like Distributed Objects and Portable Distributed Objects. Speakers are engineers from NeXT's technical staff who are directly involved in designing and writing the software or in writing applications that use the software they discuss. Familiarity with NEXTSTEP is a plus for attendees of these sessions. Introduction to NEXTSTEP Programming If you're just encountering the world of object-oriented programming, this overview of NEXTSTEP features and object technology is extremely useful for understanding context and vocabulary. This session is a must for technical evaluators of the platform. Using NEXTSTEP Release 3 Application Kit Features This session reviews several NEXTSTEP Release 3 features, including dragging, Help, filter services, and using color. Use of these features is uncomplicated and can add considerably to the power and flexibility of your application (and popularity with your users). Getting Started With Database Kit Learn the basics of NEXTSTEP's newest kit with one of NeXT's trainers. Step through the decisions involved with building a simple Database Kit application and see how Database Kit can help reduce time and effort in developing a client/server custom application. Time is provided for questions and answers at the end of this session. (This session is repeated.) Programming With Distributed Objects This presentation details the steps you need to take to build a client/server application using distributed objects, one of NEXTSTEP's most powerful tools. Discussion includes invalidation notification and peer-to-peer architectures. (This session is repeated.) Driver Kit for NEXTSTEP for Intel Processors A detailed presentation of device driver architecture within NEXTSTEP for Intel Processors. The session includes review of several Driver Kit classes, design considerations, comparison with traditional UNIX drivers, and an opportunity for questions and answers. Previous knowledge of UNIX drivers and NEXTSTEP is recommended. A Practical Approach to Database Kit This session highlights common problems that developers have encountered in the Database Kit, and details how to solve them. Its very practical and all current Database Kit programmers are likely to learn new tricks. Creating Interface Builder Palettes Using Interface Builder Palettes can add custom functionality to your interfaces, save development time, and generate valuable reusable tools. This session shows how to build palettes that provide advanced functionality for many different sorts of objects. Borlands InterBase on NEXTSTEP The main subject matter will be the future technology direction of the InterBase SQL database server. An overview of how InterBase fits into Borlands overall client/server strategy will also be included. Hardware is Inevitable The final track brings the nuts and bolts to the conference. The sessions give software engineers a chance to compare the different hardware platforms, and provide a forum for questions and answers for system administration and configuration issues. Speakers are NeXT technical staff members familiar with the different configuration issues and speakers from hardware partners like Hewlett-Packard, NCR, and NEC. These sessions are for people who want to find out more about the various hardware options for NEXTSTEP and the inherent software issues. System Administration: Issues and Answers As NEXTSTEP computers proliferate in enterprise-wide information systems, the issues of installation and configuration and network management in a heterogeneous environment become increasingly critical. System administrators and system support engineers explore the tools and techniques available for creating and maintaining corporate networks. NEXTSTEP for Intel Processors: Questions and Answers NeXT and NEXTSTEP hardware partners answer questions on hardware configurations appropriate for development, supported third-party products and other issues related to NEXTSTEP for Intel Processors. This session helps you understand the differences between various hardware configurations and how these might affect your application development efforts. Learning More About: 3:30 Hewlett-Packard 4:00 NCR NEXTSTEP hardware partners spend a half hour discussing their NEXTSTEP-compatible product offerings, optimal configurations, and more. Come learn more about what is available from these vendors! Learning More About: 1:00 NEC 1:30 TBD NEXTSTEP hardware partners spend a half hour discussing their NEXTSTEP-compatible product offerings, optimal configurations, and more. Come learn more about what is available from these vendors! NEXTSTEP Tutorials Introduction to Tutorials The conference begins with a series of tutorials on the first day to help attendees prepare for the conference sessions. Attendees new to NEXTSTEP will want to take the one day orientation in the user and developer systems, covered in the NEXTSTEP Immersion track. Others who have already done some NEXTSTEP development might be interested in learning more about a different area of the system. Two sessions in the second track, NEXTSTEP Developer, provide a chance to get a head start on two popular subjects: Object-Oriented Design and the Database Kit. Tutorials are in lecture format. See page 10 for registration information. NEXTSTEP Immersion The tutorials in this track give attendees an overview of NEXTSTEP user and developer software. They are a good starting point for the conference and build the framework needed to learn more from the sessions in the conference tracks. Introduction to NEXTSTEP User Environment This tutorial takes you on a guided tour of the NEXTSTEP user environment. When you leave it you should be familiar with many of the metaphors and common user interface techniques found in NEXTSTEP as well as some of the major applications provided by NeXT. Major topics include: core NEXTSTEP applications: Workspace, Edit, Librarian, etc. reading and sending multi-media mail using the NeXT mail application common menu items and panels taking advantage of inter-application services The tutorial includes demonstrations of popular third party productivity applications. To be prepared for this tutorial, one should be familiar with the idea of a graphical user interface. Introduction to NEXTSTEP Development Environment This tutorial walks attendees through the steps of building a simple NEXTSTEP application. Topics include: using Project Builder to manage your project using Interface Builder to create a user interface debugging your code with GDB, the gnu debugger Edit, as a developer's tool how Digital Librarian can help you search and read on-line technical documentation At the end of this tutorial, you should be able to identify the developer applications that are available, their features, how they work together, and how they help you create a NEXTSTEP application. The prerequisite for this tutorial is a simple understanding of the NEXTSTEP user environment, which you can get from the previous tutorial. NEXTSTEP Developer These two tutorials are for experienced NEXTSTEP programmers who are interested in an overview of a specific area. Object-Oriented Design This class covers some of the concepts needed to do analysis and design for object-oriented programming. This class does not focus on a particular methodology; rather it presents the basic concepts required by all analysts and designers. These concepts include: discovering the classes and objects needed in your application identifying relationships between classes and objects in your application designing applications that take advantage of NEXTSTEP designing cooperating applications based on the Distributed Objects technology extending the design metaphor to multiple processes and deployment in a heterogeneous environment After taking this class you will know the major steps needed to design a NEXTSTEP application. To be prepared for this class, you need to be able to create a simple NEXTSTEP application or have other experience with object-oriented programming. Introduction to Database Kit The Database Kit is one of the hottest features of the NEXTSTEP development environment. It allows developers access to enterprise-wide data while taking advantage of all the user interface tools in NEXTSTEP. This class covers the rudimentary topics for getting started with the Database Kit such as: data modeling and the DBModeler application creating Interface Builder applications with the Database Kit palette introduction to the Database Kit Architecture At the end of the class you will know the steps needed to build a simple database program without writing any code. To be prepared for this class, you need to be familiar with Interface Builder and have a general knowledge of relational databases. Advanced programming issues will be addressed at the end, based on participants questions and time permitting. REGISTRATION AND HOTEL INFORMATION To Register Mail to: The NEXTSTEP Fax to: 508/470-0526: Call Toll-Free: 800/767-2336 International Registration East Coast Developer Conference 24 hours a day U.S. and Canada only Call 508/470-3880 DCI 8:30 a.m. - 6:00 p.m. (est) 8:30 a.m. - 6:00 p.m. (est) 204 Andover Street 24 hr. voice mail 24 hr. voice mail Andover, MA 01810 The NEXTSTEP East Coast Developer Conference January 24-26, 1994 Sheraton Washington, Washington D.C. Conference Registration Fee (4076) January 25-26, 1994 $545 (before Dec. 17) $595 (after Dec. 17) Conference Registration Fee with Product Bundle (4076N) January 25-26, 1994 $1,540 (before Dec. 17) $1,590 (after Dec. 17) plus shipping and handling Product Bundle price includes Conference registration plus NEXTSTEP Release 3.2 User and Developer products, Borlands InterBase SQL database server, and the DBKit Adapter for InterBase $5,000 savings! Tutorial Registration Fee January 24, 1994 $160 per Tutorial (before Dec. 17) $300 per Tutorial (non-conference attendees) $200 per Tutorial (after Dec. 17) Please check off the Tutorials you would like to register for 9484Introduction to NEXTSTEP User Environment, 9:30 a.m.12:30 p.m. 9485Introduction to NEXTSTEP Development Environment, 1:30 p.m.4:30 p.m. 9486Object-Oriented Design, 9:30 a.m.12:30 p.m. 9487Introduction to Database Kit, 1:30 p.m.4:30 p.m. Registration Hours On-Site Tutorial Registration: Monday, January 24, 7:30 a.m. Conference Registration: Monday, January 24, 1 p.m. - 5 p.m. Tuesday, January 25, 7:30 a.m. Registrants Name Company Title Division Name Street Mail Stop Title City State/Zip Code Country Name Phone Number Title Fax Number Email Address Authorized Signature Date Method of Payment Check enclosed payable to The NEXTSTEP East Coast Developer Conference VISA MasterCard Card# Expiration Date Cardholder Name Bill my firm. Attention of: Conference cancellation policy: Substitutions may be made at any time. Cancellations made by January 10, 1994 will be accepted, subject to a cancellation service charge of $100. Confirmed registrants who do not attend the conference or cancel after January 10, 1994 are liable for the entire registration fee. All cancellations must be made in writing. Hotel and Travel Information The NEXTSTEP East Coast Developer Conference is pleased to offer you special discounted hotel overnight rooms and airfares. To receive discounted reservations or information on these special services, please call Conference and Travel Services (CATS) at 800/767-2755 or 508/470-3933 or fax your request to 508/470-2506. Host Hotel: A Credit Card Is Needed To Guarantee Your Reservation Sheraton Washington VISA MasterCard Am. Ex. 2660 Woodley Road at Connecticut Avenue, NW Diners Club Discover Washington, D.C. 20008 U.S.A. Personal Card Corporate Card Cardholders Name Arrival Departure Company Name Signature Card Number Business Phone Home Phone Expiration Date Fax Number DCI 204 Andover Street Andover, MA 01810 NEXTSTEP East Coast Developer Conference Washington D.C. January 24 - 26, 1994
Newsgroups: comp.sys.next.programmer From: willers@butp.unibe.ch (Moritz Willers) Subject: PB building remotely can't open files in Edit Message-ID: <1993Dec3.181300.17395@aragorn.unibe.ch> Sender: news@aragorn.unibe.ch Organization: University of Berne, Switzerland Date: Fri, 3 Dec 1993 18:13:00 GMT When PB comes across a faulty line in a file while building on a remote system and I click on the line, indicating the mistake, so that PB messages Edit to open the file, Edit just complains about "File system error: No such file or directory". The problem seems to be the path, it doesn't start with a slash "/". How can I fix this? Thanks, Moritz -- Moritz Willers Institute for Theoretical Physics, Berne Switzerland willers@butp.unibe.ch
From: bbeckwit@carrock.hw.stratus.com (Bob Beckwith) Newsgroups: comp.sys.next.programmer Subject: Re: returning NaN, Was: RUMOR-ATTACK... Date: 3 Dec 1993 19:01:50 GMT Organization: Stratus Computer, Inc. Message-ID: <2do2eu$n1k@transfer.stratus.com> References: <ggzenum00iUyAAPRFe@andrew.cmu.edu> <1993Dec3.171354.1533@dart.de> In article <1993Dec3.171354.1533@dart.de> Alexander_Spohr@dART.de writes: >Question: How does 0.0 look in hex on a 80486? If it has IEEE floating point (and I believe it does), 0.0 is *always* represented by all 0 bits (regardless of the precision (i.e. single, double, extended or quad, some of these may be more familiar to you C types as float, double and long double)). --Bob -- Bob_Beckwith@vos.stratus.com Stratus Computer, Inc., Hardware Engineering 55 Fairbanks Blvd. Marlboro, MA 01752 USA
From: "Thomas G. Mon" <tm31+@andrew.cmu.edu> Newsgroups: comp.sys.next.programmer Subject: Chess.app Date: Fri, 3 Dec 1993 17:29:13 -0500 Organization: Senior, Math/Computer Science, Carnegie Mellon, Pittsburgh, PA Message-ID: <sgzvqte00iV6M9sFAy@andrew.cmu.edu> In the infopanel for Chess.app is says to contact NeXT for the source code release information. Does anyone know the address to send this to, is it just simple info@next.com? Anyway, there was not specific address to send a message to. If someone knows an FTP site where it is available, that would be a plus also.. Thanks. Tom tm31@andrew.cmu.edu [NeXTmail welcome]
From: scott@nic.gac.edu (Scott Hess) Newsgroups: comp.sys.next.programmer Subject: Re: returning NaN, Was: RUMOR-ATTACK... Date: 3 Dec 93 16:44:56 Organization: Is a sign of weakness Distribution: world Message-ID: <SCOTT.93Dec3164456@nic.gac.edu> References: <SCOTT.93Dec1183252@nic.gac.edu> <1993Dec02.163506.710@corona.com> In-reply-to: pkron@corona.com's message of Thu, 2 Dec 1993 08:35:06 PST In article <1993Dec02.163506.710@corona.com>, pkron@corona.com (Peter Kron) writes: >From: scott@nic.gac.edu (Scott Hess)>> My suspicion is that they just stuff some "standard" zero value >> into some register in this case, and it happens to not work >> right ... specifically, if you have the code: >> >> float f; >> >> bzero( &f, sizeof( f)); >> >> the value of f probably differs between Intel and Motorola >> machines. > >On Intel this will yield 0.0. But NEXTSTEP doesn't return this >from messages to a nil object. It returns NaN if interpreted as >a float. (Note that all messages to nil return exactly the same >thing, since no actual instance method can be invoked. I suppose >the selector could be looked up to determine the appropriate return >type, but that would be expensive. Besides it isn't *required* by >the runtime that all classes have the same return type for a given >selector (though it is certainly recommended.) [For a leadin - I am interested in knowing _why_ this happens, specifically, implementation-wise, not in knowing how to work around it or whatever. There's a mystery here, I'd like to know what I'm missing ...] Well, call it my Intel ignorance (which is blissful), but I'm uncertain as to how this would work, now. As someone else pointed out, both '486 and '040 use IEEE floating point ... but, a float is a 32-bit quantity, just like an int, id (or other pointer), at least on these two platforms (this is in contrast to a 64-bit double, of course). Sooooo ... if we have this value that's returned which does encode as a (int)0 for both Intel and Motorola, or an (id)0 for both, then why would it encode differently as a (float)? Perhaps since the original poster's usage was not clearly laid out [was it something like [nil floatValue]+10?], could it be that (float)((int)0)==NaN for Intel? Or is there some other magic going on behind the scenes? [I'm not certain I really want to know :-).] One possibility that has occurred to me is that perhaps int/pointer results are returned in an integer register, while floats are returned in a floating point register, and NeXT didn't initialize the floating point register correctly. [Note the great difference that would make - in that case, NeXT could fix it. But, if it's something more fundamental, they might not be able to.] [As noted in the rest of my original post, the runtime _cannot_ reliably look up the selector to determine the appropriate return type - since the selector doesn't encode types. A selector is something like "floatValue" - it is _not_ (float)floatValue! A particular selector binds to an implementation in a class which _does_ encode types - but, the Nil "class" has no such bindings.] Later, -- scott hess <scott@nic.gac.edu> <I can handle NeXTMail, but don't like it> 12901 Upton Avenue South, #326 Burnsville, MN 55337 (612) 895-1208 Anytime! <C++: ... One Language to bring them all and in the darkness bind them> <In the Land of Redmond where the Shadows lie.>
Newsgroups: comp.sys.next.programmer From: wave@media.mit.edu (Michael B. Johnson) Subject: Re: sound Message-ID: <1993Dec3.201816.653@news.media.mit.edu> Sender: news@news.media.mit.edu (USENET News System) Organization: MIT Media Laboratory References: <1993Dec3.003530.7661@nic.csu.net> Distribution: usa Date: Fri, 3 Dec 1993 20:18:16 GMT writes > I was wondering if NeXTStep can handle having multiple sound channels open > simultaneously for the purpose of layering sounds on top of one another? > > I want to be able to play conversations with ambient sound in the background > in a prototype I'm planning && it's an important to be able to play at least > two 8-bit digitized sounds at the same time. > > You can assume that I'm just talking about doing this on black hardware for > the moment if you decide to answer. > Sure, this is dead simple. I wrote a multi-channel networked sound server from scratch a few months back in an hour and a half. Just look at the docs on the SoundStream stuff. It really just works... -- --> Michael B. Johnson --> MIT Media Lab -- Computer Graphics & Animation Group --> (617) 253-0663 -- wave@media-lab.media.mit.edu --> NeXT Mail accepted at wave@nordine.media.mit.edu
From: bbeckwit@carrock.hw.stratus.com (Bob Beckwith) Newsgroups: comp.sys.next.programmer Subject: Re: returning NaN, Was: RUMOR-ATTACK... Date: 3 Dec 1993 23:57:26 GMT Organization: Stratus Computer, Inc. Distribution: world Message-ID: <2dojp6$4ea@transfer.stratus.com> References: <SCOTT.93Dec1183252@nic.gac.edu> <1993Dec02.163506.710@corona.com> <SCOTT.93Dec3164456@nic.gac.edu> In article <SCOTT.93Dec3164456@nic.gac.edu> scott@nic.gac.edu (Scott Hess) writes: > >[For a leadin - I am interested in knowing _why_ this happens, [stuff deleted] >Well, call it my Intel ignorance (which is blissful), but I'm >uncertain as to how this would work, now. As someone else pointed >out, both '486 and '040 use IEEE floating point ... but, a float >is a 32-bit quantity, just like an int, id (or other pointer), at >least on these two platforms (this is in contrast to a 64-bit >double, of course). > >Sooooo ... if we have this value that's returned which does encode >as a (int)0 for both Intel and Motorola, or an (id)0 for both, then >why would it encode differently as a (float)? [stuff deleted] >[As noted in the rest of my original post, the runtime _cannot_ >reliably look up the selector to determine the appropriate return >type - since the selector doesn't encode types. A selector is >something like "floatValue" - it is _not_ (float)floatValue! A >particular selector binds to an implementation in a class which >_does_ encode types - but, the Nil "class" has no such bindings.] Ok, after I couple of post, and a few emails, I think I can suitably (or not - you be the judge) enlighten folks as to what's going on here. The basic problem arises when attempting to send a message to nil and the expected return value is floating point (not type id, or int or whatever). On Intel, this results in a NaN and your program blows up. On Motorola, you get a 0.0. I had suggested that perhaps the run-time had omitted setting up the proper return value (0.0) for this case. In fact, the return value is *not* setup, but there is a very good rationale for this. In i486 architecture, floating point operations are carried out on a >>>stack<<<. You push operands, perform a series of operations, and pop off your result. Wonderful. However... this is also the crux of the problem. The run time can not arbitrarily place a 0.0 on the stack unless it is sure you're going to remove it. As others have pointed out, the message dispatcher does not know what the expected return type of the message is, and therefore can not push a 0.0 on the FP stack "just in case". So you're stuck. At least your stuck if you use the current calling conventions. There exists the possibility that a re-architected calling convention could work around this, but the same person that suggested this (someone at NeXT), also told me that other solutions also made *all* messages more expensive. So, before you mount your charger and start lobbying NeXT, you need to ask yourself how much am I willing to pay for this, and is it worth it, considering that there exist work arounds for this (as unappealing as they may seem). So... everybody got it? Great, I'm outta here... --Bob P.S. Thanks to everybody for helping clear this up (Charles, Don, Mark, Scott & Felix). -- Bob_Beckwith@vos.stratus.com Stratus Computer, Inc., Hardware Engineering 55 Fairbanks Blvd. Marlboro, MA 01752 USA
Newsgroups: comp.sys.next.programmer From: stanifor@hyatt.cs.ucdavis.edu (Stuart Gresley Staniford-Chen) Subject: templates in C++ on NeXT Message-ID: <CHHGD7.K2p@ucdavis.edu> Sender: usenet@ucdavis.edu (News Administrator) Organization: University of California, Davis Date: Fri, 3 Dec 1993 23:39:05 GMT I'm doing mixed C++ / Objective-C programming under 3.0 with fair success. However, I'd like to be able to use C++ template classes. The NeXT C++ compiler doesn't seem to recognize these. Is there a way I can have templates and Objective-C? Thanks, Stuart.
Newsgroups: comp.sys.next.programmer From: richard@planon.qc.ca Subject: DSP Serial asynchronous communication problem Message-ID: <1993Dec4.013435.432@planon.qc.ca> Sender: richard@planon.qc.ca Date: Sat, 4 Dec 1993 01:34:35 GMT I tried to make serial communication with the DSP inside of my NeXT computer (NeXT station turbo, 33MHz), but... I wrote a little program in asm56000 to communicate through the DSP. I transmited at the 9600 BPS the letter "a" by the TX pin of the DSP, the signal was read on the serial port B of the same computer with the Microphone software. I received weird stuff. I looked on the oscilloscope the signal transmited was good ( start bit + $61 + stop bit), the voltage for 1 was 5 Volt and for the 0 the voltage was 0 volt. This is my source code that i have implemented in the DSP. The serial port B use the RS-423 protocol. This program originally came from the manuel of Motorola: DSP56000/DSP56001 "Digital Signal Processor, User's Manual (p.11-48), of course i made some modification... What is the problem? Something wrong with my program? Do i need hardware to pull-up of pull-down the TX pin of the DSP? ;********************************************************************* ; SCI asynchrone ;********************************************************************* START EQU $0102 ;Start of program PCC EQU $FFE1 ;Port C control register SCR EQU $FFF0 ;SCI interface control register SCCR EQU $FFF2 ;SCI clock control register SRX EQU $FFF4 ;SCI receive register STX EQU $FFF4 ;SCI transmit register BCR EQU $FFFE ;Bus control register IPR EQU $FFFF ;Interrupt priority register RXBUF EQU $200 ;Receive buffer TXBUF EQU $100 ;Transmit buffer SSR EQU $FFF1 ;SCI status register MES1 EQU $00 MES2 EQU $61 ;******************************************************** ; Initialize the SCI port and RX, TX buffers pointers ;******************************************************** ORG P:START ;Start the program at location $201 ORI #$03,MR ;Mask interrups temporarily MOVEP #$C000,X:IPR ;Set interrupt priority to 2 MOVEP #$0202,X:SCR ;Disable TX, enable RX interrupts ;Enable transmitter, receiver ;Point to point ;10-bit asynchronous ;1 start, 8 data, 1 stop MOVEP #$0035,X:SCCR ;Use internal TX,RX Clocks ;9600 BPS MOVEP #>$03,X:PCC ;Select pins TXD and RXD for SCI MOVE #RXBUF,R0 ;Initialize the receive buffer MOVE #TXBUF,R3 ;Initialize the transmit buffer ;************************************ ; Main Program * ;************************************ MOVE #1,B0 ;padding, three times characrer "00" MOVE B0,Y0 MOVE #0,B MOVE #$000003,B1 DCAR1 MOVE #0,A ;wait for the transmitter empty flag MOVEP X:SSR,X0 ;polling the TRNE flag MOVE #1,A1 AND X0,A JEQ DCAR1 ;wait for TRNE to be set MOVEP #MES1,X:STX ;transmit the padding "00" ;MES1 = $00 SUB Y0,B ;padding three times JNE DCAR1 DCAR2 MOVE #0,A ;wait for the transmitter empty flag MOVEP X:SSR,X0 ;polling the TRNE flag MOVE #1,A1 AND X0,A JEQ DCAR2 ;wait for TRNE to be set MOVEP #MES2,X:STX ;transmit the lettre "a" (ASCII "a" = $61) ;MES1 = $61 JMP DCAR2 END ******************************************************* Richard Jacob Planon Telexpertise Inc.
Newsgroups: comp.sys.next.programmer From: drew@fnbc.com (Drew Davidson) Subject: Determining "up" status of machines Message-ID: <1993Dec3.215926.19921@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA Date: Fri, 3 Dec 93 21:59:26 GMT Is there a way to programmatically determine if a remote machine (Sun, NeXT, or whatever) is alive from a NeXT? Something like sending a single ping packet would be appropriate, but I'm not much of a Unix weenie so I don't exactly know how to do it. EPS where are you...? Thanks in advance. - Drew -- +--------------------------------+---------------------------------------+ | Drew Davidson | "Never ask a programmer if he'll have | | Software Guy | another cup of coffee because it's | | First National Bank of Chicago | nobody's damn business how much he's | | drew@fnbc.com (NeXTmail) | already had!" - me | +--------------------------------+---------------------------------------+
Newsgroups: comp.sys.next.programmer From: kwang@lore.acs.calpoly.edu (Kevin John Wang) Subject: Re: Event Programming Message-ID: <1993Dec04.035150.149745@zeus.aix.calpoly.edu> Sender: news@zeus.calpoly.edu Organization: Cal Poly State University, San Luis Obispo References: <CH9yt8.8us@pdh.com> Date: Sat, 04 Dec 1993 03:51:50 GMT In article <CH9yt8.8us@pdh.com> jfr@aspen.pdh.com (Jon F. Rosen) writes: > Jim Quick writes > > Howard R. Cole writes: > > > > > > I think the question was "what is an example of an application > > > defined event" rather than "what is an event driven > > > application". Notice all the examples of events you described > > > are *system* defined events rather than application defined > > > events. > > > > Let's say that application opened a socket and was listening > > for a TCP connect request (or was waiting for an incoming UDP > > datagram). You don't know when something will arrive, but > > you need to be able to handle it when it happens. > > > > Somewhere during initialization you set up your socket. Then > > you call this. > > [description of a file descriptor handler munched] gack! I came here ti find exactly this out, but alas, it has already expired. Can anyone point me in the right direction? I've been trying to use fcntl() and FASYNC and SIGIO, but these (I think) are causing some REALLY BIZARRE problems within the application. Random things like windows getting lost, things that aren't getting executed immediately as they should, but then again, all of this is happenig from INSIDE the signal interrupt, so it's probably just a wrong screwy way to do things.... HELP? How would I handle TCP socket I/O from an application? (supposed I wanted to create a ftp object or nntp object or telnet object, or some other silly tcp i/o object...) - Kevin Wang, kwang@lore.acs.calpoly.edu
From: Charles William Swiger <infidel+@CMU.EDU> Newsgroups: comp.sys.next.programmer Subject: Re: returning NaN, Was: RUMOR-ATTACK... Date: Sat, 4 Dec 1993 02:18:42 -0500 Organization: Fifth yr. senior, Chemistry, Carnegie Mellon, Pittsburgh, PA Message-ID: <Mh03bGC00iUyQEqMYd@andrew.cmu.edu> In-Reply-To: <1993Dec3.171354.1533@dart.de> Excerpts from netnews.comp.sys.next.programmer: 3-Dec-93 Re: returning NaN, Was: RUM.. by Alexander Spohr@??? > Question: How does 0.0 look in hex on a 80486? 0x0 for all IEEE 754 compliant implementations (including the i80487 or '486DX chips). Floating 0.0 has multiple representations under the DEC "D" floating point scheme, which is an older standard. Take a look at "man 3 math". The problem is that you run into questions of what is the return type of a message to a nil object. The calling conventions of the hardware in question may want to return the values in different registers depending on whether you're returning a float or an int. Also, you may run into what 0x0 means to your hardware, assuming that you actually get that as a return value. Basically, there isn't a graceful method for dealing with the return type of a nil object, and it would be wise to avoid sending messages to such if possible. -Chuck Charles William Swiger -- CMU...*splat*! | 1. You can't fly. --------------------------------------------+ 2. Cars are always real, even AMS & normal mail: infidel@cmu.edu | when they're not. Failing that: cs4w+@andrew.cmu.edu | 3. Police are not your friends. NeXTmail: chuck@cswiger.slip.andrew.cmu.edu | 4. Fire burns.
Newsgroups: comp.sys.next.programmer From: gpmenos@firestone.Princeton.EDU (Gerard Philippe Menos) Subject: building an empty bundle... Message-ID: <1993Dec3.151757.11365@Princeton.EDU> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University Date: Fri, 3 Dec 1993 15:17:57 GMT I am posting this for a friend (developer) who is new to NEXTSTEP and does not have good access to the Internet (yet). My friend is getting the following error from the Objective C compiler: "building an empty bundle." If feasible: can anyone point us in the right direction for understanding the nature of this problem and what to do about it? With appreciation, Phil -- G. Philippe Menos gpmenos@firestone.princeton.edu [NeXTmail OK.] Systems Administrator, Princeton University Libraries voice: 609-258-5183 fax: 609-258-5571
Newsgroups: comp.sys.next.programmer,comp.sys.next.misc,comp.sys.next.software From: (slugg jello) Subject: OpenStep and object-oriented file systems? Message-ID: <1993Dec4.083404.8740@mouthers.nwnexus.wa.com> Sender: slugg@mouthers.nwnexus.wa.com Organization: Mouthing Flowers References: <1993Nov27.061940.26832@netnews.noc.drexel.edu> Date: Sat, 4 Dec 1993 08:34:04 GMT Eric M Hermanson (zmonster@ATHENA.MIT.EDU) wrote: : OpenStep includes the full NEXTSTEP GUI. Part of the OpenStep spec is that it : retains the same appearance and behavior as NEXTSTEP. : Here's specifically what the spec will include at the minimum (I may have : left something out here): : * DisplayPostscript : * Distributed Objects : * the AppKit : * Databasekit : * Objective-C I wonder where a specification for an object-oriented file system fits into all this. Perhaps that is considered part of the operating system and thus is not subject to the standard. Or perhaps because it is (rumored to be) part of NS4.0 it is something that would be tackled in a more future OpenStep augmentation. Sure would be nice to get it all in at once. Microsoft is already pushing their "DocFile" concept of an object-oriented file system. -- Doug Kent Mouthing Flowers, Inc. slugg@mouthers.wa.com
Newsgroups: comp.sys.next.programmer From: burchard@geom.umn.edu (Paul Burchard) Subject: Secret of window server access while loginwindow is running? Message-ID: <CHI91G.Etr@news2.cis.umn.edu> Sender: news@news2.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota, Twin Cities Date: Sat, 4 Dec 1993 09:53:09 GMT Does anyone know what magic is necessary to access the window server when no one is logged in? Everything I've been able to determine seems to indicate that the window server is really still running (perhaps not with the full windowPackage.ps), but that its port is somehow being hidden. Since printer-related alert panels can pop up when no one is logged in, it would sure seem like there is some way to get around this for programs other than loginwindow.app itself. Does anyone know the trick? [The reason I want to do this is that I'd like to be able to use the window server as a networked Quick (not photoreal) Renderman server. This is only practical if it works when no one is logged in; indeed it would be preferable to use idle machine(s).] -- -------------------------------------------------------------------- Paul Burchard <burchard@geom.umn.edu> ``I'm still learning how to count backwards from infinity...'' --------------------------------------------------------------------
From: rfschtkt%banruc60.bitnet@cc1.kuleuven.ac.be Newsgroups: comp.sys.next.programmer Subject: Re: RTF Source problems in 3.2 Date: 4 Dec 1993 05:27:17 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9312031232.AA03833@flexus> LS, Bradley Head is absolutely right in criticising NeXT for introducing a fad like RTF source while leaving serious bugs like the ones he names (and the *many* collected in KBNS) untouched. Furthermore, there appear to be troubles with this RTF support: only flat-file RTF is supported, and InterfaceBuilder hasn't been notified of this change. Allow me to describe a proposal to extend the functionality to include images and sound and what all, using a method that is very easy to implement (well, a lot harder if you don't control the source), and which should have been used for flat-file RTF as well (rather than fiddling with the compiler). The method has already been applied to lex and yacc sources, which can be named .lm and .ym for automatic appropriate treatment. I give the examples only for Obj-C source files (this has to be added to Makefile.postamble). .SUFFIXES: .mrtf .mrtfd .mrtf.m: @(initdir=`pwd`; \ cd $(SYM_DIR); \ cmd="rtf-ascii $$initdir/$*.mrtf > $*.m"; echo $$cmd; $$cmd ) .mrtf.o: @(initdir=`pwd`; \ cd $(SYM_DIR); \ cmd="rtf-ascii $$initdir/$*.mrtf > $*.m"; echo $$cmd; $$cmd ; \ cd $$initdir ; \ cmd="$(CC) $(ALL_CFLAGS) -I$$initdir -c $(SYM_DIR)/$*.m -o $(OFILE_DIR)/$*.o" ; \ echo $$cmd ; $$cmd ) .mrtfd.m: @(initdir=`pwd`; \ cd $(SYM_DIR); \ cmd="rtf-ascii $$initdir/$*.mrtfd/TXT.rtf > $*.m"; echo $$cmd; $$cmd) .mrtfd.o: @(initdir=`pwd`; \ cd $(SYM_DIR); \ cmd="rtf-ascii $$initdir/$*.mrtfd/TXT.rtf > $*.m"; echo $$cmd; $$cmd;\ cd $$initdir ; \ cmd="$(CC) $(ALL_CFLAGS) -I$$initdir -c $(SYM_DIR)/$*.c -o $(OFILE_DIR)/$*.o"; \ echo $$cmd ; $$cmd ) Of course :-(, rtf-ascii is not documented (at least not in NS_3.1), and it generates spurious bytes (at least for TXT.rtf it does), so it is not usable. Anyone to write an improved filter? If a functional one is available, the finishing touch would be to add a #file directive to each ``object'' .m file, to indicate to ProjectBuilder which file to open for warnings and errors. Then the system should be made aware of these new document types, so that they will get proper icons (a volunteer to design specific new ones, NeXT maybe?), and so that .?rtfd directories are treated as wrappers. The solution involves adding lines to Edit.app's __ICON/__header section, in the known format (is described in the docs), for all file extensions, and to add the corresponding icons. These changes can be applied using a script that calls segedit(1) to do the job. Then there is the problem of making Edit aware that .?rtfd things are RTFD documents. There is a function inside Edit which is essentially the following: BOOL isRTFD(const char *path){ /*var*/ int strLen; BOOL retVal; SELECT IF(a2==NULL) retVal=FALSE; INTERMEZZO(strLen=strlen(path)) IF(strLen<=5) retVal=FALSE; IF(!strcmp(path+strLen-5,".rtfd")) retVal=TRUE ; IFDEFAULT retVal=FALSE; ENDSELECT return retVal; } and which should become something like: BOOL isRTFD(const char *path){ /*var*/ int strLen; BOOL retVal; SELECT IF(a2==NULL) retVal=FALSE; INTERMEZZO(strLen=strlen(path)) IF(strLen<=5) retVal=FALSE; IF(!strcmp(path+strLen-5,".rtfd")) retVal=TRUE ; IF(strLen<=6) retVal=FALSE; IF(!strcmp(path+strLen-5,".mrtfd")) retVal=TRUE ; IFDEFAULT retVal=FALSE; ENDSELECT return retVal; } Somebody should now describe how to replace a function that is already inside an executable. Anyone? Because until this change is applied, one has to rename to .rtfd and back repeatedly, or add the necessary commands to Makefile.postamble for each specific _?.rtfd source. The final result is that you can write .?rtf and .?rtfd just as you now write .? (just add to ``Other Sources'', but I don't think the distinction with ``Classes'' is real), and I don't think that not having the ordinary .? extension for this is not an advantage, because this is all so platform-specific. Oh yes, you will have to explicitly delete old files if you migrate between degrees of richness (that's an undoubted shortcoming of Edit: it just renames a file to, e.g., UNTITLED.rtf, rather than asking for confirmation and doing the appropriate operations itself; unless it's cured in NS_3.2?), and until ProjectBuilder is adapted as well, you have to remove a file and add another by drag-dropping. Performance: Does NeXT do it *without* intermediate file? If so, what's the penalty for the extra pass? Usability: IB can parse the header file in sym/ Which release: NS_3.1 and higher, probably earlier as well. Of course, these are not very essential things. But if one adds frillies like RTF, why stop short of RTFD, for diagrams, sketches, voice comments and such? [Wishes for real improvements omitted.] Please mail proposals to me. I will publish the bag of tricks when it's complete (if there's an interest). Raf Schietekat, RfSchtkt@banruc60.bitnet, Flanders, Belgium RfSchtkt%banruc60.bitnet@uunet.uu.net or so if the above does not work for you (real, i.e., with triangle in the Deliver button) NeXTmail preferred I can't reach sites with ! or % in their address, or ending in .at or .uucp
From: Airborne Newsgroups: comp.sys.next.programmer Subject: Arrow key commands Date: 4 Dec 1993 15:10:17 GMT Organization: Allegheny College Message-ID: <2dq98p$8me@ftp.alleg.edu> Does anyone know of a way to get an app to respond when an arrow key event is recognized? I've been trying to figure this one out for weeks and can't do it. E-mail responses are appreciated if anyone can help me. -- <<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> "Virtue is like a rich stone, best plain set." - Francis Bacon "Yesterday, all my troubles seemed so far away, Now it looks as though they're here to stay, oh I believe, in yesterday..." - (you know who) <<<< Jeremy Bussard <-> Airborne <-> bussarj@alleg.EDU >>>> -- NewsGrazer, a NeXTstep(tm) news reader, posting -- M>UQR=&8P7&%N<VE[7&9O;G1T8FQ<9C!<9FUO9&5R;B!#;W5R:65R.WT*7&UA M<F=L,3(P"EQM87)G<C$R,`I<<&%R9%QT>#$Q-3)<='@R,S`T7'1X,S0U-EQT M>#0V,#A<='@U-S8P7'1X-CDQ,EQT>#@P-C1<='@Y,C$V7'1X,3`S-CA<='@Q M,34R,%QF,%QB,%QI7'5L;F]N95QF<S(T7&9C,%QC9C`@"41O97,@86YY;VYE M(&MN;W<@;V8@82!W87D@=&\@9V5T(&%N(&%P<"!T;R!R97-P;VYD('=H96X@ M86X@87)R;W<@:V5Y(&5V96YT(&ES(')E8V]G;FEZ960_($DG=F4@8F5E;B!T M<GEI;F<@=&\@9FEG=7)E('1H:7,@;VYE(&]U="!F;W(@=V5E:W,@86YD(&-A M;B=T(&1O(&ET+B!%+6UA:6P@<F5S<&]N<V5S(&%R92!A<'!R96-I871E9"!I M9B!A;GEO;F4@8V%N(&AE;'`@;64N7`I<"BTM7`H\/#P\/#P\/#P\/#P\/#P\ M/#P\/#P\/#P\/#P\/#X^/CX^/CX^/CX^/CX^/CX^/CX^/CX^/CX^/CX^/CX^ M/CX^(%P*(E9I<G1U92!I<R!L:6ME(&$@<FEC:"!S=&]N92P@8F5S="!P;&%I M;B!S970N(B`M($9R86YC:7,@0F%C;VX@("!<"B)997-T97)D87DL(&%L;"!M M>2!T<F]U8FQE<R!S965M960@<V\@9F%R(&%W87DL("`@("`@("`@("`@("`@ M("!<"B`@("`@3F]W(&ET(&QO;VMS(&%S('1H;W5G:"!T:&5Y)W)E(&AE<F4@ M=&\@<W1A>2P@;V@@22!B96QI979E+"!<"B`@("`@("`@("`@("`@:6X@>65S M=&5R9&%Y+BXN(B`@("`@("`@("`M("AY;W4@:VYO=R!W:&\I("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@ M("`@(%P*/#P\/"`@2F5R96UY($)U<W-A<F0@("`\+3X@06ER8F]R;F4@/"T^ >(&)U<W-A<FI`86QL96<N1415("`@/CX^/EP*"GT* `
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: jhfreeman@iworks.ecn.uiowa.edu (James H Freeman) Subject: Compiling httpd_1.05a and undefined symbols Summary: putenv, waitpid undefined sysmbols Sender: news@news.uiowa.edu (News) Message-ID: <1993Dec4.162419.24905@news.uiowa.edu> Date: Sat, 4 Dec 1993 16:24:19 GMT Organization: Cornell College Keywords: httpd_1.05a Followup-To: freeman@Cornell-Iowa.edu Any help would be appreciated on compiling httpd_1.05a on 3.1 black hardware. Editing the makefile in the obvious manner results in compiling all source files. Unfortunately the link phase dies with undefined symbols for putenv and waitpid. Checking the include files indicates the version of waitpid is for POSIX code. I therefore assume that I do not have the proper system library loaded. The Digital Librarian hasn't been any help on this topic. Any advice on the correct library or a workaround for the problem would be appreciated. (FYI: putenv occurs a total of 4 times and waitpid twice in the source files.) Please use the address freeman@Cornell-Iowa.edu to respond as I can't post to these newsgroups from my campus and am using an account at the University of Iowa. Thank you. James H. Freeman Assoc. Prof. of Math Cornell College freeman@Cornell-Iowa.edu
From: maurices@spock.dis.cccd.edu (Maurice Shihadi) Newsgroups: comp.sys.next.programmer Subject: Need Garfinkel/Mahoney book. Anyone have an extra to sell me? Date: 4 Dec 1993 08:42:35 -0800 Organization: Coast Community College District, Costa Mesa, CA Message-ID: <2dqelr$du6@spock.dis.cccd.edu> Apparently, one of my high school students walked away with my brand spankin new copy. Can't imagine what they'd do with it. Hopefully, they will get turned on to computing. At any rate, I would like to purchase a used copy. I already have the diskettes and do not wish to pay retail again. Anyone have an extra copy laying around? maurices
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Re: Arrow key commands Date: 4 Dec 1993 17:57:12 -0000 Organization: me organized? That's a joke! Message-ID: <2dqj1o$6fv@steffi.demon.co.uk> References: <2dq98p$8me@ftp.alleg.edu> bussarj@alleg.edu (LightMaster) wrote > Does anyone know of a way to get an app to respond when an >arrow key event is recognized? I've been trying to figure this one >out for weeks and can't do it. E-mail responses are appreciated if >anyone can help me. Check in - keyDown:(NXEvent *)anEvent and look at the NXEvent record's keycode member.
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Re: Compiling httpd_1.05a and undefined symbols Date: 4 Dec 1993 18:07:36 -0000 Organization: me organized? That's a joke! Message-ID: <2dqjl8$6pd@steffi.demon.co.uk> References: <1993Dec4.162419.24905@news.uiowa.edu> Keywords: httpd_1.05a This is becomming an epidemic. No offence to the original poster but this comes up once a week and I for one am getting a bit sick of it. Here's a putenv implementation. int putenv(s) char *s; { int nlen; char *cptr; char **nenv, **eptr; extern char **environ; /* First see if there is an existing 'name=value' with the * same name as s. */ for (cptr = s; *cptr != '=' && *cptr != '\0'; cptr++) ; if (*cptr == '=' && cptr > s) { nlen = cptr - s + 1; for (eptr = environ; *eptr != NULL; eptr++) { if (strncmp(*eptr, s, nlen) == 0) { *eptr = s; return 0; } } } /* New name, so must change environ. */ for (eptr = environ; *eptr != NULL; eptr++) ; nenv = (char **) malloc((eptr - environ + 2) * sizeof(char *)); if (nenv == NULL) return -1; eptr = environ; environ = nenv; while ((*nenv = *eptr) != NULL) nenv++, eptr++; *nenv = s; nenv[1] = NULL; return 0; } man wait4 for an alternative to waitpid. Can we do something to ensure that this stays around? (Note: my attempt with the Expires header :-) ) Where's that FAQ greg? :-) (Honestly, I and I'm sure a lot of other people want to see WriteUP before the FAQ which is why Greg is probably so busy with all the other work.)
Newsgroups: comp.sys.next.programmer,comp.sys.next.misc,comp.sys.next.software From: tjhendry@mcs.drexel.edu (Jonathan Hendry) Subject: Re: OpenStep and object-oriented file systems? Message-ID: <1993Dec4.183246.20343@netnews.noc.drexel.edu> Followup-To: comp.sys.next.programmer,comp.sys.next.misc,comp.sys.next.software Sender: news@netnews.noc.drexel.edu Organization: Drexel University, Dept. of Math. and Comp. Sci. References: <1993Nov27.061940.26832@netnews.noc.drexel.edu> <1993Dec4.083404.8740@mouthers.nwnexus.wa.com> Date: Sat, 4 Dec 1993 18:32:46 GMT slugg jello () wrote: :I wonder where a specification for an object-oriented file system fits into all :this. Perhaps that is considered part of the operating system and thus is not : subject to the standard. Or perhaps because it is (rumored to be) part of : NS4.0 it is something that would be tackled in a more future OpenStep : augmentation. Sure would be nice to get it all in at once. Microsoft is : already pushing their "DocFile" concept of an object-oriented file system. I would imagine that NeXT plans on keeping the OOFS in NeXTSTEP as a means of differentiating it from the various OpenStep implementations. -- Jonathan W. Hendry Inexpensive NeXTSTEP Consulting tjhendry@mcs.drexel.edu For Your "Not-So-Mission-Critcal" Apps
Newsgroups: comp.sys.next.programmer From: jaime@afs.com (Jaime Guerrero) Subject: Re: returning NaN, Was: RUMOR-ATTACK.. Message-ID: <1993Dec3.171749.6303@afs.com> Sender: jaime@afs.com References: <_i%@byu.edu> Date: Fri, 3 Dec 1993 17:17:49 GMT In article <_i%@byu.edu> yackd@alaska.et.byu.edu (Don Yacktman) writes: > That's fine, but to add a little information you might not have > known about, at the Developer's conference at the last NeWXTWORLD > Expo, it was explicitly stated that any message to nil will return > nil for methods that return ids, but that any other return type > is unpredictable. Period. They called it "luck" that ints return > zero in Intel hardware... > > So the implication is that NeXT knows about the problem and not > only plans to _never_fix_it_ but also, they will create even more > inconsistencies in the future with their newer ports. In other > words, NEVER rely upon a message to nil to return a zero. Instead, > you should code stuff like this: > > (anObject ? [anObject floatValue] : 0.0 ) Bravo NeXT. It is a dangerous hack that messages to nil return nil regardless of the *declared* return type of the message. That's like saying that the function double doit(int x) returns something that's either sizeof(char) or sizeof(void *) bytes long, depending on the argument or context... sorry, that's impossible in a typed, compiled language like C. {Don't say that chars are actually passed around as ints, because sizeof(void *) does not necessarily == sizeof(int)}. What defense Obj-C (or is it NeXT's flavor only?) would have been a safer language if it made messages to nil caused an immediate runtime NULL-dereference fault, much like dereferencing a function pointer that is NULL. That way, people would establish the discipline, like they have do when manipulating pointers, of testing an object for non-nil-ness if unsure before trying to send it any messages. As it is, you have to test anyway for non-id returning messages, because NeXT certainly is right that the return size, format, register usage, etc. for pointers vs. other C types varies by processor. -- Jaime Guerrero Verbing weirds language. Anderson Financial Systems Inc. Springhouse, Pennsylvania, USA jaime@afs.com [NeXTmail ok]
Newsgroups: comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.advocacy From: roberto@SoftDesign.COM (Roberto Arrocha) Subject: Kodak Photo CD API Message-ID: <CHHBxK.29J@SoftDesign.COM> Keywords: Kodak Photo CD Sender: roberto@SoftDesign.COM (Roberto Arrocha) Organization: SoftDesign, Inc. Date: Fri, 3 Dec 1993 22:03:19 GMT What ever happened to the promise to release a Photo CD toolkit API? | NeXT Embraces Photo CD Multimedia Imaging Technology | SAN FRANCISCO, May 25, 1993 - [...] | NeXT is also porting Kodak's Photo CD Access Development Toolkit | for the NEXTSTEP environment. This toolkit, which will work like | any other object-oriented toolkit for NEXTSTEP, will allow | developers to incorporate Photo CD-based capabilities into any kind | of application. NeXT payed Kodak ~$100K in licensing fees for the source code, and seems to have decided to postpone releasing a toolkit API. The claim is lack of resources, and a refocused strategy (away from the desktop). Does anyone have any other clues as to the extended delay? Thanks. -- Roberto SoftDesign, Inc.
Newsgroups: comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.advocacy From: roberto@SoftDesign.COM (Roberto Arrocha) Subject: Re: Kodak Photo CD API Message-ID: <CHIs59.2qv@SoftDesign.COM> Keywords: Kodak Photo CD Sender: roberto@SoftDesign.COM (Roberto Arrocha) Organization: SoftDesign, Inc. References: <CHHBxK.29J@SoftDesign.COM> Date: Sat, 4 Dec 1993 16:51:09 GMT Let me re-state my question below: - Is anyone else interested in a NeXT-version of Kodak's Photo CD toolkit? - Does anybody care about the delay? | What ever happened to the promise to release a Photo CD toolkit API? | | | NeXT Embraces Photo CD Multimedia Imaging Technology | | SAN FRANCISCO, May 25, 1993 - [...] | | NeXT is also porting Kodak's Photo CD Access Development Toolkit | | for the NEXTSTEP environment. This toolkit, which will work like | | any other object-oriented toolkit for NEXTSTEP, will allow | | developers to incorporate Photo CD-based capabilities into any kind | | of application. | | NeXT payed Kodak ~$100K in licensing fees for the source code, and seems | to have decided to postpone releasing a toolkit API. The claim is lack | of resources, and a refocused strategy (away from the desktop). | | Does anyone have any other clues as to the reasons behind the extended | delay? -- Roberto SoftDesign, Inc.
From: gbol@custard.think.com (Gregory Lampshire) Newsgroups: comp.sys.next.programmer Subject: View method -invalidate::, how do I use this to my advantage? Date: 4 Dec 93 15:11:13 Organization: Thinking Machines Corporation Distribution: world Message-ID: <GBOL.93Dec4151113@custard.think.com> I have a rendering intensize app which requires expose rectangle consolidation. The View method -invalidate:: seems to be the best method to capture any invalidated areas when the view scrolls under an instance of ScrollView. It is not apparent to me how to consolidate rects within this method and insure that the last rect to be invalidated by the ScrollView is followed by a call to the rendering method with the accumulated rects. I have written some simple NXRegion functions (on integal rects) for collecting NXRects without the waste of NXUnionRect() ( two disjoint NXRects will create one large NXRect and defeats the invalidation scheme) but from the invalidate method, how do I know when to start rendering? What is the proper way to use [View invalidate::]? gregory
From: rfschtkt%banruc60.bitnet@cc1.kuleuven.ac.be Newsgroups: comp.sys.next.programmer Subject: Re: RTF Source problems in 3.2 Date: 4 Dec 1993 16:39:38 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9312042230.AA00400@flexus> LS, In my previous message, you have to replicate the command between parentheses in place of the $$cmd if you want to try (don't ask me why, I don't know). But it's really no use until a filter is found that doesn't produce those spurious bytes (and preferably includes a #file line). Why should I fret about .x possibly being RTF? - because it's so terribly NS-specific: it's easier to scan the extensions than inspecting the files themselves, when taking sources somewhere else; - because it's probably no solution for RTF with attachments, which is now stored in a(n .rtfd) wrapper rather than a file; - because not everything that one might like to be RTF is C source: what about yacc and lex, and other things as well, these should be able to easily mimic the functionality (my biggest argement); - because the set of allowed extensions for RTF appears to be restricted; - because make(1) relies on the extension, e.g., for a target copysourcenonrtf; - because non-source RTF still has the extension .rtf; - because by the same logic there is no use for .c: such a file can be renamed to .m and the compiler will treat it just the same, it will just be stricter in the allowed form if .c is used, which *is* useful; - maybe I forgot something. Counterarguments: - Hypertext links will break at richness migration. Well, then improve that part. Now they can't even point to their own file, one has to name that file, and they will break if the file is renamed. - It won't be possible to automatically generate a Makefile.dependencies. Well, it would be a first if 3.2 gets this to work at all, without any mention of RTF; and the present scheme is time-consuming and requires user intervention (to make depend). But hey, Makefile.dependencies doesn't have to include the RTF source: make will make that inference itself (right, I hope?). And some of my vocabulary was not (entirely) correct. Sorry for the confusion, Raf
From: jdawson@donald.cc.utexas.edu (John Dawson) Newsgroups: comp.sys.next.programmer Subject: Developing your own NEXTSTEP video drivers Date: 4 Dec 1993 19:25:07 -0600 Organization: The Kernel Group, Inc. Message-ID: <2drd9j$k81@donald.cc.utexas.edu> I'm looking to buy a PC to run NEXTSTEP soon. I want a Pentium machine with a PCI bus and a video adapter that uses the PCI bus. However, there are no PCI video drivers in NeXT's teeny weeny hardware compatibility list. So, what I want to know is this: How hard would it be to write my own PCI NEXTSTEP video driver? If I can get access to PCI docs, and I can get some technical info from the manufacturers of whatever video adapter I get (I'd like to get the PCI Viper, but I haven't decided yet), how long would it really take to use the Driver Kit to roll my own? I don't currently have access to a NeXT (and man oh man did I get system shock when I changed jobs and went from working on NeXTstations to working on X terminals ...) so I can't check out these things for myself right now: 1) How good is the Driver Kit in the first place? 2) How good is the documentation for it? 3) How good are the examples (if any) shipped with 3.2? (Very, VERY important!) When NeXT first announced the Driver Kit, NeXTaholics praised it up and down, claiming that it made it an order of magnitude easier to develop drivers. I'm skeptical; if it's so good, why aren't some of the incredibly talented programmers we have in the NEXTSTEP community writing their own and solving the device driver crisis we're currently in with the Intel platform? "If you want a nifty program, but it doesn't exist yet, write it." -- Real Programmer's motto If it would be feasible to do so, I might be willing to buy my wonderful god pod with some crappy generic ISA VGA adapter in addition to my godly video adapter, so I could run NEXTSTEP while developing the driver for the godly adapter. And besides, I'd be doing a community service, since I could give the driver away then. What's the scoop on this, guys? How does the Driver Kit look? Can this be done in a few days of spare time? ...jkd
From: Charles William Swiger <infidel+@CMU.EDU> Newsgroups: comp.sys.next.programmer Subject: Re: Determining "up" status of machines Date: Sun, 5 Dec 1993 05:42:47 -0500 Organization: Fifth yr. senior, Chemistry, Carnegie Mellon, Pittsburgh, PA Message-ID: <gh0PgbS00iUyE0oXwT@andrew.cmu.edu> In-Reply-To: <1993Dec3.215926.19921@fnbc.com> Excerpts from netnews.comp.sys.next.programmer: 3-Dec-93 Determining "up" status of .. by Drew Davidson@fnbc.com > Is there a way to programmatically determine if a remote machine (Sun, > NeXT, or whatever) is alive from a NeXT? Something like sending a single > ping packet would be appropriate, but I'm not much of a Unix weenie so I > don't exactly know how to do it. Well, you can send an ICMP protocol ECHO_REQUEST packet and see whether you get a reply, but, depending on what you're doing, you may want to save the ping overhead and simply try to open the connection (via RPC, or whatever you're doing) in the first place. Fork, and wait for a while in the main process, checking whether the child process gets a connection (remember that both child and parent process share the smae descriptors, so if the child exits cleanly, the parent can continue with a valid connection). If the child fails, do whatever's appropriate for the remote machine being down. -Chuck Charles William Swiger -- CMU...*splat*! | 1. You can't fly. --------------------------------------------+ 2. Cars are always real, even AMS & normal mail: infidel@cmu.edu | when they're not. Failing that: cs4w+@andrew.cmu.edu | 3. Police are not your friends. NeXTmail: chuck@cswiger.slip.andrew.cmu.edu | 4. Fire burns.
From: pkron@corona.com (Peter Kron) Organization: Corona Design, Inc., Seattle, WA Distribution: world Date: Sun, 5 Dec 1993 08:15:14 PST Message-ID: <1993Dec05.161514.441@corona.com> Newsgroups: comp.sys.next.programmer Subject: Re: returning NaN, Was: RUMOR-ATTACK.. References: <1993Dec3.171749.6303@afs.com> From: jaime@afs.com (Jaime Guerrero) > Obj-C (or is it NeXT's flavor only?) would have been a > safer language if it made messages to nil caused an > immediate runtime NULL-dereference fault, much like > dereferencing a function pointer that is NULL. Perhaps, but not necessarily The Right Thing(TM). A high percentage of methods return *self*, and are essentially procedure calls rather than functions returning ids. It isn't uncommon for the targets of the message to be optional. Your suggestions forces lots of gratuitous if ( anId) [anId doit]; In particular, annoying stuff like -free { if ( anId) [anId free]; if ( another ) [another free]; } Even C++ (that bastion of safetytude) allows delete aZeroPointer; Another case: I'm working on a project where it is necessary to follow chains of attributes. If all are present, the following works: [[[[source getAttr1] getAttr2] getAttr3] doSomething]; This would become if ( temp1 = [source getAttr1] && temp2 = [temp1 getAttr2] && temp3 = [temp2 getAttr3] ) [temp3 doSomething]; In fact this particular code is in C++, so I am forced to do the latter...it's a big pain. --- NeXTMail:Peter_Kron@corona.com Corona Design, Inc. P.O. Box 51022 Seattle, WA 98115-1022
Newsgroups: comp.sys.next.programmer From: pasqua@mv.us.adobe.com Subject: Re: Developing your own NEXTSTEP video drivers Message-ID: <1993Dec5.191329.4308@adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated References: <2drd9j$k81@donald.cc.utexas.edu> Date: Sun, 5 Dec 1993 19:13:29 GMT In article <2drd9j$k81@donald.cc.utexas.edu> jdawson@donald.cc.utexas.edu (John Dawson) writes: > I'm looking to buy a PC to run NEXTSTEP soon. I want a Pentium machine > with a PCI bus and a video adapter that uses the PCI bus. However, > there are no PCI video drivers in NeXT's teeny weeny hardware > compatibility list. So, what I want to know is this: > > How hard would it be to write my own PCI NEXTSTEP video driver? > > If I can get access to PCI docs, and I can get some technical info from > the manufacturers of whatever video adapter I get (I'd like to get the > PCI Viper, but I haven't decided yet), how long would it really take to > use the Driver Kit to roll my own? There is one hard thing about writing a display driver for NS/FIP. Getting adequate documentation for the device. Remember that in the current world, the Window Server treats the display card as a frame buffer. It does not use accelerator features, it does not require complex drivers. To write a display driver you have to be able to do a couple of things: 1. Get the card into a specific mode 2. Get the card out of that mode and back into a standard VGA mode 3. Probe the card for various features 4. Load the palette (if the card supports a loadable palette in the desired mode. Most don't support palette based gamma correction in 16 or 24 bit mode). Sounds easy right? Well it is once you get the information you need. Here are some of the obstacles: 1. All of the people who build display cards write BIOS code that does everything listed above in one form or another). Sounds good right? Wrong. The BIOS calls are not accessible from NEXTSTEP (they all run in 16 bit mode for one thing). The bigger problem is that since this is done for you, the details of how to do this are not usually spelled out very well in the documentation of the cards (there are exceptions; for instance, the QVision documentation was very good). 2. The most interesting modes for NEXTSTEP are 16 and 24 bit color at high resolutions. I can tell you that every card for which there is now a NEXTSTEP display driver had some sort of "gotcha" in those modes. That is, they have some sort of misfeature or complexity that makes writing the drivers an adventure. A good contact at the company that makes the card is invaluable. > I don't currently have access to a NeXT (and man oh man did I get system > shock when I changed jobs and went from working on NeXTstations to > working on X terminals ...) so I can't check out these things for > myself right now: > > 1) How good is the Driver Kit in the first place? > 2) How good is the documentation for it? > 3) How good are the examples (if any) shipped with 3.2? > (Very, VERY important!) > > When NeXT first announced the Driver Kit, NeXTaholics praised it up > and down, claiming that it made it an order of magnitude easier to > develop drivers. DriverKit is quite good actually. Because of the structure it provides, writing a new display driver is significantly simplified. It is a bit of a paradigm shift from the way people are used to writing drivers, but in the end, it is a win. To anyone who has the time and interest, I recommend reading the docs, trying it out, and forming your own opinions. > I'm skeptical; if it's so good, why aren't some of > the incredibly talented programmers we have in the NEXTSTEP community > writing their own and solving the device driver crisis we're currently > in with the Intel platform? Well, it may have to do with the fact that people have jobs, families, homes, and other interests that fill their copious free time. Also remember that DriverKit does not make it any easier to understand what the CRTC register set does on a display board. To write a display driver you need to have a certain level of understanding of how a display board works. Similarly for Ethernet drivers. DriverKit provides a superclass that you can write a subclass of for a specific board. This allows you to concentrate on board related tasks as opposed to higher level details that are the same for all ethernet boards. However, you have to understand the hardware specific details of the board for which you're writing a driver. DriverKit can't help with that. > "If you want a nifty program, but it doesn't exist yet, write it." > -- Real Programmer's motto > > If it would be feasible to do so, I might be willing to buy my > wonderful god pod with some crappy generic ISA VGA adapter in addition > to my godly video adapter, so I could run NEXTSTEP while developing the > driver for the godly adapter. And besides, I'd be doing a community > service, since I could give the driver away then. > > What's the scoop on this, guys? How does the Driver Kit look? Can > this be done in a few days of spare time? > > ...jkd Writing a display driver can not be done in a few days of spare time unless you have all the doc and contacts you need before you begin. Don't expect to be able to write your first display driver in a couple of days. I do believe that over time this will become easier and easier. The NeXT drivers now cover several chip families (including S3, ATI, and soon P9000[Q194]) and a variety of DACs. Plugging these compoenents together into new drivers will get easier over time. The long term answer is to make NEXTSTEP popular enough that the card vendors will write the drivers themselves as they do for Windows. Hope this helps, Joe Pasqua Adobe Systems Incorporated
Newsgroups: comp.sys.next.programmer From: wave@media.mit.edu (Michael B. Johnson) Subject: writing paletttable (sic) objects Message-ID: <1993Dec5.194352.11913@news.media.mit.edu> Sender: news@news.media.mit.edu (USENET News System) Organization: MIT Media Laboratory References: <1993Dec3.171749.6303@afs.com> <1993Dec05.161514.441@corona.com> Date: Sun, 5 Dec 1993 19:43:52 GMT Writing palatable, err, palettable objects (a note on avoiding indigestion) ---- This is now the second time this has bitten me, and in both cases it stood as one of the few bugs that a couple of hours trying my standard debugging tricks failed to uncover. So I pass it on with the hope that it will save someone else some gas. Here's the problem: You've developed some object which you intend to use in IB on a palette a lot. This object has the property that it has some malloc'ed string inside it. Let's call this variable "tclVarName". You do your stanard object palettization, which includes making sure that you implement, free, awake, read: and write:, so that your object will drag and drop and archive okay. You fire up IB with your new palette and start using your object. You drag a few out, inspect and manipulate them. Maybe you even cut and past a few. You go into "Test Interface Mode". You go out of "Test Interface Mode". repeat a few times. At some point in the former operations, IB crashes. It's very repeatable, but you can't get it to crash at exactly the same place. Of course you're running IB inside of gdb, but that's no help, since the stack is trashed. Since it's IB, you can't use MallocDebug, so you build a little app that loads nibs with these new objects in them, and you compile it with the library version of your palette and MallocDebug. You now can't crash this app at all, and MallocDebug (which showed me a bug once under 2.1, but hasn't since...) doesn't show any problems. Aaargh. So think. What's special about IB that this little app (compiled with the library which has the same code as the palette) doesn't have? Well,the only thing would be the Inspectors, right? So we take a look at the Inspector code. Hmm. There is no suspicious code there. You're stumped. Here's the problem: You implemented everything right, except you forgot about those seemingly innocent cut-and-paste operations you did in IB using your objects. When you did that, IB called copyFromZone:, and here's where you began to get toasted. See, the problem is that the default implementation just copies all your little instance variables into the copy's. This is fine for most things, but any private pointers (be they objects or regular ole nasty C pointers, like char*'s for strings), are bogus, because they're pointing back at the originals. So what's a poor boy to do? Let's say we have an object that has two instance variables, one tracking the string, and one giving you the size of the string buffer (so you can grow it as necessary). What do we need to implement? - copyFromZone:(NXZone *)zone { id newCopy = [super copyFromZone:zone]; [newCopy reinitializeStuffFromZone:zone]; [newCopy setTclVarName:tclVarName]; return newCopy; } - reinitializeStuffFromZone:(NXZone *)zone { tclVarName = (char *)NXZoneCalloc(zone, tclVarNameSize, sizeof(char)); return self; } I assume that you've already implemented a method called "setTclVarName" which takes a string and, after growing the buffer appropriately, copies the new string in. Exercise for the reader: why, beside cleanliness, do I make "reinitializeStuffFromZone:" be a separate method, and not perform the calloc() in the copyFromZone: method? If you can't answer that, you don't really understand what's going on... Anyway, I hope this helps somebody. I figured this out the hard way... This is a good example of something where source would have been immensely valuable - it's not that this is undocumented, just underdocumented, and very, very, very difficult to track down. - wave -- --> Michael B. Johnson -- wave@media.mit.edu --> MIT Media Lab -- Computer Graphics & Animation Group --> 20 Ames St. E15-023G -- (617) 547-0563 (day office) --> Cambridge, MA 02139 -- (617) 253-0663 (night office)
Newsgroups: comp.sys.next.programmer From: burchard@geom.umn.edu (Paul Burchard) Subject: -deepen (Was: writing paletttable (sic) objects) Message-ID: <CHLABM.J1w@news.cis.umn.edu> Sender: news@news.cis.umn.edu (Usenet News Administration) Organization: University of Minnesota, Twin Cities References: <1993Dec5.194352.11913@news.media.mit.edu> Date: Mon, 6 Dec 1993 01:15:44 GMT In article <1993Dec5.194352.11913@news.media.mit.edu> wave@media.mit.edu (Michael B. Johnson) writes: > So what's a poor boy to do? > > - copyFromZone:(NXZone *)zone > { > id newCopy = [super copyFromZone:zone]; > > [newCopy reinitializeStuffFromZone:zone]; > [newCopy setTclVarName:tclVarName]; > return newCopy; > } > > - reinitializeStuffFromZone:(NXZone *)zone > { > > tclVarName = (char *)NXZoneCalloc(zone, tclVarNameSize, sizeof(char)); > return self; > } That's why GNU Objective-C has a -deepen message built into the Object class. Just like you generally inherit and override -init rather than +new, in GNU Objective-C you can inherit and override -deepen rather than -copy. This separation has similar benefits to +alloc/-init, because again there are really two different objects performing parts of the operation. A sample benefit of this strategy is the ability to cleanly subclass classes that use funky memory management schemes. And now it's not just for GCC anymore :-). I've included a very simple Object category below that provides an NXZone-enhanced, deepen-based copy protocol. It basically systematizes MBJ's insight. (In retrospect I am sorry that the analog of +alloc is called -shallowCopy rather than -allocCopy, since the former may carry additional meaning. I'm guilty on this.) #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # Deepen.h # Deepen.m # This archive created: Sun Dec 5 18:58:12 1993 # By: Paul Burchard (The Geometry Center, University of Minnesota) export PATH; PATH=/bin:$PATH if test -f 'Deepen.h' then echo shar: will not over-write existing file "'Deepen.h'" else cat << \SHAR_EOF > 'Deepen.h' // Deepen.h // // Provides separate allocation and initialization for -copy under // the NeXT 3.0 runtime. Here -deepen is like -init for copies; // the receiver is a freshly allocated copy, and should replace // its pointer instance variables with duplicates. Most classes // only need to override -deepen. A simple -deepen method would // look like // // - deepen // { // if(![super deepen]) return nil; // anIvar = [anIvar copyFromZone:[self zone]]; // return self; // } // // -copy and -copyFromZone: are both defined in terms of -deepen, // but they allocate copies differently (conceptually, the first // uses -shallowCopy and the second uses -shallowCopyFromZone:). // Thus, by default, // // [obj copyFromZone:zone] // // equivalent to // // [[obj shallowCopyFromZone:zone] deepen] // // Other copy allocation schemes may now be easily supported by // overriding -copy to use custom copy allocation while still using // -deepen as before to fill the copy in. // // Note: this is fully compatible with existing class hierarchies // that do not define -deepen. Also, the inheritance protocol // defined by NeXT for copy operations is preserved, since the // methods really depend on each other as follows: // // -copy // -copyFromZone: // -shallowCopyFromZone: // -deepen // -shallowCopy // -shallowCopyFromZone: // // This file is public domain. Author: Paul Burchard. #import <objc/Object.h> @interface Object (Deepen) - copyFromZone:(NXZone *)zone; - copy; - shallowCopyFromZone:(NXZone *)zone; - shallowCopy; - deepen; @end SHAR_EOF fi # end of overwriting check if test -f 'Deepen.m' then echo shar: will not over-write existing file "'Deepen.m'" else cat << \SHAR_EOF > 'Deepen.m' // Deepen.m // // This file is public domain. Author: Paul Burchard. #import "Deepen.h" @implementation Object (Deepen) - copyFromZone:(NXZone *)zone { return [[self shallowCopyFromZone:zone] deepen]; } - shallowCopyFromZone:(NXZone *)zone { return object_copyFromZone(self, (unsigned)0, zone); } - copy { return [self copyFromZone:[self zone]]; } - shallowCopy { return [self shallowCopyFromZone:[self zone]]; } - deepen { return self; } // overridden by subclasses @end SHAR_EOF fi # end of overwriting check # End of shell archive exit 0 -- -------------------------------------------------------------------- Paul Burchard <burchard@geom.umn.edu> ``I'm still learning how to count backwards from infinity...'' --------------------------------------------------------------------
From: rcfa@cubiculum.com (Ronald C.F. Antony) Newsgroups: comp.sys.next.programmer Subject: vpas, VPcode and .vp files Date: 6 Dec 1993 02:45:16 GMT Organization: NeXT-BUG (NeXT at Brown University Group) Distribution: world Message-ID: <2du6bs$20c@tunix.cubiculum.com> There seems to be some new facility in 3.2 final: Video Pseudo Code. Look for the vpas (Video Pseudocode ASembler ?) and in the S3 driver examples. Does anyone know where this is documented? I just can find the files mentioned above. No clue how to use this stuff... -- Ronald ============================================================================== "The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man." G.B. Shaw ------------------------------------------------------------------------------ rcfa@cubiculum.com rcfa@ANDI.org rcfa@sleepy.cis.brown.edu | NeXT-mail welcome
Newsgroups: comp.sys.next.programmer From: wave@media.mit.edu (Michael B. Johnson) Subject: Re: writing paletttable (sic) objects Message-ID: <1993Dec6.025915.20087@news.media.mit.edu> Sender: news@news.media.mit.edu (USENET News System) Organization: MIT Media Laboratory References: <1993Dec3.171749.6303@afs.com> <1993Dec05.161514.441@corona.com> <1993Dec5.194352.11913@news.media.mit.edu> Date: Mon, 6 Dec 1993 02:59:15 GMT Just to follow up my own note: Everything I just said stands, except for the line about copyFromZone: being called to do a copy and paste. It actually only seems to be called when you matricize something in IB (i.e., alt drag out something that has a cell). So, you should still implement it the way I said, but this hasn't solved my current bug... Without boring people with the gorey details, has anyone ever written an object that was both a source and sink for a drag-and-drop operation and put it on a palette? In other words, taken the code from the NeXTWorld DragLab Example and palettized it? I've written lots of objects which are sinks for dragging that I have palettized (i.e. several different kinds of Well objects), but this is the first I've palettized that is also a source. The problem is that at some point after I do the first "test interface mode", IB crashes in that object's mouseDown:, as I call declareTypes:num:owner. I'm running out of ideas here... sigh. -- --> Michael B. Johnson -- wave@media.mit.edu --> MIT Media Lab -- Computer Graphics & Animation Group --> 20 Ames St. E15-023G -- (617) 547-0563 (day office) --> Cambridge, MA 02139 -- (617) 253-0663 (night office)
Newsgroups: comp.sys.next.programmer From: balu@jensen.cc.brandeis.edu (t balasubramanian) Subject: Help: Sliders and TextField Message-ID: <1993Dec6.050636.27422@news.cs.brandeis.edu> Sender: news@news.cs.brandeis.edu (USENET News System) Organization: Brandeis University Date: Mon, 6 Dec 1993 05:06:36 GMT Hi, I have matrix 0f 20 sliders and matrix of 20 textfields. I need to be able to sync both of them - i.e, if I change a particular slider value it should show up in corresponding text field and vice versa. There is probably a simple way of doing this rather than writing a method for each one of them seperatly. I would greatly appreciate if some one could tell me how to do this efficiently. Thanks email will be appreciated T. Balu
Newsgroups: comp.sys.next.programmer From: chisel.murphy.gun.com!samurai (Darcy Brockbank) Subject: nxman ... get NX-Object rtf docs quick on a tty Message-ID: <1993Dec6.051632.24155@gun.com> Sender: samurai@gun.com Organization: Gotham Users of NeXT, inc. Date: Mon, 6 Dec 1993 05:16:32 GMT So, yes, I'm doing NS development using X-Windows on an HP. Don't ask why. Anyway, I need to see the docs on NeXT objects every 10 minutes or so, and I hate typing cat /NextDeveloper/... and ignoring RTF code. So I wrote this horrible little script. It's not the best that it can be, but does accomplish its task. If you want to either write a better version, please do! Just give me a copy. You can use this thing like this: % nxman NXBundle It is case sensitive, but shouldn't be. Anyway, please post any new versions! - darcy #!/bin/csh -f # nxman... attempt to quickly dump the next documentation stuff # to a terminal # Author: darcy brockbank (darcy@hasc.ca) # this is free software. No support, you can do what you want with it. # remember, credit where credit is due! # if you make it better, and more useful, let me know so I can # get a copy! # usage: nxman <object> ... # this should be set from the command line as an option, # so you can look at the sysadmin stuff. Oh well... set searchdir=/NextLibrary/Documentation/NextDev/GeneralRef if ( $#argv == 0 ) then echo "Usage: nxman <object1> <object2> ..." echo " It *is* case sensitive\!" exit 0 endif # try to find a pager in the user's environment, if we # can't find it, try to do something intelligent. If not # just dump it. if ( ! $?MANPAGER ) then if ( ! $?PAGER ) then set pager=`which less` if ( pager == "less: Command not found." ) then set pager=`which more` if ( pager == "more: Command not found." ) then set pager="" endif endif else set pager="$PAGER" endif else set pager="$MANPAGER" endif # do a find on the file name. Note that we're going to miss # .rtfd files. Oh well, time vs. correctness tradeoff :-) echo -n "Searching..." set list=() foreach object ( $argv ) set list=( $list `find $searchdir -name $object.rtf -print` ) end echo "DONE." # show the output if ( "$pager" != "" ) then foreach file ( $list ) rtf-ascii $file | $pager end else foreach file ( $list ) rtf-ascii $file end endif
From: joe@retina.anatomy.upenn.edu (Joe Panico) Newsgroups: comp.sys.next.programmer Subject: NeXTSTEP programming guides? Date: 6 Dec 1993 10:30:51 GMT Organization: Dept. of Neuroscience, U. of Pennsylvania Distribution: world Message-ID: <2dv1kr$j9j@netnews.upenn.edu> Hi, I was able to learn Motif (X-toolkit) programming easily because there were many excellent general purpose Motif programming guides available. Most of these were tutuorial based. I'm having trouble finding similar books for NeXTStep programming. The documentation in the Devlopers Library was a little "thin". Are there any general NeXTStep programming guides commercially available? How bout tutorials on some ftp sites? Any clues much appreciated. Thanks. Joe Panico joe@retina.anatomy.upenn.edu
Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin From: david@zion.com(David J. Ferrero) Subject: pword? Indexing kit help. Message-ID: <1993Dec6.130312.8044@zion.com> Sender: david@zion.com Organization: Zion Software & Consulting Date: Mon, 6 Dec 1993 13:03:12 GMT No response the first time. Can someone tell me what the NEXTSTEP 3.0 + version of pword is. This was available in NEXTSTEP 2.x and has been replaced/removed. I don't know what pword did exactly so this info might help me determine the proper arguments for ixbuild in NEXTSTEP 3.x THANK YOU VERY MUCH. David Ferrero david@zion.com
From: gad@eclipse.its.rpi.edu (Garance A. Drosehn) Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin Subject: AlphaLock.c updated for NS-3.2 (disables shift-lock on NeXT hardware) Date: 6 Dec 1993 14:51:40 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Distribution: world Message-ID: <2dvgts$675@usenet.rpi.edu> Well, wonder of wonders, I actually got around to installing NS-3.2 on a NeXTstation last night. After about 10 minutes, I decided it was time to update AlphaLock... This version runs on NS-2.1 up to NS-3.2. You can run it one of three ways: alphalock enable alphalock disable alphalock The first one enables the stupid shift-lock feature if it's not already enabled. The second one disables it if it is currently enabled. The third one switches the state from whatever it is to whatever it is not. The source code for the new version is available via anonymous ftp to: host eclipse.its.rpi.edu directory NeXT/sources in file alphalock.c This program must run as root. It patches the kernel on the fly, which is a generally dangerous thing to do. It must run as setuid root (or be run by root at bootup). It only runs on NeXT hardware. I do not distribute any executable for it, as you should not be trusting me to give you an executable which runs as root and patches your kernel on the fly. No warantees expressed or implied. Enter at your own risk. Etc, etc, etc. -- Garance "I hate Shift-Lock" Drosehn = gad@eclipse.its.rpi.edu ITS Systems Programmer (handles NeXT-type mail) Rensselaer Polytechnic Institute; Troy NY USA
Newsgroups: comp.sys.next.programmer From: wissner@perlis.mcs.gvsu.edu (Jim Wissner) Subject: trouble overriding SOME methods in matrix subclass Message-ID: <1993Dec6.144633.1051@beech.csis.gvsu.edu> Sender: news@beech.csis.gvsu.edu Organization: Grand Valley State University Date: Mon, 6 Dec 1993 14:46:33 GMT Hello: I have a subclass of matrix that I'm using to manipulate icons... I wish to have actions for both double clicking and dragging. I have been able to get one or the other to work, but not both. For instance, I set double action and I then receive double-clicks no problem. But, overriding mouseDragged: has no effect. Somebody up the chain is not passing down the mouse dragged events (probably because this is a matrix and it does it's own stuff with mouse drags, i guess...). So, okay. I make my own event loop on a mouseDown. I now can grab the mouse dragged events no problem. But, I no longer get my double click actions (of course). Seems strange, if it isn't gonna give me mouseDragged:, why does it give me mouseDown:? Anyway, do I have to figure out how to get the double click from within my loop (this scares me), or is there some way I can make my object respond to the mouseDragged: message? jim. wissner@beech.csis.gvsu.edu
Newsgroups: comp.sys.next.programmer From: drew@fnbc.com (Drew Davidson) Subject: Re: Determining "up" status of machines Message-ID: <1993Dec6.150639.18458@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA References: <gh0PgbS00iUyE0oXwT@andrew.cmu.edu> Date: Mon, 6 Dec 93 15:06:39 GMT Thanks to all who replied. The consensus seems to be to fork() a subprocess and execute ping remoteMachineName 64 3 and report on the exit status of the process. Thanks! -- +--------------------------------+---------------------------------------+ | Drew Davidson | "Never ask a programmer if he'll have | | Software Guy | another cup of coffee because it's | | First National Bank of Chicago | nobody's damn business how much he's | | drew@fnbc.com (NeXTmail) | already had!" - me | +--------------------------------+---------------------------------------+
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: writing paletttable (sic) objects Message-ID: <1993Dec6.150221.470@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <1993Dec5.194352.11913@news.media.mit.edu> Date: Mon, 6 Dec 93 15:02:21 GMT In article <1993Dec5.194352.11913@news.media.mit.edu> wave@media.mit.edu (Michael B. Johnson) writes: > Writing palatable, err, palettable objects (a note on avoiding indigestion) > ---- > > - copyFromZone:(NXZone *)zone > { > id newCopy = [super copyFromZone:zone]; > > [newCopy reinitializeStuffFromZone:zone]; > [newCopy setTclVarName:tclVarName]; > return newCopy; > } > > - reinitializeStuffFromZone:(NXZone *)zone > { > > tclVarName = (char *)NXZoneCalloc(zone, tclVarNameSize, sizeof(char)); > return self; > } > > I assume that you've already implemented a method called "setTclVarName" > which takes a string and, after growing the buffer appropriately, copies > the new string in. Exercise for the reader: why, beside cleanliness, do I > make "reinitializeStuffFromZone:" be a separate method, and not perform > the calloc() in the copyFromZone: method? If you can't answer that, you > don't really understand what's going on... Hm.. don't know if I understood or not. But how about using allways: - setTclVarName:tclVarName { tclVarName = (char *)NXZoneCalloc([self zone], tclVarNameSize, sizeof(char)); return self; } instead of -reinitializeStuffFromZone: ? [self zone] will allways return the right zone. Whether your object was initialized with -copy or -copyFromZone: Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not (+49) 40 / 380 23-290 (Fax ) And am content with all
From: art@cubicsol.com (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: returning NaN, Was: RUMOR-ATTACK.. Date: 6 Dec 1993 17:26:13 GMT Organization: University of California, Santa Cruz Distribution: world Message-ID: <2dvpvl$j6n@darkstar.UCSC.EDU> References: <1993Dec05.161514.441@corona.com> In article <1993Dec05.161514.441@corona.com> pkron@corona.com (Peter Kron) writes: > From: jaime@afs.com (Jaime Guerrero) > > Obj-C (or is it NeXT's flavor only?) would have been a > > safer language if it made messages to nil caused an > > immediate runtime NULL-dereference fault, much like > > dereferencing a function pointer that is NULL. > > Perhaps, but not necessarily The Right Thing(TM). > > A high percentage of methods return *self*, and are essentially > procedure calls rather than functions returning ids. It isn't uncommon > for the targets of the message to be optional. Your suggestions forces > lots of gratuitous > > if ( anId) > [anId doit]; > > In particular, annoying stuff like > > -free > { > if ( anId) > [anId free]; > if ( another ) > [another free]; > } > While this style may seem gratuitous, when I come across code that doesn't check for a nil target and I know that the target can be nil under certain circumstances, I'm not confident that the developer really considered the consequences of a nil target when designing the code. If I see these checks, I at least know that the developer was aware that the target could be nil and therefore, is more likely to have designed her code to deal with the case of a nil target. > Even C++ (that bastion of safetytude) allows delete aZeroPointer; > > Another case: I'm working on a project where it is necessary to follow > chains of attributes. If all are present, the following works: > > [[[[source getAttr1] getAttr2] getAttr3] doSomething]; > > This would become > if ( > temp1 = [source getAttr1] > && temp2 = [temp1 getAttr2] > && temp3 = [temp2 getAttr3] > ) > [temp3 doSomething]; > > In fact this particular code is in C++, so I am forced to do the > latter...it's a big pain. But many methods returning self also return nil to indicate an error. So while the above style may be a pain in the ass, crashing apps are a bigger pain in the ass. In December, 1990, Communications of the ACM published an extensive study of the sources of bugs in applications, utilities, etc. The study concluded that writing the most bullet-proof code required the strict following of 8 guidelines among which was checking the return values of all functions that can return an indication of an error, even when an error is unlikely or the response to an error would be awkward. Yes, following these guidelines is more of a pain in the ass than assuming that the return values can never, under any circumstances, indicate an error condition. But one should always expect the unexpected because users are sure to create the unexpected. Many C programmers like to see how curt and compact code can be written. While this may be cute and while C (and Objective-C) may support it, this style frequently leads to problems down the road when the unforeseen occurs. How many would have predicted that sending a message with a float return to a nil target would have returned a non-zero value as it does on Intel hardware? Those of us who have written pain in the ass code are now finding it no pain in the ass whatsoever to recompile our code for Intel hardware. -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
From: gerti@tms-gmbh.de (Gerd Knops) Newsgroups: comp.sys.next.programmer Subject: Re: Kodak Photo CD API Date: 6 Dec 1993 11:56:54 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9312061727.AA03793@Cranach.tms-gmbh.de> There is at least some hidden support for pcd-Files. Through filter services, every pcd-file is accessable in NXImage. Gerd
From: Roland Telfeyan <roland@gomidas.mi.org> Newsgroups: comp.sys.next.programmer Subject: driver for TCP/IP over VME backplane? Date: 6 Dec 1993 17:55:44 GMT Organization: University of Michigan EECS Dept. Distribution: world Message-ID: <2dvrn0$77l@zip.eecs.umich.edu> Does there exist a driver for doing TCP/IP over the VME backplane? Roland --------------------------------------------------------------------- Roland Telfeyan Solid State Electronics Laboratory telfeyan@eecs.umich.edu University of Michigan EECS Department ---------------------------------------------------------------------
From: cmc@ltp.bcm.tmc.edu (Costa Colbert) Newsgroups: comp.sys.next.programmer Subject: raising an interrupt in another thread Date: 6 Dec 1993 18:42:05 GMT Organization: Baylor College of Medicine, Houston, Tx Distribution: world Message-ID: <2dvudt$i52@gazette.bcm.tmc.edu> I have a multithreaded application that uses the NX_DURING,NX_ERROR construct. It works properly in that errors caused in each thread raise within the proper thread. However, I need to have one thread (the front-end) raise an interrupt in another thread (the back end). I can do this using mach-level exceptions. However, I would rather not since I am already using the NX_RAISE exceptions. Does anyone know how this might be done using only the NX constructs? Thanks in advance, Costa Colbert cmc@ltp.bcm.tmc.edu
From: schultrj@blue (Richard J Schultz) Newsgroups: comp.sys.next.programmer,comp.sys.next.misc Subject: Re: `from` via finger Followup-To: comp.sys.next.programmer,comp.sys.next.misc Date: 6 Dec 1993 20:06:44 GMT Organization: Rose-Hulman Institute of Technology Distribution: world Message-ID: <2e03cl$ced@master.cs.rose-hulman.edu> References: <2dkbb9$fup@ftp.alleg.edu> Timothy J. Luoma (luomat@alleg.edu) wrote: : What I imagine is someone doing 'finger luomat@alleg.edu' and seeing my : project, plan, and then a 'from' listing.... : Any suggestions? What you basically have to do is 1) create a named pipe called .plan 2) create a shell script that constantly outputs 'from' to the named pipe 3) run the shell script in the background forever (including each time the machine is rebooted) Creating the named pipe can be a problem since NeXT's mknod won't do it. GNU mknod, so I hear, will work on the NeXT, so I guess that's one approach. There is a function call ( mkfifo(), I think) documented as POSIX ONLY, but I don't know what library to compile it with, so that doesn't do me a lot of good... anybody know? If you get GNU mknod, use it (read the docs, if necessary) to make a named pipe called ~/.plan Then make a script that goes something like: #/bin/csh -f while (1) from > ~/.plan end Then run the script in the background and try it out. I know this is one way it can be done, but I haven't done it recently - the script might not be quite right, but it's something like that. --------------------------------------------------------------------- Rick Schultz schultrj@po.nextwork.rose-hulman.edu "Omnia ioctl est."
Newsgroups: comp.sys.next.programmer From: Greg_Anderson@afs.com (Gregory H. Anderson) Subject: Re: Arrow key commands Message-ID: <1993Dec6.173018.6893@afs.com> Sender: greg@afs.com References: <2dqj1o$6fv@steffi.demon.co.uk> Date: Mon, 6 Dec 1993 17:30:18 GMT In article <2dqj1o$6fv@steffi.demon.co.uk> robert@steffi.demon.co.uk (Robert Nicholson) writes: > bussarj@alleg.edu (LightMaster) wrote > > Does anyone know of a way to get an app to respond when an > >arrow key event is recognized? I've been trying to figure this one > >out for weeks and can't do it. E-mail responses are appreciated if > >anyone can help me. > > Check in - keyDown:(NXEvent *)anEvent and look at the NXEvent record's > keycode member. Ack! Ack! Ack! Unless you are writing an X driver, don't ever ever ever never ever never (sounds like George Bush talking about taxes, doesn't it?) use theEvent->data.key.keyCode. It's bad and evil and completely non-portable across keyboards. Just stop it! 8^) The correct way is to look at two event elements: theEvent->data.key.charSet - for arrow keys, this will be NX_SYMBOLSET theEvent->data.key.charCode - then look for the following values: case 0xac - left arrow case 0xad - up arrow case 0xae - right arrow case 0xaf - down arrow You may wish to #define constants for these values. It is important to distinguish arrow keys using charSet, because there are ASCII characters (in the NX_ASCIISET) and dingbat characters (in the NX_DINGBATSET) that map to these charCodes, too. -- Gregory H. Anderson | "History is the fiction we invent to Revisionist Autobiographer | persuade ourselves that events are Anderson Financial Systems | knowable and that life has order and greg@afs.com (NeXTmail OK) | direction." -- Calvin & Hobbes, 7/19/93
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: simple gdb question Message-ID: <CHFxBr.y6@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems Date: Fri, 3 Dec 1993 03:50:14 GMT there has to be a simple way to do this in gdb, but I havent found it yet. how can you examine the return value of the previous (just completed) method invocation? that is, if you've just completed the line [foo bar]; and want to check the return value is there a better solution than rewriting it as dummy = [foo bar]; and rebuilding so you can print dummy after the call -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: Re: Chess.app Message-ID: <CHHv1q.1p0@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems References: <sgzvqte00iV6M9sFAy@andrew.cmu.edu> Date: Sat, 4 Dec 1993 04:56:13 GMT "Thomas G. Mon" <tm31+@andrew.cmu.edu> writes > In the infopanel for Chess.app is says to contact NeXT for the source > code release information. its on the Educational CD ROM disk that was (and perhaps still is) available from NeXT for $25. try 1-800-TRY-NeXT -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
From: glenn@rightbrain.com (Glenn Reid) Newsgroups: comp.lang.postscript,comp.sys.next.programmer,comp.sys.mac.programmer Subject: Need source for TIFF to EPS converter Message-ID: <1402@rtbrain.rightbrain.com> Date: 5 Dec 93 01:30:26 GMT Sender: glenn@rightbrain.com Followup-To: comp.lang.postscript Hi folks, I know there is at least one, and I think there are two, public domain TIFF -> EPS converters, one by Sam Leffler, the other by Jeff Poskanzer as part of his portable bitmap library. I currently have no way to access FTP servers, and would love to get a copy of one or both of these libraries. If you have them, or could get them from some FTP site and mail them to me, please drop me a line, and I'll buy you a beer the next time you're in the Bay Area. I can handle any UNIX or Mac formats, compressed, or whatever. I can also receive NeXT mail. Thanks much, Glenn Reid -- Glenn Reid glenn@rightbrain.com Woodside, California Shameless Plug: buy my book, "Thinking in PostScript"
Newsgroups: comp.sys.next.programmer From: mc2@TorreyPinesCA.ncr.com (Mike Cox) Subject: IXkit - Help with Query Language... Message-ID: <1993Dec6.213421.642@TorreyPinesCA.ncr.com> Organization: NCR (Torrey Pines Development Center) Disclaimer: This posting does not necessarily reflect the opinions of NCR. Date: Mon, 6 Dec 93 21:34:21 GMT I'm looking for pointers to example programs that demonstrate the use of the Indexing Kit Query Language. In particular I'm trying to use "within" but with no success. When I try to compile my program the linker can't resolve "within" and I am linking with the IXkit library in /usr/lib... When I nm'ed the library I could find no reference to anything from the Query Language stuff and in fact could find nothing in the header files either... -- --Mike \ Bones heal, michael.cox@torreypinesca.ncr.com / and chicks dig scars...
Newsgroups: comp.sys.next.software,comp.sys.next.programmer From: rashid@degas.northstar.com (Navruze Rashid) Subject: Help with Gupta adaptor! Message-ID: <CHMuB7.s6@northstar.com> Keywords: Has anyone gotten this to work? Sender: usenet@northstar.com Organization: NorthStar Technologies, inc. Distribution: usa Date: Mon, 6 Dec 1993 21:28:17 GMT We are using the Gupta database on NS/FIP along with the Gupta adaptor supplied as part of the Parabase package. However, we are running into some fundamental problems with it which leads us to believe that this shipped product isn't, umm.. completely functional. Or even usable as is. First of all, it cannot deal with DBBinder structures and perform selects. After setting up the DBBinder (ala DBBinder example under the /NextDeveloper/Examples/DatabaseKit/Binder directory) and the correct record prototype, it chokes with the error message under gdb: Unknown error code 6001 in NXReportError This happens on the [binder select] operation. (Note that [binder fetch works ok.) Next, with the DBModeler app and creating a new DBModule, it fails to recognize ints, floats and other data types, and defaults everything to type double. This was a matter of some concern, since our database contains > 1600 fields and to modify them all manually using point and click would take a while. So we opened up the ascii version of the dbmodel (the .dbmodela file) and just for kicks compared with the Sybase version of the same dbmodel. Voila! It seems the Sybase version has much more type information within it. Here are the two versions for a single table within the Pubs demo database (the Gupta version was recreated): Sybase version ========================================================================= (discounts, discounts, "", N, ( (discount, discount, "", N, d, float, "", "", N, N, N, N), (discounttype, discounttype, "", N, "*", varchar, "", "", N, N, N, N), (highqty, highqty, "", N, i, smallint, "", "", N, N, N, N), (lowqty, lowqty, "", N, i, smallint, "", "", N, N, N, N), (stor_id, stor_id, "", N, "*", char, "", "", N, N, N, N))), Gupta version ========================================================================= (DISCOUNTS, DISCOUNTS, "", N, ( (DISCOUNT, DISCOUNT, "", N, d, "", "", "", N, N, N, N), (DISCOUNTTYPE, DISCOUNTTYPE, "", N, "*", "", "", "", N, N, N, N), (HIGHQTY, HIGHQTY, "", N, d, "", "", "", N, N, N, N), (LOWQTY, LOWQTY, "", N, d, "", "", "", N, N, N, N), (STOR_ID, STOR_ID, "", N, "*", "", "", "", N, N, N, N))), As you can see the second (Gupta) version has next to no type checking (other than setting all numeric types as double) and none of the additional type information which is included in the Sybase version of the dbmodel. Needless to say, this doesn't work for us. Does anyone have any ideas on how to fix this? Or even better (hope, hope) does anyone know how to write an adaptor or maybe have one written already for Gupta? All comments, suggestions and ideas welcome. Email rashid@northstar.com Thanks, Ruze
Newsgroups: comp.sys.next.programmer From: byer@mv.us.adobe.com (Scott Byer) Subject: Re: simple gdb question In-Reply-To: alex@cs.umd.edu's message of Fri, 3 Dec 1993 03:50:14 GMT Message-ID: <BYER.93Dec6151923@birch.mv.us.adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated, Mountain View, CA References: <CHFxBr.y6@genoa.com> Date: Mon, 6 Dec 1993 23:19:23 GMT In article <CHFxBr.y6@genoa.com> alex@cs.umd.edu (Alex Blakemore) writes: > there has to be a simple way to do this in gdb, but I havent > found it yet. how can you examine the return value of the previous > (just completed) method invocation? > that is, if you've just completed the line [foo bar]; and want > to check the return value is there a better solution than > rewriting it as dummy = [foo bar]; and rebuilding so you can > print dummy after the call Nothing machine-independent. But you can check the register which contains the return value. For Moto systems, it's $d0. I'm not sure what it is on Intel, but it's prbably some really sick name like $ax. Do an "info reg" to see all the registers gdb knows about. You can always dissasemble the last few lines of a function on any platform to see where it sticks it's return value. Eventually, you'll end up with a repetoire of hidey-holes. (it's $o0 on Sparcs, etc...) -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
From: izumi@pinoko.berkeley.edu (Izumi Ohzawa) Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: OpenStep is Not X-windoze Date: 7 Dec 1993 00:14:53 GMT Organization: University of California, Berkeley Distribution: world Message-ID: <2e0htt$s21@agate.berkeley.edu> References: <mg7b6iINNm8u@exodus.Eng.Sun.COM> In article <mg7b6iINNm8u@exodus.Eng.Sun.COM> price@chuckles.Eng.Sun.COM (Chuck Price) writes: >The DPS engine provided by Adobe does not define access to input >devices. This is already provided in the base X protocol. How do we implement hit detection on a PostScript-defined path on X/DPS, if the mouse inputs are handled with X side of things? Is that something we have to give up? -- Izumi Ohzawa [ $@Bg_78^=;(J ] USMail: University of California, 360 Minor Hall, Berkeley, CA 94720 Telephone: (510) 642-6440 Fax: (510) 642-3323 Internet: izumi@pinoko.berkeley.edu (NeXTMail OK)
Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer From: byer@mv.us.adobe.com (Scott Byer) Subject: Re: OpenStep is Not X-windoze In-Reply-To: izumi@pinoko.berkeley.edu's message of 7 Dec 1993 00:14:53 GMT Message-ID: <BYER.93Dec6182451@birch.mv.us.adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated, Mountain View, CA References: <mg7b6iINNm8u@exodus.Eng.Sun.COM> <2e0htt$s21@agate.berkeley.edu> Date: Tue, 7 Dec 1993 02:24:51 GMT Folks, it's really not that big a deal if you ignore alpha channel. For all of NeXT's additional operator, there is an equivalent way of getting the same information through X. It may not be as easy or as pretty, but that should end up being hidden by the AppKit as long as you don't use those specific operators in your apps. There may be addition server round trips involved in this, but hey, you don't expect OpenStep/X to perform as well as a full blown NEXTSTEP, did you? Besides, for every piece of information that can be had through X, a little bit of work could allow accessing that same information through Display PostScript. Most likely, with little work, OpenStep can be completely compatible with the current "NeXT only" operators. As a worst case scenario, let's consider what happens to hit detection without the mouse operators. You'd have to make an AppKit call to get the mouse coordinate, then you can call your hit-detection wrap with two additional parameters. An extra round trip, to be sure, but not much programming pain. On top of all this, *nobody* is sure what's going to really end up happening. -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
From: scott@nic.gac.edu (Scott Hess) Newsgroups: comp.sys.next.programmer Subject: Re: returning NaN, Was: RUMOR-ATTACK... Date: 6 Dec 93 20:35:30 Organization: Is a sign of weakness Distribution: world Message-ID: <SCOTT.93Dec6203530@nic.gac.edu> References: <SCOTT.93Dec1183252@nic.gac.edu> <1993Dec02.163506.710@corona.com> <SCOTT.93Dec3164456@nic.gac.edu> <2dojp6$4ea@transfer.stratus.com> In-reply-to: bbeckwit@carrock.hw.stratus.com's message of 3 Dec 1993 23:57:26 GMT [Thanks everyone for all the postings - I think I almost have a clue, now. Though why I even _want_ to know is beyond me ... -scott] In article <2dojp6$4ea@transfer.stratus.com>, bbeckwit@carrock.hw.stratus.com (Bob Beckwith) writes: >In article <SCOTT.93Dec3164456@nic.gac.edu> > scott@nic.gac.edu (Scott Hess) writes: >> >>[For a leadin - I am interested in knowing _why_ this happens, > > The basic problem arises when attempting to send a message to nil >and the expected return value is floating point (not type id, or int >or whatever). On Intel, this results in a NaN and your program blows >up. On Motorola, you get a 0.0. > > I had suggested that perhaps the run-time had omitted setting >up the proper return value (0.0) for this case. In fact, the return >value is *not* setup, but there is a very good rationale for this. >In i486 architecture, floating point operations are carried out >on a >>>stack<<<. You push operands, perform a series of operations, >and pop off your result. Wonderful. However... this is also the >crux of the problem. The run time can not arbitrarily place a 0.0 >on the stack unless it is sure you're going to remove it. Interesting, and it makes some things clear. Then again, what about: float barf( float val) { ... return something; } ... barf( 0.0); Hmm, nevermind, that question answers itself. [Or does it? Certainly in this case, since it's a stack "it just works" and this call bothers no equations ... but, does it leave something on the stack? Worse, what about bla=(barf(),10)? Eeek, wasn't this why I stopped coding assembler Lo! these many years ago? I think I'll look for that ignorance I had lying around ...] [There is a decent solution, of course. With ANSI prototyping, the compiler knows enough to drop the value from the stack if it's not used. Anyhow ...] [And it does leave one more question - where's that NaN come from? Is it just a stack-underflow type of thing? If so, then the problem is deeper than it appears ...] >As others have pointed out, the message dispatcher does not know >what the expected return type of the message is, and therefore >can not push a 0.0 on the FP stack "just in case". So you're stuck. >At least your stuck if you use the current calling conventions. Hmm. Would this be a problem, then: @implementation Bla : Object { float something; } ... -(float)value { return something; } ... id obj=[self getThatBlaInstance]; unsigned ret=[obj value]; ... obj will be an instance of Bla - but, since I declared it as an id, the _compiler_ doesn't know this. In the earlier barf() case, I think that the compiler _could_ conceivably handle that float on the stack easily enough. But, in this case, it cannot. So, would this case be a potential problem on the order of treating the return value of a message to nil as a float? I suspect it might be. > There exists the possibility that a re-architected calling >convention could work around this, but the same person that >suggested this (someone at NeXT), also told me that other solutions >also made *all* messages more expensive. So, before you mount >your charger and start lobbying NeXT, you need to ask yourself >how much am I willing to pay for this, and is it worth it, >considering that there exist work arounds for this (as unappealing >as they may seem). Hmm, I'm not convinced of this [for this particular case]. Consider ... the base of the problem is that we're returning floats in one place and ints in another. Why not return both in a single register? For all calls which _don't_ have anything to do with the float, this is no hairy deal, because they just work as normal. For those few calls returning a float, there is now the added overhead of moving the float from the floating stack to a register, and back at the end if we want to use it in an expression. But such overhead should be trivial compared to the message dispatch itself. [This doesn't, of course, consider potential loss of precision converting from the internal FPU form to a 32-bit value - but that's something else dangerous to rely on. It also doesn't address a host of other problems, such as handling of doubles and How Things Work On Other Platforms. In other words, CHECK FOR NIL!] [Another reason to check for nil. The code: if( anObj) { [anObject aMessage]; } runs faster in the nil case than: [anObject aMessage]; because there's a non-zero overhead for nil messaging. On the other hand, it also adds a non-zero overhead for the non-nil case. Depending on frequency of call (ie, if called once or three times in a run, who cares?) and likelihood of the value being nil (often high with NeXT's emphasis on delaying creation and loading until need for performance reasons), this may be worthwhile.] Later, -- scott hess <scott@nic.gac.edu> <I can handle NeXTMail, but don't like it> 12901 Upton Avenue South, #326 Burnsville, MN 55337 (612) 895-1208 Anytime! <C++: ... One Language to bring them all and in the darkness bind them> <In the Land of Redmond where the Shadows lie.>
From: sanguish@digifix.com Newsgroups: comp.sys.next.announce,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.advocacy,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.bugs,comp.sys.next.programmer,comp.sys.next.marketplace Subject: Quick Guide to the comp.sys.next.* newsgroups Date: 6 Dec 1993 23:23:17 -0500 Organization: Next Announcements Message-ID: <2e10fl$9lk@digifix.digifix.com> The current menagerie: 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. comp.sys.next.announce Announcements of general interest to the NeXT community (new products, FTP submissions, user group meetings, commercial announcements etc.) The NEXTSTEP FAQs are posted here monthly as well. 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. 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. 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. 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. 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!!! comp.sys.next.programmer Questions and discussions of interest to NEXTSTEP programmers. This is primarily a forum for advanced technical material. The NEXTSTEP programmer FAQs are posted here. 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. comp.sys.next.software This is a place to talk about [third party] software products that run on NEXTSTEP systems. comp.sys.next.sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. related Newsgroups 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. comp.lang.objective-c Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. 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. --------------------------------------------------------------------- Thanks to Michael Ross at antigone.com, the main NEXTSTEP groups are now available as a mailing list digest as well. next-nextstep-d next-advocacy-d next-announce-d next-bugs-d next-hardware-d next-marketplace-d next-misc-d next-programmer-d next-software-d next-sysadmin-d (For a full description, send mail saying LISTS to <digestif@antigone.com>). The subscription syntax is essentially the same as LISTSERV's. To subscribe, send a message to <digestif@antigone.com> saying: SUB Listname YourName Example: SUB next-hardware-d John Doe -------------------------------------------------------------------- Written by: Eric P. Scott eps@toaster.SFSU.EDU Minor editing: Scott Anguish sanguish@digifix.com Additions from: Greg Anderson (Greg_Anderson@afs.com) and Michael Pizolato (Michael_Pizolato@afs.com)
From: Charles William Swiger <infidel+@CMU.EDU> Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy Subject: Re: OpenStep is Not X-windoze Date: Tue, 7 Dec 1993 06:11:03 -0500 Organization: Fifth yr. senior, Chemistry, Carnegie Mellon, Pittsburgh, PA Message-ID: <kh16H7200iV0Q0un0p@andrew.cmu.edu> In-Reply-To: <BYER.93Dec6182451@birch.mv.us.adobe.com> Excerpts from netnews.comp.sys.next.advocacy: 7-Dec-93 Re: OpenStep is Not X-windoze by Scott Byer: > On top of all this, *nobody* is sure what's going to really end up > happening. A good point. However, please note that some of the people at NeXT do read these groups; hearing things like "I wanna do this...", or "wouldn't it be nice if OpenStep meant..." may very well give them some new ideas (different perspective, perhaps). I would imagine that many of the important points people have discussed on the net are the points that NeXT as a company is working to resolve in order to codify the OpenStep specification and work towards NS 3.3 (or NS 4.0). Feedback from the net has and will continue to help make NeXT better than they would be otherwise. As always, IMHO.... -Chuck Charles William Swiger -- CMU...*splat*! | 1. You can't fly. --------------------------------------------+ 2. Cars are always real, even AMS & normal mail: infidel@cmu.edu | when they're not. Failing that: cs4w+@andrew.cmu.edu | 3. Police are not your friends. NeXTmail: chuck@cswiger.slip.andrew.cmu.edu | 4. Fire burns.
Newsgroups: comp.sys.next.programmer,comp.sys.next.misc From: cedman@princeton.edu (Carl Edman) Subject: Re: `from` via finger In-Reply-To: schultrj@blue's message of 6 Dec 1993 20:06:44 GMT Message-ID: <CEDMAN.93Dec6201437@capitalist.princeton.edu> Followup-To: comp.sys.next.misc Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University References: <2dkbb9$fup@ftp.alleg.edu> <2e03cl$ced@master.cs.rose-hulman.edu> Date: Tue, 7 Dec 1993 01:14:37 GMT In article <2e03cl$ced@master.cs.rose-hulman.edu> schultrj@blue (Richard J Schultz) writes: Timothy J. Luoma (luomat@alleg.edu) wrote: : What I imagine is someone doing 'finger luomat@alleg.edu' and seeing my : project, plan, and then a 'from' listing.... : Any suggestions? What you basically have to do is 1) create a named pipe called .plan 2) create a shell script that constantly outputs 'from' to the named pipe 3) run the shell script in the background forever (including each time the machine is rebooted) 4) When you have done that show your admin how many system files you had to change, how many resources that constantly dormant process uses and how frequently it will hang machines when running over NFS. Then ask him if he wouldn't rather install a better finger/fingerd combination which will do all this automatically, cheaper, more flexibly and without all the hassle. If that doesn't work threathen to tell all your friends about how wonderful that named pipe trick is. Sysadmins can be so reasonable sometimes. Carl Edman
From: Charles William Swiger <infidel+@CMU.EDU> Newsgroups: comp.sys.next.programmer Subject: Re: returning NaN, Was: RUMOR-ATTACK... Date: Tue, 7 Dec 1993 08:06:20 -0500 Organization: Fifth yr. senior, Chemistry, Carnegie Mellon, Pittsburgh, PA Distribution: world Message-ID: <wh17zAy00iV000ust_@andrew.cmu.edu> In-Reply-To: <SCOTT.93Dec6203530@nic.gac.edu> Excerpts from netnews.comp.sys.next.programmer: 6-Dec-93 Re: returning NaN, Was: RUM.. by Scott Hess@nic.gac.edu > Interesting, and it makes some things clear. Then again, what > about: > > float barf( float val) > { > ... > return something; > } > ... > barf( 0.0); > > Hmm, nevermind, that question answers itself. [Or does it? > Certainly in this case, since it's a stack "it just works" and this > call bothers no equations ... but, does it leave something on the > stack? Worse, what about bla=(barf(),10)? Eeek, wasn't this why > I stopped coding assembler Lo! these many years ago? I think I'll > look for that ignorance I had lying around ...] Where return values from functions are stored depends on the calling conventions of the hardware in question. On the m68k, *both* int and float return values are stored in d0. Other machines may store floating point return values on the stack, or in a floating pointer register, etc. > [There is a decent solution, of course. With ANSI prototyping, > the compiler knows enough to drop the value from the stack if it's > not used. Anyhow ...] Yes. That's the main reason for argument prototyping; it can catch some of the more subtle bugs about doing the wrong things with argument lists. Unfortunately, you lose this typechecking when you have variable argument lists and/or you are dealing with a function with potentially variable return types, as is the case with a message to nil. Note that the typical convention has the callee restore the stack pointer correctly so that the calling function has everything pointing correctly and you won't actually corrupt the stack if you return an extra value there when you shouldn't have. The calling convention on many machines also has an additional pointer called the frame pointer that helps the function to distinguish its automatic variables. Note that gcc has an option '-fomit-frame-pointer' which: -fomit-frame-pointer Don't keep the frame pointer in a register for func- tions that don't need one. This avoids the instruc- tions to save, set up and restore frame pointers; it also makes an extra register available in many func- tions. It also makes debugging impossible on most machines. > [And it does leave one more question - where's that NaN come from? > Is it just a stack-underflow type of thing? If so, then the problem > is deeper than it appears ...] > >>As others have pointed out, the message dispatcher does not know >>what the expected return type of the message is, and therefore >>can not push a 0.0 on the FP stack "just in case". So you're stuck. >>At least your stuck if you use the current calling conventions. You should be able to leave a floating return value on the stack when the callee restores the stack pointer (and the registers the callee uses, if you're doing callee-save). Note that this does take additional time if your caller is not going to check the return value, but I'm not convinced that this is that big a deal (how many calls to nil objects actually happen in real programs?) >> There exists the possibility that a re-architected calling >>convention could work around this, but the same person that >>suggested this (someone at NeXT), also told me that other solutions >>also made *all* messages more expensive. So, before you mount >>your charger and start lobbying NeXT, you need to ask yourself >>how much am I willing to pay for this, and is it worth it, >>considering that there exist work arounds for this (as unappealing >>as they may seem). I agree that having all messages return an alternate 'phantom' return value would make everything slower; however, you can handle the specific case of sending a nil message without penalizing all message calls. Hmm, that's assuming that we're using caller-save. If we're using callee-save, then at the least, the caller must expect the standard return registers to get overwritten. This makes everyone's code potentially less efficient because you'd have to spill (save temporarily) the return register(s) before each function call if your function is complex enough to want to use all available registers. > Hmm, I'm not convinced of this [for this particular case]. Consider > ... the base of the problem is that we're returning floats in one > place and ints in another. Why not return both in a single register? Your hardware may simply not allow you to do that. Note that the reason people haven't had problems with this before on black hardware is that the m68k does return both int and float in the same place, so storing a single value there does work correctly. This is not the case on an Intel machine. > For all calls which _don't_ have anything to do with the float, > this is no hairy deal, because they just work as normal. For those > few calls returning a float, there is now the added overhead of > moving the float from the floating stack to a register, and back > at the end if we want to use it in an expression. But such overhead > should be trivial compared to the message dispatch itself. The problem is that you have the potential of making *every* function call (not message, mind you, but function call) slower. Returning floats on the stack means that they'll do the correct thing in the specific case of a nil-object message, but that means that hardware that can return floats in registers are slower than necessary. Returning both a float and an int for just a nil message will work if both can go into registers, but you've made every function call have to deal with one more register being overwritten after each function call. > [This doesn't, of course, consider potential loss of precision > converting from the internal FPU form to a 32-bit value - but that's > something else dangerous to rely on. It also doesn't address a > host of other problems, such as handling of doubles and How Things > Work On Other Platforms. In other words, CHECK FOR NIL!] Doubles and 64 bit integers are returned in integer registers d0 and d1 on the m68k. This means that callers must expect both d0 & d1 to be clobbered even for objects/functions returning void or else they would be incorrect in the case of a message to an object (call to a function) that tried to return something anyway. -Chuck Charles William Swiger -- CMU...*splat*! | 1. You can't fly. --------------------------------------------+ 2. Cars are always real, even AMS & normal mail: infidel@cmu.edu | when they're not. Failing that: cs4w+@andrew.cmu.edu | 3. Police are not your friends. NeXTmail: chuck@cswiger.slip.andrew.cmu.edu | 4. Fire burns.
From: Uwe Hoffmann Newsgroups: comp.sys.next.programmer Subject: lex, yacc and makefile blues Date: 7 Dec 1993 11:00:15 GMT Organization: Forschungszentrum Informatik (FZI), Karlsruhe, Germany Message-ID: <2e1nnv$7b0@gate.fzi.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Keywords: lex yacc makefile basicrules.make Art Isbell reported a bug concerning lex, yacc and basicrules.make back during 3.1 PR1. Well, NS 3.2 is here and unfortunately the fix didn t make it into this release either. So I tried to fix it. It s a good exercise if you want to understand how make works. But... I ran into trouble. I hope some of you "make - gurus" in the net can help me. First the bug: Take /NextDeveloper/Examples/AppKit/Graph and make the project, (with the target debug for example). It should succeed. Now touch expr.ym and make the project again. You ll get the following error: yacc -d /disk/ROBOT0S4-2H/home/hoffmann/Junk/Graph/expr.ym mv y.tab.c sym/expr.m mv: sym/expr.m: rename: No such file or directory *** Exit 1 Stop. *** Exit 1 Stop. The problem is in basicrules.make, in the suffix rule ym.m .ym.h: @(initdir=`pwd`; \ cd $(SYM_DIR); \ cmd="$(YACC) $(YFLAGS) $$initdir/$*.ym" ; echo $$cmd; $$cmd ; \ cmd="$(MV) $(MVFLAGS) y.tab.c $*.m" ; echo $$cmd; $$cmd ; \ cmd="$(CP) $(MVFLAGS) y.tab.h $*.h" ; echo $$cmd; $$cmd ) If you put an echo for $* in it, you ll see the first time $*.m expands to expr.m, which is ok. The second time it expands to sym/expr.m which causes the error because we already are in the subdir sym and there is no file sym/sym/expr. I don t know why $* acts differently. $* is the prerequisite of the current target and if you use it alone it always expands correctly to expr. If $*.m is used the following happens: If the current target is expr.m $*.m expands the first time to expr.m and the second time to sym/expr.m. -- uwe....................................hoffmann@fzi.de (nextmail ok)
From: Tim Bissell Newsgroups: comp.sys.next.programmer Subject: Re: Determining "up" status of machines Date: 7 Dec 1993 12:30:43 GMT Organization: Swiss Bank Corporation, High Timber St, London, UK Message-ID: <2e1t1j$6vn@gpo.gb.swissbank.com> References: <1993Dec6.150639.18458@fnbc.com> In article <1993Dec6.150639.18458@fnbc.com> drew@fnbc.com (Drew Davidson) writes: > Thanks to all who replied. The consensus seems to be to fork() a subprocess > and execute > > ping remoteMachineName 64 3 > Well, I don't know about other NeXTs, but the version of ping on my 3.1 black machine returns 0 status for success and failure... A shell script front end for ping, grepping for 100% may do the trick. ----------------------------------------------------------- bisselt:~> /etc/ping jutland 64 3 ; echo ======= $? PING jutland: 64 data bytes 72 bytes from 155.145.239.116: icmp_seq=0. time=99. ms 72 bytes from 155.145.239.116: icmp_seq=1. time=1. ms 72 bytes from 155.145.239.116: icmp_seq=2. time=1. ms ----jutland PING Statistics---- 3 packets transmitted, 3 packets received, 0% packet loss round-trip (ms) min/avg/max = 1/33/99 ======= 0 bisselt:~> /etc/ping sparky 64 3 ; echo ======= $? PING sparky: 64 data bytes ----sparky PING Statistics---- 3 packets transmitted, 0 packets received, 100% packet loss ======= 0 ----------------------------------------------------------- tim -- Work: bisselt@gb.swissbank.com | +44 71 711 2984 Home: tim@ursidae.demon.co.uk | +44 480 451 022
From: ra34@bonjour.cc.columbia.edu (Rajiv Arya) Newsgroups: comp.sys.next.programmer Subject: Opening a Shell Terminal, from within a program Date: 7 Dec 1993 15:47:44 GMT Organization: Columbia University Sender: ra34@cunixa.columbia.edu Message-ID: <2e28j0$omf@apakabar.cc.columbia.edu> I have a little problem. I am designing a client server based tool. I have written it all and it works fine. But I have to manually open a new terminal and run each server in them, and the start the Main user interface, (from IB) I would like to know how do I open up a terminal shell, with a specified program running inside, such that I can manipulate it (the terminale / window) to move it to front, when the server is at work, and when I wish to exit a I kill all of the shells. I have been bogged down with this problem for sometime now and all of the on-line documentation does not help any advice, would help tremendously. thanks Rajiv ra34@cunixa.columbia.edu
From: pkron@corona.com (Peter Kron) Organization: Corona Design, Inc., Seattle, WA Distribution: world Date: Tue, 7 Dec 1993 08:14:44 PST Message-ID: <1993Dec07.161444.388@corona.com> Newsgroups: comp.sys.next.programmer Subject: Re: returning NaN, Was: RUMOR-ATTACK.. References: <2dvpvl$j6n@darkstar.UCSC.EDU> From: art@cubicsol.com (Art Isbell) > But many methods returning self also return nil to > indicate an error. So while the above style may be > a pain in the ass, crashing apps are a bigger pain in > the ass. It's a rather big jump from optional references which may be nil to ignoring error returns from critical functions. Of course, errors should be checked. Assertions should be used. (Errors that occur rarely may be better handled via exception mechanisms...but that's another thread.) But the situations I described, such as if ( id ) [id free]; vs. [id free]; are not error situations. The two approaches are defined to be identical. > In December, 1990, Communications of the ACM published > an extensive study of the sources of bugs in > applications, utilities, etc. The study concluded that > writing the most bullet-proof code required the strict > following of 8 guidelines among which was checking the > return values of all functions that can return an > indication of an error, even when an error is unlikely > or the response to an error would be awkward. Yes, > following these guidelines is more of a pain in the ass > than assuming that the return values can never, under > any circumstances, indicate an error condition. Many studies have also included code complexity as a significant factor, in which the number of "if" statements is a factor. I also believe readability is also a key factor. The latter is a subjective issue, which we don't need to agree on. --- NeXTMail:Peter_Kron@corona.com Corona Design, Inc. P.O. Box 51022 Seattle, WA 98115-1022
Newsgroups: comp.sys.next.programmer From: derek@nosloc.com (Derek Collison) Subject: Avery labels? Message-ID: <CHoD1D.1DG@nosloc.com> Sender: derek@nosloc.com (Derek Collison) Organization: Nosloc Software Technologies Date: Tue, 7 Dec 1993 17:10:25 GMT I would like to be able to print to avery labels in a project I am doing. Mostly mailing labels and such. Does anyone know of any public code that could be used as a starter? Thanks, =derek -- Derek Collison <---> derek@nosloc.com Nosloc Software Technologies
Newsgroups: comp.sys.next.software,comp.sys.next.programmer,comp.sys.next.advocacy From: lorinr@altsys.com (Lorin Rivers III) Subject: Re: Features of Tailor.app that I want to see in all other apps. Message-ID: <1993Dec7.163759.22040@altsys.com> Keywords: Tailor, PostScript, Editor Organization: Altsys Corporation, Richardson, TX References: <2djjrv$khj@agate.berkeley.edu> <CHGCzI.3wG@well.sf.ca.us> Date: Tue, 7 Dec 1993 16:37:59 GMT In article <CHGCzI.3wG@well.sf.ca.us> ludwig@well.sf.ca.us (Michael Rutchik) writes: > >>In all drawing apps I have used, in order to edit members of a >>grouped object, you have to ungroup it first. Tailor lets you >>"enter" a group and let you edit its members without breaking the >>grouping. I want to see that in Virtuoso and other apps. > >This feature is actually handled quit gracefully in Virtuoso. Using Alt and >Alt-Shift key modifiers it is quite easy to select individual points, >objects and subgroups of a group without ungrouping. One can also modify >elements within a compound path (Join Elements) without having to split the >elements. Don't forget the Control key which allows you to pick behind elements... >While we're wishing though, I would like to see Virtuoso implement one >aspect of Illustrators text handling which would make it so much more >pleasurable to use: Let me have the option to simply click the text tool >anywhere and start typing without creating a text-block with tabs! While the >formatting options available within that fancy text-block are a god-send >when appropriate, they're a big pain in the butt most other times. First of all, Virtuoso only has 2 2 ``modes'' for text. There's the standard ``container'' mode (tab ruler, etc) and ``text-on-a-path'' mode. Tab rulers always appear with text containers. If you have the ``Changing Elements Changes Defaults'' preference on (the default) then when you change a containters' tab settings, subsequent containers have that same setting, so if you aren't expecting that then it could cause problems. I'd like to hear how ``Just clicking and typing would work'' to you. >Also multi-color (3 or more) blends and the blend-drag tool would be welcome >additions. Oh, and just one more thing: can we save the file with an eps >header instead of creating a separate eps file? > >Also, I could mention Illustrator 5 compatability but Lorin informs me >they're already working on it. (Freehand for NS/FIP?) > >Anyhow, I look forward to anymore postings on tailor. It is beginning to >sound like my next purchase. > >Michael Rutchik >Clorox Graphics >ludwig@well.sf.ca.us Also, I welcome any feature suggestions anyone might have... -- Lorin Rivers Lorin_Rivers@altsys.com NEXTSTEP Sales Manager 214.680.2060 269 W. Renner Parkway NeXT Mail Expected Richardson, Texas 75080 I said it, not my boss
Newsgroups: comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.advocacy From: lorinr@altsys.com (Lorin Rivers III) Subject: Re: Features of Tailor.app that I want to see in all other apps. Message-ID: <1993Dec7.164004.22128@altsys.com> Organization: Altsys Corporation, Richardson, TX References: <CHGCzI.3wG@well.sf.ca.us> <2dn1t7$gbl@agate.berkeley.edu> Date: Tue, 7 Dec 1993 16:40:04 GMT In article <2dn1t7$gbl@agate.berkeley.edu> izumi@pinoko.berkeley.edu writes: >In article <CHGCzI.3wG@well.sf.ca.us> ludwig@well.sf.ca.us (Michael Rutchik) writes: > >>>In all drawing apps I have used, in order to edit members of a >>>grouped object, you have to ungroup it first. Tailor lets you >>>"enter" a group and let you edit its members without breaking the >>>grouping. I want to see that in Virtuoso and other apps. >> >>This feature is actually handled quit gracefully in Virtuoso. Using Alt and >>Alt-Shift key modifiers it is quite easy to select individual points, >>objects and subgroups of a group without ungrouping. One can also modify >>elements within a compound path (Join Elements) without having to split the >>elements. > >Thank you and Lorin for pointing it out for me. Actually, I was missing >a whole array of good features that are activated with Alt, Shift, Control >keys with mouse ops. Better read the FM sometime. > >However, it doesn't seem possible to add a new object into a group, i.e., >not everything you can do outside a group can be done into grouped objects >in Virtuoso. So, I think there is still a point for the concept of "entering" >a group, which will make the entered group a new playing field where you >can do everything you can outside. I'm not following you here, could you go into more detail and maybe I can help you out! > > >-- >Izumi Ohzawa [ $@Bg_78^=;(J ] >USMail: University of California, 360 Minor Hall, Berkeley, CA 94720 >Telephone: (510) 642-6440 Fax: (510) 642-3323 >Internet: izumi@pinoko.berkeley.edu (NeXTMail OK) -- Lorin Rivers Lorin_Rivers@altsys.com NEXTSTEP Sales Manager 214.680.2060 269 W. Renner Parkway NeXT Mail Expected Richardson, Texas 75080 I said it, not my boss
From: art@cubicsol.com (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: lex, yacc and makefile blues Date: 7 Dec 1993 19:46:08 GMT Organization: University of California, Santa Cruz Distribution: world Message-ID: <2e2mi0$5et@darkstar.UCSC.EDU> References: <2e1nnv$7b0@gate.fzi.de> In article <2e1nnv$7b0@gate.fzi.de> Uwe Hoffmann writes: > > Art Isbell reported a bug concerning lex, yacc and basicrules.make > back during 3.1 PR1. > Well, NS 3.2 is here and unfortunately the fix didn t make it into this > release either. > Here's how I've been living with lex and yacc under NS 3.2: 1. Add the following to Makefile.preamble: # tell yacc to produe a y.tab.h file, which has #defines for the token types YFLAGS = -d # Additional files to be removed by `make clean' OTHER_GARBAGE = parser.m y.tab.h lexer.m 2. Add the following to Makefile.postamble: # dependencies to force lex'ing before yacc'ing, so things build correctly lexer.m: y.tab.h y.tab.h: parser.m flex is much nicer that the lex provided in NEXTSTEP (or any lex for that matter), so I'd recommend using flex rather than lex. Using flex for commercial code in which source is not provided is not prohibited as it is with bison (the last time I checked). So if you use flex and install it in /usr/local/bin, add the following to Makefile.postamble: LEX = /usr/local/bin/flex 3. I add *.ym and *.lm to Other Sources in ProjectBuilder so that PB's Finder will search these files as well as other source files. 4. Then you'll need to modify /NextDeveloper/Makefiles/app/basicrules.make. The following patch works for me although other fixes are probably possible: *** basicrules.make.orig Wed Jul 14 15:08:25 1993 --- basicrules.make Tue Oct 26 15:49:04 1993 *************** *** 58,66 **** @(initdir=`pwd`; \ cd $(SYM_DIR); \ cmd="$(YACC) $(YFLAGS) $$initdir/$*.y" ; echo $$cmd; $$cmd ; \ ! cmd="$(MV) $(MVFLAGS) y.tab.c $*.c" ; echo $$cmd; $$cmd ; \ ! cmd="$(CP) $(MVFLAGS) y.tab.h $*.h" ; echo $$cmd; $$cmd ; \ cd $$initdir ; \ cmd="$(CC) $(ALL_CFLAGS) -I$$initdir -c $(SYM_DIR)/$*.c -o $(OFILE_DIR)/$*.o" ; \ echo $$cmd ; $$cmd ) --- 58,67 ---- @(initdir=`pwd`; \ cd $(SYM_DIR); \ cmd="$(YACC) $(YFLAGS) $$initdir/$*.y" ; echo $$cmd; $$cmd ; \ ! file=$*; \ ! cmd="$(MV) $(MVFLAGS) y.tab.c $$file.c" ; echo $$cmd; $$cmd ; \ cd $$initdir ; \ + cmd="$(CP) $(MVFLAGS) $(SYM_DIR)/y.tab.h $(SYM_DIR)/$*.h" ; echo $$cmd; $$cmd ; \ cmd="$(CC) $(ALL_CFLAGS) -I$$initdir -c $(SYM_DIR)/$*.c -o $(OFILE_DIR)/$*.o" ; \ echo $$cmd ; $$cmd ) *************** *** 68,83 **** @(initdir=`pwd`; \ cd $(SYM_DIR); \ cmd="$(YACC) $(YFLAGS) $$initdir/$*.y" ; echo $$cmd; $$cmd ; \ ! cmd="$(MV) $(MVFLAGS) y.tab.c $*.c" ; echo $$cmd; $$cmd ; \ ! cmd="$(CP) $(MVFLAGS) y.tab.h $*.h" ; echo $$cmd; $$cmd ) .ym.o: @(initdir=`pwd`; \ cd $(SYM_DIR); \ cmd="$(YACC) $(YFLAGS) $$initdir/$*.ym" ; echo $$cmd; $$cmd ; \ ! cmd="$(MV) $(MVFLAGS) y.tab.c $*.m" ; echo $$cmd; $$cmd ; \ ! cmd="$(CP) $(MVFLAGS) y.tab.h $*.h" ; echo $$cmd; $$cmd ; \ cd $$initdir ; \ cmd="$(CC) $(ALL_CFLAGS) -I$$initdir -c $(SYM_DIR)/$*.m -o $(OFILE_DIR)/$*.o" ; \ echo $$cmd ; $$cmd ) --- 69,87 ---- @(initdir=`pwd`; \ cd $(SYM_DIR); \ cmd="$(YACC) $(YFLAGS) $$initdir/$*.y" ; echo $$cmd; $$cmd ; \ ! file=$*; \ ! cmd="$(MV) $(MVFLAGS) y.tab.c $$file.c" ; echo $$cmd; $$cmd ; \ ! cd $$initdir ; \ ! cmd="$(CP) $(MVFLAGS) $(SYM_DIR)/y.tab.h $(SYM_DIR)/$*.h" ; echo $$cmd; $$cmd ) .ym.o: @(initdir=`pwd`; \ cd $(SYM_DIR); \ cmd="$(YACC) $(YFLAGS) $$initdir/$*.ym" ; echo $$cmd; $$cmd ; \ ! file=$*; \ ! cmd="$(MV) $(MVFLAGS) y.tab.c $$file.m" ; echo $$cmd; $$cmd ; \ cd $$initdir ; \ + cmd="$(CP) $(MVFLAGS) $(SYM_DIR)/y.tab.h $(SYM_DIR)/$*.h" ; echo $$cmd; $$cmd ; \ cmd="$(CC) $(ALL_CFLAGS) -I$$initdir -c $(SYM_DIR)/$*.m -o $(OFILE_DIR)/$*.o" ; \ echo $$cmd ; $$cmd ) *************** *** 85,98 **** @(initdir=`pwd`; \ cd $(SYM_DIR); \ cmd="$(YACC) $(YFLAGS) $$initdir/$*.ym" ; echo $$cmd; $$cmd ; \ ! cmd="$(MV) $(MVFLAGS) y.tab.c $*.m" ; echo $$cmd; $$cmd ; \ ! cmd="$(CP) $(MVFLAGS) y.tab.h $*.h" ; echo $$cmd; $$cmd ) .l.o: @(initdir=`pwd`; \ cd $(SYM_DIR); \ cmd="$(LEX) $(LFLAGS) $$initdir/$*.l" ; echo $$cmd; $$cmd ; \ ! cmd="$(MV) $(MVFLAGS) lex.yy.c $*.c" ; echo $$cmd; $$cmd ; \ cd $$initdir ; \ cmd="$(CC) $(ALL_CFLAGS) -I$$initdir -c $(SYM_DIR)/$*.c -o $(OFILE_DIR)/$*.o" ; \ echo $$cmd ; $$cmd ) --- 89,105 ---- @(initdir=`pwd`; \ cd $(SYM_DIR); \ cmd="$(YACC) $(YFLAGS) $$initdir/$*.ym" ; echo $$cmd; $$cmd ; \ ! file=$*; \ ! cmd="$(MV) $(MVFLAGS) y.tab.c $$file.m" ; echo $$cmd; $$cmd ; \ ! cd $$initdir ; \ ! cmd="$(CP) $(MVFLAGS) $(SYM_DIR)/y.tab.h $(SYM_DIR)/$*.h" ; echo $$cmd; $$cmd ) .l.o: @(initdir=`pwd`; \ cd $(SYM_DIR); \ cmd="$(LEX) $(LFLAGS) $$initdir/$*.l" ; echo $$cmd; $$cmd ; \ ! file=$*; \ ! cmd="$(MV) $(MVFLAGS) lex.yy.c $$file.c" ; echo $$cmd; $$cmd ; \ cd $$initdir ; \ cmd="$(CC) $(ALL_CFLAGS) -I$$initdir -c $(SYM_DIR)/$*.c -o $(OFILE_DIR)/$*.o" ; \ echo $$cmd ; $$cmd ) *************** *** 101,113 **** @(initdir=`pwd`; \ cd $(SYM_DIR); \ cmd="$(LEX) $(LFLAGS) $$initdir/$*.l" ; echo $$cmd; $$cmd ; \ ! cmd="$(MV) $(MVFLAGS) lex.yy.c $*.c" ; echo $$cmd; $$cmd ) .lm.o: @(initdir=`pwd`; \ cd $(SYM_DIR); \ cmd="$(LEX) $(LFLAGS) $$initdir/$*.lm" ; echo $$cmd; $$cmd ; \ ! cmd="$(MV) $(MVFLAGS) lex.yy.c $*.m" ; echo $$cmd; $$cmd ; \ cd $$initdir ; \ cmd="$(CC) $(ALL_CFLAGS) -I$$initdir -c $(SYM_DIR)/$*.m -o $(OFILE_DIR)/$*.o" ; \ echo $$cmd ; $$cmd ) --- 108,122 ---- @(initdir=`pwd`; \ cd $(SYM_DIR); \ cmd="$(LEX) $(LFLAGS) $$initdir/$*.l" ; echo $$cmd; $$cmd ; \ ! file=$*; \ ! cmd="$(MV) $(MVFLAGS) lex.yy.c $$file.c" ; echo $$cmd; $$cmd ) .lm.o: @(initdir=`pwd`; \ cd $(SYM_DIR); \ cmd="$(LEX) $(LFLAGS) $$initdir/$*.lm" ; echo $$cmd; $$cmd ; \ ! file=$*; \ ! cmd="$(MV) $(MVFLAGS) lex.yy.c $$file.m" ; echo $$cmd; $$cmd ; \ cd $$initdir ; \ cmd="$(CC) $(ALL_CFLAGS) -I$$initdir -c $(SYM_DIR)/$*.m -o $(OFILE_DIR)/$*.o" ; \ echo $$cmd ; $$cmd ) *************** *** 116,122 **** @(initdir=`pwd`; \ cd $(SYM_DIR); \ cmd="$(LEX) $(LFLAGS) $$initdir/$*.lm" ; echo $$cmd; $$cmd ; \ ! cmd="$(MV) $(MVFLAGS) lex.yy.c $*.m" ; echo $$cmd; $$cmd ) # dbcompiler relate rules: --- 125,132 ---- @(initdir=`pwd`; \ cd $(SYM_DIR); \ cmd="$(LEX) $(LFLAGS) $$initdir/$*.lm" ; echo $$cmd; $$cmd ; \ ! file=$*; \ ! cmd="$(MV) $(MVFLAGS) lex.yy.c $$file.m" ; echo $$cmd; $$cmd ) # dbcompiler relate rules: -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
From: art@cubicsol.com (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: returning NaN, Was: RUMOR-ATTACK.. Date: 7 Dec 1993 19:58:52 GMT Organization: University of California, Santa Cruz Distribution: world Message-ID: <2e2n9t$5p0@darkstar.UCSC.EDU> References: <1993Dec07.161444.388@corona.com> In article <1993Dec07.161444.388@corona.com> pkron@corona.com (Peter Kron) writes: > But the situations I > described, such as > > if ( id ) > [id free]; > > vs. > [id free]; > > are not error situations. The two approaches are defined to be > identical. > Sure, they're not error conditions and you'll never cause an app to crash by freeing a nil object, but I think it's a readability or documentation issue (a minor one, I'll admit). If I see that the author has checked for an object being nil before freeing it, then I have some confidence that she was at least aware that it *might* be nil and other code that would be buggy with a nil object is less likely to exist. But if I see that no check for a nil object was made, then I don't have any idea whether the author even considered the possibility of a nil object. And as Scott Hess has pointed out, the following is even "safer" in that it may prevent crashing should the freed object be erroneously messaged later: if (anObject != nil) { anObject = [anObject free]; } -- Art Isbell Cubic Solutions NeXT Registered Developer NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
From: tiggr@viper.es.ele.tue.nl (Pieter Schoenmakers) Newsgroups: comp.sys.next.programmer Subject: Re: simple gdb question Date: 07 Dec 1993 09:27:44 GMT Organization: Eindhoven University of Technology, The Netherlands Message-ID: <TIGGR.93Dec7102744@viper.es.ele.tue.nl> References: <CHFxBr.y6@genoa.com> <BYER.93Dec6151923@birch.mv.us.adobe.com> In-reply-to: byer@mv.us.adobe.com's message of Mon, 6 Dec 1993 23:19:23 GMT In article <BYER.93Dec6151923@birch.mv.us.adobe.com> byer@mv.us.adobe.com (Scott Byer) writes: In article <CHFxBr.y6@genoa.com> alex@cs.umd.edu (Alex Blakemore) writes: > there has to be a simple way to do this in gdb, but I havent > found it yet. how can you examine the return value of the previous > (just completed) method invocation? Nothing machine-independent. But you can check the register which contains the return value. For Moto systems, it's $d0. I'm not sure what it is on Intel, but it's prbably some really sick name like $ax. Do an "info reg" to see all the registers gdb knows about. You can always dissasemble the last few lines of a function on any platform to see where it sticks it's return value. Eventually, you'll end up with a repetoire of hidey-holes. (it's $o0 on Sparcs, etc...) NOT! Just set a breakpoint at the `offending' line. Then, step into the function whose return value you want to see and type `finish'. --Tiggr (gdb) help finish Execute until selected stack frame returns. Upon return, the value returned is printed and put in the value history.
Newsgroups: comp.sys.next.programmer From: bks@herbie.ircam.fr (Bennett Smith) Subject: Re: Determining "up" status of machines Message-ID: <1993Dec7.190532.12804@ircam.fr> Sender: usenet@ircam.fr (USENET News System) Organization: IRCAM References: <1993Dec6.150639.18458@fnbc.com> Date: Tue, 7 Dec 93 19:05:32 GMT Sadly, you can't use the ping trick mentioned in Drew Davidson's summary for machines on your local network. I tried ping remoteMachineName 64 3 on a machine which exists in our local network, but was down at the time, and after 12 seconds it exited successfully. It seems that ping always gives the success exit for known local machines, even if said machines are down. (On the other hand, if the machine is unknown, ping gives a failure exit, as desired.) Long ago I fiddled with a program, based on ping, to find out what machines were up on the local network, but there was some annoying bug, and finally I ran out of time and came up with the following gross kluge: ruptime | egrep -s '$remoteMachineName *up' This returns true if remoteMachineName on the local network is up and running the rwho daemon. It has the advantage of not loading the net. It has a plethora of disadvantages: 1) Your machines must be running the rwho daemon, and have the ruptime command. 2) There is a latency of a few minutes after a machine goes down before ruptime catches on; when a machine comes up, the latency is shorter. 3) It will break if ruptime output format changes 4) You call this programming? However, it's so cheap and dirty, I can't resist it. signature: Permission denied
From: bkr@drdhh.hanse.de (Bjoern Kriews) Newsgroups: comp.sys.next.software,comp.sys.next.programmer,comp.sys.next.advocacy Subject: Re: Features of Tailor.app that I want to see in all other apps. Date: 6 Dec 1993 10:35:41 +0100 Organization: Digital Island Message-ID: <bkr.755170306@drdhh> References: <2djjrv$khj@agate.berkeley.edu> Keywords: Tailor, PostScript, Editor izumi@pinoko.berkeley.edu (Izumi Ohzawa) writes: >[1] Multiple Views into a single document. >All apps I have seen let you see and manipulate a document in one >view/window at a time. E.g., you have to zoom in to see details >and zoom out to see the whole picture, and often zoom/unzoom is a >time consuming operation. Tailor lets you see a single document >via multiple views in separate windows, e.g., one zoomed, another In Text-Apps, I'd like to have a feature like in Sun's XView Editor, split documents, if someone is condering to implement such stuff. Greetings, Bjoern btw: Valentino Kyriakides ported XView (including these tools to the NeXT, look at cs.orst.edu or other (ftp.informatik.uni-muenchen.de) archive sites. Please respect uni-muenchen's time policy. -- bkr@drdhh.hanse.de - Bjoern Kriews - Stormsweg 6 - D-22085 Hamburg [76] - FRG DEBUG: fisendcmd: Sending command "EY" (Taylor UUCP)
Newsgroups: comp.sys.next.software,comp.sys.next.programmer,comp.sys.next.advocacy From: ludwig@well.sf.ca.us (Michael Rutchik) Subject: Re: Features of Tailor.app that I want to see in all other apps. Message-ID: <CHop2E.1Ls@well.sf.ca.us> Keywords: Tailor, PostScript, Editor Sender: news@well.sf.ca.us Organization: The Whole Earth 'Lectronic Link, Sausalito, CA References: <2djjrv$khj@agate.berkeley.edu> <CHGCzI.3wG@well.sf.ca.us> <1993Dec7.163759.22040@altsys.com> Date: Tue, 7 Dec 1993 21:30:13 GMT Re: Click & Type in Virtuoso Lorin, Play around with Illustrator 5 for a few minutes. I think you'll see what I mean. As you probably know, I'm dealing mostly with Packaging Graphics. Quite often I simply need to add a line or two of type in some remote corner of a package. The two ways of doing this in virtouso involve either a big text box or the need to first create a path (or two) and link the type to it. Both of these methods are very cumbersome in such an instance. Seeing as how such instances occur 30 - 50 times a day this is my #1 feature request. I forget if I mentioned it earlier, but another much needed feature would be the ability to save as an eps but still be able to edit the file in Virtuoso. Like Illustrators save with eps header option. This would be especially valuable in NS since the exact same file could be edited by me and viewed through drag & drop by any other NS app. The only trick I see here would be to get Virtuoso to recognize .eps files that were really .vrt files. (it's beginning to sound alot like tailor :-) Last but not least! Why doesn't Virtuoso use the edit menus spell checking capabilities?!?! One of my primary resons for getting NS in-house was because of the highly sensible common spell checker. The place I need it most is in your app. I hope this has been of interest to the group. I decided to post it here to give some more visibility to this outstanding app. Thanks, Michael Rutchik ludwig@well.sf.ca.us
Newsgroups: comp.sys.next.programmer,comp.os.os2.programmer.misc,comp.groupware From: cuilla@black_silk (Chris Cuilla) Subject: Anyway to make NEXTSTEP app work with a Lotus Notes server? Message-ID: <1993Dec7.213017.16127@il.us.swissbank.com> Keywords: lotus notes Sender: root@il.us.swissbank.com (Operator) Organization: Swiss Bank Corporation CM&T Division Date: Tue, 7 Dec 1993 21:30:17 GMT The subject just about says it all. Is there anyone out there that knows about, or is working on a way for NEXTSTEP apps (custom and otherwise) to work (tightly) with a Lotus Notes server? -- Chris Cuilla --- NEXTSTEP Developer chris@its.com --------------------------------------------------------------------- "There's no such thing a as 'part-time' perfectionist."
From: glenn@rightbrain.com (Glenn Reid) Newsgroups: comp.lang.postscript,comp.sys.next.programmer,comp.sys.mac.programmer Subject: Re: Need source for TIFF to EPS converter Message-ID: <1408@rtbrain.rightbrain.com> Date: 7 Dec 93 18:49:43 GMT References: <1402@rtbrain.rightbrain.com> Sender: glenn@rightbrain.com Followup-To: comp.lang.postscript [my request for TIFF->EPS source] I've got what I need now. Thanks to the many kind folks who responded. -- Glenn Reid glenn@rightbrain.com Woodside, California Shameless Plug: buy my book, "Thinking in PostScript"
Newsgroups: comp.sys.next.programmer From: smith@maple.gvsu.edu (Jeff Smith) Subject: Step through code application: Can I use GDB??/Existing code?? Message-ID: <1993Dec7.213227.23935@beech.csis.gvsu.edu> Sender: news@beech.csis.gvsu.edu Organization: Grand Valley State University Date: Tue, 7 Dec 1993 21:32:27 GMT I'm going to be working on an Extended Operating Systems class lab writing simulators in NeXTSTEP. With these simulators we would like to have the student enter a code solution. We then want to be able to compile and then step through that code, so that the student can see what's going on, and get the value of certain variables. Does anyone know if its possible to somehow use gdb to do these things, while not having any terminal window, GDB panel, etc, active. Another possibility would be the existance of code that does just this. If anyone knows of a possible solution, please let me know!! Thanks, Jeff Smith Grand Valley State University
Newsgroups: comp.sys.next.programmer From: emurphy@cs.uno.edu (Edward Murphy) Subject: (?) Sending a message to the WorkSpace Message-ID: <1993Dec7.231717.18343@cs.uno.edu> Sender: news@cs.uno.edu Organization: University of New Orleans Date: Tue, 7 Dec 1993 23:17:17 GMT Howdy. I need a pointer or two for a programming solution to the follow situation. I am using NS 2.1 and Interface Builder to produce an App whose only function is to put a panel with a message on the screen and then log the user out. I am ausuming that I have to send a message to the WorkSpace to do this. I have been examining the appkit files but thus far have not found quit the solution to my situation. Any help would be greatly appreciated. Ed Murphy
Newsgroups: comp.sys.next.programmer From: gfin@cyber.psych.ualberta.ca (Gary Finley) Subject: Intel I/O port access from NeXTSTEP Message-ID: <1993Dec7.223646.10779@kakwa.ucs.ualberta.ca> Sender: news@kakwa.ucs.ualberta.ca Organization: University Of Alberta, Edmonton Canada Date: Tue, 7 Dec 1993 22:36:46 GMT I'd like to try changing the operating mode that the NS 3.1 Cirrus 542X video driver uses. The standard Cirrus mode is 1024x762x2 *interlaced*. I know that the chipset and my monitor can both cope with a non- interlaced raster at this resolution, so I'd like to try changing the card mode (after the driver is loaded at boot time) with a little program of my own. I'm in the process of tracking down information on the registers that I'll have to diddle to do this. I know that VGA registers are mapped into the PCs I/O address space (as opposed to the memory address space), having done lots of VGA diddling in the DOS domain. DOS compilers provide special instructions for reading & writing I/O address locations ( inportb() and outportb() in Turbo/Borland C++), but I don't know how these operations can be done in NeXTSTEP. Does the modified GCC in NS 3.1/FIP contain instructions for I/O-port manipulations? -------------------------------------------- Gary Finley, Univ of Alberta Psychology Dept. gfin@psych.ualberta.ca (NeXTmail welcome!)
Newsgroups: comp.sys.next.programmer From: byer@mv.us.adobe.com (Scott Byer) Subject: Re: simple gdb question In-Reply-To: tiggr@viper.es.ele.tue.nl's message of 07 Dec 1993 09:27:44 GMT Message-ID: <BYER.93Dec7181038@birch.mv.us.adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated, Mountain View, CA References: <CHFxBr.y6@genoa.com> <BYER.93Dec6151923@birch.mv.us.adobe.com> <TIGGR.93Dec7102744@viper.es.ele.tue.nl> Date: Wed, 8 Dec 1993 02:10:38 GMT In article <TIGGR.93Dec7102744@viper.es.ele.tue.nl> tiggr@viper.es.ele.tue.nl (Pieter Schoenmakers) writes: > NOT! > Just set a breakpoint at the `offending' line. Then, step into > the function whose return value you want to see and type `finish'. > --Tiggr > (gdb) help finish > Execute until selected stack frame returns. > Upon return, the value returned is printed and put in the value > history. That's nice if the called function has symbols. But finish doesn't always work when calling a function that doesn't have any debugging symbols. Such as when calling the AppKit or into the OS. -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
From: jdawson@donald.cc.utexas.edu (John Dawson) Newsgroups: comp.sys.next.programmer Subject: Re: returning NaN, Was: RUMOR-ATTACK... Date: 7 Dec 1993 21:27:43 -0600 Organization: The Kernel Group, Inc. Message-ID: <2e3hjf$793@donald.cc.utexas.edu> References: <SCOTT.93Dec1183252@nic.gac.edu> <SCOTT.93Dec3164456@nic.gac.edu> <2dojp6$4ea@transfer.stratus.com> <SCOTT.93Dec6203530@nic.gac.edu> I wish I had access to a PC running NEXTSTEP so I could check some of this stuff out. If it's really true that functions that return floating-point values leave the return code on the stack, all kinds of havoc could result. Then again, maybe this is why even in K&R C you had to declare the return types of functions. Consider the following code: int main(argc, argv) int argc; char **argv; { int max; int i; max = atoi(argv[1]); for (i=0; i<max; i++) float_returning_fn(); } float float_returning_fn() { return 2.23606797749; } Even K&R C compilers choke on this; float_returning_fn() is implicitly declared to return int by the reference to it in main(), so the float return type given in the real declaration is an error. I guess this is good. But if you were to compile the functions separately and link them, it would compile fine. But when you run it, give it a huge value on the command line; and whatever stack the floating-point return codes get put on will get huge and chew up lots of VM. I think it's an invalid program, so I guess that's reasonable. Declaring the wrong return types is a no-no in general. You certainly couldn't reasonably expect a program like this to work and not chew up large amounts of VM if you were returning large structs instead of floats. I wonder how much simpler the definition of Standard C would be if we didn't have architectures like the x86 chips that had to be supported ... ...jkd
Newsgroups: comp.sys.next.programmer From: mike_v@pupress.princeton.edu (Mike Volk) Subject: Gopher Server Message-ID: <mike_v.34.2D049523@pupress.princeton.edu> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University Press Date: Tue, 7 Dec 1993 14:37:23 GMT Has anyone compiled Gopher 2.010 (or any version that supports Gopher+ protocol) for NeXTStep FIP. If so PLEASE Email me.
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: fabien@free.fdn.org (Fabien Roy) Subject: MaxAudio (VaporWare or not) Message-ID: <1993Dec7.211557.10763@free.fdn.org> Sender: news@free.fdn.org Organization: Fabien Roy Electronic Engineering (F.R.E.E.) - Paris, France. Date: Tue, 7 Dec 1993 21:15:57 GMT Has anybody heard of MaxAudio from Harvard Toolworks, I tried E-mail, fax and I did not get any answer. I first met them at May 1993 NeXTWorld Expo and they were advertising MaxAudio audio/SMPTE/MIDI rack module with 15-pins NeXT DSP-port cable -> $450 AES/EBU, S/PDIF Digital audio option -> $150 Programmable stereo gain control -> $50 MaxAudio ISA-bus 56001 card -> $295 I really need to know if it's another VAPORWARE company because their prices seems quite reasonable to me. They are located at: Harvard Toolworks 91 Ann Lee Road Harvard, MA 01451 tel: 508 772 44 20 fax: 508 772 46 03 E-mail: info@magdalen.dmc.com --Fabien --------------------------------------------------------------------- Fabien_Roy@free.fdn.org (NextMails accepted) Fabien Roy Electronic Engineering 3 rue ANDRE DANJON, 75019 PARIS, France, Tel: 33 1 4040 0206 Fax: 33 1 4040 0641
From: fxdlk@camelot.acf-lab.alaska.edu (A Figment of your Imagination) Newsgroups: comp.sys.next.programmer Subject: Inews: Request help with instalation Message-ID: <1993Dec8.030358.26306@raven.alaska.edu> Date: 8 Dec 93 03:03:58 GMT Article-I.D.: raven.1993Dec8.030358.26306 Sender: news@raven.alaska.edu (USENET News System) Organization: University of Alaska Computer Network Has anyone sucessfllly installed inews on the next? It seems to compile ok, but I cant get it to work at all. Any sugestions or help would be apriciated. The config file for that program is shear evil! Bitnet: Fsdlk@alaska.bitnet Internet: Fsdlk@acad3.alaska.edu NeXT Mail: fxdlk@camelot.acf-lab.alaska.edu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ........... ....... . . . ~ ~ . . . Nasha tai no kasei! . . ~ ~ ... ....... . . ~ ~ . . Prosperity and Long Life, To You. ~ ~ .... xisting . hantom . . ~ ~ . . ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: Re: Determining "up" status of machines Message-ID: <CHpBzy.4ny@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems References: <1993Dec7.190532.12804@ircam.fr> Date: Wed, 8 Dec 1993 05:45:33 GMT Bennett Smith writes > Long ago I fiddled with a program, based on ping, to find out what > machines were up on the local network, but there was some annoying bug, > and finally I ran out of time and came up with the following gross kluge: > ruptime | egrep -s '$remoteMachineName *up' another alternative is to use telnet to connect to some well known port. perhaps use telnet $remoteMachineName 13 to get the date and time, and then check the output for the word connected. still not terribly elegant though -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
Newsgroups: comp.sys.next.programmer From: avery@ccrma.Stanford.EDU (Avery Wang) Subject: Re: templates in C++ on NeXT Message-ID: <1993Dec8.073853.22956@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: Stanford University References: <CHHGD7.K2p@ucdavis.edu> Date: Wed, 8 Dec 93 07:38:53 GMT In comp.sys.next.programmer article <CHHGD7.K2p@ucdavis.edu> you wrote: > I'm doing mixed C++ / Objective-C programming under 3.0 with fair > success. However, I'd like to be able to use C++ template classes. > The NeXT C++ compiler doesn't seem to recognize these. Is there a > way I can have templates and Objective-C? > > Thanks, Stuart. Please let me know if you get any encouraging replies. I'm under the impression that gnu-cc doesn't support templates yet. I'm actually currently developing on the Mac, but only the algorithmic stuff, nothing that uses the Mac Toolbox. Only because there isn't a cost-effective portable NeXT. I've already used templates in my code because they're such a neat thing, but I knew that I might be sacrificing compatibility with the NeXT. I hope that I don't have to do a hack to make it work on the NeXT. -- Avery Wang avery@ccrma.stanford.edu CCRMA (Center for Computer Research in Music and Acoustics) 660 Lomita Dr. Fax: +1 (415) 723-8468 Stanford, CA 94305 Tel: +1 (415) 364-5002
From: kanyang@titan.ucs.umass.edu (KAN-YANG LEE) Newsgroups: comp.sys.next.programmer,comp.sys.next.marketplace,misc.jobs.resumes Subject: NEXTSTEP Programmer (resume) Date: 8 Dec 1993 01:55:06 -0500 Organization: University of Massachusetts, Amherst Distribution: usa Message-ID: <2e3toa$dse@titan.ucs.umass.edu> Hi, I'm an experenced NEXTSTEP developer. I'm looking for NEXTSTEP software engineer position. If you are interested, please call me at: phone: (617)522-8205 I encloded my resume both in ASCII and postscript form. p.s. please don't send e-mail. --------- resume in ASCII ------------ William Wei c/o Lena Mathews 33 Burroughs St. #2, Jamaica Plain, MA 02130 FAX: (617)522-3736 Phone: (617)522-8205 SUMMARY Software engineer with experience and interest in: OO analysis, design and programming Client/Server architecture. Computer Graphic Multimedia Multi-thread architecture Chinese programming EXPERIENCE Imagine Multimedia Inc., Ann Arbor, Michigan Software engineer, 6/93 - 12/93 * Co-designed and co-implemented Multimedia Asset Management Server. MAMS provides a means of managing all assets in a multimedia production environment including asset repository, concurrent asset access and retrieval and asset conversion. MAMS also provides project management, group security protection and archiving schemes. Implementated using Objective-C, AppKit, DBKit, Distributed Object, Sybase server and MACH's C-thread package. * Designed and implemented Distributed Media Processing Server. DMPS provides services for media asset processing and convertion such as image compositing, scaling, lookup table generation, dithering as well as conversion between different formats for images and sounds. DMPS employs a distributed computation architecture which provides an efficient way of utilizing CPU resources within the network. Implemented using Objective-C, AppKit, Distributed Object and MACH's C-thread. NOTE: In a multimedia production environment, applications will focus on their own roles and delegate asset management, processing and conversion to MAMS and DMPS. * Developed and integrated a network licensing scheme into Imagine's product line. The licensing scheme includes embedding license control methods into all Imagine's products and the License Generating Application. LGA is integrated with ISS Inc.'s license gererator and communicates with a customer database to automate registration and track records. Stratus Computer Inc., Marlboro, Massachusetts Software engineer, 6/91 - 8/92 Worked in a tools and productivity group to support the development of a fault-tolerant UNIX project. Developed a validation, regression and code coverage test scheme for a new Pascal compiler and debugger. Implemented using the UNIX shell script language. University Computing Center, University of Massachusetts Consultant, 6/91 - 6/93 Provided assistance to users on UNIX/VMS/DOS/Windows/Macintosh machines. Handled administration and wrote system programs and utilities. Department of Electrical and Computer Engineering, University of Massachusetts Teaching Assistant, 6/91 - 6/93 Assisted professors in teaching Data Structures & Algorithms and graduate-level Computer Graphics as well as co-designed homework, projects and exams. PERSONAL DEVELOPMENT * Developing an Object-Oriented WYSIWYG Chinese word processor for NEXTSTEP. Implementing various input methods including PinYin, BoPoMoFo, Four Corners and Cang Jie. Researching different ways of improving input speed such as phrase input and frequency ordering. Designing a Chinese Text object and a document format. * Developed a 3D modeling and rendering graphics package under NEXTSTEP. Implementation includes interactive construction and modeling, phong shading, gouraud shading, ray tracing, boolean operation, transparent object, texture mapping, distributed computation. * Implemented "Geometric Substitution" texture creator. Resulting textures were mapped to 3D objects such as icosahedra or spheres which were then viewed using 3D synthetic cameras. * Developed a client/server model for distributed Ray Tracing using MACH's C-thread package and NEXTSTEP's Distributed Object. EDUCATION Master of Science in Electrical and Computer Engineering 9/91-5/93 University of Massachusetts, Amherst, Massachusetts Concentration in Object-Oriented Software Engineering and Computer Graphics Post Bachelorette studies in Computer Engineering 6/90-9/90 Michigan State University, East Lansing, Michigan Training Course - Programming NEXTSTEP 7/93 NeXT Computer Inc., Redwood City, California COMPUTER SKILLS Object-Oriented analysis, design and programming. Programming in C/C++/Objective-C/Pascal/Modula-3/Assembly/UNIX shell/PostScript. Programming NEXTSTEP, UNIX, MS-Windows, X Windows and DOS. Computer Graphics in 2D and 3D, especially in 3D modeling and rendering. Relational database systems. Network, Client/Server programming. Multi-thread programming. User interface design. Chinese programming. NEXTSTEP's Project Builder, Interface Builder, AppKit, 3DKit, MachKit, Distributed Object. REFERENCES Available upon request. ---- resume in postscript ----------- %!PS-Adobe-3.0 EPSF-2.0 %%Creator: Windows PSCRIPT %%Title: Microsoft Word - RESUME2.DOC %%BoundingBox: 12 6 606 780 %%DocumentNeededResources: (atend) %%DocumentSuppliedResources: (atend) %%Pages: 0 %%BeginResource: procset Win35Dict 3 1 /Win35Dict 290 dict def Win35Dict begin/bd{bind def}bind def/in{72 mul}bd/ed{exch def}bd/ld{load def}bd/tr/translate ld/gs/gsave ld/gr /grestore ld/M/moveto ld/L/lineto ld/rmt/rmoveto ld/rlt/rlineto ld /rct/rcurveto ld/st/stroke ld/n/newpath ld/sm/setmatrix ld/cm/currentmatrix ld/cp/closepath ld/ARC/arcn ld/TR{65536 div}bd/lj/setlinejoin ld/lc /setlinecap ld/ml/setmiterlimit ld/sl/setlinewidth ld/scignore false def/sc{scignore{pop pop pop}{0 index 2 index eq 2 index 4 index eq and{pop pop 255 div setgray}{3{255 div 3 1 roll}repeat setrgbcolor}ifelse}ifelse}bd /FC{bR bG bB sc}bd/fC{/bB ed/bG ed/bR ed}bd/HC{hR hG hB sc}bd/hC{ /hB ed/hG ed/hR ed}bd/PC{pR pG pB sc}bd/pC{/pB ed/pG ed/pR ed}bd/sM matrix def/PenW 1 def/iPen 5 def/mxF matrix def/mxE matrix def/mxUE matrix def/mxUF matrix def/fBE false def/iDevRes 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt def/fPP false def/SS{fPP{ /SV save def}{gs}ifelse}bd/RS{fPP{SV restore}{gr}ifelse}bd/EJ{gsave showpage grestore}bd/#C{userdict begin/#copies ed end}bd/FEbuf 2 string def/FEglyph(G )def/FE{1 exch{dup 16 FEbuf cvrs FEglyph exch 1 exch putinterval 1 index exch FEglyph cvn put}for}bd/SM{/iRes ed/cyP ed /cxPg ed/cyM ed/cxM ed 72 100 div dup scale dup 0 ne{90 eq{cyM exch 0 eq{cxM exch tr -90 rotate -1 1 scale}{cxM cxPg add exch tr +90 rotate}ifelse}{cyP cyM sub exch 0 ne{cxM exch tr -90 rotate}{cxM cxPg add exch tr -90 rotate 1 -1 scale}ifelse}ifelse}{pop cyP cyM sub exch 0 ne{cxM cxPg add exch tr 180 rotate}{cxM exch tr 1 -1 scale}ifelse}ifelse 100 iRes div dup scale 0 0 transform .25 add round .25 sub exch .25 add round .25 sub exch itransform translate}bd/SJ{1 index 0 eq{pop pop/fBE false def}{1 index/Break ed div/dxBreak ed/fBE true def}ifelse}bd/ANSIVec[ 16#0/grave 16#1/acute 16#2/circumflex 16#3/tilde 16#4/macron 16#5/breve 16#6/dotaccent 16#7/dieresis 16#8/ring 16#9/cedilla 16#A/hungarumlaut 16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle 16#60/grave 16#7C/bar 16#82/quotesinglbase 16#83/florin 16#84/quotedblbase 16#85 /ellipsis 16#86/dagger 16#87/daggerdbl 16#89/perthousand 16#8A/Scaron 16#8B/guilsinglleft 16#8C/OE 16#91/quoteleft 16#92/quoteright 16#93 /quotedblleft 16#94/quotedblright 16#95/bullet 16#96/endash 16#97 /emdash 16#99/trademark 16#9A/scaron 16#9B/guilsinglright 16#9C/oe 16#9F/Ydieresis 16#A0/space 16#A4/currency 16#A6/brokenbar 16#A7/section 16#A8/dieresis 16#A9/copyright 16#AA/ordfeminine 16#AB/guillemotleft 16#AC/logicalnot 16#AD/hyphen 16#AE/registered 16#AF/macron 16#B0/degree 16#B1/plusminus 16#B2/twosuperior 16#B3/threesuperior 16#B4/acute 16#B5 /mu 16#B6/paragraph 16#B7/periodcentered 16#B8/cedilla 16#B9/onesuperior 16#BA/ordmasculine 16#BB/guillemotright 16#BC/onequarter 16#BD/onehalf 16#BE/threequarters 16#BF/questiondown 16#C0/Agrave 16#C1/Aacute 16#C2 /Acircumflex 16#C3/Atilde 16#C4/Adieresis 16#C5/Aring 16#C6/AE 16#C7 /Ccedilla 16#C8/Egrave 16#C9/Eacute 16#CA/Ecircumflex 16#CB/Edieresis 16#CC/Igrave 16#CD/Iacute 16#CE/Icircumflex 16#CF/Idieresis 16#D0/Eth 16#D1/Ntilde 16#D2/Ograve 16#D3/Oacute 16#D4/Ocircumflex 16#D5/Otilde 16#D6/Odieresis 16#D7/multiply 16#D8/Oslash 16#D9/Ugrave 16#DA/Uacute 16#DB/Ucircumflex 16#DC/Udieresis 16#DD/Yacute 16#DE/Thorn 16#DF/germandbls 16#E0/agrave 16#E1/aacute 16#E2/acircumflex 16#E3/atilde 16#E4/adieresis 16#E5/aring 16#E6/ae 16#E7/ccedilla 16#E8/egrave 16#E9/eacute 16#EA /ecircumflex 16#EB/edieresis 16#EC/igrave 16#ED/iacute 16#EE/icircumflex 16#EF/idieresis 16#F0/eth 16#F1/ntilde 16#F2/ograve 16#F3/oacute 16#F4 /ocircumflex 16#F5/otilde 16#F6/odieresis 16#F7/divide 16#F8/oslash 16#F9/ugrave 16#FA/uacute 16#FB/ucircumflex 16#FC/udieresis 16#FD/yacute 16#FE/thorn 16#FF/ydieresis ] def/reencdict 12 dict def/IsChar{basefontdict /CharStrings get exch known}bd/MapCh{dup IsChar not{pop/bullet}if newfont/Encoding get 3 1 roll put}bd/MapDegree{16#b0/degree IsChar{ /degree}{/ring}ifelse MapCh}bd/MapBB{16#a6/brokenbar IsChar{/brokenbar}{ /bar}ifelse MapCh}bd/ANSIFont{reencdict begin/newfontname ed/basefontname ed FontDirectory newfontname known not{/basefontdict basefontname findfont def/newfont basefontdict maxlength dict def basefontdict{exch dup/FID ne{dup/Encoding eq{exch dup length array copy newfont 3 1 roll put}{exch newfont 3 1 roll put}ifelse}{pop pop}ifelse}forall newfont/FontName newfontname put 127 1 159{newfont/Encoding get exch/bullet put}for ANSIVec aload pop ANSIVec length 2 idiv{MapCh}repeat MapDegree MapBB newfontname newfont definefont pop}if newfontname end}bd/SB{FC/ULlen ed/str ed str length fBE not{dup 1 gt{1 sub}if}if/cbStr ed/dxGdi ed /y0 ed/x0 ed str stringwidth dup 0 ne{/y1 ed/x1 ed y1 y1 mul x1 x1 mul add sqrt dxGdi exch div 1 sub dup x1 mul cbStr div exch y1 mul cbStr div}{exch abs neg dxGdi add cbStr div exch}ifelse/dyExtra ed /dxExtra ed x0 y0 M fBE{dxBreak 0 BCh dxExtra dyExtra str awidthshow}{dxExtra dyExtra str ashow}ifelse fUL{x0 y0 M dxUL dyUL rmt ULlen fBE{Break add}if 0 mxUE transform gs rlt cyUL sl [] 0 setdash st gr}if fSO{x0 y0 M dxSO dySO rmt ULlen fBE{Break add}if 0 mxUE transform gs rlt cyUL sl [] 0 setdash st gr}if n/fBE false def}bd/font{/name ed/Ascent ed 0 ne/fT3 ed 0 ne/fSO ed 0 ne/fUL ed/Sy ed/Sx ed 10.0 div/ori ed -10.0 div/esc ed/BCh ed name findfont/xAscent 0 def/yAscent Ascent def/ULesc esc def ULesc mxUE rotate pop fT3{/esc 0 def xAscent yAscent mxUE transform /yAscent ed/xAscent ed}if [Sx 0 0 Sy neg xAscent yAscent] esc mxE rotate mxF concatmatrix makefont setfont [Sx 0 0 Sy neg 0 Ascent] mxUE mxUF concatmatrix pop fUL{currentfont dup/FontInfo get/UnderlinePosition known not{pop/Courier findfont}if/FontInfo get/UnderlinePosition get 1000 div 0 exch mxUF transform/dyUL ed/dxUL ed}if fSO{0 .3 mxUF transform /dySO ed/dxSO ed}if fUL fSO or{currentfont dup/FontInfo get/UnderlineThickness known not{pop/Courier findfont}if/FontInfo get/UnderlineThickness get 1000 div Sy mul/cyUL ed}if}bd/min{2 copy gt{exch}if pop}bd/max{2 copy lt{exch}if pop}bd/CP{/ft ed{{ft 0 eq{clip}{eoclip}ifelse}stopped{currentflat 1 add setflat}{exit}ifelse}loop}bd/patfont 10 dict def patfont begin /FontType 3 def/FontMatrix [1 0 0 -1 0 0] def/FontBBox [0 0 16 16] def/Encoding StandardEncoding def/BuildChar{pop pop 16 0 0 0 16 16 setcachedevice 16 16 false [1 0 0 1 .25 .25]{pat}imagemask}bd end/p{ /pat 32 string def{}forall 0 1 7{dup 2 mul pat exch 3 index put dup 2 mul 1 add pat exch 3 index put dup 2 mul 16 add pat exch 3 index put 2 mul 17 add pat exch 2 index put pop}for}bd/pfill{/PatFont patfont definefont setfont/ch(AAAA)def X0 64 X1{Y1 -16 Y0{1 index exch M ch show}for pop}for}bd/vert{X0 w X1{dup Y0 M Y1 L st}for}bd/horz{Y0 w Y1{dup X0 exch M X1 exch L st}for}bd/fdiag{X0 w X1{Y0 M X1 X0 sub dup rlt st}for Y0 w Y1{X0 exch M Y1 Y0 sub dup rlt st}for}bd/bdiag{X0 w X1{Y1 M X1 X0 sub dup neg rlt st}for Y0 w Y1{X0 exch M Y1 Y0 sub dup neg rlt st}for}bd/AU{1 add cvi 15 or}bd/AD{1 sub cvi -16 and}bd/SHR{pathbbox AU/Y1 ed AU/X1 ed AD/Y0 ed AD/X0 ed}bd/hfill{/w iRes 37.5 div round def 0.1 sl [] 0 setdash n dup 0 eq{horz}if dup 1 eq{vert}if dup 2 eq{fdiag}if dup 3 eq{bdiag}if dup 4 eq{horz vert}if 5 eq{fdiag bdiag}if}bd/F{/ft ed fm 256 and 0 ne{gs FC ft 0 eq{fill}{eofill}ifelse gr}if fm 1536 and 0 ne{SHR gs HC ft CP fm 1024 and 0 ne{/Tmp save def pfill Tmp restore}{fm 15 and hfill}ifelse gr}if}bd/S{PenW sl PC st}bd/m matrix def/GW{iRes 12 div PenW add cvi}bd/DoW{iRes 50 div PenW add cvi}bd/DW{iRes 8 div PenW add cvi}bd/SP{/PenW ed/iPen ed iPen 0 eq iPen 6 eq or{[] 0 setdash}if iPen 1 eq{[DW GW] 0 setdash}if iPen 2 eq{[DoW GW] 0 setdash}if iPen 3 eq{[DW GW DoW GW] 0 setdash}if iPen 4 eq{[DW GW DoW GW DoW GW] 0 setdash}if}bd/E{m cm pop tr scale 1 0 moveto 0 0 1 0 360 arc cp m sm}bd /AG{/sy ed/sx ed sx div 4 1 roll sy div 4 1 roll sx div 4 1 roll sy div 4 1 roll atan/a2 ed atan/a1 ed sx sy scale a1 a2 ARC}def/A{m cm pop tr AG m sm}def/P{m cm pop tr 0 0 M AG cp m sm}def/RRect{n 4 copy M 3 1 roll exch L 4 2 roll L L cp}bd/RRCC{/r ed/y1 ed/x1 ed/y0 ed/x0 ed x0 x1 add 2 div y0 M x1 y0 x1 y1 r arcto 4{pop}repeat x1 y1 x0 y1 r arcto 4{pop}repeat x0 y1 x0 y0 r arcto 4{pop}repeat x0 y0 x1 y0 r arcto 4{pop}repeat cp}bd/RR{2 copy 0 eq exch 0 eq or{pop pop RRect}{2 copy eq{pop RRCC}{m cm pop/y2 ed/x2 ed/ys y2 x2 div 1 max def/xs x2 y2 div 1 max def/y1 exch ys div def/x1 exch xs div def/y0 exch ys div def/x0 exch xs div def/r2 x2 y2 min def xs ys scale x0 x1 add 2 div y0 M x1 y0 x1 y1 r2 arcto 4{pop}repeat x1 y1 x0 y1 r2 arcto 4{pop}repeat x0 y1 x0 y0 r2 arcto 4{pop}repeat x0 y0 x1 y0 r2 arcto 4{pop}repeat m sm cp}ifelse}ifelse}bd/PP{{rlt}repeat}bd/OB{gs 0 ne{7 3 roll/y ed /x ed x y translate ULesc rotate x neg y neg translate x y 7 -3 roll}if sc B fill gr}bd/B{M/dy ed/dx ed dx 0 rlt 0 dy rlt dx neg 0 rlt cp}bd /CB{B clip n}bd/ErrHandler{errordict dup maxlength exch length gt dup{errordict begin}if/errhelpdict 12 dict def errhelpdict begin/stackunderflow(operand stack underflow)def /undefined(this name is not defined in a dictionary)def/VMerror(you have used up all the printer's memory)def /typecheck(operator was expecting a different type of operand)def /ioerror(input/output error occured)def end{end}if errordict begin /handleerror{$error begin newerror{/newerror false def showpage 72 72 scale/x .25 def/y 9.6 def/Helvetica findfont .2 scalefont setfont x y moveto(Offending Command = )show/command load{dup type/stringtype ne{(max err string)cvs}if show}exec/y y .2 sub def x y moveto(Error = )show errorname{dup type dup( max err string )cvs show( : )show/stringtype ne{( max err string )cvs}if show}exec errordict begin errhelpdict errorname known{x 1 add y .2 sub moveto errhelpdict errorname get show}if end /y y .4 sub def x y moveto(Stack =)show ostack{/y y .2 sub def x 1 add y moveto dup type/stringtype ne{( max err string )cvs}if show}forall showpage}if end}def end}bd end %%EndResource /SVDoc save def %%EndProlog %%BeginSetup Win35Dict begin ErrHandler %%EndSetup SS 0 0 16 16 825 1100 300 SM 32 0 0 54 54 0 0 0 52 /Times-Bold /font25 ANSIFont font 0 0 0 fC 1080 162 293 (William Wei) 293 SB 32 0 0 50 50 0 0 0 45 /Times-Roman /font28 ANSIFont font 1042 230 369 (c/o Lena Mathews) 369 SB 751 288 951 (33 Burroughs St. #2, Jamaica Plain, MA 02130) 951 SB 754 346 946 (FAX: \(617\)522-3736 Phone: \(617\)522-8205) 946 SB 32 0 0 54 54 0 0 0 48 /Times-BoldItalic /font26 ANSIFont font 132 465 270 (SUMMARY) 270 SB 32 0 0 50 50 0 0 0 45 /Times-Roman /font28 ANSIFont font 207 528 1008 (Software engineer with experience and interest in:) 1008 SB 207 611 798 (\267 OO analysis, design and programming) 798 SB 1182 611 555 (\267 Client/Server architecture.) 555 SB 207 669 400 (\267 Computer Graphic) 400 SB 1182 669 259 (\267 Multimedia) 259 SB 207 727 528 (\267 Multi-thread architecture) 528 SB 1182 727 472 (\267 Chinese programming) 472 SB 32 0 0 54 54 0 0 0 48 /Times-BoldItalic /font26 ANSIFont font 132 846 345 (EXPERIENCE) 345 SB 32 0 0 50 50 0 0 0 48 /Times-Bold /font25 ANSIFont font 207 907 1027 (Imagine Multimedia Inc., Ann Arbor, Michigan) 1027 SB 207 968 673 (Software engineer, 6/93 - 12/93) 673 SB 32 0 0 42 42 0 0 0 42 /Symbol font gs 226 3225 0 0 CB 207 1034 19 (\267) 19 SB gr 32 0 0 50 50 0 0 0 45 /Times-Roman /font28 ANSIFont font 245 1031 1474 (Co-designed and co-implemented Multimedia Asset Management Server.) 1474 SB 245 1089 1994 (MAMS provides a means of managing all assets in a multimedia production environment including) 1994 SB 245 1147 1960 (asset repository, concurrent asset access and retrieval and asset conversion. MAMS also provides) 1960 SB 245 1205 1865 (project management, group security protection and archiving schemes. Implementated using) 1865 SB 245 1263 1930 (Objective-C, AppKit, DBKit, Distributed Object, Sybase server and MACH's C-thread package.) 1930 SB 32 0 0 42 42 0 0 0 42 /Symbol font gs 226 3225 0 0 CB 207 1324 19 (\267) 19 SB gr 32 0 0 50 50 0 0 0 45 /Times-Roman /font28 ANSIFont font 245 1321 1311 (Designed and implemented Distributed Media Processing Server.) 1311 SB 245 1379 1914 (DMPS provides services for media asset processing and convertion such as image compositing,) 1914 SB 245 1437 2043 (scaling, lookup table generation, dithering as well as conversion between different formats for images) 2043 SB 245 1495 2065 (and sounds. DMPS employs a distributed computation architecture which provides an efficient way of) 2065 SB 245 1553 1978 (utilizing CPU resources within the network. Implemented using Objective-C, AppKit, Distributed) 1978 SB 245 1611 609 (Object and MACH's C-thread.) 609 SB 207 1669 2095 (NOTE: In a multimedia production environment, applications will focus on their own roles and delegate) 2095 SB 207 1727 1384 (asset management, processing and conversion to MAMS and DMPS.) 1384 SB 32 0 0 42 42 0 0 0 42 /Symbol font gs 226 3225 0 0 CB 207 1788 19 (\267) 19 SB gr 32 0 0 50 50 0 0 0 45 /Times-Roman /font28 ANSIFont font 245 1785 1644 (Developed and integrated a network licensing scheme into Imagine's product line.) 1644 SB 245 1843 2038 (The licensing scheme includes embedding license control methods into all Imagine's products and the) 2038 SB 245 1901 2077 (License Generating Application. LGA is integrated with ISS Inc.'s license gererator and communicates) 2077 SB 245 1959 1364 (with a customer database to automate registration and track records.) 1364 SB 32 0 0 50 50 0 0 0 48 /Times-Bold /font25 ANSIFont font 207 2040 1051 (Stratus Computer Inc., Marlboro, Massachusetts) 1051 SB 207 2101 648 (Software engineer, 6/91 - 8/92) 648 SB 32 0 0 50 50 0 0 0 45 /Times-Roman /font28 ANSIFont font 207 2164 2059 (Worked in a tools and productivity group to support the development of a fault-tolerant UNIX project.) 2059 SB 207 2222 1943 (Developed a validation, regression and code coverage test scheme for a new Pascal compiler and) 1943 SB 207 2280 1259 (debugger. Implemented using the UNIX shell script language.) 1259 SB 32 0 0 50 50 0 0 0 48 /Times-Bold /font25 ANSIFont font 207 2361 1261 (University Computing Center, University of Massachusetts) 1261 SB 207 2422 497 (Consultant, 6/91 - 6/93) 497 SB 32 0 0 50 50 0 0 0 45 /Times-Roman /font28 ANSIFont font 207 2485 1834 (Provided assistance to users on UNIX/VMS/DOS/Windows/Macintosh machines. Handled) 1834 SB 207 2543 1115 (administration and wrote system programs and utilities.) 1115 SB 32 0 0 50 50 0 0 0 48 /Times-Bold /font25 ANSIFont font 207 2624 1756 (Department of Electrical and Computer Engineering, University of Massachusetts) 1756 SB 207 2685 664 (Teaching Assistant, 6/91 - 6/93) 664 SB 32 0 0 50 50 0 0 0 45 /Times-Roman /font28 ANSIFont font 207 2748 2080 (Assisted professors in teaching Data Structures & Algorithms and graduate-level Computer Graphics as) 2080 SB 207 2806 1043 (well as co-designed homework, projects and exams.) 1043 SB 32 0 0 54 54 0 0 0 48 /Times-BoldItalic /font26 ANSIFont font 132 2921 704 (PERSONAL DEVELOPMENT) 704 SB 32 0 0 42 42 0 0 0 42 /Symbol font gs 226 3225 0 0 CB 207 2987 19 (\267) 19 SB gr 32 0 0 50 50 0 0 0 45 /Times-Roman /font28 ANSIFont font 226 2984 1747 ( Developing an Object-Oriented WYSIWYG Chinese word processor for NEXTSTEP.) 1747 SB EJ RS %%PageTrailer SS 0 0 16 16 825 1100 300 SM 32 0 0 50 50 0 0 0 45 /Times-Roman /font28 ANSIFont font 0 0 0 fC 245 164 1931 (Implementing various input methods including PinYin, BoPoMoFo, Four Corners and Cang Jie.) 1931 SB 245 222 1977 (Researching different ways of improving input speed such as phrase input and frequency ordering.) 1977 SB 245 280 1143 (Designing a Chinese Text object and a document format.) 1143 SB 32 0 0 42 42 0 0 0 42 /Symbol font gs 226 3225 0 0 CB 207 366 19 (\267) 19 SB gr 32 0 0 50 50 0 0 0 45 /Times-Roman /font28 ANSIFont font 245 363 1580 (Developed a 3D modeling and rendering graphics package under NEXTSTEP.) 1580 SB 245 421 2034 (Implementation includes interactive construction and modeling, phong shading, gouraud shading, ray) 2034 SB 245 479 1777 (tracing, boolean operation, transparent object, texture mapping, distributed computation.) 1777 SB 32 0 0 42 42 0 0 0 42 /Symbol font gs 226 3225 0 0 CB 207 565 19 (\267) 19 SB gr 32 0 0 50 50 0 0 0 45 /Times-Roman /font28 ANSIFont font 245 562 2049 (Implemented "Geometric Substitution" texture creator. Resulting textures were mapped to 3D objects) 2049 SB 245 620 1666 (such as icosahedra or spheres which were then viewed using 3D synthetic cameras.) 1666 SB 32 0 0 42 42 0 0 0 42 /Symbol font gs 226 3225 0 0 CB 207 706 19 (\267) 19 SB gr 32 0 0 50 50 0 0 0 45 /Times-Roman /font28 ANSIFont font 245 703 1970 (Developed a client/server model for distributed Ray Tracing using MACH's C-thread package and) 1970 SB 245 761 677 (NEXTSTEP's Distributed Object.) 677 SB 32 0 0 54 54 0 0 0 48 /Times-BoldItalic /font26 ANSIFont font 132 876 318 (EDUCATION) 318 SB 32 0 0 50 50 0 0 0 48 /Times-Bold /font25 ANSIFont font 207 937 1252 (Master of Science in Electrical and Computer Engineering) 1252 SB 32 0 0 50 50 0 0 0 45 /Times-Roman /font28 ANSIFont font 1661 940 195 (9/91-5/93) 195 SB 207 1000 1075 (University of Massachusetts, Amherst, Massachusetts) 1075 SB 207 1058 1616 (Concentration in Object-Oriented Software Engineering and Computer Graphics) 1616 SB 32 0 0 50 50 0 0 0 48 /Times-Bold /font25 ANSIFont font 207 1139 1096 (Post Bachelorette studies in Computer Engineering) 1096 SB 32 0 0 50 50 0 0 0 45 /Times-Roman /font28 ANSIFont font 1661 1142 195 (6/90-9/90) 195 SB 207 1202 1031 (Michigan State University, East Lansing, Michigan) 1031 SB 32 0 0 50 50 0 0 0 48 /Times-Bold /font25 ANSIFont font 207 1283 974 (Training Course - Programming NEXTSTEP) 974 SB 32 0 0 50 50 0 0 0 45 /Times-Roman /font28 ANSIFont font 1661 1286 89 (7/93) 89 SB 207 1346 973 (NeXT Computer Inc., Redwood City, California) 973 SB 32 0 0 54 54 0 0 0 48 /Times-BoldItalic /font26 ANSIFont font 132 1461 497 (COMPUTER SKILLS) 497 SB 32 0 0 50 50 0 0 0 45 /Times-Roman /font28 ANSIFont font 207 1524 1038 (Object-Oriented analysis, design and programming.) 1038 SB 207 1582 1779 (Programming in C/C++/Objective-C/Pascal/Modula-3/Assembly/UNIX shell/PostScript.) 1779 SB 207 1640 1475 (Programming NEXTSTEP, UNIX, MS-Windows, X Windows and DOS.) 1475 SB 207 1698 1534 (Computer Graphics in 2D and 3D, especially in 3D modeling and rendering.) 1534 SB 207 1756 572 (Relational database systems.) 572 SB 207 1814 767 (Network, Client/Server programming.) 767 SB 207 1872 552 (Multi-thread programming.) 552 SB 207 1930 438 (User interface design.) 438 SB 207 1988 459 (Chinese programming.) 459 SB 207 2046 1905 (NEXTSTEP's Project Builder, Interface Builder, AppKit, 3DKit, MachKit, Distributed Object.) 1905 SB 32 0 0 54 54 0 0 0 48 /Times-BoldItalic /font26 ANSIFont font 132 2161 357 (REFERENCES) 357 SB 32 0 0 50 50 0 0 0 45 /Times-Roman /font28 ANSIFont font 207 2224 477 (Available upon request.) 477 SB EJ RS %%PageTrailer %%Trailer SVDoc restore end % TrueType font name key: % MSTT31c132 = 2817DTimes New RomanF0000002a000001900000 %%DocumentSuppliedResources: procset Win35Dict 3 1 %%DocumentNeededResources: font Symbol %%+ font Times-Bold %%+ font Times-BoldItalic %%+ font Times-Roman %%EOF
Newsgroups: comp.sys.next.programmer From: byoung@ingr.com (H. Bret Young) Subject: Re: writing paletttable (sic) objects Message-ID: <1993Dec7.195706.14064@b30news.b30.ingr.com> Followup-To: byoung@ingr.com Sender: usenet@b30news.b30.ingr.com (Usenet Feed) Organization: Intergraph Date: Tue, 7 Dec 1993 19:57:06 GMT In article <1993Dec6.025915.20087@news.media.mit.edu> wave@media.mit.edu (Michael B. Johnson) writes: > >Without boring people with the gorey details, has anyone ever written >an object that was both a source and sink for a drag-and-drop operation and >put it on a palette? In other words, taken the code from the NeXTWorld >DragLab Example and palettized it? I've written lots of objects which are >sinks for dragging that I have palettized (i.e. several different kinds of >Well objects), but this is the first I've palettized that is also a source. > >The problem is that at some point after I do the first "test interface mode", >IB crashes in that object's mouseDown:, as I call declareTypes:num:owner. >I'm running out of ideas here... > >-- >--> Michael B. Johnson -- wave@media.mit.edu >--> MIT Media Lab -- Computer Graphics & Animation Group >--> 20 Ames St. E15-023G -- (617) 547-0563 (day office) >--> Cambridge, MA 02139 -- (617) 253-0663 (night office) I got a palette called DocumentIcon that allows dragging and dropping of file icons. I believe I got it from purdue about a year ago. It seems to work ok all the times I have played with it. More recently is the MOKit that has a palette called DocumentWell (or something like that). I have not used it but the docs claim to do what you want. Let me know if you want more info. H. Bret Young byoung@ingr.com
From: Charles William Swiger <infidel+@CMU.EDU> Newsgroups: comp.sys.next.programmer Subject: Re: returning NaN, Was: RUMOR-ATTACK... Date: Wed, 8 Dec 1993 05:56:19 -0500 Organization: Fifth yr. senior, Chemistry, Carnegie Mellon, Pittsburgh, PA Message-ID: <Yh1P=HC00WBOM0rPdq@andrew.cmu.edu> In-Reply-To: <2e3hjf$793@donald.cc.utexas.edu> Excerpts from netnews.comp.sys.next.programmer: 7-Dec-93 Re: returning NaN, Was: RUM.. by John Dawson@donald.cc.ut > I wish I had access to a PC running NEXTSTEP so I could check some of this > stuff out. If it's really true that functions that return floating-point > values leave the return code on the stack, all kinds of havoc could > result. > [..munch..] > But if you were to compile the functions separately and link them, it > would compile fine. But when you run it, give it a huge value on the > command line; and whatever stack the floating-point return codes get > put on will get huge and chew up lots of VM. I'm sorry, but you are not correct. If the compiler does not have bugs and you are using any sane calling convention, then it will not permit you to corrupt and/or inflate the stack in the manner that you seem to expect. Consult the new dragon book: "Compilers -- Principles, Techniques, and Tools" by Aho, Sethi, & Ullman, around p. 407 for examples of calling conventions that will handle your example without a problem. -Chuck Charles William Swiger -- CMU...*splat*! | 1. You can't fly. --------------------------------------------+ 2. Cars are always real, even AMS & normal mail: infidel@cmu.edu | when they're not. Failing that: cs4w+@andrew.cmu.edu | 3. Police are not your friends. NeXTmail: chuck@cswiger.slip.andrew.cmu.edu | 4. Fire burns.
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: IB ungroup from scrollview? Date: 8 Dec 1993 13:00:21 -0000 Organization: me organized? That's a joke! Message-ID: <2e4j55$g7@steffi.demon.co.uk> This is directed to the lucky 3.2 people who have received their developer CD's. Does 3.2 IB have a means to access a matrix once it has been grouped into a scrollview thru IB? I guess for now it's back to [scrollView setDocView:]
Newsgroups: comp.sys.next.software,comp.sys.next.programmer,comp.sys.next.advocacy From: lorinr@altsys.com (Lorin Rivers III) Subject: Re: Features of Tailor.app that I want to see in all other apps. Message-ID: <1993Dec8.151505.8873@altsys.com> Keywords: Tailor, PostScript, Editor Organization: Altsys Corporation, Richardson, TX References: <CHGCzI.3wG@well.sf.ca.us> <1993Dec7.163759.22040@altsys.com> <CHop2E.1Ls@well.sf.ca.us> Date: Wed, 8 Dec 1993 15:15:05 GMT In article <CHop2E.1Ls@well.sf.ca.us> ludwig@well.sf.ca.us (Michael Rutchik) writes: > >Re: Click & Type in Virtuoso > >Lorin, > >Play around with Illustrator 5 for a few minutes. I think you'll see what I >mean. As you probably know, I'm dealing mostly with Packaging Graphics. >Quite often I simply need to add a line or two of type in some remote corner >of a package. The two ways of doing this in virtouso involve either a big >text box or the need to first create a path (or two) and link the type to >it. Both of these methods are very cumbersome in such an instance. Seeing as >how such instances occur 30 - 50 times a day this is my #1 feature request. OK, I see what you mean. Here's a (hopefully) acceptable work-around: Click and drag to size the text container before you type (it works sort of like the rectangle drawing tool). The reason ``just click and type'' makes a (somewhat) large container is that we didn't want a bunch of empty 0 by 0 containers lying around when people clicked with the text tool... >I forget if I mentioned it earlier, but another much needed feature would be >the ability to save as an eps but still be able to edit the file in >Virtuoso. Like Illustrators save with eps header option. This would be >especially valuable in NS since the exact same file could be edited by me >and viewed through drag & drop by any other NS app. The only trick I see >here would be to get Virtuoso to recognize .eps files that were really .vrt >files. (it's beginning to sound alot like tailor :-) That's a feature in Virty 2. I'm also trying to convince the author of Tailor to export files Virtuoso can read natively >Last but not least! Why doesn't Virtuoso use the edit menus spell checking >capabilities?!?! One of my primary resons for getting NS in-house was >because of the highly sensible common spell checker. The place I need it >most is in your app. Virtuoso 2 again! >I hope this has been of interest to the group. I decided to post it here to >give some more visibility to this outstanding app. > >Thanks, >Michael Rutchik >ludwig@well.sf.ca.us -- Lorin Rivers Lorin_Rivers@altsys.com NEXTSTEP Sales Manager 214.680.2060 269 W. Renner Parkway NeXT Mail Expected Richardson, Texas 75080 I said it, not my boss
Newsgroups: comp.sys.next.programmer From: asc1002@Armstrong.EDU (-phillip bruce-) Subject: map_addr()?? Message-ID: <1993Dec8.161929.9347@Armstrong.EDU> Organization: Armstrong State College, Savannah, GA Distribution: usa Date: Wed, 8 Dec 1993 16:19:29 GMT Anyone know anything about a function called map_addr()? I've seen it in both the NeXT documentation under LKS's (I believe) and in the include files under dev/m68k/autoconf.h. However, I CAN'T find it in any files in /usr/lib/* so I'm not sure what to think. Has the function been scrapped (like so many other useful non-NextStep specific things) from the distribution? (3.0, by the by) thanks, d!ll!yd
From: fxg@gimli.tolkien.imib.rwth-aachen.de (Felix Gatzemeier #Alwd#) Newsgroups: comp.sys.next.programmer Subject: Error handling Date: 08 Dec 1993 16:28:40 GMT Organization: Rechnerbetrieb Informatik - RWTH Aachen Distribution: world Message-ID: <FXG.93Dec8172840@gimli.tolkien.imib.rwth-aachen.de> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit This is a supposed to be a starter for a new discussion thread, not a real pressing problem. As pkron@corona.com pointed out in the Re: NaN - thread, exceptions are another thread and that's what I'd like to chat about. (Geez, I'not used to that kind of an intro...) Is anyone out there specifically proud of his/her/their error handling system? Do you have a failure recovery system? Like "OK, I don't get these 4K for this string, so I exit()." vs. "I'll make do with 2k, too". Are there any real concepts on failing system calls? I see a lot of unchecked malloc calls, as an example, but feel rather stupid when checking the notorious malloc(5). Do you feel that NeXT / Obj-C shows any consciousness for that problem? Any idea on how NXCopyStringBuffer assures availability of memory? Or doesn't it? I'm not involved in any BIG project and anything I do is of my own crutching and consists mainly of NXRunAlertPanel(). Many calls are bracketed by if()..., but that looks ridiculous sometimes. Is there a known way to catch a number of failures elegantly? like try these, skip rest on failure open file, but close it on error get memory, but free it on error write memory to disk, remove file on error close file, free mem return 1 continue here when above failed open another file ... get less memory... return 2 Well.. Do you get the idea? Try to rewrite it with if's and you'll see what I mean. I can talk a little on the error mechanisms of the eiffel language. Pieces of source code can "require" and "assure" conditions, loops can have "invariants" and "variants" and all these things can be checked by the running programs. If such an assertion is violated, an exception is raised and the caller has to take care of the exception, else it bounces up and up until it surfaces to the user. The problem is that this mechanism is intended for the debug phase to assure correct programs, not to take care of, say, system faults. Well, let this be a starter. Comments anyone? (please excuse me for my localized .signature -- i've been posting locally a lot since we do have a student strike in germany currently and I'm scanning the local nets for responses.) -- Felix +-------------------------------+ | Groesstmoeglicher Erfolg | | oder | | eine vernuenftige Alternative | +-------------------------------+ (Haegar, zu finden in der letzten (?) Was'N Los?, FS-Organ der I/1) (If you don't speak german, mail me for a translation.) (fxg@(([Pool|I3].Informatik)|(Tolkien.ImIB)).RWTH-Aachen.de NeXT-Mail ok, but slow)
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Mach memory allocation Date: 8 Dec 1993 09:45:29 -0800 Message-ID: <2e53rp$h8l@ursula.ee.pdx.edu> Summary: What are these regions? main() { loop: goto loop; } Allocates regions at: 0 __PAGEZERO 2000 __TEXT 4000 __DATA 6000 __LINKEDIT e000 (length 28000) <<-- what is this? It's writable, is it BSS? 3f80000 <-- this? 4010000 __DATA 4014000 __DATA (bss) 4018000 __OBJC 5000000 __TEXT 50b0000 __LINKEDIT 50ec000 <-- and this? thanks, Marcus Daniels
From: sj1@acpub.duke.edu (Stan Jirman) Newsgroups: comp.sys.next.programmer Subject: NXOpenTypedStreamForFile Keywords: Stream Message-ID: <25003@news.duke.edu> Date: 8 Dec 93 18:19:18 GMT Sender: news@news.duke.edu Hi everyone, I have the following problem. Given the code below (in reality it saves a bit more), I run into troubles: s = NXOpenTypedStreamForFile (filename, NX_WRITEONLY); if (s) { NXWriteType (s, "d", &d); NXCloseTypedStream (s); } How can I recognize that the write failed, e.g. because the disk is full? NXCloseTypedStream returns nothing, and 's' is always nonzero as it is a memory stream... Checking the file size for zero seems to be not the best approach, huh? Thanx Stan -- ---------------------------------------------------------------------- "640K ought to be enough for anybody." -- Bill Gates '81 Stan Jirman sj1@acpub.duke.edu NeXTmail welcome ----------------------------------------------------------------------
From: avery@ccrma.Stanford.EDU (Avery Wang) Newsgroups: comp.sys.next.programmer Subject: Installing gcc, libg++ on the NeXT--pointer? Message-ID: <1993Dec8.184242.9157@leland.Stanford.EDU> Date: 8 Dec 93 18:42:42 GMT Sender: news@leland.Stanford.EDU (Mr News) Organization: Stanford University Hi- Could someone quickly point me towards some docs or FAQ that could show me what I need to do to install the newest gcc-2.5.5 on my NeXT? Will this screw up my existing NeXT-supplied cc? Obviously I am new at this and barely know what I'm doing. Thanks! Avery Wang avery@ccrma.stanford.edu CCRMA (Center for Computer Research in Music and Acoustics) 660 Lomita Dr. Fax: +1 (415) 723-8468 Stanford, CA 94305 Tel: +1 (415) 364-5002
From: perkins@sidney.cps.msu.edu (Stephen Perkins) Newsgroups: comp.sys.next.programmer Subject: Re: Error handling Date: 8 Dec 1993 19:09:28 GMT Organization: Michigan State University Distribution: world Message-ID: <2e58p8$hkm@msuinfo.cl.msu.edu> References: <FXG.93Dec8172840@gimli.tolkien.imib.rwth-aachen.de> In article <FXG.93Dec8172840@gimli.tolkien.imib.rwth-aachen.de> fxg@gimli.tolkien.imib.rwth-aachen.de (Felix Gatzemeier #Alwd#) writes: > This is a supposed to be a starter for a new discussion thread, not a > real pressing problem. As pkron@corona.com pointed out in the Re: NaN > - thread, exceptions are another thread and that's what I'd like to > chat about. (Geez, I'not used to that kind of an intro...) There was an interesting article in "The C Users Journal" Vol. 11, No. 10, October 1993, Pg 33-46. It describes a set of macros (covered by GNU Library General Public License) that give you a nice way of handling exceptions. Some things that are provided are unwind-protect blocks, exception domains, and error handlers. I ftp'd the source but was unable to get it to work on the NeXT. However, please note that at the time, I gave it about 5 minutes of my attention (I think I missed some relavant files). For those interested, check out: ftp.bion.kth.se:./cvap/2.0/README - Steve P.S. If anybody had (or has) success with these, please let me know.
From: avery@ccrma.Stanford.EDU (Avery Wang) Newsgroups: comp.sys.next.programmer Subject: Re: Installing gcc, libg++ on the NeXT--pointer? Message-ID: <1993Dec8.193722.11440@leland.Stanford.EDU> Date: 8 Dec 93 19:37:22 GMT References: <1993Dec8.184242.9157@leland.Stanford.EDU> Sender: news@leland.Stanford.EDU (Mr News) Organization: Stanford University In article <1993Dec8.184242.9157@leland.Stanford.EDU> avery@ccrma.Stanford.EDU (Avery Wang) writes: > Hi- > Could someone quickly point me towards some docs or FAQ that could > show me what I need to do to install the newest gcc-2.5.5 on > my NeXT? Will this screw up my existing NeXT-supplied cc? > > Obviously I am new at this and barely know what I'm doing. > Thanks to the people who pointed out that I just need to type configure and follow the instructions in the INSTALL file. It's easier than I feared! Avery Wang avery@ccrma.stanford.edu CCRMA (Center for Computer Research in Music and Acoustics) 660 Lomita Dr. Fax: +1 (415) 723-8468 Stanford, CA 94305 Tel: +1 (415) 364-5002
Newsgroups: comp.sys.next.software,comp.sys.next.programmer,comp.sys.next.advocacy From: ludwig@well.sf.ca.us (Michael Rutchik) Subject: Re: Features of Tailor.app that I want to see in all other apps. Message-ID: <CHqFFw.MvJ@well.sf.ca.us> Keywords: Tailor, PostScript, Editor Sender: news@well.sf.ca.us Organization: The Whole Earth 'Lectronic Link, Sausalito, CA References: <CHGCzI.3wG@well.sf.ca.us> <1993Dec7.163759.22040@altsys.com> <CHop2E.1Ls@well.sf.ca.us> <1993Dec8.151505.8873@altsys.com> Date: Wed, 8 Dec 1993 19:57:31 GMT lorinr@altsys.com (Lorin Rivers III) writes: >In article <CHop2E.1Ls@well.sf.ca.us> ludwig@well.sf.ca.us (Michael Rutchik) writes: >> >>Re: Click & Type in Virtuoso >> >>Lorin, >> >>Play around with Illustrator 5 for a few minutes. I think you'll see what I >>mean. As you probably know, I'm dealing mostly with Packaging Graphics. >>Quite often I simply need to add a line or two of type in some remote corner >>of a package. The two ways of doing this in virtouso involve either a big >>text box or the need to first create a path (or two) and link the type to >>it. Both of these methods are very cumbersome in such an instance. Seeing as >>how such instances occur 30 - 50 times a day this is my #1 feature request. >OK, I see what you mean. Here's a (hopefully) acceptable work-around: >Click and drag to size the text container before you type (it works >sort of like the rectangle drawing tool). The reason ``just click and >type'' makes a (somewhat) large container is that we didn't want >a bunch of empty 0 by 0 containers lying around when people clicked >with the text tool... >>I forget if I mentioned it earlier, but another much needed feature would be >>the ability to save as an eps but still be able to edit the file in >>Virtuoso. Like Illustrators save with eps header option. This would be >>especially valuable in NS since the exact same file could be edited by me >>and viewed through drag & drop by any other NS app. The only trick I see >>here would be to get Virtuoso to recognize .eps files that were really .vrt >>files. (it's beginning to sound alot like tailor :-) >That's a feature in Virty 2. I'm also trying to convince the author of >Tailor to export files Virtuoso can read natively >>Last but not least! Why doesn't Virtuoso use the edit menus spell checking >>capabilities?!?! One of my primary resons for getting NS in-house was >>because of the highly sensible common spell checker. The place I need it >>most is in your app. >Virtuoso 2 again! >>I hope this has been of interest to the group. I decided to post it here to >>give some more visibility to this outstanding app. >> >>Thanks, >>Michael Rutchik >>ludwig@well.sf.ca.us >-- >Lorin Rivers Lorin_Rivers@altsys.com >NEXTSTEP Sales Manager 214.680.2060 >269 W. Renner Parkway NeXT Mail Expected >Richardson, Texas 75080 I said it, not my boss Thanks for the update Lorin. Any idea when 2.0 will ship? Will it still be called Virtuoso? I went to the Freehand 4.0 release party in SF. When I first spoke to you you described Virtuoso as "Freehand on steroids!" It looks like FH 4.0 is now Virtuoso for the mac. Thanks again Michael
From: luan@cs.uh.edu (Luan Cong) Newsgroups: comp.sys.next.programmer Subject: How to unload bundled resources Date: 8 Dec 1993 22:07:46 GMT Organization: Computer Science dept., Univ. of Houston (Main Campus) Message-ID: <2e5j7i$20o@menudo.uh.edu> References: <1993Dec1.112316.5003@cc.usu.edu> I have problems in unloading dynamiclly loaded resources. For example, if I load a bundle which contains some nib files and dynamically loadable classes, I may want to reclaim the part of memory those nib objects and class code ocuppied when I am done with the bundle. I thought that I could load all the nibs and classes into the same zone, and destroy the zone to get back the memory they used. But NeXT documentation explicitly tells me not to do it if the zone contains any appkit objects. The unloadModule() function does not help either. It only unloads the most recently loaded module, and does not allow me to specify which module I want to unload. Opinions and directions on this are appeiciated.
From: suckow@uropax.contrib.de (Ralf Suckow) Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer Subject: Re: OpenStep is Not X-windoze Date: 9 Dec 1993 00:01:31 +0100 Organization: Contributed Software GbR Message-ID: <2e5mcb$18q@uropax.contrib.de> References: <mg7b6iINNm8u@exodus.Eng.Sun.COM> <2e0htt$s21@agate.berkeley.edu> <BYER.93Dec6182451@birch.mv.us.adobe.com> byer@mv.us.adobe.com (Scott Byer) writes: >As a worst case scenario, let's consider what happens to hit detection >without the mouse operators. You'd have to make an AppKit call to >get the mouse coordinate, then you can call your hit-detection wrap >with two additional parameters. An extra round trip, to be sure, >but not much programming pain. User-defined hit-detection wraps are very seldom used in NS Apps. And if it is necessary for custom graphics or so, you nearly always start inside a View. Nevertheless, the input device handling seems not to be the problem to me. My problems with X are instead 1. X != X 2. endless configuration stories 3. DPS performance because of an additional layer (no problem if direct composing possible) I hope not to see any of these things through OpenSTEP. >On top of all this, *nobody* is sure what's going to really end up >happening. Mr. Tribble is in this biz - maybe we don't have to worry? Ralf -- Ralf Suckow, Berlin | suckow@contrib.de | Do you think it's difficult to speak Russian? Contributed Software | Every Moscow kid aged 5 years speaks it perfectly. only delivers my mail.|
Newsgroups: comp.sys.next.programmer From: scott@parsec.mixcom.com (Scott Violet) Subject: Examples of NXFSM Message-ID: <1993Dec8.224039.4526@parsec.mixcom.com> Summary: NXFSM dilema Keywords: NXFSM, Text, Click Organization: SmartSoft Distribution: usa Date: Wed, 8 Dec 1993 22:40:39 GMT Hi all, I am wondering if anyone would happen to have any examples, or docs as to how the Text object utilizes NXFSM structures. Specificly I'ld like to write my own click table, but, I can't seem to figure out how to do it. The docs in this area are mighty thin. Any info would be great. Thanks in advance, -Scott Violet (scott@smartsoft.com)
From: john_norvell@wiltel.com (John Norvell) Newsgroups: comp.sys.next.programmer Subject: system panic Date: 8 Dec 1993 23:32:07 GMT Organization: WilTel Message-ID: <2e5o5n$e7s@gateway.wiltel.com> We have continued to get system panics on NeXTSTEP 3.1 Pentium machines. Here's the error message from the console: panic: (cpu 0) ns_abstimeout table overflow Does anybody have any ideas what this is, what causes it, how we can fix it, or how we can get more info on what the problem is. -- Mail Drop DP-2 P.O. Box 21348 Tulsa, OK 74121 phone: 918.588.3051 email: john_norvell@wiltel.com fax: 918.588.3719
Newsgroups: comp.sys.next.programmer From: tom@basil.icce.rug.nl (Tom R.Hageman) Subject: Re: returning NaN, Was: RUMOR-ATTACK... Message-ID: <CHq533.s2@basil.icce.rug.nl> Sender: tom@basil.icce.rug.nl (Tom R.Hageman) Organization: Lofty Waters References: <SCOTT.93Dec6203530@nic.gac.edu> Date: Wed, 8 Dec 1993 16:13:51 GMT In article <SCOTT.93Dec6203530@nic.gac.edu> scott@nic.gac.edu (Scott Hess) writes: > [Thanks everyone for all the postings - I think I almost have a > clue, now. Though why I even _want_ to know is beyond me ... > -scott] > > In article <2dojp6$4ea@transfer.stratus.com>, > bbeckwit@carrock.hw.stratus.com (Bob Beckwith) writes: > >In article <SCOTT.93Dec3164456@nic.gac.edu> > > scott@nic.gac.edu (Scott Hess) writes: > >> > >>[For a leadin - I am interested in knowing _why_ this happens, > > > > The basic problem arises when attempting to send a message to nil > >and the expected return value is floating point (not type id, or int > >or whatever). On Intel, this results in a NaN and your program blows > >up. On Motorola, you get a 0.0. > > This happens because the i386 compiler expects floating-point return values in a floating-point register, instead of in register 0 (eax or whatever weird name Intel called it;), as is illustrated by this excerpt from gcc-2.?.?/config/i386/next.h: |/* Machines that use the AT&T assembler syntax | also return floating point values in an FP register. | Define how to find the value returned by a function. | VALTYPE is the data type of the value (as a tree). | If the precise function being called is known, FUNC is its FUNCTION_DECL; | otherwise, FUNC is 0. */ | |#undef VALUE_REGNO |#define VALUE_REGNO(MODE) \ | ((MODE) == SFmode || (MODE) == DFmode || (MODE) == XFmode \ | ? FIRST_FLOAT_REG : 0) (Where SFmode, DFmode, XFmode mean `float' `double' and `long double'(?)) The objective-c runtime returns `nil' for messages to `nil' (which is an integral type), in register 0. So, when the expected return value of a message to `nil' is floating point, you get whatever junk is left in that floating-point register. Of course, if the expected return type is (double), all bets are off even for Motorola ;-) (proof is left as an exercise to the reader. Hint: sizeof(double) > sizeof(id)) > > I had suggested that perhaps the run-time had omitted setting > >up the proper return value (0.0) for this case. In fact, the return > >value is *not* setup, but there is a very good rationale for this. > >In i486 architecture, floating point operations are carried out > >on a >>>stack<<<. You push operands, perform a series of operations, > >and pop off your result. Wonderful. However... this is also the > >crux of the problem. The run time can not arbitrarily place a 0.0 > >on the stack unless it is sure you're going to remove it. Uhmmm, I don't quite follow this. I would think that the compiler should not assume anything about the stack's state after a function call, err... message. [deletia] > > [And it does leave one more question - where's that NaN come from? > Is it just a stack-underflow type of thing? If so, then the problem > is deeper than it appears ...] See above. I guess you could call it stack underflow if you like. > >As others have pointed out, the message dispatcher does not know > >what the expected return type of the message is, and therefore > >can not push a 0.0 on the FP stack "just in case". So you're stuck. > >At least your stuck if you use the current calling conventions. Yes. You cannot return 2 distinct values in (objective-) C, "just in case". [more deletia] -- __/__/__/__/ Tom Hageman (tom@basil.icce.rug.nl) [NeXTMail accepted] __/ __/_/ __/__/__/ __/ _/_/ <space for quote intentionally left blank>
From: anderson@sapir.cog.jhu.edu (Stephen Anderson) Newsgroups: comp.sys.next.programmer Subject: Re: Installing gcc, libg++ on the NeXT--pointer? Date: 08 Dec 1993 19:33:29 GMT Organization: Dept. of Cognitive Science, The Johns Hopkins University Message-ID: <ANDERSON.93Dec8143330@sapir.cog.jhu.edu> References: <1993Dec8.184242.9157@leland.Stanford.EDU> In-reply-to: avery@ccrma.Stanford.EDU's message of 8 Dec 93 18:42:42 GMT >>>>> "Avery" == Avery Wang <avery@ccrma.Stanford.EDU> writes: In article <1993Dec8.184242.9157@leland.Stanford.EDU> avery@ccrma.Stanford.EDU (Avery Wang) writes: Avery> Hi- Could someone quickly point me towards some docs or FAQ Avery> that could show me what I need to do to install the newest Avery> gcc-2.5.5 on my NeXT? Will this screw up my existing Avery> NeXT-supplied cc? I just upgraded my cube to 3.2, and I thought I'd build a current version of gcc while I was at it. I was delighted to find that not only did gcc-2.5.6 (the current version on gnu archive sites) configure itself and build right out of the box with changes, but also libg++-2.5.2 (again, the current version) did likewise. GNU's configure scripts for gcc have worked pretty well for a while, but this is the first time I've been able to build libg++ without problems. Just unpack and do "./configure m68k-next; make" and it works. You have to build the current gcc before libg++, though, I expect. The results are installed in /usr/local, and don't interfere with the normal use of NeXT's cc. --Steve Anderson
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Nifty Matrix with multiple cells? Date: 8 Dec 1993 20:38:22 -0000 Organization: me organized? That's a joke! Message-ID: <2e5dvu$d9@steffi.demon.co.uk> Has anybody extended Nifty Matrix to allow control dragging of multiple cells? ie. move 1 or more cells together in a block. Cheers.
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: performfileOperation::::??? Date: 8 Dec 1993 22:13:17 -0000 Organization: me organized? That's a joke! Message-ID: <2e5jht$133@steffi.demon.co.uk> Why is this designed so that the filenames must remain the same? What if I want to copy .file to .file.bak?
From: eric@skatter.usask.ca Newsgroups: comp.sys.next.programmer Subject: printf %g format still broken in 3.2 Date: 9 Dec 1993 02:22:04 GMT Organization: University of Saskatchewan Message-ID: <2e624c$4a0@tribune.usask.ca> 4 years to the day after I first reported this bug to NeXT (back in the NeXTstep 1.0 days) I installed 3.2 on my cube and found that the bug is *still* present. The bug shows up in the way `%g' formats floating point numbers when it chooses to use %f (as opposed to %e) representation. The ANSI standard (X3.159-1989) says (Section 4.9.6.1, page 134, line 33): g,G The double argument is converted in style f or e (or in style E in the case of a G conversion specifier), with the precision specifying the number of significant digits. If the precision is zero, it is taken as 1. The style used depends on the value converted; style e (or E) will be use only if the exponent resulting from the conversion is less than -4 or greater than or equal to the precision. Trailing zeros are removed from the fractional portion of the result; a decimal-point character appears only if it is followed by a digit. *** NOTE THE WORDS `significant digits'. *** Here's a little test program, and some results from the machines I have access to at our lab: ============================================================================ #include <stdio.h> int main (int argc, char **argv) { printf ("Expect 0.00123: %.3g\n", 0.001234567); printf ("Expect 123: %.3g\n", 123.4567); printf ("Expect 123.5: %.4g\n", 123.4567); printf ("Expect 1e+03: %.3g\n", 999.6); return 0; } ============================================================================ On a SUN 4/380 (SUNOS 4.1.1): Expect 0.00123: 0.00123 Expect 123: 123 Expect 123.5: 123.5 Expect 1e+03: 1e+03 So it would appear that at least *one* vendor can get it right! On an HP-715 (HP-UX V8 -- I think): Expect 0.00123: 0.00123 Expect 123: 123 Expect 123.5: 123.5 Expect 1e+03: 1e+03 Hmmm...looks like there are at least *two* vendors that can get it right. On a DEC MicroVAX II (Ultrix version 2.2): Expect 0.00123: 0.00123 Expect 123: 123 Expect 123.5: 123.5 Expect 1e+03: 1e+03 Wow, even an antique computer can do this properly! On a NeXTstation color (NeXTSTEP 3.2): Expect 0.00123: 0.001 Expect 123: 123.457 Expect 123.5: 123.4567 Expect 1e+03: 999.6 -- Eric Norum eric@skatter.usask.ca Saskatchewan Accelerator Laboratory University of Saskatchewan Saskatoon, Canada. NeXTMail accepted.
From: sanguish@digifix.com (Scott Anguish) Newsgroups: comp.sys.next.programmer Subject: Re: Nifty Matrix with multiple cells? Date: 8 Dec 1993 23:30:40 -0500 Organization: Digital Fix Development Distribution: world Message-ID: <2e69lg$74u@digifix.digifix.com> References: <2e5dvu$d9@steffi.demon.co.uk> Robert Nicholson writes > Has anybody extended Nifty Matrix to allow control dragging of > multiple cells? ie. move 1 or more cells together in a block. > > Cheers. > I don't have the answer to that, but the old NiftyMatrix had some bugs. In the TToolsExample (a Next MiniExample) there was a new matrix with the same behaviours... perhaps that implements what you are looking for. -- - Scott Anguish - sanguish@digifix.com (NextMail) next-announce@digifix.com (comp.sys.next.announce submissions)
Newsgroups: comp.sys.next.programmer From: jfr@aspen.pdh.com (Jon F. Rosen) Subject: Weird happenings in grouped (boxed) fields Message-ID: <CHpC26.FsE@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. Date: Wed, 8 Dec 1993 05:46:54 GMT There are some weird problems with sizing and resizing as it effects grouped fields (i.e., fields in boxes) and their relationship to one another. Put three buttons of equal size in a box and make them adjacent to each other and make the box fit tightly around the buttons (no title, overlap or border), and then make the buttons appropriately "springy" (i.e., the right and left buttons are fixed to their respective edges but are both springy to the opposite side AND springy in the middle and can thus resize, and the middle button is springy on both sides and springy in the middle). Make the box fixed to the right and left sides of the window and springy in the middle so it too can resize. Now size and resize the window, sometimes fairly widely. The buttons will tend to "creep", usually to the left, but occasionally to the right, ultimately causing two or more buttons to overlap and the widths of the buttons to become unequal. This is BAD behavior. Am I doing something wrong? I am only using IB to set up the situation since I hoped there was no need for programming. Motif's sizing and positioning capabilities are much more powerful and straightforward (one case where I think NeXT could learn something from Motif, one of the few). And I have never had this unpredictable results situation. I assume this has something to do with the numeric computations that go on inside the size/resize methods and the fact that the precision of widths, heights and x-y positions are in integers. This is bad. Postscript is capable of handling floating point positioning and NeXT should be using numbers that can be MUCH more accurate and let the Postscript window system align things to integer pixels. I hope I can remedy this behavior but I have a feeling the only solution is to programmatically reset the x-y and h-w settings to appropriately adjusted ones whenever a window is resized. This is going to be YUCHY. And please don't suggest that I use a matrix. This is a set of pull-down menus and I could not get a matrix of them in IB now matter what I tried. I imagine I could programmatically set one up but I am not going to tackle that now. Jon Rosen
Newsgroups: comp.sys.next.programmer Subject: Re: returning NaN, Was: RUMOR-ATTACK.. Message-ID: <SCOTT.93Dec8230320@nic.gac.edu> From: scott@nic.gac.edu (Scott Hess) Date: 8 Dec 93 23:03:20 References: <1993Dec07.161444.388@corona.com> <2e2n9t$5p0@darkstar.UCSC.EDU> Distribution: world Organization: Is a sign of weakness In-reply-to: art@cubicsol.com's message of 7 Dec 1993 19:58:52 GMT [My, how this topic has wound about ... -scott] In article <2e2n9t$5p0@darkstar.UCSC.EDU>, art@cubicsol.com (Art Isbell) writes: >In article <1993Dec07.161444.388@corona.com> > pkron@corona.com (Peter Kron) writes: >> But the situations I >> described, such as >> >> if ( id ) >> [id free]; >> >> vs. >> [id free]; >> >> are not error situations. The two approaches are defined to be >> identical. > > Sure, they're not error conditions and you'll never cause an app to >crash by freeing a nil object, but I think it's a readability or >documentation issue (a minor one, I'll admit). If I see that the author >has checked for an object being nil before freeing it, then I have some >confidence that she was at least aware that it *might* be nil and other >code that would be buggy with a nil object is less likely to exist. But >if I see that no check for a nil object was made, then I don't have any >idea whether the author even considered the possibility of a nil object. Another important point, here, is that often the "nil-ness" of one object indicates something about other objects or data. For instance, perhaps three or four objects "go together", and if you know that one of them is nil - you know that the rest are, too. > And as Scott Hess has pointed out, the following is even "safer" in >that it may prevent crashing should the freed object be erroneously >messaged later: > > if (anObject != nil) > { > anObject = [anObject free]; > } To elaborate on a couple essential points I use in my Day To Day Coding which seem Right Up This Alley ... I feel that the programmer should make certain to the best of their ability that the instance variables of an object are _always_, and I mean _ALWAYS_ valid. The _only_ time that you can safely get away with leaving them invalid is if you can _guarantee_ that they will not be accessed except by routines that know about their invalidity. This usually means that only a well-defined subset will access them. _Never_ assume that something will work. A direct result of this idea is that I will always code -free methods like: - free { anObject=[anObject free]; return [super free]; } Thus, even after the object is freed, if someone attempts to go in and access the anObject instance variable (which they may or may not still be _able_ to successfully accomplish), they'll get a nil. Which is almost always better than getting Yet Another pointer to invalid memory. Furthermore, I always try to make certain that I invalidate even non-object elements, and in an order which guarantees as well as possible that if I crap out right in the middle of -free, everything is still valid. For instance, in some code that implements the same functionality as List (on a different platform), it looks like: - free { numElements=0; maxElements=0; NXZoneFree( [self zone], dataPtr); dataPtr=NULL; return [super free]; } [Note that the "terminology" used for the instance variables matches that used for NeXT's List.] In this case, setting numElements and maxElements (both unsigned) to 0 _first_ is alright, because then if anyone accesses them, they will know that nothing in dataPtr (an id *) is valid. Then dataPtr is NULLed so that they can't even make the attempt. Admittedly, this can't be done in all cases. Sometimes you have to bare your *** to the wind and hope things fall out right. But, being defensive can't _hurt_. Another point that people seem to miss terribly is how -init* methods should be coded. I see _way_ too much code that does things like: - init { [super init]; myInteger=10; myId=[[AnObject allocFromZone:[self zone]] init]; return self; } Note that right there at the end, you call "return self". Know why? Because, -init can return either the instance -init was sent to, nil, or an instance different from the one -init was sent to (the first two cases are standard NeXTSTEP things. The third isn't, but is useful in certain instances where functionality similar to -finishUnarchiving is required). If nil is returned from [super init], then "self" may or may not exist anymore! If it _doesn't_, then the assignments may wreak havoc - but, even if it does, they aren't going to work quite as expected. IMHO, the correct way to code -init* is as: - init { self=[super init]; if( self) { myInteger=10; myId=[[AnObject allocFromZone:[self zone]] init]; } return self; } [One assumption you might note that I still make (for now) is that (id)0 will evaluate to false in an if() statement. It's probably a safe assumption, but an explicit self!=nil is more precise.] You might even want to add: if( !myId) { self=[self free]; } This way, if [super init] returns nil, it's propagated. If [super init] returns a different object, it works (more or less - it would only work if the returned object was kindOf the class the -init is in, of course). If it returns the same object, it works. Another good point that Art touched on is that you shouldn't assume that the reader knows things if you don't need to. This means that in cases where it's important that "myInteger" be initialized to 0, you should initialize it to 0. Yes, +alloc* will give you zero'ed out space for the instance, which means that myInteger should already be 0 ... but, as this thread has proven, assumptions can really bite you in the end. It's not like you are saving a heckuva lot of time by skipping the initialization. A decent compiler should code myInteger=0 shorter and faster than something more complex, like myInteger=666, because most CPUs have various odd instructions that can either do it direct or quickly load a zero somewhere and store it. If you do multiple myInteger=0 type calls, it can optimize even more (it has a zero to work with). You only initialize once - but you track down bugs forever. Anyhow, -- scott hess <scott@nic.gac.edu> <I can handle NeXTMail, but don't like it> 12901 Upton Avenue South, #326 Burnsville, MN 55337 (612) 895-1208 Anytime! <C++: ... One Language to bring them all and in the darkness bind them> <In the Land of Redmond where the Shadows lie.>
Newsgroups: comp.sys.next.programmer From: yoda@cis.uni-muenchen.de (Marc Guenther) Subject: Distributed Objects, multiple servers ???? Sender: news@informatik.uni-muenchen.de (News System) Message-ID: <CHrw23.A7v@informatik.uni-muenchen.de> Date: Thu, 9 Dec 1993 14:54:03 GMT Organization: Institut fuer Informatik der Universitaet Muenchen Hello, One thing I never understood about DO is the following: How do I get ALL objects that are registered under a specific name in the local net with registerRoot ??? The normal way to setup an server is to do conectToPort:"name" and when it returns nil you do registerRoot. But this operation isnt aomar (atomic ??) I mean, its possible for two programs to do this at exactly the same time, and both register with the same name in the Net. So how can I get these two objects ??? -- Marc Guenther ------------------------------------------------------------------------- Centrum fuer Informations | Wagmuellerstr. 23 | Phone: +49 89 211 0670 und Sprachverarbeitung | 80538 M"unchen | Fax: +49 89 211 0674 University of Munich | Germany | yoda@cis.uni-muenchen.de -------------------------------------------------------------------------
From: ti6ls@tuhhco (Ludger Solbach) Newsgroups: comp.sys.next.programmer Subject: 48 kHz sample rate... Message-ID: <ti6ls.755429843@tuhhco> Date: 9 Dec 93 09:37:23 GMT Sender: usenet@rztsun.rz.tu-harburg.de Does anyone know a way to read 48 kHz sample streams directly from a DAT recorder through the DSP port? Any help would be appreciated. Regards, Ludger.
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: NiftyMatrix Bugs anyone anyone? Date: 9 Dec 1993 08:25:30 -0000 Organization: me organized? That's a joke! Message-ID: <2e6ndr$q1@steffi.demon.co.uk> A while back somebody mentioned to me that there were bugs in NiftyMatrix. Somebody has raised this once again. Last time they related to using the wrong co-ordinate system in places. Has anybody identified any serious NiftyMatrix bugs?
Newsgroups: comp.sys.next.programmer From: ericb@il.us.swissbank.com (Eric_Brown) Subject: Re: Distributed Objects, multiple servers ???? Message-ID: <1993Dec9.221151.29593@il.us.swissbank.com> Sender: root@il.us.swissbank.com (Operator) Organization: Swiss Bank Corporation CM&T Division References: <CHrw23.A7v@informatik.uni-muenchen.de> Date: Thu, 9 Dec 1993 22:11:51 GMT Marc Guenther writes > Hello, > > One thing I never understood about DO is the following: > > How do I get ALL objects that are registered under a specific > name in the local net with registerRoot ??? > > The normal way to setup an server is to do > conectToPort:"name" > and when it returns nil you do > registerRoot. > > But this operation isnt aomar (atomic ??) > I mean, its possible for two programs to do this at exactly > the same time, and both register with the same name in the > Net. So how can I get these two objects ??? > The way that Distributed Objects works is that it allows only one thread on each host to be registered with the same name. What this means is that more than one machine on the same network can have an object that has registered with the same name. The problem you will have is that when you do a -connectToName:"name" onHost:"*", the object you get is the first one that responds to the NetNameServer request. Also, if no machines respond in time (default timeout is 15 seconds), the method returns nil. This doesn't necessarily mean that there aren't any other machines out there with an object with that registered name, it just means none of them responded in time. In your case, where you want more than one of the objects with the registered name you will need to query each host individually (I know, what a pain). This definitely would pose a problem if you don't know what machines are out there that might be running the desired process. > -- > Marc Guenther > ------------------------------------------------------------------------- > Centrum fuer Informations | Wagmuellerstr. 23 | Phone: +49 89 211 0670 > und Sprachverarbeitung | 80538 M"unchen | Fax: +49 89 211 0674 > University of Munich | Germany | yoda@cis.uni-muenchen.de > ------------------------------------------------------------------------- Eric Brown NEXTSTEP Consultant CG Computer Services ericb@sbcoc.com
From: leuschr@o233-12.Rose-Hulman.Edu (Rainer Leuschke) Newsgroups: comp.sys.next.programmer Subject: Re: NiftyMatrix Bugs anyone anyone? Date: 9 Dec 1993 22:35:41 GMT Organization: Rose-Hulman Institute of Technology Message-ID: <2e897t$704@master.cs.rose-hulman.edu> References: <2e6ndr$q1@steffi.demon.co.uk> Well, I changed the original NiftyMatrix to work horizontal. When control-dragging a cell the the matrix get's screwed up. I saw someone posting this problem before, but no reply. Unfortunately I can't find the problem myself. If anybody did, I'd be grateful to see a post with a fix here. later, rainer -- We are all worms. I do believe I am a glowworm. (W.Churchill) Rainer Leuschke leuschr@nextwork.rose-hulman.edu
From: cgoret@nmsu.edu (Clay Goret) Newsgroups: comp.sys.next.programmer Subject: Re: Error handling Date: 9 Dec 1993 23:33:37 GMT Organization: New Mexico State University, Las Cruces, NM Distribution: world Message-ID: <2e8ckhINNetg@dns1.NMSU.Edu> References: <FXG.93Dec8172840@gimli.tolkien.imib.rwth-aachen.de> Summary: Ada -like Since I haven't been programming my NeXTstation all that long, I am not an expert... However, I _haven't_ seen anything on error handling that is unique to the AppKit or Objective-C. I believe that C++ is beginning to address, or has addressed, error handling through exceptions (I quit C++ in disgust long before any of its glaring problems were corrected, and thus I am not up to date). The exceptions I do know about are ADA exceptions. A quick example: begin < Some sequence of statments > exception when Constraint_Error => < Some sequence of statements > ... end; If an exception is raised in the block between the begin and the end, the program continues execution at the exception handler for that exception. Note that exceptions can be caused a program error or by use of the raise <SOME EXCEPTION>; statement. If the exception block cannot handle the exception (either there is no exception block, or there is no handler for the specific exception and there is no generic exception handler), the exception is passed to the calling block. In this way the exception is propagated until it is handled or it causes the program to halt. In a OOP language (No flames from the ADA zealots, please), I am not suthe exception should be passed to the super class, the calling block, or both. Interesting idea, tho. I would think that a really robust OOP language would have a nice way of dealing with error handling AKA exceptions. How does smalltalk, and the other _TRUE_ (Again, please no flames) OOP languages deal with this?? Clay
Newsgroups: comp.sys.next.programmer From: yoda@cis.uni-muenchen.de (Marc Guenther) Subject: Re: Distributed Objects, multiple servers ???? Sender: news@informatik.uni-muenchen.de (News System) Message-ID: <CHtuAz.BC1@informatik.uni-muenchen.de> Date: Fri, 10 Dec 1993 16:11:22 GMT References: <1993Dec9.221151.29593@il.us.swissbank.com> Organization: Institut fuer Informatik der Universitaet Muenchen In article <1993Dec9.221151.29593@il.us.swissbank.com> ericb@il.us.swissbank.com (Eric_Brown) writes: > Marc Guenther writes > > One thing I never understood about DO is the following: > > > > How do I get ALL objects that are registered under a specific > > name in the local net with registerRoot ??? > > > > The normal way to setup an server is to do > > conectToPort:"name" > > and when it returns nil you do > > registerRoot. > > > > But this operation isnt aomar (atomic ??) > > I mean, its possible for two programs to do this at exactly > > the same time, and both register with the same name in the > > Net. So how can I get these two objects ??? > > The way that Distributed Objects works is that it allows only one thread on > each host to be registered with the same name. What this means is that more > than one machine on the same network can have an object that has registered > with the same name. The problem you will have is that when you do a > -connectToName:"name" onHost:"*", the object you get is the first one that > responds to the NetNameServer request. Also, if no machines respond in time > (default timeout is 15 seconds), the method returns nil. This doesn't > necessarily mean that there aren't any other machines out there with an object > with that registered name, it just means none of them responded in time. In > your case, where you want more than one of the objects with the registered name > you will need to query each host individually (I know, what a pain). This > definitely would pose a problem if you don't know what machines are out there > that might be running the desired process. Oh, great, what about returning a List of objects ??? NeXT, what about this ??? I think this is a major disadvantage of PDO !!! I want to be sure, that Im the only server in the local network, or else my program would be useless... Hmmm... This should be very easy to do for someone with sourcecode access to PDO. Just add a new method, eg. allObjectsWithName: which does the same as connectToName:onHost:"*" just it returns a List off ALL responds within a specific time. What would help me a lot is a way to specify connectTo...onHost:<all hosts in the LAN except my own> This way a server for itself could query the net sometimes, and tell all other servers it finds to go away. Hmmm... -- Marc Guenther ------------------------------------------------------------------------- Centrum fuer Informations | Wagmuellerstr. 23 | Phone: +49 89 211 0670 und Sprachverarbeitung | 80538 M"unchen | Fax: +49 89 211 0674 University of Munich | Germany | yoda@cis.uni-muenchen.de -------------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: wissner@perlis.mcs.gvsu.edu (Jim Wissner) Subject: unknown cross-application messaging Message-ID: <1993Dec10.040452.1690@beech.csis.gvsu.edu> Sender: news@beech.csis.gvsu.edu Organization: Grand Valley State University Date: Fri, 10 Dec 1993 04:04:52 GMT Hello: Is there any way that I can find out about and send messages to a running application when all I know about it is its full pathname? For instance, say I know that there is an app called /LocalApps/Foo.app running, but that's /all/ I know about it. I want to send it a message such as unhide. How do I find out its id to send this message? Is this even possible? Thanks, Jim.
From: gad@eclipse.its.rpi.edu (Garance A. Drosehn) Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy Subject: Re: Kodak Photo CD API Date: 10 Dec 1993 07:15:09 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Distribution: world Message-ID: <2e97lt$gaa@usenet.rpi.edu> References: <CHIs59.2qv@SoftDesign.COM> roberto@SoftDesign.COM (Roberto Arrocha) writes: > Let me re-state my question below: > > - Is anyone else interested in a NeXT-version of Kodak's > Photo CD toolkit? > - Does anybody care about the delay? Certainly I'm interested in it, or at least in seeing what they planned to do with it. Multi-media stuff is getting more interest around here, including mundane things like image-processing options. -- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu ITS Systems Programmer (handles NeXT-type mail) Rensselaer Polytechnic Institute; Troy NY USA
Newsgroups: comp.sys.next.programmer Subject: Escape sequences & strlen Message-ID: <1993Dec9.203527.7737@nic.csu.net> From: mclean@futon.SFSU.EDU (Emmett Mclean) Date: 9 Dec 93 20:35:26 PST Distribution: world Organization: San Francisco State University I am porting a C program which runs on BSD4.3 to the NeXT which has the following case statements : case '\.': case '\^': case '\$': The Objective C compiler then provides the following messages x.c:161: warning: unknown escape sequence `\.' x.c:576: warning: unknown escape sequence `\^' x.c:581: warning: unknown escape sequence `\$' What might be changed so that the compiler won't complain. Also, somewhere else in the program I get : x.h:68: warning: conflicting types for built-in function `strlen' Should I just cast the result of strlen to an int or is there a common hack which is used ? -e
Newsgroups: comp.sys.next.programmer From: BOOSC@EZINFO.VMSMAIL.ETHZ.CH (Chris Boos) Subject: Anybody working on SoundDrivers FIP ? Message-ID: <CHtCEu.MEr@bernina.ethz.ch> Sender: news@bernina.ethz.ch (USENET News System) Organization: ETH a school stuck in a dead city Date: Fri, 10 Dec 1993 09:44:51 GMT Hi there is there anybody ouit there working on sounddrivers for NeXT 3.2 FIP ? Esecialy fot: - Soundblaster Pro OPL3 - Soundblaster 16 - Soundblaster 16 ASP - Midia Vision ???? CHris
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: burns@sparc11.cs.uiuc.edu (Edward J. Burns) Subject: Midi and TuningSystem classes in MusikKit Message-ID: <CHtCp0.Mn5@sparc0a.cs.uiuc.edu> Sender: news@sparc0a.cs.uiuc.edu Organization: University of Illinois at Urbana-Champaign Date: Fri, 10 Dec 1993 09:50:59 GMT Please tolerate this impudent and probably unnecessary post, but I can't seem to get this work and I can't see why. I have a cheezy app that takes midi in and plays the pluck instrument. That part works fine, but I added a button to retune the NeXT's pitch tables from the most recently pressed key and pressing that button causes the sound to stop coming out. I looked in with a debugger, the frequencies coming back are all certainly valid. Everything looks fine, except for the fact that the sound ain't coming out. Any ideas? Ed Burns e-burns@uiuc.edu
Newsgroups: comp.sys.next.programmer From: jfr@aspen.pdh.com (Jon F. Rosen) Subject: problem with windows Message-ID: <CHsqC0.8uL@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. Date: Fri, 10 Dec 1993 01:47:59 GMT I am actually having two distinct problems, both with a particular window which is rather complex. The first problem appears to be truly random and results in the following gdb display: ------------------------------------------------------------------- Program generated(1): Memory access exception on address 0x556e7489 (invalid address). 0x50069cc in objc_msgSend () (gdb) bt #0 0x50069cc in objc_msgSend () #1 0x3fff87c in __loc1 () #2 0x6031d00 in -[View _resetCursorRects:] () #3 0x6030138 in subviewsPerform () #4 0x6031d1a in -[View _resetCursorRects:] () #5 0x6030138 in subviewsPerform () #6 0x6031d1a in -[View _resetCursorRects:] () #7 0x6030138 in subviewsPerform () #8 0x6031d1a in -[View _resetCursorRects:] () #9 0x6030138 in subviewsPerform () #10 0x6031d1a in -[View _resetCursorRects:] () #11 0x6030138 in subviewsPerform () #12 0x6031d1a in -[View _resetCursorRects:] () #13 0x6030138 in subviewsPerform () #14 0x6031d1a in -[View _resetCursorRects:] () #15 0x603525e in -[Window resetCursorRects] () #16 0x602e45a in -[Application run] () #17 0x1bb46 in main (argc=1, argv=0x3fffc18) at IMS_main.m:18 (gdb) ------------------------------------------------------------------- The window consists roughly of four box views. One contains just a radio switch matrix. Another contains a scroll list and an icon well. A third contains a scroll view with a matrix in it. The fourth box contains a set of text fields and labels. (Basically, this is a search window where the user will enter various parameters). Depending on the setting of the radio switch matrix, one or more of the boxes (except the switch matrix which is always active) will be disabled (by disabling any controls and greying any text). Each time the a switch matrix button is pressed, the 'button pressed' method for that button enables and disables the proper boxes. The problem occurs intermittently whenever you change the enabled/disabled states of one or more boxes and try to put the curson into one of the text fields, scroll view or browser in an active box. Since this is occuring in AppKit code, I wonder if there is anything common that someone else has seen that sounds similar to this problem, and what did you do to solve it (or end-run around it). I am not even sure where to start debugging something like this. The other major problem has to do with -disableDisplay and -reenableDisplay and -display. When I used -disableDisplay to turn off updates to the display until my modifications were completed, I would get a SegFault when I did a reenableDisplay. Again, the errors were deep in the reenableDisplay method under some subView, not apparently in my code. I don't have a trace for this problem but I will try to post one. Thanks for any help you can give me. Jon Rosen
From: krause@math.tu-berlin.de Newsgroups: comp.sys.next.programmer Subject: Any program for transforming c-code into rtf-format? Date: 10 Dec 1993 14:25:52 GMT Organization: TUBerlin/ZRZ Distribution: world Message-ID: <2ea0tg$t4e@mailgzrz.TU-Berlin.DE> Hi, does anybody know a program, which transforms C source code into nifty rtf-formatted code? --------------------------------------------------------------------- Martin Krause, Technical University Berlin, Department of Mathematics email : krause@math.tu-berlin.de
Newsgroups: comp.sys.next.programmer From: swv@string.harvard.edu (Steve Vandermark) Subject: Terminal Services (bug?) Message-ID: <1993Dec10.160441.5992@das.harvard.edu> Sender: usenet@das.harvard.edu (Network News) Organization: Division of Applied Sciences, Harvard University Date: Fri, 10 Dec 1993 16:04:41 GMT is anyone aware of the following apparent bug in Terminal.app (under NS3.0): it appears that if Terminal Services have not been initialized (eg, through the Info/Terminal Services menu item), then when one double-clicks on a .svcs file the services are not registered correctly. to be explicit, Terminal Services uses two files: NeXT/Terminal.svcs and .NeXT/services/Terminal. the first one is installed correctly, and the second is created but left empty. does anyone have an explanation for this problem and/or advice on how to recover elegantly when it happens?
From: pkron@corona.com (Peter Kron) Organization: Corona Design, Inc., Seattle, WA Distribution: world Date: Fri, 10 Dec 1993 08:30:11 PST Message-ID: <1993Dec10.163011.1626@corona.com> Newsgroups: comp.sys.next.programmer Subject: Re: returning NaN, Was: RUMOR-ATTACK.. References: <SCOTT.93Dec8230320@nic.gac.edu> From: scott@nic.gac.edu (Scott Hess) > A direct result of this idea is that I will always code > -free methods like: > > - free > { > anObject=[anObject free]; > return [super free]; > } > > Thus, even after the object is freed, if someone attempts > to go in and access the anObject instance variable (which > they may or may not still be _able_ to successfully > accomplish), they'll get a nil. Which is almost always > better than getting Yet Another pointer to invalid memory. This is a good point, and Scott goes on to discuss order of freeing things so that the object is always (as much as possible) in a consistent state. Also a good habit, more for the discipline it encourages than the code. The discipline will be a big plus in other areas, like multithreaded applications. But Scott goes on to suggest: > IMHO, the correct way to code -init* is as: > > - init > { > self=[super init]; > if( self) { > myInteger=10; > myId=[[AnObject allocFromZone:[self zone]] init]; > } > return self; > } This seems inappropriate and risky. Assigning to self is an unfortunate carryover from 1.0 Objective-C, which IMHO was "cleaned up" with the alloc/init paradigm. Assigning to self is risky at best because it is an ivar of a superclass, at worst because it is so central to the implementation of the messaging mechanism. By the way, in the tone of the original thread, shouldn't that line be--- :^) if ( tempzone = [self zone] && temp = [AnObject allocFromZone: tempzone] ) myId = [temp init]; As for initializing ivars to zero...I looked for smileys but I didn't see any, so I guess it's serious. True, it doesn't hurt and you'd have to work pretty hard to find a good example where the performance was significantly impacted. But it's noise. The language defines that the initial values of ivars is zero. It isn't particularly defensive to do it twice. --- NeXTMail:Peter_Kron@corona.com Corona Design, Inc. P.O. Box 51022 Seattle, WA 98115-1022
Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy From: mark@cyantic.com (Mark T. Dornfeld) Subject: Re: Kodak Photo CD API Organization: CYANTIC Systems Date: Fri, 10 Dec 1993 14:26:06 GMT Message-ID: <1993Dec10.142606.29166@cyantic.com> References: <CHIs59.2qv@SoftDesign.COM> <2e97lt$gaa@usenet.rpi.edu> In article <2e97lt$gaa@usenet.rpi.edu> gad@eclipse.its.rpi.edu (Garance A. Drosehn) writes: >roberto@SoftDesign.COM (Roberto Arrocha) writes: >> Let me re-state my question below: >> >> - Is anyone else interested in a NeXT-version of Kodak's >> Photo CD toolkit? >> - Does anybody care about the delay? > >Certainly I'm interested in it, or at least in seeing what they >planned to do with it. Multi-media stuff is getting more interest >around here, including mundane things like image-processing options. I'd like to see some Photo CD applications that will allow me to sequence, view, comment, and integrate into other apps my PCD images. I guess this requires the toolkit.... -- Mark T. Dornfeld, CYANTIC Systems Voice: (416) 234-9048 101 Subway Crescent Suite 2103 Facsimile: (416) 234-0477 Etobicoke, Ontario, M9B 6K4 CANADA Email: mark@cyantic.com
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Rendering a matrix and it's cells? Date: 10 Dec 1993 15:38:57 -0000 Organization: me organized? That's a joke! Message-ID: <2ea56h$57h@steffi.demon.co.uk> I am attempting to render a matrix's cells into an NXImage. Here's what I have. [aMatrix setFlipped:NO] [anImage lockFocus]; [aMatrix drawSelf:&frame :1]; [anImage unlockFocus]; [aMatrix setFlipped:YES] This draw the matrix fine however, the cell's contents are not displayed in the resulting image. How can I render the cell's contents?
From: tom@pdh.com (Tom Fitzgerald) Newsgroups: comp.sys.next.programmer Subject: service not being displayed on Service menu Date: 10 Dec 1993 15:41:07 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9312102138.AA19373@snowbird.pdh.com> I am trying to provide a service which just launches an application and opens a particular window without requiring anything from the pasteboard. According to NeXT documentation the minimum fields for a service specification are: Message: Port: Menu Item: My service specification file reads: ========================= Message: search Port: MYAPPxxxx Menu Item: MYAPPxxxx/Search Message: attributes Port: MYAPPxxxx Send Type: NXAsciiPboardType Menu Item: MYAPPxxxx/Open Attribute for Document ===================== When I run " make_services debug" this is the output: Message #14: <791> attributes Port: <770> MYAPPxxxx Send Type(s): (1) <35> NeXT plain ascii pasteboard type Menu Item(s): (89) <98> default, <802> MYAPPxxxx/Open Attribute for Document isHead: NO Next: 15 Head: 0 Message #15: <791> attributes Port: <770> MYAPPxxxx Send Type(s): (1) <35> NeXT plain ascii pasteboard type Menu Item(s): (89) <98> default, <802> MYAPPxxxx/Open Attribute for Document isHead: NO Next: 16 Head: 0 Only the Open Attriubute for Document appears on the menu. I am running 3.0. Any suggestions?? --- Tom Fitzgerald tom_fitzgerald@pdh.com (NeXT Mail OK) PDH, INC / 2635 N First St, Suite 224 / San Jose, CA 95134-2032 (408) 428-9596 / FAX (408) 428-9599
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: Re: Error handling Message-ID: <CHu4yB.83x@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems References: <2e8ckhINNetg@dns1.NMSU.Edu> Date: Fri, 10 Dec 1993 20:01:22 GMT Clay Goret writes > The exceptions I do know about are ADA exceptions. [decent description of Ada exceptions ommitted] NEXTSTEP does support exceptions that are very similar to the Ada exceptions that you describe, via the NX_RAISE(), and NXHANDLER macros. see /NextLibrary/Documentation/NextDev/Concepts/ExceptHandling.rtfd they are slightly nicer than the Ada exceptions in that you can pass arguments along with an exception, but slightly worse because the programmer (not the compiler/linker) is responsible for mapping exceptions to integers that are unique across the whole program. on the whole, they are quite comparable. They are very similar to the Ada exceptions you describe, which are also similar to exceptions in Eiffel, C++, CLU and even some forms of LISP. > In a OOP language (No flames from the ADA zealots, please), I am > not suthe exception should be passed to the super class, > the calling block, or both. certainly, the current exception behavior of propogating up the call stack should be preserved, but being able to register exception handlers for different classes is an interesting idea. A more typical NEXTSTEP approach seems to be to define delegate methods that are called in response to error conditions. that's pretty flexible. > I would think that a really robust OOP language would have a nice > way of dealing with error handling AKA exceptions. many including NEXTSTEP's Objective C do. > No flames from the ADA zealots, please this isnt a flame, you didnt say anything controversial about Ada at all, so why do you expect flames? you're only transgression was to misspell the name. Its Ada (named after a lady) not ADA (an acronym) just as its not c. -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
Newsgroups: comp.sys.next.programmer From: lloyd@world.std.com (Chris Lloyd) Subject: Re: returning NaN, Was: RUMOR-ATTACK.. Message-ID: <CHuALt.AKK@world.std.com> Organization: The World Public Access UNIX, Brookline, MA References: <SCOTT.93Dec8230320@nic.gac.edu> <1993Dec10.163011.1626@corona.com> Date: Fri, 10 Dec 1993 22:03:29 GMT In article <1993Dec10.163011.1626@corona.com> pkron@corona.com writes: >From: scott@nic.gac.edu (Scott Hess)>> IMHO, the correct way to code -init* is as: >> >> - init >> { >> self=[super init]; >> if( self) { >> myInteger=10; >> myId=[[AnObject allocFromZone:[self zone]] init]; >> } >> return self; >> } > >This seems inappropriate and risky. Assigning to self is an >unfortunate carryover from 1.0 Objective-C, which IMHO was "cleaned >up" with the alloc/init paradigm. Assigning to self is risky at best >because it is an ivar of a superclass, at worst because it is so >central to the implementation of the messaging mechanism. When I first saw that, I thought Scott was on drugs, but amusingly enough, the first two NeXT code examples I pulled out of Librarian used this convention - and they were recent DBkit examples. A lot of the older AppKit examples don't do this. It makes sense if you read his original explanation carefully. The case of [super init] returning 'nil', which should be propogated, is reason enough for me. Learn something new everyday! >As for initializing ivars to zero...I looked for smileys but I didn't >see any, so I guess it's serious. True, it doesn't hurt and you'd have >to work pretty hard to find a good example where the performance was >significantly impacted. But it's noise. The language defines that the >initial values of ivars is zero. It isn't particularly defensive to >do it twice. If you don't explicitly init an ivar in the -init method, it could leave one guessing in the future if it should have been. This gets important when you go back to code you wrote years ago and really don't remember all the gory details :) la la la, -- :: Christopher Lloyd :: Yrrid Incorporated :: lloyd@world.std.com :: :: boy, don't we all look _smashing_ in red. ::
From: trottibw@NeXTwork.Rose-Hulman.Edu Newsgroups: comp.sys.next.programmer Subject: Scroll View using Images Date: 10 Dec 1993 21:56:54 GMT Organization: Rose-Hulman Institute of Technology Message-ID: <2earb6$eev@master.cs.rose-hulman.edu> I have a program that I am working for where the drawing is done using images. (The draw commands are drawn to an image and when a "display" is done, the image is copied to the view.) What I want to know is how do you allow scroll bars when using this style. ie. When the picture is larger than the screen how can you use scroll bars to get a selected section on the screen. Any help would be greatly appreciated! Thanks in advance! ---- Barry Trottier e-mail: trottibw@nextwork.rose-hulman.edu
Newsgroups: comp.sys.next.programmer From: mike@lorax.com (Mike Ferris) Subject: Re: templates in C++ on NeXT Message-ID: <CHu417.Ay2@lorax.com> Sender: mike@lorax.com (Mike Ferris) Organization: Stultus Enterprises References: <1993Dec8.073853.22956@leland.Stanford.EDU> Date: Fri, 10 Dec 1993 19:41:30 GMT Hi, The version of gcc that next uses does not support c++ templates. The latest gcc (2.5.6 and quite a few versions prior to 2.5.6) does however. I don't know if it would be possible to use gcc 2.5.6 or whatever to compile your template stuff, then link it with your regular next code. However, it seems doubtful that mixed C++ and Obj-C with templates in the same source file could work. I do know that I have no problem building gcc 2.5.6 or using it to generate c++ programs (with templates) which run fine on the NextCube. ____________________________________________________________ Mike Ferris The end move in politics mike@lorax.com is to pick up a gun. Rubicon Software -Bucky Fuller (510) 652-2039
Newsgroups: comp.sys.next.programmer From: charles.herrick@amd.com Subject: popen error Message-ID: <CHuJLJ.JIB@dvorak.amd.com> Sender: news@dvorak.amd.com (Usenet News) Organization: Advanced Micro Devices, Austin TX Date: Sat, 11 Dec 1993 01:17:43 GMT Hello, I have a NEXT GUI which executes the following snippet: --- char command[1024]; FILE *stream; stream = popen(command,"r"); --- In gdb, print (char *) command yields: (gdb) print (char *) command $1 = 0x3fe6d10 "/usr/ucb/rsh ausun1 /amd/adm/tel jones" This command works fine in an interactive C-shell. However, stepping through the code in gdb yields: sh: privileges disabled because of outstanding IPC access to task rcmd: socket: Permission denied Having never had problems like this with popen(), I'm wondering what's wrong. I get the same error if I change the remote host from SUN-os to HP-sUX. Thoughts? Email appreciated. Thanks, Chuck -- Chuck Herrick PO Box 18804 Austin, TX 78760-8804 (512) 462-6248 (w) (512) 462-4812 (FAX) (512) 480-0757 (h) <charles.herrick@amd.com>
Newsgroups: comp.sys.next.programmer From: bau@cs.cornell.edu (David Bau) Subject: The right way to detect double clicks? Message-ID: <1993Dec11.051907.7675@cs.cornell.edu> Organization: Cornell Univ. CS Dept, Ithaca NY 14853 Date: Sat, 11 Dec 1993 05:19:07 GMT The Matrix and the Text object both detect double clicks, but there is no discussion how they do this anywhere in the General Reference. I'm trying to implement an object that will also detect double clicks. What's the right way to do this? e.g, if there is a Matrix with a Text Cell, who sees single clicks and when? Is it guaranteed that when one sees a double click the other will also? And how? I can guess answers to these questions, but I wonder if there is some authoritative protocol. Thanks. David
Newsgroups: comp.sys.next.programmer From: bau@cs.cornell.edu (David Bau) Subject: The time of the event (in hardware-dependent units?) Message-ID: <1993Dec11.053104.8103@cs.cornell.edu> Organization: Cornell Univ. CS Dept, Ithaca NY 14853 Date: Sat, 11 Dec 1993 05:31:04 GMT Another question. The long time field of NXEvent is advertised to be given in "hardware-dependent units". If that is the case, how can I tell *when* an event occurred in real time, esp with relation to another event (as in a double click). I must be missing something. Thanks again. David
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Re: Any program for transforming c-code into rtf-format? Message-ID: <1993Dec11.044704.2381@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software References: <2ea0tg$t4e@mailgzrz.TU-Berlin.DE> Date: Sat, 11 Dec 1993 04:47:04 GMT krause@math.tu-berlin.de writes >Hi, > >does anybody know a program, which transforms C source code >into nifty rtf-formatted code? There is a utility called m2rtf which does this using a flex-based approach. The author is Harald Schlangmann. If you want more information on this, contact me and I can get it for you. I don't want to give out Harald's email address to the world without his permission. Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax) Warning: The Surgeon General may be hazardous to your health!
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.lang.perl,comp.sys.next.programmer Subject: Building perl for NeXTSTEP : HERE'S HOW (LONG) Date: 11 Dec 1993 10:44:23 -0000 Organization: me organized? That's a joke! Message-ID: <2ec8a7$74a@steffi.demon.co.uk> Postings asking how to build perl under NeXTSTEP come up very often in this group so I decided to put together this tutorial in order to alliviate this problem. NOTE: For Mr Christiansen please archive this and add a pointer in the FAQ. This is certified for NS3.1. Building PERL 4PL36 for NeXTSTEP can be a tricky business owing the some assumptions made by Configure and NeXT's /usr/include/ tree. Common problems are Configure finding dirent.h before dir.h and thus defining both i_dirent and i_sys_dir in config.sh The most common mistake is entering /usr/include when it asks for this path. If you do this Configure then attempts to see if you have certain header files in order to determine what language features to support. So for instance if you entered /usr/include, during Configure it attempts to locate grp.h using test -f /usr/include/grp.h This file doesn't exist there under the NeXTSTEP's include tree thus it is necessary to enter /usr/include/bsd when it asks for the include path. Here is a transcript from a Configure session. root:/Users/robert/archives/perl-4.036>Configure 9:35 Beginning of configuration questions for perl kit. First let's make sure your kit is complete. Checking... Looks good... Checking your sh to see if it knows about # comments... Your sh handles # comments correctly. Okay, let's see if #! works on this system... It does. Checking out how to guarantee sh startup... Let's see if '#!/bin/sh' works... Yup, it does. Checking echo to see how to suppress newlines... ...using \c Type carriage return to continue. Your cursor should be here--> This installation shell script will examine your system and ask you questions to determine how the perl package should be installed. If you get stuck on a question, you may use a ! shell escape to start a subshell or execute a command. Many of the questions will have default answers in square brackets--typing carriage return will give you the default. On some of the questions which ask for file or directory names you are allowed to use the ~name construct to specify the login directory belonging to "name", even if you don't have a shell which knows about that. Questions where this is allowed will be marked "(~name ok)". [Type carriage return to continue] Much effort has been expended to ensure that this shell script will run on any Unix system. If despite that it blows up on you, your best bet is to edit Configure and run it again. Also, let me (lwall@netlabs.com) know how I blew it. If you can't run Configure for some reason, you'll have to generate a config.sh file by hand. This installation script affects things in two ways: 1) it may do direct variable substitutions on some of the files included in this kit, and 2) it builds a config.h file for inclusion in C programs. You may edit any of these files as the need arises after running this script. If you make a mistake on a question, there is no easy way to back up to it currently. The easiest thing to do is to edit config.sh and rerun all the SH files. Configure will offer to let you do this before it runs the SH files. [Type carriage return to continue] Locating common programs... cat is in /bin/cat. cp is in /bin/cp. echo is in /bin/echo. expr is in /bin/expr. grep is in /bin/grep. mkdir is in /bin/mkdir. mv is in /bin/mv. rm is in /bin/rm. sed is in /bin/sed. sort is in /usr/bin/sort. tr is in /usr/bin/tr. uniq is in /usr/bin/uniq. Don't worry if any of the following aren't found... I don't see Mcc out there, offhand. bison is in /usr/local/bin/bison. cpp is in /lib/cpp. csh is in /bin/csh. egrep is in /usr/bin/egrep. I don't see line out there, either. nroff is in /usr/bin/nroff. perl is in /usr/local/bin/perl. test is in /bin/test. I don't see uname out there, either. yacc is in /usr/bin/yacc. Using the test built into your sh. Checking compatibility between /bin/echo and builtin echo (if any)... They are not compatible! You are probably running ksh on a non-USG system. I'll have to use /bin/echo instead of the builtin, since Bourne shell doesn't have echo built in and we may have to run some Bourne shell scripts. That means I'll have to use -n to suppress newlines now. Life is ridiculous. Your cursor should be here--> First time through, eh? I have some defaults handy for the following systems: 3b1 dnix isc_3_2_2 sco_2_3_2 sunos_4_0_2 3b2 dynix isc_3_2_3 sco_2_3_3 svr4 aix_rs fps mc6000 sco_2_3_4 ti1500 aix_rt genix mips sco_3 titan altos486 greenhills mpc sgi ultrix_1 apollo_C6_7 hp9000_300 ncr_tower solaris_2_0 ultrix_3 apollo_C6_8 hp9000_400 next solaris_2_1 ultrix_4 aux hp9000_700 opus stellar unisysdynix cray hp9000_800 osf1 sunos_3_4 utekv dec_osf1 hpux sco_2_3_0 sunos_3_5 uts dgux i386 sco_2_3_1 sunos_4_0_1 vax (You may give one or more space-separated answers, or "none" if appropriate. If your OS version has no hints, do not give a wrong version--say "none".) Which of these apply, if any? [none] next perl has manual pages available in source form. If you don't want the manual sources installed, answer 'none'. Where do the manual pages (source) go (~name ok)? [/usr/man/man1] /usr/local/man/man1 Hmm... Doesn't look like a MIPS system. Where are the include files you want to use? [/usr/include] /usr/include/bsd /usr/include/ctype.h: No such file or directory Looks kind of like a BSD system, but we'll see... Congratulations. You aren't running Eunice. It's not Xenix... Nor is it Venix... Some systems have different model sizes. On most systems they are called small, medium, large, and huge. On the PDP11 they are called unsplit and split. If your system doesn't support different memory models, say "none". If you wish to force everything to one memory model, say "none" here and put the appropriate flags later when it asks you for other cc and ld flags. Venix systems may wish to put "none" and let the compiler figure things out. (In the following question multiple model names should be space separated.) Which models are supported? [none] Use which C compiler? [cc] Some C compilers have problems with their optimizers, by default, perl compiles with the -O flag to use the optimizer. Alternately, you might want to use the symbolic debugger, which uses the -g flag (on traditional Unix systems). Either flag can be specified here. To use neither flag, specify the word "none". What optimizer/debugger flag should be used? [-O] Your C compiler may want other flags. For this question you should include -I/whatever and -DWHATEVER flags and any other flags used by the C compiler, but you should NOT include libraries or ld flags like -lwhatever. For instance, this would be a good place to specify -DDEBUGGING. To use no flags, specify the word "none". Any additional cc flags? [ -I/usr/include] (C preprocessor flags: -I/usr/include) Any additional ld flags (NOT including libraries)? [none] Checking for optional libraries... Found -ldbm. Found -lsys_s. Some versions of Unix support shared libraries, which make executables smaller but make load time slightly longer. On some systems, mostly newer Unix System V's, the shared library is included by putting the option "-lc_s" as the last thing on the cc command line when linking. Other systems use shared libraries by default. There may be other libraries needed to compile perl on your machine as well. If your system needs the "-lc_s" option, include it here. Include any other special libraries here as well. Say "none" for none. Any additional libraries? [-ldbm -lsys_s] Checking alignment constraints... Doubles must be aligned on a how-many-byte boundary? [2] The following questions distinguish the directory in which executables reside from the directory in which they are installed (and from which they are presumably copied to the former directory by occult means). This distinction is often necessary under afs. On most other systems, however, the two directories are the same. In which directory will public executables reside (~name ok)? [/usr/local/bin] In which directory will public executables be installed (~name ok)? [/usr/local/bin] In the following, larger digits indicate more significance. A big-endian machine like a Pyramid or a Motorola 680?0 chip will come out to 4321. A little-endian machine like a Vax or an Intel 80?86 chip would be 1234. Other machines may have weird orders like 3412. A Cray will report 87654321. If the test program works the default is probably right. I'm now running the test program... (The test program ran ok.) What is the order of bytes in a long? [4321] Checking to see if your C compiler can cast weird floats to unsigned Yup, it does. Now, how can we feed standard input to your C preprocessor... Maybe "cc -E" will work... Nope...maybe "cc -E -" will work... Yup, it does. Your (shared) C library seems to be in /lib/libsys_s.a. If the guess above is wrong (which it might be if you're using a strange compiler, or your machine supports multiple models), you can override it here. Your C library is where? [/lib/libsys_s.a] Extracting names from the following files for later perusal: /lib/libsys_s.a /usr/lib/libdbm.a This may take a while...done bcmp() found bcopy() found Checking to see if your bcopy() can do overlapping copies... It can. bzero() found Your sprintf() returns (int). vprintf() found. Your vsprintf() returns (int). chsize() NOT found crypt() found. readdir() found dirent.h found. Some sites have disabled setuid #! scripts because of a bug in the kernel that prevents them from being secure. If you are on such a system, the setuid/setgid bits on scripts are currently useless. It is possible for perl to detect those bits and emulate setuid/setgid in a secure fashion until a better solution is devised for the kernel problem. Do you want to do setuid/setgid emulation? [n] dup2() found fchmod() found fchown() found fcntl() found You can have filenames longer than 14 characters. flock() found getgroups() found gethostent() found getpgrp() found getpgrp2() NOT found getpriority() found htonl() found Your system has both index() and strchr(). Shall I use index() rather than strchr()? [y] isascii() NOT found killpg() found lstat() found memcmp() found memcpy() found Checking to see if your memcpy() can do overlapping copies... It can't. memmove() found memset() found mkdir() found msgctl() NOT found msgget() NOT found msgsnd() NOT found msgrcv() NOT found You don't have the full msg*(2) library. Do you wish to attempt to use the malloc that comes with perl? [n] ndbm.h found. dbm.h found. Looks like you have Berkeley networking support. sys/file.h defines the O_* constants... and you have the 3 argument form of open(). pwd.h found. rename() found rewinddir() NOT found rmdir() found seekdir() found select() found semctl() NOT found semget() NOT found semop() NOT found You don't have the full sem*(2) library. setegid() found seteuid() found setpgrp() found setpgrp2() NOT found setpriority() found setregid() found setresgid() NOT found setreuid() found setresuid() NOT found setrgid() found setruid() found shmctl() NOT found shmget() NOT found shmat() NOT found shmdt() NOT found You don't have the full shm*(2) library. Your stat knows about block sizes. Your stdio is pretty std. Checking to see if your C compiler can copy structs... Yup, it can. strerror() found symlink() found syscall() found Testing to see which of <time.h>, <sys/time.h>, and <sys/select.h> should be included, because this application wants: struct timeval struct tm ctime(3) declarations I'm now running the test program... Trying -DI_SYS_TIME Succeeded with -DI_SYS_TIME telldir() found Configure: /usr/include/bsd/signal.h: cannot open You have void (*signal())() instead of int. truncate() found vfork() found Checking to see if your C compiler knows about "volatile"... Yup, it does. wait4() found waitpid() NOT found What type are groups ids returned by getgid(), etc.? [gid_t] (The following only matters if you have getgroups().) What type are the group ids returned by getgroups()? [int] Checking to see how big your integers are... What is the size of an integer (in bytes)? [4] The perl package has some auxiliary files that should be reside in a library that is accessible by everyone. Where should these "private" but accessible files reside? (~name ok) [/usr/local/lib/perl] On some systems (such as afs) you have to install the library files in a different directory to get them to go to the right place. Where should the library files be installed? (~name ok) [/usr/local/lib/perl] Checking to see how many bits your rand function produces... How many bits does your rand() function produce? [31] Some installations have a separate directory just for executable scripts so that they can mount it across multiple architectures but keep the scripts in one spot. You might, for example, have a subdirectory of /usr/share for this. Or you might just lump your scripts in with all your other executables. Where will publicly executable scripts reside (~name ok)? [/usr/local/bin] Some installations must install scripts in a different directory than where they will eventually reside. On most systems they're the same directory. Where do you install publicly executable scripts (~name ok)? [/usr/local/bin] Generating a list of signal names... Signals are: ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH LOST USR1 USR2 Your stdio uses signed chars. What type are user ids returned by getuid(), etc.? [uid_t] Checking to see how well your C compiler groks the void type... Support flag bits are: 1: basic void declarations. 2: arrays of pointers to functions returning void. 4: operations between pointers to and addresses of void functions. It appears to support void to the level perl wants (7). Your void support flags add up to what? [7] Which compiler compiler (yacc or bison -y) will you use? [/usr/bin/yacc] We don't need to <fcntl.h> if we include <sys/file.h>. gdbm.h NOT found. grp.h found. netinet/in.h found. We'll be including <sys/file.h>. sys/ioctl.h found. utime.h found. varargs.h found. No vfork.h found. End of configuration questions. Creating config.sh... Hmm...You had some extra variables I don't know about...I'll try to keep 'em... Propagating recommended variable $libswanted... Propagating recommended variable $usemymalloc... If you didn't make any mistakes, then just type a carriage return here. If you need to edit config.sh, do it as a shell escape here: ! ------------- At this point you can edit config.sh by escaping to the shell. Thus far the following have been indirectly defined in config.sh i_utime='define' i_dirent='define' both of these should be "undef" and make sure i_sys_dir='define' Here's the rest of the transcript Doing variable substitutions on .SH files... Extracting Makefile (with variable substitutions) Extracting c2ph (with variable substitutions) Extracting cflags (with variable substitutions) Extracting config.h (with variable substitutions) Extracting h2ph (with variable substitutions) Extracting makedepend (with variable substitutions) Extracting makedir (with variable substitutions) Extracting x2p/Makefile (with variable substitutions) Extracting cflags (with variable substitutions) Extracting find2perl (with variable substitutions) Extracting s2p (with variable substitutions) Now you need to generate make dependencies by running "make depend". You might prefer to run it in background: "make depend > makedepend.out &" It can take a while, so you might not want to run it right now. Run make depend now? [n] y test -f perly.h || cp /dev/null perly.h ./makedepend echo array.c cmd.c cons.c consarg.c doarg.c doio.c dolist.c dump.c eval.c form.c hash.c perl.c regcomp.c regexec.c stab.c str.c toke.c util.c usersub.c | tr ' ' '\012' >.clist Finding dependencies for array.o. Finding dependencies for cmd.o. Finding dependencies for cons.o. Finding dependencies for consarg.o. Finding dependencies for doarg.o. Finding dependencies for doio.o. Finding dependencies for dolist.o. Finding dependencies for dump.o. Finding dependencies for eval.o. Finding dependencies for form.o. Finding dependencies for hash.o. Finding dependencies for perl.o. Finding dependencies for regcomp.o. Finding dependencies for regexec.o. Finding dependencies for stab.o. Finding dependencies for str.o. Finding dependencies for toke.o. Finding dependencies for util.o. Finding dependencies for usersub.o. echo Makefile.SH makedepend.SH h2ph.SH | tr ' ' '\012' >.shlist Updating makefile... test -s perly.h || /bin/rm -f perly.h cd x2p; make depend ../makedepend echo hash.c str.c util.c walk.c | tr ' ' '\012' >.clist Finding dependencies for hash.o. Finding dependencies for str.o. Finding dependencies for util.o. Finding dependencies for walk.o. echo Makefile.SH makedepend.SH | tr ' ' '\012' >.shlist Updating makefile... Now you must run a make. root:/Users/robert/archives/perl-4.036>make 10:02 Expect 27 shift/reduce and 57 reduce/reduce conflicts /usr/bin/yacc -d perly.y conflicts: 27 shift/reduce, 57 reduce/reduce sh ./perly.fixer y.tab.c perly.c Patching perly.c to allow dynamic yacc stack allocation Assuming bsd4.3 yaccpar mv y.tab.h perly.h echo 'extern YYSTYPE yylval;' >>perly.h `sh cflags perly.o` perly.c CCCMD = cc -c -I/usr/include -O `sh cflags array.o` array.c CCCMD = cc -c -I/usr/include -O `sh cflags cmd.o` cmd.c CCCMD = cc -c -I/usr/include -O `sh cflags cons.o` cons.c CCCMD = cc -c -I/usr/include -O `sh cflags consarg.o` consarg.c CCCMD = cc -c -I/usr/include -O `sh cflags doarg.o` doarg.c CCCMD = cc -c -I/usr/include -O `sh cflags doio.o` doio.c CCCMD = cc -c -I/usr/include -O doio.c: In function `do_open': doio.c:294: warning: passing arg 2 of `getsockname' from incompatible pointer type doio.c: In function `do_bind': doio.c:1451: warning: passing arg 2 of `bind' from incompatible pointer type doio.c: In function `do_connect': doio.c:1482: warning: passing arg 2 of `connect' from incompatible pointer type doio.c: In function `do_getsockname': doio.c:1673: warning: passing arg 2 of `getsockname' from incompatible pointer type doio.c:1677: warning: passing arg 2 of `getpeername' from incompatible pointer type `sh cflags dolist.o` dolist.c CCCMD = cc -c -I/usr/include -O `sh cflags dump.o` dump.c CCCMD = cc -c -I/usr/include -O `sh cflags eval.o` eval.c CCCMD = cc -c -I/usr/include -O `sh cflags form.o` form.c CCCMD = cc -c -I/usr/include -O `sh cflags perl.o` perl.c CCCMD = cc -c -I/usr/include -O `sh cflags regcomp.o` regcomp.c CCCMD = cc -c -I/usr/include -O `sh cflags regexec.o` regexec.c CCCMD = cc -c -I/usr/include -O `sh cflags stab.o` stab.c CCCMD = cc -c -I/usr/include -O `sh cflags str.o` str.c CCCMD = cc -c -I/usr/include -O `sh cflags toke.o` toke.c CCCMD = cc -c -I/usr/include -O `sh cflags util.o` util.c CCCMD = cc -c -I/usr/include -O `sh cflags hash.o` hash.c CCCMD = cc -c -I/usr/include -O `sh cflags usersub.o` usersub.c CCCMD = cc -c -I/usr/include -O cc array.o cmd.o cons.o consarg.o doarg.o doio.o dolist.o dump.o eval.o form.o perl.o regcomp.o regexec.o stab.o str.o toke.o util.o hash.o perly.o usersub.o -ldbm -lsys_s -o perl rm -f tperly.c ln -s perly.c tperly.c `sh cflags tperly.o` -DTAINT tperly.c CCCMD = cc -c -I/usr/include -O rm -f tperly.c rm -f tperl.c ln -s perl.c tperl.c `sh cflags tperl.o` -DTAINT tperl.c CCCMD = cc -c -I/usr/include -O rm -f tperl.c rm -f tarray.c ln -s array.c tarray.c `sh cflags tarray.o` -DTAINT tarray.c CCCMD = cc -c -I/usr/include -O rm -f tarray.c rm -f tcmd.c ln -s cmd.c tcmd.c `sh cflags tcmd.o` -DTAINT tcmd.c CCCMD = cc -c -I/usr/include -O rm -f tcmd.c rm -f tcons.c ln -s cons.c tcons.c `sh cflags tcons.o` -DTAINT tcons.c CCCMD = cc -c -I/usr/include -O rm -f tcons.c rm -f tconsarg.c ln -s consarg.c tconsarg.c `sh cflags tconsarg.o` -DTAINT tconsarg.c CCCMD = cc -c -I/usr/include -O rm -f tconsarg.c rm -f tdoarg.c ln -s doarg.c tdoarg.c `sh cflags tdoarg.o` -DTAINT tdoarg.c CCCMD = cc -c -I/usr/include -O rm -f tdoarg.c rm -f tdoio.c ln -s doio.c tdoio.c `sh cflags tdoio.o` -DTAINT tdoio.c CCCMD = cc -c -I/usr/include -O tdoio.c: In function `do_open': tdoio.c:294: warning: passing arg 2 of `getsockname' from incompatible pointer type tdoio.c: In function `do_bind': tdoio.c:1451: warning: passing arg 2 of `bind' from incompatible pointer type tdoio.c: In function `do_connect': tdoio.c:1482: warning: passing arg 2 of `connect' from incompatible pointer type tdoio.c: In function `do_getsockname': tdoio.c:1673: warning: passing arg 2 of `getsockname' from incompatible pointer type tdoio.c:1677: warning: passing arg 2 of `getpeername' from incompatible pointer type rm -f tdoio.c rm -f tdolist.c ln -s dolist.c tdolist.c `sh cflags tdolist.o` -DTAINT tdolist.c CCCMD = cc -c -I/usr/include -O rm -f tdolist.c rm -f tdump.c ln -s dump.c tdump.c `sh cflags tdump.o` -DTAINT tdump.c CCCMD = cc -c -I/usr/include -O rm -f tdump.c rm -f teval.c ln -s eval.c teval.c `sh cflags teval.o` -DTAINT teval.c CCCMD = cc -c -I/usr/include -O rm -f teval.c rm -f tform.c ln -s form.c tform.c `sh cflags tform.o` -DTAINT tform.c CCCMD = cc -c -I/usr/include -O rm -f tform.c rm -f thash.c ln -s hash.c thash.c `sh cflags thash.o` -DTAINT thash.c CCCMD = cc -c -I/usr/include -O rm -f thash.c rm -f tregcomp.c ln -s regcomp.c tregcomp.c `sh cflags tregcomp.o` -DTAINT tregcomp.c CCCMD = cc -c -I/usr/include -O rm -f tregcomp.c rm -f tregexec.c ln -s regexec.c tregexec.c `sh cflags tregexec.o` -DTAINT tregexec.c CCCMD = cc -c -I/usr/include -O rm -f tregexec.c rm -f tstab.c ln -s stab.c tstab.c `sh cflags tstab.o` -DTAINT tstab.c CCCMD = cc -c -I/usr/include -O rm -f tstab.c rm -f tstr.c ln -s str.c tstr.c `sh cflags tstr.o` -DTAINT tstr.c CCCMD = cc -c -I/usr/include -O rm -f tstr.c rm -f ttoke.c ln -s toke.c ttoke.c `sh cflags ttoke.o` -DTAINT ttoke.c CCCMD = cc -c -I/usr/include -O rm -f ttoke.c rm -f tutil.c ln -s util.c tutil.c `sh cflags tutil.o` -DTAINT tutil.c CCCMD = cc -c -I/usr/include -O rm -f tutil.c cc tperl.o tarray.o tcmd.o tcons.o tconsarg.o tdoarg.o tdoio.o tdolist.o tdump.o teval.o tform.o thash.o tregcomp.o tregexec.o tstab.o tstr.o ttoke.o tutil.o tperly.o usersub.o -ldbm -lsys_s -o taintperl ld -r array.o cmd.o cons.o consarg.o doarg.o doio.o dolist.o dump.o eval.o form.o perl.o regcomp.o regexec.o stab.o str.o toke.o util.o hash.o perly.o -o uperl.o cd x2p; make all `sh cflags hash.o` hash.c CCCMD = cc -c -I/usr/include -O `sh cflags str.o` str.c CCCMD = cc -c -I/usr/include -O `sh cflags util.o` util.c CCCMD = cc -c -I/usr/include -O `sh cflags walk.o` walk.c CCCMD = cc -c -I/usr/include -O Expect 231 shift/reduce conflicts... /usr/bin/yacc a2p.y conflicts: 231 shift/reduce mv y.tab.c a2p.c `sh cflags a2p.o` a2p.c CCCMD = cc -c -I/usr/include -O cc hash.o str.o util.o walk.o a2p.o -ldbm -lsys_s -o a2p touch all touch all ------------ The keen obsverver would have noticed warnings like. doio.c:294: warning: passing arg 2 of `getsockname' from incompatible pointer type doio.c: In function `do_bind': doio.c:1451: warning: passing arg 2 of `bind' from incompatible pointer type doio.c: In function `do_connect': doio.c:1482: warning: passing arg 2 of `connect' from incompatible pointer type doio.c: In function `do_getsockname': doio.c:1673: warning: passing arg 2 of `getsockname' from incompatible pointer type doio.c:1677: warning: passing arg 2 of `getpeername' from incompatible pointer type If we look at the line 294 in doio.c will notice lines of the form. if (getsockname(fileno(fp), tokenbuf, &buflen) >= 0 Looking at the prototype for getsockname we notice. NAME getsockname - get socket name SYNOPSIS getsockname(s, name, namelen) int s; struct sockaddr *name; int *namelen; This means that it's second argument is a struct sockaddr pointer. Hence, to remove warnings you can explicitly cast "tokenbuf" in our last example with (struct sockaddr *)tokenbuf and the warnings will go away. After all of this "make test" looks like. root:/Users/robert/archives/perl-4.036>make test 10:20 cd t && chmod +x TEST */*.t cd t && (rm -f perl; ln -s ../perl perl) && ./perl TEST </dev/tty base/cond......ok base/if........ok base/lex.......ok base/pat.......ok base/term......ok comp/cmdopt....ok comp/cpp.......:10: unterminated string or character constant ok comp/decl......ok comp/multiline.ok comp/package...ok comp/script....ok comp/term......ok cmd/elsif......ok cmd/for........ok cmd/mod........ok cmd/subval.....ok cmd/switch.....ok cmd/while......ok io/argv........ok io/dup.........ok io/fs..........ok io/inplace.....ok io/pipe........ok io/print.......ok io/tell........ok op/append......ok op/array.......ok op/auto........ok op/chop........ok op/cond........ok op/dbm.........ok op/delete......ok op/do..........ok op/each........ok op/eval........ok op/exec........ok op/exp.........ok op/flip........ok op/fork........ok op/glob........ok op/goto........ok op/groups......ok op/index.......ok op/int.........ok op/join........ok op/list........ok op/local.......ok op/magic.......ok op/mkdir.......ok op/oct.........ok op/ord.........ok op/pack........ok op/pat.........ok op/push........ok op/range.......ok op/read........ok op/readdir.....ok op/regexp......ok op/repeat......ok op/s...........ok op/sleep.......ok op/sort........ok op/split.......ok op/sprintf.....ok op/stat........ok op/study.......ok op/substr......ok op/time........ok op/undef.......ok op/unshift.....ok op/vec.........ok op/write.......ok lib/big........ok All tests successful. u=1.033333 s=2.466667 cu=6.466667 cs=13.15 files=73 tests=1350 ---------- If anybody has any problems with building perl or would like to voice any inaccuracies in this document. You can mail me at robert@steffi.demon.co.uk (Robert Nicholson)
Newsgroups: comp.sys.next.programmer From: drebnord@betenoir.syr.edu (David A. Rebnord) Subject: Problem using ScrollViewDeluxe MiniExample Message-ID: <1993Dec10.115340.1434@newstand.syr.edu> Distribution: usa Date: Fri, 10 Dec 93 11:53:40 EST I'm trying to use the ScrollViewDeluxe MiniExample in application of my own. The ScrollViewDeluxe palette built without any problem. I loaded the palette into IB, added the .h, and .m files from the palette to my own project. Within IB the palette seems fine, but when I compile my own app using the ScrollViewDeluxe palette. I get the message: ld: Undefined symbols: objc_class_name_IBInspector and sure enough, this symbol is in the SVDInspector.o file, along with other similar symbols such as .objc_class_name_NXBundle
Newsgroups: comp.sys.next.programmer Subject: ftpClass? Message-ID: <1993Dec11.191037.138377@embl-heidelberg.de> From: tuparev@EMBL-Heidelberg.DE (Georg Tuparev) Date: 11 Dec 93 19:10:37 +0100 Hallo NSgurus! I'm looking for a good written (and documented) class(es) implementing ftp and/or telnet protocols. Any ideas? Thanks -- georg --
Newsgroups: comp.sys.next.programmer From: arunc@cc.nctu.edu.tw (Arun Chandra) Subject: conflicting types for "wait" Message-ID: <1993Dec11.015947.2696@debbie.cc.nctu.edu.tw> Sender: usenet@debbie.cc.nctu.edu.tw Organization: National Chiao Tung University Date: Sat, 11 Dec 1993 01:59:47 GMT I've installed gcc 2.5.6 under both NS 3.0 and 3.1. Under 3.1, there is a conflict between two definitions of "wait": {220}src> gcc -Wall call.c In file included from call.c:6: /usr/local/lib/gcc-lib/m68k-next-bsd/2.5.6/include/libc.h:71: confictilng types for `wait' /usr/local/lib/gcc-lib/m68k-next-bsd/2.5.6/include/sys/wait.h:201: previous declaration of `wait' {221}src> The problem doesn't occur under 3.0. I've ifdef'd the file "include/sys/wait.h" out, and the compilation and execution are successfull. Does anyone know why this file is needed, and what potential problems I'll run into if I leave this file out? Thanks in advance, Arun Chandra Institute of Applied Arts National Chiao Tung University Hsinchu, Taiwan 30050 arunc@cc.nctu.edu.tw
From: rfschtkt%banruc60.bitnet@cc1.kuleuven.ac.be Newsgroups: comp.sys.next.programmer Subject: Re: returning NaN, Was: RUMOR-ATTACK.. Date: 11 Dec 1993 15:28:37 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9312112123.AA19174@flexus> LS, Scott Hess' -init as cited by Peter Kron (maybe I'll read the preceding messages one day) is the only possible generally correct method. Note that the documentation contradicts itself here (surprise...): >>>>> (from 3.2 -[Object init] documentation) Subclass versions of this method should return the new object (self) after it has been successfully initialized. If it can't be initialized, they should free the object and return nil. In some cases, an init method might free the new object and return a substitute. Programs should therefore always use the object returned by init, and not necessarily the one returned by alloc or allocFromZone:, in subsequent code. [...] - init { [super init]; /* class-specific initialization goes here */ return self; } <<<<< Sigh! Yet another candidate for KBNS... Why would a subclass be less vulnerable to the possibility that a superclass would return a different object? Well, it's rare for this to happen, so it's unlikely you'll get stung by this. But right is right, and there's no ``risk'' involved in doing self=[super init] (self is nobody's ivar). About freeing: >>>>> /*These are macros to free things that (ultimately) rely on memory allocated for them (either through malloc or vm_allocate). The idea is to avoid dangling pointers at all times.*/ #define FFREE_MALLOC(p) (free(p),p=NULL) #define FREE_MALLOC(p) (p?FFREE_MALLOC(p):NULL) #define FFREE_FILE(p) (fclose(p),p=NULL) #define FREE_FILE(p) (p?FFREE_FILE(p):NULL) #define FFREE_PIPE(p) (pclose(p),p=NULL) #define FREE_PIPE(p) (p?FFREE_PIPE(p):NULL) #ifdef __OBJC__ #define FFREE_OBJECT(id) ([id free],id=nil) #define FREE_OBJECT(id) (id?FFREE_OBJECT(id):nil) #define FFREE_LIST(id) ([id freeObjects],[id free],id=nil) #define FREE_LIST(id) (id?FFREE_LIST(id):nil) #endif #ifdef NeXT #define FFREE_MEMORYSTREAM(p) (NXCloseMemory(p,NX_FREEBUFFER),p=NULL) #define FREE_MEMORYSTREAM(p) (p?FFREE_MEMORYSTREAM(p):NULL) #define FFREE_POPUPLISTBUTTON(id) ([[id target] free],[id free],id=nil) #define FREE_POPUPLISTBUTTON(id) (id?FFREE_POPUPLISTBUTTON(id):nil) #endif <<<<< Hoping this would be useful... Example of use: -free{ FREE_OBJECT(anObject); return [super free]; } Note that it is generally *not* correct to specify theId=[theId free], as everybody seems to think: if an object releases its reference to another object, it should not retain a pointer to it merely because some other object still has a reference (to spell it all out: if that other object does a successful free, the first object ends up with a dangling pointer). Does anyone have a non-hypothetical use for a return value of -free? [Other considerations suppressed.] Oh yes, this. If a .nib allocated a PopUpList aggregate (Button + PopUpList), how does the PopUpList get freed? The Button is in the View hierarchy, and a Window recursively frees its Views, but the Button doesn't know that it has a PopUpList as a target, so this will be a leak. Or not? Raf Raf Schietekat, RfSchtkt@banruc60.bitnet, Flanders, Belgium RfSchtkt%banruc60.bitnet@uunet.uu.net or so if the above does not work for you (real, i.e., with triangle in the Deliver button) NeXTmail preferred I can't reach sites with ! or % in their address, or ending in .at or .uucp
Newsgroups: comp.sys.next.programmer,comp.sys.next.misc From: aba@netcom.com (Alan Atlas) Subject: JOB -- NEXTSTEP/SQL, Bay Area Message-ID: <abaCHw3tu.tG@netcom.com> Sender: Alan Atlas Organization: Netcom - Online Communication Services (408 241-9760 guest) Distribution: usa Date: Sat, 11 Dec 1993 21:32:17 GMT Sarrus Software, a leading supplier of group-oriented software for NEXTSTEP, is seeking an Objective-C or C++ engineer with 3+ years industry experience to work on the next version of our market-leading group scheduling software. Located in Foster City, CA, Sarrus is a small startup company with expanding opportunities. Our teams are very small, we allow a lot of independent work and need someone who can manage themselves, plan projects, and meet dates. Your experience should include some or all of these (listed in order of importance): OOP SQL C++ or Objective C NEXTSTEP UNIX Windows Must be self-motivated, enjoy contact with customers, and have excellent oral and written communication skills. We would prefer someone local to the Bay Area, but are not ruling out some relocation for a *really* excellent candidate. For consideration, send ascii resume to this account: aba@netcom.com OR Send NEXTMail to alan@sarrus.com OR fax to (714)707-5720 OR snail mail to: Alan Atlas Sarrus Software 24331 Muirlands #4 Suite 424 Lake Forest, CA 92630 ------PRINCIPALS ONLY PLEASE------------- -- ------------------------------------------------------------------------- Alan Atlas (714)707-5705 aba@netcom.com NEXTMail to alan@sarrus.com --------------------------------------------------------------------------
From: alvin@cheddar.cse.ucsc.edu (Alvin Jee) Newsgroups: comp.sys.next.programmer Subject: Intel Pro/GX audio switch Date: 11 Dec 1993 22:55:33 GMT Organization: University of California, Santa Cruz Message-ID: <2edj55$1m2@darkstar.UCSC.EDU> Hello! Does anybody know how to get the audio circuits of the Pro/GX to switch between line in/out and mic-headphone in/out? The hardware guide for the machine says it can do both and there's a floppy with a MS-Windows (ick!) driver that allows the user to switch the mode of the audio I/O. Can the NS 3.2 Pro/GX driver do that too? It would be real unpleasant to have to create my own driver and also reverse engineer the MS-Windows (did I say "ick"?) driver. -- Alvin Jee e-mail: alvin@cse.ucsc.edu NeXTMail gleefully accepted!
From: alvin@cheddar.cse.ucsc.edu (Alvin Jee) Newsgroups: comp.sys.next.programmer Subject: Animated App Icons? Date: 11 Dec 1993 23:08:04 GMT Organization: University of California, Santa Cruz Message-ID: <2edjsk$1ug@darkstar.UCSC.EDU> Hello! How does one go about having animation occur in the app icon? I tried using the app's appIcon and setting its miniwindow icon, but apparently, that's not the way to go. Do I need to add a subview and all that to the appIcon window to do this correctly? Thanks! -- Alvin Jee e-mail: alvin@cse.ucsc.edu NeXTMail gleefully accepted!
Newsgroups: comp.sys.next.programmer From: roberto@SoftDesign.COM (Roberto Arrocha) Subject: TextField selection Message-ID: <CHvLrK.tK@SoftDesign.COM> Keywords: NeXT Appkit Sender: roberto@SoftDesign.COM (Roberto Arrocha) Organization: SoftDesign, Inc. Date: Sat, 11 Dec 1993 15:02:08 GMT Objective: to show text/character selection w/in a TextField by changing the selection's text gray (ala Text's setSelGray:), BUT avoid highlighting the selection's background? This could be accomplished by either - setting the selection's background to match the TextField's background. ..or by - turning selection highlighting off. I believe either of these two methods would achieve the desired result. The question is how to implement it. What I've tried, thus far, has not worked. Is there example code somewhere that shows how to do this? Any other suggestions? Thanks. -- Roberto SoftDesign, Inc.
From: rogata@is-next.umd.edu (Richard Scott Ogata) Newsgroups: comp.sys.next.programmer Subject: Storing RTFD with IXRecordManager Date: 12 Dec 1993 05:05:41 GMT Organization: University of Maryland, College Park Message-ID: <2ee8r5$nrm@umd5.umd.edu> Does anyone have any ideas regarding the storage of Text objects containing RTFD data using an IXRecordManager? I would like to have record objects that contain several char strings, and the contents of a single RTFD text field. The problem is, I'm coming up blank on how to get the RTFD text into an instance variable of my record class so it can be serialized or stored using the IXBlobWriting protocol. The only way I know to get the RTFD data out of the text object is via the writeRTFDTo: method, which writes onto an NXStream. At this point, what can I do? I can write the data to a file, which does me no good. I don't know the format or the length of the "serialized" RTFD data, so I can't get it out of the stream using NXRead or NXScanf. Is there some method of writing NXStreams into IXStore files that I'm unaware of? Or perhaps I'm going about this all wrong. Any clues or comments appreciated. Rich Ogata
From: suckow@uropax.contrib.de (Ralf Suckow) Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer,de.comp.sys.next Subject: Q: PDO - what's in there, what it's based on? Date: 12 Dec 1993 16:16:31 +0100 Organization: Contributed Software GbR Message-ID: <2efckf$5ar@uropax.contrib.de> I need to get the following information concerning NeXT's Q.IV/93 PDO for HP-UX offer: What software does it contain (libraries, tools)? Which HP-UX basic services is it based on (lacking Mach-Ports and -Messages)? I would be very grateful if anybody could help me. Sorry if it was already answered in this group before, and I missed it. Does anybody have an idea what PDO will be based on in the Solaris (i.e. SVR4) port? Thanks in advance, Ralf -- Ralf Suckow, Berlin | suckow@contrib.de | Do you think it's difficult to speak Russian? Contributed Software | Every Moscow kid aged 5 years speaks it perfectly. only delivers my mail.|
Newsgroups: comp.sys.next.programmer Subject: Re: Animated App Icons? Message-ID: <1993Dec12.164155.138378@embl-heidelberg.de> From: tuparev@EMBL-Heidelberg.DE (Georg Tuparev) Date: 12 Dec 93 16:41:55 +0100 References: <2edjsk$1ug@darkstar.UCSC.EDU> In article <2edjsk$1ug@darkstar.UCSC.EDU> writes: > How does one go about having animation occur in the app icon? I tried using > the app's appIcon and setting its miniwindow icon, but apparently, that's not > the way to go. Do I need to add a subview and all that to the appIcon window > to do this correctly? Take a look in Garfinkel & Mahoney's Step One (pp.353 - Animation in an Info Panel) -- georg --
Newsgroups: comp.sys.next.programmer From: tom@basil.icce.rug.nl (Tom R.Hageman) Subject: Re: returning NaN, Was: RUMOR-ATTACK.. Message-ID: <CHxo3J.EL@basil.icce.rug.nl> Sender: tom@basil.icce.rug.nl (Tom R.Hageman) Organization: Lofty Waters References: <SCOTT.93Dec8230320@nic.gac.edu> Date: Sun, 12 Dec 1993 17:47:43 GMT In article <SCOTT.93Dec8230320@nic.gac.edu> scott@nic.gak.edu (Scott Hess) writes: [some good points about being defensive in -free* methods deleted] > IMHO, the correct way to code -init* is as: > > - init > { > self=[super init]; > if( self) { > myInteger=10; > myId=[[AnObject allocFromZone:[self zone]] init]; > } > return self; > } > > [One assumption you might note that I still make (for now) is that > (id)0 will evaluate to false in an if() statement. It's probably > a safe assumption, but an explicit self!=nil is more precise.] You worry too much;-) As far as I understand C, if (expression) is equivalent to if ((expression) != 0) and through implicit type conversion this is equivalent to (in pseudo-C, or a GNU C language extension): if ((expression) != (typeof(expression)) 0) [Note that this last conversion is important for architectures that have a NULL pointer representation different from the conventional `bitwise 0' representation.] It's constructs like these that make C such a wonderfully concise, terse, obfuscating language;-) On the other hand you may have a point, if you want to avoid the havoc wreaked when some sick soul decrees that `nil' should stand for something else than a NULL pointer... -- __/__/__/__/ Tom Hageman (tom@basil.icce.rug.nl) [NeXTMail accepted] __/ __/_/ __/__/__/ "...to baldly go where no man has gone before." __/ _/_/ -- star trek TNG
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: An Understanding issue: The Text Object Date: 13 Dec 1993 00:00:28 -0000 Organization: me organized? That's a joke! Message-ID: <2egbas$8mo@steffi.demon.co.uk> Throughout my hacking this weekend I've discovered that the Text Object or Windows field editor that Cell uses to render Text will not render in anything that is off screen. This includes an NXImage which has been lockFocused and any offscreen windows that are not in the window list. So Why? Am I missing something here?
Newsgroups: comp.sys.next.programmer From: ak866@FreeNet.Carleton.CA (Steven Besler) Subject: Re: returning NaN, Was: RUMOR-ATTACK.. Message-ID: <CHy4vq.IH9@freenet.carleton.ca> Sender: news@freenet.carleton.ca Organization: The National Capital FreeNet References: <CHxo3J.EL@basil.icce.rug.nl> <SCOTT.93Dec8230320@nic.gac.edu> Date: Sun, 12 Dec 1993 23:50:14 GMT In a previous article, tom@basil.icce.rug.nl (Tom R.Hageman) says: >On the other hand you may have a point, if you want to avoid the havoc wreaked >when some sick soul decrees that `nil' should stand for something else than a >NULL pointer... from objc.h : #define nil (id)0 So if ( idvar ) is good enough for me. I like to read this as "if idvar exists" Flame me if you want. ;-) Steve -- Steven K. Besler | Life fluctuates between boredom, fascination, and ak866@freenet.carleton.ca | panic; punctuated by sleep, alcohol, and caffeine.
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: Re: returning NaN, Was: RUMOR-ATTACK.. Message-ID: <CHy0GK.B3H@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems References: <9312112123.AA19174@flexus> Date: Sun, 12 Dec 1993 22:14:44 GMT rfschtkt%banruc60.bitnet@cc1.kuleuven.ac.be writes > Note that it is generally *not* correct to specify theId=[theId free], > as everybody seems to think: sure it is. that's exactly what you want to do. > if an object releases its reference to another object, it should > not retain a pointer to it exactly, which is the whole reason for assigning the return value from free, to replace the old pointer to theId with nil -- assuming free returns nil. > If a .nib allocated a PopUpList aggregate (Button + PopUpList), > how does the PopUpList get freed? The Button is in the View > hierarchy, and a Window recursively frees its Views, but the > Button doesn't know that it has a PopUpList as a target, so this > will be a leak. see NeXTAnswer 1403 -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
From: leuschr@b103-3.Rose-Hulman.Edu (Rainer Leuschke) Newsgroups: comp.sys.next.programmer Subject: gdb Date: 13 Dec 1993 02:08:56 GMT Organization: Rose-Hulman Institute of Technology Message-ID: <2egiro$679@master.cs.rose-hulman.edu> Dear internetters, Sorry, if this appears to be a trivial question: I use gdb from inside Edit. If I simply set breakpoints in my source code and try to inspect the frames with the framebrowser some of my instance variables as well as some of my local variables seem to be non-existent. Please e-mail reply. later, rainer -- Rainer Leuschke leuschr@nextwork.rose-hulman.edu
From: ricardo@ughtas.pencom.com (Ricardo Parada) Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy,comp.sys.dec.micro,comp.sys.powerpc,comp.sys.dec Subject: OPENSTEP on Alpha OSF/1 and PowerPC Mach Date: 13 Dec 1993 04:55:18 GMT Organization: Pencom Sofware Message-ID: <2egsjm$h3u@digdug.pencom.com> Since NeXT Computer Inc. made the OPENSTEP announcement I have wondered what platforms are the easiest to get OPENSTEP up and running. Being NEXTSTEP implemented on top of Mach, those platforms that have Mach are the most likely to have OPENSTEP. IBM has Mach on PowerPC. DEC with OSF/1 on Alpha probably does, I'm not sure. Is there anyone out there that has had some experiences with OSF/1 on workstations with the Alpha chip? Does it have Mach 3.0? What areas specifically does the Mach 3.0 API and NeXT's Mach differ? I've done a lot of NeXT Mach programming but none Mach 3.0 programming. All the examples I have tried from my book "Programming under Mach" compile under NEXTSTEP for example. Are most of the differences transparent (i.e. BSD compatibility via a personality module as oppossed to BSD inside the kernel). I've read or heard (don't remember) that they differ in advanced features that are used by database implementors to increase performance (i.e. allowing for custom memory pagers for example as oppossed to Mach's default memory pager doing the paging). If DEC has Mach 3.0 already on their OSF/1 operating system then it would be smart of them to go quickly with an OPENSTEP implementation. Who cares about NT at this point. Really the only advantage I see is that you don't pay to run DOS/Windows programs. But if I'm getting OPENSTEP I don't care paying for SoftPC. It does a great job on the Intel platform, and eventually ALL the apps will be NEXTSTEP/OPENSTEP apps because they are nicer to use, highly integrated and very high quality. At least on NEXTSTEP they are. IBM doing the same thing with OPENSTEP makes sense to me too. Most of the Mach 3.0 documents that I have read have come from IBM so I guess they really like and appreciate Mach. It would make sense for them to also have OPENSTEP on their Mach. Besides the PowerPC platform is suppossed to be an open platform and run all kinds of operating systems (or enviroments, i.e. OPENSTEP). They are already doing NT on the PowerPC so why not OPENSTEP that has such a great programming object-oriented environment, better than anything I've seen. And it's hard to think of something better or more elegant than NEXTSTEP. If the Mach API that NEXTSTEP was implemented with is still present on the other Mach versions the it would be easy for vendors that already have Mach to get OPENSTEP up and running once they license the code from NeXT. If OPENSTEP includes the protocols such as drag and drop and filter services it would make the user environment feel just like NEXTSTEP. If they implement equivalents to Mail or the Workspace Manager one can still drag and drop a picture from Mail and have it converted to an appropriate format transparently by the filter service and put it right on a Diagram document for example. That would be amazing. "Advanced operating systems reaching the ease of use of the Macintosh and NEXTSTEP!" -- What I've always dreamed of. This is what really makes OPENSTEP attractive to me as a programmer and as a user. _______________________________________________________________________ Ricardo J. Parada Pencom Software Austin, Texas I'm a happy NEXTSTEP/Intel user operating in a roomy 1408 x 1024 15-bit color screen with 16 icons on the Dock. NeXTMail Welcome: ricardo@pencom.com _______________________________________________________________________
From: sanguish@digifix.com Newsgroups: comp.sys.next.announce,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.advocacy,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.bugs,comp.sys.next.programmer,comp.sys.next.marketplace Subject: Quick Guide to NEXTSTEP information on the Internet Date: 13 Dec 1993 00:31:46 -0500 Organization: Next Announcements Message-ID: <2eguo2$e4c@digifix.digifix.com> This post is made weekly, to help 'point' users to more NEXTSTEP information Topics include: comp.sys.next newsgroups related newsgroups comp.sys.next newsgroups mailing list ftp sites NeXTanswers comp.sys.next.* newsgroups -------------------------- 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. Comp.Sys.Next.Announce Announcements of general interest to the NeXT community (new products, FTP submissions, user group meetings, commercial announcements etc.) The NEXTSTEP FAQs are posted here monthly as well. 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. 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. 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. 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. 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!!! Comp.Sys.Next.Programmer Questions and discussions of interest to NEXTSTEP programmers. This is primarily a forum for advanced technical material. The NEXTSTEP programmer FAQs are posted here. 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. Comp.Sys.Next.Software This is a place to talk about [third party] software products that run on NEXTSTEP systems. Comp.Sys.Next.Sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. related Newsgroups ------------------ 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. Comp.Lang.Objective-C Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. 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-d next-advocacy-d next-announce-d next-bugs-d next-hardware-d next-marketplace-d next-misc-d next-programmer-d next-software-d next-sysadmin-d (For a full description, send mail saying LISTS to <digestif@antigone.com>). The subscription syntax is essentially the same as LISTSERV's. To subscribe, send a message to <digestif@antigone.com> saying: SUB Listname YourName Example: SUB next-hardware-d John Doe The ftp sites ------------- cs.orst.edu: The main site for North American submissions nova.cc.purdue.edu: Lots of older stuff, but very short on disk space ftp.informatik.uni-muenchen.de: In Germany. ftp.next.com: See the below ftp.next.com and NextAnswers@next.com ------------------------------------- From the document 1000_Help from ftp.next.com 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, or you can transfer them by anonymous ftp. 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 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 <your-address> 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 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. Written by: Eric P. Scott eps@toaster.SFSU.EDU and Scott Anguish sanguish@digifix.com Additions from: Greg Anderson (Greg_Anderson@afs.com) and Michael Pizolato (Michael_Pizolato@afs.com)
Newsgroups: comp.sys.next.programmer From: uunet!lkba!lkb (Larry Blische) Subject: Problems with SuperDebugger? Message-ID: <1993Dec11.144314.579@lkba.uucp> Sender: lkb@lkba.uucp (Larry Blische) Organization: LKB Associates, Inc. Date: Sat, 11 Dec 1993 14:43:14 GMT Is anyone else having problems with SuperDebugger after doing a 3.2 upgrade? I'm having difficulty with the stack frame inspector in both version 3.6 and the new 3.7 but I can't remember if the problem predated the NS 3.2 upgrade. The inspector appears but dosen't list the stack frame or any local variables. The only other clue is that during startup I get the message: "Problem communicating with Editor." after openning the file to debug. Thanks --- Larry Blische lkba!lkb@uunet.UU.NET LKB Associates, Inc. NeXTmail Welcome! 3118 Dunglow Road 410 285 2262 Dundalk, Maryland 21222-5304 USA
Newsgroups: comp.sys.next.programmer From: arunc@cc.nctu.edu.tw (Arun Chandra) Subject: PSWrap/PostScript question Message-ID: <1993Dec13.074014.16351@debbie.cc.nctu.edu.tw> Sender: usenet@debbie.cc.nctu.edu.tw Organization: National Chiao Tung University Date: Mon, 13 Dec 1993 07:40:14 GMT I'm new to PostScript programming, and I believe I'm making some trivial error in the PostScript code. The program is intended to plot one state of a constantly transforming waveform. If I break it up, and do most of the calculations in C, then it works properly. In the attempt to reduce the number of calls to the Window, I'm trying to put the drawing and calculation loop into PostScript. I belive that the values for y2 are not being correctly calculated, and I can't figure out why. I suspect the problem is in the line /y2 buffer i get yScale mul def and that I'm not extracting values from the array buffer correctly, but I'm not sure. The entire PSWrap function is given below. Can anyone tell me if this is correct PostScript coding or not? Thanks for any advice, Arun Chandra arunc@cc.nctu.edu.tw --------------------------------------------------- defineps drawState(double xInc, yScale, xMax, yMax; short buffer[len]; int len) /x1 0.0 def % initialize values /y1 yMax 2 div def /x2 0.0 def /y2 0.0 def /i 0 def 1 setgray % erase previous plot 0 0 xMax yMax rectfill 0 setgray i 1 len % draw current state { /y2 buffer i get yScale mul def x1 y1 moveto x2 y2 lineto /x1 x2 def /y1 y2 def /x2 x2 xInc add def } for stroke endps
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: PSWrap/PostScript question Message-ID: <1993Dec13.095921.25883@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Dec13.074014.16351@debbie.cc.nctu.edu.tw> Date: Mon, 13 Dec 1993 09:59:21 GMT The PostScript "for" operator pushes its control variable on the operand stack before each iteration; it does not alter the value of any key in the current dictionary. % pft 1 2 10 { = } for 1 3 5 7 9 See if you can find a good book on PostScript programming. It's different from what you're used to. -=EPS=-
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: Escape sequences & strlen Message-ID: <1993Dec13.092530.6450@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <1993Dec9.203527.7737@nic.csu.net> Date: Mon, 13 Dec 93 09:25:30 GMT In article <1993Dec9.203527.7737@nic.csu.net> writes: > I am porting a C program which runs on BSD4.3 to the NeXT which > has the following case statements : > > case '\.': > case '\^': > case '\$': > > The Objective C compiler then provides the following messages > > x.c:161: warning: unknown escape sequence `\.' > x.c:576: warning: unknown escape sequence `\^' > x.c:581: warning: unknown escape sequence `\$' > > What might be changed so that the compiler won't complain. What should these characters mean? C uses the following escape characters: \n, \t, \v, \b, \r, \f, \\, \', \", \a, \?. No more. You should try to use just '.', '^' and '$'. > Also, somewhere else in the program I get : > > x.h:68: warning: conflicting types for built-in function `strlen' > > Should I just cast the result of strlen to an int or is there > a common hack which is used ? > No. You simply should not declare a function which you get from a standard header file. So take line 68 in x.h out. Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not (+49) 40 / 380 23-290 (Fax ) And am content with all
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: Scroll View using Images Message-ID: <1993Dec13.094713.8577@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <2earb6$eev@master.cs.rose-hulman.edu> Date: Mon, 13 Dec 93 09:47:13 GMT In article <2earb6$eev@master.cs.rose-hulman.edu> trottibw@NeXTwork.Rose-Hulman.Edu writes: > I have a program that I am working for where the drawing is done using > images. (The draw commands are drawn to an image and when a "display" is > done, the image is copied to the view.) > > What I want to know is how do you allow scroll bars when using this style. > ie. When the picture is larger than the screen how can you use scroll bars > to get a selected section on the screen. > Group your ImageView in a ScrollView and make it allways as big as your image... Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not (+49) 40 / 380 23-290 (Fax ) And am content with all
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Using a MenuCell subclass in IB? Date: 13 Dec 1993 11:06:19 -0000 Organization: me organized? That's a joke! Message-ID: <2ehibb$p1@steffi.demon.co.uk> I wish to use a menuCell subclass which has it's own target as an instance variable. Basically, I want to add functionallity to an app merely but dragging and droping the menu cell on the Apps Menu in IB. Is this possible? This information will have to be saved inside the nib.... If you look at how IB's Menus.nib does things you will see what it just uses buttons and maps them to regular MenuCell instances. Because I want to wrap up the functionallity into a single object I need to be able to specify my own MenuCell subclass instance. Obviously, I can choose to make a custom object palette and use a regular menu cell (which is probably what I will have to do) but I'm curious to know if it is possible to palettize a menucell subclass and still be able to drag and drop it thru IB. I think it really depends on how IB creates it's menucells when you drag and drop. I fear the makeCellAt: will just be copying some predefined prototype or instanatiating a MenuCell class directly.
From: beneke@uni-muenster.de (Wolfgang Beneke) Newsgroups: comp.sys.next.programmer Subject: DELEGATE OR SUBCLASS ?? Date: 13 Dec 1993 12:05:56 GMT Organization: Westfaelische Wilhelms-Universitaet Muenster, Germany Message-ID: <2ehlr4$svq@obelix.uni-muenster.de> Hello, NextStep gives programmers two possibilities to get specific control of AppKitClass Objects. Does anyone know the advantage of the delegate concept. I cannot see an advantage in comparison with building subclasses. Wolfgang Beneke (Wi-WoBe) e-mail: beneke@uni-muenster.de)
Newsgroups: comp.sys.next.programmer From: bbum@friday.com Subject: Re: Escape sequences & strlen Message-ID: <CHvuCG.19w@friday.com> Sender: bbum@friday.com (Bill Bumgarner) Organization: Friday Software & Consulting; a virtual company References: <1993Dec9.203527.7737@nic.csu.net> Date: Sat, 11 Dec 1993 18:07:28 GMT writes > I am porting a C program which runs on BSD4.3 to the NeXT which > has the following case statements : > > case '\.': > case '\^': > case '\$': > > The Objective C compiler then provides the following messages > > x.c:161: warning: unknown escape sequence `\.' > x.c:576: warning: unknown escape sequence `\^' > x.c:581: warning: unknown escape sequence `\$' > > What might be changed so that the compiler won't complain. Basically, just remove the '\' from the three escaped characters. Those three escape sequences are not supported under ANSI C (mainly because they are not necessary). K&R (among other books) has a table of supported escape sequences somewhere, if you are interested in having a definitive list of escape sequences. Question: When the compiler encounters an unknown escape sequence, does it use '\' or the value of the 'scaped character? > Also, somewhere else in the program I get : > > x.h:68: warning: conflicting types for built-in function `strlen' > > Should I just cast the result of strlen to an int or is there > a common hack which is used ? Sounds like "x.h" has a declaration of strlen that is in conflict with what is declared in the system header files. Remove the declaration from x.h and everything should be happy again.... > -e > -- b.bum <bbum@friday.com> | "blah blah blah" WhiteLight Systems, INC. | - someone somewhere
From: fxg@gimli.tolkien.imib.rwth-aachen.de (Felix Gatzemeier #Alwd#) Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin Subject: Re: pword? Indexing kit help. Date: 13 Dec 1993 12:16:02 GMT Organization: Rechnerbetrieb Informatik - RWTH Aachen Message-ID: <FXG.93Dec13131603@gimli.tolkien.imib.rwth-aachen.de> References: <1993Dec6.130312.8044@zion.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-reply-to: david@zion.com's message of Mon, 6 Dec 1993 13:03:12 GMT I don't think that pword is involved in the indexing kit that much. As far as I remember, it's a rather antique tool that scans text for "peculiar words" and prints readability statistics. It should be a general UNIX prog, but it's not available on the ULTRIX machine I'm using here. -- Felix +-------------------------------+ | Groesstmoeglicher Erfolg | | oder | | eine vernuenftige Alternative | +-------------------------------+ (Haegar, zu finden in der letzten (?) Was'N Los?, FS-Organ der I/1) (If you don't speak german, mail me for a translation.) (fxg@(([Pool|I3].Informatik)|(Tolkien.ImIB)).RWTH-Aachen.de NeXT-Mail ok, but slow)
From: fxg@gimli.tolkien.imib.rwth-aachen.de (Felix Gatzemeier #Alwd#) Newsgroups: comp.sys.next.programmer Subject: Re: returning NaN, Was: RUMOR-ATTACK.. Date: 13 Dec 1993 12:32:15 GMT Organization: Rechnerbetrieb Informatik - RWTH Aachen Message-ID: <FXG.93Dec13133215@gimli.tolkien.imib.rwth-aachen.de> References: <SCOTT.93Dec8230320@nic.gac.edu> <CHxo3J.EL@basil.icce.rug.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-reply-to: tom@basil.icce.rug.nl's message of Sun, 12 Dec 1993 17:47:43 GMT In article <CHxo3J.EL@basil.icce.rug.nl> tom@basil.icce.rug.nl (Tom R.Hageman) writes: Newsgroups: comp.sys.next.programmer From: tom@basil.icce.rug.nl (Tom R.Hageman) Sender: tom@basil.icce.rug.nl (Tom R.Hageman) Reply-To: tom@basil.icce.rug.nl (Tom R.Hageman) Organization: Lofty Waters References: <SCOTT.93Dec8230320@nic.gac.edu> Date: Sun, 12 Dec 1993 17:47:43 GMT In article <SCOTT.93Dec8230320@nic.gac.edu> scott@nic.gak.edu (Scott Hess) writes: [some good points about being defensive in -free* methods deleted] [munch] > [One assumption you might note that I still make (for now) is that > (id)0 will evaluate to false in an if() statement. It's probably > a safe assumption, but an explicit self!=nil is more precise.] You worry too much;-) As far as I understand C, [munch] On the other hand you may have a point, if you want to avoid the havoc wreaked when some sick soul decrees that `nil' should stand for something else than a NULL pointer... Well, ever heard of that (BASIC) dialect that decreed that TRUE was 1 and FALSE was 2? Well, agreed, it's no son of C. Another reason for me to test '!= nil' - type things explicitly is that you indicate your understanding of the return type more clearly. The type system is there, so use it! (There are lotsa "while (*charPtr++);" - type loops in my code, though...) -- __/__/__/__/ Tom Hageman (tom@basil.icce.rug.nl) [NeXTMail accepted] __/ __/_/ __/__/__/ "...to baldly go where no man has gone before." __/ _/_/ -- star trek TNG -- Felix (fxg@(([Pool|I3].Informatik)|(Tolkien.ImIB)).RWTH-Aachen.de NeXT-Mail ok, but slow)
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin Subject: RTFD should support TXT.rtf.Z Date: 13 Dec 1993 13:37:02 -0000 Organization: me organized? That's a joke! Message-ID: <2ehr5u$263@steffi.demon.co.uk> Today I learnt that for regular files digital librarian uses the workspace API when it encounters a filename extension that it doesn't recognise. So if you have opener it will locate .gz files or .Z files correctly. For instance, you could compress all your man pages providing you didn't use man (And then if you are using Tom's Christiansen's man.shar package you could have compressed man source and compressed cat files) The one area this doesn't work and IMHO: should work.. is in RTFD files. Because the directory name is visible in Librarian and not the actual RTF file's name. Librarian using the standard RTFD routines and explicitly looks for TXT.rtf in the RTFD wrapper. What I would like would be for it to recognise TXT.rtf.* and use the same workspace API that it does for regular RTF files. Actually in an ideal world DL would know how to process compressed files itself because when you use the workspace API which will invoke Edit.app (typically) you lose the standard DL hypertext window. This would allow me to compress all of NeXT's documentation (which will only be indexed once so compressing won't harm anything there) I think of that a considerable diskspace saving. But I guess harddrive prices are quite low at the moment. Any comments?
Newsgroups: comp.sys.next.programmer From: jgg@LoftTech.com (J. G. Gregory) Subject: "Porting" rld and friends? Message-ID: <1993Dec13.131434.532@LoftTech.com> Sender: jgg@LoftTech.com Organization: LoftTech Incorporated Date: Mon, 13 Dec 1993 13:14:34 GMT I am supposed to move some dynamic loading code to Windows 3.1 (!). The NeXT code uses the rld_* functions to do this. Needless to say, these are not ANSI C. Naively, I thought "DLLs" were going to be the solution. But they appear to be the equivalent of shared libraries, not dynamically loadable functions. (Even though they are dynamically bound, you have to compile in a table of them.) We definitely want our customers to be able to load their compiled functions into our environment. We are using a WATCOM C compiler on the Windows side. All we need to do is get a object file loaded and get its address. If anyone has encountered this problem, please contact me. Even if you gave up, that is good information. If Windows NT is better in some way for this, that is good information as well. (Does it sound like I REALLY don't want to port to Windows 3.1? =8O ) All info appreciated. I will summarize if asked. --J Gregory
From: benjy@benjy.cc.vt.edu (Ben E. Cline) Newsgroups: comp.sys.next.programmer Subject: Re: gdb Date: 13 Dec 1993 14:08:16 GMT Organization: Virginia Tech, Blacksburg, Virginia Message-ID: <2eht0g$qkl@vtserf.cc.vt.edu> References: <2egiro$679@master.cs.rose-hulman.edu> In article <2egiro$679@master.cs.rose-hulman.edu> leuschr@b103-3.Rose-Hulman.Edu (Rainer Leuschke) writes: > Dear internetters, > Sorry, if this appears to be a trivial question: I use gdb from inside > Edit. If I simply set breakpoints in my source code and try to inspect the > frames with the framebrowser some of my instance variables as well as some > of my local variables seem to be non-existent. > Please e-mail reply. > > later, rainer > > -- > Rainer Leuschke > leuschr@nextwork.rose-hulman.edu One possibility is that the program was compiled with both -g and -O. I think this is the project builder default. Trying to debug optimized code will produce these types of symptoms. Just remove the -O from cc until you're finished debugging. -- Benjy Cline, AC4XO Virginia Tech Computing Center benjy@benjy.cc.vt.edu
From: pkron@corona.com (Peter Kron) Organization: Corona Design, Inc., Seattle, WA Distribution: world Date: Mon, 13 Dec 1993 06:27:48 PST Message-ID: <1993Dec13.142748.327@corona.com> Newsgroups: comp.sys.next.programmer Subject: Re: returning NaN, Was: RUMOR-ATTACK.. References: <9312112123.AA19174@flexus> From: rfschtkt%banruc60.bitnet@cc1.kuleuven.ac.be Raf Schietekat > >>>>> (from 3.2 -[Object init] documentation) Subclass > versions of this method should return the new object > (self) after it has been successfully initialized. If > it can't be initialized, they should free the object and > return nil. In some cases, an init method might free > the new object and return a substitute. Programs should > therefore always use the object returned by init, and > not necessarily the one returned by alloc or > allocFromZone:, in subsequent code. Hmmm. This is in fact the spec, though an unfortunate one IMHO. It creates "surprises", which inevitably cause problems. I wonder if a factory method wouldn't be preferable, EG, the appkit uses +new to return a single instance multiple times rather than freeing instances behind the scenes within init. > > - init > { > [super init]; > /* class-specific initialization goes here */ > return self; > } > > <<<<< Sigh! Yet another candidate for KBNS... Why would > a subclass be less vulnerable to the possibility that a > superclass would return a different object? Well, it's > rare for this to happen, so it's unlikely you'll get > stung by this. But right is right, and there's no ``risk'' > involved in doing self=[super init] (self is nobody's > ivar). True, I misspoke calling it an ivar, but it is "owned" by the messaging runtime and ought to be considered const. If a superclass can throw away this instance and replace it, why must the new instance be of the same class? Reassigning self is effectively casting a structure pointer from another pointer with no guarantee that the underlying structures are the same. Also, as in +new mentioned above, the instance may already have been completely initialized and would be corrupted by initializing a second time. In fact, if a superclass is going to pull the instance out from under me, I would *expect* it to replace it with a fully initiaized object, and the "correct" initialization would be - init { id superResult = [super init]; if ( superResult != self ) return( superResult); initialize... return( self); } But I would also discourage the use of this convention, require it to be clearly documented, and just not mess with it in general. Keep it simple. --- NeXTMail:Peter_Kron@corona.com Corona Design, Inc. P.O. Box 51022 Seattle, WA 98115-1022
Newsgroups: comp.sys.next.programmer From: bau@cs.cornell.edu (David Bau) Subject: Re: DELEGATE OR SUBCLASS ?? Message-ID: <1993Dec13.162340.14950@cs.cornell.edu> Organization: Cornell Univ. CS Dept, Ithaca NY 14853 References: <2ehlr4$svq@obelix.uni-muenster.de> Date: Mon, 13 Dec 1993 16:23:40 GMT Wolfgang Beneke writes: > Hello, > NextStep gives programmers two possibilities to get specific > control of AppKitClass Objects. > Does anyone know the advantage of the delegate concept. I cannot see an > advantage in comparison with building subclasses. > >Wolfgang Beneke (Wi-WoBe) >e-mail: beneke@uni-muenster.de) Quoting from Garfinkel/Mahoney: "generally, anything that you want to do with delegation can be done just as well with subclassing. If you have a choice, use delegation: it is easier to debug and it affords you a greater opportunity to reuse your code from one project to another. It also frees you from having to subclass a lot of the AppKit classes." Why is delegation easier? Mostly because it is documented better. Since we don't get source for the appkit classes, it can be hard to override a method - we don't know under what circumstances it is called, etc. However, the calling conventions of the delegate methods are fairly precisely defined in the docs, so delegate methods are very easy to write. (Of course, NeXT could have just written overridable methods with better documentation, or given us the sources...) Another bonus. If there were no delegation and you were to program a central controller object that coordinates the behavior of a lot of different library objects, you would probably use subclassing to implement a mechanism just like delegation anyway (to pass information to the central object whenever something interesting happens). So since delegation is built in, this kind of programming can be extra-easy. David
From: silbar@cantina.lanl.gov (Dick Silbar) Newsgroups: comp.sys.next.programmer Subject: Re: gdb Date: 13 Dec 1993 11:07:09 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9312131621.AA05422@cantina.lanl.gov> Rainer Leuschke, leuschr@nextwork.rose-hulman.edu, posted: Dear internetters, Sorry, if this appears to be a trivial question: I use gdb from inside Edit. If I simply set breakpoints in my source code and try to inspect the frames with the framebrowser some of my instance variables as well as some of my local variables seem to be non-existent. Please e-mail reply. I've seen this too, and presume it to be because of the compiler throwing away "trivial" things it thinks it need not keep. If, however, you use the variable in some trivial way, such as a printf statement, it does stay around for inspection by gdb. Dick Silbar WhistleSoft, Inc.
Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy,comp.sys.dec.micro,comp.sys.powerpc,comp.sys.dec From: byer@mv.us.adobe.com (Scott Byer) Subject: Re: OPENSTEP on Alpha OSF/1 and PowerPC Mach In-Reply-To: ricardo@ughtas.pencom.com's message of 13 Dec 1993 04:55:18 GMT Message-ID: <BYER.93Dec13091912@birch.mv.us.adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated, Mountain View, CA References: <2egsjm$h3u@digdug.pencom.com> Date: Mon, 13 Dec 1993 17:19:12 GMT In article <2egsjm$h3u@digdug.pencom.com> ricardo@ughtas.pencom.com (Ricardo Parada) writes: > Is there anyone out there that has had some experiences with OSF/1 > on workstations with the Alpha chip? Well, OSF/1 is not bad. But I think one would want to do a native NEXTSTEP Mach port if possible - get it out the door quickly. And Dec isn't as tied to OSF/1 as Sun is to Solaris. Although, after the Solaris port, hopping to other OSes should be a managble (though still not easy) task. As for the machine itself, it would be an excellent hardware platform for NEXTSTEP. It's video interface is very good, and Display PostScript absolutely flies on it (IMBO). -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
From: annard@theborg.stack.urc.tue.nl (Annard Brouwer) Newsgroups: comp.sys.next.programmer Subject: Re: Problem using ScrollViewDeluxe MiniExample Date: 12 Dec 1993 21:37:14 GMT Organization: the Borg Distribution: world Message-ID: <2eg2ua$cf@theborg.stack.urc.tue.nl> References: <1993Dec10.115340.1434@newstand.syr.edu> In article <1993Dec10.115340.1434@newstand.syr.edu> drebnord@betenoir.syr.edu (David A. Rebnord) writes: > I'm trying to use the ScrollViewDeluxe MiniExample in application > of my own. The ScrollViewDeluxe palette built without any problem. > I loaded the palette into IB, added the .h, and .m files from the > palette to my own project. Within IB the palette seems fine, but when > I compile my own app using the ScrollViewDeluxe palette. I get the > message: > ld: Undefined symbols: > objc_class_name_IBInspector > You only need to add the ScollViewDeluxe.{h,m} files, the others are necessary for InterfaceBuilder. Note that there is at least one (not very annoying) bug and a little nuisance. The bug: say you've created a Text view inside the ScollView and you mess a lot with the fonts (while you've selected all text): the scrollers do not properly reflect their position in certain circumstances, but when you click on them they do again. The nuisance: in the nib file of ScrollViewDeluxe you need to swap the items in the matrix for the PageUpAndDownButton otherwise they appear in the wrong order in the scroller (note that this has already been done for the PageLeftAndRightButton). But it's a neat piece of code which saved me a considerable amount of work! Toodlepip, Annard -- Give me enough bandwidth and I can transmit the earth. - Annard Brouwer annard@stack.urc.tue.nl (NeXTmail appreciated
Newsgroups: comp.sys.next.programmer From: cwynne@sage.wlu.edu (Colin Wynne) Subject: STRDUP() Question Sender: news@liberty.uc.wlu.edu (CNEWS Userid) Message-ID: <1993Dec13.174510.2934@liberty.uc.wlu.edu> Date: Mon, 13 Dec 1993 17:45:10 GMT Organization: Washington & Lee University I am trying to compile xkeycaps v2.07 for NeXTStep 3.0. It uses calls to strdup(), which NeXT does not use. I know I've gotten around this problem before, but I don't remember how, unfortunately. Could some kind soul(s) out there please e-mail me with some information about how to avoid this particular problem? Thanks in advance for your help, CJW ********************************************************************** /\ Colin J. Wynne Washington and Lee University (()) E-Mail: cwynne@wlu.edu /____\ Lunatic-at-Large NeXT-Mail: cwynne@sage.wlu.edu /______\ /________\
Newsgroups: comp.sys.next.programmer From: arrouye@petole.imag.fr (Yves Arrouye) Subject: Making a demo version: suggestions wanted Message-ID: <ARROUYE.93Dec13162940@petole.imag.fr> Sender: news@imag.fr Organization: LGI-IMAG, Grenoble, France Date: Mon, 13 Dec 1993 15:29:40 GMT Hi, I have developed an application which I want to distribute only as a demonstration version in the first time (you know, things like preferences are not saved and limited running time as a default behaviour). I would like to know which way *you* would do that, the goal being to be able to develop both the complete and the demo version with minimal efforts. What would you do? Some suggestions follow, but I do not know which one I should choose: 1. Make symbolic links from the distribution version to the demo one, but develop separately some files (e.g. the one managing the preferences). DRAWBACKS: 1/ I don't want to be busy making links every time I add a file in the distribution project. 2/ It's fine until you have to modify a file in the distribution project which is symbolically linked in the demo project. 2. Same but subclass application so that it is DemoApplication now. This class manages the fact that it should terminate after a given delay. If a class has a behavoiour depending on the fact that it is running in demo mode, it can just do something like testing if NXApp is of the desired kind of class. DRAWBACKS: I'm sure some nice guy can break something like <if ([NXApp isKindOfClassNamed:"DemoApplication"])> by changing the string in the executable; but perhaps it will work if we test for <if ([NXApp isKindOf:[DemoApplication class]])>? 3. Your ideas there... (perhaps the best way would be to implement a license server, but this takes too much time for me at the moment). Thanks in advance, Yves. -- Advocates for the C++ school claim that a well designed Yves Arrouye program does not need the extra flexibility (a lie), Yves.Arrouye@imag.fr while advocates for the Objective-C school claim that (33) 76 57 48 64 the errors are no problem in practice (another lie). NeXT Mail
Newsgroups: comp.sys.next.programmer From: arrouye@petole.imag.fr (Yves Arrouye) Subject: Knowing that WM has finished initialization? Message-ID: <ARROUYE.93Dec13163204@petole.imag.fr> Sender: news@imag.fr Organization: LGI-IMAG, Grenoble, France Date: Mon, 13 Dec 1993 15:32:04 GMT Hi, Some time ago, someone asked for a mean to know when WM has finished initialization, and in particular has finished launching apps from the dock. I am interested in any answer to this particular problem. Thanks, Yves. -- Advocates for the C++ school claim that a well designed Yves Arrouye program does not need the extra flexibility (a lie), Yves.Arrouye@imag.fr while advocates for the Objective-C school claim that (33) 76 57 48 64 the errors are no problem in practice (another lie). NeXT Mail
Newsgroups: comp.sys.next.programmer From: arrouye@petole.imag.fr (Yves Arrouye) Subject: Re: Animated App Icons? In-Reply-To: alvin@cheddar.cse.ucsc.edu's message of 11 Dec 1993 23:08:04 GMT Message-ID: <ARROUYE.93Dec13165416@petole.imag.fr> Sender: news@imag.fr Organization: LGI-IMAG, Grenoble, France References: <2edjsk$1ug@darkstar.UCSC.EDU> Date: Mon, 13 Dec 1993 15:54:16 GMT In article <2edjsk$1ug@darkstar.UCSC.EDU> alvin@cheddar.cse.ucsc.edu (Alvin Jee) writes: To draw in your application icon, you can use a method like this (in my app this is another view that draws itself in small inthe app icon): - drawInApplicationTile { static id appIconView = nil, stdTile = nil; NXPoint dst = { 0., 0. }; if (stdTile == nil) { // Get the standard icon tile, of size NX_TOKENWIDTH by NX_TOKENHEIGHT stdTile = [NXImage findImageNamed:"NXAppTile"]; appIconView = [[NXApp appIcon] contentView]; // The view to // draw in } [appIconView lockFocus]; [stdTile composite:NX_COPY toPoint:&dest]; // Std look // Do some drawing here, better center it in the tile [appIconView unlockFocus]; if ([appIconView isAutodisplay]) { [appIconView display]; } else { [appIconView setNeedsDisplay:YES]; } return self; } The "NXAppTile" image was provided in 3.x (I think 3.1) in order to guarantee that when you draw in your application tile the part that is not painted by you will have the standard look (hence the compositing of stdTile after locking focus). The rest of the code is so simple I won't make you the offense to explain it. And the step from drawing to animation is really simple (and I'm sure the reference Georg gave to you is OK for that purpose). Hope this helps, Yves. -- Advocates for the C++ school claim that a well designed Yves Arrouye program does not need the extra flexibility (a lie), Yves.Arrouye@imag.fr while advocates for the Objective-C school claim that (33) 76 57 48 64 the errors are no problem in practice (another lie). NeXT Mail
From: art@cubicsol.com (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Distributed Objects implementation of UNIX Review's DCE example Date: 13 Dec 1993 20:40:02 GMT Organization: University of California, Santa Cruz Distribution: world Message-ID: <2eijv2$fvj@darkstar.UCSC.EDU> I follow UNIX Review's C++ and X Window programming examples and try to imagine how their examples would be implemented using Objective C and NEXTSTEP. In most cases, I find the C++/X examples to be VERY INELEGANT relative to the OC/NS equivalents. The current UR contains a DCE example showing how easy client-server programming is under DCE. I find this DCE example to be yet another inelegant "standard" solution that seems to be handled much nicer under NEXTSTEP. However, I have tried to implement an elegant DO implementation, but it doesn't work, so I guess that's not really too elegant :-) I'm sure I'm doing something wrong because this is my first DO attempt, so I'd like your help in debugging this. I initially ran this implementation in the same process (no DO) and it worked fine, so the problem should be in the DO implementation, not in the algorithm. What gdb shows is that the arrays are not being passed to the server correctly; garbage values are what the server sees. The UR DCE example was an array-summing server that summed two 10-element long int arrays and returned the result in a third array. So here's my meager DO attempt coded in the UR DCE style minus error checking, object freeing, and generally good coding style for brevity's sake (no comments, Peter :-) ArrayProcessor.h: #import <objc/Object.h> #define SERVER_NAME "arrayProcessor" @class NXData; @protocol ArrayProcessing - (NXData *)sumArrays:(NXData *)a :(NXData *)b into:(NXData *)c; @end @interface ArrayProcessor:Object <ArrayProcessing> { } - (NXData *)sumArrays:(NXData *)a :(NXData *)b into:(NXData *)c; @end client.m: #import <remote/NXProxy.h> #import <remote/NXConnection.h> #import <machkit/NXData.h> #import <stdio.h> #import "ArrayProcessor.h" static const short arraySize = 10; static long a[] = {100, 200, 345, 23, 67, 65, 0, 0, 0, 0}; static long b[] = {4, 0, 2, 3, 1, 7, 5, 9, 6, 8}; void main(int argc, char *argv[]) { int i; id arrayProcessorProxy; long result[arraySize]; unsigned dataSize = arraySize * sizeof(long); NXData *aData = [[NXData alloc] initWithData:(void *)a size:dataSize dealloc:NO]; NXData *bData = [[NXData alloc] initWithData:(void *)b size:dataSize dealloc:NO]; NXData *resultData = [[NXData alloc] initWithData:(void *)result size:dataSize dealloc:NO]; // Prevent timeout while debugging server. [NXConnection setDefaultTimeout:-1]; arrayProcessorProxy = [NXConnection connectToName:SERVER_NAME]; [arrayProcessorProxy setProtocolForProxy:@protocol(ArrayProcessing)]; [arrayProcessorProxy sumArrays:aData :bData into:resultData]; puts("sums:"); for (i = 0; i < arraySize; i++) { printf("%ld\n", result[i]); } exit(0); } server.m: #import <remote/NXConnection.h> #import <stdio.h> #import "ArrayProcessor.h" void main(int argc, char *argv[]) { [[NXConnection registerRoot:[ArrayProcessor new] withName:SERVER_NAME] run]; exit(0); } ArrayProcessor.m: #import <machkit/NXData.h> #import "ArrayProcessor.h" @implementation ArrayProcessor - (NXData *)sumArrays:(NXData *)a :(NXData *)b into:(NXData *)c; { unsigned arraySize = [c size] / sizeof(long); int i; long *aData = (long *)[a data]; long *bData = (long *)[b data]; long *cData = (long *)[c data]; for (i = 0; i < arraySize; i++) { cData[i] = aData[i] + bData[i]; } return c; } @end -- Art Isbell Cubic Solutions NeXT Registered Consultant NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
From: cs438@cleveland.Freenet.Edu (Denis Lafont) Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy,comp.sys.dec.micro,comp.sys.powerpc,comp.sys.dec Subject: Re: OPENSTEP on Alpha OSF/1 and PowerPC Mach Date: 13 Dec 1993 22:08:22 GMT Organization: Case Western Reserve University, Cleveland, Ohio (USA) Message-ID: <2eip4m$krv@usenet.INS.CWRU.Edu> The DEC's UNIX (OSF/1 AXP) is based on Mach 2.5. NT seems to be based on mach 3.0...true? Denis -- -------------------------- Denis Lafont.....cs438@cleveland.freenet.edu Tel: (+33) (1) 43.45.99.67 --------------------------
Newsgroups: comp.sys.next.programmer From: finton@barney.cs.wisc.edu (David J. Finton) Subject: Appkit changes in NS3.x? My NS2.1 program is broken in 3.2 Message-ID: <1993Dec13.220832.26838@cs.wisc.edu> Sender: news@cs.wisc.edu (The News) Organization: University of Wisconsin, Madison -- Computer Sciences Dept. References: <mg7b6iINNm8u@exodus.Eng.Sun.COM> <2e0htt$s21@agate.berkeley.edu> Date: Mon, 13 Dec 1993 22:08:32 GMT I'm using Interface Builder to develop an application in NS2.1. Since we're thinking of upgrading to NS3.2 soon, I tried running the app in a friend's 3.2 system. We opened the IB.proj file, and the system came up and told us this was an old-style project file, and gave us options for converting it. Great! So we built it and ran it, and it runs, but with two problems which don't appear in NS 2.1. (1) I'm using the RTF object from Garfinkel and Mahoney's book to occasionally send a light-grey character to the current text window. But in NS3.2, once I get a light grey character, they're all grey after that. What has changed since 2.1? (2) I have a separate object which creates and sets up results windows which the system writes data in. This works fine in 2.1, but in 3.2 I don't get any windows created, and all the text gets printed in my default window. So something else must have changed, but I don't know what. Anyone know of Appkit/IB changes which might cause these problems for a working NS2.1 app? I've included the code below. Thanks in advance, David Finton (1) Here's the method I use to access the RTF object. I think I added two methods for light and courier, which I include below: [self insertTextLite:buf to:textObj]; /* insert text, light gray */ /*-------------------------------------------------------------------- Insert text, but make the inserted text light gray instead of black This is called by addText when it gets a \half<ch> directive from lisp. The result is that <ch> is added to the text, but printed in light gray. This new version (6-23-93) uses the RTF object to send rich text to the textObj. Details from Garfinkel and Mahoney, p. 320 --------------------------------------------------------------------*/ - insertTextLite: (const char *)buf to: textDoc { id rtf; int length = [textDoc textLength]; [textDoc setSel:length :length]; rtf = [ [RTF allocFromZone:[self zone]] init ]; [rtf courier]; [rtf light:YES]; [rtf append:buf]; [rtf light:NO]; [textDoc replaceSelWithRichText:[rtf stream] ]; [rtf free]; [textDoc scrollSelToVisible]; [textDoc display]; return self; } ..... in RTF.m : ....... /*----------------------------------------------------------------+ | light: used by Circles to print omitted pc's in a lighter shade.| | Reference: Garfinkel & Mahoney, p. 315. --djf, 6-23-99 | +----------------------------------------------------------------*/ -light:(BOOL)flag { [self appendRTF: flag ? "\\gray500 " : "\\gray0 "]; return self; } /*----------------------------------------------------------------+ | courier: set the font to Courier. | | Reference: Garfinkel & Mahoney, p. 315. --djf, 6-23-99 | +----------------------------------------------------------------*/ -courier { [self appendRTF:"\\f1 "]; return self; } (2) Here's the .m code for my ResultsWindow object. call: newText = [ResultsWindow makeWindowWithTitle:buf width:700.0 height:350.0]; /* Generated by Interface Builder */ #import "ResultsWindow.h" @implementation ResultsWindow static float offset; + new { self = [super new]; [NXApp loadNibSection:"ResultsWindow.nib" owner:self]; return myTextView; } + makeWindowWithTitle:(char *)title width:(int)x height:(int)y { id newWind; id newScroller; id newText; NXRect frame; newScroller = [self new]; newWind = [newScroller window]; newText = [newScroller docView]; [newWind getFrame: &frame]; NX_X(&frame) += offset; NX_Y(&frame) -= offset; if ( (offset += 24.0) > 200.0) offset -= 201.0; [newWind placeWindowAndDisplay: &frame]; [newWind setTitle:title]; [newWind sizeWindow:(NXCoord)x :(NXCoord)y]; [newWind makeKeyAndOrderFront: self]; return newText; } @end
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer,comp.lang.perl Subject: Building perl for NeXTSTEP : HERE'S HOW (LONG) UPDATED Date: 13 Dec 1993 22:29:20 -0000 Organization: me organized? That's a joke! Message-ID: <2eiqc0$1q8@steffi.demon.co.uk> I left one thing out of my recent recipe. (I had previous hacked Configure) to avoid having to do this so I didn't pick it up when I tested my rebuild. Once through change d_stdstdio='undef' TO d_stdstdio='define' in config.sh THANKS TO Matthew Seaman (Matthew.Seaman@dyson.ox.ac.uk) for picking this up. Here's the complete modified post. Apparently-To: david@alembic.com Apparently-To: tchrist@cs.Colorado.EDU Apparently-To: greg@afs.com Status: RO Postings asking how to build perl under NeXTSTEP come up very often in this group so I decided to put together this tutorial in order to alliviate this problem. NOTE: For Mr Christiansen please archive this and add a pointer in the FAQ. This is certified for NS3.1. Building PERL 4PL36 for NeXTSTEP can be a tricky business owing the some assumptions made by Configure and NeXT's /usr/include/ tree. Common problems are Configure finding dirent.h before dir.h and thus defining both i_dirent and i_sys_dir in config.sh The most common mistake is entering /usr/include when it asks for this path. If you do this Configure then attempts to see if you have certain header files in order to determine what language features to support. So for instance if you entered /usr/include, during Configure it attempts to locate grp.h using test -f /usr/include/grp.h This file doesn't exist there under the NeXTSTEP's include tree thus it is necessary to enter /usr/include/bsd when it asks for the include path. Here is a transcript from a Configure session. root:/Users/robert/archives/perl-4.036>Configure 9:35 Beginning of configuration questions for perl kit. First let's make sure your kit is complete. Checking... Looks good... Checking your sh to see if it knows about # comments... Your sh handles # comments correctly. Okay, let's see if #! works on this system... It does. Checking out how to guarantee sh startup... Let's see if '#!/bin/sh' works... Yup, it does. Checking echo to see how to suppress newlines... ...using \c Type carriage return to continue. Your cursor should be here--> This installation shell script will examine your system and ask you questions to determine how the perl package should be installed. If you get stuck on a question, you may use a ! shell escape to start a subshell or execute a command. Many of the questions will have default answers in square brackets--typing carriage return will give you the default. On some of the questions which ask for file or directory names you are allowed to use the ~name construct to specify the login directory belonging to "name", even if you don't have a shell which knows about that. Questions where this is allowed will be marked "(~name ok)". [Type carriage return to continue] Much effort has been expended to ensure that this shell script will run on any Unix system. If despite that it blows up on you, your best bet is to edit Configure and run it again. Also, let me (lwall@netlabs.com) know how I blew it. If you can't run Configure for some reason, you'll have to generate a config.sh file by hand. This installation script affects things in two ways: 1) it may do direct variable substitutions on some of the files included in this kit, and 2) it builds a config.h file for inclusion in C programs. You may edit any of these files as the need arises after running this script. If you make a mistake on a question, there is no easy way to back up to it currently. The easiest thing to do is to edit config.sh and rerun all the SH files. Configure will offer to let you do this before it runs the SH files. [Type carriage return to continue] Locating common programs... cat is in /bin/cat. cp is in /bin/cp. echo is in /bin/echo. expr is in /bin/expr. grep is in /bin/grep. mkdir is in /bin/mkdir. mv is in /bin/mv. rm is in /bin/rm. sed is in /bin/sed. sort is in /usr/bin/sort. tr is in /usr/bin/tr. uniq is in /usr/bin/uniq. Don't worry if any of the following aren't found... I don't see Mcc out there, offhand. bison is in /usr/local/bin/bison. cpp is in /lib/cpp. csh is in /bin/csh. egrep is in /usr/bin/egrep. I don't see line out there, either. nroff is in /usr/bin/nroff. perl is in /usr/local/bin/perl. test is in /bin/test. I don't see uname out there, either. yacc is in /usr/bin/yacc. Using the test built into your sh. Checking compatibility between /bin/echo and builtin echo (if any)... They are not compatible! You are probably running ksh on a non-USG system. I'll have to use /bin/echo instead of the builtin, since Bourne shell doesn't have echo built in and we may have to run some Bourne shell scripts. That means I'll have to use -n to suppress newlines now. Life is ridiculous. Your cursor should be here--> First time through, eh? I have some defaults handy for the following systems: 3b1 dnix isc_3_2_2 sco_2_3_2 sunos_4_0_2 3b2 dynix isc_3_2_3 sco_2_3_3 svr4 aix_rs fps mc6000 sco_2_3_4 ti1500 aix_rt genix mips sco_3 titan altos486 greenhills mpc sgi ultrix_1 apollo_C6_7 hp9000_300 ncr_tower solaris_2_0 ultrix_3 apollo_C6_8 hp9000_400 next solaris_2_1 ultrix_4 aux hp9000_700 opus stellar unisysdynix cray hp9000_800 osf1 sunos_3_4 utekv dec_osf1 hpux sco_2_3_0 sunos_3_5 uts dgux i386 sco_2_3_1 sunos_4_0_1 vax (You may give one or more space-separated answers, or "none" if appropriate. If your OS version has no hints, do not give a wrong version--say "none".) Which of these apply, if any? [none] next perl has manual pages available in source form. If you don't want the manual sources installed, answer 'none'. Where do the manual pages (source) go (~name ok)? [/usr/man/man1] /usr/local/man/man1 Hmm... Doesn't look like a MIPS system. Where are the include files you want to use? [/usr/include] /usr/include/bsd /usr/include/ctype.h: No such file or directory Looks kind of like a BSD system, but we'll see... Congratulations. You aren't running Eunice. It's not Xenix... Nor is it Venix... Some systems have different model sizes. On most systems they are called small, medium, large, and huge. On the PDP11 they are called unsplit and split. If your system doesn't support different memory models, say "none". If you wish to force everything to one memory model, say "none" here and put the appropriate flags later when it asks you for other cc and ld flags. Venix systems may wish to put "none" and let the compiler figure things out. (In the following question multiple model names should be space separated.) Which models are supported? [none] Use which C compiler? [cc] Some C compilers have problems with their optimizers, by default, perl compiles with the -O flag to use the optimizer. Alternately, you might want to use the symbolic debugger, which uses the -g flag (on traditional Unix systems). Either flag can be specified here. To use neither flag, specify the word "none". What optimizer/debugger flag should be used? [-O] Your C compiler may want other flags. For this question you should include -I/whatever and -DWHATEVER flags and any other flags used by the C compiler, but you should NOT include libraries or ld flags like -lwhatever. For instance, this would be a good place to specify -DDEBUGGING. To use no flags, specify the word "none". Any additional cc flags? [ -I/usr/include] (C preprocessor flags: -I/usr/include) Any additional ld flags (NOT including libraries)? [none] Checking for optional libraries... Found -ldbm. Found -lsys_s. Some versions of Unix support shared libraries, which make executables smaller but make load time slightly longer. On some systems, mostly newer Unix System V's, the shared library is included by putting the option "-lc_s" as the last thing on the cc command line when linking. Other systems use shared libraries by default. There may be other libraries needed to compile perl on your machine as well. If your system needs the "-lc_s" option, include it here. Include any other special libraries here as well. Say "none" for none. Any additional libraries? [-ldbm -lsys_s] Checking alignment constraints... Doubles must be aligned on a how-many-byte boundary? [2] The following questions distinguish the directory in which executables reside from the directory in which they are installed (and from which they are presumably copied to the former directory by occult means). This distinction is often necessary under afs. On most other systems, however, the two directories are the same. In which directory will public executables reside (~name ok)? [/usr/local/bin] In which directory will public executables be installed (~name ok)? [/usr/local/bin] In the following, larger digits indicate more significance. A big-endian machine like a Pyramid or a Motorola 680?0 chip will come out to 4321. A little-endian machine like a Vax or an Intel 80?86 chip would be 1234. Other machines may have weird orders like 3412. A Cray will report 87654321. If the test program works the default is probably right. I'm now running the test program... (The test program ran ok.) What is the order of bytes in a long? [4321] Checking to see if your C compiler can cast weird floats to unsigned Yup, it does. Now, how can we feed standard input to your C preprocessor... Maybe "cc -E" will work... Nope...maybe "cc -E -" will work... Yup, it does. Your (shared) C library seems to be in /lib/libsys_s.a. If the guess above is wrong (which it might be if you're using a strange compiler, or your machine supports multiple models), you can override it here. Your C library is where? [/lib/libsys_s.a] Extracting names from the following files for later perusal: /lib/libsys_s.a /usr/lib/libdbm.a This may take a while...done bcmp() found bcopy() found Checking to see if your bcopy() can do overlapping copies... It can. bzero() found Your sprintf() returns (int). vprintf() found. Your vsprintf() returns (int). chsize() NOT found crypt() found. readdir() found dirent.h found. Some sites have disabled setuid #! scripts because of a bug in the kernel that prevents them from being secure. If you are on such a system, the setuid/setgid bits on scripts are currently useless. It is possible for perl to detect those bits and emulate setuid/setgid in a secure fashion until a better solution is devised for the kernel problem. Do you want to do setuid/setgid emulation? [n] dup2() found fchmod() found fchown() found fcntl() found You can have filenames longer than 14 characters. flock() found getgroups() found gethostent() found getpgrp() found getpgrp2() NOT found getpriority() found htonl() found Your system has both index() and strchr(). Shall I use index() rather than strchr()? [y] isascii() NOT found killpg() found lstat() found memcmp() found memcpy() found Checking to see if your memcpy() can do overlapping copies... It can't. memmove() found memset() found mkdir() found msgctl() NOT found msgget() NOT found msgsnd() NOT found msgrcv() NOT found You don't have the full msg*(2) library. Do you wish to attempt to use the malloc that comes with perl? [n] ndbm.h found. dbm.h found. Looks like you have Berkeley networking support. sys/file.h defines the O_* constants... and you have the 3 argument form of open(). pwd.h found. rename() found rewinddir() NOT found rmdir() found seekdir() found select() found semctl() NOT found semget() NOT found semop() NOT found You don't have the full sem*(2) library. setegid() found seteuid() found setpgrp() found setpgrp2() NOT found setpriority() found setregid() found setresgid() NOT found setreuid() found setresuid() NOT found setrgid() found setruid() found shmctl() NOT found shmget() NOT found shmat() NOT found shmdt() NOT found You don't have the full shm*(2) library. Your stat knows about block sizes. Your stdio is pretty std. Checking to see if your C compiler can copy structs... Yup, it can. strerror() found symlink() found syscall() found Testing to see which of <time.h>, <sys/time.h>, and <sys/select.h> should be included, because this application wants: struct timeval struct tm ctime(3) declarations I'm now running the test program... Trying -DI_SYS_TIME Succeeded with -DI_SYS_TIME telldir() found Configure: /usr/include/bsd/signal.h: cannot open You have void (*signal())() instead of int. truncate() found vfork() found Checking to see if your C compiler knows about "volatile"... Yup, it does. wait4() found waitpid() NOT found What type are groups ids returned by getgid(), etc.? [gid_t] (The following only matters if you have getgroups().) What type are the group ids returned by getgroups()? [int] Checking to see how big your integers are... What is the size of an integer (in bytes)? [4] The perl package has some auxiliary files that should be reside in a library that is accessible by everyone. Where should these "private" but accessible files reside? (~name ok) [/usr/local/lib/perl] On some systems (such as afs) you have to install the library files in a different directory to get them to go to the right place. Where should the library files be installed? (~name ok) [/usr/local/lib/perl] Checking to see how many bits your rand function produces... How many bits does your rand() function produce? [31] Some installations have a separate directory just for executable scripts so that they can mount it across multiple architectures but keep the scripts in one spot. You might, for example, have a subdirectory of /usr/share for this. Or you might just lump your scripts in with all your other executables. Where will publicly executable scripts reside (~name ok)? [/usr/local/bin] Some installations must install scripts in a different directory than where they will eventually reside. On most systems they're the same directory. Where do you install publicly executable scripts (~name ok)? [/usr/local/bin] Generating a list of signal names... Signals are: ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH LOST USR1 USR2 Your stdio uses signed chars. What type are user ids returned by getuid(), etc.? [uid_t] Checking to see how well your C compiler groks the void type... Support flag bits are: 1: basic void declarations. 2: arrays of pointers to functions returning void. 4: operations between pointers to and addresses of void functions. It appears to support void to the level perl wants (7). Your void support flags add up to what? [7] Which compiler compiler (yacc or bison -y) will you use? [/usr/bin/yacc] We don't need to <fcntl.h> if we include <sys/file.h>. gdbm.h NOT found. grp.h found. netinet/in.h found. We'll be including <sys/file.h>. sys/ioctl.h found. utime.h found. varargs.h found. No vfork.h found. End of configuration questions. Creating config.sh... Hmm...You had some extra variables I don't know about...I'll try to keep 'em... Propagating recommended variable $libswanted... Propagating recommended variable $usemymalloc... If you didn't make any mistakes, then just type a carriage return here. If you need to edit config.sh, do it as a shell escape here: ! ------------- At this point you can edit config.sh by escaping to the shell. Thus far the following have been indirectly defined in config.sh i_utime='define' i_dirent='define' both of these should be "undef" and make sure i_sys_dir='define' Also because Configure looks for stdio.h in $usrinclude which now is /usr/include/bsd it will not find it because under NeXSTSTEP this exists in the /usr/include/ansi tree. So change. d_stdstdio='undef' TO d_stdstdio='define' Here's the rest of the transcript Doing variable substitutions on .SH files... Extracting Makefile (with variable substitutions) Extracting c2ph (with variable substitutions) Extracting cflags (with variable substitutions) Extracting config.h (with variable substitutions) Extracting h2ph (with variable substitutions) Extracting makedepend (with variable substitutions) Extracting makedir (with variable substitutions) Extracting x2p/Makefile (with variable substitutions) Extracting cflags (with variable substitutions) Extracting find2perl (with variable substitutions) Extracting s2p (with variable substitutions) Now you need to generate make dependencies by running "make depend". You might prefer to run it in background: "make depend > makedepend.out &" It can take a while, so you might not want to run it right now. Run make depend now? [n] y test -f perly.h || cp /dev/null perly.h ./makedepend echo array.c cmd.c cons.c consarg.c doarg.c doio.c dolist.c dump.c eval.c form.c hash.c perl.c regcomp.c regexec.c stab.c str.c toke.c util.c usersub.c | tr ' ' '\012' >.clist Finding dependencies for array.o. Finding dependencies for cmd.o. Finding dependencies for cons.o. Finding dependencies for consarg.o. Finding dependencies for doarg.o. Finding dependencies for doio.o. Finding dependencies for dolist.o. Finding dependencies for dump.o. Finding dependencies for eval.o. Finding dependencies for form.o. Finding dependencies for hash.o. Finding dependencies for perl.o. Finding dependencies for regcomp.o. Finding dependencies for regexec.o. Finding dependencies for stab.o. Finding dependencies for str.o. Finding dependencies for toke.o. Finding dependencies for util.o. Finding dependencies for usersub.o. echo Makefile.SH makedepend.SH h2ph.SH | tr ' ' '\012' >.shlist Updating makefile... test -s perly.h || /bin/rm -f perly.h cd x2p; make depend ../makedepend echo hash.c str.c util.c walk.c | tr ' ' '\012' >.clist Finding dependencies for hash.o. Finding dependencies for str.o. Finding dependencies for util.o. Finding dependencies for walk.o. echo Makefile.SH makedepend.SH | tr ' ' '\012' >.shlist Updating makefile... Now you must run a make. root:/Users/robert/archives/perl-4.036>make 10:02 Expect 27 shift/reduce and 57 reduce/reduce conflicts /usr/bin/yacc -d perly.y conflicts: 27 shift/reduce, 57 reduce/reduce sh ./perly.fixer y.tab.c perly.c Patching perly.c to allow dynamic yacc stack allocation Assuming bsd4.3 yaccpar mv y.tab.h perly.h echo 'extern YYSTYPE yylval;' >>perly.h `sh cflags perly.o` perly.c CCCMD = cc -c -I/usr/include -O `sh cflags array.o` array.c CCCMD = cc -c -I/usr/include -O `sh cflags cmd.o` cmd.c CCCMD = cc -c -I/usr/include -O `sh cflags cons.o` cons.c CCCMD = cc -c -I/usr/include -O `sh cflags consarg.o` consarg.c CCCMD = cc -c -I/usr/include -O `sh cflags doarg.o` doarg.c CCCMD = cc -c -I/usr/include -O `sh cflags doio.o` doio.c CCCMD = cc -c -I/usr/include -O doio.c: In function `do_open': doio.c:294: warning: passing arg 2 of `getsockname' from incompatible pointer type doio.c: In function `do_bind': doio.c:1451: warning: passing arg 2 of `bind' from incompatible pointer type doio.c: In function `do_connect': doio.c:1482: warning: passing arg 2 of `connect' from incompatible pointer type doio.c: In function `do_getsockname': doio.c:1673: warning: passing arg 2 of `getsockname' from incompatible pointer type doio.c:1677: warning: passing arg 2 of `getpeername' from incompatible pointer type `sh cflags dolist.o` dolist.c CCCMD = cc -c -I/usr/include -O `sh cflags dump.o` dump.c CCCMD = cc -c -I/usr/include -O `sh cflags eval.o` eval.c CCCMD = cc -c -I/usr/include -O `sh cflags form.o` form.c CCCMD = cc -c -I/usr/include -O `sh cflags perl.o` perl.c CCCMD = cc -c -I/usr/include -O `sh cflags regcomp.o` regcomp.c CCCMD = cc -c -I/usr/include -O `sh cflags regexec.o` regexec.c CCCMD = cc -c -I/usr/include -O `sh cflags stab.o` stab.c CCCMD = cc -c -I/usr/include -O `sh cflags str.o` str.c CCCMD = cc -c -I/usr/include -O `sh cflags toke.o` toke.c CCCMD = cc -c -I/usr/include -O `sh cflags util.o` util.c CCCMD = cc -c -I/usr/include -O `sh cflags hash.o` hash.c CCCMD = cc -c -I/usr/include -O `sh cflags usersub.o` usersub.c CCCMD = cc -c -I/usr/include -O cc array.o cmd.o cons.o consarg.o doarg.o doio.o dolist.o dump.o eval.o form.o perl.o regcomp.o regexec.o stab.o str.o toke.o util.o hash.o perly.o usersub.o -ldbm -lsys_s -o perl rm -f tperly.c ln -s perly.c tperly.c `sh cflags tperly.o` -DTAINT tperly.c CCCMD = cc -c -I/usr/include -O rm -f tperly.c rm -f tperl.c ln -s perl.c tperl.c `sh cflags tperl.o` -DTAINT tperl.c CCCMD = cc -c -I/usr/include -O rm -f tperl.c rm -f tarray.c ln -s array.c tarray.c `sh cflags tarray.o` -DTAINT tarray.c CCCMD = cc -c -I/usr/include -O rm -f tarray.c rm -f tcmd.c ln -s cmd.c tcmd.c `sh cflags tcmd.o` -DTAINT tcmd.c CCCMD = cc -c -I/usr/include -O rm -f tcmd.c rm -f tcons.c ln -s cons.c tcons.c `sh cflags tcons.o` -DTAINT tcons.c CCCMD = cc -c -I/usr/include -O rm -f tcons.c rm -f tconsarg.c ln -s consarg.c tconsarg.c `sh cflags tconsarg.o` -DTAINT tconsarg.c CCCMD = cc -c -I/usr/include -O rm -f tconsarg.c rm -f tdoarg.c ln -s doarg.c tdoarg.c `sh cflags tdoarg.o` -DTAINT tdoarg.c CCCMD = cc -c -I/usr/include -O rm -f tdoarg.c rm -f tdoio.c ln -s doio.c tdoio.c `sh cflags tdoio.o` -DTAINT tdoio.c CCCMD = cc -c -I/usr/include -O tdoio.c: In function `do_open': tdoio.c:294: warning: passing arg 2 of `getsockname' from incompatible pointer type tdoio.c: In function `do_bind': tdoio.c:1451: warning: passing arg 2 of `bind' from incompatible pointer type tdoio.c: In function `do_connect': tdoio.c:1482: warning: passing arg 2 of `connect' from incompatible pointer type tdoio.c: In function `do_getsockname': tdoio.c:1673: warning: passing arg 2 of `getsockname' from incompatible pointer type tdoio.c:1677: warning: passing arg 2 of `getpeername' from incompatible pointer type rm -f tdoio.c rm -f tdolist.c ln -s dolist.c tdolist.c `sh cflags tdolist.o` -DTAINT tdolist.c CCCMD = cc -c -I/usr/include -O rm -f tdolist.c rm -f tdump.c ln -s dump.c tdump.c `sh cflags tdump.o` -DTAINT tdump.c CCCMD = cc -c -I/usr/include -O rm -f tdump.c rm -f teval.c ln -s eval.c teval.c `sh cflags teval.o` -DTAINT teval.c CCCMD = cc -c -I/usr/include -O rm -f teval.c rm -f tform.c ln -s form.c tform.c `sh cflags tform.o` -DTAINT tform.c CCCMD = cc -c -I/usr/include -O rm -f tform.c rm -f thash.c ln -s hash.c thash.c `sh cflags thash.o` -DTAINT thash.c CCCMD = cc -c -I/usr/include -O rm -f thash.c rm -f tregcomp.c ln -s regcomp.c tregcomp.c `sh cflags tregcomp.o` -DTAINT tregcomp.c CCCMD = cc -c -I/usr/include -O rm -f tregcomp.c rm -f tregexec.c ln -s regexec.c tregexec.c `sh cflags tregexec.o` -DTAINT tregexec.c CCCMD = cc -c -I/usr/include -O rm -f tregexec.c rm -f tstab.c ln -s stab.c tstab.c `sh cflags tstab.o` -DTAINT tstab.c CCCMD = cc -c -I/usr/include -O rm -f tstab.c rm -f tstr.c ln -s str.c tstr.c `sh cflags tstr.o` -DTAINT tstr.c CCCMD = cc -c -I/usr/include -O rm -f tstr.c rm -f ttoke.c ln -s toke.c ttoke.c `sh cflags ttoke.o` -DTAINT ttoke.c CCCMD = cc -c -I/usr/include -O rm -f ttoke.c rm -f tutil.c ln -s util.c tutil.c `sh cflags tutil.o` -DTAINT tutil.c CCCMD = cc -c -I/usr/include -O rm -f tutil.c cc tperl.o tarray.o tcmd.o tcons.o tconsarg.o tdoarg.o tdoio.o tdolist.o tdump.o teval.o tform.o thash.o tregcomp.o tregexec.o tstab.o tstr.o ttoke.o tutil.o tperly.o usersub.o -ldbm -lsys_s -o taintperl ld -r array.o cmd.o cons.o consarg.o doarg.o doio.o dolist.o dump.o eval.o form.o perl.o regcomp.o regexec.o stab.o str.o toke.o util.o hash.o perly.o -o uperl.o cd x2p; make all `sh cflags hash.o` hash.c CCCMD = cc -c -I/usr/include -O `sh cflags str.o` str.c CCCMD = cc -c -I/usr/include -O `sh cflags util.o` util.c CCCMD = cc -c -I/usr/include -O `sh cflags walk.o` walk.c CCCMD = cc -c -I/usr/include -O Expect 231 shift/reduce conflicts... /usr/bin/yacc a2p.y conflicts: 231 shift/reduce mv y.tab.c a2p.c `sh cflags a2p.o` a2p.c CCCMD = cc -c -I/usr/include -O cc hash.o str.o util.o walk.o a2p.o -ldbm -lsys_s -o a2p touch all touch all ------------ The keen obsverver would have noticed warnings like. doio.c:294: warning: passing arg 2 of `getsockname' from incompatible pointer type doio.c: In function `do_bind': doio.c:1451: warning: passing arg 2 of `bind' from incompatible pointer type doio.c: In function `do_connect': doio.c:1482: warning: passing arg 2 of `connect' from incompatible pointer type doio.c: In function `do_getsockname': doio.c:1673: warning: passing arg 2 of `getsockname' from incompatible pointer type doio.c:1677: warning: passing arg 2 of `getpeername' from incompatible pointer type If we look at the line 294 in doio.c will notice lines of the form. if (getsockname(fileno(fp), tokenbuf, &buflen) >= 0 Looking at the prototype for getsockname we notice. NAME getsockname - get socket name SYNOPSIS getsockname(s, name, namelen) int s; struct sockaddr *name; int *namelen; This means that it's second argument is a struct sockaddr pointer. Hence, to remove warnings you can explicitly cast "tokenbuf" in our last example with (struct sockaddr *)tokenbuf and the warnings will go away. After all of this "make test" looks like. root:/Users/robert/archives/perl-4.036>make test 10:20 cd t && chmod +x TEST */*.t cd t && (rm -f perl; ln -s ../perl perl) && ./perl TEST </dev/tty base/cond......ok base/if........ok base/lex.......ok base/pat.......ok base/term......ok comp/cmdopt....ok comp/cpp.......:10: unterminated string or character constant ok comp/decl......ok comp/multiline.ok comp/package...ok comp/script....ok comp/term......ok cmd/elsif......ok cmd/for........ok cmd/mod........ok cmd/subval.....ok cmd/switch.....ok cmd/while......ok io/argv........ok io/dup.........ok io/fs..........ok io/inplace.....ok io/pipe........ok io/print.......ok io/tell........ok op/append......ok op/array.......ok op/auto........ok op/chop........ok op/cond........ok op/dbm.........ok op/delete......ok op/do..........ok op/each........ok op/eval........ok op/exec........ok op/exp.........ok op/flip........ok op/fork........ok op/glob........ok op/goto........ok op/groups......ok op/index.......ok op/int.........ok op/join........ok op/list........ok op/local.......ok op/magic.......ok op/mkdir.......ok op/oct.........ok op/ord.........ok op/pack........ok op/pat.........ok op/push........ok op/range.......ok op/read........ok op/readdir.....ok op/regexp......ok op/repeat......ok op/s...........ok op/sleep.......ok op/sort........ok op/split.......ok op/sprintf.....ok op/stat........ok op/study.......ok op/substr......ok op/time........ok op/undef.......ok op/unshift.....ok op/vec.........ok op/write.......ok lib/big........ok All tests successful. u=1.033333 s=2.466667 cu=6.466667 cs=13.15 files=73 tests=1350 ---------- If anybody has any problems with building perl or would like to voice any inaccuracies in this document. You can mail me at robert@steffi.demon.co.uk (Robert Nicholson)
From: art@cubicsol.com (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: Distributed Objects implementation of UNIX Review's DCE example Date: 14 Dec 1993 01:56:37 GMT Organization: University of California, Santa Cruz Distribution: world Message-ID: <2ej6gl$m31@darkstar.UCSC.EDU> References: <2eijv2$fvj@darkstar.UCSC.EDU> In article <2eijv2$fvj@darkstar.UCSC.EDU> art@cubicsol.com (Art Isbell) writes: > The current UR contains a DCE example showing how easy client-server > programming is under DCE. I find this DCE example to be yet another > inelegant "standard" solution that seems to be handled much nicer under > NEXTSTEP. However, I have tried to implement an elegant DO > implementation, but it doesn't work, so I guess that's not really too > elegant :-) I'm sure I'm doing something wrong because this is my first > DO attempt, so I'd like your help in debugging this. I have received one response from a NeXT employee: The basic problem is that this code modifies a local proxy's private data without sending a message. (The reason it works in the same process is because the local proxy *is* the same object...) Therefore, the remote NXData object never gets "notified" that its contents are being changed. Since NXData contains no API to do this, you need to find a better way... One solution is to not share the resultData object, just get it back from the server. I changed your code to reflect this model: My original protocol that didn't work: - (NXData *)sumArrays:(NXData *)a :(NXData *)b into:(NXData *)c; The modified protocol that works: - (void)sumArrays:(in NXData *)a :(in NXData *)b into:(out NXData **)c; I had hoped that I could merely take a method that worked fine in a non-DO implementation, place its implementation in a server, and find out that "It Just Works..." Well, it doesn't in this case, I guess :-( The modified implementation allocates memory for "c" in the server and copies it out across the connection to the client. The client is thus responsible for freeing something that it didn't allocate which I don't like. I want the client to allocate memory for "c", pass it to the server, and for the server to return "c" to the client containing the result as my original protocol specified. Is this not possible using NXData? Must I create a different NXTransport-conforming container object to use to pass the arrays and the result array? If so, then DO isn't looking as elegant relative to DCE as I originally imagined :-( -- Art Isbell Cubic Solutions NeXT Registered Consultant NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
From: Charles William Swiger <infidel+@CMU.EDU> Newsgroups: comp.sys.next.programmer Subject: Re: Making a demo version: suggestions wanted Date: Mon, 13 Dec 1993 18:56:11 -0500 Organization: Fifth yr. senior, Chemistry, Carnegie Mellon, Pittsburgh, PA Message-ID: <Ih3E4PW00WBNQ9EbkQ@andrew.cmu.edu> In-Reply-To: <ARROUYE.93Dec13162940@petole.imag.fr> Excerpts from netnews.comp.sys.next.programmer: 13-Dec-93 Making a demo version: sugg.. by Yves Arrouye@petole.imag > 3. Your ideas there... (perhaps the best way would be to implement a > license server, but this takes too much time for me at the moment). 3. Use a revision control system and create seperate branches for the demo and the "real" application. Extract the one you want to build at any particular time and work with that. Changes are automatically applied to both versions (if you want to set things up that way, at least). RCS and its CVS 'front end' are available from your standard GNU ftp site. Ob. complaint: When, oh, when will NeXT get on the ball and add revision control to ProjectBuilder? *That* would be a killer item for development. -Chuck Charles William Swiger -- CMU...*splat*! | 1. You can't fly. --------------------------------------------+ 2. Cars are always real, even AMS & normal mail: infidel@cmu.edu | when they're not. Failing that: cs4w+@andrew.cmu.edu | 3. Police are not your friends. NeXTmail: chuck@cswiger.slip.andrew.cmu.edu | 4. Fire burns.
From: bhuey@icogsci1.ucsd.edu (Bill Huey) Newsgroups: comp.sys.amiga.graphics,comp.sys.amiga.programmer,comp.sys.mac.programmer,comp.sys.next.programmer Subject: IFF/TIFF file formats...where can I get them????? Keywords: IFF TIFF format Message-ID: <58412@sdcc12.ucsd.edu> Date: 14 Dec 93 02:45:55 GMT Sender: news@sdcc12.ucsd.edu Followup-To: poster I'm trying to write a converter for IFF and TIFF graphics formats..... The stuff at the San Diego SuperComputer sucks for file conversion.... thanks bill huey
Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy,comp.sys.dec.micro,comp.sys.powerpc,comp.sys.dec From: Todd C. Miller <millert@cs.Colorado.EDU> Subject: Re: OPENSTEP on Alpha OSF/1 and PowerPC Mach Message-ID: <CI098E.H17@Colorado.EDU> Originator: millert@nordsieck.cs.Colorado.EDU Sender: news@Colorado.EDU (USENET News System) Organization: University of Colorado, Boulder References: <2eip4m$krv@usenet.ins.cwru.edu> Date: Tue, 14 Dec 1993 03:19:25 GMT From the keyboard of cs438@cleveland.Freenet.Edu (Denis Lafont): > > The DEC's UNIX (OSF/1 AXP) is based on Mach 2.5. > > NT seems to be based on mach 3.0...true? > > Denis NT is not based on any Mach code, though Microsoft claims that some of the microkernelish aspects/ideas of NT are derived from Mach. - todd -- Todd C. Miller Sysadmin--University of Colorado millert@cs.Colorado.EDU
Newsgroups: comp.sys.next.programmer From: frank@fnbc.com (Frank Mitchell) Subject: Re: DELEGATE OR SUBCLASS ?? Message-ID: <1993Dec13.235008.23667@fnbc.com> Sender: news@fnbc.com Organization: First National Bank Of Chicago, Chicago IL, USA References: <1993Dec13.162340.14950@cs.cornell.edu> Date: Mon, 13 Dec 93 23:50:08 GMT Another advantage to delegation -- it gives you a substitute for multiple inheritance. Suppose you have an abstract "Inspector" class that can be subclassed to inspect and edit something, or many things -- text, RTF, TIFF, database tables, whatever. It can even inspect parts of an object inspected by another Inspector, and it automatically notifies its parent Inspector of any changes it makes. (This isn't a contrived example. We're using something like this for our applications.) You want the application as a whole to coordinate and generate all Inspectors. But, since you've already written Inspectors to coordinate with each other, it's eaiest to coordinate them all with a Master Inspector, and then set it up as the Application delegate. If you didn't have delegation -- if you had to subclass Application -- you wouldn't have that option. You'd need to rewrite enough of the Inspector in your Application subclass to interact with other Inspectors (since ObjC has no multiple inheritance). What a pain. -- Frank Mitchell email(work): frank@fnbc.com (NeXTmail) (home): frank@gagme.chi.il.us "Man is an animal whose dreams come true and kill him." -- James Tiptree, Jr.
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: STRDUP() Question Message-ID: <1993Dec14.025022.28763@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Dec13.174510.2934@liberty.uc.wlu.edu> Date: Tue, 14 Dec 1993 02:50:22 GMT /* * Copyright (c) 1988 The Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)strdup.c 5.4 (Berkeley) 2/24/91"; #endif /* LIBC_SCCS and not lint */ #include <stddef.h> #include <stdlib.h> #include <string.h> char * strdup(str) const char *str; { int len; char *copy; len = strlen(str) + 1; if (!(copy = malloc((u_int)len))) return((char *)NULL); bcopy(str, copy, len); return(copy); }
Newsgroups: comp.sys.next.programmer,comp.lang.oberon,comp.object.logic,comp.lang.scheme From: Bob Hathaway <rjh@geodesic.com> Subject: Comp.Object FAQ Version 1.0.5 (12-13) Announcement Message-ID: <1993Dec14.052309.20094@midway.uchicago.edu> Followup-To: comp.object Summary: Frequently Asked Questions (FAQ) List and Available Systems For Object-Oriented Technology Sender: news@uchinews.uchicago.edu (News System) Organization: Geodesic Systems Date: Tue, 14 Dec 1993 05:23:09 GMT This announces the December version 1.0.5 of the Comp.Object FAQ! It has many updates and corrections and has several very up-to-date appendices on object- oriented methodologies and systems. While a new section on miscellaneous commercial systems and libraries is still in the works for completeness, this document may very well comprise the latest and most up-to-date collection of object-oriented systems and terms in the world today! There is also a potential upcoming merge with the new C++ Libraries FAQ. New noteworthy additions are the OO methodologies and OOA/OOD sections and ever expanding appendices. Future FAQs will contain a diff file. The FAQ is updated and posted monthly. Comments, suggestions, additions, updates, and new systems and site entries should be sent to rjh@geodesic.com. The FAQ is posted to the comp.object, comp.answers and news.answers newsgroups and is available via anonymous ftp from zaphod.uchicago.edu and rtfm.mit.edu, although new versions may take a short period of time to be installed. Anonymous FTP Sites and Hypertext Server: anonymous@zaphod.uchicago.edu:/pub/comp.object-faq.1.0.5(.Z) (128.135.72.61) anonymous@rtfm.mit.edu:/pub/usenet/comp.object/*_Part_* http://cui_www.unige.ch/OSG/FAQ/OO-FAQ/index.html Mail Server: (See also section 1.24) mail mail-server@rtfm.mit.edu Subject: send usenet/comp.object/* Zaphod is preferred over rtfm for anonymous ftp retrieval, as it provides a single file. Rtfm contains the FAQ as posted. To use the hypertext system, see APPENDIX E, entries 27. Again, a short period of time may be required to retrieve the latest version, allowing the posted version to propagate and get out as quickly as possible. Thank you to the many people who have contributed their time and effort into helping this document spread the word about object-oriented technology and available systems! It is hoped it will be most useful in that endeavor. Best Regards! bob
Newsgroups: comp.sys.next.programmer From: lucas@blkbox.COM (Lucas C. Wagner) Subject: JOB: Developers, Software Companies, etc. please read this... Organization: NeoSoft Communications Services -- (713) 684-5900 Date: Tue, 14 Dec 1993 02:18:37 GMT Message-ID: <CI06F5.B1w@NeoSoft.com> Sender: usenet@NeoSoft.com (C-news) I also posted this to comp.sys.next.announce.... ATTENTION: CO-MARKETER AND DEVELOPER WANTED. To all Programmers, Consultants, and/or Software Companies: I've decided to take to the nets for this and appeal to everyone. Please send all comments, criticisms, etc. to me (Lucas Wagner) at lucas@blkbox.com. I have a product I developed over the summer named "Ex_Machina"... It began as a need to satisfy my own UNIX BBS needs (which was, at the time, on my Sun)... It is unlike any other software out there, truthfully. I really enjoy it; it's a nice product with a truly unique interface. One of the nice features about it is the fact that it has CompuServe-like forums (with their own message bases and file sections)... One can use "go words" (ie. go irc brings you to the IRC forum, where one can post messages relating to IRC, enter IRC, or download "netiquette" files, etc... It is very comfortable to use, and I have even made guidelines to make the interface seem standard all throughout the system. Lately, I had been thinking (after seeing requests of NeXT BBS systems on the nets), "What would happen if I tried to market this?" I have the ideas, the code, and the interface (a la Interface Builder) The code is in sh and C format, which is the problem. How can one market something which allows access to the code? But, I'd really like to develop it for the NeXT platform and fill the niche which no one has filled yet! I truly believe this system is superior to anything available out there. The interface is standard enough that a GUI can be formed to be used with it. So, I am looking for a company or an individual with programming skills who will go on an honest quest with me to get some decent BBS software up for the NeXT. There are many alternatives to the specifics of the agreement on how profits will be distributed, which will be determined at the response to this letter. I believe it should be on a 50/50 case in most instances out of fairness, with exceptions on both cases in certain situations (such as upgrades - an area where the company or individual should take more credit)... I, in turn, will market the product, answer all calls about technical support (bugs, etc.), and handle the rest. Again, there are many alternatives to this, so if this does not sound decent, then please, by all means, let me know and we can arrange something. I will go to any extreme for this to work -- the NeXT market is nice and small - it is crucial to snatch up each opportunity there is. I would like to find a company or an individual who would like to take a risk in developing a product. Thanks for your time. Please let me know - it would be great to generate some extra profit by finally completing this project, something which would be greatly beneficial to both of us. Scrapping something I've worked on for almost a year would be truly painful. Thanks for your time, Lucas -- -- Lucas C. Wagner lucas@blkbox.com (NeXTmail accepted) Tangent Software Development Voice: (409)-273-3140 "NeXT black hardware will never die."
Newsgroups: comp.sys.next.programmer From: clloyd@gleap (Charles C. Lloyd) Subject: Re: Any program for transforming c-code into rtf-format? Message-ID: <1993Dec14.074220.21312@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software References: <1993Dec11.044704.2381@gleap.sccsi.com> Date: Tue, 14 Dec 1993 07:42:20 GMT Charles C. Lloyd writes >krause@math.tu-berlin.de writes >>Hi, >> >>does anybody know a program, which transforms C source code >>into nifty rtf-formatted code? > >There is a utility called m2rtf which does this using a flex-based approach. >The author is Harald Schlangmann. If you want more information on this, >contact me and I can get it for you. I don't want to give out Harald's email >address to the world without his permission. > For those interested, the ftp site is: ftp.informatik.uni-muenchen.de and the location is: pub/comp/platforms/next/Programming/tools/m2rtf.tar.gz Also, I took a look there and found a set of rtf utilities put together by Michael Hawley (of MIT Media Lab fame). Here is the readme for those who want to use even more rtf stuff. I suspect there are better places to ftp this from since slogging it across the Atlantic might be excessive (its over 2 megs). I don't know where else it is, but it must be around. From the readme of "rtf.tar.Z" The Media Laboratory 20 Ames Street Michael Hawley Cambridge, MA 02139 mike@media-lab.mit.edu RTF (Microsoft Rich Text Format) is a document markup language commonly used as an interchange format. RTF is fairly well-supported by NeXTSTEPX; these utilities enhance its usability. The following software is here: ;rtf-ascii.l;;X rtf-ascii X convert RTF to plaintext ASCII ;tools/cccp.c;;X cpp, cccp.c X RTF-tolerant C preprocessor ;rtfcat.m;;X rtfcat X concatenate RTF files to the standard output, optionally converting to PostScript, etc. ;rtfcast.c;;X rtfcast X extrude plaintext files through RTF templates ;rtfmail;;X rtfmail X script to NeXTMail RTF files. ;rubric.c;;X rubric X highlight words or regular exps in an RTF file ;samples/Readme.rtfd;;X samples/X sample RTF files ;tools/Readme.rtfd;;X tools/ X other RTF-tolerant tools (grep, make, ctags, etc) ;RTF-Spec.rtf;;XRTF-spec.rtf X specification of the RTF format For your bootstrapping convenience, all programs here are plaintext C. Please send along any improvements. Michael Hawley Feb 27XMar 29, 1993 MIT Media Laboratory 20 Ames Street Cambridge, MA 02139 mike@media-lab.mit.edu Copyright (c) 1993 by the MIT Media Laboratory -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
From: markl@ifr.luftfahrt.uni-stuttgart.de (Albert Markl) Newsgroups: comp.sys.next.programmer Subject: Re: gdb Date: 14 Dec 1993 08:46:24 GMT Organization: Comp.Center (RUS), U of Stuttgart, FRG Message-ID: <2ejuh0$k3a@info2.rus.uni-stuttgart.de> References: <9312131621.AA05422@cantina.lanl.gov> In article <9312131621.AA05422@cantina.lanl.gov> silbar@cantina.lanl.gov (Dick Silbar) writes: > Rainer Leuschke, leuschr@nextwork.rose-hulman.edu, posted: > > Dear internetters, > Sorry, if this appears to be a trivial question: I use gdb from inside > Edit. If I simply set breakpoints in my source code and try to inspect the > frames with the framebrowser some of my instance variables as well as some > of my local variables seem to be non-existent. > Please e-mail reply. > > I've seen this too, and presume it to be because of the compiler throwing away > "trivial" things it thinks it need not keep. If, however, you use the variable > in some trivial way, such as a printf statement, it does stay around for > inspection by gdb. I think some of the only locally used variables are stored in registers of the processor, even without optimization. In that case recompile the stuff declaring the variable as "volatile". This forces location in ram where gdb can find it. Al
Newsgroups: comp.sys.next.programmer From: netcom.com!kira!davidjohn (David John Burrowes) Subject: Re: Error handling Message-ID: <1993Dec14.001853.476@kira.net.netcom.com> Sender: davidjohn@kira.net.netcom.com Organization: No organization at this time. References: <FXG.93Dec8172840@gimli.tolkien.imib.rwth-aachen.de> Date: Tue, 14 Dec 1993 00:18:53 GMT In article <FXG.93Dec8172840@gimli.tolkien.imib.rwth-aachen.de> fxg@gimli.tolkien.imib.rwth-aachen.de (Felix Gatzemeier #Alwd#) writes: > [munch] > Is anyone out there specifically proud of his/her/their error handling >system? While it's not quite the same thing, I figure I'll mention it here just the same. I've found I rather like Sybase's scheme for error *reporting*. In this case, the client says to the server 'send all messages to this function of mine'. Then, when errors, warnings, or informational messages are generated, they get fired off immediately to this function. What can happen is that the client can then make one call to the server, and multiple messages will be generated and sent to this function to be processed before the original call returns. While Sybase doesn't do this, it seems like it would be straight forward to add in a class of error messages allowing the client/caller/whatever to advise on sticky situations. Thus, the message generator might report "I started parsing this file, and while it might be of the kind you specified, it looks like an old version to me. you SURE you want me to continue?" and the client/caller could say 'yeah' or 'no'. As I said, though, this says little about actually dealing with exceptions, or the like. Just a way of conveying information about errors. (david john burrowes)
Newsgroups: comp.sys.next.programmer From: nico@imani.cam.org (Nicolas Dore) Subject: Re: OPENSTEP on Alpha OSF/1 and PowerPC Mach Message-ID: <1993Dec14.061757.1721@imani.cam.org> Sender: nico@imani.cam.org References: <2eip4m$krv@usenet.INS.CWRU.Edu> Date: Tue, 14 Dec 1993 06:17:57 GMT In article <2eip4m$krv@usenet.INS.CWRU.Edu> cs438@cleveland.Freenet.Edu (Denis Lafont) writes: > > The DEC's UNIX (OSF/1 AXP) is based on Mach 2.5. > > NT seems to be based on mach 3.0...true? Wrong. Some folks from the Carnegie-Melon team worked on NT, but it's IBM's to-be-released WorkplaceOS that is to be Mach 3.0 based. NT is not related to Mach. It may be similar, but that's another question... Ciao > Denis -- Nicolas Dore nico@imani.cam.org - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > "Le calembour est la fiente du mot qui vole." < > Victor Hugo <
From: art@cubicsol.com (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: Distributed Objects implementation of UNIX Review's DCE example Date: 14 Dec 1993 16:25:24 GMT Organization: University of California, Santa Cruz Distribution: world Message-ID: <2ekpdk$676@darkstar.UCSC.EDU> References: <2ej6gl$m31@darkstar.UCSC.EDU> In article <2ej6gl$m31@darkstar.UCSC.EDU> art@cubicsol.com (Art Isbell) writes: Matt at NeXT wrote: > > The basic problem is that this code modifies a local proxy's private data > without sending a message. (The reason it works in the same process is > because the local proxy *is* the same object...) Therefore, the remote > NXData object never gets "notified" that its contents are being changed. > Since NXData contains no API to do this, you need to find a better way... > One solution is to not share the resultData object, just get it back from > the server. I changed your code to reflect this model: > > My original protocol that didn't work: > > - (NXData *)sumArrays:(NXData *)a :(NXData *)b into:(NXData *)c; > Matt's protocol that works: > > - (void)sumArrays:(in NXData *)a :(in NXData *)b into:(out NXData **)c; > > I had hoped that I could merely take a method that worked fine in a > non-DO implementation, place its implementation in a server, and find out > that "It Just Works..." Well, it doesn't in this case, I guess :-( I have taken Matt's explanation and written a simple NXData category that defines the method setData: which can be used to set data in an existing NXData object which will thus notify a remote NXData proxy that its data has changed. And guess what; "It Just Works!!" > The modified implementation allocates memory for "c" in the server and > copies it out across the connection to the client. The client is thus > responsible for freeing something that it didn't allocate which I don't > like. I want the client to allocate memory for "c", pass it to the > server, and for the server to return "c" to the client containing the > result as my original protocol specified. Is this not possible using > NXData? Must I create a different NXTransport-conforming container object > to use to pass the arrays and the result array? If so, then DO isn't > looking as elegant relative to DCE as I originally imagined :-( Matt has hung in there (thanks, Matt!) and answered my objections by writing an NXTransport-conforming Storage subclass that serves as a container for the long int arrays used in the DCE demo. This showed how to "DO-ize" existing classes and was a good learning experience for me. However, this still seemed like a lot of work to implement a DO equivalent of the DCE demo. So my categorized NXData seems like a simpler solution, but it may have flaws I don't recognize. Another very valuable lesson Matt passed on was the need to recognize that DO apps may run across architectures with different byte orders, so byte order conversions for all data must be implemented, a rather painful process. How does DCE handle byte order differences? So here's my NXData category that I think makes NXData objects general containers capable of recognizing remotely when its local data has changed: @implementation NXData(SetData) - setData:(void *)theData { memcpy(data, (const char *)theData, size); return self; } Comments? -- Art Isbell Cubic Solutions NeXT Registered Consultant NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
Newsgroups: comp.sys.next.programmer From: tom@basil.icce.rug.nl (Tom R.Hageman) Subject: Re: returning NaN, Was: RUMOR-ATTACK.. Message-ID: <CI02Aq.1v4@basil.icce.rug.nl> Sender: tom@basil.icce.rug.nl (Tom R.Hageman) Organization: Lofty Waters References: <9312112123.AA19174@flexus> Date: Tue, 14 Dec 1993 00:49:37 GMT In article <9312112123.AA19174@flexus> rfschtkt%banruc60.bitnet@cc1.kuleuven.ac.be writes: > LS, > > Scott Hess' -init as cited by Peter Kron (maybe I'll read the preceding > messages one day) is the only possible generally correct method. Note that the > documentation contradicts itself here (surprise...): > >>>>> (from 3.2 -[Object init] documentation) > Subclass versions of this method should return the new object (self) after it > has been successfully initialized. If it can't be initialized, they should > free the object and return nil. In some cases, an init method might free the > new object and return a substitute. Programs should therefore always use the > object returned by init, and not necessarily the one returned by alloc or > allocFromZone:, in subsequent code. > > [...] > > - init > { > [super init]; > /* class-specific initialization goes here */ > return self; > } > <<<<< Sigh! Yet another candidate for KBNS... > Why would a subclass be less vulnerable to the possibility that a superclass > would return a different object? Well, it's rare for this to happen, so it's > unlikely you'll get stung by this. But right is right, and there's no ``risk'' > involved in doing self=[super init] (self is nobody's ivar). On the other hand, in Concepts/ObjectiveC/4_RunTime/RunTime.rtfd (3.1) you find: \begin{Quote} Coordinating Classes Every class that declares instance variables must provide an init... method to initialize them (unless the variables require no initialization). The init... methods the class defines initialize only those variables declared in the class. Inherited instance variables are initialized by sending a message to super to perform an initialization method defined somewhere farther up the inheritance hierarchy: - initName:(char *)string { if ( self = [super init] ) { name = (char *)NXZoneMalloc([self zone], strlen(string) + 1); strcpy(name, string); return self; } return nil; } \end{Quote} Note that this still bombs out if NXZoneMalloc fails... -- __/__/__/__/ Tom Hageman (tom@basil.icce.rug.nl) [NeXTMail accepted] __/ __/_/ __/__/__/ "...to baldly go where no man has gone before." __/ _/_/ -- star trek TNG
From: art@cubicsol.com (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: Making a demo version: suggestions wanted Date: 14 Dec 1993 16:30:35 GMT Organization: University of California, Santa Cruz Distribution: world Message-ID: <2ekpnb$6bf@darkstar.UCSC.EDU> References: <Ih3E4PW00WBNQ9EbkQ@andrew.cmu.edu> In article <Ih3E4PW00WBNQ9EbkQ@andrew.cmu.edu> Charles William Swiger <infidel+@CMU.EDU> writes: > Ob. complaint: When, oh, when will NeXT get on the ball and add revision > control to ProjectBuilder? *That* would be a killer item for > development. NeXT is adding hooks to PB that will allow 3rd-parties to integrate their revision control products. The only announced vendor I'm aware of is TeamOne. Unfortunately, the cost of these products may be so high that small developers will find licensing them difficult to justify. Hopefully, the hooks will be public API that can be used by the talented individuals in the NEXTSTEP community to make affordable utilities based on CVS, for example, work with PB. -- Art Isbell Cubic Solutions NeXT Registered Consultant NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
From: tiggr@viper.es.ele.tue.nl (Pieter Schoenmakers) Newsgroups: comp.sys.next.programmer Subject: Re: gdb Date: 14 Dec 1993 15:12:37 GMT Organization: Eindhoven University of Technology, The Netherlands Message-ID: <TIGGR.93Dec14161237@viper.es.ele.tue.nl> References: <9312131621.AA05422@cantina.lanl.gov> <2ejuh0$k3a@info2.rus.uni-stuttgart.de> In-reply-to: markl@ifr.luftfahrt.uni-stuttgart.de's message of 14 Dec 1993 08:46:24 GMT In article <2ejuh0$k3a@info2.rus.uni-stuttgart.de> markl@ifr.luftfahrt.uni-stuttgart.de (Albert Markl) writes: I think some of the only locally used variables are stored in registers of the processor, even without optimization. This is not true. In that case recompile the stuff declaring the variable as "volatile". You certainly do not want this---source modification to please the debugger. --Tiggr
From: long0@ncc.centel.com (Gary Longsine) Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy,comp.sys.dec.micro,comp.sys.powerpc,comp.sys.dec Subject: Re: OPENSTEP on Alpha OSF/1 and PowerPC Mach Date: 14 Dec 1993 17:44:03 GMT Organization: Central Telephone Company Distribution: world Message-ID: <2eku13$csh@coergw2.centel.com> References: <2eip4m$krv@usenet.INS.CWRU.Edu> cs438@cleveland.Freenet.Edu (Denis Lafont) writes: ------------------------------------------------- |> |> The DEC's UNIX (OSF/1 AXP) is based on Mach 2.5. |> |> NT seems to be based on mach 3.0...true? |> NT is based on a kernel of Microsoft's own design, kinda. If you look at their propaganda on NT, it looks like they musta read about Mach pretty carefully, and thought: "We can do that!" Writing their own version of anything is a bonus to them, because it allows them to be different from everyone, make more money selling bug-fix "upgrades" and they don't have to pay licensing fees. NeXTSTEP 3.2 is based on a 2.x version of CMU's Mach, with some changes made at NeXT. In CMU Mach 3.0, the pager, and possibly a few other remaining functions, were stripped from the kernel, leaving what is regarded as a microkernel. Though many people claim there is debate on what exactly constitutes a MicroKernel, most people seem to agree that the CMU Mach 3.0 falls within the general definition, and many even claim that it is the standard-bearer of the MicroKernel architecture. I've noticed a few things that lead me to speculate that NeXT is planning to move to a 3.x release of CMU Mach (possibly in NeXTSTEP 4.0 ?) 1. In the Driver Kit docs with NeXTSTEP 3.2, mention that drivers should run at the User level, (enables easier driver development and testing, as well as preventing a driver from crashing a kernel) but that this feature has not yet been implemented in the Driver Kit. --Assumption: this will be easier to implement under Mach 3.0. 2. In this week's InfoWorld, Steve Jobs is quoted in a small article about IBM's plan for the PowerPC. (Their plan? Encourage everyone to port their OS to the PowerPC, so that the chip can dominate the market, then blast them all off by shipping a Mach based, object oriented OS.) In this story, they claim that NeXT has a version of NeXTSTEP for the PowerPC that was designed to run on the NeXT RISC Workstation, which was to be based on dual PowerPC 601 's running in a Symmetric MultiProcessor architecture. --Assumption: SMP is easier to implement, and may offer performance advantages, with a leaner microkernel. 3. It has been widely reported that NeXT is developing their own object-oriented file structure, for possible inclusion in NeXTSTEP 4.0. Although NeXTSTEP already supports loadable file systems, there may exist reasons why a 3.x "lean" microkernel is superior to a 2.x "fat" microkernel for this project. I've never hacked a kernel, so I don't know what these might be, specifically. In general, it would seem that moving to a Mach 3.x microkernel might provide some advantages for future growth of the OS, but probably isn't necessary for survival just now. Any thoughts on this? Has anybody run across any other stuff in the Developer docs that might support/undermine this theory? Gary Longsine long0@ncc.centel.com
Newsgroups: comp.sys.next.programmer From: peterb@marvin.ptltd.com (Peter Barada) Subject: Re: gdb Message-ID: <CI1E6C.9t5@blackhole.ptltd.com> Sender: root@blackhole.ptltd.com (Operator) Organization: Phoenix Tech Ltd. References: <2ejuh0$k3a@info2.rus.uni-stuttgart.de> Date: Tue, 14 Dec 1993 18:03:45 GMT In article <2ejuh0$k3a@info2.rus.uni-stuttgart.de> markl@ifr.luftfahrt.uni-stuttgart.de (Albert Markl) writes: > In article <9312131621.AA05422@cantina.lanl.gov> > > I think some of the only locally used variables are stored in > registers of the processor, even without optimization. In that case > recompile the stuff declaring the variable as "volatile". This forces > location in ram where gdb can find it. > > Al No. Do not toss in 'volatile' attributes so freely. The resulting code will run slower since the volatile attribute informs the compiler that all references have to be reloaded from memory. Compiling with -g and withOUT -O will guarentee that all of the debugging information is available, and that all references to varaibles will be written back to memory at the end of a source line so gdb can be used to 'correctly' modify the content of ANY varaible. Even if a variable is declared to be register, gcc produces enough debugging information to see the variable. -- Peter Barada / peterb@ptltd.com Phoenix Technologies Ltd. / Peripherals Group / 617-551-5000 (USA) Clone the Bone!!! / Opinions are mine; Phoenix cloned them from me...
From: sj1@acpub.duke.edu (Stan Jirman) Newsgroups: comp.sys.next.programmer Subject: NS version recognition? Message-ID: <25276@news.duke.edu> Date: 14 Dec 93 07:22:22 GMT Sender: news@news.duke.edu I was just wondering how a NeXTstep app can recognize on which NS version it is running. I need in particular the recognition between 3.0 and 3.1 or younger. I know about Unix "hostinfo", but is there not an easier way? The program should not be required to parse lots of unnecessary input. Thanx for any input Stan -- ---------------------------------------------------------------------- "640K ought to be enough for anybody." -- Bill Gates '81 Stan Jirman sj1@acpub.duke.edu NeXTmail welcome ----------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: ellis@hook.corp.mot.com (Pat Ellis) Subject: Need help finding NeXTSTEP reseller and dev tools... Organization: MOTOROLA Date: 14 Dec 93 16:27:05 GMT Message-ID: <ellis.755886425@pan> Summary: Trying to find some place to purchase the/a NeXTSTEP dev kit... Keywords: NeXTSTEP developer Sender: news@schbbs.mot.com (Net News) I am trying to find a place to purchase the appropriate software to begin doing software development using NeXTSTEP on a '486 and have been unsuccessful. Is there anyone out there who would be kind enough to send any information about the kinds of things that I need and a place to get them from? Also, any comments about any essential books (NeXT or otherwise) would be very much appreciated. Thanks in advance! =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ) Pat Ellis "patMAN!" | Motorola Inc. ( ( Staff Software Engineer, | 1201 Wiley Road, Suite 109, IL72 ) ) Wireless Data Group | Schaumburg, IL 60173-4352 ( ( Applied Research Lab | Ph. 708.576.0700 Fax 708.576.0892 ) ) ellis@hook.corp.mot.com | #include <std_disclaimer> ( (----------------Iowa State University Alumni--------------------------) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ) Pat Ellis "patMAN!" | Motorola Inc. ( ( Staff Software Engineer, | 1201 Wiley Road, Suite 109, IL72 )
Newsgroups: comp.sys.next.programmer From: ericb@il.us.swissbank.com (Eric_Brown) Subject: Re: Distributed Objects, multiple servers ???? Message-ID: <1993Dec13.183934.16724@il.us.swissbank.com> Sender: root@il.us.swissbank.com (Operator) Organization: Swiss Bank Corporation CM&T Division References: <CHtuAz.BC1@informatik.uni-muenchen.de> Date: Mon, 13 Dec 1993 18:39:34 GMT Marc Guenther writes > In article <1993Dec9.221151.29593@il.us.swissbank.com> > ericb@il.us.swissbank.com (Eric_Brown) writes: > > Marc Guenther writes > > > One thing I never understood about DO is the following: > > > > > > How do I get ALL objects that are registered under a specific > > > name in the local net with registerRoot ??? > > > > > > The normal way to setup an server is to do > > > conectToPort:"name" > > > and when it returns nil you do > > > registerRoot. > > > > > > But this operation isnt aomar (atomic ??) > > > I mean, its possible for two programs to do this at exactly > > > the same time, and both register with the same name in the > > > Net. So how can I get these two objects ??? > > [description of DO behavior deleted] > > Oh, great, what about returning a List of objects ??? NeXT, what about > this ??? I think this is a major disadvantage of PDO !!! I want to > be sure, that Im the only server in the local network, or else my > program would be useless... Hmmm... > This should be very easy to do for someone with sourcecode access > to PDO. Just add a new method, eg. allObjectsWithName: which > does the same as connectToName:onHost:"*" just it returns a List > off ALL responds within a specific time. > > What would help me a lot is a way to specify > connectTo...onHost:<all hosts in the LAN except my own> > This way a server for itself could query the net sometimes, and > tell all other servers it finds to go away. > Here is a little bit more explanation as to how Distributed Objects named registration works. To start with, DOs use NeXT's NetNameServer database for keeping track of the objects that have registered themselves with a specific name. The problem is that the NetNameServer database is local to each machine. It is not a distributed database. Each machine will respond to either a direct request for an objectNamed... or to a network broadcast request for the same information (if said machine has an object with the requested name). This presents a problem when you want ALL objects on the network with the same name. In order to even attempt this, you have to send out the broadcast request and then wait for responses. NeXT's current implementation of Distributed Objects has a default timeout of 15 seconds (can be changed) and will return either when it gets its first response or when the time is up. Reasonably, there could be an alternate version of the -connectToName:onHost: that would return a list of objects from machines that responded within the timeout period. Alternatively, it would be possible to implement a -connectToName:onHosts:<list of hosts> in a category of NXConnection that would go through the list of hosts and query each one. The down side would be that each individual -connectToName:onHost: could take up to 15 seconds if the machine is down (unless you wanted to get really fancy and thread each -connectToName:onHost: into its own thread). Unfortunately, there is no easy to determine <all hosts in the LAN except my own> without some sort of broadcast request. If they are all NeXTs and are registered in the same NetInfo database, then you could conceivably get the list of machines from there, but you can't really know that you have ALL of the machines. Even if you could know ALL of the machines on the network, or if know MOST is enough, determining if one of them is running a particular server process (or has a particular object) is not trivial because between the time that you decide that there are no servers up and running and the time that you actually start you own up, another machine could be doing the same thing. The question then arises: does it matter if more than one server is up? If yes, then there are several network algorithms for determining remote node states (as well as distributed agreement, mutual exclusion, 2PC, 3PC, etc...) Well, enough meaningless drivel... Eric Brown NEXTSTEP Consultant CG Computer Services ericb@sbcoc.com *** DISCLAIMER *** The opinions expressed above are mine (I think) and are not necessarily those of my employer.
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: mikes@ceco.ceco.com (Michael Stepniczka) Subject: Methodist 1.05 Message-ID: <CI1F0n.GJH@ceco.ceco.com> Keywords: method parser source Sender: root@ceco.ceco.com (Operator) Organization: Commonwealth Edison Co. Date: Tue, 14 Dec 1993 18:21:59 GMT I've posted another version of Methodist that adds a bit of functionality, chiefly: - RTF source files (.m) can now be parsed. - Double-clicking on the filename opens it even if there are no methods in it. - The app doesn't become active unless you click in on the title bar. - Lines beginning with a series of dashes, "-------", are now ignored. It's on cs.orst.edu in /pub/next/submissions/Methodist_1.05_FAT.tar.Z More information is in the on-line Help system. Mike Stepniczka mikes@ceco.ceco.com
Newsgroups: comp.sys.next.programmer From: ellis@hook.corp.mot.com (Pat Ellis) Subject: <<<< NeXTSTEP, where can I buy it? Organization: MOTOROLA Date: 14 Dec 93 16:48:27 GMT Message-ID: <ellis.755887707@pan> Summary: Want to do NeXTSTEP software dev on a 486... Keywords: NeXTSTEP Sender: news@schbbs.mot.com (Net News) I am trying to find a place to purchase the appropriate software to begin doing software development using NeXTSTEP on a '486 and have been unsuccessful. Is there anyone out there who would be kind enough to send any information about the kinds of things that I need and a place to get them from? Also, any comments about any essential books (NeXT or otherwise) would be very much appreciated. Thanks in advance! =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ) Pat Ellis "patMAN!" | Motorola Inc. ( ( Staff Software Engineer, | 1201 Wiley Road, Suite 109, IL72 ) ) Wireless Data Group | Schaumburg, IL 60173-4352 ( ( Applied Research Lab | Ph. 708.576.0700 Fax 708.576.0892 ) ) ellis@hook.corp.mot.com | #include <std_disclaimer> ( (----------------Iowa State University Alumni--------------------------) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
From: fxg@tschaikowsky.informatik.rwth-aachen.de (Felix Gatzemeier) Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin Subject: Re: AlphaLock.c updated for NS-3.2 --- Question Date: 14 Dec 1993 19:04:51 GMT Organization: Lehrstuhl fuer Informatik III, RWTH Aachen, Germany Distribution: world Message-ID: <FXG.93Dec14200451@tschaikowsky.informatik.rwth-aachen.de> References: <2dvgts$675@usenet.rpi.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-reply-to: gad@eclipse.its.rpi.edu's message of 6 Dec 1993 14:51:40 GMT Does this refer to "caps lock" gives !@#$ instead of 1234 or what? I don't use caps locking at all, because it'll give me AsDFGh (ca.) instead of ASDFGH, as I'd expect. Any ideas? Could a redefinition of Alt-s matter in that context? Any ideas? (Running 3.0 on a NeXTstation) -- Felix +-------------------------------+ | Groesstmoeglicher Erfolg | | oder | | eine vernuenftige Alternative | +-------------------------------+ (Haegar, zu finden in der letzten (?) Was'N Los?, FS-Organ der I/1) (If you don't speak german, mail me for a translation.) (fxg@(([Pool|I3].Informatik)|(Tolkien.ImIB)).RWTH-Aachen.de NeXT-Mail ok, but slow)
Newsgroups: comp.sys.next.programmer Subject: Re: Escape sequences & strlen Message-ID: <1993Dec12.005134.7757@nic.csu.net> From: mclean@futon.SFSU.EDU (Emmett Mclean) Date: 12 Dec 93 00:51:31 PST References: <1993Dec9.203527.7737@nic.csu.net> Distribution: world Organization: San Francisco State University I received several responses to my inquiry about escape sequences and strlen : Art Isbell <art@cubicsol.com> said >Have you tried compiling with the -bsd flag (or maybe the -traditional flag)? This turned out to be a very helpful suggestion since I was was also getting warning messages on some curses stuff. Using the -bsd option stopped that. >Michal Jaegerman <michal@gortel.phys.ualberta.ca> About casing the result of strlen said : >Casting result will not help a bit. A return type for strlen is >size_t and not int - at least in Standard programs. The simplest way >is to comment out clearly superfluous declaration of strlen() in x.h. >Overriding system headers is a bad habit. That solved this problem. > Jim Quick <dum!dum!jq@uunet.UU.NET> About the escape sequences said : > > case '\.': > case '\^': > case '\$': > > >To fix these just remove the backslash from each of the three quoted >values. In C the characters {.,^,$} are not special so don't need >to be escaped with \ . Michal pointed this out too. Thanks everyone. -e
From: Charles William Swiger <infidel+@CMU.EDU> Newsgroups: comp.sys.next.programmer Subject: Re: Distributed Objects implementation of UNIX Review's DCE example Date: Tue, 14 Dec 1993 15:32:28 -0500 Organization: Fifth yr. senior, Chemistry, Carnegie Mellon, Pittsburgh, PA Distribution: world Message-ID: <ch3W=QO00iV546_r8n@andrew.cmu.edu> In-Reply-To: <2ekpdk$676@darkstar.UCSC.EDU> Excerpts from netnews.comp.sys.next.programmer: 14-Dec-93 Re: Distributed Objects imp.. by Art Isbell@cubicsol.com > Another very valuable lesson Matt passed on was the need to recognize > that DO apps may run across architectures with different byte orders, so > byte order conversions for all data must be implemented, a rather painful > process. How does DCE handle byte order differences? "man xdr" It's your friend.... :-) -Chuck Charles William Swiger -- CMU...*splat*! | 1. You can't fly. --------------------------------------------+ 2. Cars are always real, even AMS & normal mail: infidel@cmu.edu | when they're not. Failing that: cs4w+@andrew.cmu.edu | 3. Police are not your friends. NeXTmail: chuck@cswiger.slip.andrew.cmu.edu | 4. Fire burns.
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: OpenPanel SavePanel anomoly? Date: 14 Dec 1993 15:27:18 -0000 Organization: me organized? That's a joke! Message-ID: <2ekm0m$j4@steffi.demon.co.uk> I'm using an OpenPanel with chooseDirectories = YES in order to select a path in which to save something. Now, with OpenPanel... the path must exist ie. you cannot create a path that doesn't exist in order to open something that should already exist. But consider, I want to use an OpenPanel to specify where I should save something. In this case I'm referring to a directory in which I want to dump a load of tiffs. However, I cannot specify (in the textfield) a path that doesn't exist with an OpenPanel and have it created for me ala SavePanel behaviour?... AND with a savePanel I cannot "chooseDirectories=YES"...... in order to limit the selection to directories. Shouldn't the chooseDirectories method be rooted in SavePanel and not OpenPanel My understanding is that SavePanel will create directories automatically if they don't already exist where as OpenPanel won't. Am I forced (and can I even) use the delegate "validate" methods to workaround this?
From: rfschtkt%banruc60.bitnet@cc1.kuleuven.ac.be Newsgroups: comp.sys.next.programmer Subject: Re: returning NaN, Was: RUMOR-ATTACK.. Date: 14 Dec 1993 16:27:27 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9312142222.AA28957@flexus> LS, To Alex Blakemore, about theId=[theId free] not being appropriate (my assertion): think multithreaded/(P)DO. If you use that return value, you'll hurt yourself; if you don't, use my syntactical sugar instead. To Peter Kron: You are right, of course, the code template -init{ if(nil!=(self=[super init])){ /* class-specific initialization goes here */ } return self; } is only capable of handling nil and self return values, not the substitutions that would make sense. Now why did I make this mistake? (Don't answer.) Shutting up for now, to avoid other stupidities (it's late), Raf
From: slwdz@cc.usu.edu Newsgroups: comp.sys.next.programmer Subject: Where to find RTF specs? Message-ID: <1993Dec14.153017.6236@cc.usu.edu> Date: 14 Dec 93 15:30:17 MDT Organization: Utah State University Where can I FTP the Rich Text Format specs? I looked around Microsoft, but I couldn't locate them. Thanks, John Zollinger slwdz@cc.usu.edu
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: Re: STRDUP() Question Message-ID: <CI1ytC.DyL@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems References: <1993Dec14.025022.28763@csus.edu> Date: Wed, 15 Dec 1993 01:29:35 GMT Eric P. Scott posted strdup() source. another option is to add something like in the appropriate header file #ifdef NeXT #define strdup(x) NXCopyStringBuffer(x) #endif or if you dont plan to leave NEXTSTEP, then just pipe your source through sed 's/strdup(/NXCopyStringBuffer(/' -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
From: 0005508785@mcimail.com (ErgoTech Development, Inc.) Newsgroups: comp.sys.next.programmer Subject: NeXTMAIL Services Date: 14 Dec 1993 21:59:56 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <51931214234815/0005508785NA2EM@mcimail.com> Does anyone have a good way to programmatically send NeXTMAIL? Do we have a service and a pasteboard format that will allow sending without Mail asking any questions, or even un-hiding? That is we have to pass the address, subject etc. not just a selection. Jim Redman ErgoTech_Development_Inc@MCIMAIL.COM
Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer,comp.os.ms-windows.advocacy From: neele@fnma.com (Neele Johnston) Subject: Obj-C for Windoze? Message-ID: <1993Dec15.043835.10851@almserv.uucp> Sender: usenet@almserv.uucp Organization: Fannie Mae Date: Wed, 15 Dec 1993 04:38:35 GMT A plea for enlightenment: I've noticed a few obscure references over the past year to potential or planned support for Objective-C in Borland's development tools for Windoze. Can anybody give me the straight poop on this? I might have imagined it... With Sun's recent announcement of OpenStep, I think it makes more sense than ever for us to consider Objective-C as an alternative to C++ for our Windoze app development. On the whole, our experience in keeping projects on schedule is better with Obj-C than C++. Much of that is due to the power of the kits and development environment in NEXTSTEP; but for the stuff I have to do on Windoze, is there a good toolset based on Obj-C? Now that Microsoft has come out with a market-leading C++ package to compete with Borland, does it make sense for Borland to graduate to the more powerful O-O paradigm of Obj-C? Is this available today? and if so, how does it compare to C++ in terms of kits, support for GUI foundation classes, etc? As you might have guessed, I have relatively little expertise in serious software development on Windoze. My company, however, has accumulated a wealth of experience with Borland C++, MS Visual C++, MS Visual BASIC, and a number of 4GLs. We're still looking for the Holy Grail of software architecture: a unified object model across all our Windoze and UNIX systems. Something that has potential to play with OpenStep would be appealing. Any constructive advice at this point would be much appreciated. -- Neele Johnston Email: neele@fnma.com Unix Technical Services Fax: (202) 625-4941 Fannie Mae, Washington, DC Phone: (202) 752-6061
From: gad@eclipse.its.rpi.edu (Garance A. Drosehn) Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin Subject: Re: AlphaLock.c updated for NS-3.2 --- Question Date: 15 Dec 1993 07:08:41 GMT Organization: Rensselaer Polytechnic Institute, Troy NY, USA Distribution: world Message-ID: <2emd5p$49o@usenet.rpi.edu> References: <FXG.93Dec14200451@tschaikowsky.informatik.rwth-aachen.de> fxg@tschaikowsky.informatik.rwth-aachen.de (Felix Gatzemeier) writes: > Does this refer to "caps lock" gives !@#$ instead of 1234 or what? > I don't use caps locking at all, because it'll give me AsDFGh (ca.) > instead of ASDFGH, as I'd expect. Any ideas? Could a redefinition > of Alt-s matter in that context? Any ideas? > (Running 3.0 on a NeXTstation) If you press alt-shift on a NeXTstation, then caps-lock comes on. I never ever want caps-lock on (not even when I'm writing all capital letters), and yet I often hit that alt-shift key combination by mistake. For instance, I'll start to do an alt-shift-someOtherKey, and then change my mind before hitting the other key. Suddenly everything's screwed up because the shift-lock is on when I didn't expect it to be. All alphalock does is ignore the alt-shift combination, so that it will never turn on shift-lock. -- Garance Alistair Drosehn = gad@eclipse.its.rpi.edu ITS Systems Programmer (handles NeXT-type mail) Rensselaer Polytechnic Institute; Troy NY USA
Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs From: stage@dla832.ubszh.net.ch (Stage) Subject: Bug in Interface Builder ? Message-ID: <CI2LLJ.38q@ubszh.net.ch> Followup-To: comp.sys.next.programmer,comp.sys.next.bugs Keywords: custom palettes, non-View custom objects, interface builder Sender: usenet@ubszh.net.ch (news) Organization: Union Bank of Switzerland Date: Wed, 15 Dec 1993 09:41:42 GMT I want to build a palette which contains a non-View object, i.e. an object I can deposit in the File window. As indicated in NeXTSTEP General Reference and the release notes, I implement the finishInstantiate method of my palette to associate my custom object with a view. When I load my palette and drag the associated view to the File window, the suitcase opens to accept it, but then Interface Builder crashes with always the same message: Workspace: New dragCompleted protocol not recognized, using old one Does anyone have the same problem or suggest a workaround. The DBKit offers a non-View object, named DBModule. In this case, everything seems to work fine. Thanks for any help, Hans -- Hans Kneubuehl EPF Lausanne kneubuhl@di.epfl.ch
Newsgroups: comp.sys.next.programmer From: stage@dla832.ubszh.net.ch (Stage) Subject: Debugging bundles and palettes Message-ID: <CI2Lss.39G@ubszh.net.ch> Keywords: gdb, bundles, palettes Sender: usenet@ubszh.net.ch (news) Organization: Union Bank of Switzerland Date: Wed, 15 Dec 1993 09:46:03 GMT How can I use gdb to debug palettes that are dynamically loaded into Interface Builder or bundles that are loaded during run time into my main program? I use the debug option to compile my bundles or palettes, but when I use GDB, it doesn't have any knowledge of dynamically loaded code. Thanks for any help, Hans -- Hans Kneubuehl EPF Lausanne kneubuhl@di.epfl.ch
From: kline@CS.Arizona.EDU (Nick Kline) Newsgroups: comp.sys.next.programmer Subject: problem loading a nib Date: 15 Dec 1993 03:56:39 -0700 Organization: University of Arizona CS Department, Tucson AZ Message-ID: <2emqh7$1k5@cheltenham.cs.arizona.edu> I have a strange problem loading a nib. I have a panel with several thing on it, buttons, a popup list, a switch, a radio button. I load this panel separately for efficiency. I set the file's owner of this nib to be 'DebugInterface', a class with an outlet for the nib. i do the usual if(outlet == nil) [NXApp loadNibSection:"debug.nib" owner:self withNames:NO]; The problem is that some of the outlets for the panel buttons are set, and some are not. I rebuilt from scratch, checked again and again that the connections in ib are there. it just seems to make no difference. just before I load the nib (i only do it once of course), I break the program and print some of the outlets out. all are nil as they should be. on the statement right after I do the loadNibSection, I print the outlet that points to the nib out, it's set correctly. and SOME of the outlets for the panel are set, and some are not. I look again in ib and yes, they are all set. they all point to the same object, and the object has the proper outlets in the inspector. I reparsed the object to see if that would make a difference. The only possible problem I see (aha you say, here's where he's wrong!) is that I have an abstract superclass, PanelInterface, with a single outlet, panelNib, and a char*panelName. DebugInterface is a subclass of PanelInterface., and I will have several subclasses for different panels. In the subclasses init function, i do panelName = "debug.nib" and I link nibPanel to the nib. IB knows about both classes. In the inspector, panelNib is dimmed in the aspects inspector, but in connections it is shown as connected (and it's not dimmed). I suppose its dimmed because it's an inheriated outlet from it's parent and can't be affected there. I also looked inside the nib file and the list of outlets seems to be complete, (although they are in no apparent order). The actual code (in the panelInterface class) is: -loadNib { if(!nibPanel) { if([NXApp loadNibSection: nibName owner: self withNames:NO]) printf("loaded panel from class %s or class %s\n", [self name], [[self class] name]); else printf("Load of %s failed\n",nibName); [self nibLoaded]; } return self; } the result is the correct loaded panel from class DebugInteface or class DebugInterface. How can some of the nibs be set and not the others? what's set: nibs that point to: a button, a textfield, a button, and a popup list what's not set (nil) a button, a matrix of radio buttons, a formcell It seems I must be making some obvious mistake. anybody? thanks, nick
Newsgroups: comp.sys.next.programmer From: wave@media.mit.edu (Michael B. Johnson) Subject: Re: Debugging bundles and palettes Message-ID: <1993Dec15.115937.21536@news.media.mit.edu> Keywords: gdb, bundles, palettes Sender: news@news.media.mit.edu (USENET News System) Organization: MIT Media Laboratory References: <CI2Lss.39G@ubszh.net.ch> Date: Wed, 15 Dec 1993 11:59:37 GMT In article <CI2Lss.39G@ubszh.net.ch> stage@dla832.ubszh.net.ch writes: >>How can I use gdb to debug palettes that are dynamically loaded into Interface Builder or bundles that are loaded during run time into my main program? I use the debug option to compile my bundles or palettes, but when I use GDB, it doesn't have any knowledge of dynamically loaded code. >> >>Thanks for any help, >> I'm not totally sure what you mean here, but the way I debug palettes is bring up a shell, type gdb /NextDeveloper/Apps/InterfaceBuilder.app/InterfaceBuilder then you can either forward reference your breakpoint and as IB loads in the various palettes it will ask you which class you were referring to, or you could specify it immediately, or you could wait until IB has finished starting up, break (control c), and then set a break point. -- --> Michael B. Johnson -- wave@media.mit.edu --> MIT Media Lab -- Computer Graphics & Animation Group --> 20 Ames St. E15-023G -- (617) 547-0563 (day office) --> Cambridge, MA 02139 -- (617) 253-0663 (night office)
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: AlphaLock.c updated for NS-3.2 --- Question Message-ID: <1993Dec15.102306.9770@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <FXG.93Dec14200451@tschaikowsky.informatik.rwth-aachen.de> Date: Wed, 15 Dec 93 10:23:06 GMT In article <FXG.93Dec14200451@tschaikowsky.informatik.rwth-aachen.de> fxg@tschaikowsky.informatik.rwth-aachen.de (Felix Gatzemeier) writes: [...] > I don't use caps locking at all, because it'll give me AsDFGh (ca.) > instead of ASDFGH, as I'd expect. Any ideas? Could a redefinition of > Alt-s matter in that context? Any ideas? > (Running 3.0 on a NeXTstation) On the German keyboard it is Y, Z and the German Umlauts (I will refer only to y+z in the following). They just come as y + z (lowercase). It looks like German.keymapping is NOT the problem. If you press Shift everything is ok. Keyboard.app does not have the possibility to show the characters if caps-lock is on; Preferences.app does and it appears exact as it is typed: y+z instead of Y+Z. I don't think the *.keymappings have a special list for the caps-lock case. So it must be an error in NEXTSTEP, which seems to have a hard-coded table for character-mapping, because only the chars which differ from the English layout are non-workers. Anybody a fix for this? Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not (+49) 40 / 380 23-290 (Fax ) And am content with all
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: Distributed Objects, multiple servers ???? Message-ID: <1993Dec15.103236.10745@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <1993Dec13.183934.16724@il.us.swissbank.com> Date: Wed, 15 Dec 93 10:32:36 GMT Simple suggestion to avoid multi-server-processes: You have a server in your net, right? Start up your DO-server-process in rc.local at boot time. And let your clients be just that: clients for the server. This makes shure that you have only one server-process running. And you can tell your clients the machine it runs on, so connecting to it will be faster. Atze PS. This is how we do it. -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not (+49) 40 / 380 23-290 (Fax ) And am content with all
Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs From: wave@media.mit.edu (Michael B. Johnson) Subject: Re: Bug in Interface Builder ? Message-ID: <1993Dec15.121216.21773@news.media.mit.edu> Keywords: custom palettes, non-View custom objects, interface builder Sender: news@news.media.mit.edu (USENET News System) Organization: MIT Media Laboratory References: <CI2LLJ.38q@ubszh.net.ch> Date: Wed, 15 Dec 1993 12:12:16 GMT In article <CI2LLJ.38q@ubszh.net.ch> stage@dla832.ubszh.net.ch writes: >>I want to build a palette which contains a non-View object, i.e. an object I can deposit in the File window. As indicated in NeXTSTEP General Reference and the release notes, I implement the finishInstantiate method of my palette to associate my custom object with a view. >> >>When I load my palette and drag the associated view to the File window, the suitcase opens to accept it, but then Interface Builder crashes with always the same message: >> >>Workspace: New dragCompleted protocol not recognized, using old one >> >>Does anyone have the same problem or suggest a workaround. The DBKit offers a non-View object, named DBModule. In this case, everything seems to work fine. >> Have you implemented: - awake - read: - write: for your custom object? Run IB under gdb to see where it's really crashing. I believe that message you're seeing just has to do with the fact that IB crashed while you were doing a drag and drop. Realize that the order of events are: load in your palette. IB sends an appropriate initFrame: to each of the subviews on the palette. If you have nonview objects, you have to tell the palette about them by associating a view object on the palette with each non-view object using: - associateObject:IBObjectPBoardType:with in the palette's finishInstantiate method. The palette then sends init to them. If you have corresponding setOutlet:sender methods, those get sent now. Then when you select a view on the palette to drag and drop, IB sends a write: to either the view or the object, depending on if the view is just acting as a handle for the object (as it is in your case). After the write: finishes, IB allocs up a new object of that type and does a read: on the stream that it just had the object write itself out to. After the read: completes, the object gets sent an awake msg to finish waking itself up. Note that init only gets called for the first instance of each object on the palette; after that it's write:, read:, and awake. The obvious mistake most people make is either forgetting to implement these or implememting them wrongly, since this may be the first time as NeXTSTEP programmers that they've had to deal with archiving objects. Hope that helps. -- --> Michael B. Johnson -- wave@media.mit.edu --> MIT Media Lab -- Computer Graphics & Animation Group --> 20 Ames St. E15-023G -- (617) 547-0563 (day office) --> Cambridge, MA 02139 -- (617) 253-0663 (night office)
Newsgroups: comp.sys.next.programmer From: wave@media.mit.edu (Michael B. Johnson) Subject: Re: problem loading a nib Message-ID: <1993Dec15.122827.22047@news.media.mit.edu> Sender: news@news.media.mit.edu (USENET News System) Organization: MIT Media Laboratory References: <2emqh7$1k5@cheltenham.cs.arizona.edu> Date: Wed, 15 Dec 1993 12:28:27 GMT Without seeing the code, the only thing that comes to mind is a little gotcha that got me when 3.0 first came out: do you have setOutlet:sender methods for some of your outlets and not others? A little history: Back in pre-3.0 days, when you built a class in IB and then had IB save out the template source code, for each outlet you defined named foo (say), it wrote out a little stub routine - setFoo:sender { return self; } The idea was that you would then add the appropriate bit of code like: - setFoo:sender { foo = sender; [foo setupSomeStuff]; return self; } The problem was that most people didn't really want to do more than just set foo = sender, so in 3.0, they changed a few things: IB didn't automatically write out the little setOutlet:sender code, and (here's what's probably biting you) IB would go in and magically set the outlets between your nib file's owner and the real nib file owner when it was loaded. The problem was what about people who did things the old way (for which there were good reasons, like the people that wanted to do some additional setup in that setOutlet: method)? Well, IB figured that if you implemented a setOutlet:sender method, you totally knew what you were doing, and it wouldn't automatically hook things up, figuring you knew what you where doing. In other words, if you have two outlets, frick and frack, and after loading your nib file, frick is connected but frack isn't, check to make sure that you don't have a - setFrack:sender method, and that if you do, make sure that the first line looks like this: - setFrack:sender { frack = sender; // whatever other code you already had return self; } Again, that might not be your problem, but I know this bit me awhile ago, and it wasn't that obvious at first blush... -- --> Michael B. Johnson -- wave@media.mit.edu --> MIT Media Lab -- Computer Graphics & Animation Group --> 20 Ames St. E15-023G -- (617) 547-0563 (day office) --> Cambridge, MA 02139 -- (617) 253-0663 (night office)
From: kneubuhl@di.epfl.ch (Hans Kneubuehl, EPFL INFO 94) Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs Subject: Interface Builder bug? Date: 14 Dec 1993 21:13:12 GMT Organization: Ecole Polytechnique Federale de Lausanne Distribution: world Message-ID: <2ela98$793@disuns2.epfl.ch> Keywords: interface builder, custom palettes, non-View palette objects I want to build a custom palette that contains non-View objects that will be deposited in the File window. As described in the manual, I implement the finishInstantiate method of the palette class to associate my custom object with its View appearing in the palette. When I test my palette by dragging the custom object to the File window, the object suitcase opens to accept it, but subsequently Interface Builder crashes with the following message: Workspace: New dragCompleted protocol not recognized, using old one Does anyone have the same problem or suggest a workaround? The DBKit offers a DBModule object in its palette that can be dragged into the File window. In this case IB works fine. Thanks for any help, Hans -- Hans Kneubuehl EPF Lausanne kneubuhl@di.epfl.ch
From: kneubuhl@.epfl.ch (Hans Kneubuehl, EPFL INFO 94) Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs Subject: debugging palettes and bundles Date: 14 Dec 1993 21:18:19 GMT Organization: Ecole Polytechnique Federale de Lausanne Distribution: world Message-ID: <2elair$793@disuns2.epfl.ch> Keywords: gdb, palettes, bundles, dynamic loading How can I use gdb to debug bundles and palettes that are dynamically loaded? I compile my bundles and palettes using the debug option, but when I start IB or another main program in gdb it doesn't have knowledge of the files loaded during run time. Thanks for any help, Hans -- Hans Kneubuehl EPF Lausanne kneubuhl@di.epfl.ch
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: Re: NS version recognition? Message-ID: <CI2yyH.EqA@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems References: <25276@news.duke.edu> Date: Wed, 15 Dec 1993 14:30:16 GMT Stan Jirman writes > I was just wondering how a NeXTstep app can recognize on which NS version > it is running. I need in particular the recognition between 3.0 and 3.1 or > younger. I know about Unix "hostinfo", but is there not an easier way? The > program should not be required to parse lots of unnecessary input. % cat /usr/lib/NextStep/software_version 3.2 Lightning5S -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
From: M.Crawford@dcs.shef.ac.uk (Malcolm Crawford) Newsgroups: comp.sys.next.programmer Subject: 48 kHz sample rate... Date: 15 Dec 1993 10:04:18 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9312151600.AA19879@dcs.shef.ac.uk> > Does anyone know a way to read 48 kHz sample streams > directly from a DAT recorder through the DSP port? Any > help would be appreciated. > As far as I am aware the only way to do this is to buy a piece of hardware from Ariel -- the DATPort. Contact ariel@com.ariel If anwbody else knows different I'd be pleased to be corrected. Have fun, mmalcolm. --- SHeffield Auditory Group | Vox : (+44) 742 768555 ext 5569 Dept. Computer Science | direct : 825569 Sheffield University | Fax : (+44) 742 780972 Regent Court | Email: malc@dcs.shef.ac.uk 211 Portobello Street | (NeXTMail welcome) Sheffield S1 4DP, UK. | (Read-Receipts discouraged :-)
Newsgroups: comp.sys.next.programmer From: cowboy@omega.csuohio.edu (Joe Rosenfeld) Subject: Anyone know why this happens? Message-ID: <1993Dec15.164458.24727@news.csuohio.edu> Sender: news@news.csuohio.edu (USENET News System) Organization: Cleveland State University Date: Wed, 15 Dec 1993 16:44:58 GMT I do not know about NS 3.2 as a programmer's platrform. I have encountered several situations, using both gcc-2.5.7 and the CC which ships with NS 3.2 for Intel (or Black) where something configured on a 3.2 computer will fail to compile, like ispell-4.0 failed with this message: gcc -c -I. -DBSD=1 -DRETSIGTYPE=void -DHAVE_TERMIOS_H=1 -DHAVE_STRING_H=1 -DHAVE_STRINGS_H=1 -DDICT_LIB=\"/usr/local/lib/ispell\" d_POSIX_SOURCE -O2] term.c gcc: d_POSIX_SOURCE: No such file or directory cc1: Invalid option `-O2]' term.c: In function `terminit': term.c:222: `TCGETA' undeclared (first use this function) term.c:222: (Each undeclared identifier is reported only once term.c:222: for each function it appears in.) term.c:230: `termio' has an incomplete type term.c:231: invalid use of undefined type `struct termio' term.c:232: invalid use of undefined type `struct termio' term.c:233: invalid use of undefined type `struct termio' term.c:234: invalid use of undefined type `struct termio' term.c:235: invalid use of undefined type `struct termio' term.c:237: `TCSETA' undeclared (first use this function) term.c: In function `termuninit': term.c:248: `TCSETA' undeclared (first use this function) term.c: In function `termreinit': term.c:258: `TCSETA' undeclared (first use this function) term.c: At top level: term.c:217: storage size of `termio' isn't known term.c:217: storage size of `otermio' isn't known *** Exit 1 Stop. I think the Posix construction for headers in NS 3.1 and higher causes this problem. Can I get around it without having to configure it on a 3.0 computer and then compile it on 3.2 white hardware? I get it to compile, but I have serious questions as to whether I should switch to 3.2 from my 3.0 SLAB. I also think NeXT REALLY screwed up here and I bet they will do NOTHING about it! Anyone have any ideas? TIA, Joe -- | Joe Rosenfeld j.rosenfeld@csuohio.edu | Automation Librarian (216) 687-6881 [FAX] | CSU Law Library trans.csuohio.edu [ANON FTP] | NeXTMail and MIME ok
Newsgroups: comp.sys.next.programmer From: BrianW@SoundS.WA.com (Brian Willoughby) Subject: Documentation for 3.2 direct video buffer access API Message-ID: <CI32rF.CyK@sounds.wa.com> Sender: brianw@sounds.wa.com (Brian Willoughby) Organization: Sound Consulting, Bellevue, WA, USA Date: Wed, 15 Dec 1993 15:52:26 GMT I have heard that 3.2 supports direct access to the video display buffer memory. I have also heard that documentation for this might have been accidently distributed within one of the SoftPC packages (perhaps on the distribution CD). In any event, if anyone has this documentation which they would be willing to NeXTmail to me, or provide a pointer to, then I would appreciate it. Users of my MPEG Play application, especially on Intel, would probably also appreciate it eventually :-) Thanks in advance. -- Brian Willoughby Software Design Engineer, BSEE from NCSU NeXTmail welcome Sound Consulting: Software Design and Development BrianW@SoundS.WA.com Bellevue, WA
Newsgroups: comp.sys.next.programmer From: Florian.Gutzwiller@open.ch (Florian Gutzwiller) Subject: Compiling INN under 3.2? Message-ID: <CI36zz.4uy@eunet.ch> Sender: usenet@eunet.ch (News Administrator) Organization: EUnet Switzerland Date: Wed, 15 Dec 1993 17:23:59 GMT Has anybody successfully compiled INN with NNTP under NS3.2 and would be willing to share the config.data with me. Thanks -Florian
Newsgroups: comp.sys.next.programmer From: BrianW@SoundS.WA.com (Brian Willoughby) Subject: SCSI Implementation for Epson ES-800c scanner? Message-ID: <CI34F1.E8n@sounds.wa.com> Sender: brianw@sounds.wa.com (Brian Willoughby) Organization: Sound Consulting, Bellevue, WA, USA Date: Wed, 15 Dec 1993 16:28:12 GMT I have called no fewer than 7 different numbers trying to track down information on the complete SCSI command set for the Epson ES-800c. I would like to know if anyone out there has documentation for this scanner, or at least knows where I might get my own copy. I understand that there are "undocumented" image processing commands built into the SCSI command set of the 800c scanners, and I would like access to these features as well as the more basic features of this Epson scanner. Any help would be appreciated - respond by e-mail, if you would. I would like to know if there is an Epson or generic scanner newsgroup to which I should also post this question, but since I know of companies which were developing such software for the NeXT, I am starting with this newsgroup. -- Brian Willoughby Software Design Engineer, BSEE from NCSU NeXTmail welcome Sound Consulting: Software Design and Development BrianW@SoundS.WA.com Bellevue, WA
Newsgroups: comp.sys.next.programmer From: ericb@il.us.swissbank.com (Eric_Brown) Subject: TablePrinterPalette for 3.0??? Message-ID: <1993Dec15.200208.29526@il.us.swissbank.com> Keywords: TablePrinterPalette, mini-examples Sender: root@il.us.swissbank.com (Operator) Organization: Swiss Bank Corporation CM&T Division Date: Wed, 15 Dec 1993 20:02:08 GMT Has anybody created a version of the TablePrinterPalette from the new mini-examples that works with 3.0? I got it to compile but it crashes IB when it gets instantiated. I just wanted to see if anyone else has done the work before I do it. Thanks... -- _______________________________________________________________ / Eric Brown | The opinions expressed here \ | NEXTSTEP Consultant | are mine and do not necessarily | | CG Computer Services | represent those of my employer | | ericb@il.us.swissbank.com | or SBC. | \___________________________|___________________________________/
Newsgroups: comp.sys.next.programmer From: bau@cs.cornell.edu (David Bau) Subject: Any interest in a variable column-width and row-height Matrix? Message-ID: <1993Dec15.200118.22171@cs.cornell.edu> Organization: Cornell Univ. CS Dept, Ithaca NY 14853 Date: Wed, 15 Dec 1993 20:01:18 GMT Is there any interest in a Matrix view replacement class that will allow varying column and row sizes? Seems this will be useful for people who want spreadsheet-like views. I've spent the last couple days putting together a reimplementation of the Matrix class that supports columns and rows of different widths. Lots of manual reading and just 25K of code later, I've got many thing working now, including all but three or four of the Matrix API methods. There are lots of features and bugs that remain to be worked on, though; NX_LISTMODE has to be implemented; and I haven't completely worked out text editing yet; archiving has to be done, memory management should be made smarter, and better algorithms that scale better to larger matrices would be nice. Is such an object of general enough interest that somebody might be interested in helping me out with this code? I'm leaving for the holidays soon, so I might not read responses to this post until january. David
Newsgroups: comp.sys.next.programmer From: bau@cs.cornell.edu (David Bau) Subject: How do you use the field editor? Message-ID: <1993Dec15.225417.1837@cs.cornell.edu> Organization: Cornell Univ. CS Dept, Ithaca NY 14853 Date: Wed, 15 Dec 1993 22:54:17 GMT Nextstep gurus! A plea for help! I'm stuck. I can't figure out how to implement a control that correctly passes the field editor to a cell. Can anybody explain how to implement a control that uses the field editor? What is the function of [Window endEditing:]? How about [Cell endEditing:]? For example, here's what I'm doing (it doesn't work) in my control: (on the right kind of mousedown..) ... editor=[window getFieldEditor:YES for:self]; if (editor) { [window endEditingFor:self]; /* Do I have to copy data here? initialize the editor? */ /* what does the following really do? how does it */ /* differ from the corresponding select:inView:... method? */ [selectedCell edit:&cellRect inView:self editor:editor delegate:self event:theEvent]; return self; } ... (when I get the textDidEnd:endChar: message..) ... /* Do I need to do this copying? */ length=[textObject byteLength]; theString=NXZoneMalloc([selectedCell zone],sizeof(char)*(length+1)); length=[textObject getSubstring:theString start:0 length:length]; theString[length]='\0'; [selectedCell setStringValueNoCopy:theString shouldFree:YES]; /* what does the following do? */ [selectedCell endEditing:textObject]; /* Do I need to empty out the text object here? */ /* this drawing below doesn't seem to do much */ [selectedCell drawSelf:&cellFrame inView:self]; ... As is, the field editor seems to drag its text along with it between different cells. Also, although the cells correctly turn black-on-white when being edited by the field editor, they don't seem to turn back to their regular color afterwards (although this may be a problem with some other code of mine). It's very difficult to program by experiment, especially since there are so many permuations of possible reasonable strategies that NeXT might have used to shuffle the field editor around. Is there a place I can find a correct and detailed description of how the field editor is really managed? Thanks very very much! David
Newsgroups: comp.sys.next.programmer From: yanik@planon.qc.ca (Yanik Crepeau) Subject: Re: <<<< NeXTSTEP, where can I buy it? Message-ID: <1993Dec15.234151.317@planon.qc.ca> Sender: yanik@planon.qc.ca References: <ellis.755887707@pan> Date: Wed, 15 Dec 1993 23:41:51 GMT In article <ellis.755887707@pan> ellis@hook.corp.mot.com (Pat Ellis) writes: > I am trying to find a place to purchase the appropriate software to > begin doing software development using NeXTSTEP on a '486 and have > been unsuccessful. Is there anyone out there who would be kind enough > to send any information about the kinds of things that I need and a > place to get them from? Also, any comments about any essential books > (NeXT or otherwise) would be very much appreciated. > > Thanks in advance! > > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > ) Pat Ellis "patMAN!" | Motorola Inc. ( > ( Staff Software Engineer, | 1201 Wiley Road, Suite 109, IL72 ) > ) Wireless Data Group | Schaumburg, IL 60173-4352 ( > ( Applied Research Lab | Ph. 708.576.0700 Fax 708.576.0892 ) > ) ellis@hook.corp.mot.com | #include <std_disclaimer> ( > (----------------Iowa State University Alumni--------------------------) > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > Try 1-800-848-NEXT ou 1-800-TRY-NEXT to get the nearest NeXT resseller. NeXTConnection (1-800-800-NEXT) sells NeXTSTEP/FIP as stand alone product. You can also buy NeXTSTEP pre-installed from many clone manufacturer. Here, we used an Epson NX with NeXTSTEP pre-installed. If all these solutions don't work, send me an E-Mail, We are NeXT gold reseller. To do developement on NeXTSTEP/FIP you need: 1) A 486 machine with a lot of expensive stuffs (memory, hard-disk, Color Monitor) etc. When you call NeXT with the number above, order a hardware compatiblity guide. 2) NeXTSTEP for Intel processor, User version 3) NeXTSTEP for Intel processor, Developper add-on When you buy a pre-installed configuration from Epson, Dell or others, you just need to buy item 3, the Developper add-on. 4) HIGHLY RECOMMENDED: The "Developper's camp". It is a 4,5 days training. I went at this training in June 1991 and I think it is the best investement of my life. Contact Ellen Leeb (Ellen_Leeb@next.com or FAX 415-780-4554) for the complete training schedule. Yanik -- Yanik Crepeau Programmer Planon Telexpertise E-Mail: yanik@planon.qc.ca (NeXT)
Newsgroups: comp.sys.next.programmer,comp.sys.next.software From: clloyd@gleap (Charles C. Lloyd) Subject: Re: Methodist 1.05 Message-ID: <1993Dec15.210950.968@gleap.sccsi.com> Sender: clloyd@gleap.sccsi.com Organization: GiantLeap Software References: <CI1F0n.GJH@ceco.ceco.com> Date: Wed, 15 Dec 1993 21:09:50 GMT Michael Stepniczka writes > >I've posted another version of Methodist that adds a bit of functionality, >chiefly: > >- RTF source files (.m) can now be parsed. >- Double-clicking on the filename opens it even if there are no methods in it. >- The app doesn't become active unless you click in on the title bar. >- Lines beginning with a series of dashes, "-------", are now ignored. > >It's on cs.orst.edu in /pub/next/submissions/Methodist_1.05_FAT.tar.Z > For those who are interrested in the rtf-handling feature of this, if you have your own copy of rtf-ascii anywhere on the system other than /usr/bin/rtf-ascii (as might be the case if you were ever using the old rtf-aware preprocessor I posted long ago), you may find that Methodist will not parse your files. The solution to this is to move (or rename) your copy of rtf-ascii so the NeXT-provided copy will be found. The main problem is that the syntax of the two are different. I believe this should only be a temporary workaround. Charles. -- Charles Lloyd clloyd@GLeap.sccsi.com GiantLeap Software (713) 292-2442 or 363-0887 (Hou) (713) 363-0936 (fax)
From: art@cubicsol.com (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: DBKit background fetching Date: 16 Dec 1993 01:57:29 GMT Organization: University of California, Santa Cruz Distribution: world Message-ID: <2eofa9$cr2@darkstar.UCSC.EDU> We need to be able to provide users of our DBKit app an escape from large, time-consuming data fetches (other than killing our app from the Processes panel :-) DBRecordList's foreground fetch record limit or background fetch modes seem like good ways to allow users to cancel a time-consuming fetch. However, under 3.1, background fetching was plagued with problems (bugs?) that I couldn't solve (or workaround). But by implementing a user-settable record limit, we were able to provide an escape for users. This was not an ideal solution because long records take much longer to fetch than short records, so using a record number limit might mean waiting for 3 or 30 seconds to reach the limit. However, after upgrading to 3.2 and recompiling, our app frequently crashes after cancelling a fetch when the record limit is reached. This is a nuisance, but it gave me a reason to look again at background fetching under 3.2. Background fetching seems to have improved under 3.2, but it's still troublesome. Regardless of which background mode is used, cancelling a fetch results in a recordlist that erroneously registers itself as modified. The only way I can correctly set recordlist's private _flags.isModified flag is by using the @defs hack to twiddle the flag directly :-( OK, so I can work around that bug, but using the DB_BackgroundStrategy results in the last record fetched overwriting the valid row 0 entry in the tableview. And worse, it frequently results in an endless loop of select statements being sent to the server upon fetch cancellation. Killing the app seems to be the only escape :-( And using DB_BackgroundNoBlockingStrategy occasionally results in the recordlist erroneously setting its isModified flag even after I've set it correctly. I can find no reasonable workaround except clearing out the recordlist and refetching :-( Has anyone been able to successfully implement a background fetching strategy under 3.2? If so, we need to talk. -- Art Isbell Cubic Solutions NeXT Registered Consultant NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs From: yanik@planon.qc.ca (Yanik Crepeau) Subject: Re: Bug in Interface Builder ? Message-ID: <1993Dec16.000355.438@planon.qc.ca> Sender: yanik@planon.qc.ca References: <CI2LLJ.38q@ubszh.net.ch> Date: Thu, 16 Dec 1993 00:03:55 GMT In article <CI2LLJ.38q@ubszh.net.ch> stage@dla832.ubszh.net.ch (Stage) writes: > I want to build a palette which contains a non-View object, i.e. an object I can deposit in the File window. As indicated in NeXTSTEP General Reference and the release notes, I implement the finishInstantiate method of my palette to associate my custom object with a view. > > When I load my palette and drag the associated view to the File window, the suitcase opens to accept it, but then Interface Builder crashes with always the same message: > > Workspace: New dragCompleted protocol not recognized, using old one > > Does anyone have the same problem or suggest a workaround. The DBKit offers a non-View object, named DBModule. In this case, everything seems to work fine. > > Thanks for any help, > > Hans > > -- > Hans Kneubuehl > EPF Lausanne > kneubuhl@di.epfl.ch > I have had excacly the same problem some times ago. WHen I drag the object, a new copy is created and the -read method is called. Triple check the -read method of your object. You must be aware that when you drag your pallette object, some code inside it is executed. If that code crashes, IB itself crashes. Since you begin a drag&drop session and that session is never completed, the Workspace manager writes the message above in the Console. Yanik -- Yanik Crepeau Programmer Planon Telexpertise E-Mail: yanik@planon.qc.ca (NeXT)
Newsgroups: comp.sys.next.programmer From: stage@dla831.ubszh.net.ch (Stage) Subject: Re: Interface Builder bug? Message-ID: <CI49wz.CIn@ubszh.net.ch> Sender: usenet@ubszh.net.ch (news) Organization: Union Bank of Switzerland References: <2ela98$793@disuns2.epfl.ch> Date: Thu, 16 Dec 1993 07:24:35 GMT Mea culpa. Of course everything works fine in Interface Builder and my own code had erroneous read: and write: implementations. I made an early conclusion because I thought that I had put my own code in comments which wasn't completely true neither. Hans -- Hans Kneubuehl EPF Lausanne kneubuhl@di.epfl.ch
Newsgroups: comp.sys.next.programmer From: stage@dla831.ubszh.net.ch (Stage) Subject: Re: debugging palettes and bundles Message-ID: <CI4A7H.CK8@ubszh.net.ch> Sender: usenet@ubszh.net.ch (news) Organization: Union Bank of Switzerland References: <2elair$793@disuns2.epfl.ch> Date: Thu, 16 Dec 1993 07:30:53 GMT To debug a palette: Compile the palette with the debug option. Start Interface Builder in GDB. As you load your palette GDB will load the debugging information for your palette. Use the View and Directory commands to use the editor and to indicate the location of the source files. Hans -- Hans Kneubuehl EPF Lausanne kneubuhl@di.epfl.ch
From: Solbach@TU-Harburg.d400.De (Ludger Solbach) Newsgroups: comp.sys.next.programmer Subject: Re: 48 kHz sample rate... Date: 16 Dec 1993 09:59:41 GMT Organization: University of Hamburg -- Germany Distribution: world Message-ID: <2epbid$a09@rzsun02.rrz.uni-hamburg.de> References: <9312151600.AA19879@dcs.shef.ac.uk> In article <9312151600.AA19879@dcs.shef.ac.uk> M.Crawford@dcs.shef.ac.uk (Malcolm Crawford) writes: > > Does anyone know a way to read 48 kHz sample streams > > directly from a DAT recorder through the DSP port? Any > > help would be appreciated. > > > As far as I am aware the only way to do this is to buy a piece of > hardware from Ariel -- the DATPort. Contact ariel@com.ariel > I already own a DAT-interface. But the problem is on the software side.. The NeXT operating system supports only some fixed sample rates up to 44.1 kHz. Regards, Ludger.
Newsgroups: comp.sys.next.programmer From: rfi@jeans.fokus.gmd.de (Robert Fischer) Subject: Q:Addresses.bundle Message-ID: <1993Dec16.101554.1300@fokus.gmd.de> Sender: news@fokus.gmd.de (News system) Organization: GMD-Fokus Date: Thu, 16 Dec 1993 10:15:54 GMT Hi, one more time: are there any informations out there about the Addresses bundle? It seems to be very easy to enhance this bundle for special purposes (especially Addresses.table) but what's the 'official' way for doing this? Robert. -- ------------------------------------------------------------------------ Robert Fischer @ GMD-Fokus -------- __o ------- _`\<,_ fischer@fokus.gmd.de ------- (*)/ (*) ## NeXT-Mail welcome ## ------------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: problem loading a nib Message-ID: <1993Dec16.104225.6503@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <1993Dec15.122827.22047@news.media.mit.edu> Date: Thu, 16 Dec 93 10:42:25 GMT In article <1993Dec15.122827.22047@news.media.mit.edu> wave@media.mit.edu (Michael B. Johnson) writes: [...] > > In other words, if you have two outlets, frick and frack, and after loading > your nib file, frick is connected but frack isn't, check to make sure that > you don't have a > > - setFrack:sender > Michael, this would be no problem. The problems come with methods like - setFrack:(everything_exept_id)something Again, only if frack is of type id. If your nibs load but the outlets are shifted (eg where you want your Matrix is the Button): did you recompile the _superclass_ if you changed some outlets in it? Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not (+49) 40 / 380 23-290 (Fax ) And am content with all
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: AlphaLock.c updated for NS-3.2 --- Question Message-ID: <1993Dec16.105155.7468@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <2emd5p$49o@usenet.rpi.edu> Date: Thu, 16 Dec 93 10:51:55 GMT In article <2emd5p$49o@usenet.rpi.edu> gad@eclipse.its.rpi.edu (Garance A. Drosehn) writes: > If you press alt-shift on a NeXTstation, then caps-lock comes > on. I never ever want caps-lock on (not even when I'm writing > all capital letters), and yet I often hit that alt-shift key > combination by mistake. For instance, I'll start to do an > alt-shift-someOtherKey, and then change my mind before hitting > the other key. Suddenly everything's screwed up because the > shift-lock is on when I didn't expect it to be. > > All alphalock does is ignore the alt-shift combination, so > that it will never turn on shift-lock. > It's Command-Shift, not Alt-Shift. And it only locks if you press Command first. Try Shift-Command instead, doesn't lock the caps. Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not (+49) 40 / 380 23-290 (Fax ) And am content with all
Newsgroups: comp.sys.next.programmer From: paul@psmpaul.demon.co.uk (Paul Meier) Subject: Any users of Gupta DBkit Adaptor? Message-ID: <CI4nx8.7GK@demon.co.uk> Keywords: Gupta SQL DBKit Adaptors Sender: news@demon.co.uk (Usenet Administration) Organization: Demon Internet Limited. Date: Thu, 16 Dec 1993 12:27:07 GMT I noticed a posting earlier this week which mentioned some limits on the usefulness of the Gupta SQLbase DBKit adaptor. Since I am thinking of buying this for a project I would like to hear from users exactly what limitations they have found, and what if anything Gupta or their distributor Parabase plan to do about them. My thanks in advance. Paul Meier paul@psmpaul.demon.co.uk
Newsgroups: comp.sys.next.programmer From: reinhard@avalon.unizh.ch (Peter Reinhardt) Subject: Re: AlphaLock.c updated for NS-3.2 --- Question Message-ID: <1993Dec16.122404.2783@ifi.unizh.ch> Sender: news@ifi.unizh.ch (USENET News Admin) Organization: University of Zurich, Department of Computer Science References: <FXG.93Dec14200451@tschaikowsky.informatik.rwth-aachen.de> <1993Dec15.102306.9770@dart.de> Date: Thu, 16 Dec 1993 12:24:04 GMT I have had the same problem with the swiss german keymapping , the z y and all umlaute appeared small with capslock. i solved the problem with editing the *.keymapping. if you analyse the file, you will detect, that the functionning keys have a longer entry that the damaged keys (ie. z,y etc.) i have "edited" the file in a hexeditor, ie. i have made a bigger (longer) entry for the non-functionning keys , i have filled in the new values for the capslock field and then i have corrected the *.keymapping sum at the beginning of the file. not an easy job, because i had no description. if you are interested i can post a hexdump of the file peter . Alexander Spohr (Atze) wrote: : In article <FXG.93Dec14200451@tschaikowsky.informatik.rwth-aachen.de> : fxg@tschaikowsky.informatik.rwth-aachen.de (Felix Gatzemeier) writes: : [...] : > I don't use caps locking at all, because it'll give me AsDFGh (ca.) : > instead of ASDFGH, as I'd expect. Any ideas? Could a redefinition of : > Alt-s matter in that context? Any ideas? : > (Running 3.0 on a NeXTstation) : On the German keyboard it is Y, Z and the German Umlauts (I will refer only to : y+z in the following). They just come as y + z (lowercase). : It looks like German.keymapping is NOT the problem. If you press Shift : everything is ok. Keyboard.app does not have the possibility to show the : characters if caps-lock is on; Preferences.app does and it appears exact as it : is typed: y+z instead of Y+Z. I don't think the *.keymappings have a special : list for the caps-lock case. So it must be an error in NEXTSTEP, which seems to : have a hard-coded table for character-mapping, because only the chars which : differ from the English layout are non-workers. : Anybody a fix for this? : Atze : -- : Alexander Spohr, Hamburg, Germany : Alexander_Spohr@dART.de (Mail ) Faces and faces : (+49) 40 / 380 23-0 (Sound) See them and complain not : (+49) 40 / 380 23-290 (Fax ) And am content with all
From: izumi@pinoko.berkeley.edu (Izumi Ohzawa) Newsgroups: comp.sys.next.programmer Subject: Re: 48 kHz sample rate... Date: 16 Dec 1993 13:29:03 GMT Organization: University of California, Berkeley Distribution: world Message-ID: <2epnqv$3nn@agate.berkeley.edu> References: <2epbid$a09@rzsun02.rrz.uni-hamburg.de> In article <2epbid$a09@rzsun02.rrz.uni-hamburg.de> Solbach@TU-Harburg.d400.De (Ludger Solbach) writes: >In article <9312151600.AA19879@dcs.shef.ac.uk> M.Crawford@dcs.shef.ac.uk >(Malcolm Crawford) writes: >> > Does anyone know a way to read 48 kHz sample streams >> > directly from a DAT recorder through the DSP port? Any >> > help would be appreciated. >> > >> As far as I am aware the only way to do this is to buy a piece of >> hardware from Ariel -- the DATPort. Contact ariel@com.ariel >> > >I already own a DAT-interface. But the problem is on the software >side.. The NeXT operating system supports only some fixed sample >rates up to 44.1 kHz. That's not accurate, to say the least. There's nothing in the OS that limits the sampling rates through the DSP's SSI port (except for the max throughput). DSP itself and DMA stream from DSP to host can be operated at ANY sampling rate. Limitation upto 44.1kHz has to do the hardwired rate out to the D/A converters. You might want to look at the old (Rel 1.0) app source code for RecordApp-4 demo app available at the archives. On sonata.cc.purdue.edu: /pub/next/1.0-release/source 39202 Feb 9 1990 RecordApp-4.tar.Z You probably have to tweak SSI port parameters to suit your DAT interface, but that should give you an idea. It should be pretty easy to record sound at 48kHz. Just that it won't be easy to play back the sounds via NeXT's built-in D/A without doing sample rate conversion. But then, you don't have to because you can play it out via your DAT interface at 48kHz. Also, MusicKit 4.0's DSPSerialPortDevice.h/m is generalized for all kinds of sampling rates including 48kHz. Look at that too. -- Izumi Ohzawa [ $@Bg_78^=;(J ] USMail: University of California, 360 Minor Hall, Berkeley, CA 94720 Telephone: (510) 642-6440 Fax: (510) 642-3323 Internet: izumi@pinoko.berkeley.edu (NeXTMail OK)
From: gbol@custard.think.com (Gregory Lampshire) Newsgroups: comp.sys.next.programmer Subject: use of [View convertPoint:toView:] in scaled+translated+scrollview view Date: 16 Dec 93 10:25:20 Organization: Thinking Machines Corporation, Cambridge MA, USA Distribution: world Message-ID: <GBOL.93Dec16102520@custard.think.com> I have been getting wierd results from the above method with toView:nil. Is this a reliable method to return the window coordinates for a scaled and rotated view which in this case is in a scroll view? The numbers returned are both negative and appear to have no relation to the scaling and translation. The view was scaled before it was trasformed. gregory
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: putenv(3) repost Message-ID: <1993Dec14.193003.1238@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software Date: Tue, 14 Dec 1993 19:30:03 GMT This was posted in this group quite some months ago the last time that the lack of putenv() was noted by a number of individuals. I have not tested this, but did save it last time posted... I do NOT guarantee that "extern environ" will reference an enclosing shell's environmental variable space, and can be reasonably sure that it would not in a GUI .app ==================== [ putenv.c ] ====================== #include <ctype.h> #define NULL 0 /* Define putenv for machines the don't have it in the standard library. */ int putenv(s) char *s; { int nlen; char *cptr; char **nenv, **eptr; extern char **environ; /* First see if there is an existing 'name=value' with the * same name as s. */ for (cptr = s; *cptr != '=' && *cptr != '\0'; cptr++) ; if (*cptr == '=' && cptr > s) { nlen = cptr - s + 1; for (eptr = environ; *eptr != NULL; eptr++) { if (strncmp(*eptr, s, nlen) == 0) { *eptr = s; return 0; } } } /* New name, so must change environ. */ for (eptr = environ; *eptr != NULL; eptr++) ; nenv = (char **) malloc((eptr - environ + 2) * sizeof(char *)); if (nenv == NULL) return -1; eptr = environ; environ = nenv; while ((*nenv = *eptr) != NULL) nenv++, eptr++; *nenv = s; nenv[1] = NULL; return 0; }
Newsgroups: comp.sys.next.programmer From: bruce@TotSysSoft.com (Bruce Gingery) Subject: Re: STRDUP() Question Message-ID: <1993Dec14.193914.1299@ToTSySSoft.com> Sender: news@ToTSySSoft.com Organization: Total System Software References: <1993Dec13.174510.2934@liberty.uc.wlu.edu> Date: Tue, 14 Dec 1993 19:39:14 GMT In article <1993Dec13.174510.2934@liberty.uc.wlu.edu> cwynne@sage.wlu.edu (Colin Wynne) writes: -> I am trying to compile xkeycaps v2.07 for NeXTStep 3.0. -> It uses calls to strdup(), which NeXT does not use. I -> know I've gotten around this problem before, but I don't -> remember how, unfortunately. Could some kind soul(s) out -> there please e-mail me with some information about -> how to avoid this particular problem? -> -> Thanks in advance for your help, -> CJW Colin, There are fancier and longer solutions, but this seems to suffice: #import <libc.h>: char *strdup(const char *str) { return strcpy((char *)malloc(strlen(str)+1), str); } Although I usually prefix the above guts with one of the following, depending on which behaviour I prefer in the specific instance... if (str == NULL) return strdup(""); or if (str == NULL) return NULL; Bruce Gingery bruce@TotSysSoft.com
From: silbar@cantina.lanl.gov (Dick Silbar) Newsgroups: comp.sys.next.programmer Subject: Re: NS version recognition? Date: 16 Dec 1993 11:25:12 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9312161726.AA07199@cantina.lanl.gov> Alex Blakemore suggests: % cat /usr/lib/NextStep/software_version 3.2 Lightning5S Ah, but when _I_ do that, [WS:silbar> cat /usr/lib/NextStep/software_version 3.2 Thunder5S So, what d'ye think is the difference between Thunder and Lightning? Dick Silbar WhistleSoft, Inc.
From: silbar@cantina.lanl.gov (Dick Silbar) Newsgroups: comp.sys.next.programmer Subject: Re: NS/I 3.1 PB with f2c can't find _sig_die in libF77.a -- SOLVED Date: 16 Dec 1993 13:48:27 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9312161949.AA07260@cantina.lanl.gov> On Nov. 29 I posted a query under the above title which, in shorter form, read: -------------- I'm trying to build an App which provides a front end to a Fortran source code. My Fortran "compiler" is the f2c converter. And, the f2c works. Compiling the Fortran code with the provided 'f77' script, f77 -g -o sola sola.f [no kidding, that's its name.] and having the libraries libF77.a and libI77.a in the right place, /usr/lib/, sola reproduced test example results for the code run on other hardware. What _doesn't_ work is when I do the compilation and loading while building the App in Project Builder: f77 -c -g sola.f sola.f: sola: cc -g -O -Wall -I./sym -arch i386 -ObjC -sectcreate __ICON __header Sola-2DFlow.iconheader -segprot __ICON r r -sectcreate __ICON app /usr/lib/NextStep/Workspace.app/application.tiff -o Sola-2DFlow.app/Sola-2DFlow i386_obj/SolaController.o i386_obj/VecFieldView.o i386_obj/Sola-2DFlow_main.o i386_obj/drawVector.o sola.o -lF77 -lI77 -lMedia_s -lNeXT_s ld: Undefined symbols: _sig_die *** Exit 1 Stop. So, the loader can't find something called _sig_die. But _sig_die *IS* present in the libF77.a library. You can see it there as a sig_die.c file before you make the library, as a sig_die.o relocatable, AND as _sig_die in the libF77.a symbol table. It appears there are no other symbols the loader can't resolve. -------------- What I didn't appreciate at the time of posting is what the function sig_die() does; it handles error exception, such as dividing by zero. Well there wasn't a huge response to this, but Michal Jaegermann suggested that perhaps switching the order in which the libraries were loaded would help. I only made a meager attempt to try a different ordering in the Project Builder's Libraries category, but couldn't see any way to get, say, library I77 loaded ahead of F77. By then something else was pressing on me, so I put this problem aside for a bit. Today I got back to it and, taking Michal's suggestion more seriously, tried the load process -- by hand -- from a command line in the Terminal window: cc -g -O -Wall -I./sym -arch i386 -ObjC -sectcreate __ICON __header Sola-2DFlow.iconheader -segprot __ICON r r -sectcreate __ICON app /usr/lib/NextStep/Workspace.app/application.tiff -o Sola-2DFlow.app/Sola-2DFlow i386_obj/SolaController.o i386_obj/VecFieldView.o i386_obj/Sola-2DFlow_main.o i386_obj/drawVector.o sola.o -lI77 -lF77 -lMedia_s -lNeXT_s ^^^^^ ^^^^^ (note switched F77 and I77) This ordering DOES NOT COMPLAIN about not finding _sig_die, so Michal was quite right. And, I can proceed, perhaps only by hand loading the final app, but no matter, I can proceed. Nonetheless, there ought to be a way to affect the order of libraries in Project Builder. And, after (finally) looking more seriously at the DevTools/ 02_ProjectBuilder chapter, I found the following remark under "shortcuts": "Control-dragging in a file list allows you to reorder the files. This can be especially important in dealing with libraries, since the file order determines the link order." Indeed, that solves the load problem in the easiest way. (I'll forgo telling you about other things I might have tried.) Dick Silbar WhistleSoft, Inc.
From: dhsmith@next.com Newsgroups: comp.sys.next.programmer Subject: Re: <<<< NeXTSTEP, where can I buy it? Date: 15 Dec 1993 20:03:49 GMT Organization: NeXT, Inc. Message-ID: <2enqj5$5g1@rosie.next.com> References: <ellis.755887707@pan> In article <ellis.755887707@pan> ellis@hook.corp.mot.com (Pat Ellis) writes: > I am trying to find a place to purchase the appropriate software to > begin doing software development using NeXTSTEP on a '486 and have > been unsuccessful. Is there anyone out there who would be kind enough > to send any information about the kinds of things that I need and a > place to get them from? Also, any comments about any essential books > (NeXT or otherwise) would be very much appreciated. > > Thanks in advance! > > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > ) Pat Ellis "patMAN!" | Motorola Inc. ( > ( Staff Software Engineer, | 1201 Wiley Road, Suite 109, IL72 ) > ) Wireless Data Group | Schaumburg, IL 60173-4352 ( > ( Applied Research Lab | Ph. 708.576.0700 Fax 708.576.0892 ) > ) ellis@hook.corp.mot.com | #include <std_disclaimer> ( > (----------------Iowa State University Alumni--------------------------) > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-= The best way to get in touch with NeXT is to call our (800) 848-NeXT number. If you are looking for pre-sales information, and pricing, you can contact our TeleSales group, which is option 4 (support), option 1 (pre-sales). They can verify hardware requirements, answer product questions, and get you a quote on the price. I hope this helps (also, I just posted to comp.sys.next.advocacy about how to get a copy of the Hardware Compatibility Guide if you would prefer to have that in front of you before you call!) Thanks, Darren Smith NeXT Computer, Inc. -----------
From: dhsmith@next.com Newsgroups: comp.sys.next.programmer Subject: Re: <<<< NeXTSTEP, where can I buy it? Date: 15 Dec 1993 20:05:08 GMT Organization: NeXT, Inc. Message-ID: <2enqlk$5g3@rosie.next.com> References: <ellis.755887707@pan> In article <ellis.755887707@pan> ellis@hook.corp.mot.com (Pat Ellis) writes: #I am trying to find a place to purchase the appropriate software to #begin doing software development using NeXTSTEP on a '486 and have #been unsuccessful. Is there anyone out there who would be kind enough #to send any information about the kinds of things that I need and a #place to get them from? Also, any comments about any essential books #(NeXT or otherwise) would be very much appreciated. # #Thanks in advance! # #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # ) Pat Ellis "patMAN!" | Motorola Inc. ( #( Staff Software Engineer, | 1201 Wiley Road, Suite 109, IL72 ) # ) Wireless Data Group | Schaumburg, IL 60173-4352 ( #( Applied Research Lab | Ph. 708.576.0700 Fax 708.576.0892 ) # ) ellis@hook.corp.mot.com | #include <std_disclaimer> ( #(----------------Iowa State University Alumni--------------------------) #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Pat, The best way to get in touch with NeXT is to call our (800) 848-NeXT number. If you are looking for pre-sales information, and pricing, you can contact our TeleSales group, which is option 4 (support), option 1 (pre-sales). They can verify hardware requirements, answer product questions, and get you a quote on the price. I hope this helps (also, I just posted to comp.sys.next.advocacy about how to get a copy of the Hardware Compatibility Guide if you would prefer to have that in front of you before you call!) Thanks, Darren Smith NeXT Computer, Inc. -----------
From: dhsmith@next.com Newsgroups: comp.sys.next.programmer Subject: Academic Pricing! (3.2 for Motorola) Date: 15 Dec 1993 20:06:43 GMT Organization: NeXT, Inc. Message-ID: <2enqoj$5g6@rosie.next.com> NeXT Computer, Inc. today announced that beginning January 1, 1994, NACSCORP will distribute the NEXTSTEP Academic Bundle 3.2 for 68K Motorola Processors. The academic upgrade bundle is $299 and includes both the User and Developer versions of NEXSTEP Release 3.2 for the Higher Education community. Campus bookstores can purchase the product by referencing part #N5590.
From: Bob_Vadnais@next.com (Bob Vadnais) Newsgroups: comp.sys.next.programmer Subject: Re: Debugging bundles and palettes Date: 16 Dec 1993 04:07:16 GMT Organization: NeXT, Inc. Distribution: world Message-ID: <2eomtk$62g@rosie.next.com> References: <CI2Lss.39G@ubszh.net.ch> In article <CI2Lss.39G@ubszh.net.ch> stage@dla832.ubszh.net.ch (Stage) writes: > > How can I use gdb to debug palettes that are dynamically loaded > into Interface Builder or bundles that are loaded during run time > into my main program? I use the debug option to compile my bundles > or palettes, but when I use GDB, it doesn't have any knowledge of > dynamically loaded code. If you're trying to set breakpoints in methods or functions which a program has not loaded, use the future-break command. Gdb will then attempt to set the breakpoint each time code is dynamically loaded. Cheers, Bob
From: erikkay@next.com (Erik Kay) Newsgroups: comp.sys.next.programmer Subject: Re: NS version recognition? Date: 16 Dec 1993 18:47:56 GMT Organization: NeXT, Inc. Message-ID: <2eqags$6i4@rosie.next.com> References: <9312161726.AA07199@cantina.lanl.gov> In article <9312161726.AA07199@cantina.lanl.gov> silbar@cantina.lanl.gov (Dick Silbar) writes: > Alex Blakemore suggests: > > % cat /usr/lib/NextStep/software_version > 3.2 > Lightning5S > > Ah, but when _I_ do that, > > [WS:silbar> cat /usr/lib/NextStep/software_version > 3.2 > Thunder5S > > So, what d'ye think is the difference between Thunder and Lightning? The difference is m68k vs intel. Thunder == Intel, Lightning == m68k. The name differs for each different "platform". Thunder and Lightning are for the English / European platforms. The Kanji release is Arashi(m68k) and Taifu(intel). Also, for those of you who still have 3.0 systems (when the current versioning scheme was first used), the release name (English / European) was "Hyper", and Kanji was "Yamato". (and to answer your next question... 3.1 and 3.2 use the same version names) just another useless factoid to fill your brain... :-) later, Erik
From: kline@CS.Arizona.EDU (Nick Kline) Newsgroups: comp.sys.next.programmer Subject: Re: problem loading a nib Date: 16 Dec 1993 12:38:29 -0700 Organization: University of Arizona CS Department, Tucson AZ Message-ID: <2eqdfl$nim@cheltenham.cs.arizona.edu> References: <1993Dec15.122827.22047@news.media.mit.edu> <1993Dec16.104225.6503@dart.de> In article <1993Dec16.104225.6503@dart.de>, Alexander Spohr <Alexander_Spohr@dART.de> wrote: >In article <1993Dec15.122827.22047@news.media.mit.edu> wave@media.mit.edu >(Michael B. Johnson) writes: >[...] >> >> In other words, if you have two outlets, frick and frack, and after loading >> your nib file, frick is connected but frack isn't, check to make sure that >> you don't have a >> >> - setFrack:sender >> > >Michael, this would be no problem. The problems come with methods like >- setFrack:(everything_exept_id)something >Again, only if frack is of type id. > I had a combination of both of these problems. I had some outlets and methods with the same name. Apparently they are in the same namespace. I also had things like an id called fred, and a method called setfred:(char*)newVal which was a new value for the thing that fred pointed to. This also causes problems. -nick
From: gbrown@raven.ctr.columbia.edu (Glenn Brown) Newsgroups: comp.sys.next.programmer Subject: Can NeXTSTEP/FIP drive any overhead projector panels? Date: 16 Dec 1993 21:30:34 GMT Organization: Columbia University Center for Telecommunications Research Message-ID: <2eqk1q$fmc@sol.ctr.columbia.edu> We'd like to drive an overhead projector panel to do demos using NeXTSTEP. The projectors on the market all seem to connect to VGA outputs, so it looks like NeXTSTEP would have to drive a plain vanilla VGA port. Can this be done? Does anyone know of other options? Thanks, --Glenn
From: djep@fountainhills.az.stratus.com (Dave_Jepson) Newsgroups: comp.sys.next.programmer Subject: Re: NS version recognition? Date: 16 Dec 1993 22:58:01 GMT Organization: Stratus Computer Inc, Marlboro MA Message-ID: <2eqp5p$941@transfer.stratus.com> References: <9312161726.AA07199@cantina.lanl.gov> In article <9312161726.AA07199@cantina.lanl.gov> silbar@cantina.lanl.gov (Dick Silbar) writes: > Alex Blakemore suggests: > > % cat /usr/lib/NextStep/software_version > 3.2 > Lightning5S > > [WS:silbar> cat /usr/lib/NextStep/software_version > 3.2 > Thunder5S Lightning = black hardware Thunder = white hardware -David Jepson- Stratus Computer Inc. #Include std.disclaimer
Newsgroups: gnu.gcc.bug,comp.sys.next.programmer From: grw@retina.cs.ucla.edu (George Wu) Subject: Possible gcc-2.5.7 under NEXTSTEP 3.2 ? Organization: UCLA, Computer Science Department Message-ID: <1993Dec16.071102.12810@cs.ucla.edu> Date: Thu, 16 Dec 93 07:11:02 GMT Apparently-To: gnu-gcc-bug@uunet.uu.net Distribution: world Followup-To: gnu.gcc.bug,comp.sys.next.programmer I recently compiled both gcc-2.5.7 and libg++-2.5.2 under NEXTSTEP 3.2. I have encountered a problem while compiling the libg++-2.5.2 test programs (i.e. make check). It seems like a bug in gcc-2.5.7 dealing with inline base class member functions, but I am not sure. I have attached the compilation results for one of the test modules (libg++/tests/tString.cc). I configured both gcc-2.5.7 and libg++-2.5.2 with 'm68k-next-mach' as the target. I used the results from the gcc-2.5.7 'stage3' make (after I did a 'make compare') to compile libg++-2.5.2. I know the same module compiled with no problem in libg++-2.4 using gcc-2.4.5. Has anyone seen a similar problem ? Can someone try to duplicate this result. Thanks. George ------------------------------------------------------------------------------ Reading specs from /usr/local/src/GNU/gcc-2.5.7/specs gcc version 2.5.7 /usr/local/src/GNU/gcc-2.5.7/cpp -lang-c++ -v -I. -I../../libio -I. -I./../../libio -I./../src -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=5 -Dmc68000 -Dm68k -DNeXT -Dunix -D__MACH__ -D__BIG_ENDIAN__ -D__ARCHITECTURE__="m68k" -D__mc68000__ -D__m68k__ -D__NeXT__ -D__unix__ -D__MACH__ -D__BIG_ENDIAN__ -D__ARCHITECTURE__="m68k" -D__mc68000 -D__m68k -D__NeXT -D__unix -D__MACH__ -D__BIG_ENDIAN__ -D__ARCHITECTURE__="m68k" -Asystem(unix) -Asystem(mach) -Acpu(m68k) -Amachine(m68k) -D__OPTIMIZE __ -g -D__STDC__ -D_NEXT_SOURCE tString.cc | /usr/local/src/GNU/gcc-2.5.7/cc1plus -quiet -dumpbase tString.cc -g -O -version -o - | as -o tString.o GNU CPP version 2.5.7 (68k, MIT syntax) #include "..." search starts here: #include <...> search starts here: . ../../libio . ./../../libio ./../src /usr/local/lib/g++-include /usr/local/include /usr/local/m68k-next-mach/include /usr/local/lib/gcc-lib/m68k-next-mach/2.5.7/include /usr/local/lib/gcc-lib/m68k-next-mach/2.5.7/include/ansi /usr/local/lib/gcc-lib/m68k-next-mach/2.5.7/include/bsd /NextDeveloper/Headers /NextDeveloper/Headers/ansi /NextDeveloper/Headers/bsd /LocalDeveloper/Headers /LocalDeveloper/Headers/ansi /LocalDeveloper/Headers/bsd /NextDeveloper/2.0CompatibleHeaders /usr/include /usr/include/bsd End of search list. GNU C++ version 2.5.7 (68k, MIT syntax) compiled by GNU C version 2.5.7. ./../src/String.h: In function `void decltest()': ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:48: within this context tString.cc:48: in base initialization for class `SubString' ./../src/String.h: In function `void cattest()': ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:120: within this context tString.cc:120: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:120: within this context tString.cc:120: in base initialization for class `SubString' ./../src/String.h: In function `void comparetest()': ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:136: within this context tString.cc:136: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:138: within this context tString.cc:138: in base initialization for class `SubString' ./../src/String.h: In function `void substrtest()': ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:173: within this context tString.cc:173: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:178: within this context tString.cc:178: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:181: within this context tString.cc:181: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:185: within this context tString.cc:185: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:191: within this context tString.cc:191: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:197: within this context tString.cc:197: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:203: within this context tString.cc:203: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:208: within this context tString.cc:208: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:213: within this context tString.cc:213: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:219: within this context tString.cc:219: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:224: within this context tString.cc:224: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:229: within this context tString.cc:229: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:235: within this context tString.cc:235: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:241: within this context tString.cc:241: in base initialization for class `SubString' ./../src/String.h: In function `void identitytest(class String, class String)': ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:356: within this context tString.cc:356: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:357: within this context tString.cc:357: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:358: within this context tString.cc:358: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:359: within this context tString.cc:359: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:360: within this context tString.cc:360: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:361: within this context tString.cc:361: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:370: within this context tString.cc:370: in base initialization for class `SubString' ./../src/String.h:480: the constructor `SubString::SubString(const SubString &)' is protected tString.cc:372: within this context tString.cc:372: in base initialization for class `SubString'
Newsgroups: comp.sys.next.programmer From: Willy Amazing <adams@adamation.com> Subject: Re: unknown cross-application messaging Message-ID: <CI5Gv8.9IK@taligent.com> Sender: usenet@taligent.com (More Bytes Than You Can Read) Organization: Adamation References: <1993Dec10.040452.1690@beech.csis.gvsu.edu> Date: Thu, 16 Dec 1993 22:52:19 GMT wissner@perlis.mcs.gvsu.edu (Jim Wissner) How to talk to another App: Well, in the bad old days every app has at least a default Listener running. Using a Speaker you can connect to any app which by default would have a port registered with the App's name. NXPort aPort = NXPortNameLookup(appname, machine); [myListener setSendPort:aPort]; [mySpeaker unhide]; Of course this is a little stinky for unhide in particular because the default Speaker class does not actually have an unhide method in it. Use of Speaker and Listener is probably frowned upon these days, but it still has its uses.
Newsgroups: comp.sys.next.programmer From: Willy Amazing <adams@adamation.com> Subject: Re: Any interest in a variable column-width and row-height Matrix? Message-ID: <CI5Hv1.A71@taligent.com> Sender: usenet@taligent.com (More Bytes Than You Can Read) Organization: Adamation References: <1993Dec15.200118.22171@cs.cornell.edu> Date: Thu, 16 Dec 1993 23:13:48 GMT In article <1993Dec15.200118.22171@cs.cornell.edu> David Bau, bau@cs.cornell.edu writes: >There are lots of features and bugs that remain to be worked on, >though; NX_LISTMODE has to be implemented; and I haven't completely >worked out text editing yet; archiving has to be done, memory >management should be made smarter, and better algorithms that scale >better to larger matrices would be nice. How about one that did the NX_LISTMODE thing, allowed you to re-order the column headings and have the rows automatically re-sort based on the first three columns, allowed for dynamic re-sizing of the row height and column width with simple click and drag semantics. And while you're at it, allow for font changing, setting some fields to be editable and others not, using cursor and tab keys to move between fields. And don't forget you might want to switch between edit mode and browse mode. Oh yes, and it must be able to take input from DBKit and of course deal with hundreds and thousands of lines of data. ... been there, done that...
Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy,comp.sys.dec.micro,comp.sys.powerpc,comp.sys.dec From: david@prim.demon.co.uk Subject: Re: OPENSTEP on Alpha OSF/1 and PowerPC Mach Message-ID: <1993Dec15.201330.1935@prim.demon.co.uk> Organization: Kimble References: <2eip4m$krv@usenet.INS.CWRU.Edu> <2eku13$csh@coergw2.centel.com> Date: Wed, 15 Dec 1993 20:13:30 GMT In article <2eku13$csh@coergw2.centel.com> long0@ncc.centel.com (Gary Longsine) writes: >cs438@cleveland.Freenet.Edu (Denis Lafont) writes: >------------------------------------------------- >|> >|> The DEC's UNIX (OSF/1 AXP) is based on Mach 2.5. >|> > OSF/DEC ported Mach 3.0 running OSF/1.1 to the DEC Alpha platform this year. This is running on the Alpha. Moving to an out of kernel OS personality has a performance hit of about 30% with no obvious gain in functionality for a single CPU workstation. I believe OSF will have a version of OSF1.3 (their Mach 3.0 product) with the Server recompressed back into the microkernel for workstations. On MPP machines the microkernel architecture looks attractive. You may have computer nodes running say a microkernel with simply a pager server and some disk. The uK is there for message routing and for VM. Even the scheduler has been moved out of kernel recently. This is experimental. DEC's version OSF1 is based on Mach 2.5 but with the VM system from Ultrix. NeXT's version of Mach also diverges from vanilla (CMU/OSF) Mach in this and a number of other areas. With this in mind it is a less trivial task for NeXT to port to the Alpha using this work. Porting to the Snake was probably easier as vanilla Mach (2.5 and 3.0) already exists and would have been available to NeXT - should they have needed this. [ is it Mach or HP-UX based ?] From a user's viewpoint the Mach API hasn't changed much from 2.5 to 3.0. Just a general clean and fixup. NeXT would want to take the latest OSF version though, rather than the one with the CMU emulation library hack. >NT is based on a kernel of Microsoft's own design, kinda. >If you look at their propaganda on NT, it looks like they >musta read about Mach pretty carefully, and thought: >"We can do that!" I'm sure they did, but we all stand on each others shoulders. NT is quite different from Mach and they have had some good ideas such as (I believe) thread migration which may be adopted by the Mach folks. >NeXTSTEP 3.2 is based on a 2.x version of CMU's Mach, with >some changes made at NeXT. In CMU Mach 3.0, the pager, >and possibly a few other remaining functions, such as the Operating System Personality (Unix etc.) >were stripped >from the kernel, leaving what is regarded as a microkernel. >I've noticed a few things that lead me to speculate that >NeXT is planning to move to a 3.x release of CMU Mach >(possibly in NeXTSTEP 4.0 ?) > >1. In the Driver Kit docs with NeXTSTEP 3.2, mention > that drivers should run at the User level, IBM's OS/2 release 3 has user level drivers... they have performance problems. > --Assumption: this will be easier to implement > under Mach 3.0. > I guess it was. However a user level driver crash is still pretty drastic if it's say the hard disk driver. > Symmetric MultiProcessor architecture. > --Assumption: SMP is easier to implement, > and may offer performance advantages, with > a leaner microkernel. I believe it's already in vanilla Mach 2.5 releases, it certainly was in OSFs. (we had a sequent running OSF1 both on 2.5 and 3.0) T think NeXT didn't support SMP with their version of Mach. >In general, it would seem that moving to a Mach 3.x >microkernel might provide some advantages for future >growth of the OS, but probably isn't necessary for >survival just now. I think one possible advantage is that Mach 3.0 has been ported to a very wide range of hardware. In OSF's experience moving the OS server (Unix. DOS, OS/2, VMS etc) is then a much simpler task. That is you recompile for the new architecture and go... just like any other user level program. If NeXT were already based on Mach3.0 they would find ports to Sparc, Snake and PowerPC much easier. The downside is that Mach 3.0 is not a very mature technology and there is a noticable performance hit. However IBM has staked it's PC future on Mach 3.0 - they are planning to offer OSF1.3, DOS and OS/2 all running on top of Mach (at the same time if you like). David.
Newsgroups: comp.sys.next.programmer From: cedman@princeton.edu (Carl Folke Edman) Subject: Re: putenv(3) repost In-Reply-To: bruce@TotSysSoft.com's message of Tue, 14 Dec 1993 19:30:03 GMT Message-ID: <CEDMAN.93Dec16153954@phoenix.Princeton.EDU> Originator: news@nimaster Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University References: <1993Dec14.193003.1238@ToTSySSoft.com> Date: Thu, 16 Dec 1993 20:39:53 GMT In article <1993Dec14.193003.1238@ToTSySSoft.com> bruce@TotSysSoft.com (Bruce Gingery) writes: I do NOT guarantee that "extern environ" will reference an enclosing shell's environmental variable space, and can be reasonably sure that it would not in a GUI .app Then let me guarantee that it doesn't. Actually getting to the process space of the parent process, finding the environment and then modifying it in a safe and reliable manner is so hard, so machine-dependent and so useless, that I doubt it has ever been done, even if theoretically it is possible. What your putenv (just like every putenv in existance) does is modify the environment of the process as part of which it is executed. The sole purpose of such a modification is to have children of _that_ process inherit it. Carl Edman
From: se11@konichiwa.cc.columbia.edu (Simon Eligulashvili) Newsgroups: comp.sys.next.programmer Subject: textbooks for NeXT. Date: 17 Dec 1993 02:18:19 GMT Organization: Columbia University Message-ID: <2er4tb$o1j@apakabar.cc.columbia.edu> Hi, sorry if it a wrong newsgroup for this questions, but anyway: I need to find book(s) on NeXT that have the following topics: Networking on NeXT; Graphics programming on NeXT; Also, how much do networking on SUNs and NeXTs differ in general? Can I use the same system calls (programming in C) like connect(..) bind(..), listen(..) on the NeXT machines? thanks a lot, /Simon
From: golden@somerville (Mitchell Golden) Newsgroups: comp.sys.next.software,comp.sys.next.programmer Subject: undeleting files Date: 17 Dec 1993 03:30:47 GMT Organization: Boston University Distribution: world Message-ID: <2er957$sm2@news.bu.edu> Keywords: undelete Does anyone know if it is possible to undelelete files or directories after they've been rm-ed? I would be willing to go through the free sectors of the disk by hand if there is any way to do that. Reply by e-mail to golden@physics.harvard.edu. - Thanks Mitchell Golden
Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy,comp.sys.dec.micro,comp.sys.powerpc,comp.sys.dec From: grunwald@foobar.cs.colorado.edu (Dirk Grunwald) Subject: Re: OPENSTEP on Alpha OSF/1 and PowerPC Mach In-Reply-To: david@prim.demon.co.uk's message of Wed, 15 Dec 1993 20:13:30 GMT Message-ID: <GRUNWALD.93Dec16231144@foobar.cs.colorado.edu> Sender: usenet@cnsnews.Colorado.EDU (Net News Administrator) Organization: University of Colorado at Boulder References: <2eip4m$krv@usenet.INS.CWRU.Edu> <2eku13$csh@coergw2.centel.com> <1993Dec15.201330.1935@prim.demon.co.uk> Date: Fri, 17 Dec 1993 06:11:50 GMT eventually, people will realise that in order to get customizable operating systems, as a logical or marketing choices, they don't need to insist of microkernel architectures that partition everything at runtime -- many of the most common choices can be made at kernel boot time with significant performance saving and the same program interface. See the Choices operating system from UIUC for more details.
Newsgroups: comp.sys.next.programmer From: gsl@netcom.com (Greg Lindholm) Subject: term.h header file?? Message-ID: <gslCI6350.LoI@netcom.com> Organization: NETCOM On-line Communication Services (408 241-9760 guest) Date: Fri, 17 Dec 1993 06:53:23 GMT I'm looking for #include <term.h> on NS 3.1. It's not where it should be and I can't find it. Does anyone know if there is a replacement header I can use or can I use <term.h> from a different unix system (AIX, OSF/1, ULTRIX, etc)? Thanks in advance. (please mail me) Greg Lindholm gsl@netcom.com
Newsgroups: comp.sys.next.programmer Subject: pcomm help wished for... Message-ID: <1993Dec16.153333.7829@nic.csu.net> From: thomas@zippy.sonoma.edu (Thomas Poff) Date: 16 Dec 93 15:33:31 PST Distribution: usa I was just wondering if anyone has successfully been able to get pcomm to work on their machine. I can get it to manually dial out and connect and that's about it. I can send characters to the system I am talking to (I know this because it doesn't log me out and disconnect the modem) but I can't get any characters to echo over the phone line. Are there any other terminal programs that I might be using other than pcomm on my NeXT if I can't get this one working? Thanks, --thomas--
From: edmtl@alf.uib.no (Thor Legvold) Newsgroups: comp.sys.next.sysadmin,comp.sys.next.software,comp.sys.next.misc,comp.sys.next.programmer,comp.sys.next.bugs Subject: Good/Bad points? Upgrading from 3.0 to 3.[12]. Date: 17 Dec 1993 12:34:24 +0100 Organization: University of Bergen Message-ID: <2es5g0$5fo@alf.uib.no> Hi. I have been running 3.0J for the last year, and am quite happy, despite the slowness compared with 3.0E. It's also nice to have Japanese on the Machine without having to use X11 :-) Well, I have bought 3.1E and just received 3.2E, but have hesitated in installing these releases. I have heard both positive and negative things about these releases, and am not sure that the improvement is so clear in this case. So, I'm asking the wisdom of the Net: What do I stand to gain and lose by upgrading from 3.0 to either 3.1 or 3.2? I know I'll lose Japanese environment (I haven't been able to get a hold of a 3.1/3.2 upgrade in Japanese :-(, but what other things have been removed? What has been added? What about bugs? GUI changes? IB changes? etc, etc. I would appreciate greatly any and all comments (e-mail!) regarding this upgrade decision, or any advice netters have regarding the upgrade process. Hardware: NeXT Cube 040 16MB core, HP 1.0 GB disk, NeXT CD ROM. Regards, Thor (hey - congratulate me on getting this far with vi...emacs is having problems at the moment at our site :-) -- Thor Legvold | This is the strangest life NorNeXT User Group leader | I've ever known... University of Bergen | - Jim Morrison, The Doors Norway | edmtl@fiol.uib.no (NeXTmail)
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: How to create shared libraries? Message-ID: <1993Dec17.103421.227@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH Date: Fri, 17 Dec 93 10:34:21 GMT The subject says it all. How can I create them? Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not (+49) 40 / 380 23-290 (Fax ) And am content with all
From: wjs@omnigroup.com (William Shipley) Newsgroups: comp.sys.next.programmer Subject: Re: DBKit background fetching Date: 17 Dec 1993 04:08:26 -0800 Organization: The Omni Group Message-ID: <2es7fq$rn7@yucca.omnigroup.com> References: <2eofa9$cr2@darkstar.UCSC.EDU> Art Isbell writes: > We need to be able to provide users of our DBKit app an escape from >large, time-consuming data fetches (other than killing our app from the >Processes panel :-) Recommended escape: DOOM! >However, after upgrading >to 3.2 and recompiling, our app frequently crashes after cancelling a >fetch when the record limit is reached. There's a trick to aborting a fetch in the middle, write to tjw@omnigroup.com for the hack. (Sorry, I don't recall it offhand.) > OK, so I can work around that bug, but using the DB_BackgroundStrategy >results in the last record fetched overwriting the valid row 0 entry in >the tableview. And worse, it frequently results in an endless loop of >select statements being sent to the server upon fetch cancellation. >Killing the app seems to be the only escape :-( The "refetching row 0" bug looks like another manifestation of the world-famous "fetchUsingQualifier:empty:" bug, which has the same symptoms if you specify empty to be NO. The problem was that RecordList needs a GenericRecord to copy in order to stick data somewhere after a fetch; this GenericRecord is called the "prototype". The guys who originally wrote DBKit used a too-clever trick of occasionally using the first row in the RecordList as the prototype, so as to escape the overhead of generating a new one. (Consider that for a fetch of 1000 records they are going to make 1000 copies of this guy, and it seems like a pretty small savings compared to the headache.) I don't know why this works fine for normal fetches, actually. As I recall, you can trick the RecordList into generating a new prototype (or generate one yourself) by setting it's prototype to NULL. However, I'd strongly suggest you abort trying to do fetches in the background; it was never properly tested, and thus you're entering into a world of headaches. In general (as you should know, Mr. Multi-column Joins!) breaking new ground in DBKit is a pleasure to be avoided. -Wil Shipley Omni Development, Inc. DBKit consulting and boy do we love it mmm-hmmm
Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy,comp.sys.dec.micro,comp.sys.powerpc,comp.sys.dec From: marc@synergy.Synergytics.Com (Marc Evans) Subject: Re: OPENSTEP on Alpha OSF/1 and PowerPC Mach References: <2eip4m$krv@usenet.INS.CWRU.Edu> <2eku13$csh@coergw2.centel.com> <1993Dec15.201330.1935@prim.demon.co.uk> Sender: usenet@mv.mv.com (Mark E. Mallett) Organization: Synergytics Date: Fri, 17 Dec 1993 12:45:45 GMT Message-ID: <CI6JGE.4A6@mv.mv.com> In article <1993Dec15.201330.1935@prim.demon.co.uk>, david@prim.demon.co.uk writes: |> DEC's version OSF1 is based on Mach 2.5 but with the VM system |> from Ultrix. This particular point is incorrect. The VM subsystem used in DEC OSF/1 was a complete rewrite. It does not use Ultrix code. It is also not just the core VM code, in that the unified buffer cache is tightly bound to the new VM, and other facilities like the file system are tightly bound to the unified buffer cache. - Marc -- /| -----------------------. ~ . ~ X|=| Marc N. Evans |------------------. ~ . X| | Software Consultant | Synergytics |-------------------------------. X| | Marc@Synergytics.Com | 21 Hinds Lane | Specializing in: | X| | (603) 635-3857 | Pelham, NH, USA | - Unix internals/applications | X|=|______________________| 03076-3013 | - X11 internals/applications | X| (____________________| | X| (_________________________________| X| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Newsgroups: comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.bugs From: rashid@degas.northstar.com (Navruze Rashid) Subject: Help! No propertyValue method in DB-Kit Message-ID: <CI1FvI.HAp@northstar.com> Keywords: relationships, propertyValue method Sender: usenet@northstar.com Organization: NorthStar Technologies, inc. Date: Tue, 14 Dec 1993 18:40:29 GMT I am working on a relational database being retrieved from Sybase using relational joins between tables (relationships) to set up master-detail relationships and to retrieve these using DBRecordLists and custom DBFetchGroups. Now, here is the problem. In the DB-Kit documentation (new 3.2) as well as the Master-Detail example in the Concepts section (has anyone looked at this?) the way to retrieve a relationship is roughly as in the code here: ----------------------------------------------------------------- DBRecordList *masterDept = [[DBRecordList alloc] init]; DBRecordList *detailEmp = [[DBRecordList alloc] init]; .. DBValue *toEmpVal = [[DBValue alloc] init]; /* Create objects to store the desired entity and properties. We'll assume that db, a DBDatabase object, exists.*/ id dept = [db entityNamed:"Department"]; /* TABLE */ id toEmp = [dept propertyNamed:"toEmployee"]; /* REL'N */ .. /* Empty the List object and use it to hold the detail properties. */ [detailProps addObject:[[toEmp propertyValue] propertyNamed:"name"]; ^^^^^^^^^^^^^ ---------------------------------------------------------------------- This method does not exist within the DB-Kit. Headers or documented as a method. The program compiles then crashes when it gets to this statement with a `does not respond to - propertyValue' message. This is mentioned as the way to retrieve the entity referenced by the relationship elsewhere as well - in the DBQualifier docs. GIVE ME A BREAK How can I do this some other way? (get the entity for the relationship destination- I tried [toEmp entity] but that simply returns the base (root) entity). Maybe if NeXT worried more about providing a complete kit, people would start using it. Thanks for any comments or suggestions. Anyone been bitten by this? (Thanks, NeXT) Ruze
Newsgroups: comp.sys.next.programmer From: rpomeroy@aunext1.amd.com (Ron Pomeroy x(Coop)) Subject: Re: OPENSTEP on Alpha OSF/1 and PowerPC Mach Message-ID: <CI6pE7.EoI@dvorak.amd.com> Sender: news@dvorak.amd.com (Usenet News) Organization: Advanced Micro Devices, Austin TX References: <1993Dec15.201330.1935@prim.demon.co.uk> Distribution: usa Date: Fri, 17 Dec 1993 14:54:07 GMT In article <1993Dec15.201330.1935@prim.demon.co.uk> david@prim.demon.co.uk writes: >>In article <2eku13$csh@coergw2.centel.com> long0@ncc.centel.com (Gary Longsine) writes: >>>cs438@cleveland.Freenet.Edu (Denis Lafont) writes: >>>------------------------------------------------- [munch bandwidth] >> >>I believe it's already in vanilla Mach 2.5 releases, it certainly >>was in OSFs. (we had a sequent running OSF1 both on 2.5 and 3.0) >>T think NeXT didn't support SMP with their version of Mach. So the fabled dual 88110 (and/or) PPC NRW wasn't using a symetric archetecture ? Anyone care to speculate how they were using the second processor ? I'm really curious (even if this is a mute subject). -- Ronald Pomeroy Advanced Micro Devices CAM Applications Group rpomeroy@aunext1.amd.com
Newsgroups: comp.sys.next.programmer From: Henk Vantyen <henq@phsoft.knoware.nl> Subject: Object selection (mouseclick) in DPS, how? Sender: news@knoware.nl (News Account) Message-ID: <CI6oG1.n26@knoware.nl> Date: Fri, 17 Dec 1993 14:33:37 GMT Organization: PH Software Hi there, I am curious about how object click-detection is done with Display PostScript/NeXTSTEP. I am not a NeXT programmer, but i did some Mac programming a few years ago. The Mac Toolbox provids a datatype called "Region" which basically is a set of screen dots. Each QuickDraw drawing statement can add dots to a region of choice. A function PointInRegion returns whether a coordinate (mouse click) is whithin a certain region or not. Because the pixels in a region need not be contigious, in other words, there can be 'holes' in the 'clouds' of dots that make up a region, it allows for very nice selecting of irragular shaped objects, whithout the need of relying on 'handles' ( I mean the little black squares). For example, one could make an icon of a face of which the 'flesh'-parts are sensitive to mouse clicks, but the eyes and mouth (depicted as 'holes') are inactive. So my question is: does Display PS and/or NeXTSTEP provide something similar to Regions? If not, how is object selection with the mouse generally implemented ? Any answers or pointers to (ftp-able) literature are very welcome ! -henq ----------------------------------------------------------------------- ----- henk vantyen PH Software internet: henq@phsoft.knoware.nl 105, Oude Vest applelink: henq@phsoft.knoware.nl@DASNET# 2312XV LEIDEN fax:+31.71143828 The Netherlands ----------------------------------------------------------------------- ----- "You are entitled to my opinion"
Newsgroups: comp.sys.next.programmer From: byer@mv.us.adobe.com (Scott Byer) Subject: Re: Object selection (mouseclick) in DPS, how? In-Reply-To: Henk Vantyen's message of Fri, 17 Dec 1993 14:33:37 GMT Message-ID: <BYER.93Dec17085912@birch.mv.us.adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated, Mountain View, CA References: <CI6oG1.n26@knoware.nl> Date: Fri, 17 Dec 1993 16:59:12 GMT In article <CI6oG1.n26@knoware.nl> Henk Vantyen <henq@phsoft.knoware.nl> writes: > So my question is: does Display PS and/or NeXTSTEP provide something > similar to Regions? If not, how is object selection with the mouse > generally implemented ? Hit detection is done using the "in" operators. They can take an arbitrary path and either a point or another path and check for intersections. A path can easily have as many holes in it as you wish. If you are going to get serious about NEXTSTEP programming, I recommend that you get the red book - PostScript Language Reference Manual, 2nd Edition - and the purple book - Programming the Display PostScript System with NEXTSTEP. There are also a couple of other good books on NEXTSTEP programming. I'm sure Henry can tell you more about them. -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer From: michal@phys.ualberta.ca (Michal Jaegermann) Subject: Re: STRDUP() Question Message-ID: <1993Dec17.164254.29867@kakwa.ucs.ualberta.ca> Sender: news@kakwa.ucs.ualberta.ca Organization: Department of Physics, University of Alberta References: <1993Dec14.193914.1299@ToTSySSoft.com> Date: Fri, 17 Dec 1993 16:42:54 GMT bruce@TotSysSoft.com (Bruce Gingery) writes: : There are fancier and longer solutions, but this seems to : suffice: : : #import <libc.h>: : char *strdup(const char *str) { : return strcpy((char *)malloc(strlen(str)+1), str); : } : Uff! No wonder that later my bought software crashes. How about this for a change? #include <string.h> #include <stdlib.h> #define strdup(str) \ ({char *_tp = (char *)malloc(strlen(str)+1); _tp ? strcpy(_tp, (str)) : _tp;}) (This is a piece of GNUism). For NeXT only NXCopyStringBuffer should work just as fine. --mj
Newsgroups: comp.sys.next.programmer,comp.sys.next.bugs From: cuilla@black_silk (Chris Cuilla) Subject: Re: Help! No propertyValue method in DB-Kit Message-ID: <1993Dec17.171850.10023@il.us.swissbank.com> Sender: root@il.us.swissbank.com (Operator) Organization: Swiss Bank Corporation CM&T Division References: <CI1FvI.HAp@northstar.com> Date: Fri, 17 Dec 1993 17:18:50 GMT Navruze Rashid writes > > /* Empty the List object and use it to hold the detail properties. */ > [detailProps addObject:[[toEmp propertyValue] propertyNamed:"name"]; > ^^^^^^^^^^^^^ > This method does not exist within the DB-Kit. Headers or documented > as a method. The program compiles then crashes when it gets to this > statement with a `does not respond to - propertyValue' message. > > This is mentioned as the way to retrieve the entity referenced by > the relationship elsewhere as well - in the DBQualifier docs. > > GIVE ME A BREAK > > How can I do this some other way? (get the entity for the relationship > destination- I tried [toEmp entity] but that simply returns the base > (root) entity). Maybe if NeXT worried more about providing a complete > kit, people would start using it. > Use "propertyType". This is an error that (I think) is known and aknowledged by NeXT as an error in documentation. -- Chris Cuilla --- NEXTSTEP Developer chris@its.com --------------------------------------------------------------------- "There's no such thing a as 'part-time' perfectionist."
Newsgroups: comp.sys.next.programmer From: tyler@vanguard.com (Tyler Gingrich) Subject: Re: DBKit background fetching Message-ID: <1993Dec17.173625.10157@il.us.swissbank.com> Sender: root@il.us.swissbank.com (Operator) Organization: Swiss Bank Corporation CM&T Division References: <2es7fq$rn7@yucca.omnigroup.com> Date: Fri, 17 Dec 1993 17:36:25 GMT William Shipley writes > > However, I'd strongly suggest you abort trying to do fetches in the > background; it was never properly tested, and thus you're entering into > a world of headaches. In general (as you should know, Mr. Multi-column > Joins!) breaking new ground in DBKit is a pleasure to be avoided. > Maybe we should get Dave Letterman to make up a list of the 10 most favorite things in the current implementation of DBKit. I'd sure put compound-key records and background fetches right near the top.... :-) :-) :-) Tyler Gingrich tyler@dbkit.com Vanguard Software, Corp. DISCLAIMER: Nothing here should be attributed to anyone but me. Certainly not to Swiss Bank Corp. or Vanguard Software, Corp.
Newsgroups: comp.sys.next.programmer From: jq@phcs.com (Jim Quick) Subject: Re: OPENSTEP on Alpha OSF/1 and PowerPC Mach Message-ID: <CI78oD.6qq@phcs.com> Organization: Private Healthcare Systems, Inc References: <1993Dec15.201330.1935@prim.demon.co.uk> <CI6pE7.EoI@dvorak.amd.com> Distribution: usa Date: Fri, 17 Dec 1993 21:50:37 GMT In article <CI6pE7.EoI@dvorak.amd.com> rpomeroy@aunext1.amd.com writes: >In article <1993Dec15.201330.1935@prim.demon.co.uk> david@prim.demon.co.uk >writes: >>>In article <2eku13$csh@coergw2.centel.com> long0@ncc.centel.com (Gary >Longsine) writes: >>>>cs438@cleveland.Freenet.Edu (Denis Lafont) writes: >>>>------------------------------------------------- >[munch bandwidth] >>> >>>I believe it's already in vanilla Mach 2.5 releases, it certainly >>>was in OSFs. (we had a sequent running OSF1 both on 2.5 and 3.0) >>>T think NeXT didn't support SMP with their version of Mach. > >So the fabled dual 88110 (and/or) PPC NRW wasn't using a symetric archetecture >? Anyone care to speculate how they were using the second processor ? I'm >really curious (even if this is a mute subject). > >-- >Ronald Pomeroy >Advanced Micro Devices >CAM Applications Group >rpomeroy@aunext1.amd.com I had heard that one CPU ran the windowserver, and parts of the workspace, while the other CPU ran the rest. -- ___ ___ mail: uunet!phcs!jq PHCS, Inc. Advanced Technology Group / / / or jq@phcs.com It's spelled "Luxury Yacht", but it's \_/ (_\/ Voice: (617) 861-5579 pronounced "Throat-Warbler Mangrove". ) NeXTMail O.K.
From: art@cubicsol.com (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: DBKit background fetching Date: 18 Dec 1993 02:40:09 GMT Organization: University of California, Santa Cruz Distribution: world Message-ID: <2etqi9$53s@darkstar.UCSC.EDU> References: <1993Dec17.173625.10157@il.us.swissbank.com> In article <1993Dec17.173625.10157@il.us.swissbank.com> tyler@vanguard.com (Tyler Gingrich) writes: > William Shipley writes > > > > However, I'd strongly suggest you abort trying to do fetches in the > > background; it was never properly tested, and thus you're entering into > > a world of headaches. In general (as you should know, Mr. Multi-column > > Joins!) breaking new ground in DBKit is a pleasure to be avoided. > > > > Maybe we should get Dave Letterman to make up a list of the 10 most > favorite things in the current implementation of DBKit. I'd sure put > compound-key records and background fetches right near the top.... > > :-) :-) :-) > Being that the holiday season is here :-) Mr. Multi-column Joins would like to thank those NEXTSTEP 3.2 DBKit programmers who seem to have fixed all the multi-column join bugs that I used to have to work around. I actually have had a negative lines of code / day rate lately as I remove all my workarounds and capture relationship property info in DBValues as God intended :-) So I'm going to have to change my name to Background Fetch Dude (a.k.a., B.F.D. :-) -- Art Isbell Cubic Solutions NeXT Registered Consultant NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
Newsgroups: comp.sys.next.programmer From: dsiebert@icaen.uiowa.edu (Doug Siebert) Subject: Re: OPENSTEP on Alpha OSF/1 and PowerPC Mach Message-ID: <1993Dec18.045537.15295@icaen.uiowa.edu> Sender: usenet@icaen.uiowa.edu (UseNet News daemon) Organization: Iowa Computer Aided Engineering Network, University of Iowa References: <1993Dec15.201330.1935@prim.demon.co.uk> <CI6pE7.EoI@dvorak.amd.com> Distribution: usa Date: Sat, 18 Dec 1993 04:55:37 GMT rpomeroy@aunext1.amd.com (Ron Pomeroy x(Coop)) writes: >In article <1993Dec15.201330.1935@prim.demon.co.uk> david@prim.demon.co.uk >writes: >>>In article <2eku13$csh@coergw2.centel.com> long0@ncc.centel.com (Gary >Longsine) writes: >>>>cs438@cleveland.Freenet.Edu (Denis Lafont) writes: >>>>------------------------------------------------- >[munch bandwidth] >>> >>>I believe it's already in vanilla Mach 2.5 releases, it certainly >>>was in OSFs. (we had a sequent running OSF1 both on 2.5 and 3.0) >>>T think NeXT didn't support SMP with their version of Mach. >So the fabled dual 88110 (and/or) PPC NRW wasn't using a symetric archetecture >? Anyone care to speculate how they were using the second processor ? I'm >really curious (even if this is a mute subject). What I recall hearing is some people who said they saw Xox running on the NRW and said the windowserver ran on one CPU, everything else on the other. About as far from SMP as you can get. But hey, Openstep running on top of Solaris 2.x or HP-UX 10.0 will be able to do SMP fine, since those kernels will do it. Another good reason for NeXT to abandon their ancient braindead kernel and just port their nifty environment and applications. Doug Siebert || dsiebert@isca.uiowa.edu || Defeat Usenet spool grepping! Kibo Turkey Greece Perl Watcom Mason Clinton Illuminati Fnord
Newsgroups: comp.sys.next.programmer From: david@ffcsas.demon.co.uk Subject: paper orientation Message-ID: <CI8Eq3.CDu@demon.co.uk> Keywords: defaults, global Sender: news@demon.co.uk (Usenet Administration) Organization: Demon Internet Limited. Date: Sat, 18 Dec 1993 12:58:50 GMT Hi, We have a requirement for the default paper orientation to be landscape. Having looked through the doco the only default we can find is NXPaperSize. Anyone out there no of an undocumented default for paper orientation. In fact does anyone have a list of any undocumented defaults ?? -- Regards David Knight FFC Software and Systems Limited 351 London Road Phone: (44) 0702 551010 Hadleigh Fax: (44) 0702 551515 Essex. SS7 2BT Email: david@ffcsas.demon.co.uk
Newsgroups: comp.sys.next.programmer From: ploeger@aplki.toppoint.de (Andreas Ploeger) Subject: Re: Debugging bundles and palettes Message-ID: <1993Dec17.172848.485@aplki.toppoint.de> Sender: ploeger@aplki.toppoint.de (Andreas Ploeger) Organization: Andreas Ploeger References: <CI2Lss.39G@ubszh.net.ch> Date: Fri, 17 Dec 93 17:28:48 GMT In article <CI2Lss.39G@ubszh.net.ch> stage@dla832.ubszh.net.ch (Stage) writes: > How can I use gdb to debug palettes that are dynamically > loaded into Interface Builder or bundles that are loaded > during run time into my main program? I use the debug > option to compile my bundles or palettes, but when I use > GDB, it doesn't have any knowledge of dynamically loaded > code. Well, not at the beginning, but once the object code is loaded into your application, gdb knows about the symbols - We are talking about plain gdb, not SuperDebugger.app right? I often use this invocation to see what's wrong with my palettes: gdb /NextDeveloper/Apps/InterfaceBuilder.app/InterfaceBuilder Hope this helps, Andreas -- -------------------------------------------------------------------- Andreas Ploeger E-Mail: ploeger@tpki.toppoint.de
From: boyced@news.delphi.com (BOYCED@DELPHI.COM) Newsgroups: comp.sys.next.programmer Subject: Questions on a Multi-Thread Obj-C app Date: 18 Dec 1993 10:11:15 -0500 Organization: General Videotex Corporation Message-ID: <2ev6ij$gcn@news.delphi.com> Keywords: defaults, global For those of you that have looked through the design of SortingInAction I have the following question. Will it be safe to instantiate an object, have a separate thread run that object, and have that object instantiate a varible number of other objects without destroying the run time system? The objects in this thread will only talk to other objects within its own thread. I would like to this, if possible, with resorting to objc_setMultithreaded() and its inherent slowness. Doug Boyce boyced@delphi.com
Newsgroups: comp.sys.next.programmer From: ben@fizz.fdn.org (Benoit Grange) Subject: Re: NS version recognition? In-Reply-To: alex@cs.umd.edu's message of Wed, 15 Dec 1993 14:30:16 GMT Message-ID: <BEN.93Dec17214134@fizz.fdn.org> Sender: ben@fizz.fdn.org (Benoit Grange) Organization: Me References: <25276@news.duke.edu> <CI2yyH.EqA@genoa.com> Date: Fri, 17 Dec 1993 20:41:34 GMT Try using the host_info() function from the mach library. -- Benoit Grange - PARIS - FRANCE ---- Mail to : ben@fizz.fdn.org (SMALL NeXTMails accepted)
From: Dirk Schwarzhans Newsgroups: comp.sys.next.programmer Subject: Archiving the Window object? (write:, read:, awake) Date: 19 Dec 1993 10:55:47 GMT Organization: TUBerlin/ZRZ Message-ID: <2f1bvj$8k2@mailgzrz.TU-Berlin.DE> Reply-To: dirk@kalium.physik.TU-Berlin.DE Hello, Has anyone successfully revived an archived window object? I tried to archive a window to a typed stream (using "NXWriteRootObject()"). Later I have read it using "NXReadObject()". There are two problems: 1) After reading the window does not appear on screen. Which method must be called to display it. "makeKeyAndOrderFront:" seems to do the job, but is it the right one? 2) The "setDocEdited:" method does not work on windows which have been read from a typed stream. The shape of the closer button doesn't change. Thank you for any hints, Dirk Schwarzhans
From: gbol@custard.think.com (Gregory Lampshire) Newsgroups: comp.sys.next.bugs,comp.sys.next.programmer Subject: ClipView rawScroll: bug or bad documentation? Date: 19 Dec 93 15:30:54 Organization: Thinking Machines Corporation Distribution: world Message-ID: <GBOL.93Dec19153054@custard.think.com> I installed aView as the document of a ClipView. However, aView doesn't propagate it's display message and hence drawSelf:: message to it's subviews. A traceback shows #0 -[LayeredView drawSelf::]__FP11LayeredViewP13objc_selectorPC7_NXRecti (self=0x12a30c, _cmd=0x6186899, rect=0x3fff580, count=1) at Layers.m:55 #1 0x601a740 in -[View _display::] () #2 0x601a7a6 in -[View _display::] () #3 0x60558f6 in -[ClipView rawScroll:] () #4 0x6034d66 in -[ClipView _scrollTo:] () #5 0x6062938 in -[ScrollView _doScroller:] () #6 0x502ec0e in -[Object perform:with:] () #7 0x605dd7e in -[Application sendAction:to:from:] () #8 0x60624e0 in -[Control sendAction:to:] () #9 0x6062474 in -[Scroller sendAction:to:] () #10 0x606643e in -[Scroller trackScrollButtons:] () #11 0x60648ba in -[Scroller mouseDown:] () #12 0x605ef5e in -[Window sendEvent:] () #13 0x6027d08 in -[Application sendEvent:] () #14 0x602e494 in -[Application run] () #15 0x8a6a in main (argc=1, argv=0x3fffc44) at sda_main.m:11 I am using objc++. The docs say that [aView display::] should be called not [aView _display::] which apppears to be a private message and DOES NOT call the recursive display::. This is very bad as all subviews of the document view never get display messages! Has this been seen before? gregory
Newsgroups: comp.sys.next.programmer,comp.sys.next.advocacy,comp.sys.dec.micro,comp.sys.powerpc,comp.sys.dec From: jhenshaw@microsoft.com (Jeff Henshaw) Subject: Re: OPENSTEP on Alpha OSF/1 and PowerPC Mach Message-ID: <CI3s7u.D8K@microsoft.com> Organization: Microsoft Date: Thu, 16 Dec 1993 01:01:53 GMT References: <2eip4m$krv@usenet.INS.CWRU.Edu> In article <2eip4m$krv@usenet.INS.CWRU.Edu> cs438@cleveland.Freenet.Edu wrote: > > The DEC's UNIX (OSF/1 AXP) is based on Mach 2.5. > > NT seems to be based on mach 3.0...true? The last statement is not true. NT entails some of the Mach 3.0 design concepts, though it is not based on Mach code. -Jeff jhenshaw@microsoft.com not a Microsoft spokesperson.
Newsgroups: comp.sys.next.programmer From: bbum@friday.com Subject: Re: Questions on a Multi-Thread Obj-C app Message-ID: <CI92Do.1Iz@friday.com> Sender: bbum@friday.com (Bill Bumgarner) Organization: Friday Software & Consulting; a virtual company References: <2ev6ij$gcn@news.delphi.com> Date: Sat, 18 Dec 1993 21:29:48 GMT /* For those of you that have looked through the design of * SortingInAction I have the following question. Will it be safe * to instantiate an object, have a separate thread run that object, * and have that object instantiate a varible number of other objects * without destroying the run time system? The objects in this thread * will only talk to other objects within its own thread. I would * like to this, if possible, with resorting to objc_setMultithreaded() * and its inherent slowness. */ Under NS 2.x, I had a play w/a couple of different multi-threaded obj-c app paradigms and only sporadically ran across crashes due to a threaded environment. Object instantiation/freeing is not a big problem-- the allocator and any per-class initialization should be protected by a mutex (objc_setMultithreaded probably enables such a mechanism). In your application, you would have to add mutex protection for the class-level stuff (reference counting, shared instance initialization, etc...). The stickler is in the way the obj-c method caching mechanism works; if I understand it correctly (part of this is assumption from experience and examining the API/docs), a method is left uncached until the first time it is called. As well, one can force the cacheing of methods using parts of the objc-runtime API. Because of this, there is the potential that the cache could be modified at any time-- so, the runtime must AT LEAST protect itself from having two threads simultaneously updating the runtime. It would also be mondo bad for one thread to be caching a method while a second thread attempts to use the partially cached method. There are other points of contention: - poseAs: modifies the class hierarchy - lots of objc-runtime functions modify hierarchies/method tables - category addition modifies method tables --- All is not lost; you can achieve a performance gain in tight loops or commonly executed methods in both a single and multi threaded application by grabbing the pointer to the implementation of a method and calling it as a normal C function. If you do this, be aware of exactly what it is that you are sending to which instance of what class-- using the C function pointer means that you can easily "send" a method to an instance that does not implement that method. If the method reads/writes any instance variables, you are hosed. Also, be aware that if a subclass overrides a paticular method, a different function pointer is used for that method-- obvious, yes-- but it makes highly optimized implementations of methods like makeObjectsPerform: interesting.... have a nice day! -- b.bum <bbum@friday.com> | "blah blah blah" WhiteLight Systems, INC. | - someone somewhere
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: unknown cross-application messaging Message-ID: <1993Dec19.024048.8083@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <1993Dec10.040452.1690@beech.csis.gvsu.edu> <CI5Gv8.9IK@taligent.com> Date: Sun, 19 Dec 1993 02:40:48 GMT In article <CI5Gv8.9IK@taligent.com> Willy Amazing <adams@adamation.com> writes: >Of course this is a little stinky for unhide in particular because the >default Speaker class does not actually have an unhide method in it. Remember this? (For NS 2.x, 3.0) /* unhide.m -- tell an application to unhide itself */ /* cc -o unhide -s -O unhide.m -lNeXT_s */ #ifdef NX_COMPILER_RELEASE_3_0 #include <bsd/libc.h> #include <mach/mach.h> #else #include <libc.h> #include <mach.h> #endif #import <appkit/Listener.h> #import <appkit/Speaker.h> main(int argc, char *argv[]) { register int i; char *a; port_t p; int e; id spkr; if (argc<2) { (void)fprintf(stderr, "Usage: %s application [...]\n", *argv); exit(1); } e=0; spkr=nil; for (i=1;i<argc;i++) { a=argv[i]; if (!strcmp(a, "Workspace")) { register char *w; if (w=getenv("Workspace")) a=w; } if (p=NXPortNameLookup(a, (char *)NULL)) { if (!spkr) spkr=[[Speaker alloc] init]; [spkr setSendPort:p]; if ([spkr performRemoteMethod:"unhide"]) e++; (void)port_deallocate(task_self(), p); } else { (void)fprintf(stderr, "%s: \"%s\" not running\n", *argv, argv[i]); e++; } } if (spkr) [spkr free]; exit(e); } > Use >of Speaker and Listener is probably frowned upon these days, but it still >has its uses. Yep. -=EPS=-
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: textbooks for NeXT. Message-ID: <1993Dec19.032130.9526@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <2er4tb$o1j@apakabar.cc.columbia.edu> Date: Sun, 19 Dec 1993 03:21:30 GMT In article <2er4tb$o1j@apakabar.cc.columbia.edu> se11@konichiwa.cc.columbia.edu (Simon Eligulashvili) writes: >I need to find book(s) on NeXT that have the following topics: >Networking on NeXT; For most people, this involves three areas: (1) TCP/IP programming, which follows BSD conventions and is not NeXT-specific (i.e. find any book directed at a BSD UNIX audience). (2) NetWare programming (bundled effective with NEXTSTEP 3.1). (3) Mach messaging, Speaker/Listener classes, and Distributed Objects (all described in the NEXTSTEP documentation). >Graphics programming on NeXT; (1) Official NEXTSTEP documentation (2) Adobe's "Red Book" (PostScript Language Reference) (3) Books on PostScript (of which there are several; Reid, Roth, and McGilton being the best-known authors in this area). (4) One of the books on NEXTSTEP programming (e.g. Garfinkel/Mahoney) (5) Adobe's "Purple Book" (Programming the Display PostScript System) >Also, how much do networking on SUNs and NeXTs differ in general? Sun offers STREAMS/TCPTLI as an alternative to the vastly more powerful and flexible BSD-derived "socket" interface. This shouldn't concern you unless you're trying to port someone else's code. >Can I use the same system calls (programming in C) like connect(..) >bind(..), listen(..) on the NeXT machines? Yes, they're identical. You also have Sun's RPC available. -=EPS=-
Newsgroups: comp.sys.next.programmer From: ayis@chopin.udel.edu (Ayis Theseas Pyrros) Subject: Converting Fonts to next Message-ID: <CIAyqx.Jn1@news.udel.edu> Sender: usenet@news.udel.edu Organization: University of Delaware Date: Sun, 19 Dec 1993 22:06:33 GMT Hello, first I would like to apologize if I am posting this question in the wrong group. I have found this Mac Type 1 font on archie.au. I want to convert it for usage to th NeXTSTEP486. I have tried afmmmaker located on Purdue but it is not documented, or a least I have found no documentation. I am sure this question has been asked before but I think that due to file restructing that many old utils will not work with 3.2. I am not sure so if some one could kindly tell me how or convert this font I would be greatful. The font is athletic and is located at archie.au vi ftp under mac ... system.extenisions/font. Thanks for any help in advance! -Ayis
From: bkr@drdhh.hanse.de (Bjoern Kriews) Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin Subject: AlphaLock-LED's under Software control ? Date: 18 Dec 1993 16:46:03 +0100 Organization: Digital Island Message-ID: <bkr.756229149@drdhh> References: <2dvgts$675@usenet.rpi.edu> <FXG.93Dec14200451@tschaikowsky.informatik.rwth-aachen.de> Hi ! Does anyone know if the LED's on the black keyboards can be controlled via software in any way ? I'd like to patch my BackSpace Space-Module to blink my keyboard leds - I like my room looking like a spaceship :-) Any dirty hacks accepted - I just want this for private use. I hope that this is not a feature of the keyboard controller. Greetings and thanks, Bjoern I'd appreciate a news and mail reply since it may interest some more people but I suspect a news dropper in my path somewhere. -- bkr@drdhh.hanse.de - Bjoern Kriews - Stormsweg 6 - D-22085 Hamburg [76] - FRG "Dann stell ich mir vor, ich waer ein IP-Paket." (Th. Wieske)
From: rtidd@turtle.mrj.com (Randy Tidd) Newsgroups: comp.sys.next.programmer Subject: Re: gdb Date: 19 Dec 1993 21:21:41 -0500 Organization: MRJ, Inc./Oakton, Virginia, USA Sender: rtidd@mrj.com Distribution: world Message-ID: <2f327l$sie@turtle.mrj.com> References: <2egiro$679@master.cs.rose-hulman.edu> Summary: use make debug for debugging Keywords: make debug gdb In article <2egiro$679@master.cs.rose-hulman.edu> leuschr@b103-3.Rose-Hulman.Edu (Rainer Leuschke) writes: >Dear internetters, >Sorry, if this appears to be a trivial question: I use gdb from inside >Edit. If I simply set breakpoints in my source code and try to inspect the >frames with the framebrowser some of my instance variables as well as some >of my local variables seem to be non-existent. As several people pointed out, this behavior happens sometimes when compiling with the -O switch because the compiler "optimizes out" some variables that it deems unnecessary. The best way around this is to compile with "make debug" instead of just "make" and use the .debug file that's generated for debugging instead of the .app file. Randy Tidd rtidd@mrj.com
From: rtidd@turtle.mrj.com (Randy Tidd) Newsgroups: comp.sys.next.programmer Subject: Need to grok and display RTF Date: 19 Dec 1993 21:27:58 -0500 Organization: MRJ, Inc./Oakton, Virginia, USA Distribution: world Message-ID: <2f32je$so4@turtle.mrj.com> Summary: need RTF reader and displayer Keywords: RTF custom app Greetings -- I need to write a custom app that groks an RTF stream and displays it in a scrollable document. I can't just use Edit because I need to do things like headers, footers, and page breaks, and possibly other custom RTF commands that aren't part of the Microsoft standard nor the NeXT additions. I've looked around the FTP sites and haven't seen any objects or apps that do RTF parsing or display paginated documents, but surely there exists such a thing. A lex/yacc RTF grammar or a simple RTF to PS converter would be good. Can anyone point me to something that would help? Thanks. Please reply by e-mail to rtidd@mrj.com! Randy Tidd rtidd@mrj.com
Newsgroups: comp.sys.next.programmer From: Jelske Kloppenburg <Jelske.Kloppenburg@gmd.de> Subject: Commandline eject - enhanced Message-ID: <1993Dec20.094410.26350@gmd.de> Keywords: eject, unmount, Workspaceprotocol Sender: news@gmd.de (USENET News) Organization: GMD, Sankt Augustin, Germany Date: Mon, 20 Dec 1993 09:44:10 GMT Hello, some day I grabbed a posting from Sean T. Lamont <lamont@abstractsoft.com> with a sample code for an eject command. I made a few experiments and could get rid of the BogusObject. So with this version no empty icon appears and vanishes. Further You need not name the path of the drivepath. Here it is (eject.m): // cc -g -O -Wall eject.m -o eject -lNeXT_s #import <appkit/appkit.h> void main() { char *pathnames = 0, *chPtr, ch = 0; [Application new]; [NXApp setAppListener:[[Listener alloc] init]]; if ([[Application workspace] getMountedRemovableMedia: &pathnames] && *pathnames) { if (!(chPtr = index(pathnames, '\t'))) { printf("%s\n", pathnames); } else { *chPtr++ = '\0'; while (1) { printf("%s? ", pathnames); fflush(stdout); do ch = getchar(); while(ch == '\n'); if (ch == 'y') { break; } if (!(pathnames = chPtr)) break; if ((chPtr = index(pathnames, '\t'))) *chPtr++ = '\0'; } } if (pathnames) [[Application workspace] unmountAndEjectDeviceAt: pathnames]; } [NXApp free]; exit(0); } -- Jelske Kloppenburg, +49 2241 14-2433, <Jelske.Kloppenburg@gmd.de> GMD (German National Research Center for Computer Science) "Don't kill the Winners!" Dennis Tsichritzis
From: lozinski@cup.portal.com (Christopher A Lozinski) Newsgroups: comp.sys.next.advocacy,comp.sys.next.programmer Subject: Objective-C for Windows Message-ID: <98815@cup.portal.com> Date: Mon, 20 Dec 93 01:25:49 PST Organization: The Portal System (TM) Distribution: world Neele Johnston writes: >For the stuff I have to do on Windows, is there a good >toolset based on Obj-C? Yes, Objective-C under Windows is alive and well and being used by many of the major NEXT clients, including Swiss Bank, Fidelity Investments, Pages, Archetype, and numerous other smaller companies both in the US and abroad. Shipping Products include: The OBJECTIVE-C TRANSLATOR translates Objective-C into ANSI C. The ANSI C is then compiled by a native C language compiler. The BORLAND EXTENSIONS TO OBJECTIVE-C allow the Objective-C translator to be used with the Borland compiler while also providing software crash protection. OBJECTIVE-C VIEWS is an Objective-C user interface class library for Microsoft Windows. Release 1.2 will be shipping next week. The SMALLTALK INTERFACE TO OBJECTIVE-C makes Objective-C objects look like Smalltalk objects so Window Builder can be used to build user interfaces for Objective-C. The MESSAGE BUS allows Objective-C messages to be sent between Windows, NEXT, SUN, HP, DEC, and other computers while performing all argument translations transparently to the developer. RAIMA DB VISTA is a high performance database. It runs on NEXTSTEP, Windows, and many other platforms. There are no runtime charges. In addition to a rich product market place, consulting services are available to help companies through the porting process. An initial consulting service answers all your questions, and helps you estimate how much the port will cost. For more information or product literature, please send your postal address to BPG. There are lots of ways to reach me. I will also be at the NEXTSTEP developers conference in Washington D.C., if you would like to meet me personally I would be happy to talk to you. INTERNET: info@bpg.com, lozinski@bpg.com TELEPHONE: (510) 795-6086 Fax: (510) 795-8077 You can also request information from the International Toll Free Numbers: French, Italian, German and English are spoken. FROM GERMANY: 0130-81-3807 FROM UK: 0800-89-7434 FROM SWITZERLAND: 155-6979 FROM BELGIUM: 078-11-7435 FROM JAPAN: 0031-13-2504 FROM FRANCE: 05-90-68-09
From: joggl@neuro.tuwien.ac.at (Joachim Kainz) Newsgroups: comp.sys.next.programmer Subject: From Button to PopUpList Date: 20 Dec 1993 13:05:16 GMT Organization: Technical University Vienna, Austria Message-ID: <2f47uc$jvh@email.tuwien.ac.at> I would like to acces a PopUpList, but the IB only allows me to access its button. Is there a workaround? Gruesse aus Wien, Joachim. -- Phone: ++43-1-58801-4132 Fax: ++43-1-504-1580 Email: Joachim.Kainz@neuro.tuwien.ac.at
Newsgroups: comp.sys.next.programmer From: bks@herbie.ircam.fr (Bennett Smith) Subject: Re: From Button to PopUpList Message-ID: <1993Dec20.172227.28012@ircam.fr> Sender: usenet@ircam.fr (USENET News System) Organization: IRCAM References: <2f47uc$jvh@email.tuwien.ac.at> Date: Mon, 20 Dec 93 17:22:27 GMT joggl@neuro.tuwien.ac.at (Joachim Kainz) asks: > > I would like to acces a PopUpList, but the IB only allows me to access its > button. Is there a workaround? > > Gruesse aus Wien, If myButton is the id of the IB button which has a popup list attached, then [myButton target] is the PopUpList connected to it, and [[myButton target] itemList] is the PopUpList's associated matrix. You can change the current selection of popup buttton from your program. To select entry number numSelect, you do two things: [[[myButton target] itemList] selectCellAt:numSelect :0] gets the matrix to select the right cell, and [myButton setTitle:[[[[myButton target] itemList] selectedCell] title]] copies the appropriate title from the matrix to the button. Salutations de Paris
Newsgroups: comp.sys.next.programmer From: hern@advtech.uswest.com (Steve Herndon) Subject: DBTableView question Message-ID: <1993Dec20.182229.3205@advtech.uswest.com> Sender: news@advtech.uswest.com (Radio Free Boulder) Organization: U S WEST Advanced Technologies Date: Mon, 20 Dec 1993 18:22:29 GMT I've made one of my objects the delegate of an editable DBTableView so that I get the tableViewDidChangeSelection: delegate message. What I want to do is change the contents of an inspector to reflect more information about what is selected in the DBTableView. The problem is, I don't know how to figure out what "cell" is selected. Is this possible, and if so, how do I do it? Thanks in advance. -- Steve Herndon E-mail: hern@advtech.uswest.com US WEST Advanced Technologies, Phone: (303) 541-6354 4001 Discovery Drive, Suite 270 Boulder, CO. 80303
From: npratt@glacier.sim.es.com (Nevin Pratt) Newsgroups: comp.sys.next.programmer Subject: DBBinder from DBModule Date: 20 Dec 1993 21:59:39 GMT Organization: E&S Distribution: world Message-ID: <2f578b$9r9@cnn.sim.es.com> My method for getting the DBBinder instance that is used by a DBModule is rather kludgy, IMO: First, make your object a delegate of the database being served by the dbModuleInstance: [[dbModuleInstance database] setDelegate:self]; and then grab the binder instance via the following DBDatabase delegate method: - (BOOL)db:willEvaluateString:usingBinder: Now, before sending SQL to the back-end, the delegate message above is invoked, thus yielding the binder id that is being used. Problem with this approach is that I must "prime the pump" by getting the dbModuleInstance to attempt a bogus fetch in order to grab the binder. Sure, I can 'return NO' in the above delegate message for the bogus fetch attempt, thus aborting the fetch, but this is kludgy, IMO. The reason I want to get at the DBBinder instance is to preconfigure the fetch to ignore duplicate rows via: - setIgnoreDuplicateResults:(BOOL)val So, in essence I first have to "prime the pump" with a bogus fetch to get the binder, then configure the binder to ignore duplicates, then do the real fetch. Anybody got a better way to get at the DBBinder? Nevin
From: mohr-eric@cs.yale.edu (eric mohr) Newsgroups: comp.sys.next.programmer Subject: problem including <libc.h> under 3.2 Date: 20 Dec 1993 17:15:04 -0500 Organization: Yale University, Department of Computer Science, New Haven, CT Distribution: world Message-ID: <2f5858INN18b@NEBULA.SYSTEMSZ.CS.YALE.EDU> Under NEXTSTEP 3.2, using the directive: cc -ansi -c foo.c -o foo.o I can't compile the following file: #import <libc.h> int foo() { return 1; } (<sys/types.h> doesn't get imported but e.g. dev_t is referenced.) However if before the #import I include the line: #define _NEXT_SOURCE then everything works fine. I see _NEXT_SOURCE all over the place in the 3.2 headers but can't find a scrap of documentation for it. Anybody know what it is and whether there's a better way around my problem than defining _NEXT_SOURCE directly? [If you post a reply, please send email as well.] -Rick Rick Mohr Archetype, Inc Internet: rick@archetype.prospect.com 100 Fifth Avenue voice: (617) 890-7544 x234 Waltham, MA 02154 fax: (617) 890-3661 --
Newsgroups: comp.sys.next.programmer From: finton@barney.cs.wisc.edu (David J. Finton) Subject: Converting apps made with NS 2.1 Interface Builder to NS 3.2 Message-ID: <1993Dec20.224811.24956@cs.wisc.edu> Sender: news@cs.wisc.edu (The News) Organization: University of Wisconsin, Madison -- Computer Sciences Dept. Date: Mon, 20 Dec 1993 22:48:11 GMT When I opened my IB.proj file under NS 3.2, it asked me if I wanted to convert it, since it was for an app I created under NS 2.1. Great! Unfortunately, not everything worked correctly. A friend of mine discovered that some of the nib files weren't automatically included in the converted project. Specifically, it seems that if I had a separate object named MyObject with .h and .m files, then MyObject.nib wasn't automatically included in the converted project. I also found that my usage of the RTF object in Garfinkel and Mahoney didn't work the same. So I'm wondering: are there any other pitfalls for converting a working NS 2.1 app to 3.2? Thanks, David Finton
From: jdy@next2.jpl.nasa.gov (Jimmie Young) Newsgroups: comp.sys.next.programmer Subject: Posix compiling under NS3.2 Date: 21 Dec 1993 00:14:17 GMT Organization: Image Analysis Systems Group, JPL Message-ID: <2f5f4p$ni1@elroy.jpl.nasa.gov> We have just recently upgraded to 3.2 and have hence been trying to port a Posix-based application over from a Solaris-based Sun. However, there have been much difficulty with regards to determining what libraries, etc. need to be specified in the compilation/linking. By poking around in the specs file of the /lib/m68k directory, it seems that the library libposix is to be substituted for libsys_s. At this point, we receive an ld message of: ld: Undefined symbols: _main _initialState _objc_msgSend _NXGetDefaultValue _NXRegisterDefaults objc_class_name_NXStringTable objc_class_name_NXBundle These seem to be defined in the file posixcrt0.o, which according to the specs file should be automatically referenced in the compile/link. Explicit reference to this file in the command line confirms this as duplicately defined symbols errors pop up. After much chagrine and hair pulling, we have not progressed much further. Can anyone succinctly explain how to effectively build posix-based applications from the command line? Any help or direction on this matter would be greatly appreciated. Jimmie Young NASA/JPL
Newsgroups: comp.sys.next.programmer From: westes@netcom.com (Will Estes) Subject: Better to make bsd or make next? Message-ID: <westesCID12y.Ipw@netcom.com> Organization: Mail Group Date: Tue, 21 Dec 1993 00:52:09 GMT When compiling source code that was not specifically targeted to NeXT, and when that code has a next option, I am wondering is it better to compile it with: make bsd or with: make next ? (Assuming of course that the options are named bsd and next :) The thought is that a lot of code floating around the net with a next option may have been compiled for Motorola versions of NeXT and would therefore not work under the Intel version. As a general case, should bsd be the preferred make target? -- Will Estes Internet: westes@netcom.com
Newsgroups: comp.sys.next.programmer From: jaime@afs.com (Jaime Guerrero) Subject: Bug using DBBinders Message-ID: <1993Dec20.213100.439@afs.com> Sender: jaime@afs.com Date: Mon, 20 Dec 1993 21:31:00 GMT I have been able to confirm a bug in DbKit that causes a memory exception violation deep inside DbKit when DBBinders are used extensively. Specifically, the binders are set with several properties, a qualifier, and sometimes a retrieve order. We don't use a container, but only process records one row at a time as they are retrieved. We neither set a record prototype nor associate ivars or selectors with properties, but rather get and set values to and from records exclusively by manipulating the DBValues returned by valueForProperty:. We use binders for fetching, updating, inserting, and deleting records. The problem seems to increase in occurrence when DBBinders are created and freed more frequently, rather than trying to reuse an existing DBBinder. Has anyone experienced similar problems with DBBinders? Posting or email would be appreciated. -- Jaime Guerrero "Verbing weirds language." Anderson Financial Systems Inc. Springhouse, Pennsylvania, USA jaime@afs.com [NeXTmail ok]
Newsgroups: comp.sys.next.programmer From: netcom.com!kira!davidjohn (David John Burrowes) Subject: Query: Profiler strangeness? Message-ID: <1993Dec20.000403.1016@kira.net.netcom.com> Keywords: gprof Sender: davidjohn@kira.net.netcom.com Organization: No organization at this time. Date: Mon, 20 Dec 1993 00:04:03 GMT I've been experimenting with the profiler in NEXTSTEP 3.2 just lately, and have run into a problem which looks like a bug to me (but might just be a stupid human error). Does anyone have any thoughts or answers? To save net-bandwith, I'll merely summarize by saying: it looks to me like some methods are being reported as having been called twice as often as they actually were (i.e. I know it was called 100 times ,but the gprof output lists 200, and lists the functions and methods that the method calls as being called only 100 times). I can provide more information or gprof reports or whatever if anyone wants to see more. Obviously, I'd appreciate it the most if someone could explain to me why this is just a stupid human error, as that would allow me to get on with my work the quickest =) Thanks in advance david john burrowes davidjohn@kira.net.netcom.com
From: sanguish@digifix.com Newsgroups: comp.sys.next.announce,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.advocacy,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.bugs,comp.sys.next.programmer,comp.sys.next.marketplace Subject: Quick Guide to NEXTSTEP information on the Internet Date: 21 Dec 1993 00:14:36 -0500 Organization: Next Announcements Message-ID: <2f60ns$sq8@digifix.digifix.com> * new additions Two new FTP sites on the other side of the planet. This post is made weekly, to help 'point' users to more NEXTSTEP information Topics include: comp.sys.next newsgroups related newsgroups comp.sys.next newsgroups mailing list ftp sites NeXTanswers comp.sys.next.* newsgroups -------------------------- 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. Comp.Sys.Next.Announce Announcements of general interest to the NeXT community (new products, FTP submissions, user group meetings, commercial announcements etc.) The NEXTSTEP FAQs are posted here monthly as well. 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. 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. 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. 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. 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!!! Comp.Sys.Next.Programmer Questions and discussions of interest to NEXTSTEP programmers. This is primarily a forum for advanced technical material. The NEXTSTEP programmer FAQs are posted here. 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. Comp.Sys.Next.Software This is a place to talk about [third party] software products that run on NEXTSTEP systems. Comp.Sys.Next.Sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. related Newsgroups ------------------ 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. Comp.Lang.Objective-C Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. 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-d next-advocacy-d next-announce-d next-bugs-d next-hardware-d next-marketplace-d next-misc-d next-programmer-d next-software-d next-sysadmin-d (For a full description, send mail saying LISTS to <digestif@antigone.com>). The subscription syntax is essentially the same as LISTSERV's. To subscribe, send a message to <digestif@antigone.com> saying: SUB Listname YourName Example: SUB next-hardware-d John Doe The ftp sites ------------- cs.orst.edu: The main site for North American submissions nova.cc.purdue.edu: Lots of older stuff, but very short on disk space ftp.informatik.uni-muenchen.de: In Germany. terra.stack.urc.tue.nl (Dutch NEXTSTEP User Group) cube.sm.dsi.unimi.it (Italian NEXTSTEP User Group) ftp.next.com: See the below ftp.next.com and NextAnswers@next.com ------------------------------------- From the document 1000_Help from ftp.next.com 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, or you can transfer them by anonymous ftp. 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 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 <your-address> 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 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. Written by: Eric P. Scott eps@toaster.SFSU.EDU and Scott Anguish sanguish@digifix.com Additions from: Greg Anderson (Greg_Anderson@afs.com) and Michael Pizolato (Michael_Pizolato@afs.com)
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: Re: Query: Profiler strangeness? Message-ID: <CIDHD3.32J@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems References: <1993Dec20.000403.1016@kira.net.netcom.com> Date: Tue, 21 Dec 1993 06:43:50 GMT David John Burrowes writes > I've been experimenting with the profiler in NEXTSTEP 3.2 > it looks to me like some methods are being reported as having > been called twice as often as they actually were. then just divide by 2 :-) you're right, see the release notes -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
Newsgroups: comp.sys.next.programmer From: ugubser@avalon.unizh.ch (gubser urs) Subject: NXAddress, how ? Message-ID: <1993Dec21.094539.315@ifi.unizh.ch> Keywords: NXAddress Address Sender: news@ifi.unizh.ch (USENET News Admin) Organization: University of Zurich, Department of Computer Science Date: Tue, 21 Dec 1993 09:45:39 GMT How to write NXAddress format ? Is there a library or at least some information about this ?? Thanx in Advance - Urs PS: Don't blame me, i read the manual and couldn't find anything about this topic. PPS: If this is in the FAQ, i must be blind.
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: From Button to PopUpList Message-ID: <1993Dec21.111415.282@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <1993Dec20.172227.28012@ircam.fr> Date: Tue, 21 Dec 93 11:14:15 GMT In article <1993Dec20.172227.28012@ircam.fr> bks@herbie.ircam.fr (Bennett Smith) writes: > joggl@neuro.tuwien.ac.at (Joachim Kainz) asks: > > > > I would like to acces a PopUpList, but the IB only allows me to access its > > button. Is there a workaround? > > > > Gruesse aus Wien, > > If myButton is the id of the IB button which has a popup list attached, > then [myButton target] is the PopUpList connected to it, > and [[myButton target] itemList] is the PopUpList's associated matrix. > > You can change the current selection of popup buttton from your program. > To select entry number numSelect, you do two things: > > [[[myButton target] itemList] selectCellAt:numSelect :0] > > gets the matrix to select the right cell, and > > [myButton setTitle:[[[[myButton target] itemList] selectedCell] title]] > > copies the appropriate title from the matrix to the button. > > Salutations de Paris Be aware that if you use DBKit the target of your Button is a DBPopUpAssociation and NOT the PopUpList anymore. You cannot ask a DBPopUpAssociation for it's PopUpList. However, you can connect the PopUpList to an outlet in IB. Just double click the Button to open the PopUpList and the connect it to an outlet. Do not connect a cell, connect the whole thing. works at least since 3.0 Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not (+49) 40 / 380 23-290 (Fax ) And am content with all
From: rasmussn@jupiter.eecs.umich.edu (Craig E Rasmussen) Newsgroups: comp.sys.next.programmer Subject: mail like text window? Date: 21 Dec 1993 14:19:20 GMT Organization: University of Michigan EECS Dept. Message-ID: <2f70l8$577@zip.eecs.umich.edu> Can some kind soul point point out the path needed to implement mail like features in a text window? In particular I wish to be able to drag and drop sound, graphics, and generic files into and out of a scrollable window. I am currently able to drag and drop objects into a ScrollView object, but am not able to retrieve objects back out of the ScrollView. Craig Rasmussen University of Michigan
From: npratt@glacier.sim.es.com (Nevin Pratt) Newsgroups: comp.sys.next.programmer Subject: Re: Bug using DBBinders Date: 21 Dec 1993 15:21:52 GMT Organization: E&S Distribution: world Message-ID: <2f74ag$i9j@cnn.sim.es.com> References: <1993Dec20.213100.439@afs.com> In article 439@afs.com, jaime@afs.com (Jaime Guerrero) writes: > ...... We don't use a container, but only process > records one row at a time as they are retrieved. We neither set a record > prototype nor associate ivars or selectors with properties, but rather get > and set values to and from records exclusively by manipulating the DBValues > returned by valueForProperty:. We use binders for fetching, updating, > inserting, and deleting records. I assume you also send SQL to the backend via the '-evaluateString:' method of the binder instance??? If so, I used to use binders exclusively as you do (with 3.0). However, with both QuickBase and Sybase, and apparantly starting with 3.1, if the SQL that I send to the backend fetches character fields (i.e., SELECT Name, Address FROM CustTable, for example), then any attempt to retrieve the stringValue of the DBValue yields a memory exception. The problem also occurs when fetching some aggregates (forgot which). You've found a way around this? Nevin
From: art@cubicsol.com (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: Bug using DBBinders Date: 21 Dec 1993 15:49:26 GMT Organization: University of California, Santa Cruz Distribution: world Message-ID: <2f75u6$s4e@darkstar.UCSC.EDU> References: <2f74ag$i9j@cnn.sim.es.com> In article <2f74ag$i9j@cnn.sim.es.com> npratt@glacier.sim.es.com (Nevin Pratt) writes: > If so, I used to use binders exclusively as you do (with 3.0). However, > with both QuickBase and Sybase, and apparantly starting with 3.1, if the > SQL that I send to the backend fetches character fields (i.e., SELECT > Name, Address FROM CustTable, for example), then any attempt to retrieve > the stringValue of the DBValue yields a memory exception. The problem > also occurs when fetching some aggregates (forgot which). I've successfully avoided DBBinders so far, so I haven't experienced the problems you've mentioned. However, DBValue has had a bug which has led to memory exceptions, especially when using a DBValue to store the value of a relationship property. This has been fixed in 3.2 (thanks, NeXT!!), so you might check your use of DBValues with DBBinder and see whether this works properly in 3.2. -- Art Isbell Cubic Solutions NeXT Registered Consultant NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
Newsgroups: comp.sys.next.programmer From: willi@infoman.com Subject: Sample DBKit source code Message-ID: <1993Dec21.160941.1543@infoman.com> Keywords: DBKit Sender: root@infoman.com (Operator) Organization: Information Management Inc. Date: Tue, 21 Dec 1993 16:09:41 GMT Does anyone know where there is some public domain sample DBKit applications with source code. I have already reviewed the examples that NeXT ships with the NS. Any help would be much appreciated. thanks for the help - willi willi@infoman.com
From: npratt@glacier.sim.es.com (Nevin Pratt) Newsgroups: comp.sys.next.programmer Subject: DBKit Report Writer Date: 21 Dec 1993 18:26:10 GMT Organization: E&S Distribution: world Message-ID: <2f7f42$i9j@cnn.sim.es.com> References: <1993Dec15.043835.10851@almserv.uucp> Anybody have any suggestions for a DBKit Report Writer (to go against Sybase)? I can easily write SQL reports anyway, but would be interested in looking at Report Writer options for easily jazzing up the report. I'm not particularly interested in an end-user tool, but rather a programmer's tool for someone who already knows Sybase, SQL, and the AppKit. However, if it is capable as an end-user tool for the user without him needing my help, that's OK, too. Nevin
Newsgroups: comp.sys.next.programmer From: sascha@anarch.do.open.de (Sascha Gresk) Subject: how replace REGEX(3) by GNU's regex !?!?!? Message-ID: <1993Dec21.183210.3862@anarch.do.open.de> Keywords: regex, libsys_s.a,gnu,regular Sender: usenet@anarch.do.open.de Organization: LogikFabrik/WiLa Dortmund Date: Tue, 21 Dec 1993 18:32:10 GMT Help !!! I need a library just like libsys_s.a but with regex.o (that is REGEX(3)) beeing replaced by something more intelligent like gnu's regex. I tried to understand tools like otool, libtool, ranlib, lipo but I just cannot get an idea how to handle fat libs to get my library rebuild. Thanx, Sascha
From: hdo@aludra.usc.edu (Hoan Do) Newsgroups: comp.sys.next.programmer,comp.soft-sys.nextstep,comp.sys.next.misc,comp.sys.next.hardware Subject: How to Play Music CD on Next CD Player Date: 21 Dec 1993 14:14:06 -0800 Organization: University of Southern California, Los Angeles, CA Sender: hdo@aludra.usc.edu Distribution: world Message-ID: <2f7sfe$q69@aludra.usc.edu> Can somebody tell me where to get the s/w that lets me play music CD on my Next CD player? I have NeXTstation running 3.0. Joseph Kim
From: gbol@custard.think.com (Gregory Lampshire) Newsgroups: comp.sys.next.programmer Subject: ClipView does not really display:: when the docs say it does... Date: 21 Dec 93 17:29:37 Organization: Thinking Machines Corporation, Cambridge MA, USA Distribution: world Message-ID: <GBOL.93Dec21172937@custard.think.com> I have been fiddling with adding a doc view to a clip view (via ScrollView's setDocView: method) but have not had luck with the display:: message ClipView supposedly sends the doc view when it needs to reflect the scroll. I did a trace and found that _display:: is called and that only the view which is the doc view gets a drawSelf:: message sent to it without any subviews of the doc view getting the drawSelf::. Hence, no subviews every draw themselves and I am left staring at an empty screen. I will assume that it is an error on my part but I have not been able to find anything I have done wrong. BTW, the subview of the doc view is drawing in the superview ([View drawInSuperview]) so the bounds and frame are both in the doc views coordinate system and it should get a drawSelf:: at the very least. Why is ClipView doing _display:: instead of the real display:: message? Obviously, _display:: is an undocumented method but it apparantly does not propagate the display down the view hierarchy? gregory
From: adam@samsara.circus.com (Adam Beeman) Newsgroups: comp.sys.next.programmer,comp.soft-sys.nextstep,comp.sys.next.misc,comp.sys.next.hardware Subject: Re: How to Play Music CD on Next CD Player Date: 21 Dec 1993 16:40:27 -0800 Organization: The Marshmallow Peanut Circus Distribution: inet Message-ID: <2f851r$mrm@samsara.circus.com> References: <2f7sfe$q69@aludra.usc.edu> In article <2f7sfe$q69@aludra.usc.edu>, Hoan Do <hdo@aludra.usc.edu> wrote: > >Can somebody tell me where to get the s/w that lets me play music >CD on my Next CD player? I have NeXTstation running 3.0. > Look in /NextDeveloper/Demos/CDPlayer.app... it should be there. -Adam -- +=-=+=- Adam Beeman - UCSC Instructional Computing Labs Help Desk -=+=-=+ +=-=+=- Questions regarding CATS/ICL services - iclhelp@cats.ucsc.edu -=+=-=+ +=-=+=- Personal mail, NeXTMail and MIME mail - adam@circus.com -=+=-=+
From: joe@retina.anatomy.upenn.edu (Joe Panico) Newsgroups: comp.sys.next.programmer Subject: freeing memory stream buffer? Date: 22 Dec 1993 00:59:59 GMT Organization: Dept. of Neuroscience, U. of Pennsylvania Distribution: world Message-ID: <2f866f$i3d@netnews.upenn.edu> Hi, I would like to use memory streams for building complex, variable length strings, but am having problems figuring out how to free up the buffers associated with them. The following code fragments works in all respects, except fails to free up the memory when done: myStream = NXOpenMemory(NULL,0,NX_WRITEONLY); ... some NXWrite 's here NXGetMemoryBuffer(myStream,&streamBuf,&len,&maxlen); NXClose(myStream); vm_deallocate(task_self(), (vm_address_t)streamBuf,len); My biggest problem is that I cannot find any documentation for vm_deallocate(). 'man vm_deallocate' says that there is no man page, look in Developer's library. But keyword search for vm_deallocate turns up nothing in Developer's library. Any clues much appreciated. Thanks. Joe Panico joe@retina.anatomy.upenn.edu
From: kheit@gandalf.rutgers.edu (John Kheit) Newsgroups: alt.3d,comp.sys.next.software,comp.sys.next.programmer,comp.sys.next.misc Subject: Renderman books? Message-ID: <Dec.21.20.09.36.1993.8142@gandalf.rutgers.edu> Date: 22 Dec 93 01:09:37 GMT Followup-To: alt.3d Organization: Rutgers Univ., New Brunswick, N.J. Hi All, I'm looking for a good renderman book that will teach me about the language, rib files, etc. I want to learn about the whole enchalada :) Any/All help will be appreciated. Later, John
Newsgroups: comp.sys.next.programmer From: laurent@planon.qc.ca (Laurent Daudelin) Subject: Need help to successfully create a WMInspector subclass! Message-ID: <1993Dec21.210557.19081@planon.qc.ca> Sender: laurent@planon.qc.ca Date: Tue, 21 Dec 1993 21:05:57 GMT Hi! I'm trying to subclass a WMInspector. I successfully create a bundle, and the content inspector is working very well. However, I would like to have a behaviour like the built-in address book. When you double-click on a .addresses file, a new window is opened. All the entry in the address book are listed and let us think that they are all individual files, but, investigating with a shell reveals that there is only one file in the .addresses folder, which is named "AddressBook.table". The .addresses folder also has a specific icon. It's easy to do that from an application, but, so far, I couldn't do this from a bundle. I looked in almost any piece of documentation from Librarian, but nothing on how to do this. Does anybody have a clue, info, pointer??? Thanks in advance! Laurent. -- ****************************************************************************** Laurent Daudelin, Software Engineer Planon TELEXPERTISE Inc., Boucherville, Quebec, CANADA laurent@planon.qc.ca <-- NeXTMail welcome! (Mac Mail welcome too!)
Newsgroups: comp.sys.next.programmer From: balu@jensen.cc.brandeis.edu (t balasubramanian) Subject: Help : Data Collection ( using DSP !) Message-ID: <1993Dec22.012304.13821@news.cs.brandeis.edu> Sender: news@news.cs.brandeis.edu (USENET News System) Organization: Brandeis University Date: Wed, 22 Dec 1993 01:23:04 GMT Hi, May be this is FAQ - I am interested in hooking up our experiment to the NeXT - basically we want to send some digital output from the computer to an external device and set voltages and scanning time per channel. Also we want to send the output of external device to the computer and it should collect the number of pulses comming in each channel and display it. I would greatly appreciate if some one could start me up on the right track. Are there any programms available which does some thing like this so that I can have a look at them. Please reply by email Thanks Very much T. Balu balu@jensen.cc.brandeis.edu
From: slwdz@cc.usu.edu Newsgroups: comp.sys.next.programmer Subject: TextField not working...ACK! Message-ID: <1993Dec21.175543.6564@cc.usu.edu> Date: 21 Dec 93 17:55:43 MDT Organization: Utah State University I am having some very strange troubles from my TextField object. The object comes straight from the palette in IB. I am trying to set the text of the TextField object, with varying results. Before my controller object calls a method of a supporting object, it updates a textfield of what it is doing. The only problem is that the only text I am seeing is the last bit of text that sent, it is not updating the display as I change the text. Example: - start:sender { [textField setStringValue:"Here we go..."]; [otherObject doThis]; [textField setStringValue:"Doing more stuff..."]; [otherObject playWithThis: stuff]; return self; } The result would be the textField only showing "Doing more stuff", and it only updates that when the "start" method returns. I don't even see the first message at all, but when debugging, the contents of the cell in the textField object is the correct text...so it is getting set correctly, just not displayed. I have tried forcing the textField to display with "update" among others with no results. I am not trying to do anything fancy, just put some text in a TextField...does anyone have any ideas about what might be going on? This is just a simple little app. Many thanks, John Zollinger slwdz@cc.usu.edu
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.lang.objective-c,comp.sys.next.programmer Subject: When do _you_ use exceptions? Date: 22 Dec 1993 01:10:04 -0000 Organization: me organized? That's a joke! Message-ID: <2f86pc$g8@steffi.demon.co.uk> The recent NaN thread proved very useful and it's good to see quality worthwhile discussion on something. I'm hoping this will provoke a similar response. Exceptions can provide a very elegant form of error handling, some what more flexible than [return nil] so I was wondering under what circumstances is it common to use exception handling? There are two parts to using exceptions NX_RAISE (and friends) and NX_DURING.... In particular what specific areas of NS work do you use them for? Typically I've followed the NeXT guidelines in that I will use them for archiving but that's really the only area I make use of them. For instance, why is it in some of the NeXT developer examples that the archiving is bracked by NX_DURING but there is an empty handler. (What does that acheive?) Why would you just want to ignore exceptions? I'm looking to explore this further in order to make full use of exceptions.
Newsgroups: comp.sys.next.programmer From: tgm@netcom.com (Thomas G. McWilliams) Subject: Re: Posix compiling under NS3.2 Message-ID: <tgmCIF7vG.H0M@netcom.com> Organization: NETCOM On-line Communication Services (408 241-9760 guest) References: <2f5f4p$ni1@elroy.jpl.nasa.gov> Date: Wed, 22 Dec 1993 05:14:03 GMT Jimmie Young (jdy@next2.jpl.nasa.gov) wrote: : These seem to be defined in the file posixcrt0.o, which according to the : specs file should be automatically referenced in the compile/link. : Explicit reference to this file in the command line confirms this as : duplicately defined symbols errors pop up. After much chagrine and hair : pulling, we have not progressed much further. Can anyone succinctly : explain how to effectively build posix-based applications from the command : line? Any help or direction on this matter would be greatly appreciated. I'd like to know the answer to this too. One starting point seems to be adding -D_POSIX_SOURCE to the cc command line. However, I still get unresolved termios symbols tcgetattr() and tcsetattr(). I don't know how to access termios stuff from NeXT. Thomas
Newsgroups: comp.sys.next.programmer From: Atze (Alexander Spohr) Subject: Re: freeing memory stream buffer? Message-ID: <1993Dec22.101454.243@dart.de> Sender: aspohr@dart.de Organization: d'ART Computersysteme GmbH References: <2f866f$i3d@netnews.upenn.edu> Date: Wed, 22 Dec 93 10:14:54 GMT In article <2f866f$i3d@netnews.upenn.edu> joe@retina.anatomy.upenn.edu (Joe Panico) writes: > > Hi, > > I would like to use memory streams for building complex, variable length > strings, but am having problems figuring out how to free up the buffers > associated with them. The following code fragments works in all respects, > except fails to free up the memory when done: > > > myStream = NXOpenMemory(NULL,0,NX_WRITEONLY); > ... some NXWrite 's here > > NXGetMemoryBuffer(myStream,&streamBuf,&len,&maxlen); > NXClose(myStream); > vm_deallocate(task_self(), (vm_address_t)streamBuf,len); > > Use NXCloseMemory(myStream, NX_FREEBUFFER). Atze -- Alexander Spohr, Hamburg, Germany Alexander_Spohr@dART.de (Mail ) Faces and faces (+49) 40 / 380 23-0 (Sound) See them and complain not (+49) 40 / 380 23-290 (Fax ) And am content with all
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Re: Posix compiling under NS3.2 Message-ID: <2f9aqg$qnl@ursula.ee.pdx.edu> Date: 21 Dec 93 19:25:04 GMT Article-I.D.: ursula.2f9aqg$qnl References: <2f5f4p$ni1@elroy.jpl.nasa.gov> <tgmCIF7vG.H0M@netcom.com> tgm@netcom.com (Thomas G. McWilliams) writes: >I'd like to know the answer to this too. One starting point >seems to be adding -D_POSIX_SOURCE to the cc command line. >However, I still get unresolved termios symbols tcgetattr() and >tcsetattr(). I don't know how to access termios stuff from NeXT. Always use -posix, not -D_POSIX_SOURCE.
From: fxg@wolf.informatik.rwth-aachen.de (Felix Gatzemeier) Newsgroups: comp.sys.next.programmer Subject: Re: AlphaLock.c updated for NS-3.2 --- Question Date: 22 Dec 1993 15:08:54 GMT Organization: Lehrstuhl fuer Informatik III, RWTH Aachen, Germany Message-ID: <FXG.93Dec22160854@wolf.informatik.rwth-aachen.de> References: <FXG.93Dec14200451@tschaikowsky.informatik.rwth-aachen.de> <1993Dec15.102306.9770@dart.de> <1993Dec16.122404.2783@ifi.unizh.ch> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-reply-to: reinhard@avalon.unizh.ch's message of Thu, 16 Dec 1993 12:24:04 GMT In article <1993Dec16.122404.2783@ifi.unizh.ch> reinhard@avalon.unizh.ch (Peter Reinhardt) writes: Newsgroups: comp.sys.next.programmer From: reinhard@avalon.unizh.ch (Peter Reinhardt) Sender: news@ifi.unizh.ch (USENET News Admin) Nntp-Posting-Host: avalon Organization: University of Zurich, Department of Computer Science X-Newsreader: TIN [version 1.2 PL1] References: <FXG.93Dec14200451@tschaikowsky.informatik.rwth-aachen.de> <1993Dec15.102306.9770@dart.de> Date: Thu, 16 Dec 1993 12:24:04 GMT Alexander Spohr (Atze) wrote: : In article <FXG.93Dec14200451@tschaikowsky.informatik.rwth-aachen.de> : fxg@tschaikowsky.informatik.rwth-aachen.de (Felix Gatzemeier) writes: : [...] : > I don't use caps locking at all, because it'll give me AsDFGh (ca.) : > instead of ASDFGH, as I'd expect. Any ideas? Could a redefinition of [munch] : On the German keyboard it is Y, Z and the German Umlauts (I will refer only to : y+z in the following). They just come as y + z (lowercase). : It looks like German.keymapping is NOT the problem. If you press Shift [munch] I have had the same problem with the swiss german keymapping , the z y and all umlaute appeared small with capslock. i solved the problem with editing the *.keymapping. if you analyse the file, you will detect, that the functionning keys have a longer entry that the damaged keys (ie. z,y etc.) [munch] peter . To complete the confusion: I heard that 3.2 'fixes' the problem. Does that mean that they got a better .keymapping from peter? Anyway, that should wind it up. -- Felix (fxg@(([Pool|I3].Informatik)|(Tolkien.ImIB)).RWTH-Aachen.de NeXT-Mail ok, but slow)
From: alanl@MCS.COM (Alan Losoff) Newsgroups: comp.sys.next.programmer Subject: Re: TextField not working...ACK! Date: 22 Dec 1993 09:57:48 -0600 Organization: MCSNet, Chicago's First Public-Access Internet Provider! Message-ID: <2f9qps$nft@Mercury.mcs.com> References: <1993Dec21.175543.6564@cc.usu.edu> In article <1993Dec21.175543.6564@cc.usu.edu>, <slwdz@cc.usu.edu> wrote: >I am having some very strange troubles from my TextField object. The object >comes straight from the palette in IB. > >I am trying to set the text of the TextField object, with varying results. >Before my controller object calls a method of a supporting object, it updates >a textfield of what it is doing. The only problem is that the only text >I am seeing is the last bit of text that sent, it is not updating the display >as I change the text. Example: > >- start:sender >{ > [textField setStringValue:"Here we go..."]; > [otherObject doThis]; > > [textField setStringValue:"Doing more stuff..."]; > [otherObject playWithThis: stuff]; > > return self; >} > >The result would be the textField only showing "Doing more stuff", and it only >updates that when the "start" method returns. I don't even see the first >message at all, but when debugging, the contents of the cell in the textField >object is the correct text...so it is getting set correctly, just not >displayed. I have tried forcing the textField to display with "update" among >others with no results. > >I am not trying to do anything fancy, just put some text in a TextField...does >anyone have any ideas about what might be going on? This is just a simple >little app. > >Many thanks, >John Zollinger >slwdz@cc.usu.edu > add the message [[textField window] display]; after each setStringValue. You may also have to do it before the first one. --- Alan Losoff internet: alanl@crt.com fax: 312-431-3089 NationsBanc-CRT NeXTMAIL: OK (150K limit) voice: 312-431-2521
Newsgroups: comp.sys.next.programmer From: ief@netnews.jhuapl.edu (Ian Feldberg (TES)) Subject: Showing multiple images in a view Message-ID: <CIG5AB.A93@netnews.jhuapl.edu> Organization: Applied Physics Laboratory of Johns Hopkins University Date: Wed, 22 Dec 1993 17:15:47 GMT I have a quick question, maybe someone will have a quick answer. I need to display multiple images in a view on top of one another. Right now, I'm using NXImage methods (composite:NX_COPY and NX_SOVER) to do it. Is there any advantage to doing it this way instead of just creating full view buttons in IB and assigning the images as those button's icons? Which way is faster? Anyone ... anyone? Thanks, - Ian (Ian_Feldberg@jhuapl.edu)
Newsgroups: comp.sys.next.programmer From: rpomeroy@aunext1.amd.com (Ron Pomeroy x(Coop)) Subject: ComposeMail palette Message-ID: <CIG4Dq.I76@dvorak.amd.com> Sender: news@dvorak.amd.com (Usenet News) Organization: Advanced Micro Devices, Austin TX Distribution: usa Date: Wed, 22 Dec 1993 16:56:13 GMT Hey Net Serfers, Looking for the ComposeMail IB palette...anyone know where it is ???? -- Ronald Pomeroy Advanced Micro Devices CAM Applications Group rpomeroy@aunext1.amd.com
From: npratt@glacier.sim.es.com (Nevin Pratt) Newsgroups: comp.sys.next.programmer Subject: Dot Matrix under 3.2/FIP Date: 22 Dec 1993 16:53:23 GMT Organization: E&S Distribution: world Message-ID: <2f9u23$1jr@cnn.sim.es.com> Anybody actually *using* a dot matrix printer under NS 3.2/FIP? I know that with NS 3.0/MOT that drivers for the EPSON 510 and IBM Proprinter were there. I also know that under NS 3.1/FIP, the drivers were there, but the license was not (interesting combination). This is also apparently why the DOTS people dropped support for those particular printers-- because it was built in to the system anyway, even if you had to buy an optional (but inexpensive) license to legally use it (which their product requires anyway). But, under NS 3.2/FIP, the drivers don't seem to be there. So, is anybody actually *using* a dot matrix printer under NS 3.2/FIP? If so, which printer, and what did you do (besides buy the required license from NeXT)? Nevin
From: npratt@glacier.sim.es.com (Nevin Pratt) Newsgroups: comp.sys.next.programmer Subject: Re: Dot Matrix under 3.2/FIP Date: 22 Dec 1993 16:57:42 GMT Organization: E&S Distribution: world Message-ID: <2f9ua6$1jr@cnn.sim.es.com> References: <2f9u23$1jr@cnn.sim.es.com> Sorry to follow-up on my own post, but I actually *need* to print pre-printed, multi-part, tractor-fed forms. So, I really *need* an impact printer (ala dot matrix). Alternate suggestions won't work. Nevin
Newsgroups: alt.3d,comp.sys.next.software,comp.sys.next.programmer,comp.sys.next.misc From: Willy Amazing <adams@adamation.com> Subject: Re: Renderman books? Message-ID: <CIGCsr.DHH@taligent.com> Sender: usenet@taligent.com (More Bytes Than You Can Read) Organization: Adamation References: <Dec.21.20.09.36.1993.8142@gandalf.rutgers.edu> Date: Wed, 22 Dec 1993 19:58:02 GMT In article <Dec.21.20.09.36.1993.8142@gandalf.rutgers.edu> John Kheit, kheit@gandalf.rutgers.edu writes: > I'm looking for a good renderman book that will teach me about the >language, rib files, etc. I want to learn about the whole enchalada :) > Any/All help will be appreciated. The Renderman Companion is a good book to start with. Actually, it's the only one that I've seen myself. (Addison Wesley, Steve Upstill). You might be able to write to Pixar or even NeXT and find out if they have more or can give out more reference material.
Newsgroups: comp.lang.objective-c,comp.sys.next.programmer From: byer@mv.us.adobe.com (Scott Byer) Subject: Re: When do _you_ use exceptions? In-Reply-To: robert@steffi.demon.co.uk's message of 22 Dec 1993 01:10:04 -0000 Message-ID: <BYER.93Dec22132218@birch.mv.us.adobe.com> Sender: usenet@adobe.com (USENET NEWS) Organization: Adobe Systems Incorporated, Mountain View, CA References: <2f86pc$g8@steffi.demon.co.uk> Date: Wed, 22 Dec 1993 21:22:18 GMT In article <2f86pc$g8@steffi.demon.co.uk> robert@steffi.demon.co.uk (Robert Nicholson) writes: > Exceptions can provide a very elegant form of error handling, > some what more flexible than [return nil] so I was wondering under > what circumstances is it common to use exception handling? Well, I wouldn't exactly call them elegant. They work, let's leave it at that. > In particular what specific areas of NS work do you use them for? > Typically I've followed the NeXT guidelines in that I will use > them for archiving but that's really the only area I make use > of them. For instance, why is it in some of the NeXT developer > examples that the archiving is bracked by NX_DURING but there is > an empty handler. (What does that acheive?) Similar mechinisms are usually used in larger bodies of code that need to protect themselves from errors, external, imagined, or from within another part of the code itself. They can allow a large program to keep running, even if a single module or piece fails. The HANDLER part is intended to allow for any necessary cleanup, and a possible re-raise. If a procedure does nothing that would need to be undone in an exception situation (such as allocating memory), and it believes that any failures that it might see are completely uninteresting to any calling routine (quite a common case for any top-level mthods in an object), then an empty HANDLER is perfectly reasonable - it simply swallows the exception. One general use of exceptions in a user-driven program is in the main event handling loop. A convenient bottleneck for global exception handling, the handler can print the error on the console and continue execution. The basic block is: while (running) { DURING while (running) { <<MAIN PROGRAM LOOP>> } HANDLER <<PRINT ERROR>> END_HANDLER } The dual loop is to avoid setting up and tearing down the exception handling every event. The stuff, which is usually implemented on top of setjmp/longjmp, isn't very lightweight. -- Scott Byer NeXTMail: byer@mv.us.adobe.com Adobe Systems Incorporated These are *my* opinions, and 1585 Charleston Road, P.O. Box 7900 do not necessarily reflect Mountain View, CA 94039-7900 the opinions of my employer. ---------------------------------------------------------------------
From: slwdz@cc.usu.edu Newsgroups: comp.sys.next.programmer Subject: Re: TextField not working...SOLUTION! Message-ID: <1993Dec22.142602.6590@cc.usu.edu> Date: 22 Dec 93 14:26:02 MDT References: <1993Dec21.175543.6564@cc.usu.edu> <2f9qps$nft@Mercury.mcs.com> Organization: Utah State University First off I would like to thank all of you that responded to my question. THANKS! For those of you that might run into the same problem, it seems that the window server can sometimes lag behind your application and not update the display. The solution was to use a function called NXPing() which basically forces your application to wait for the window server to catch up before continuing. I just added the NXPing() function after each setStringValue statement and everything worked great. For those interested, NXPing() documentation can be found in GeneralRef/02_ApplicationKit/Functions/AppKitFuncions.rtfd It was also suggested that I try sending the TextField a "display" message. This did not work though, but NXPing() did. Thanks again, John Zollinger slwdz@cc.usu.edu
Newsgroups: comp.sys.next.programmer From: yanik@planon.qc.ca (Yanik Crepeau) Subject: IndexingKit - IXFileFinder - Query Message-ID: <1993Dec22.152540.8565@planon.qc.ca> Keywords: IndexingKit FileFinder performQuery: atPath:forSender: Sender: yanik@planon.qc.ca Date: Wed, 22 Dec 1993 15:25:40 GMT I have written a program that use Indexing Kit and IXFileFinder object to do some experiments with indexing kit. When the program launch, it tries to find a file named /tmp/test. If it finds it, the file is open, if it does not find it, it is created and the method -updateIndexAtPath:forSender: is sent to the IXFinder instance. My question is about the -performQuery:atPath:forSender: method. Documentation for that method is found in "Protocols:IXFileFinderQueryAndUpdate", chapter 7, p. 137 of NeXTSTEP General Reference, Volume 2 or could be found using the Digital Librarian. The three (3) methods implemented by the sender of a Query or Uptade are written. These methods are - fileFinde:didFindFile: -fileFinder:didFindList: and -fileFinder:willAddFile: Depending of the sender given (self or nil) to the -performQuery:atPath:forSender:, the method will look at the local index (nil) or will make a long search (self). The queries are: within(FileName 'SomeName') within(FileType 'ps') ge(FileSize 0) The FileName on both the local search and the long search works. The FileType works only on the long search. Other attribute names (FileSize, UnixType etc.) don't work at all. So, the the following table give you some example of what work and what don't. 1 -performQuery:"within(FileName 'SomeName')" atPath:XYZ forSender:self OK 2 -performQuery:"within(FileName 'SomeName')" atPath:XYZ forSender:nil OK 3 -performQuery:"within(FileType 'ps')" atPath:XYZ forSender:self OK 4 -performQuery:"within(FileName 'ps')" atPath:XYZ forSender:nil NO 5 -performQuery:"gt(FileSize 1000)" atPath:XYZ forSender:self NO 6 -performQuery:"gt(FileSize 1000)" atPath:XYZ forSender:nil NO In the fourth case (within(FileName 'ps') and nil) the address of the returned IXPostingList is 0x0. I would like to know: 1 - What I have made wrong? 2 - What are the limitations of IndexingKit, bug and not yet implemented features 3- The workarounds 4- Any other pertinent comments. Yanik -- Yanik Crepeau Programmer Planon Telexpertise E-Mail: yanik@planon.qc.ca (NeXT)
Newsgroups: comp.sys.next.programmer From: glen@instep.wimsey.bc.ca Subject: Deleting one record from a DBModule Message-ID: <1993Dec23.000012.4419@instep.wimsey.bc.ca> Sender: glen@instep.wimsey.bc.ca (Glen Biagioni) Organization: InStep Mobile Communications Inc. Date: Thu, 23 Dec 1993 00:00:12 GMT My DBModule fails to delete if it has only one record loaded. Well, actually it deletes from the user interface (and, I presume, the recordList) but saveChanges: merely produces a BEGIN TRANSACTION followed by COMMIT TRANSACTION, with nothing between. Works fine if 2 or more records are present. NextStep 3.2 on black with both 4_0 and 4_6 Sybase Adaptors. -- Glen Biagioni Software Developer glen@instep.wimsey.bc.ca (small NeXTmail accepted) 604 872-7116 604 872-7125 fax
Newsgroups: comp.sys.next.programmer From: willi@infoman.com Subject: Adding Static Rows to a DBTableView Message-ID: <1993Dec22.151250.1698@infoman.com> Keywords: DBKIT Sender: root@infoman.com (Operator) Organization: Information Management Inc. Date: Wed, 22 Dec 1993 15:12:50 GMT I am trying to add static rows instead of the usual static columns that we see in a DBTableView. To test this out, I used NS example application called TableView. To try to make this work I thought I could replace addColumn with addRow and this would accomplish the task. Here is some sample code. - addTableRow:(const char *)label { id newExpression; static int cnt = 0; /* allocate a new expression, add it to the FetchGroup and add it */ /* to the TableView */ newExpression = [[DBExpression alloc] initForEntity:[dbModule entity] fromDescription:label]; [dbFetchGroup addExpression:newExpression]; [dbTableView addRow:newExpression withFormatter:[[DBTextFormatter alloc] init] andTitle:label at:cnt++]; return self; } The result is I get the static rows, but the data is not displayed in the columns. If anyone has any suggestions, I would appreciate it.
Newsgroups: comp.sys.next.programmer From: yanik@planon.qc.ca (Yanik Crepeau) Subject: Re: Showing multiple images in a view Message-ID: <1993Dec22.231618.242@planon.qc.ca> Sender: yanik@planon.qc.ca References: <CIG5AB.A93@netnews.jhuapl.edu> Date: Wed, 22 Dec 1993 23:16:18 GMT In article <CIG5AB.A93@netnews.jhuapl.edu> ief@netnews.jhuapl.edu (Ian Feldberg (TES)) writes: > I have a quick question, maybe someone will have a quick answer. I need to > display multiple images in a view on top of one another. Right now, I'm > using NXImage methods (composite:NX_COPY and NX_SOVER) to do it. > > Is there any advantage to doing it this way instead of just creating full > view buttons in IB and assigning the images as those button's icons? Which > way is faster? Anyone ... anyone? > > Thanks, > > - Ian (Ian_Feldberg@jhuapl.edu) > THE FOLLOWING TEXT IS PURE SPECULATION! I suspect the button, when someone change its icon (or its alticon) to perform the following steps: 1-Go to the disk (in the .app or inside the Mach segment) and load the new image 2-Draw the image using the composite method. If the image is changed, the previous image is forgotten. So if the same image come back later, it will have to be reloaded. The composite methods plays with the image itself. It is very low level code that perform the drawing in the view. Changing the icon name is simpler to program but that change is coded in the view level and implies redrawing anyway. That is pure speculation,.. yanik -- Yanik Crepeau Programmer Planon Telexpertise E-Mail: yanik@planon.qc.ca (NeXT)
Newsgroups: comp.sys.next.programmer,comp.sys.next.misc,comp.sys.next.software From: henry@trilithon.com (Henry McGilton) Subject: Re: Converting Fonts to next Message-ID: <1993Dec21.023938.21400@trilithon.com> Sender: henry@trilithon.com Organization: Trilithon Software References: <CIAyqx.Jn1@news.udel.edu> Date: Tue, 21 Dec 1993 02:39:38 GMT In article <CIAyqx.Jn1@news.udel.edu> ayis@chopin.udel.edu (Ayis Theseas Pyrros) writes: * Hello, first I would like to apologize if I am posting this * question in the wrong group. More appropriate groups would be comp.sys.next.misc or comp.sys.next.software. This followup is directed there. * I have found this Mac Type 1 font on archie.au. I want * to convert it for usage to th NeXTSTEP486. We [Trilithon Software] sell both a Mac->NEXTSTEP font conversion utility and a PC->NEXTSTEP font conversion utility. Interested parties may obtain more information from the channels listed. Write To: Trilithon Software, Two Ohlone, Portola Valley, California 94028. Telephone: (415) 325-0767 FAX: (415) 325-0768 E-mail: info@trilithon.com ........ Henry
From: joggl@neuro.tuwien.ac.at (Joachim Kainz) Newsgroups: comp.sys.next.programmer Subject: IXRecordManager - Question Date: 23 Dec 1993 01:30:48 GMT Organization: Technical University Vienna, Austria Message-ID: <2fasc8$pjd@email.tuwien.ac.at> Has anybody an idea why the IXRecordWriting -replaceRecord:with: method destroys the record (sends it a -free) and the -addRecord: method does not? Is there a deeper meaning that I am missing again? Gruesse aus Wien! Joachim. -- Phone: ++43-1-58801-4132 Fax: ++43-1-504-1580 Email: Joachim.Kainz@neuro.tuwien.ac.at
Newsgroups: comp.sys.next.programmer From: jaime@afs.com (Jaime Guerrero) Subject: Re: Bug using DBBinders Message-ID: <1993Dec21.193654.1072@afs.com> Sender: jaime@afs.com References: <2f74ag$i9j@cnn.sim.es.com> Date: Tue, 21 Dec 1993 19:36:54 GMT In article <2f74ag$i9j@cnn.sim.es.com> npratt@glacier.sim.es.com (Nevin Pratt) writes: > In article 439@afs.com, jaime@afs.com (Jaime Guerrero) writes: > > > ...... We don't use a container, but only process > > records one row at a time as they are retrieved. We neither set a record > > prototype nor associate ivars or selectors with properties, but rather > > get and set values to and from records exclusively by manipulating the > > DBValues returned by valueForProperty:. We use binders for fetching, > > updating, inserting, and deleting records. > > I assume you also send SQL to the backend via the '-evaluateString:' > method of the binder instance??? No. This is *very* simple use of binders in an apparently ordinary, intended way- sending addProperty:, addRetrieveOrder:, setQualifier:, and selectWithoutFetching messages, then setNext messages within a loop until failure. The only interesting thing about the test program is that the creation and freeing of some DBBinders occurs within the body of another outer DBBinder's ongoing fetch loop. > If so, I used to use binders exclusively as you do (with 3.0). However, > with both QuickBase and Sybase, and apparantly starting with 3.1, if the > SQL that I send to the backend fetches character fields (i.e., SELECT > Name, Address FROM CustTable, for example), then any attempt to retrieve > the stringValue of the DBValue yields a memory exception. The problem > also occurs when fetching some aggregates (forgot which). In the test program, it does retrieves the stringValue of DBValue objects (via valueForProperty:) for character columns, but the crash is occuring inside selectWithoutFetching. In other variations, for example, when no alloc'd DBBinders are freed (just for experimental purposes, mind you), selectWithoutFetching messages don't crash but still fail inexplicably. Any ideas? -- Jaime Guerrero "Verbing weirds language." Anderson Financial Systems Inc. Springhouse, Pennsylvania, USA jaime@afs.com [NeXTmail ok]
Newsgroups: comp.sys.next.programmer From: cleelacj@agedwards.com (Chris Cleeland) Subject: Re: NS version recognition? Message-ID: <CICpIx.MIL@agedwards.com> Date: Mon, 20 Dec 1993 20:42:33 GMT References: <2eqp5p$941@transfer.stratus.com> Organization: A. G. Edwards & Sons, Inc. Dave_Jepson (djep@fountainhills.az.stratus.com) wrote: : In article <9312161726.AA07199@cantina.lanl.gov> silbar@cantina.lanl.gov : (Dick Silbar) writes: : > Alex Blakemore suggests: : > : > % cat /usr/lib/NextStep/software_version : > 3.2 : > Lightning5S : > : > [WS:silbar> cat /usr/lib/NextStep/software_version : > 3.2 : > Thunder5S : Lightning = black hardware : Thunder = white hardware Of course, this *does* begs the question: "What will the HP and Sun ports be designated?" Count my suggestion as: HP = Fire Sun = Brimstone Oh, yeah, :-) :-) -cj -- ============================================================================== Chris Cleeland | NeXTMail: chris@milo.st-louis.mo.us BOS Dev. Team | MIMEMail: cleeland@agedwards.com | BellNet: (314) 289-5372
From: joggl@neuro.tuwien.ac.at (Joachim Kainz) Newsgroups: comp.sys.next.programmer Subject: IXkit - IXRecordTranscription Date: 23 Dec 1993 04:00:09 GMT Organization: Technical University Vienna, Austria Message-ID: <2fb549$rvc@email.tuwien.ac.at> The IXRecordTranscription documentation says: > There are two kinds of data that can't be transcribed: > data that aren't stored as instance variables (for > example, the contents of a file or an entry in the defaults > database), which the transcriber never knows about; and > untyped data (anything referred to by a pointer to void), > whose length the transcriber can't determine. Well, could be quite untrue. The dateOfBirth-ivar in the following listing is not stored either, even that it is not referred to by a pointer to void. > typedef struct > { > unsigned short year; > unsigned char month, > day; > } DATE; > > @interface Personality:Object < IXRecordTranscription > > { > char *familyName, > *firstName, > *title, > *birthName; > BOOL isMale; > DATE dateOfBirth; > unsigned int addressHandle; > } > > // .. > > @end Is there maybe no typing information passed for structures? Gruesse aus Wien, Joachim. -- Phone: ++43-1-58801-4132 Fax: ++43-1-504-1580 Email: Joachim.Kainz@neuro.tuwien.ac.at
From: art@cubicsol.com (Art Isbell) Newsgroups: comp.sys.next.programmer Subject: Re: Deleting one record from a DBModule Date: 23 Dec 1993 07:05:10 GMT Organization: University of California, Santa Cruz Distribution: world Message-ID: <2fbfv6$bhn@darkstar.UCSC.EDU> References: <1993Dec23.000012.4419@instep.wimsey.bc.ca> In article <1993Dec23.000012.4419@instep.wimsey.bc.ca> glen@instep.wimsey.bc.ca writes: > My DBModule fails to delete if it has only one record loaded. > > Well, actually it deletes from the user interface (and, I presume, > the recordList) but saveChanges: merely produces a BEGIN TRANSACTION > followed by COMMIT TRANSACTION, with nothing between. > > Works fine if 2 or more records are present. > > NextStep 3.2 on black with both 4_0 and 4_6 Sybase Adaptors. NeXT generally did a good job fixing DBKit bugs for 3.2, but this is a new one that was introduced. I'll trade this one for some of those that were fixed because the workaround is pretty easy. Apparently, the fetchgroup doesn't know that the deletion of the last record hasn't been saved, so it thinks no records remain. But the recordlist knows that a change hasn't been saved. So in a delete method or an appropriate delegate method, implement something along these lines: if ([fetchGroup recordCount] == 0) { // 3.2 bug doesn't clear out the last deleted record, so force it. [[fetchGroup recordList] saveModifications]; } -- Art Isbell Cubic Solutions NeXT Registered Consultant NEXTSTEP software development and consulting NeXTmail: art@cubicsol.com Voice: +1 408 335 1154 USmail: 95018-9442 Fax: +1 408 335 2515
From: scheurer@lithnext.epfl.ch (Marco Scheurer) Newsgroups: comp.sys.next.programmer Subject: Q: IB, categories, and libraries Date: 23 Dec 1993 10:34:23 GMT Organization: Ecole Polytechnique Federale de Lausanne Message-ID: <2fbs7f$5um@disuns2.epfl.ch> Hello NEXTSTEP programmers, I have a category of Text with the -appendString: method in it. I want to use it in a palette. In test mode, it works fine when the source code for the category is included in the palette project, but I get an error (Runtime Error: Text does not recognize -appendString:) when it's not; when I wish to use the method from the libMyLib.a library. I have the following line in the Makefile.preamble of the palette project. OTHER_OFILES = /usr/local/lib/libMyLib.a I thought this was correct since it works for other symbols defined in this library. Am i doing something wrong? Thanks --- Marco Scheurer scheurer@lithnext.epfl.ch (NeXTMail) Laboratoire d'Informatique Theorique Ecole Polytechnique Federale de Lausanne IN-Ecublens CH-1015 Lausanne (Switzerland) (+41) 21 693-2589
Newsgroups: comp.sys.next.programmer From: ploeger@aplki.toppoint.de (Andreas Ploeger) Subject: Re: When do _you_ use exceptions? Message-ID: <1993Dec22.131714.535@aplki.toppoint.de> Sender: ploeger@aplki.toppoint.de (Andreas Ploeger) Organization: Andreas Ploeger References: <2f86pc$g8@steffi.demon.co.uk> Date: Wed, 22 Dec 93 13:17:14 GMT In article <2f86pc$g8@steffi.demon.co.uk> robert@steffi.demon.co.uk (Robert Nicholson) writes: > Exceptions can provide a very elegant form of error handling, some > what more flexible than [return nil] so I was wondering under what > circumstances is it common to use exception handling? The idea of exceptions is nothing NeXT-specific, you also find it in Ada and in Eiffel, so it might be useful to read in that literature. There is an intoduction to OOP using Eiffel by Bertrand Meyer which covers the concept of exceptions well. I use exceptions frequently because they allow me to write robust code without coding too much error handling: Assume a function A that calls a function B that calls C. Now in C something bad happens. If you do it the traditional way you would have to evaluate the return code of C in B and return from B indicating an error which you finally handle in A. The problem is that the error passing code in B easily triples the size/costs/complexity of the code. For example consider C to be the 'printf' library function: How often do you check the return value of it? Just imagine to write error handling code for each call of 'printf' which you are supposed to do to deliver crash safe code! The alternative is to raise an exception in C and have a handler in A. Now, even if you don't have to have any error handling code in B, you get to a well defined point in A (the exception handler) in case of a problem. Later you can still decide to fix some errors in B by writing a (nesteed) exception handler in B but you can defer that until your code and documentation are stable. So, when I start a new project I only install an error handling function for NeXT's top level handler using NXRegisterErrorReporter which informs the user that the last operation couldn't be executed and allows him to continue with the program. Later, when I feel I need to be more specific or I could even correct the problem I write some additional error handlers for the lower layers. I hope that gives you an idea. Any coments? Merry X-mas Andreas -------------------------------------------------------------------- Andreas Ploeger E-Mail: ploeger@tpki.toppoint.de Kiel University Phone: (49) 431 597 1757 Clinic for Pediatric Cardiology FAX: (49) 431 597 1828 Schwanenweg 20, 24105 Kiel 1, Germany *** NeXT Mail welcome *** -- -------------------------------------------------------------------- Andreas Ploeger E-Mail: ploeger@tpki.toppoint.de
Newsgroups: comp.sys.next.programmer From: BrianW@SoundS.WA.com (Brian Willoughby) Subject: Headers problems with "errno", 3.2 Message-ID: <CIHnC8.CBv@sounds.wa.com> Sender: brianw@sounds.wa.com (Brian Willoughby) Organization: Sound Consulting, Bellevue, WA, USA Date: Thu, 23 Dec 1993 12:43:20 GMT I suppose everyone knows what "errno" is used for - it's all throughout the man pages. I even successfully used it under Release 2.X in my applications. Now I'm having trouble recompiling under 3.2, although I don't know if the story would have been any different under 3.0 or 3.1, since I didn't try before. I know I could probably just cheat and put "extern int errno;" anywhere in my source, but I would like to find out why I can't get my program to compile without the following warning: Controller.m: In method `getFileInfo:' Controller.m:345: `errno' undeclared (first use this function) Controller.m:345: (Each undeclared identifier is reported only once Controller.m:345: for each function it appears in.) After looking through the headers, I find that #define __STRICT_BSD__ will do the trick, but it seems very messy to have to define this, and results in the following warnings: /NextDeveloper/Headers/appkit/Responder.h:7: warning: could not use precompiled header '/NextDeveloper/Headers/objc/Object.p', because: /NextDeveloper/Headers/appkit/Responder.h:7: warning: #ifdef '__STRICT_BSD__' not defined when precompiled, but now defined: /NextDeveloper/Headers/appkit/Responder.h:7: warning: at Controller.m:13 unless I change the order of my #import directives specifically to avoid this warning. This isn't really blocking my development efforts, but I do hope to learn something by asking what I should be doing. -- Brian Willoughby Software Design Engineer, BSEE from NCSU NeXTmail welcome Sound Consulting: Software Design and Development BrianW@SoundS.WA.com Bellevue, WA
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Re: Q: IB, categories, and libraries Date: 23 Dec 1993 13:49:14 -0000 Organization: me organized? That's a joke! Message-ID: <2fc7kq$2mk@steffi.demon.co.uk> References: <2fbs7f$5um@disuns2.epfl.ch> scheurer@lithnext.epfl.ch (Marco Scheurer) wrote >Hello NEXTSTEP programmers, > >I have a category of Text with the -appendString: method in it. I want to >use it in a palette. In test mode, it works fine when the source code for >the category is included in the palette project, but I get an error >(Runtime Error: Text does not recognize -appendString:) when it's not; >when I wish to use the method from the libMyLib.a library. I have the >following line in the Makefile.preamble of the palette project. > > OTHER_OFILES = /usr/local/lib/libMyLib.a > >I thought this was correct since it works for other symbols defined in >this library. > >Am i doing something wrong? Add it to the say LIBOFILES in Makefile.preamble LIBOFILES = TiffMenus.o ImageArchiving.o WindowGrabber.o the last two are categories. Makefile.postamble has this. LIBTOOL = /bin/libtool libTiffMenus.a: $(LIBOFILES) $(LIBTOOL) -o $@ $(LIBOFILES) I assume this is <= NS 3.1 and that NS3.2 doesn't have support for libraires in the Makefiles/Project Builder. -- "Buzzword Development" the new way for the 90's. Promising to deliver but not delivering what you promised.
From: fxg@tschaikowsky.informatik.rwth-aachen.de (Felix Gatzemeier) Newsgroups: comp.sys.next.programmer,comp.sys.next.sysadmin Subject: Re: RTFD should support TXT.rtf.Z Date: 23 Dec 1993 14:26:46 GMT Organization: Lehrstuhl fuer Informatik III, RWTH Aachen, Germany Message-ID: <FXG.93Dec23152646@tschaikowsky.informatik.rwth-aachen.de> References: <2ehr5u$263@steffi.demon.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit In-reply-to: robert@steffi.demon.co.uk's message of 13 Dec 1993 13:37:02 -0000 [Proposing to compress every piece of text, asks for comments] Personally, I feel that load times for documentation is too long already and additional compression wouldn't speed it up. While some Files that are consulted rarely could be compressed, I'd generally want to see them fast in the given situation. It would be nice to compress these things transparently, though. Or even better: automated. Just like paging. Keep n MB of data uncompressed, when that's full, compress the least recently used files. Not even that hard to implement, once you're on DL sources... Ideally, things should be real hypertexted. True, DL *IS* some step up from man pages or even DOS (yuck!) No-Doc's, but a large Number of small items, some sort of knowledge base, quickly accessible and well-linked would be another step forward. Windows (yuck!) help tries this, emacs info system and NeXTstep help also. But all that should be integrated. At least NS Help and Docs. The things I want to see take us to the realm of knowledge management, ultimatively. Why not link IB Palette Objects to their Documentation? Yes, it's a bunch of nasty work, but it should be set as a goal. -- Felix (fxg@(([Pool|I3].Informatik)|(Tolkien.ImIB)).RWTH-Aachen.de NeXT-Mail ok, but slow)
From: rtidd@turtle.mrj.com (Randy Tidd) Newsgroups: comp.sys.next.programmer Subject: Re: NeXTMAIL Services Date: 23 Dec 1993 11:54:48 -0500 Organization: MRJ, Inc./Oakton, Virginia, USA Sender: rtidd@mrj.com Distribution: world Message-ID: <2fcigo$q3p@turtle.mrj.com> References: <51931214234815/0005508785NA2EM@mcimail.com> In article <51931214234815/0005508785NA2EM@mcimail.com> 0005508785@mcimail.com (ErgoTech Development, Inc.) writes: >Does anyone have a good way to programmatically send NeXTMAIL? The short answer is no. We're only given a limited API to Mail.app (i.e. undocumented and unsupported) which has limitations (that API has been floating around for a while, I don't have it handy but if you can't get ahold of it let me know). The API allows you to open a compose window and set the from, to, etc fields and to fill the window with text. There's no way to add attachments but you can hack it by putting a filename on the pasteboard and then invoking the Mail/Document service with NXPerformService(). This all has several limitations, such as only being able to operate on a single compose window at once. If the user already has a compose window open, or if you open two of them, you're liable to clobber one or the other of them. Alternately you can hack the NeXTMail format (it's just a uuencoded compressed tar file with an index and attachments) and write your own object to send this directly to sendmail, thus circumventing Mail.app altogether. The DolphinKit from Dolphin Technologies has just such an object (note that this isn't an ad for DolphinKit and I have no affiliation with Dolphin Technologies, I am just passing on a bit of information). There have been rumors abound that we will be provided a "mail engine" in 4.0 that will do exactly what we want to do. But you know what they say about rumors. Randy
From: joggl@neuro.tuwien.ac.at (Joachim Kainz) Newsgroups: comp.sys.next.programmer Subject: IXRecordTranscription II Date: 23 Dec 1993 17:55:43 GMT Organization: Technical University Vienna, Austria Message-ID: <2fcm2v$j82@email.tuwien.ac.at> Does anyone know how one can use IXRecordTranscription to store records of a class like: > @interface Personality:Record > { > char *familyName; > // ... > Date* dateOfBirth; > // ... > } > // ... > @end where Date is > @interface Date:Object <NXTransport, IXRecordTranscription> > { > unsigned short year; > unsigned char month, > day; > } > > // ... > @end As I said in another posting NeXT claims that the indexing kit writes all 'structured data' when using this protocol. Only, it does not seem to be working. Gruesse aus Wien, Joachim. -- Phone: ++43-1-58801-4132 Fax: ++43-1-504-1580 Email: Joachim.Kainz@neuro.tuwien.ac.at
Newsgroups: comp.sys.next.programmer From: pjoe@charon.muc.de (Peter Eybert) Subject: Re: Headers problems with "errno", 3.2 Message-ID: <1993Dec23.181724.1167@charon.muc.de> Sender: pjoe@charon.muc.de Organization: Peter Eybert References: <CIHnC8.CBv@sounds.wa.com> Date: Thu, 23 Dec 1993 18:17:24 GMT In article <CIHnC8.CBv@sounds.wa.com> BrianW@SoundS.WA.com (Brian Willoughby) writes: > > I suppose everyone knows what "errno" is used for - it's all throughout the man > pages. I even successfully used it under Release 2.X in my applications. Now > I'm having trouble recompiling under 3.2, although I don't know if the story > would have been any different under 3.0 or 3.1, since I didn't try before. > > I know I could probably just cheat and put "extern int errno;" anywhere in my > source, but I would like to find out why I can't get my program to compile > without the following warning: > > Controller.m: In method `getFileInfo:' > Controller.m:345: `errno' undeclared (first use this function) > Controller.m:345: (Each undeclared identifier is reported only once > Controller.m:345: for each function it appears in.) [...] include <errno.h> or <ansi/errno.h>. That defines "extern int errno". Bye. -- ____________________________________________________________ Peter Eybert pjoe@charon.muc.de Appenzellerstr. 123 Tel: +49-89-7593734 81475 Muenchen (NeXTMail welcome) --
Newsgroups: comp.sys.next.programmer From: fozztexx@nvc.cc.ca.us (Chris Osborn) Subject: How to disable hangup on close (TIOCHPCL) for /dev/cufb? Message-ID: <CIIApH.K60@nvc.cc.ca.us> Sender: news@nvc.cc.ca.us Organization: Napa Valley College Date: Thu, 23 Dec 1993 21:08:05 GMT How does one disable the hangup on close of /dev/cufb on NeXT hardware? I don't want it to drop the DTR after I close it, because I want to open /dev/ttydfb right away and still have a carrier. Alternately, how do you convince /dev/cufb to send a SIGHUP when the carrier drops? Preferrably a solution for NeXTSTEP 3.0, but for 3.2 would be fine as well. -- Chris Osborn, Network Administrator Voice: 707 253 3130 Napa Valley College Fax: 707 253 3063 fozztexx@nvc.cc.ca.us fozztexx@groucho.sonoma.edu MIME/NeXTMail ok at both
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Headers problems with "errno", 3.2 Message-ID: <1993Dec24.032356.13670@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <CIHnC8.CBv@sounds.wa.com> Date: Fri, 24 Dec 1993 03:23:56 GMT In article <CIHnC8.CBv@sounds.wa.com> BrianW@SoundS.WA.com (Brian Willoughby) writes: >After looking through the headers, I find that > >#define __STRICT_BSD__ > >will do the trick, NO! NO! NO! __STRICT_BSD__ is defined when compiling with the -bsd option. You should NEVER #define (or -D) it yourself! (Same for __STRICT_ANSI__, _POSIX_SOURCE, etc.) As a general rule, nearly all non-NeXT-specific UNIX source code "off the net" should be compiled with -bsd (this may entail minor additions to Makefiles, usually with -D definitions, but sometimes as part of CFLAGS). FSF/Cygnus "configure" scripts do not work properly under NEXTSTEP. You should do a setenv DEFS -bsd *before* running configure, and will probably _still_ need to fix Makefiles by hand. Older Larry Wall "Configure" scripts generally do not work properly under NEXTSTEP, but the exact tweaks necessary vary among packages. Why, you ask? Simple: the people who write configure scripts make the naive assumption that there is only One Right Way to do things on any given platform. NeXT's C compiler is flexible enough to support several different dialects of C and the standard libraries, as well as Objective-C, C++, and a combination of the two. Accordingly, the header files are heavily #ifdef'ed, and attempts to find out what's supported by grep'ing through .h files or nm's of library archives generate incorrect results. GNU configure does better than Larry Wall's because it runs the C compiler rather than trying to work around it, but without NeXT-specific knowledge, it usually arrives at self-contradictory conclusions and produces something that either fails to compile, compiles with warnings, or compiles but the executable doesn't work properly. -=EPS=-
Newsgroups: alt.3d,comp.sys.next.software,comp.sys.next.programmer,comp.sys.next.misc From: chuck@benatong.com (Charles G. Bennett) Subject: Re: Renderman books? Message-ID: <CIILrK.1n8@benatong.com> Sender: usenet@benatong.com Organization: BenaTong References: <Dec.21.20.09.36.1993.8142@gandalf.rutgers.edu> Date: Fri, 24 Dec 1993 01:06:55 GMT In article <Dec.21.20.09.36.1993.8142@gandalf.rutgers.edu> kheit@gandalf.rutgers.edu (John Kheit) writes: > > Hi All, > I'm looking for a good renderman book that will teach me about the > language, rib files, etc. I want to learn about the whole enchalada :) > Any/All help will be appreciated. > > Later, John The RenderMan Companion by Steve Upstill has a lot of usefull information Published by Addison-Wesley ISBN 0-201-50868-0 Chuck
Newsgroups: comp.sys.next.programmer From: alex@cs.umd.edu (Alex Blakemore) Subject: another source of dbkit info (read the headers) Message-ID: <CIIvKM.257@genoa.com> Sender: alex@genoa.com (Alex Blakemore) Organization: Genoa Software Systems Date: Fri, 24 Dec 1993 04:38:46 GMT The dbkit documentation has always raised more questions than it answered for me, but I never bothered to take a close look at the dbkit header files themselves. After all the methods and instance variables are described in the class documentation. However, unlike the appkit headers, several of the dbkit headers actually contain information in comments - some of which covers details not explained in the class documentation. I just thought I'ld point this out, in case any one else had missed this source of info on dbkit. -- Alex Blakemore alex@cs.umd.edu NeXT mail accepted
Newsgroups: comp.sys.next.programmer From: BrianW@SoundS.WA.com (Brian Willoughby) Subject: SUMMARY: Headers problems with "errno", 3.2 Message-ID: <CIJ8pI.1FK@sounds.wa.com> Sender: brianw@sounds.wa.com (Brian Willoughby) Organization: Sound Consulting, Bellevue, WA, USA References: <1993Dec24.032356.13670@csus.edu> Date: Fri, 24 Dec 1993 09:22:29 GMT Eric P. Scott writes | In article <CIHnC8.CBv@sounds.wa.com> BrianW@SoundS.WA.com | (Brian Willoughby) writes: | >After looking through the headers, I find that | > | >#define __STRICT_BSD__ | > | >will do the trick, | | NO! NO! NO! | | __STRICT_BSD__ is defined when compiling with the -bsd option. | You should NEVER #define (or -D) it yourself! (Same for | __STRICT_ANSI__, _POSIX_SOURCE, etc.) Thanks for the extra info, Eric. Thanks also to the folks who responded saying that I should use <errno.h> instead of <sys/errno.h> I must admit that I had not tried that because "man 2 intro" clearly states to use <sys/errno.h> :-| The helpful responses came from Art Isbell of Cubic Solutions, Matt Watson of NeXT Computer, Inc., and Christopher Lloyd of Yrrid Incorporated. I suppose if you're reading this then you have also seen Peter Eybert's posted response. Thanks to all! -- Brian Willoughby Software Design Engineer, BSEE from NCSU NeXTmail welcome Sound Consulting: Software Design and Development BrianW@SoundS.WA.com Bellevue, WA
From: silbar@cantina.lanl.gov (Dick Silbar) Newsgroups: comp.sys.next.programmer Subject: Re: NeXTMAIL Services Date: 24 Dec 1993 10:50:15 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9312241650.AA02412@cantina.lanl.gov> Randy Tidd writes (ErgoTech Development, Inc.) writes: >Does anyone have a good way to programmatically send NeXTMAIL? The short answer is no. We're only given a limited API to Mail.app (i.e. undocumented and unsupported) which has limitations ... The API allows you to open a compose window and set the from, to, etc fields and to fill the window with text. There's no way to add attachments but you can hack it by putting a filename on the pasteboard and then invoking the Mail/Document service with NXPerformService().... Which leaves me with the question: so how does Joe Freeman's send_attach utility work, if not this way? By the way, I find send_attach VERY useful. It is available on the archives. Dick Silbar WhistleSoft, Inc.
Newsgroups: comp.sys.next.programmer From: andrew@stone.com (Andrew Stone) Subject: Re: NeXTMAIL Services Message-ID: <1993Dec24.163825.617@stone.com> Sender: andrew@stone.com Organization: Stone Design Corp References: <2fcigo$q3p@turtle.mrj.com> Date: Fri, 24 Dec 1993 16:38:25 GMT In article <2fcigo$q3p@turtle.mrj.com> rtidd@turtle.mrj.com (Randy Tidd) writes: ... > This all has several limitations, such as only being able to operate on > a single compose window at once. If the user already has a compose window > open, or if you open two of them, you're liable to clobber one or the other > of them. Actually, this is no longer a problem as of 3.1 where the unofficial API added an extra argument to specify the window, note that when you openSend:, you get the window you'll be writing too. Here's the Mail.msg file we use now: -openSend:(int *)sender; -setTo : (char *) toField inWindow:(int)sender; -setSubject : (char *) subjectField inWindow:(int)sender; -setCc : (char *) ccField inWindow:(int)sender; -setBody : (char *) bodyField inWindow:(int)sender; -deliver:(int)sender; andrew -- ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>|| !! Andrew Stone !! (505) 345-4800 !! !! andrew@stone.com <> Stone Design Corp !! ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>||
Newsgroups: comp.sys.next.programmer From: petcher@howdy.wustl.edu (Donald N. Petcher) Subject: Garfinkel and Mahoney, Step Two?? Message-ID: <1993Dec24.202007.13467@wuphys.wustl.edu> Sender: usenet@wuphys.wustl.edu (USENET) Organization: Physics Dept, Washington U in St Louis Date: Fri, 24 Dec 1993 20:20:07 GMT Back when Garfinkel and Mahoney came out with their first book last spring, there was mention that they planned a sequel to be released around the end of the year. It is now around the end of the year. Has anyone heard anything more about this? Cheers, Don Petcher
Newsgroups: comp.sys.next.bugs,comp.sys.next.programmer,comp.sys.next.software,comp.sys.next.sysadmin From: andrew@stone.com (Andrew Stone) Subject: WARNING: NS 3.2 and DataPhile 2.0 incompatibilities & workarounds Message-ID: <1993Dec24.175209.801@stone.com> Keywords: DataPhile 3.2 Sender: andrew@stone.com Organization: Stone Design Corp Date: Fri, 24 Dec 1993 17:52:09 GMT DataPhile 2.0 has serious problems running on NEXTSTEP 3.2. Since DataPhile 2.0 shipped before NS 3.2, this was totally unpredictable. Even the person who made the change to the IXKIT was unaware of its adverse effects on ALL applications dependent upon the indexing kit. Stone Design and Pangea have isolated the main problem that is responsible for corrupting databases and destroying views. Basically any view or text field or entry list larger than 8K in size will trigger the bug. NeXT is aware of the problem, knows that it is theirs, and we await their fix. In the meantime, we have made available a patch program, PatchDP, for DataPhile 2.0 that allows it to use the 3.1 shared libraries rather than the ones in 3.2. This circumvents most of the problems, but we would still encourage you to take precautions, such as exporting regularly and often, until DataPhile 2.1 is released Q1 94. If you decide to use DP2.0 unpatched on NS3.2, review your databases for the potential problem areas mentioned above before logging out. In particular, the Cities entry list provided in your DataPhileAux.pkg should not be used. Also, follow the instructions for fixing finds in SEARCHING_DP. Basically, we recommend that you should either not upgrade to NS 3.2, or patch DP 2.0. The PatchDP program is available on the Internet at the following ftp site: ftp.cs.unm.edu, in directory pub/stone/DataPhile/NS_3.2-DataPhile_Workarounds.tar.Z sum NS_3.2-DataPhile_Workarounds.tar.Z 28557 65 If you cannot ftp, send email to info@stone.com with the subject "Send Patch - ASCII" or "Send Patch - NeXTMAIL" We are on holiday until January 3, 1994; but we will fill requests for the patch during the holidays. May '94 be Happy and Bug Free! -- ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>|| !! Andrew Stone !! (505) 345-4800 !! !! andrew@stone.com <> Stone Design Corp !! ||<<->>||<<==>>||<<++>>||<<?>>||<<+>>||<<-->>||<<==>>||<<+>>||
Newsgroups: comp.sys.next.programmer From: rolf@rolfhh.hanse.de (Rolf Woehrmann) Subject: Missing MachInspector in ProcessMonitor Message-ID: <1993Dec22.215852.324@rolfhh.hanse.de> Sender: rolf@rolfhh.hanse.de Organization: Rolf Woehrmann, Hamburg, Germany Date: Wed, 22 Dec 93 21:58:52 GMT Hi! Since upgrading to NS 3.1 and 3.2 (black hardware) I miss the MachInspector in the ProcessMonitor. In the documentations for 3.1 and 3.2 it's still mentioned. What's happened? -- Rolf Woehrmann E-mail: rolf@rolfhh.hanse.de Wrangelstrasse 105 B (NeXTmail welcome) 20253 Hamburg Voice: + 49 / 40 / 422 49 10 Germany
From: Randy Antler Newsgroups: comp.sys.next.programmer Subject: Re: Deleting one record from a DBModule Date: 26 Dec 1993 08:02:30 GMT Organization: CERFnet Distribution: usa Message-ID: <2fjgem$iq7@news.cerf.net> References: <1993Dec23.000012.4419@instep.wimsey.bc.ca> In article <1993Dec23.000012.4419@instep.wimsey.bc.ca> glen@instep.wimsey.bc.ca writes: :My DBModule fails to delete if it has only one record loaded. : :Well, actually it deletes from the user interface (and, I presume, :the recordList) but saveChanges: merely produces a BEGIN TRANSACTION :followed by COMMIT TRANSACTION, with nothing between. : :Works fine if 2 or more records are present. : :NextStep 3.2 on black with both 4_0 and 4_6 Sybase Adaptors. :-- :Glen Biagioni :Software Developer :glen@instep.wimsey.bc.ca (small NeXTmail accepted) :604 872-7116 604 872-7125 fax I too have encountered this problem. My NeXTSTEP mentor mentioned that he had similar problems in the past and had to implement an ugly work around. He ended up detecting if there was only one record left in the DBFetchGroup then he inserted a blank record first, then deleted the record in question. Then during inserts, he detected the "blank" record and used that if it was present before adding a new record. I've "bugged" NeXT about this, but no reply as of yet.
Newsgroups: comp.sys.next.programmer From: c4craig@csn.org (Craig H. Anderson) Subject: pdo skeleton? Message-ID: <CInGwF.J1J@csn.org> Sender: news@csn.org (The Daily Planet) Organization: Colorado SuperNet, Inc. Date: Sun, 26 Dec 1993 16:09:51 GMT I would like to experiment with pdo programming on a NS/I 3.2 system. Can someone help me with a skeleton program for vending an object and one for accessing it. It should be standalone with no IB ui code. Following is my first attempt at vending and the error message I got. Craig H. Anderson C4 Network, Inc. 518 17th Street, Suite 1400 Denver, CO 80202 (303) 825-8183 FAX (303) 893-6510 craig@c4.com Error message: before Application new DPS client library error: Could not form connection, host local host Program: #import <appkit/appkit.h> #import <remote/NXConnection.h> #import "Server.h" main () { id server_id; id server_connection; printf ("before Application new\n"); [Application new]; printf ("after Application new\n"); server_id = [[Server alloc] init]; printf ("after Server init\n"); server_connection = [NXConnection registerRoot:server_id withName:"t001_server"]; if (!server_connection) { printf ("NXConnection fail\n"); exit (__LINE__); } printf ("after registerRoot\n"); [server_connection runFromAppKit]; printf ("after runFromAppkit\n"); [NXApp run]; [NXApp free]; }
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: RTF source: Who's using it? Date: 26 Dec 1993 19:38:28 -0000 Organization: me organized? That's a joke! Message-ID: <2fkp7k$1mn@steffi.demon.co.uk> I'm doing some code that involves geometry calculations that vary depending on whether my view is in a flipped state or not. I would like to make my source clearer with the use of diagrams in my code. I trust it's not possible to have diagrams directly in the code (damn shame) but that you can use links to get around this... So, who's using RTF source given the problems relating to parsing in IB? Have you found that it adds to the clarity of your code at all? (Is this being used in a commercial environment anywhere?) I'm still running 3.1 and will upgrade shortly, but how robust is the RTF cpp support in 3.2? Is it likely that this will work if I just grab the NS3.2 cpp and run it in 3.1? -- "Buzzword Development" the new way for the 90's. Promising to deliver but not delivering what you promised.
From: sanguish@digifix.com Newsgroups: comp.sys.next.announce,comp.sys.next.misc,comp.sys.next.sysadmin,comp.sys.next.advocacy,comp.sys.next.hardware,comp.sys.next.software,comp.sys.next.bugs,comp.sys.next.programmer,comp.sys.next.marketplace Subject: Quick Guide to NEXTSTEP information on the Internet Date: 27 Dec 1993 00:13:44 -0500 Organization: Next Announcements Message-ID: <2flqu8$tl@digifix.digifix.com> This post is made weekly, to help 'point' users to more NEXTSTEP information Topics include: comp.sys.next newsgroups related newsgroups comp.sys.next newsgroups mailing list ftp sites NeXTanswers comp.sys.next.* newsgroups -------------------------- 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. Comp.Sys.Next.Announce Announcements of general interest to the NeXT community (new products, FTP submissions, user group meetings, commercial announcements etc.) The NEXTSTEP FAQs are posted here monthly as well. 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. 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. 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. 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. 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!!! Comp.Sys.Next.Programmer Questions and discussions of interest to NEXTSTEP programmers. This is primarily a forum for advanced technical material. The NEXTSTEP programmer FAQs are posted here. 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. Comp.Sys.Next.Software This is a place to talk about [third party] software products that run on NEXTSTEP systems. Comp.Sys.Next.Sysadmin Stuff relating to NeXT system administration issues; in rare cases this will spill over into .programmer or .software. related Newsgroups ------------------ 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. Comp.Lang.Objective-C Technical talk about the Objective-C language. Implemetations discussed include NeXT, Gnu, Stepstone, etc. 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-d next-advocacy-d next-announce-d next-bugs-d next-hardware-d next-marketplace-d next-misc-d next-programmer-d next-software-d next-sysadmin-d (For a full description, send mail saying LISTS to <digestif@antigone.com>). The subscription syntax is essentially the same as LISTSERV's. To subscribe, send a message to <digestif@antigone.com> saying: SUB Listname YourName Example: SUB next-hardware-d John Doe The ftp sites ------------- cs.orst.edu: The main site for North American submissions nova.cc.purdue.edu: Lots of older stuff, but very short on disk space ftp.informatik.uni-muenchen.de: In Germany. ftp.next.com: See the below ftp.next.com and NextAnswers@next.com ------------------------------------- From the document 1000_Help from ftp.next.com 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, or you can transfer them by anonymous ftp. 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 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 <your-address> 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 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. Written by: Eric P. Scott eps@toaster.SFSU.EDU and Scott Anguish sanguish@digifix.com Additions from: Greg Anderson (Greg_Anderson@afs.com) and Michael Pizolato (Michael_Pizolato@afs.com)
Newsgroups: comp.sys.next.programmer From: slfields@metronet.com (Scott Fields) Subject: Macintosh File access problem Keywords: Macintosh, file system, length Organization: Texas Metronet, Internet for the Individual 214-705-2917 (info) Date: Mon, 27 Dec 1993 04:37:03 GMT Message-ID: <CIoFHr.6Iv@metronet.com> The Macintosh file system has a 32 filename length limitation. The NeXT OS recognizes this and prevents you from specifying a file with a name greater than 32 bytes. The problem occurs when you want to access a resource section of a file with the ".#rsrc#" suffix with a file name that is close to 32 bytes. You can not GET to the resource section, since the NeXT OS sees you trying to reference a file with a name greater than 32 bytes. How do you get around this? If you have an answer, please email to me here at slfields@metronet.com Thanks.
Newsgroups: comp.sys.next.programmer From: slfields@metronet.com (Scott Fields) Subject: Byte ordering in relation to file types Organization: Texas Metronet, Internet for the Individual 214-705-2917 (info) Date: Mon, 27 Dec 1993 04:41:02 GMT Message-ID: <CIoFoF.6rv@metronet.com> I am working on a program to read integer data from a binary file that will be big-endian format. I want the program to work on both black and white NS hardware. I am not sure but I think a typed stream will handle what I am looking for. I don't have a Intel machine to test this on, so I would appreciate any comments from someone who has tackled this before. slfields@metronet.com Thanks.
Newsgroups: comp.sys.next.programmer From: c4craig@csn.org (Craig Anderson) Subject: Re: pdo skeleton? Message-ID: <CIops3.BAy@csn.org> Sender: news@csn.org (The Daily Planet) Organization: Colorado SuperNet, Inc. References: <CInGwF.J1J@csn.org> Date: Mon, 27 Dec 1993 08:19:15 GMT I expect to continue this thread with some newbie Distributed Object/PDO questions, so thanks for your help and patience. After some helpfull email I fixed this first problem by removing the Application/NXApp code and doing [server_connection run]. I am now stumped on how to set up the client code. Would it be [proxy_id run] ? I will apologize that a lot of my attempts are being done over modem from home without the NS box or NS docs. I wrote Craig H. Anderson (c4craig@csn.org) wrote: : I would like to experiment with pdo programming on a NS/I 3.2 system. : Can someone help me with a skeleton program for vending an object : and one for accessing it. It should be standalone with no IB ui code. : Following is my first attempt at vending and the error message I got. (Code sample deleted, see previous post) Craig H. Anderson C4 Network, Inc. 518 17th Street, Suite 1400 Denver, CO 80202 (303) 825-8183 FAX (303) 893-6510 craig@c4.com
Newsgroups: comp.sys.next.programmer Subject: Garfinkel/Mahoney book for v3.2 Message-ID: <2fcjt0$b8b@kasey.umkc.edu> From: azahid@sparc1.cstp.umkc.edu (Abbasi Zahid) Date: 23 Dec 1993 17:18:24 GMT Distribution: world Organization: University of Missouri Kansas City Originator: azahid@sparc1 I bought the book recently, but was wondering if there will a new edition to support the v3.2. -- Zahid Abbasi Computer Science and Telecomm. Program, Univ. Of Missouri, Kansas City.
Newsgroups: comp.sys.next.programmer From: titmouse!bshirley (C. William Shirley) Subject: Arrow keys, how *should* i find them Message-ID: <1993Dec27.041925.15876@gleap.jpunix.com> Sender: bshirley@gleap.jpunix.com Organization: The Republic of Texas Date: Mon, 27 Dec 1993 04:19:25 GMT Well, I've never messed with key events too much before. I searched around a bit (in the docs and in the headers) and couldn't find any #defines for key strokes (that didn't look hardware specific). So at the risk of looking stupid, I'm gonna open my mouth. This is how I've coded it to work. How *should* it be writen?! - keyDown:(NXEvent *)event { // deplorable hardcode to follow... switch (event->data.key.charCode) { case 172: //left break; case 173: //up break; case 174: //right break; case 175: //down break; default: // not an arrow key } //... } thanks for your insights/experience, -bill -- Home: BShirley@GLeap.sccsi.com Houston Work: Bill_Shirley@atg.WilTel.com v713.364.4124
Newsgroups: comp.sys.next.programmer From: serge@dadofsam.Princeton.EDU Subject: library routines Message-ID: <1993Dec27.165130.28487@Princeton.EDU> Originator: news@nimaster Keywords: env setenv library ar Sender: news@Princeton.EDU (USENET News System) Organization: Princeton University Distribution: unlimited Date: Mon, 27 Dec 1993 16:51:30 GMT Anybody know where I can get Next (3.1 or source) versions of the following library routines: setsid tgetent setenv getent getstr They're referenced by a telnetd I picked up off the net. Thanks, Serge J. Goldstein Next SysAdmin Princeton University CIT
Newsgroups: comp.sys.next.programmer From: jaime@afs.com (Jaime Guerrero) Subject: Re: When do _you_ use exceptions? Message-ID: <1993Dec27.171521.304@afs.com> Sender: jaime@afs.com References: <1993Dec22.131714.535@aplki.toppoint.de> Date: Mon, 27 Dec 1993 17:15:21 GMT In article <2f86pc$g8@steffi.demon.co.uk> robert@steffi.demon.co.uk (Robert Nicholson) writes: > Exceptions can provide a very elegant form of error handling, some > what more flexible than [return nil] so I was wondering under what > circumstances is it common to use exception handling? Exceptions are the only reasonable way to return from a function or method call when a value cannot be returned. For example, consider a method such as "(BOOL)isFemale:(const char *)name". If the specified name does not exist, this function cannot return ANY value, because neither YES nor NO is correct; the correct result is *unknown*, which is inexpressible in a BOOL. So, it raises an exception which allows it to return without either a YES or NO value. Some people will argue that *any* function or method subject to failure *must* be able to represent that failure condition in its return value. But by employing exception handling, you can allow a function or method to be declared with a natural and simple return value interface, and take care of the truly exceptional cases with handlers, which provide an alternate return path of execution. This is particularly valuable when such functions or methods are typically embedded inside other function calls or messages, where the testing of failure would impede readability and simplicity. Consider: - (BOOL)isFemale:(const char *)name { id emp; emp= [x employeeNamed:name]; if ( emp == nil ) NX_RAISE( NOT_FOUND, "not found", NULL ); return [emp isFemale]; } - someMethod { NX_DURING // note how simple and natural this statement is, directly using BOOL type if ( [self isFemale:"Fred"] ) printf( "sex= Female" ); else printf( "sex= Male" ); NX_HANDLER printf( "'Fred' is not an employee\n" ); NX_ENDHANDLER } Over: typedef enum // must introduce a new data type that adds an error value { male, female, unknown } sexOrStatusCode; - (sexOrStatusCode)isFemale:(const char *)name { id emp; emp= [x employeeNamed:name]; if ( emp == nil ) return unknown; return [emp isFemale] ? female : male; } - someMethod { sexOrStatusCode status; // note clumsy use of special type and inability to directly use data type status= [self isFemale:"Fred"]; if ( status == unknown ) printf( "'Fred' is not an employee\n" ); else if ( status == female ) printf( "sex= Female" ); else printf( "sex= Male" ); } Note the clumsy need to create a new 3-state sex type to allow indication of failure. This type is only used in this context; actual sex variables are simple BOOLs because that type represents any sex completely. To answer your question, We use the exception handling facility extensively in our generic data container classes, which can contain data of any intrinsic C type. Unlike NeXT's Cell, however, if you ask for a value, i.e, the -(int)intValue, and the container contains a value inexpressible in that type, i.e. a large double, it raises an exception rather than returning an erroneous truncation. This is because the container's type, i.e. double, simply cannot be expressed as the requested type, i.e. an int, so the request must fail without returning. Likewise if you ask for a numeric value and the container contains a non-numeric string, an exception is raised because there is no true numeric value of the string. NeXT's Cell returns 0 in this case, but that is wrong because clearly there is no numeric value of "abc"- it is not a number! The use of exceptions can greatly simplify the readability of code, and allow much more natural use of function and method calls, and avoid the messy need to reserve part of a data range or create new types for failure indication. -- Jaime Guerrero "Verbing weirds language." Anderson Financial Systems Inc. Springhouse, Pennsylvania, USA jaime@afs.com [NeXTmail ok]
Newsgroups: comp.sys.next.programmer From: c4craig@csn.org (Craig Anderson) Subject: Re: pdo skeleton? Message-ID: <CIpK5M.GA0@csn.org> Sender: news@csn.org (The Daily Planet) Organization: Colorado SuperNet, Inc. References: <CInGwF.J1J@csn.org> Date: Mon, 27 Dec 1993 19:15:21 GMT Here is a code fragment from my first successfull attempt at the client side: All the protocol methods except register_client are oneway. I am interested in getting asynchronous responses from the server. The what_is_count method in the server sends a oneway message back to client_id - IT WORKS! I still have a problem with how to run the client connection. The goal is to have client programs using PDO on HPUX and Solaris with a TCL/TK user interface and asynchronous calls from the server to the client methods. Any ideas? client_id = [[Client alloc] init]; server_proxy = [NXConnection connectToName:"t001_server" ]; [server_proxy setProtocolForProxy:@protocol(Server_proto)]; client_proxy = [server_proxy register_client:client_id]; my_connection = [server_proxy connectionForProxy]; [my_connection runInNewThread]; [server_proxy what_is_count:client_id]; Craig H. Anderson C4 Network, Inc. 518 17th Street, Suite 1400 Denver, CO 80202 (303) 825-8183 FAX (303) 893-6510 c4craig@csn.org
From: slwdz@cc.usu.edu Newsgroups: comp.lang.objective-c,comp.sys.next.programmer Subject: New OOP/OOD book Message-ID: <1993Dec27.142532.6705@cc.usu.edu> Date: 27 Dec 93 14:25:32 MDT Organization: Utah State University I just purchased a new book on OOP that I have found to be quite good. I thought someone else might find it useful. Here is the hard info on the book: Title: Object-Oriented Development, The Fusion Method Authors: Derek Coleman, Patrick Arnold, Stephanie Bodoff, Chris Dollin, Helena Gilchrist, Fiona Hayes, and Paul Jeremaes Publisher: Prentice Hall (C) 1994 ISBN: 0-13-338823-9 Price: 37.00 Pages: 313 I purchased this book from Computer Literacy Books, from thier Fall/Winter catalog. Thier order number is BT531923. Book Flap: Industrial software developers have recognized the need for a systematic, practical approach to the software development process. The Fusion method integrates and extends the best features of the most successful object-oriented approaches: OMT/Rumbaugh, Booch, CRC, and Objectory, providing a more direct route through object-oriented analysis and design to implementation. In Object-Oriented Development: The Fusion Method, the authors, a team of highly respected software engineers and researchers, show, step-by-step, how to make object-oriented methods understandable, manageable, and usable. The book features: o A self contained reference providing the necessary information to use Fusion on a real software project, including a summary of all process steps, a notation summary, and a manual for all notation syntax and semantics. o A realistic case study that clearly demonstrates how the method can be applied to real-world software projects. o How to effectively introduce object-oriented analysis and design on real projects, and how the Fusion method can improve the management of projects in a step-by-step, practical presentation. o A unique summary and assessment of leading object-oriented methods (OMT/Rumbaugh, Booch, CRC, and Objectory). The authors explain how Fusion relates to these important methods and the rationale behind it. -End of flap- The book starts from the beginning, not assuming that you know very much about OOP. Some experience would be helpful, but this book would even be good for someone that knows nothing about OOP. It describes how OOP differs from traditional programming, and what the benefits of OOP are. This book describes the methods for "Analysis, which uncovers the objects and classes in the system, describes relationships, and defines the operations that the system can perform", "Design, which decides how to represent the system operations by the interactions of related objects and how those objects gain access to each other.", and "Implementation, which encodes the design into a programming language." This book does not cover the available OOP languages, just the processes to take to get to coding. It is very well written and understandable, with good illustrations and examples. In general, I recommend it to anyone currently doing OOP programming, or even thinking about it. (I have no affiliation with the authors or publisher, I just like the book.) Regards, John Zollinger Programmer/Analyst Moore Business Communication Services slwdz@cc.usu.edu
From: haker@whitewater.chem.wisc.edu (M Haker) Newsgroups: comp.sys.next.bugs,comp.sys.next.programmer Subject: DriverKit and out-of-line messaging:still causing problems Date: 28 Dec 1993 01:50:02 GMT Organization: Division of Information Technology Message-ID: <2fo3ca$i7@news.doit.wisc.edu> Hello all again, I've got a functioning 3.2 driver for an Analog to Digital data aquisition (DAQ) board, or so I thought. The driver functions asyncronously. A user control/monitor program connects to the driver, sends it a mach_port on which it will receive data blocks, configures the driver for a DAQ session, arms the board for external triggers, then launches a thread to sit on the data port waiting for incoming messages of dataBlocks or status messages. My current problem is that no matter how I setup my mach message, for some reason it only maps the first page (8192 bytes) of my drivers data buffer into my user program. And sometimes it fails to map the buffer even though the msg_send was sucessful. I didn't realize I had a problem until I got past the simple tests and really gave my driver a moderate DAQ task (a single trigger block of 64kb of data in 1 sec). QUESTIONS: 1) Does the msg_simple=FALSE and msg_type_inline=FALSE handle all the details of mapping the vm pages between the two tasks, or do you have to also use the vm_write command to do the mapping as in the /NextDeveloper/Examples/Unix/LKSOutOfLineData example? Mine seemed to work fine up to a single vm page without any vm_write or vm_read, and it doesn't seem to solve this problem. 2) Are out-of-line data blocks limited to single vm pages, or can you out-of-line a pointer to as big a region as can be allocated? 3) Does the msg_type_name and msg_type_size fields in the msg_type_t type really do anything special, or could you always use MSG_TYPE_BYTE, 8 and just adjust the msg_type_number to correspond to the number of bytes in a data block? 4) Is there anything special about the KernelIOTask in regard to this between task mapping of vm regions? Here's how my driver allocates it's data buffer: (vm_allocate also worked) r = vm_statistics(kern_serv_kernel_task_port(), &vm_stats); threadData->bufferSize = threadData->samplesPerTrigger * sizeof(unsigned short); numPages = (threadData->bufferSize)/(vm_stats.pagesize)+2; IOLog(" ORIGbufferSize=%d numPages=%d\n" ,threadData->bufferSize,numPages); threadData->bufferSize = numPages * vm_stats.pagesize; IOLog(" NEWbufferSize=%d\n",threadData->bufferSize); threadData->mallocPtr = IOMalloc(threadData->bufferSize); if(!IOIsAligned(threadData->mallocPtr, vm_stats.pagesize)) { IOLog(" buffer not page aligned\n"); threadData->dataBuffer = IOAlign(unsigned short*, threadData->mallocPtr, vm_stats.pagesize); } else { IOLog(" buffer is already aligned\n"); threadData->dataBuffer = threadData->mallocPtr; } IOLog(" allocated buffer %d\n",(int)threadData->dataBuffer); here is the message structure I'm using: typedef struct { msg_header_t header; msg_type_t t1; int frameNum; int dataCount; /* No. of shorts in *data */ msg_type_t t2; unsigned short *data; } data_msg_t; and here is the code for creating the message and sending it out: dmsg->header.msg_type = MSG_TYPE_NORMAL; dmsg->header.msg_local_port = NULL; dmsg->header.msg_remote_port = threadData->dataPort; dmsg->header.msg_id = msgID; dmsg->header.msg_size = sizeof(data_msg_t); dmsg->t1.msg_type_name = MSG_TYPE_INTEGER_32; dmsg->t1.msg_type_size = 32; dmsg->t1.msg_type_number = 2; dmsg->t1.msg_type_inline = TRUE; dmsg->t1.msg_type_longform = FALSE; dmsg->t1.msg_type_deallocate = FALSE; dmsg->frameNum = threadData->frameNum; dmsg->dataCount = threadData->dataCount; if(msgID==DATA_BLOCK) { dmsg->header.msg_simple = FALSE; dmsg->t2.msg_type_name = MSG_TYPE_INTEGER_16; dmsg->t2.msg_type_size = 16; dmsg->t2.msg_type_number = threadData->dataCount; dmsg->t2.msg_type_inline = FALSE; dmsg->t2.msg_type_longform = FALSE; dmsg->t2.msg_type_deallocate = FALSE; dmsg->data = threadData->dataBuffer; } else { dmsg->header.msg_simple = TRUE; } r= msg_send((msg_header_t*)dmsg, MSG_OPTION_NONE,0); Thanks for any help, and please email responses. Michael Haker dept. Chemistry, UW-Madison haker@whitewater.chem.wisc.edu
Newsgroups: comp.sys.next.programmer From: eps@futon.SFSU.EDU (Eric P. Scott) Subject: Re: Byte ordering in relation to file types Message-ID: <1993Dec28.024451.20224@csus.edu> Sender: news@csus.edu Organization: San Francisco State University References: <CIoFoF.6rv@metronet.com> Date: Tue, 28 Dec 1993 02:44:51 GMT In article <CIoFoF.6rv@metronet.com> slfields@metronet.com (Scott Fields) writes: >I am working on a program to read integer data from a binary file >that will be big-endian format. I want the program to work on both >black and white NS hardware. I am not sure but I think a typed stream >will handle what I am looking for. Are you responsible for creating this binary file, or is it given to you in some arbitrary format you're expected to decipher? \ your code creates | you're stuck with | \ this binary file | arbitrary data | +-------------------+-------------------+ NEXTSTEP | Typed Stream | See <architecture/| specific | |byte_order.h> | ---------+-------------------+-------------------+ portable | XDR | ntohl(), ntohs(), | approach | | htonl(), ntons() | ---------+-------------------+-------------------+ -=EPS=-
From: rgc@wam.umd.edu (Ross Garrett Cutler) Newsgroups: comp.sys.next.programmer Subject: Color syntax highlighting Date: 28 Dec 1993 11:18:53 GMT Organization: University of Maryland, College Park Message-ID: <2fp4mu$knk@cville-srv.wam.umd.edu> Are there any utilities to allow me to do color syntax highlighting in Edit? Since NS 3.2's cc now supports RTF, I'd like to use a filter to automatically bold the keywords and italicize the comments. Has anyone already done this? Thanks, Ross. -- Ross Cutler University of Maryland, College Park Internet: rgc@wam.umd.edu
From: t146678@lehtori.cc.tut.fi (Tuominen Juha) Newsgroups: comp.sys.next.programmer Subject: How to change controls in a window Date: 28 Dec 1993 13:24:24 +0200 Organization: Tampere University of Technology, Computing Centre Distribution: world Message-ID: <2fp518$okp@cc.tut.fi> I was wondering how to change controls in a window like IB does in the inspector window? I mean when you choose a new item from the pulldown menu the contents of the inspector window changes and new controls (buttons, lists etc.) come up. How to do this? I tried to do it so that for each different contents there is a separate window and my program changes the whole window when user chooses a new item from a pulldown menu, but that seems to be waste of resources... Btw, I'm still using ns2.1, consider that when you answer. I don't know if there are some new features in 3.x version of IB, but 2.1 IB doesn't seem to support that technique - at least not directly. -- Doctor, doctor! I suck. You've gotta help me.
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: More on RTF source Date: 28 Dec 1993 13:17:19 -0000 Organization: me organized? That's a joke! Message-ID: <2fpbkv$1dg@steffi.demon.co.uk> Some of you may already receive this thru email. Hello and thank you to the people who answered my queries concerning using RTF source. I'm playing with the idea at the moment, I like the ability to drop a link marker next to a #include instead of having to go thru project builder to find a header. I don't always command-click my classes :-) This was discussed at considerable length a while ago when Witel released their changed cpp to allow this (I think Charles was responsible for this). Now that NeXT have added support for this directly it would seem that they intend to support it? By this I mean the following. Currently I'm still using 3.1 and Edit, once you make an ASCII file RTF thru Format->Text->Make RTF will save the file as *.m.rtf which means I have to explicitly rename my file before PB will recognise it as a valid class. How is this in 3.2? Is .m.rtf a recognised class extension thru the Makefiles and PB's fileTypes or can Edit save without this extension (the first time you save)? Given the _minor_ hiccup that IB doesn't parse RTF headers have any of you decided not to use RTF in headers and confine it's use to implementation files only? What fonts do you use as your main font to code in? (Still Ohlfs Medium 10?) How are you utilizing RTF in your source? Emphasis? Diagrams? etc etc? I'd be happy to put together some good examples showing how RTF can really help and perhaps increase the following of this "feature" -- "Buzzword Development" the new way for the 90's. Promising to deliver but not delivering what you promised.
From: rgc@wam.umd.edu (Ross Garrett Cutler) Newsgroups: comp.sys.next.programmer Subject: Re: More on RTF source Date: 28 Dec 1993 14:50:10 GMT Organization: University of Maryland College Park Message-ID: <2fph32$nfr@cville-srv.wam.umd.edu> References: <2fpbkv$1dg@steffi.demon.co.uk> Robert Nicholson (robert@steffi.demon.co.uk) wrote: : Some of you may already receive this thru email. : Hello and thank you to the people who answered my queries concerning : using RTF source. : I'm playing with the idea at the moment, I like the ability to drop a : link marker next to a #include instead of having to go thru project : builder to find a header. I don't always command-click my classes :-) : This was discussed at considerable length a while ago when Witel : released their changed cpp to allow this (I think Charles was : responsible for this). Now that NeXT have added support for this : directly it would seem that they intend to support it? : By this I mean the following. Currently I'm still using 3.1 and Edit, : once you make an ASCII file RTF thru Format->Text->Make RTF will save : the file as *.m.rtf which means I have to explicitly rename my file : before PB will recognise it as a valid class. : How is this in 3.2? Is .m.rtf a recognised class extension thru the : Makefiles and PB's fileTypes or can Edit save without this extension : (the first time you save)? You can save a RTF *.m file as *.m in 3.2. : Given the _minor_ hiccup that IB doesn't parse RTF headers have any of : you decided not to use RTF in headers and confine it's use to : implementation files only? : What fonts do you use as your main font to code in? (Still Ohlfs : Medium 10?) : How are you utilizing RTF in your source? Emphasis? Diagrams? etc : etc? I use RTF for links and color syntax highlighting. I'm looking for a good filter to do the latter (looks like I'll need to write one). Ross.
Newsgroups: comp.sys.next.programmer From: mbarnes@world.std.com (michael j barnes) Subject: Changing browser cell sizes Message-ID: <CIr6oA.M8n@world.std.com> Organization: The World Public Access UNIX, Brookline, MA Distribution: USA Date: Tue, 28 Dec 1993 16:19:21 GMT I am experimenting with changing font sizes in NXBrowsers. When I make the font size very large, the text is cut off in the cell. I have tried setting the cell size through the matrix setCellSize method. This works fine once the matrix has been loaded, but has no effect when called withing the browser:fillMatrix:inColumn method. Is it possible to set the size if a browser sell when it is loaded? Thanks in advance.
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Re: Changing browser cell sizes Date: 28 Dec 1993 16:45:22 -0000 Organization: me organized? That's a joke! Distribution: USA Message-ID: <2fpnr2$15n@steffi.demon.co.uk> References: <CIr6oA.M8n@world.std.com> mbarnes@world.std.com (michael j barnes) wrote >I am experimenting with changing font sizes in NXBrowsers. When >I make the font size very large, the text is cut off in the cell. >I have tried setting the cell size through the matrix setCellSize >method. This works fine once the matrix has been loaded, but >has no effect when called withing the browser:fillMatrix:inColumn >method. Is it possible to set the size if a browser sell when it >is loaded? Thanks in advance. > When you want to resize an NXBrowserCell's you should do this. Subclass NXBrowserCell override calcCellSize to calculate the correct size for your cell. - calcCellSize:(NXSize *)ts inRect:(const NXRect *)r { [super calcCellSize:ts inRect:r]; if (icon) { NXSize iconSize; [icon getSize:&iconSize]; ts->height = MAX(ts->height,iconSize.height); ts->width += (iconSize.width + IMAGE_MARGIN * 2.0); } return self; } -- "Buzzword Development" the new way for the 90's. Promising to deliver but not delivering what you promised.
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: More on RTF source Message-ID: <1993Dec28.154504.1776@afs.com> Sender: Michael_Pizolato@afs.com References: <2fpbkv$1dg@steffi.demon.co.uk> Date: Tue, 28 Dec 1993 15:45:04 GMT Robert Nicholson writes [queries about using RTF source snipped] Here at AFS we had planned to use RTF source primarily in headers. Our goal was to write headers in such a way as to make them a substitute for separate class documentation. Our header directories would be indexed for Digital Librarian, and you would use the headers for class documentation. This approach would allow us to write and document code in a single step, in the hope that we would wind up with better documented code for ourselves (to improve internal operations) and instant documentation for customers (to save time). I have even gone to the trouble of creating a header file template, designed to look as much as possible like a standard NeXT documentation file, with appropriate stylistic conventions. Implementation files would use RTF primarily to take advantage of links, as the destination of links from the headers and to refer to appropriate files as needed. This would be for convenience only, and would not be mandatory. We have decided not to use RTF in headers in NS3.2 because IB will not parse them. This does not mean that we are disappointed with NeXT's RTF support as it is, just that it's not feasible for us to use it until IB is extended. Shortly before NS3.2 was released, I was in contact with NeXT about the RTF support, and they assured me that the only reason IB did not support RTF was because there wasn't enough time to squeeze it in before the release, and that if the reception was favorable enough then RTF support would be expanded as far as possible in the next release. We'd like to see full RTF support, and we're willing to wait for the next release to get it. Until then we have to do what makes sense for our development shop, so we will hold off on RTF source files for the time being. Thanx, Michael -- Michael_Pizolato@afs.com "Schopenhauer's not as optimistic as Nietzsche, NeXTMail accepted but he makes up for it by being less cheerful than Kierkegaard." - Kim Pizolato
From: slwdz@cc.usu.edu Newsgroups: comp.sys.next.programmer Subject: How do I find the path to my application? Message-ID: <1993Dec28.105453.6722@cc.usu.edu> Date: 28 Dec 93 10:54:53 MDT Organization: Utah State University Hi, I need to find the location (path) of where my app is located when it is started. I used to know how to do this, but I can't find my notes anywhere on how I did it. Surely in Nextstep there is some easy way to do this. I have looked through the NXApp stuff, but there doesn't seem to be a method that will give this info. Any help would be appreciated. John Zollinger slwdz@cc.usu.edu
Newsgroups: comp.sys.next.programmer From: kosmatoo@JSP.UMontreal.CA (Kosmatos Odisseas) Subject: HELP, c++ compile in NS3.0 Message-ID: <CIrBwD.4FD@cc.umontreal.ca> Summary: C++, where are you? Keywords: iostream.h Sender: news@cc.umontreal.ca (Administration de Cnews) Organization: Universite de Montreal Date: Tue, 28 Dec 1993 18:12:12 GMT As much as I'd like to work with Objective C, for the moment i need to write something in C++. I'd like to compile it on my NeXTCube with NS3.0. I write a simple block of code that inputs and outputs numbers with the 'cin' and 'cout' that i just learned from a book :-) and I simply need to include "iostream.h". So... I figure there MUST be a c++ compiler in my next's 345meg hd. Yes, there appears to be but It can never find "iostream.h". I hand checked tons of folders all over the place (/usr/lib, /usr/include) and the digital librarian... There are just no C++ include files anywhere. Can anybody help me compile my C++ programs on my NeXT? Thanks. Odi.... P.s.: I use the cc++ script in /bin to compile my .cc file... P.p.s: Here is the simple program that should have easily compiled: // this is a test of c++ #import "iostream.h" main() { int x; cout << "enter a number: "; cin >> x; cout << "You entered: " << x << "\n"; return 0; } -- <-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-> |o Long live o| | Odisseas Kosmatos email: kosmatoo@jsp.umontreal.ca | |o NeXTstep! o| <-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-v-> "The force is used for knowledge and defense. Never for attack." --Yoda
Newsgroups: comp.sys.next.programmer From: willi@infoman.com Subject: WANTED: NEXTSTEP EXPERIENCED SOFTWARE TALENT Message-ID: <1993Dec23.213953.3121@infoman.com> Sender: root@infoman.com (Operator) Organization: Information Management Inc. Date: Thu, 23 Dec 1993 21:39:53 GMT Keywords: jobs Reply-To: willi@infoman.com Distribution: world WANTED: NEXTSTEP EXPERIENCED SOFTWARE TALENT Are you interested in working on a NEXTSTEP project? We are seeking 10-15 experienced programmers for a signed/contracted project. The project requires at least two levels of NEXTSTEP expertise - junior and advanced. The positions are full-time employment opportunities with benefits. Salary is negotiable. The project DOES have the flexbility for remote work, which means relocation is not required (it might be possible to work from your garage like other well known industry figures have...). Time is critical, so if you are interested, don't delay -- reply now. For more details contact Steve at Information Management, an Atlanta-based full-service software development firm. steve@infoman.com 404-377-4840
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Re: More on RTF source Date: 28 Dec 1993 19:19:25 -0000 Organization: me organized? That's a joke! Message-ID: <2fq0rt$1lp@steffi.demon.co.uk> References: <2fpbkv$1dg@steffi.demon.co.uk> <1993Dec28.154504.1776@afs.com> Michael_Pizolato@afs.com wrote >Robert Nicholson writes >[queries about using RTF source snipped] >We'd like to see full RTF support, and we're willing to wait for >the next release to get it. Until then we have to do what makes >sense for our development shop, so we will hold off on RTF source >files for the time being. Another area that requires attention is the ability to use rtf directives in Edit app's expansion dictionary. So hopefully somebody in the right place will hear this request. If Edit is to be the primary editor then it needs to allow programmers to express themselves by extending it's support for RTF. I believe that NeXT has the opportunity to, once again, distinguish themselves as the more flexible development platform by adding this support. Cpp already is RTF aware it would be nice if other "apps" were too. Those people who don't mind the IB RTF short commings swear by RTF in source. -- "Buzzword Development" the new way for the 90's. Promising to deliver but not delivering what you promised.
Newsgroups: comp.sys.next.programmer From: robert@ictv.com (Robert Patrick Thille) Subject: A Better development environment was Re: More on RTF source Message-ID: <1993Dec28.203443.28927@ictv.com> Sender: usenet@ictv.com Organization: ICTV, Santa Clara, CA (408) 562-9200 References: <2fq0rt$1lp@steffi.demon.co.uk> Distribution: usa Date: Tue, 28 Dec 1993 20:34:43 GMT Robert Nicholson writes > Michael_Pizolato@afs.com wrote > >Robert Nicholson writes > >[queries about using RTF source snipped] > [MUNCH] > > If Edit is to be the primary editor then it needs to allow programmers > to express themselves by extending it's support for RTF. > > I believe that NeXT has the opportunity to, once again, distinguish > themselves as the more flexible development platform by adding > this support. Cpp already is RTF aware it would be nice if other > "apps" were too. What I'd like to see in Edit and GDB is the ability to view the source and it's assembly side by side, and a fix for the "Frame Number 1 is screwy" problem. Why is it that GDB can't seem to get frame #1 right? Here, GDB shows that runService called convertFrame:ToTimeCode:, but if you look at the source, it doesn't. - (void)runService { id serverConnection = [NXConnection registerRoot:self withName:MEDIACONTROLLER_NAME]; #ifdef PRINT_METHOD fprintf(stderr, "%s:%s\n", [[self class] name], sel_getName(_cmd)); #endif if(serverConnection) { [serverConnection setDelegate: self]; [serverConnection runInNewThread]; /* Here is where it really is, handleSourceEnding is calling select() */ [self handleSourceEnding]; } else { exit(EXIT_FAILURE); } return; } Program received signal 2, Interrupt 0x5007ce2 in select () (gdb) bt #0 0x5007ce2 in select () Frame #1 is WRONG! (Sorry for shouting :-) #1 0x4000 in -[LaserDiscController convertFrame:ToTimeCode:] (self=0xfe4d8, _cmd=0x11e70, frameNumber=1055444, timeCode=0x401fedb "runInNewThread") at LaserDiscController.m:609 #2 0x49ee in -[MediaController runService] (self=0xfe4d8, _cmd=0x1227f) at MediaController.m:246 #3 0xb606 in main (argc=1, argv=0x3fff794) at MediaServer_main.m:18 (gdb) Robert -- Robert Thille NeXTMail robert@ictv.com OK 660 Bair Island Rd #40 Redwood City CA 94063 InNewThread]; /* Here is
From: M.Crawford@dcs.shef.ac.uk (Malcolm Crawford) Newsgroups: comp.sys.next.misc,comp.sys.next.programmer Subject: Sun ADPCM compressed .au files -> .snd ... a hacked solution! Date: 28 Dec 1993 15:31:42 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9312282132.AA01012@dcs.shef.ac.uk> Since there seems to be some requirement for a means of converting Sun ADPCM compressed .au files to NeXT .snd format (i.e. I wanted to listen to something somebody sent me!), I followed up a couple of leads and hacked together the following over the last hour or less! :-) Aside -- the leads I followed were from an FAQ on sound file formats ("FAQ: Audio File Formats") on comp.dsp, it's also apparently on alt.binaries.sounds.misc, alt.binaries.sounds.d, news.answers, and comp.answers. You'll be able to tell from the comments, and indeed from the code :-), that it's a hack, and not very elegant. I'm a bit tired at the moment, and my house was burgled last night (please, no sympathy, just send cash!), so I can't be bothered to neaten it up. It does what I wanted it to do, and so I'm offering it out to anybody else who might want to use it as-is, or to add the nifty features I might normally put in ;-) To make it work, download the file /pub/audio/ccitt-adpcm.tar.Z from ftp.cwi.nl and replace decode.c with the following. I would be grateful, however, if anybody could let me know if it does work with other compression formats (i.e. if I've guessed right!), and what to do on Intel. TTFN, Have fun, mmalcolm. /* * original code taken from decode.c in the suite of programs * from ftp.cwi.nl:/pub/audio/ccitt-adpcm.tar.Z... * it's mostly all still there! * * NB: when you retrieve the package, change * CC = acc -> CC = cc * in the Makefile * * I've added a bit to read the NeXT .snd header, use * that to determine what compression technique was used, * change the header to that required for specified output * format, and write that out. * I've guessed at the compression format conversion: * SND_FORMAT_ADPCM_G721 seems to be right, but this is the only * type I've ben able to test on. * * This has only been tested on one file, on Motorola h/w * I am not sure what will happen to data on Intel h/w: I suspect * that bytes should be swapped... * as you'd probably guess this is experimental and not guaranteed * to do anything you might want it to. Use it at your own risk! * I would, however, be grateful for any feedback, comments, * criticisms etc. so that this can be improved. * * Have fun, * * mmalcolm (Malcolm Crawford) * * SHeffield Auditory Group | Vox : (+44) 742 768555 ext 5569 * Dept. Computer Science | direct : 825569 * Sheffield University | Fax : (+44) 742 780972 * Regent Court | Email: malc@dcs.shef.ac.uk * 211 Portobello Street | (NeXTMail welcome) * Sheffield S1 4DP, UK. | (Read-Receipts discouraged :-) * */ /* * decode.c * * CCITT ADPCM decoder * * Usage : decode [-3|4|5] [-a|u|l] < infile > outfile */ #include <stdio.h> #include "g72x.h" #include <sound/sound.h> #define STDIN_FD 0 #define STDOUT_FD 1 #define STDERR_FD 2 /* * Unpack input codes and pass them back as bytes. * Returns 1 if there is residual input, returns -1 if eof, else returns 0. */ int unpack_input( unsigned char *code, int bits) { static unsigned int in_buffer = 0; static int in_bits = 0; unsigned char in_byte; if (in_bits < bits) { if (fread(&in_byte, sizeof (char), 1, stdin) != 1) { *code = 0; return (-1); } in_buffer |= (in_byte << in_bits); in_bits += 8; } *code = in_buffer & ((1 << bits) - 1); in_buffer >>= bits; in_bits -= bits; return (in_bits > 0); } main(int argc, char **argv) { short sample; unsigned char code; int n; struct g72x_state state; int out_coding; int out_size; int (*dec_routine)(); int dec_bits; SNDSoundStruct *sound; int writeHeader; g72x_init_state(&state); out_coding = AUDIO_ENCODING_ULAW; out_size = sizeof (char); dec_routine = g721_decoder; dec_bits = 4; writeHeader = 1; /* Process encoding argument, if any */ while ((argc > 1) && (argv[1][0] == '-')) { switch (argv[1][1]) { case 'u': out_coding = AUDIO_ENCODING_ULAW; out_size = sizeof (char); break; case 'a': /* NB NeXT cannot play this format */ out_coding = AUDIO_ENCODING_ALAW; out_size = sizeof (char); break; case 'l': out_coding = AUDIO_ENCODING_LINEAR; out_size = sizeof (short); break; case 'n': writeHeader = 0; break; default: fprintf(stderr, "CCITT ADPCM Decoder -- usage:\n"); fprintf(stderr, "\tdecode [-a|u|l] -n < infile > outfile\n"); fprintf(stderr, "where:\n"); fprintf(stderr, "\t-a\tGenerate 8-bit A-law data\n"); fprintf(stderr, "\t-u\tGenerate 8-bit u-law data [default]\n"); fprintf(stderr, "\t-l\tGenerate 16-bit linear PCM data\n"); fprintf(stderr, "\t-n\tonly output data (no header)\n"); exit(1); } argc--; argv++; } /* * read the Sound header to find the compression format */ SNDReadHeader(STDIN_FD, &sound); switch (sound->dataFormat) { case SND_FORMAT_ADPCM_G723_3: dec_routine = g723_24_decoder; dec_bits = 3; break; case SND_FORMAT_ADPCM_G721: dec_routine = g721_decoder; dec_bits = 4; break; case SND_FORMAT_ADPCM_G723_5: dec_routine = g723_40_decoder; dec_bits = 5; break; default: fprintf(stderr, "not a recognised compression format.\nexiting..."); exit(1); } /* * alter the Sound header to reflect required output format */ switch (out_coding) { case AUDIO_ENCODING_ULAW: sound->dataFormat = SND_FORMAT_MULAW_8; break; case AUDIO_ENCODING_ALAW: sound->dataFormat = SND_FORMAT_ALAW_8; break; case AUDIO_ENCODING_LINEAR: sound->dataFormat = SND_FORMAT_LINEAR_16; break; } /* * write the Sound header if necessary */ if (writeHeader) { SNDWriteHeader(STDOUT_FD, sound); } while (unpack_input(&code, dec_bits) >= 0) { sample = (*dec_routine)(code, out_coding, &state); if (out_size == 2) { fwrite(&sample, out_size, 1, stdout); } else { code = (unsigned char)sample; fwrite(&code, out_size, 1, stdout); } } fclose(stdout); }
From: M.Crawford@dcs.shef.ac.uk (Malcolm Crawford) Newsgroups: comp.sys.next.misc,comp.sys.next.programmer Subject: Re: Sun ADPCM compressed .au files -> .snd ... a hacked solution! Date: 28 Dec 1993 16:31:26 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9312282232.AA01044@dcs.shef.ac.uk> Hey, mmalcolm, lazy ratbag... you've got a NEXTSTEP PC: why don't you just test it on Intel yourself?! When you do, you'll find that so long as you add CFLAGS = -O -arch m68k -arch i386 etc. to the Makefile "it just works" on both Motorola and Intel. Get some rest, Have fun, mmalc.
From: M.Crawford@dcs.shef.ac.uk (Malcolm Crawford) Newsgroups: comp.sys.next.misc,comp.sys.next.programmer Subject: Re: Sun ADPCM compressed .au files -> .snd ... a hacked solution! Date: 28 Dec 1993 17:16:41 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9312282317.AA01091@dcs.shef.ac.uk> > you'll find that so long as you add > CFLAGS = -O -arch m68k -arch i386 > etc. to the Makefile "it just works" on both Motorola and Intel. > Wrongo! That only works for mu-law compressed output: if you think about it for a moment you'll realise that for 16-bit linear output you need to also: #include <architecture/byte_order.h> and for the output routine use: while (unpack_input(&code, dec_bits) >= 0) { sample = (*dec_routine)(code, out_coding, &state); if (out_size == 2) { #ifdef __LITTLE_ENDIAN__ /* Swap if this is a little-endian machine. */ sample = NXSwapShort(sample); #endif fwrite(&sample, out_size, 1, stdout); } else { code = (unsigned char)sample; fwrite(&code, out_size, 1, stdout); } } -- you're clearly too tired... GO HOME NOW!! Have fun, mmalc.
From: marcus@ursula.ee.pdx.edu (Marcus Daniels) Newsgroups: comp.sys.next.programmer Subject: Re: More on RTF source Date: 28 Dec 1993 16:00:39 -0800 Message-ID: <2fqhb7$e5j@ursula.ee.pdx.edu> References: <2fpbkv$1dg@steffi.demon.co.uk> <1993Dec28.154504.1776@afs.com> Michael_Pizolato@afs.com (Michael Pizolato) writes: >We'd like to see full RTF support, and we're willing to wait for >the next release to get it. Until then we have to do what makes >sense for our development shop, so we will hold off on RTF source >files for the time being. There are several dumb things about the `RTF support'. 1. Yes, no IB support. 1b. The idea that IB should be `extended' for this kind of obscurity. 1b1. The idea that IB should be tied to a single HLL. (*major* peeve) 2. That RTF (for example) support isn't generously abstracted away from a particular languages preprocessor, so as to give many filtering options. So easy to implement, it makes one wonder what not-nice motivations might be behind this. NeXT is `maturing'. Hackers, the implication is clear. NeXT isn't able or willing to empower developers to do anything but make frumpy DP apps.
Newsgroups: comp.sys.next.programmer From: jfr@aspen.pdh.com (Jon F. Rosen) Subject: isKindOf: and isKindOfClassNamed: Message-ID: <CIrInx.DEu@pdh.com> Sender: news@pdh.com (USENET News Account) Organization: PDH, Inc. Date: Tue, 28 Dec 1993 20:38:21 GMT We have noticed what appears to be an anomaly in the implementation of Object's instance methods -isKindOf: and -isKindOfClassNamed:. The documentation says that Object's instance methods can also be sent to class objects. This is to avoid having to implement two sets of methods. This is a cool. It also gives as a justification the fact that it should be possible for either class or instance objects to determine their position in the class hierarchy. Then, in the -isKindOf: method, it screws this up royally by saying that when sent to a class object, this method returns YES only if the class object argument being checked is the Object class, otherwise it returns NO. Thus, [Window isKindOf:View] returns NO, which is not intuitive at all, whereas [aWindow isKindOf:View] returns YES. However, [Window isKindOf:Object] returns YES which is obvious and probably not very useful (all class objects are kinds of Object so why bother even checking?) Interestingly, -isKindOfClassNamed: works as one would expect (that is, [Window isKindOfClassNamed:"View"] returns YES). Stranger is that the documentation says that isKindOfClassNamed and isKindOf work the SAME except that one takes a class id and the other takes a class string name. Does anyone have any revealing info on why this weird set of rules is applied? My own speculation is that somewhere way back when, they screwed up isKindOf but couldn't really change it because code would break. So isKindOfClassNamed was added to fix the problem for class objects. Any hints? Thanks, Jon
From: dave@truth.asg.arlut.utexas.edu (David Slotnick) Newsgroups: comp.sys.next.programmer Subject: PSsetdash() difficulties Date: 29 Dec 1993 05:16:37 GMT Organization: The University of Texas at Austin, Austin, Texas Message-ID: <2fr3rm$otc@geraldo.cc.utexas.edu> -- *** David Slotnick *** Applied Research Laboratories *** dave@truth.asg.arlut.utexas.edu NeXTmail desired and appreciated
From: dave@truth.asg.arlut.utexas.edu (David Slotnick) Newsgroups: comp.sys.next.programmer Subject: PSsetdash() difficulties Date: 29 Dec 1993 05:22:24 GMT Organization: The University of Texas at Austin, Austin, Texas Message-ID: <2fr46g$p1r@geraldo.cc.utexas.edu> My apologies for the previous empty post. I'm having some trouble getting PSsetdash() to have the desired effect. Regardless of what I pass to this function, my path is still stroke'd as a solid line. I'm drawing the path with DPSDoUserPath(). Could those of you that have used PSsetdash() please send me an instructive (small) chunk of code? -- *** David Slotnick *** Applied Research Laboratories *** dave@truth.asg.arlut.utexas.edu NeXTmail desired and appreciated
From: "James Gaines" <p00378@psilink.com> Newsgroups: comp.sys.next.programmer Subject: How Do I Untar A File? *.???.z Date: Wed, 29 Dec 93 03:00:37 -0600 Organization: GCC Message-ID: <2966237727.6.p00378@psilink.com> Please don't flame me for such a trivial question. I am a friend of James' and he is currently out of town and unable to anser my question. For instance, someone sent me a file which needs to be 'uudecoded' and un-TARred. I have sucessfully completed the uudecoding step. However, on the NeXT black hardware, double-clicking on the file invokes a decompression utility which simply does not work. Sincerely, Pamela
Newsgroups: comp.sys.next.programmer From: jjfeiler@relief.com (John Jay Feiler) Subject: Re: How do I find the path to my application? Message-ID: <CIsFB3.1p0@relief.com> Sender: jjfeiler@relief.com (John Jay Feiler) Organization: Relief Consulting & Development References: <1993Dec28.105453.6722@cc.usu.edu> Date: Wed, 29 Dec 1993 08:23:26 GMT In article <1993Dec28.105453.6722@cc.usu.edu> slwdz@cc.usu.edu writes: > Hi, > > I need to find the location (path) of where my app is located when it is > started. I used to know how to do this, but I can't find my notes anywhere on > how I did it. Surely in Nextstep there is some easy way to do this. I have > looked through the NXApp stuff, but there doesn't seem to be a method that will > give this info. > > Any help would be appreciated. > > John Zollinger > slwdz@cc.usu.edu > [[NXBundle mainBundle] directory] -- John Feiler jjfeiler@relief.com 4926 152nd St. SW NeXTmail Welcome!!! Edmonds, WA 98026-4433 Independent NeXTSTEP Developer --
Newsgroups: comp.sys.next.programmer From: joe@FreemanSoft.com (Joe Freeman) Subject: supplemental help using NXHelpPanel Message-ID: <1993Dec29.024338.1740@FreemanSoft.com> Sender: jfreeman@FreemanSoft.com Organization: FreemanSoft Inc. Distribution: usa Date: Wed, 29 Dec 1993 02:43:38 GMT I posted a question regaurding adding supplemental help to NXHelp panels under 3.0 or later. None of the 10-20 responses had been able to get this to work. So, once again, I ask: Does anyone know how to add supplemental help to NXHelpPanel? I'd like to do this under 3.0 or 3.2. One of the oddities is that the documentation talks about the Help directory in the wrapper but under 3.1/3.2 there is no help dir because compresshelp is run against it. -- Joe Freeman FreemanSoft Inc. A NEXTSTEP software and consulting services company. Electronic Mail: Joe@FreemanSoft.com (NeXT Mail) Voice: 919.783.7033
From: M.Crawford@dcs.shef.ac.uk (Malcolm Crawford) Newsgroups: comp.sys.next.programmer Subject: PSsetdash() difficulties Date: 29 Dec 1993 07:21:16 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9312291322.AA01717@dcs.shef.ac.uk> Hi again Dave, Here's an excerpt from the docs... (ImprovingDrawingPerformance) "Dashed Lines Don't use these. Dashed lines using PSsetdash() are extremely time consuming. Consider using user paths or compositing as an alternative." Now, given your previous message that suggested you need a fast way of drawing paths with > 10000 points, I guess that now might be a time to re-rethink the way you implement this! :-) The docs seem to imply that PSsetdash() doesn't work with User Paths, and I have a gut feeling about why this would be the case, but maybe Glenn could enlighten us again! Have fun, mmalcolm.
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.misc,comp.sys.next.programmer Subject: Survey: NS Programmers->Qualifications? Date: 29 Dec 1993 15:12:41 -0000 Organization: me organized? That's a joke! Message-ID: <2fs6p9$1u5@steffi.demon.co.uk> I would like to survey the current NeXTSTEP programming population in order to determine how many possess tertiary academic qualifications. If you are currently employeed as a NeXTSTEP programmer or are undergoing a research project where you have been given a grant, would you kindly give me a brief summary of any relevant qualifications that you hold. I would also like to hear from those people who are employeed as NeXTSTEP programmers but do not hold any qualifications. If this is the case I'd be interested in knowing what circumstances lead you to attain this position. (Past experience, etc) (This information will remain confidential and people's identities will not be revealed in the final summary) Thank you. -- "Buzzword Development" the new way for the 90's. Promising to deliver but not delivering what you promised.
Newsgroups: comp.sys.next.programmer From: Michael_Pizolato@afs.com (Michael Pizolato) Subject: Re: More on RTF source Message-ID: <1993Dec29.135312.393@afs.com> Sender: Michael_Pizolato@afs.com References: <2fqhb7$e5j@ursula.ee.pdx.edu> Date: Wed, 29 Dec 1993 13:53:12 GMT Marcus Daniels writes >There are several dumb things about the `RTF support'. > > 1. Yes, no IB support. Noted earlier. That was a time constraint - the decision to introduce RTF support came late in the NS3.2 release cycle. > 1b. The idea that IB should be `extended' for this kind of > obscurity. Why not? If, as you note below, stripping down to ascii is abstracted away (that's been on my mind lately in a different context :-), source code could be written in, say, WordPerfect and still compile. I think the ability to have "word processed" source code is extremely valuable. > 1b1. The idea that IB should be tied to a single HLL. (*major* > peeve) Yes, this is true. It's in the nature of IB to be stuck with languages that have dynamic binding (makes supporting C++ difficult), but it shouldn't have to be strictly Objective-C (add Smalltalk, for example). > 2. That RTF (for example) support isn't generously abstracted > away from a particular languages preprocessor, so as to give > many filtering options. So easy to implement, it makes one > wonder what not-nice motivations might be behind this. What kind of not-niceness do you mean? If we agree that RTF (or other advanced format) source code is worthwhile (maybe we don't :-), then isn't extending the tools to take advantage of such enhanced capabilities a good thing? >NeXT is `maturing'. Hackers, the implication is clear. NeXT isn't >able or willing to empower developers to do anything but make >frumpy DP apps. One one hand, that's OK for now, because the vast majority of programs that make money are exactly "frumpy DP apps," and I have to buy a new car this week ;-). On the other hand, if the number and variety of shrinkwrap NEXTSTEP applications reaches critical mass, there will then be a sustainable market for games and other wizzy stuff, which NeXT should be prepared to support. I think it's premature for the second case, but I hope it's in the back of NeXT's collective mind. Thanx, Michael -- Michael_Pizolato@afs.com "Schopenhauer's not as optimistic as Nietzsche, NeXTMail accepted but he makes up for it by being less cheerful than Kierkegaard." - Kim Pizolato
Newsgroups: comp.sys.next.programmer From: drebnord@betenoir.syr.edu (David A. Rebnord) Subject: Getting path of dragged file from Workspace Message-ID: <1993Dec29.101237.484@newstand.syr.edu> Distribution: usa Date: Wed, 29 Dec 93 10:12:37 EST I would like to drag a file icon from WM into my app. The only thing I want my app to do is get the full path for the dragged file icon, much like Terminal does in 3.x. As always, any help will be much appreciated. -- Dave Rebnord | drebnord@betenoir.syr.edu (NeXTmail) Dept. of Mathematics | (315) 443-1585 (voice) Syracuse University | (315) 443-1475 (fax) Syracuse NY 13244-1150 |
From: slwdz@cc.usu.edu Newsgroups: comp.sys.next.programmer Subject: Re: More on RTF source Message-ID: <1993Dec29.100427.6772@cc.usu.edu> Date: 29 Dec 93 10:04:27 MDT References: <2fpbkv$1dg@steffi.demon.co.uk> <1993Dec28.154504.1776@afs.com> <2fq0rt$1lp@steffi.demon.co.uk> Organization: Utah State University > Another area that requires attention is the ability to use rtf > directives in Edit app's expansion dictionary. So hopefully somebody > in the right place will hear this request. > > If Edit is to be the primary editor then it needs to allow programmers > to express themselves by extending it's support for RTF. I would like to see the ability to find and replace RTF text in edit. I would like to be able to search for all of the occurences of "fred" and make them bold, a different font, etc. What you would need is a "plain" string that you are searching for, and then an RTF formatted string that you would want it replaced with. What other RTF extensions would be helpful? John Zollinger slwdz@cc.usu.edu
From: he@engin.swarthmore.edu (Ye He) Newsgroups: comp.sys.next.programmer Subject: HELP!!! Date: 29 Dec 1993 19:44:00 GMT Organization: Swarthmore College, Swarthmore, PA, USA Message-ID: <2fsmm0$jom@larch.cc.swarthmore.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Hi Everyone: There are two bugs in my program that I think have to do with my infamiliarity with NeXTstep. The user can drag icons from a window (local to the application) and drop them anywhere in the other window. This part works fine except the first time I try to execute the program after I have logged in, the accepting window doesn't accept anything. But after I drag an icon NOT local to the app. into the accepting window and release the mouse button, the window recovers and can accept local icons again. I think by dragging a non-local icon into the window I reset some parameter, but I have no idea which one it is. Second, when the accepting window is resized, some of the functions that were working properly screw up. For instance, before the window is resized, a single-click when Control is down would terminate a line-drawing session, but after, nothing can terminate it anymore. I know there are many NS experts out there reading this group. I would really, really appreciate it if any of you can help me out. It would save me a hell lot of time browsing through the doc. Thank you. --Ye
From: annard@theborg.stack.urc.tue.nl (Annard Brouwer) Newsgroups: comp.sys.next.programmer Subject: What has happened to the header-files? Date: 29 Dec 1993 20:45:03 GMT Organization: the Borg Distribution: world Message-ID: <2fsq8f$1gg@theborg.stack.urc.tue.nl> Hello, Just now I wanted to use the umask(2) command in my program. (I'm using NS3.1) The manual page tells me the following: NAME umask - set file creation mode mask SYNOPSIS #include <sys/types.h> #include <sys/stat.h> mode_t umask(mode_t cmask); When I include the header-files mentioned above, the compiler begins complaining about the fact that mode_t is undefined. What? Looking through the indexed header-files with DL I get the following: (excerpt from <bsd/sys/types.h>) #if defined(_POSIX_SOURCE) typedef int ssize_t; typedef int pid_t; typedef unsigned short mode_t; typedef short nlink_t; #endif /* _POSIX_SOURCE */ What is this? I have now defined this type myself, but I guess that this is a dirty hack (from my side). Any help would be appreciated! Thanks very much in advance, Annard -- Give me enough bandwidth and I can transmit the earth. - Annard Brouwer annard@stack.urc.tue.nl (NeXTmail appreciated)
From: annard@theborg.stack.urc.tue.nl (Annard Brouwer) Newsgroups: comp.sys.next.programmer Subject: OpenPanel and creating directories *sigh* Date: 29 Dec 1993 21:11:26 GMT Organization: the Borg Distribution: world Message-ID: <2fsrpu$1ng@theborg.stack.urc.tue.nl> Hello, Well, I guess I'm the 20,000th person to ask this, but before I asked I tried to do it myself. What? Well, the following: I would like to open a directory or let the user create one, if she has the urge. The most convenient method to do this is by using the OpenPanel (IMHO). I tried to write a subclass for OpenPanel and create an instance of my BookmarkOpenPanel with the + setOpenPanelFactory:class (OpenPanel) method. By overriding the - ok:sender (OpenPanel) method I hope to get the behaviour I want. Here's a short excerpt of the preparation (this is not from the subclass of OpenPanel): id openPanel; /* make sure that we create a new instance of the openPanel */ openPanel = [OpenPanel new]; [openPanel free]; [OpenPanel setOpenPanelFactory:BookmarkOpenPanel]; ^ Now here comes the odd bit: the compiler complains of a parse error before BookmarkOpenPanel! It has to do with this line of code, because when I comment it out the file compiles without any trouble... And I do not know what I've done wrong, I've checked and triple-checked, washed the dishes and checked again and I still can't find out what I'm doing wrong. Please help, either by helping me solve this knot or by sending your solution to the general problem stated in the beginning of this article. Thanks a zillion, Annard -- Give me enough bandwidth and I can transmit the earth. - Annard Brouwer annard@stack.urc.tue.nl (NeXTmail appreciated)
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: New Mailing list for RTF users Date: 30 Dec 1993 01:19:47 -0000 Organization: me organized? That's a joke! Message-ID: <2ftabj$4dj@steffi.demon.co.uk> Given the recent interest in RTF source code I've created a mailing list in order to bring these people closer together. The addresses are as follows RTFusers@steffi.demon.co.uk RTFusers-request@steffi.demon.co.uk One thing to note for the adminstrator of next-prog (Dennis). I'm using procmail and procmail's mailing list abilities automatically forward any stray request messages from the main list address to the request address. Procmail will also allow you to set things up so that a new user is automatically added to the list at time of their first message sent to the list. (This is not how things are currently set up though) It also allows for unattended subscription and unsubscription requests. I've also been told that it can automatically weed out duplicate messages to the list. I'm very impressed with procmail :-) -- "Buzzword Development" the new way for the 90's. Promising to deliver but not delivering what you promised.
Newsgroups: comp.sys.next.bugs,comp.sys.next.programmer From: gerben@rna.indiv.nluug.nl Subject: POSIX in 3.2 Message-ID: <1993Dec30.080057.368@rna.indiv.nluug.nl> Sender: gerben@rna.indiv.nluug.nl (Gerben Wierda) Organization: G.R.O.S.S. Date: Thu, 30 Dec 1993 08:00:57 GMT According to a post in comp.soft-sys.nextstep: > "* Building POSIX applications is now supported. To compile POSIX 1003.1 > conforming source, specify the -posix flag to cc. Note that POSIX kernel > interfaces are not supported for NEXTSTEP applications." > Is that compile-time or run-time? I can understand that you cannot mix header file setups. But suppose I make a separate class, which interface does not need -posix (but whose implementation does). Can I use that class in a NS app? If not, than this is as stupid as NT's POSIX: Unusable. -- Gerben Wierda [NeRD:7539] gerben@rna.indiv.nluug.nl "If you don't know where you are going, any road will take you there." From the Talmud(?), rephrased in Lewis Carroll, "Alice in Wonderland".
Newsgroups: comp.sys.next.programmer From: fabien@free.fdn.org (Fabien Roy) Subject: Re: How do I find the path to my application? Message-ID: <1993Dec30.110522.9461@free.fdn.org> Sender: news@free.fdn.org Organization: Fabien Roy Electronic Engineering (F.R.E.E.) - Paris, France. References: <CIsFB3.1p0@relief.com> Date: Thu, 30 Dec 1993 11:05:22 GMT In article <CIsFB3.1p0@relief.com> jjfeiler@relief.com (John Jay Feiler) writes: > In article <1993Dec28.105453.6722@cc.usu.edu> slwdz@cc.usu.edu writes: > > Hi, > > > > I need to find the location (path) of where my app is located when it is > > started. I used to know how to do this, but I can't find my notes anywhere > on > > how I did it. Surely in Nextstep there is some easy way to do this. I > have > > looked through the NXApp stuff, but there doesn't seem to be a method that > will > > give this info. > > > > Any help would be appreciated. > > > > John Zollinger > > slwdz@cc.usu.edu > > > > [[NXBundle mainBundle] directory] > > -- > John Feiler jjfeiler@relief.com > 4926 152nd St. SW NeXTmail Welcome!!! > Edmonds, WA 98026-4433 Independent NeXTSTEP Developer > -- From Librarian: When an application is launched by the Workspace Manager, NXArgv[0] is guaranteed to contain the full pathname of the application's executable file. By stripping the last element from the pathname, an application can obtain the path for the file package where auxiliary files essential to the application are located. Better way :-) --Fabien --------------------------------------------------------------------- Fabien_Roy@free.fdn.org (NextMails accepted) Fabien Roy Electronic Engineering 3 rue ANDRE DANJON, 75019 PARIS, France, Tel: 33 1 4040 0206 Fax: 33 1 4040 0641
From: M.Crawford@dcs.shef.ac.uk (Malcolm Crawford) Newsgroups: comp.sys.next.programmer Subject: OpenPanel and creating directories *sigh* Date: 30 Dec 1993 10:49:18 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9312301650.AA03173@dcs.shef.ac.uk> > Well, I guess I'm the 20,000th person to ask this, but > before I asked I tried to do it myself. What? Well, the > following: I would like to open a directory or let the > user create one, if she has the urge. > The most convenient method to do this is by using the OpenPanel > (IMHO). > Umm, why do you want to create a new directory when *opening* a file? There won't be anything in there to open! You mean you want to be able to create a new directory when *saving* a file? Easy, use SavePanel, it already has this functionality, it works for every application I can think of: e.g. in Edit, save an Untitled document... <Command>s brings up Save panel type in /tmp/Newdir/newFile an AlertPanel comes up telling me /tmp/NewDir doesn't exist, and asks if I want to create it... click <Yes> or hit <Return> file is now saved as /tmp/Newdir/newFile Is this what you wanted?! Have fun, mmalcolm.
From: silbar@cantina.lanl.gov (Dick Silbar) Newsgroups: comp.sys.next.programmer Subject: The man/man bug fix (Was: Can't access man pages ...) Date: 30 Dec 1993 10:51:46 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9312301652.AA04974@cantina.lanl.gov> Malcolm Crawford, after accusing a fellow Brit of not getting enough sleep, commented: Note that there *is* a (documented) bug in the installation of *3.2*: some of the man pages are installed in /usr/man/man instead of /usr/man/man1 -- as root you have to: cd /usr/man mv man/* man1 rmdir man rm whatis .index.store ixbuild -fsv -LEnglish . makewhatis . Note the -s flag on ixbuld: this is what makes the index *static*: if you don't include this DL will assume the contents of the directories have changed and will continue to search the individual files after the initial search using the index... First, just where IS this documented? Couldn't find it in the release notes. Malcolm's procedure actually caused me some problems. What WOULD have worked better for me is cd /usr/man ==> mv man/man/* man1 rmdir man rm whatis .index.store ixbuild -fsv -LEnglish . ==> /usr/lib/makewhatis . (You don't want to know what I actually did to recover from this, but it wasn't anything serious.) Dick Silbar WhistleSoft, Inc.
From: M.Crawford@dcs.shef.ac.uk (Malcolm Crawford) Newsgroups: comp.sys.next.programmer Subject: Re: The man/man bug fix (Was: Can't access man pages ...) Date: 30 Dec 1993 11:08:40 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9312301709.AA03195@dcs.shef.ac.uk> > Malcolm Crawford, after accusing a fellow Brit of not getting enough > sleep, > I did include a smiley! I usually get on very well with Paul, who has been an excellent source of informantion for a long time, and a delightful host on many occasions. :-) > Malcolm's procedure actually caused me some problems. What WOULD > have worked better for me is > Umm, it worked OK for me, and this fix is copied directly from the developer Release Notes... Is it possible you made a mistake somewhere...? e.g. cd /usr/man [ did you just cd /usr ? ] ==> mv man/man/* man1 rmdir man Surely this would generate a rmdir: man: Directory not empty error, since man/man would still exist...? > Note the -s flag on ixbuld: this is what makes the > index *static*: if you don't include this DL will assume > the contents of the directories have changed and will > continue to search the individual files after the > initial search using the index... > > First, just where IS this documented? Couldn't find it > in the release notes. > Ah, got me there, it isn't! cf: From: Matt_Watson@NeXT.COM (Matt Watson) Date: Thu, 23 Dec 93 09:18:37 -0800 To: M.Crawford Subject: Re: Digital Librarian oddity in 3.2? In comp.sys.next.software article <9312231649.AA12711@dcs.shef.ac.uk> you wrote: [... stuff about the fact that if you index a directory with DL under 3.2, even though it's indexed and DL uses the index to do an initial fast search, it then continues to search through each of the files individually ... mmalc 20dec93] You have to index with ixbuild -s (at least) if you want "static" indexes. (DL doesn't do this if you use the target inspector to index) Otherwise, DL thinks that the source may have changed, so after it searches the index, it goes through all the source files... This behaviour is counter-intuitive, so I've filed a bug against it. matt. -- Matt Watson NeXT Computer, Inc. Have fun, mmalcolm.
From: M.Crawford@dcs.shef.ac.uk (Malcolm Crawford) Newsgroups: comp.sys.next.programmer Subject: Re: The man/man bug fix (Was: Can't access man pages ...) Date: 30 Dec 1993 11:32:53 -0600 Organization: UTexas Mail-to-News Gateway Sender: daemon@cs.utexas.edu Message-ID: <9312301733.AA03220@dcs.shef.ac.uk> I think I may have misunderstood a little... > > First, just where IS this documented? Couldn't find it in the > > release notes. > > this fix is copied directly from the developer Release Notes... > The *Supplemental* Release Notes, that is, i.e. the paper copies, it's not on-line. Have fun, mmalcolm.
Newsgroups: comp.sys.next.programmer From: horst@il.us.swissbank.com (Ted Horst) Subject: Saving PS to a file Message-ID: <1993Dec30.173006.10179@il.us.swissbank.com> Keywords: printing PostScript PrintPanel Sender: root@il.us.swissbank.com (Operator) Organization: Swiss Bank Corporation CM&T Division Date: Thu, 30 Dec 1993 17:30:06 GMT I am trying to save the output of printPSCode: to a file without using the PrintPanel. Has anyone gotten this to work ? I have some hacks that work unless the button that was pushed on the PrintPanel was Preview. I can show these hacks, but I am sure that there must be a blessed way of doing this, or at least some better hacks than I have. If anyone has done this or has any clues, please let me know. I will post a summary as soon as I get something that works. Thanks, Ted Horst <ted@singlesrc.com> Single Source Systems, Inc.
From: robert@steffi.demon.co.uk (Robert Nicholson) Newsgroups: comp.sys.next.programmer Subject: Re: OpenPanel and creating directories *sigh* Date: 30 Dec 1993 19:02:38 -0000 Organization: me organized? That's a joke! Message-ID: <2fv8ke$1as@steffi.demon.co.uk> References: <9312301650.AA03173@dcs.shef.ac.uk> M.Crawford@dcs.shef.ac.uk wrote >Umm, why do you want to create a new directory when *opening* a file? >There won't be anything in there to open! > >You mean you want to be able to create a new directory when *saving* a >file? >Easy, use SavePanel, it already has this functionality, it works for >every application I can think of: e.g. > Actually that's probably not the reason. I wanted this requirement recently. Let me tell you why. ChooseDirectories is rooted at OpenPanel which is a subclass of Save Panel hence I cannot use a SavePanel and only filter for directories only hence in order to filter for directories you have to use an OpenPanel. I chose not to use Scott's DirPanel code. -- "Buzzword Development" the new way for the 90's. Promising to deliver but not delivering what you promised.
Newsgroups: comp.sys.next.programmer From: nathan@laplace.csb.yale.edu (Nathan F. Janette) Subject: tcsh 6.04 won't compile on NEXTSTEP/Intel 3.2 ? Message-ID: <1993Dec30.210116.20869@cs.yale.edu> Sender: news@cs.yale.edu (Usenet News) Organization: Yale University, Department of Computer Science, New Haven, CT Date: Thu, 30 Dec 1993 21:01:16 GMT tcsh 6.04 won't compile on NEXTSTEP/Intel 3.2 system, at least with the same configuration that works for a NEXTSTEP/m68k 3.0 system. Here is the output of the make. Any ideas? basil:5# make cc -c -O2 -I. -I.. -g -bsd sh.c In file included from sh.h:320, from sh.c:38: /NextDeveloper/Headers/bsd/strings.h:23: warning: conflicting types for built-in function `strlen' In file included from sh.h:368, from sh.c:38: sh.types.h:532: conflicting types for `speed_t' /NextDeveloper/Headers/bsd/sys/termios.h:188: previous declaration of `speed_t' *** Exit 1 Stop. -- Nathan Janette Voice: 203 432 5065 Systems Manager Fax: 203 432 3923 Brunger Lab Internet: nathan@laplace.csb.yale.edu Yale Univ Dept MB&B/HHMI "I'm a NeXTstep Man, I'm a NeXTcube Guy"
From: slwdz@cc.usu.edu Newsgroups: comp.sys.next.programmer,comp.sys.next.misc Subject: Can you have Workspace bring up the Inspector on login? Message-ID: <1993Dec30.141356.6798@cc.usu.edu> Date: 30 Dec 93 14:13:56 MDT Organization: Utah State University Is there any way to have the Inspector Panel in the Workspace come up automatically when you log in? Ok...so I'm lazy... John Zollinger slwdz@cc.usu.edu "We will all be just road kill on Clinton's Information Super-highway."

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