HDTenEightyP/NetNews huggingface dataset:
From: shin@sgtp.apple.juice.or.jp (Sugou Shinichirou)
Newsgroups: comp.sys.next.programmer
Subject: Re: malloc_error
Date: 5 Sep 92 08:10:16 GMT
	<1992Aug31.172521.847@svcdudes.com>
Distribution: comp
Organization: SG Total Planning, Japan
In-reply-to: moose@svcdudes.com's message of 1 Sep 92 02:25:21 JST

In article <1992Aug31.172521.847@svcdudes.com> moose@svcdudes.com writes:
   > I don't know the way how to use 'malloc_error' function. Please refer to
   > the UNIX manual 'malloc_error' about the detailed information.
   > 
   > Suppose I want to execute myMallocErr() instead of the default routine
   > whenever memory allocation error happens.
   > 
   > void myMallocErr(int code)
   > {
   >         printf("error");
   >         abort();
   > }
   > 
   > (2) Link program with  '-lMallocDebug'. For example: If you are using IB,
   >     define the following line within Makefile.preamble, and 'make debug'
   >     will generate the malloc-check-routine active code.
   > 
   > 	OTHER_DEBUG_LIBS = -lMallocDebug
   > 

   I believe that linking MallocDebug will override your call you malloc_error.   
   Try this without linking in MallocDebug

I thank you for your suggestion.

I tried, but it seems not to be invoked still yet. The following is a very
simple test program.

------tmp1.c----------------------------------------
#import <stdlib.h>
#import <stdio.h>

void myMallocErr(int code)
{
   fprintf(stderr, "malloc error");
}

main()
{
   char *p;

   malloc_debug(32);
   malloc_error(myMallocErr);

   p = malloc(10);
   free(p);
   free(p);    // should be error!!
   exit(0);
}
---------------------------------------------------
When I compile it without '-lMallocDebug':

        %shell cc -g tmp1.c -o tmp1

No malloc error is detected. Even if I comment out 'malloc_error()'
sentence, again, no malloc error is detected.(--> malloc check routine deactiveted?)

When I compile with '-lMallocDebug':

        %shell cc -g tmp1.c -o tmp1 -lMallocDebug

the default error-message-routine is called. Even if I comment out
'malloc_error()' sentence, the result is the same.

Therefore, I think '-lMallocDebug' library is necessary when I make malloc
routine active.

But still I don't know the way how to change error-message-routine.

Any suggestion is appreciated.

--
Shin'ichirou Sugou

shin@apple.juice.or.jp (NeXTmail acceptable)


				   
Newsgroups: comp.sys.next.programmer
From: samurai@cs.mcgill.ca (Darcy BROCKBANK)
Subject: DIstributed Objects Problem (HELP!)
Organization: SOCS - Mcgill University, Montreal, Canada
Date: Tue, 15 Sep 1992 00:06:16 GMT


My architecture is the following:

Client app A
Server app B

Server B is running, client A gets a connection to B via 
distributed objects. B has registered a named object, and
runs the connection via runFromAppkit.

Client A calls [B addClient:self] which succeeds, and A is
added to a List object of clients of B.

Now B starts up a DPSTimedEntry, which generates events every
30 seconds that are supposed to be passed on to every object
in B's client list. However, these messages never return,
and the client app doesn't recieve them. Every now and
then an "Unrecognized error" pops up in the console.

When the client app terminates, about 1/3 of the messages
that were being sent (about 3 minutes worth) suddenly
are recieved (I suppose it occurs when the connection
is freed by the Application Object).

In any event, everything seems to run fine if the DPSTimedEntry
isn't generating the events (that is, if the methods are called
from appDidInit: or something...) 


So, is this me forgetting to do something, or what? Any help
is appreciated!

- darcy
From: simsong@next.cambridge.ma.us (Simson L. Garfinkel)
Newsgroups: comp.sys.next.programmer
Subject: Re: setting a button key to be ESC
Date: 6 Sep 92 14:55:46 GMT
Reply-To: simsong@next.cambridge.ma.us
Organization: Simson Garfinkel and Associates, Inc.

In article <Bu33xu.7x3@cs.psu.edu> grio@postscript.cs.psu.edu (Daniel L Grillo)  
writes:
> 
> In the IB inspector, I'd like to set a button's key equivalent to be ESC.
> I can't get it to work.
> 

Since key equivalents can only be command keys, and not the ESC key, you're out  
of luck, unless you want the button to be command-ESC.

You could subclass the Window object, override the keyDown: method, and turn  
ESC into some command- key.
-- 

................................................................simson
Newsgroups: comp.sys.next.programmer
From: modman@liveware.com
Subject: Re: NEW language list, with 100% more than the FAQ sheet!
Keywords: Left out two languages
Reply-To: modman@liveware.com
Organization: Liveware Corporation   Fort Collins, CO.  USA.
Date: Mon, 7 Sep 1992 20:37:31 GMT

In article <Bu72J2.FCz@mentor.cc.purdue.edu> asd@sage.cc.purdue.edu (Kareth)  
writes:
> This is basically a summary of my query for languages that people were
> using on their NeXTs.  After a week of searching for and trying to

[ lots of very useful information canned ]
-------
> 
> That's it.  I hope this helps anybody who might have been looking for
> some of these

Dear LanguageHeads,


I submitted lists of languages I use, but somehow they didn't
make it on the list.  I don't know why, but I will list
it here with some explaination (little to none actually).

For one, I use Self, a language that is really no longer
an experimental language.  I do NOT use it for real
projects, but instead do prototyping in it.  Somewhat
like SmallTalk in syntax.  Take a look at

	self.stanford.edu:/self

with anonymous ftp.

As for the claim that Craftman is the scripting equivalent
to HyperCard on NeXTstep is stretching this kind of statement
to the limit.  I have been involved and using HyperCube for the
past 1.75 years and would definitely call HYPERCUBE the equivalent
to HyperCard, but then it has so much more that this statement
would be understating the power of HyperCube.  As for the language
it uses, CubeTalk...  It is 100% compatible with HyperTalk, because
HyperCube imports HIFF files right from HyperCard
and runs them.  It is neat and nifty and kinda cool.  Of course
I am biased and rightfully so. ;')  Hypercube information can
be had from sending mail to <mishelle@thoughtful.com>, or <doug@...>.


Or Mail:

	Thoughtful Software
	616 E. Locust
	Fort Collins, Colorado 80524
	United States of America
	(303) 221-4596

Regards,

Todd Nathan
Liveware Corporation
From: hagstrop@oberon.mathcs.carleton.edu (Paul Hagstrom)
Newsgroups: comp.sys.next.programmer
Subject: Why is my PostScript text upside down?  Help!  Help!
Date: 7 Sep 1992 04:20:09 GMT
NNTP-Posting-Host: bbn.com

Ok, I'm at a loss.. I've got a plotting program that I'm trying to write, and  
here's what's happening..

I am trying to draw a grid, and on that grid I am tryint to draw numbers.  So,  
what I do is this:

	PSmoveto(0,grid);
	sprintf(buffer,"(0.00,%f7.2)",grid);
	PSshow(buffer);
	
Easy enough.  Now, the problem is this: ALL OF THE TEXT IS UPSIDE DOWN!  It is  
reflected vertically from what it should be.  Now, of course, the first thing  
to think is: oh!  The coordinates must be flipped!  But, [self isFlipped]  
returns NO, and I never specifically tell it to setFlipped:YES, which,  
according to the documentation, I should have to do explicitly if the  
coordinates are to be flipped.

What can I do?  PSrotate(180.0) won't solve my problem because then I get  
numbers that a right-side-up, but backwards!  What I need to do is reflect them  
vertically, and I'm not sure how.  I don't want to flip the coordinates just to  
print the text (that seems unwise, and in the documentation, it is said that  
setFlipped: should only be called once -- preferably before drawing, like in an  
initialization routine) and then flip them back to continue with the program,  
do I?

Help!

Thanks to anyone who knows immediately what my problem is and can tell me..
--
schmotsignature.
Paul Hagstrom
(hagstrop@carleton.edu)
Newsgroups: comp.sys.next.programmer
From: grio@postscript.cs.psu.edu (Daniel L Grillo)
Subject: setting a button key to be ESC
Content-Type: text/plain; charset=US-ASCII
Makemail: v1.15
Organization: Penn State Computer Science
Mime-Version: 1.0
Date: Sat, 5 Sep 1992 02:51:30 GMT


In the IB inspector, I'd like to set a button's key equivalent to be ESC.
I can't get it to work.

Any ideas?




--
 Dan Grillo   grio@cs.psu.edu   [NeXTmail, PrivateMail, MIME welcome]
Newsgroups: comp.sys.next.programmer
From: grio@postscript.cs.psu.edu (Daniel L Grillo)
Subject: Re: setting a button key to be ESC
Organization: Penn State Computer Science
Date: Wed, 9 Sep 1992 02:19:01 GMT

In article <1992Sep7.150548.8473@next.cambridge.ma.us> simsong@next.cambridge.ma.us writes:
>In article <Bu68tK.37L@cs.psu.edu> grio@colossus.cs.psu.edu (Daniel L Grillo)  
>writes:
>> I should have been more explict.  A button in a _Panel_ can have a key
>> equivalent that is not a command key.   Keys like "d" and "." work fine.
>> I was hoping there was a way to use ESC, without subclassing Panel.
>> 
>What makes you think this?  NeXT's Calculator demo?  Their Panel subclass turns  
>all keypresses into Command keypresses.

Uh, fired up IB, grabbed a Window, put 2 buttons on it.  Set keys for each.
Run it.  Non-command keys do nothing.

Move the buttons to a Panel.  Run it.  Non-command keys work.


			--Dan
-- 
 Dan Grillo   grio@cs.psu.edu   [NeXTmail, PrivateMail, MIME welcome]
From: tom@ennex1.eng.utsa.edu (Tom Arnow)
Newsgroups: comp.sys.next.programmer
Subject: Honey I shrunk the tiffs!!!?
Date: 9 Sep 92 18:01:45 GMT
Organization: Univ of Texas at San Antonio

Reply-To: tom@ennex1.eng.utsa.edu (Tom Arnow)

I have a routine that reads in eps, tiffs, and other sorts of files. I have  
a 1024 by 1024 tiff file that turns into 722 by 722 when my routine reads  
it.

My routine uses 	
anImageRep = [[NXBitmapImageRep alloc] initFromFile:imageFile];
to read in the image

an old version used
    docImage = [[NXImage alloc] initFromFile: imageFile];
with identical results.

Thanks
Tom Arnow
Newsgroups: comp.sys.next.programmer
From: smb3u@kiptron.psyc.virginia.edu (Steven M. Boker)
Subject: Re: strange color PS problem....
Organization: University of Virginia, Department of Psychology
Date: Wed, 9 Sep 1992 03:39:44 GMT

In article <6602@vtserf.cc.vt.edu> gbol@rglnext.geol.vt.edu (Gregory Lampshire) writes:
>
>I am attempting to view SAS generated color PS on a NeXTdimensions.   
>
>The SAS PS file is pretty trashy, no comments anywhere.  Anybody have a  
>clue as to why my SAS PS file only is in color in Yap and not in Preview?   
>Is it just very poor PS on SAS's part? (the SAS color ps file is using the  
>setrgbcolor command.  I can see them in the file).
>

I don't know about the color, but we have had considerable trouble
with SAS PostScript run through Preview crashing the windowserver.
Not much fun.  This is the only commercially generated PostScript
we have had this problem with.  I won't mention how I feel about SAS.

Steve

-- 
 #====#====#====#====#====#====#====#====#====#====#====#====#====#====#
 #  Steven M. Boker            #          "Two's bifurcation           #
 #  boker@virginia.edu         #           but three's chaotic"        #
 #====#====#====#====#====#====#====#====#====#====#====#====#====#====#
From: thf@zelator.in-berlin.de (Thomas Funke)
Newsgroups: comp.sys.next.programmer
Subject: Re: TCP reliability on NeXT
Date: 5 Sep 92 11:42:15 GMT
Reply-To: thf@zelator.in-berlin.de (Thomas Funke)
Organization: NNU Corp. - NeXT is Not UN*X

In article <1992Sep4.163219.1@hei.unige.ch>  writes:
> 
> TCP/IP BERKELEY SOCKETS: Transmission problems with doublicated packets
> -----------------------------------------------------------------------

NeXT TCP/IP (stream sockets) work fine on mixed networks. It's probably a  
bug in your application. Try to get "Unix Network programming" by  
W.R.Stevens.

-- 
------------------------------------------------------------------
Thomas Funke  ** E-mail: thf@zelator.in-berlin.de
NeXT-Developer * Unix-Consultant
------------------------------------------------------------------
Newsgroups: comp.sys.next.programmer,comp.sys.next.software
From: cgb@count0.cmhnet.org  (Charles G. Bennett)
Subject: Serial Solutions 2.0 Demo updated
Reply-To: cgb@count0.cmhnet.org
Organization: BenaTong
Date: Thu, 10 Sep 1992 18:13:13 GMT

I put a revised version of the SerialSolutions2.0Demo.tar.Z
in the submissions area.

The old demo was rather RUDE when it timed out
since it terminated the app..  The new version just quits working
and leaves your app running.
-- 
Chuck Bennett, BenaTong Consulting
Harem Security (UNIX Consulting :-) )
cgb@count0.cmhnet.org
Newsgroups: comp.sys.next.programmer
Subject: how to scroll a view on demand?
From: frank@ifi.unibas.ch (Robert Frank)
Date: Thu, 10 Sep 1992 07:09:45 GMT
Reply-To: frank@ifi.unibas.ch
Organization: Institut fuer Informatik
Keywords: scroll, IB


Something simple for the IB-gurus (I'm a beginner):

The setup: I have a scrollview with a view as it's docView. The View's rectagle  
is larger than the visible area of the scrollviews docView - making the  
vertical scroller visible and functional. 
When displaying the window the scroller is at bottom of the bar and I see the  
bottom of the view.

How do I tell the scrollview (per software) to scroll to the top of the view?
I've tried the -scrollRect:by: method for views but with no luck. I know how to  
place and size the scroller itself but not how to actually scroll the view.

The examples I have looked at all use matrixes as docViews which allow easy  
scrolling to any position.

Any help appreciated.

-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 )
From: bill@epnxt.jsc.nasa.gov
Newsgroups: comp.sys.next.programmer
Subject: How do I copy sound data from one view to another?
Date: 9 Sep 1992 18:22:52 GMT
Reply-To: bill@epnxt.jsc.nasa.gov
Organization: nasa-jsc

I am displaying a snd file in one view and wish to copy a portion of that  
data into another view of the same type (soundview within a scrolling  
view).  I am using the copy and paste methods associated with the  
SoundView but seem to be having trouble in that I can not get the second  
view to display any of the data..... neither can I get the cursor to show  
up on the second view as I do in the first view.



Thanks in advance.
Newsgroups: comp.sys.next.programmer
From: cjb@canopus.Stanford.EDU (Cecil Bloch)
Subject: Re: Reading in .rtfd files
Reply-To: cjb@vega.stanford.edu
Organization: DSO, Stanford University
Date: Fri, 11 Sep 92 16:40:35 GMT

In article <BuDMzq.C52@monitor.com> howard@monitor.com (Howard Brenner)  
writes:
> I actually did something pretty hacky.  I did a:
>     [Text registerDirective:"NeXTGraphic" forClass:[GraphicCell class]];
> 
> Where GraphicCell is a subclass of ButtonCell.
> 

Unless you have a specific reason for wanting a ButtonCell, Cell itself  
will do, but even that is overkill since if all you want is an embedded  
TIFF then there is no need for all the Cell machniery and as long as your  
Object subclass implements the methods spelled out in the Text  
documentation all will be fine, just fine.  Hence GraphicImage is a  
subclass of Object, not Cell.
Newsgroups: comp.sys.next.programmer
From: tpg@rchland.vnet.ibm.com (Terry Gliedt)
Subject: sr_scsi_status SENSE_NOTREADY
Date: Mon, 14 Sep 1992 13:15:10 GMT
Disclaimer: This posting represents the poster's views, not necessarily those of IBM
Organization: IBM Rochester

I have a driver for a SCSI-attached Epson 300C scanner working pretty well. The
code drives the scanner using /dev/sg0 using ioctl (opcodes C6OP_READ and
C6OP-WRITE). After much experimentation it appears there is a maximum number
of bytes of 256 I can read. When I issue an ioctl-read for > 256 bytes, I get a
error in sr_io_status (01x) and a sr_scsi_status of SENSE_NOTREADY.

Initially I tried to simply wait a little and retry, but I never get any other
status. I've tried clearing the attention with a sense and retry, but to no
avail. I have tried to break the read into several reads, but this too failed.
There is clearly something I do not understand and so far am unable to guess.
Everything works fine as along as the scanner generates <= 240 bytes per scan
line. As soon as the scanner tries to return > 240 bytes (I think the magic 
number of 256), the SENSE_NOTREADY begins to appear.

I'd appreciate some advice from you ioctl-gurus. Thanks! 
Newsgroups: comp.sys.next.programmer
From: cgb@count0.cmhnet.org  (Charles G. Bennett)
Subject: Julian3.0 on archives.
Reply-To: cgb@count0.cmhnet.org
Organization: BenaTong
Date: Thu, 10 Sep 1992 18:09:40 GMT

I just put Julian3.0.tar.Z in the submissions area
at nova.cc.purdue.edu.

This is a update to the public domain Days between Dates
object that I uploaded sometime ago.

A bug was fixed, and someone else added calculations for Easter..

Anyway, it's there, it's free.

Chuck

-- 
Chuck Bennett, BenaTong Consulting
Harem Security (UNIX Consulting :-) )
cgb@count0.cmhnet.org
Newsgroups: comp.sys.next.programmer
From: cowboy@trans.csuohio.edu (Joe Rosenfeld)
Subject: Problem compiling Procmail on 2.x 
Organization: Cleveland State University
X-Newsreader: Tin 1.1 PL5
Date: Sun, 13 Sep 1992 13:37:06 GMT

Greetings:

I am trying to compile Procmail on a NeXT, partially to gain the filtering
capability, and for other reasons.  Everything compiles, except the
Procmail itself.  It fails with this message:

> cc  -c   procmail.c
> procmail.c: In function dirmail:
> procmail.c:619: `DIR' undeclared (first use this function)
> procmail.c:619: (Each undeclared identifier is reported only once
> procmail.c:619: for each function it appears in.)
> procmail.c:619: `dirp' undeclared (first use this function)
> procmail.c:619: parse error before `struct'
> procmail.c:622: `dp' undeclared (first use this function)
> procmail.c:623: `chp2' undeclared (first use this function)
> *** Exit 1
> Stop.

Is there anyone out there who has successfully compiled procmail on a NeXT?
If so, I owuld appreciate any help anyone might have to offer, like a patch
or information on how to proceed.

Thanks in advance,
Joe


--

________

Joe Rosenfeld                              cowboy@trans.csuohio.edu
Automation Librarian                      joer@inca.law.csuohio.edu
Cleveland State University Law Library
From: mkrogers@amherst.edu
Newsgroups: comp.sys.next.programmer
Subject: Re: Command-line apps now harder (Can you pass arguments?)
Date: 6 Sep 92 14:00:35 GMT
Organization: Amherst College, Amherst Mass.

In article <60105@mimsy.umd.edu>, alex@cs.umd.edu (Alex Blakemore) writes:
> In article <1992Sep4.194248.568@leland.Stanford.EDU> cooldude@elaine49.stanford.edu writes:
>> How can you also pass arguments to the application being opened.  e.g, open  
>> bar.app and have it open a file called "foo".  
> 
> open foo.x
> 
> will open the file foo.x using whatever app you've selected
> as the default app for files with suffix x, just as if
> you'ld double clicked it in a Workspace file viewer.

Try "open -a bar foo".  You can leave off the .app extension of bar
if it has one.

> no extension - and you'll get the default app - probably Edit.

This is what happens to me.  I don't know if there's a default
you can dwrite to change this.

	-mike rogers
Newsgroups: comp.sys.next.programmer
From: mauriti@cs.tu-berlin.de (Frank Hartlep)
Subject: Re: Loading classes at run-time: How?
Organization: Technical University of Berlin, Germany
Date: Tue, 15 Sep 1992 13:47:23 GMT

In article <TA168WJ@mailgzrz.tu-berlin.de>, mauriti@cs.tu-berlin.de (Frank Hartlep) writes:
> I do not want to use the objc_{load,unload}Module routines because
> of their FIFO behaviour. Just loading the class file with rld isn't
> enough, my app still complains 'class MyClass not linked into application'.
> I can only guess why it reacts like that: There's a hash table containing
> the Class structures of all classes known to the app, and by trying
> objc_getClass ("MyClass") I get the same error message. So I suppose I
> have to insert MyClass into the table by hand. This can be done with
> objc_addClass (). The only problem is that I can't find any way to
> obtain the Class structure of MyClass, which I need as an argument for
> objc_addClass (). Any ideas from where to get this little beast?

Found the solution yesterday:
getsectdatafromheader (MyMachHeader, "__OBJC", "__class", &Size) returns
a pointer to an array of Class structs defining the loaded classes.
If somebody's interested in example code showing how to load/unload
classes in a random order, I'll post it.

Frank
From: fermat@fermat.dartmouth.edu (Michael Glenn)
Newsgroups: comp.sys.next.programmer
Subject: AppInspector, ProcessMonitor, and MallocDebug problems.
Date: 13 Sep 92 23:58:26 GMT
Organization: Dartmouth College, Hanover, NH


Ok, I'd like to use these.  But they don't seem to work for some reason on  
my machine.  Currently running 2.2. (I'll update to 3.0 probably this  
week, but I'd like to use MallocDebug *now* if possible.)

When I open ProcessMonitor, it opens up a window called "Processes", but  
this is blank with nothing in it at all.  (ever)  When I open  
AppInspector, and select "open" from the menu, it just plain does nothing.   
No alert panel even.  And when I configure an app to use MallocDebug,  
MallocDebug continues to say that I don't own any apps configured for  
MallocDebug.

Does anyone know how to use these apps, and what my problem might be???

fermat@fermat.dartmouth.edu (NeXTmail ok)
From: andrew@cubetech.com (Andrew Loewenstern)
Newsgroups: comp.sys.next.programmer
Subject: Re: Serial Communications Beyond 38.4 Kbps
Keywords: serial, DMX512
Date: 3 Sep 92 08:00:21 GMT
Organization: Cube Technologies, Inc.

In article <1992Aug31.230842.11663@Trirex.COM> bmehlman@trirex.com writes:
>I am writing an application that needs to send asynchronous serial data at  
>a speed of 250 Kbps.  Specifically, I'm trying to generate DMX-512  
>standard multimedia device control signals.
>
>This leads to two questions:
>
>1) Can the NeXTs serial ports physically go that fast?
>
>2) Is there any software support for this type of operation?
>
>As far as #2 goes, the NeXT docs and FAQ state that the top supported  
>speed is 38.4...  I'm hoping that there may be others who have written  
>alternative device drivers...


Not with the current drivers.  The current serial drivers generate one
interrupt per character.  At 38.4, this soaks up quite a bit of CPU.
While the Zilog controller is physically capable of high speeds, I
don't know if NeXT's implementation is capable of it (NeXT claims it
cannot do LocalTalk on their serial hardware, and that could be a
reason...).  Furthermore, the hardware interface is not documented and
it may not be possible to write your own drivers that won't step on
the toes of NeXT's...

The DSP can function as a serial port that can go up to something like
138kbps.  Yrrid sells an LKS called TTYDSP that makes the DSP into a
third serial port (DISCLAIMER: I was a beta-tester for TTYDSP) that
will go up to 138k.


I think you best bets would be a NeXTbus card with a serial interface,
a SCSI<->serial interface of some kind, or an ethernet<->serial
interface (do any terminal servers do 250kbps?).


andrew
-- 
andrew@cubetech.com     | "We shall not cease from exploration
Andrew Loewenstern      |  And the end of our exploring
Cube Technologies, Inc. |  Will be to arrive where we started
                        |  And know the place for the first time." -T.S. Eliot
Newsgroups: comp.sys.next.programmer
From: jon@afs.com (Jonathan Hendry)
Subject: 3.0 - NIKit Docs...
Distribution: USA
Date: Wed, 9 Sep 1992 14:57:43 GMT


Could someone with 3.0 check and see if the NIKit is documented any better?

--
Jonathan Hendry  Anderson Financial Systems
jon@afs.com  (Nextmail Welcome!) or hendryjw@duvm.ocs.drexel.edu