From: richard@octel.com (Richard Karasik)
Newsgroups: rec.puzzles
Subject: Blacksmith follow up
Date: 4 Sep 92 18:45:20 GMT
Organization: Octel Communications Corporation

As promised here is the followup to the blacksmith
code question of a week ago - The lates came
in a surprise phone call this morning from japan! Thanks
andy for Charleston and T JAMS UNDER - a meaningful phrase
to some I suppose.

Thanks to all who played and now I have more damn codes :)
than I know what to do with - I dont even own this much stuff!!

- How about part II of the puzzle -what phrase can you come up with that
has 10 unique letters, and only 10 -sort of 
prompted by some of the answers below, and more recently by
t jams under

Richard karasik - Octel
==================================================================

abridgment absorptive adsorptive alpenstock angiosperm aureomycin
background bankruptcy bichromate birthplace blacksmith breakpoint
campground chairwomen chivalrous chlorinate chrysolite clothesman
cognizable compatible compulsive countywide decryption demography
depositary discrepant disgruntle downstream exhaustion exhumation
farsighted fishmonger fluoridate formidable functorial gelatinous
headstrong hospitable hyperbolic hypoactive hypodermic impersonal
isothermal judicatory lacustrine largemouth lawrencium lectionary
mackintosh manuscript mendacious metaphoric mineralogy motherland
outlandish paintbrush palindrome pathogenic pectoralis playground
playwright precaution producible profligacy profligate profundity
promulgate proscenium prudential quadriceps republican resumption
roundtable shadflower sicklewort spheroidal subtrahend surjection
suzerainty switchgear tambourine timberland upholstery volumetric
worshipful

   From Jaroslaw Tomasz Wroblewski jwr@math.Princeton.EDU
----------------------------------------------------------------
 
abridgment alpenstock Andromache angiosperm aureomycin background
bankruptcy bichromate birthplace blacksmith Blackstone breakpoint
Bridgetown Buchenwald campground chairwomen Charleston chivalrous
chlorinate clothesman cognizable compatible Copernicus countywide
Culbertson Cumberland decryption demography depositary discrepant
disgruntle downstream exhaustion exhumation farsighted
fishmonger Fitzgerald fluoridate formidable Gatlinburg gelatinous
Gilbertson headstrong Heraclitus Hieronymus hospitable hyperbolic
hypoactive hypodermic impersonal isothermal judicatory lacustrine
largemouth lawrencium lectionary mackintosh manuscript McLaughlin
McNaughton mendacious metaphoric mineralogy motherland outlandish
paintbrush palindrome pathogenic playground playwright Polyphemus
precaution producible profligacy profligate profundity promulgate
proscenium prudential quadriceps republican resumption 
roundtable spheroidal Strickland subtrahend Sutherland suzerainty
switchgear tambourine timberland upholstery Vanderbilt Volkswagen

  From Jesse Mundis  jesse@uts.amdahl.com 
----------------------------------------------------------
postmarked

  From keithv@berkeley.edu
----------------------------------------------------------
dumbwaiter

   From Tim Chow     tycchow@math.mit.edu
----------------------------------------------------------
Used-car dealers do this to avoid BANKRUPTCY (or even BANKRUPTCIES)
   From Ewart Shaw   strgh@csv.warwick.ac.uk

I know of 1795 such words (actually I don't really know them, since I
couldn't recite them).

Since they would be a little long to e-mail, just feed your dictionary
into this perl script.

while ( <STDIN> ) {
    chop;
    tr/A-Z/a-z/;
    next if length != 10;
    $x = pack ( 'c*', sort ( unpack ( 'c*', $_ ) ) );
    next if $x =~ /(.)\1/;
    print "$_\n";
}

    From  Nick Holloway    alfie@dcs.warwick.ac.uk
----------------------------------------------------------
Try low prices with an x for zero.

    From antosz@scorpio.ic.cmc.ca
----------------------------------------------------------

From peter_anderson@macgate.csuchico.edu
 
I was, by coincidence, wondering the same thing recently. I checked and found
the original word through which I learned of this code. Somewhat appropriately
it is MANUSCRIPT.
----------------------------------------------------------
I don't know any ten-letter words for this, but one used by a local
chain was "fancy store".

    From Wayne Hathaway    wayne@Ultra.COM
----------------------------------------------------------

	Well, I just whipped up a quick C program and searched through
/usr/dict/words and found the following words (yep, 98 of em, not counting
blacksmith!):

-----BEGIN-----
abridgment absorptive adsorptive alpenstock angiosperm aureomycin
background bankruptcy bichromate birthplace blacksmith blackstone
breakpoint bridgetown buchenwald campground chairwomen charleston
chivalrous chlorinate chrysolite clothesman cognizable compatible
compulsive countywide culbertson cumberland decryption demography
depositary discrepant disgruntle downstream exhaustion exhumation
farsighted fishmonger fitzgerald fluoridate formidable functorial
gelatinous gilbertson headstrong heraclitus hieronymus hospitable
hyperbolic hypoactive hypodermic impersonal isothermal judicatory
lacustrine largemouth lawrencium lectionary mackintosh manuscript
mendacious metaphoric mineralogy motherland outlandish paintbrush
palindrome pathogenic pectoralis playground playwright precaution
producible profligacy profligate profundity promulgate proscenium
prudential quadriceps republican resumption roundtable shadflower
sicklewort spheroidal strickland subtrahend surjection sutherland
suzerainty switchgear tambourine timberland upholstery vanderbilt
volkswagen volumetric worshipful
------END------

	Note that I have converted all of them to lowercase, and made
case not significant.  Here's the code to do it (below).  Put this in
a file called foo.c, compile it, and run

		foo </usr/dict/words | sort | uniq

on your favorite Unix machine.  Have fun, and enjoy!

-----BEGIN-----
#include <stdio.h>
#include <ctype.h>

main()
{
    char word[20];
    int i, let[26];

    while (gets(word)) {
	if (strlen(word) != 10)
	    continue;
	for (i=0; i < 10; i++)
	    if (isalpha(word[i]))
		word[i] = tolower(word[i]);
	    else
		break;
	if (i != 10)
	    continue;
	for (i=0; i < 26; i++)
	    let[i] = 0;
	for (i=0; i < 10; i++)
	    if (let[word[i] - 'a'])
		break;
	    else
		let[word[i] - 'a'] = 1;
	if (i == 10)
	    puts(word);
    }

    return 0;
}
------END------

     From David Wagner  dawagner@princeton.edu
-------------------------------------------------------------
It doesn't have to be a single word -- e.g. HONEST FIRM was used by K-Mart for
a while.


 Brian G. Gordon	briang@Sun.COM 

-------------------------------------------------------------

DUMBWAITER
VICKSBURGH 
-------------------------------------------------------------

I used to work at Osco Drug in my high school days, and we used
the word "CHARLESTON" for such a pricing code.  It was further 
complicated by using "P" to represent a "dummy" digit (to make
the cost and the retail the same length), and by using "X" to
represent a repeat of the preceding digit.  For example,
$0.99 would have been coded as OX, not OO.  But if the retail
price was over a dollar, the cost code would have been POX or OXP.


Brad Johnson (johnson@ebony.rtsg.mot.com)
   And several others -- thank you all.
-- 
|UUCP  richard@octel.com                 VOICE (HEY YOU!) or 408 321 6372
| 
|             Speaker for the dead - among them:
|                 Liberty, Justice, Freedom
Newsgroups: rec.puzzles