222 lines
8.2 KiB
Plaintext
222 lines
8.2 KiB
Plaintext
Date: Sat, 19 Dec 92 12:41:21 PST
|
|
Reply-To: <cocot@osc.versant.com>
|
|
Message-ID: <surfpunk-0020@SURFPUNK.Technical.Journal>
|
|
Mime-Version: 1.0
|
|
Content-Type: text/plain
|
|
From: cocot@osc.versant.com (Captain COCOT)
|
|
To: surfpunk@osc.versant.com (SURFPUNK Technical Journal)
|
|
Subject: [surfpunk-0020] WAREZ: Getting the right phone number
|
|
Keywords: surfpunk, warez, phone number, perl, chortle
|
|
|
|
Looks useful. Try it next time you order a Personal 911 service.
|
|
|
|
Captain Cocot
|
|
________________________________________________________________________
|
|
________________________________________________________________________
|
|
|
|
Source: Yucks Digest Sat, 19 Dec 92 Volume 2 : Issue 62
|
|
Property-Of: Written and placed in the public domain by Howard A. Landman
|
|
Language: perl
|
|
________________________________________________________________________
|
|
|
|
Date: Mon, 4 May 92 18:18:40 PDT
|
|
From: landman%xpoint@uunet.UU.NET (Howard Landman)
|
|
Subject: Getting the right phone number
|
|
To: eniac
|
|
|
|
On moving into my new house, I had to get 2 new phone numbers. I tend to
|
|
prefer numbers that spell something. I followed the procedure outlined
|
|
below and, as a result, now have the following numbers:
|
|
|
|
Main: (408) CHORTLE
|
|
Computer: (408) CHIPSYN
|
|
|
|
I liked chortle because any word of Lewis Carroll's is a word of mine.
|
|
ChipSyn is appropriate because I mostly do silicon compilation and
|
|
logic synthesis for a living.
|
|
|
|
How did I manage this? It's not too hard ...
|
|
|
|
HOW TO GET THE PHONE NUMBER OF YOUR DREAMS (in 8 easy steps)
|
|
|
|
1. Determine the list of available prefixes. The phone company will
|
|
happily provide you with this.
|
|
|
|
2. Ignore all prefixes which contain 0 or 1. There are no letters which
|
|
correspond to them. (However, you may want to consider them in step
|
|
5 below.)
|
|
|
|
3. Edit the "prefixes" program (appended below) to match your set of
|
|
prefixes. You may also need to change the path to Perl if your
|
|
system has it somewhere else. Make it executable with "chmod +x prefixes".
|
|
|
|
4. Run "prefixes YOUR_PREFIXES > prefixes.out". For example, if your
|
|
available prefixes are 555 and 234 (usually it is a much longer list),
|
|
run "prefixes 555 234 > prefixes.out". Order of the prefixes has no
|
|
effect, as they get sorted anyway. It is most efficient to do all of
|
|
your prefixes in one run, since the dictionary then only needs to be
|
|
consulted once.
|
|
|
|
5. Edit the prefixes.out file. It contains not only all 7-letter words
|
|
which match valid prefixes, but also shorter words that might *begin*
|
|
a combination of words that match a number. For example, the output
|
|
of "prefixes 779" is:
|
|
|
|
779- pry,spy,SSW
|
|
779-24 psych
|
|
779-243 psyche
|
|
779-2442 psychic
|
|
779-246 psycho
|
|
|
|
"psychic" is the only complete word match, but other combinations may be
|
|
suggested, such as "pry-open", "psycho-1", or "spy-hole". For each
|
|
partial, either come up with one or more combinations that you like, or
|
|
delete it. Also, see if any of the prefixes suggest good non-word
|
|
possibilities. For example, "248" might suggest "248-1632". Don't
|
|
forget that simple repetition is mnemonic, so that, for example, a
|
|
number like "248-8888" would be easy to remember. You now have a list
|
|
of phone numbers.
|
|
|
|
6. In a better world, the phone company would let you submit an arbitrary
|
|
list of numbers and give you the first one on the list that is available.
|
|
Unfortunately, to save themselves work, they restrict you to a maximum
|
|
of ten tries, after which they just assign you a number. Since your list
|
|
at this point is likely MUCH longer than ten numbers, you need to prescreen
|
|
them first. Begin with all numbers on your list unmarked:
|
|
a. Pick the best unmarked number and call it. The best time to do this
|
|
is in the middle of the day, when you are unlikely to wake anyone up.
|
|
b. If it rings, it's in service. Hang up and mark it as in use. If the
|
|
word is REALLY good, you can stay on the line and tell the person who
|
|
answers what a great number they have and why. I did that for "chuckle",
|
|
which turned out to be someone at a bank. Made her whole day.
|
|
c. If you get a "not in service" or "that number has been changed" message,
|
|
you've hit paydirt. Mark the number as available.
|
|
d. Repeat a,b,c until you have at least two and not more than ten available
|
|
numbers.
|
|
|
|
7. Sort your list of available numbers, most desirable first.
|
|
|
|
8. Call up the phone company and order your phone service, asking for the
|
|
most desirable number. Hear the person express amazement when your first
|
|
choice is acceptable! (The main chance of failure is if the number got
|
|
assigned since you tried it. In that case, give your next most desirable
|
|
number.)
|
|
|
|
--------------------- Save following as "prefixes" ---------------------
|
|
#!/usr/local/bin/perl
|
|
#
|
|
# This program searches for words which are also phone numbers which
|
|
# have one of a set of specified prefixes.
|
|
#
|
|
# Written and placed in the public domain by Howard A. Landman
|
|
#
|
|
if (@ARGV) {
|
|
@prefixes = @ARGV ;
|
|
} else {
|
|
# Ignore 241,261 since there are no letter for 1.
|
|
@prefixes = (236,243,244,246,247,248,249,296,345,553,554,575,984,985,983) ;
|
|
}
|
|
|
|
$letters[0] = '' ;
|
|
$letters[1] = '' ;
|
|
$letters[2] = 'abc' ;
|
|
$letters[3] = 'def' ;
|
|
$letters[4] = 'ghi' ;
|
|
$letters[5] = 'jkl' ;
|
|
$letters[6] = 'mno' ;
|
|
$letters[7] = 'prs' ;
|
|
$letters[8] = 'tuv' ;
|
|
$letters[9] = 'wxy' ;
|
|
|
|
# This information is redundant, but it was faster to type it in than
|
|
# to code the loop to generate it from @letters.
|
|
$number{'a'} = 2 ;
|
|
$number{'b'} = 2 ;
|
|
$number{'c'} = 2 ;
|
|
$number{'d'} = 3 ;
|
|
$number{'e'} = 3 ;
|
|
$number{'f'} = 3 ;
|
|
$number{'g'} = 4 ;
|
|
$number{'h'} = 4 ;
|
|
$number{'i'} = 4 ;
|
|
$number{'j'} = 5 ;
|
|
$number{'k'} = 5 ;
|
|
$number{'l'} = 5 ;
|
|
$number{'m'} = 6 ;
|
|
$number{'n'} = 6 ;
|
|
$number{'o'} = 6 ;
|
|
$number{'p'} = 7 ;
|
|
$number{'r'} = 7 ;
|
|
$number{'s'} = 7 ;
|
|
$number{'t'} = 8 ;
|
|
$number{'u'} = 8 ;
|
|
$number{'v'} = 8 ;
|
|
$number{'w'} = 9 ;
|
|
$number{'x'} = 9 ;
|
|
$number{'y'} = 9 ;
|
|
|
|
foreach $p (@prefixes)
|
|
{
|
|
$is_a_prefix{$p} = 1 ;
|
|
}
|
|
|
|
open(DICT,'/usr/dict/words') ;
|
|
while (<DICT>)
|
|
{
|
|
chop ;
|
|
next if (7 < length) ; # word is too long for a phone #.
|
|
$Word = $_ ;
|
|
# lowercase and convert to digits
|
|
($word = $Word) =~ tr/A-Z/a-z/ ;
|
|
@c = split(//,$word) ;
|
|
@n = grep($_ = $number{$_},@c) ; # using grep as mapcar
|
|
next if (scalar(@n) != scalar(@c)) ; # some illegal letter
|
|
# check against prefixes
|
|
$prefix = join('',@n[0..2]) ;
|
|
if ($is_a_prefix{$prefix})
|
|
{
|
|
# build number (with hyphen)
|
|
$number = join('',$prefix,'-',@n[3..6]) ;
|
|
# one number may equal more than one word, so append
|
|
$word{$number} .= "$Word," ;
|
|
}
|
|
}
|
|
|
|
foreach $number (sort keys %word)
|
|
{
|
|
$Words = $word{$number} ;
|
|
chop $Words ; # chop trailing comma
|
|
print "$number\t$Words\n" ;
|
|
}
|
|
|
|
|
|
________________________________________________________________________
|
|
|
|
|
|
The "Yucks" digest is a moderated list of the bizarre, the unusual,
|
|
the sometimes risque, the possibly insane, and the (usually) humorous.
|
|
It is issued on a semi-regular basis, as the whim and time present
|
|
themselves.
|
|
|
|
Back issues and subscriptions can be obtained using a mail server. Send
|
|
mail to "yucks-request@cs.purdue.edu" with a "Subject:" line of the single
|
|
word "help" for instructions.
|
|
|
|
Submissions and problem reports should be sent to spaf@cs.purdue.edu
|
|
|
|
________________________________________________________________________
|
|
________________________________________________________________________
|
|
|
|
The SURFPUNK Technical Journal is a dangerous multinational hacker zine
|
|
originating near BARRNET in the fashionable western arm of the northern
|
|
California matrix. Quantum Californians appear in one of two states,
|
|
spin surf or spin punk. Undetected, we are both, or might be neither.
|
|
________________________________________________________________________
|
|
|
|
Send postings to <surfpunk@osc.versant.com>, subscription requests
|
|
to <surfpunk-request@osc.versant.com>. MIME encouraged.
|
|
Xanalogical archive access soon. Thank YOU for using SMTP.
|
|
________________________________________________________________________
|
|
________________________________________________________________________
|
|
|