HDTenEightyP/NetNews huggingface dataset:
From: rrk@iris3.chem.fsu.edu (Randal R. Ketchem)
Subject: Re: General Help Needed (THINK C)
Organization: Florida State University -- Structural Biology Program
Distribution: na
Date: Fri, 2 Oct 92 04:52:19 GMT

In article <BvGK8L.70H@cs.dal.ca> powell@ug.cs.dal.ca (Joel E Powell) writes:
>
>I'm just starting to program the Macintosh, and have THINK C 5.0.
>I already know C, but I need help on the Mac specific stuff.
>I've heard (and it's recommended in the THINK C manual) that I
>basically NEED Inside Macintosh by Addison Wesley.  However, many
>other people have said that it's a bunch of really technical mumbo-
>jumbo that I won't understand really well.  The manual also suggests
>a couple of other books like the Macintosh C Primer, and such books.
>
>Can people please give me a few recommendations on getting started with
>programming Mac applications?  Are these books any good (or at least
>worth their money)?  Any suggestions appreciated.
>

Macintosh C Programming Primer 2nd ed is absolutely great. Well worth the
money. It will get you off to a good start on Mac programming. I also have
been told, though I have not used the product myself, that Think Reference is
a useful guide, though it does not include volume 6 of Inside Mac (the system
7 stuff). After spending some time with these, you will be ready for Inside
Mac.

Randy
From: stepan@natinst.com (Stepan Riha)
Newsgroups: comp.sys.mac.programmer
Subject: Re: Still looking for Resorceror...
Date: 1 Oct 1992 10:37:50 -0500
Organization: National Instruments, Austin, TX
NNTP-Posting-Host: falcon.natinst.com

In article <1992Oct1.135526.2915@alw.nih.gov> fixer@faxcsl.dcrt.nih.gov writes:
>The continuing story...
>
>I'm trying to contact the Mathemaesthetics corporation, authors/distributors
>of the Resorceror application, with little success.  I tried using the
>Internet address "resorceror@applelink.apple.com", but that bounced.
>
>Anyone have any other ideas?
>
>-- Chris Tate

Resorcerer is spelled with an rer at the end, so the address is
resorcerer@applelink.apple.com.
Mathemaesthetics seems to be quite sensitive about this as can be seen in
one of the ReadMe files that come with Resorcerer (copied w/o permission):

--------
News for Users of Resorcerer

Handy Hint #7-41a...
"Resorcerer" is "Sorcerer" with an "Re" at the beginning of it.

Handy Hint #7-41b.
"Sorceror" is not a correctly spelled English word.  Try looking it up.

Conclusion:
The name of your favorite resource editor is not "Resourcerer",
"Resourceror", "Resorceror", or (MacTutor notwithstanding) "Resourcer".
Okay, campors! [sic]  Repeat three times slowly:  There Is No 'u' in
"Resorcerer".

The above flamage is brought to you courtesy of the fact that about 75% of
the mail we get (including the title of the recent MacTutor article) misspells
the name of our product.

You can now send AppleLink complaints, suggestions, or flames to us at our new
account name, RESORCERER.  The network is only slightly less forgiving than we
are if there is a 'U' or an extra 'O' in the address.
--------

	- Stepan (a very satisfied Resorcerer user)
-- 
   Stepan Riha -- stepan@natinst.com
From: mcastro@hp9k.lag.itesm.mx (Manuel Castro Trevino)
Newsgroups: comp.sys.mac.programmer
Subject: help on porting dos programs to mac
Summary: help on porting dos programs to mac
Keywords: help on porting
Date: 1 Oct 92 00:33:15 GMT


WE ARE SOFTWARE DEVELOPERS HERE  IN MEXICO, OUR SOFTWARE IS IN DOS,
BUT NOW WE WANT TO USE  IT IN MAC, AND WE ARE NOT FAMILIAR WITH SUCH 
ENVIROMENT, SO WE ARE ASKING FOR ADVISE ON THE NEXT SUBJECTS:

A) COMPILER
WE ARE USING THE MICROSOFT C COMPILER VERSION 6.0 ,
WHICH COMPILER IS THE MOST COMPATIBLE IN THE MAC WITH THIS ONE?

B) LINKING
WE USE THE POCKET SOFT'S RT-LINK TO LINK OUR PROGRAMS,
WE WANT TO KNOW IF THERE IS SOME SIMILAR LINKER PROGRAM ,
OR WHICH ONE IS THE MOST RECOMENDED.

C) PROTECTION
AS YOU KNOW WE HAVE A SERIOUS PROBLEM HERE AT MEXICO WITH PIRACY,
SO WE ARE USING COP'S COPY LOCK II TO PROTECT OUR SOFTWARE,
WHAT DO YOU RECOMEND TO USE IN MAC?

YOU CAN CONTACT US AT mcastro@hp9k.lag.itesm.mx,
WE'LL BE GRATEFUL ON ANY HELP OR COMMENT YOU PROVIDE TO US.
From: chuck@gte.com (Chuck Hoffman)
Newsgroups: comp.sys.mac.programmer
Subject: DAVID ALBERT, Where Are You?
Date: 30 Sep 92 13:47:33 GMT
Followup-To: comp.sys.mac.programmer
Organization: GTE Laboratories

I got an e-mail response to a posting from David Albert.  I tried to reply
using the internet address:

     dalbert@laat_t2.calstatela.edu

but it bounced back to me twice.  Does anyone know a different internet
address for him, or any other way to contact him?

David, if you see this, e-mail me your telephone number and I'll call you.

The posting concerned a sample Mac application I developed for those who
are just learning to program the Mac.  The application is called "Chassis."


Chuck Hoffman
chuck@gte.com
GTE Laboratories, Waltham, Massachusetts, USA
(617) 466-2131
=====================================
I'm not sure why we're here, but I am sure that while we're here we're
supposed to help each other.
=====================================
Newsgroups: comp.sys.mac.programmer
From: mspace@netcom.com (Brian Hall)
Subject: Text File Creators
Organization: Netcom - Online Communication Services  (408 241-9760 guest) 
Date: Sat, 3 Oct 1992 20:42:32 GMT

I have the following list of applications that can be selected to open
text files created by an app I am working on.  I would like to know some
other app/creator pairs I could/should add.  Also feel free to correct me -
I guessed at MacWrite and MWII, and plain don't know the one for Nisus.

resource 'STR#' (2100, "Text File Creators") {
	{
		"Rich",		// BBEdit
		"ttxt",		// TeachText
		"FWRT",		// FullWrite
		"MACA",		// MacWrite
		"MWII",		// MacWrite II
		"MSWD",		// Microsoft Word
		"MPS ",		// MPW
		"????",		// Nisus
		"KAHL",		// Think C
	}
};


-- 

 \ | /   | Brian Hall                 mspace@netcom.com
 - : -   | Mark/Space Softworks       Applelink: markspace
  /|\    |                            America Online: MarkSpace
 |-+-|   |
/-\|/-\  | The tornado ate my powerbook.
From: 100015.424@CompuServe.COM (Stephan Mayr)
Newsgroups: comp.sys.mac.programmer
Subject: Currency Formatting?
Date: 6 Oct 92 23:10:39 GMT

I've read in IM VI about the functions Str2Format, Format2Str, FormatX2Str and
FormatStr2X. There's no further documentation there about these functions and I
would like to use them to format numbers according the international utilities
to currency format, i.e. 1567,6 to 1.567,60 (German Currency Format). Therefore
my questions:

1. Is this possible using these functions or do I have to read in the
international currency resources (itl0) and proceed with some homemade
algorithm?

2. How about the parameters for these functions and how are they exactly
working. This isn't documented, and it's not possible for me to get the books
"WorldWide Software Development" or "SANE: Apples ~" in the next weeks.

Please help, any comments and perhaps example C code is appreciated.


Thanks forward, Stephan
Newsgroups: comp.sys.mac.programmer
From: wirehead@cheshire.oxy.edu (David J. Harr)
Subject: Re: Changing 'STR#'s
Followup-To: comp.sys.mac.programmer
Summary: Here's some C code
Keywords: STR# resources, C
Organization: The programmers who say NEE!
Date: Sun, 4 Oct 1992 15:58:20 GMT

In article <009616B5.D3D76A00@e.kth.se> karlberg@e.kth.se (KRILLE_KROKODIL) writes:
>How do I change the contents of STR  and STR# recources from Think Pascal?
>
>Martin
>
>-------------------------------------------------------------------------------
>                                    If you have a living frog for breakfast,   
>                                    nothing worse can happen during the day.  

Here's a routine I use for changing the contents of a STR# resource on the
fly. Caveats: I quickly adapted it from another routine that does almost the
same thing but is a bit more specialized, so it may have a bug or two due to
the quick dismemberment/reassembly from the old routine, and it will allocate
a temporary handle the size of the new STR# resource, so if you have a very
large STR# resource you are trying to change and you are short on space, it
will fail without returniing any warning (because it is a void function).
It is not in Pascal, but it should be fairly simple to translate.
Here is the code:

void write_str(short index, short res_id, Str255 new_str)
{
	Handle str_handle, temp_handle;
	short res_id, num_strings, i;
	long lead_bytes, end_bytes, hand_size, new_hand_size;
	
	str_handle = Get1Resource('STR#', res_id);
	if(!str_handle)
		return;
	hand_size = GetHandleSize(str_handle);
	if(MemError())
		return;
	num_strings = **((short**)str_handle);
	lead_bytes = 2;		/* skip over number of strings in STR# resource */
	for(i = 1; i < index; i++)
	{
		lead_bytes += (*((unsigned char**)str_handle))[lead_bytes] + 1;
	}
	if(index != num_strings)
		end_bytes = lead_bytes + (*((unsigned char**)str_handle))[lead_bytes] + 1;
	else 
		end_bytes = 0;
	new_hand_size = lead_bytes;
	new_hand_size += (unsigned char)new_str[0] + 1;
	if(end_bytes)
		new_hand_size += hand_size - end_bytes;
	temp_handle = NewHandle(new_hand_size);
	if(!temp_handle)
		return;		/* NewHandle failed */
	HLock(str_handle);
	HLock(temp_handle);
	memcpy(*temp_handle, *str_handle, lead_bytes);
	memcpy(*temp_handle + lead_bytes, new_str, new_str[0] + 1);
	if(end_bytes)
		memcpy(*temp_handle + lead_bytes + new_str[0] + 1, 
					*str_handle + end_bytes, hand_size - end_bytes);
	HUnlock(temp_handle);
	HUnlock(str_handle);
	SetHandleSize(str_handle, new_hand_size);
	HLock(str_handle);
	HLock(temp_handle);
	memcpy(*str_handle, *temp_handle, new_hand_size);
	HUnlock(temp_handle);
	HUnlock(str_handle);
	DisposeHandle(temp_handle);
	ChangedResource(str_handle);
	if(ResError())
		return;
	WriteResource(str_handle);
}



Hope this is of some interest to the folks on the net!

David.

"Your excellency, the workers of Freedonia are demanding shorter hours!"
"We'll give them shorter hours. Cut their lunch hour to twenty minutes."
From: ingles2135@iscsvax.uni.edu
Newsgroups: comp.sys.mac.programmer
Subject: Help w/Barcode reader
Date: 1 Oct 92 11:13:42 -0500
Organization: University of Northern Iowa

I am looking to write a simple barcode reading program for use with a laser
barcode reader. ( A Metrologic MS700 to be exact) Does anyone know of any
source code available, or even an add-on library that supports the
communications part of it?

Any help would be greatly appreciated.

Please E-Mail me at: INGLES2135.iscsvax.uni.edu
Thanks, 
Juan Ingles

<***************** This space for rent ******************************>
From: scott@mcl.ucsb.edu (Scott Bronson)
Newsgroups: comp.sys.mac.programmer
Subject: Routines With Glue
Date: 2 Oct 92 21:36:48 GMT

In <winer.717955333@husc8> winer@husc8.harvard.edu (Adam Winer) writes:

>wuertz@tik.ethz.ch (Andreas Wuertz) writes:

>This brings up another point: what is the complete list of functions
>with glue:  I know for a fact that HOpenResFile() and the high-level
>hierarchical functions like HOpen() have glue.  Does anyone have a
>full list?


Here's an odd one that I ran across the other day.  GetHandleSize has
glue that checks to see if the returned value is negative, and if so
it returns nil.  How can one have a handle with *negative* handle
size??  Sounds like fun.

	- Scott
Newsgroups: comp.sys.mac.programmer
From: stack@techbook.com (Bill Stackhouse)
Subject: Re: Looking for LDEF
Organization: StoneTablet Publishing
Date: Sat, 26 Sep 1992 01:02:36 GMT


There are 2 commerical libaries that are marketed as List Manager
replacements. Both have been on the market for since early summer
and have shipped products.

StoneTable from StoneTablet Publishing 
   PO Box 12665
   Portland, OR 97212-0665
   internet: stack@techbook.com
   compuserve: 70303.2546

and 

Matrix Engine from DataPak Software.
   9317 NE Highway 99, Suite G
   Vancouver, WA 98665-8900
   compuserve: 76424-3027



Portland, OR -- September 2, 1992 -- StoneTablet Publishing today
began shipping  StoneTable(TM) for use with MPW C. StoneTable is a
replacement for the Macintosh List Manager.  A version for use with
Think C has been available for several months.  Also with this release,
StoneTable will now support application defined cell validation
functions for both the Think C and MPW C versions.
 
StoneTable provides a rich set of functions for the Macintosh developer
who needs to display or accept data in a tabular form. Conversion from
the List Manager is straight forward because StoneTable contains
functions with similar names and parameters that are semantically
equivalent. 

Functionality includes:
- variable width columns
- variable height rows
- data in a cell can be edited in place
- no internal limit to the amount of data that can be stored in a cell.
The amount of text displayed in a single cell is only limited by
TextEdit
- multiple cells can be set at once
- mouse down handling provides an optional interface for moving,
copying, selecting, and resizing a column or row plus scrolling and
editing the text in a cell
- columns and rows can be hidden
- optional lines between columns and/or rows can have a user supplied
pattern
- irregular selections can be made
- columns and rows can have default titles (letters, numbers, or blank)
- ability to scroll individual cell text
- columns can have applications supplied titles
- the formatting (font, size, style, first line visible) of cells can
vary from cell to cell
- columns and rows can have application supplied titles
- ability to define a new drawing module for cell data
- optional icon palette to aid in setting table mode for extended
selections, cell edits, etc. Useful for users that limited use of hands
and new users
- define height of column title border and width of row title border
- sort columns and rows
- edit titles in place
- cut/copy/paste cell/title text
- have the cursor automatically change to the proper appearance as it
moves around the table
- user written cell validation functions called during cell edits and
when cell text updated by application.
 
Questions may directed to:
     StoneTablet Publishing
     Internet: stack@techbook.com
     CompuServe: 70303,2546

-- 
stack@techbook.COM  Public Access User --- Not affiliated with TECHbooks
Public Access UNIX and Internet at (503) 644-8135 (1200/2400, N81)
Newsgroups: comp.sys.mac.programmer
From: ramirez@mcclb0.med.nyu.edu
Subject: Postscript downloading.
Organization: NYU Medical Center, New York, NY 10016, USA
Date: Sat, 26 Sep 1992 22:12:03 GMT

Hello all,

	I am looking for the source code (C, C++ or Pascal) to download a
PostScript file to a Laserwriter II.  I need to be able to parse the header
(%%) Fields.  I need to get the name of the machine that created it and the
number of pages.

	I would also appreciate if someone recomends some documentation that
explains how to do this.

Thanks in advance.
Edwin Ramirez.
Newsgroups: comp.sys.mac.programmer
From: us277614@mmm.serc.3m.com (Dave T. Berquist)
Subject: Re: Update events and modal dialog boxes
Organization: 3M Company
Date: Wed, 30 Sep 92 14:58:04 GMT

In article <1992Sep30.002205.14377@hellgate.utah.edu> mshields%peruvian.utah.edu@cs.utah.edu (Michael S Shields) writes:
>	I seem to remember a reference to handling update events for background
>windows when you are in a ModalDialog loop.  I have looked through the tech
>notes and the CSMP digest, but I haven't found anything.  I know you need to
>write a filter proc (no big deal), but I can't remember exatly what you have
>to do for update events.  If anyone could point me in the direction of the
>reference or tell me what to do, I would greatly appreciate it.
>
>Mike Shields
>mshields@peruvian.utah.edu
>
>


TechNote # 304 has all the information.

Dave Berquist
3M Company
Newsgroups: comp.sys.mac.programmer
From: kravitz@foxtail.com (Jody Kravitz)
Subject: Camera Desk Accessory
Summary: Need screen dumps with menus
Keywords: Camera Desk Accessory
Organization: The Foxtail Group
Date: Sun, 4 Oct 1992 00:11:26 GMT

I am documenting the operation of an application and need to get screen
dumps showing menus pulled down.  A long time ago I used to use a desk
accessory called 'Camera', but it crashes my Classic (running OS 6.something).

Is there a version of Camera which will work, or is there another way to
do this ?

Thanks

Jody (kravitz@foxtail.com)
Newsgroups: comp.sys.mac.programmer
From: fixer@faxcsl.dcrt.nih.gov (Christopher Tate)
Subject: Re: Think C bug ? (updated)
Reply-To: fixer@faxcsl.dcrt.nih.gov
Organization: Computer Systems Laboratory, DCRT, NIH
Date: Tue, 6 Oct 1992 12:17:26 GMT

In article <Meessen-061092111325@130.104.58.10>, Meessen@slig.ucl.ac.be
(Christophe Meessen) writes:

>But now, when I write the following program the compilation stops and tell
>me that there is an error :
>
>main() {
>   short i = 3;
>
>   printf( "a number : %d ! \n", i );
>
>   printf( "Hello world !" );  <== Wrong number of parameters here !!!!
>}
>
>It was unexpected and made a bad impression on my friend.
>
>The problem seems related to printf signature (or prototype).

This does indeed look like a prototype problem -- you need to put the
following line at the top of your program:

#include <stdio.h>

<stdio.h> contains the formal prototype for printf(); without it, the compiler
makes assumptions about how a function is to be called based on your first
use of it.  Since the first time you called printf() above you passed it
two parameters, the compiler assumed that printf() *requires* two parameters.

The compiler will never assume that a function can take a variable number of
parameters; you must explicitly tell it so.  For example, the prototype for
printf() in <stdio.h> looks something like this:

int printf(char *, ...);

The ellipsis indicates that the function can take a variable number of 
arguments.

A good way to catch bugs of this sort in your programs (not having the 
correct prototypes for your functions) is to turn on the "Require prototypes"
option in THINK C's Options... dialog.  When you do this, every time the
compiler finds a function that hasn't been prototyped, it will complain.

-- Chris
Newsgroups: comp.sys.mac.programmer
From: crod@cc.curtin.edu.au (Scott Kevill)
Subject: Re: INIT/Startup App for deleting temp files
Organization: Curtin University of Technology
Date: Wed, 7 Oct 1992 01:08:14 GMT

In article <1aq7nfINNd9@stanley.cis.Brown.EDU>, Andrew Gilmartin <Andrew_Gilmartin@Brown.Edu> writes:
> Does there exist a small utility, either as an extension or
> startup application, that deletes all files in one or more
> folders? Thanks.
> 
> -- Andrew

There is a Happiware program by John Rotenstein that may be what
you are after called Temperament.

I haven't used it but a description of it reads: 'Can be configured
to delete any number of temporary files generated by any number of
applications.'

The extension (Control Panel actually) is pre-System 7 so I'm not
sure whether it supports the new system folder hierarchy.

Hope this helps !

Scott

+-----------------------+--------------------------------------+
I Scott Kevill          I   "Be like me, be original"          I
I crod@cc.curtin.edu.au I                              -- Me   I
+-----------------------+--------------------------------------+
Newsgroups: comp.sys.mac.programmer
From: johnsd2@rs6219.ecs.rpi.edu (Daniel Norman Johnson)
Subject: Re: Sound Manager Phooey!
Reply-To: johnsd2@rpi.edu
Organization: Rensselaer Polytechnic Institute, Troy, NY.
Date: Tue, 6 Oct 1992 20:06:12 GMT

In article <1992Oct6.124941.16821@hobbes.kzoo.edu>, k044477@hobbes.kzoo.edu (Jamie R. McCarthy) writes:
|> johnsd2@rpi.edu writes:
|> >Jamie R. McCarthy writes:
|> >> I was going to suggest using a custom double-buffering routine, but I've
|> >> never done it myself so I can't give advice.  I'd try that before
|> >> calling up MacDTS though.
|> >
|> >Waitaminute. I thot double buffering was a trick you could do
|> >to play direct from disk... if not, what is it?
|> 
|> To quote IM VI 22-72: 
[deletia- and he does, too]
|> 
|> Double buffering will allow you to play sounds back-to-back,
|> continuously.  You can get the sounds directly from disk if that's what
|> your doubleback procedure does;  or, you can synthesize them, read them
|> from RAM, whatever.
|> 
|> The initial question (I think?!) was about playing some sounds
|> back-to-back.  Double-buffering will let you do that too (though, if you
|> have the RAM, and you don't mind BlockMove()ing it around, it's easier
|> to set up a SoundHeader with the combined data).

Well, actually it had to do with playing sound asynchronously. They
are never played completely back to back (it doesnt play while
loading the next sound) and may be played with hours between the sounds.

-- 
			- Dan Johnson
And God said "Jeeze, this is dull"... and it *WAS* dull. Genesis 0:0

These opinions have had all identifiying marks removed, and are untraceable.
You'll never know whose they are.
From: mgeorgy@vmsclst1.sc.csupomona.edu
Newsgroups: comp.sys.mac.programmer
Subject: Source Code via FTP!!!!?!?!?!?!???!?!?
Date: 29 Sep 92 07:33:23 GMT
Organization: Computer Science Computational Systems
Nntp-Posting-User: mgeorgy

I was just wondering are there any FTP sites that keep just Mac specific source
code???  Anything like MacTutor stuff, or just anything at all for that matter.

Thanx,
Matt Georgy
California State Polytechnic State University, Pomona  -- Computer Science
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+When It Absolutely, Positively, Has To Be Taken Out Overnight!!!+
+                                                                +
+                                           -- Team Stealth      +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Newsgroups: comp.sys.mac.programmer
From: us277614@mmm.serc.3m.com (Dave T. Berquist)
Subject: Re: QuickTime Compressed PICTs
Organization: 3M Company
Date: Tue, 29 Sep 92 18:23:58 GMT

In article <1992Sep29.162826.11094@waikato.ac.nz> ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University) writes:
>In article <7446@lib.tmc.edu>, draper@odin.mda.uth.tmc.edu (E.J. Draper) writes:
>>
>>
>> How do I go about recreating GetPictInfo() functionality with QuickTime
>> compressed images?
>
>I've never done this, but here's a possible approach:
>
>Draw the picture into a CGrafPort where you've intercepted the new StdPix
>bottleneck (this is the one that gets called to draw compressed pixmaps).
>In your interceptor routine, you should be able to call GetCompressedPixMapInfo
>and get back an ImageDescriptionHandle for the compressed image. This image
>description contains the pixel depth, as well as the compressor ID, custom
>colour table (if any) and other useful info.
>
>> p.s. - Apple engineers: Special casing GetPictInfo() for non- QuickTime
>> data is a real drag.  It greatly diminishes the usefulness of the
>> GetPictInfo() call (as a matter of fact it makes it damn near useless).
>
>Amen. There still seem to be a few gaps in general systemwide support of
>QuickTime capabilities. Has anybody had more success than I have in printing
>QuickTime-compressed images on a LaserWriter?
>
>Lawrence D'Oliveiro                       fone: +64-7-856-2889
>Computer Services Dept                     fax: +64-7-838-4066
>University of Waikato            electric mail: ldo@waikato.ac.nz
>Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+12:00
>Something tells me I'll never be clairvoyant.

Lawrence, your proposed scheme does in fact work.  I have implemented it
without any hitches.

- Dave Berquist
3M Company
From: francois@welchgate.welch.jhu.edu (Francois Schiettecatte)
Newsgroups: comp.sys.mac.programmer
Subject: GIF->PICT converter
Date: 28 Sep 92 15:29:10 GMT
Article-I.D.: welchgat.1992Sep28.152910.5825
Organization: Johns Hopkins Univ. Welch Medical Library



Hi

I would like to know if anyone has ported the pbmplus
package to Think C. Failing that, I would like to know
if anyone has C source code for a utility which
can convert GIF images to PICT images. This utility
needs to be small enough to incorporate into an
XCMD.


thanks

francois



Francois Schiettecatte
Software Engineer
Welch Medical Library
Johns Hopkins University
Internet: francois@library.welch.jhu.edu
Phone	: (410) 955-7581