April
Sub-archives
Apr 13, 2009
sp3dl3t v0.2
. q5t g1d
Overview:
sd3dl3t is a typed shorthand style. It's not a method that demands you learn any phonetic chords or apply a new keyboard layout. sp3dl3t is adapted from normal IM/SMS/l33t. sp3dl3t uses a normal US qwerty keyboard and uses all the printing keys (alphas, nums, and punctuations).
The rules are simple and few:
1. All unshifted chars are sounds in English, except - and =.
One sound per char. One char per sound.
24 of the 26 alphabet letters keep (one of) the sound(s) you'd expect. c and q are different.
All numbers make vowel sounds, except when surrounded by space
Numbers surrounded by space are numbers
2. All shifted chars (plus - and =) are words.
Shifted letters are macros you assign.
Assign a macro by using the shifted letter at the beginning of the word it will replace.
Reassign a macro by reusing the same letter at the beginning of a different word.
Shifted numbers or punctuation have set meaning associated with the char, though the precise meaning depends on context.
3. Shorten everything as much as you can, but not so it's confusing.
Changes from v0.1
1. q and , swapped
2. 7 assigned to short u
3. shifted alphas assigned to user-generated macros
4. ^ reassigned
The keys
| sound |
sp3dl3t |
example |
|---|---|---|
| apple day bat chair dog elephant beer about, taken fish gray help icky ice jamison kelp link many never thing stop ocean hook scowl toy short pear rain soup sharp tummy weather with uncle ruby unisex violence whence mirage exit yoeman ziff |
a 4 b c d e 3 / f g h i 1 j k l m n , o 0 8 6 9 5 p r s q t ' . u 2 7 v w ; x y z |
apl d4 bat c4r dg, dog lefnt b3r /b6t, t4kn fq gr4 hlp ik3 1s j4m/sn klp lnk mn3 nvr ., stop oqn h8k sk6l t9 q5t p4r r4n s2p qrp tm3 we'r w. unkl r2b3 7nisx v1/lns wens m/ro: xit y0mn zf |
| currently unassigned: [ ] \ ` |
| sp3dl3t wrdz |
meaning |
|---|---|
| ~ ! @ # $ % ^ & * ( ) - _ = + | : " < > ? currently unassigned: { } |
about, aproximately emphasis, exclamation at, by, near, number money, dollar percent, meeting, conversation, face-to-face shift, alternate, alternately, on the other hand, although and kiss, smack open, introduce, start, begin close, end, stop minus, without, no, disagree, subtract, decrease, not ok underscore, emphasize, underline equal, result, balance, equivocate plus, with, yes, agree, add, increase, alright pipe, give, carry, feed, transmit, transport separate, gap, space (between) quote less, fewer, smaller more, greater, bigger question |
| ~@ ~@) ~# ~< ~> ~<$$ |
somewhere near somewhere near the end (of) about this many at least at most I don't know how much, but it wasn't cheap |
| macro assignment: 1 wz n Mnhatn .,k, ~ . m8v3 M |
I was in Manhattan thinking about the movie 'Manhattan.' |
Apr 11, 2009
sp3dl3t notes
OK, so Todd was asking. Here's more about sp3dl3t
I'm no expert on stenography or shorthand, but AFAICT most shorthand systems are based on written or expanded alphabets. The ones that are based on typed alphabets are either stenographic ones based on chords or they're adapted from the handwritten systems.
Either way, it sure seems like when people put together any kind of typed shorthand, they either completely ignore a bunch of the keys on the keyboard, or they want to reinvent the keyboard layout altogether.
sp3dl3t is basically an adapted form of a universal english alphabet that tries to use as few keystrokes as possible while utilizing the entire QWERTY (US) keyboard. l33t kidz already get the idea of number/letter substitution, and to me l33t in general understands the semiotic play inherent in the keyboard-as-ground. If you're already comfortable with l33t, or even with the ultra-abbreviated English that's evolving out of texting & twittering, this shorthand style should be a breeze, since you're already used to looking at & thinking of your keyboard in a slightly tweaked way.
There's no actual system to learn, unlike in just about every shorthand method, just a couple rules, and those come pretty naturally if you're already texting. Basically, the whole thing comes down to this: make it as short as possible while using actual English. In that, it's not the same as the total mangling you do in SMS. Texting is more about transmission of memes and signifiers in the most compact way possible and elegance or precision is not ever really the point, but the idea of a shorthand is about typing real sentences at the speed you think or hear.
Every lowercase character stands for a unique sound. Mostly, all the lowercase alphabetical chars (a-z) keep their meaning that you already know, except for q and c. q now makes the sound 'ng' and c is now 'ch' (the hard c and q are handled by k, and the soft c is handled by s, to c and q weren't needed for those). All the numbers make vowel sounds, and 4 3 1 0 come right from l33t. U is weird, cuz there's no close number, so I picked ], since it looks like a u. l33t vowels 4 3 1 0 and ] are long, alpha vowels a e i o u are short. To keep it easy, the vowel sounds related to o and 0 look like 0-- 6 (like the ow in now) 8 (oo, of course) and 9 (oy in toy). 5's kind of odd in that it sounds 'or' (like in sort) but kind of looks like 'or' anyway.
Every shifted char stands for a word. Right now the only allowed shifted chars are numbers and nonletters. That might change. They should be used only when they actually shorten something. Mostly, they stand for what you already think they stand for. In many cases, they stand for more than one thing. For example, + can be plus, with, yes, agree, add, increase, or alright, depending on context. I haven't thought about all the possibilities here, so it probably needs some hashing out. The idea of introducing a level of semiotic disruption into the system is kind of nice-- you've got a strict correlation with the lowercase vowels and a pretty loose play with the uppercase ones. It's a little like heiroglyphics & kanji, now that I think about it....
This is version 0.1. I'm already thinking about whether some chars shouldn't be reassigned-- like making q be 'sh' for example and , be 'ng.' Or, whether it's possible to assign all the major dipthongs to a part of the keyboard...
Apr 10, 2009
sp3dl3t v0.1
frst draft /f l3t-b4sd ,5thnd (First draft of l33t-based shorthand)
Here are the r2lz:
1. mnt t b ]zd n stndrd k3brd : meant to be used on a standard keyboard
2. vr3 k4rktr z t1pd w' sql k3str0k n0 uprk4s r ,ftd crs : every character is typed with a single keystroke. No uppercase or shifted chars
3. l . ## r ]zd fr v6l s6nz 5 n 9 r dpthqz : all the numbers are used for vowel sounds (5 and 9 are dipthongs)
4. ## srndd b1 sp4s r ## : numbers surrounded by space are numbers
5. 4 3 1 0 ] r lq v6lz : 4,3,1,0,] are the long vowels
6. l v6l ltrz r ,5t : all vowel letters are short
7. 1 [n3k s6n r dip.q pr cr : one unique sound or dipthong per char
8. evr3.q t1pd w. f]est # crz : everything typed with fewest number of chars
9. ,ftd crz r wrdz : shifted chars are words
10. dubld ,ftd crz r plrl : doubled shifted chars are plural
11. f yr sp3dl3t wrd z knfzq kuz tz 2 ,rt pt v6lz n . xntd silublz : if your sp3dl3t word is confusing because it's too short, put vowels in the accented syllables
- not assigned: - = \ [ `
| sound |
sp3dl3t |
example |
|---|---|---|
| apple day bat chair dog elephant beer about, taken fish gray help icky ice jamison kelp link many never thing stop ocean hook scowl toy short pear rain soup sharp tummy weather with uncle ruby unisex violence whence mirage exit yoeman ziff |
a 4 b c d e 3 / f g h i 1 j k l m n q o 0 8 6 9 5 p r s , t ' . u 2 ] v w ; x y z |
apl d4 bat c4r dg, dog lefnt b3r /b6t, t4kn f, gr4 hlp ik3 1s j4m/sn klp lnk mn3 nevr .q stop, ! o,n h8k sk6l t9 ,5t p4r r4n s2p ,rp tm3 we'r w. unkl r2b3 ]nisx v1/lns wens m/ro: xit y0mn zf |
| sp3dl3t wrdz |
meaning |
|---|---|
| ~ ! @ # $ % ^ & _ + | " < > ? |
about, aproximately emphasis, exclamation at, by, near, number money, dollar percent grin, smile and minus, without plus, with pipe, give, carry, feed quote less, fewer, smaller more, greater, bigger question |
| ~@ ~# ~< ~> ~<$$ |
somewhere near about this many at least at most I don't know how much, but it wasn't cheap |
|
|
Apr 09, 2009
rss fixed. !!!.
OK-- successfully upgraded this blog to run svn/trunk version of QuillsEnabled & RemoteBlogging. Current egg version is 1.7.0b3 Just tested and outbound rss seems to be working fine.
You may now subscribe to me. Gently, please.
Many thanks to Jan Hackel & quills-dev team.
Apr 03, 2009
Regex cheat sheet
From my Python class notes...
re.compile()
useful when there will be multiple results or searching over iteration
here's the pattern:
-assign re.compile(r'REGEX') to an OBJECT
patternobj = re.compile(r'REGEX')
-use OBJECT.search(VAR)
for ITERATOR in SOMEFILE.readlines():
if patternobj.search(ITERATOR):
print ITERATOR
re.search()
useful for one-off matched
here's the pattern:
if re.search(r'REGEX', THING TO LOOK IN): do something
re.match()
always matches from the start of the string
here's the pattern:
if re.match(r'REGEX', THING TO LOOK IN): do something
re.compile() produces a PATTERNOBJ
re.search() and re.match() produce a MATCHOBJ
MATCHOBJ.group()
gets the text matched by the group
here's the pattern:
string1 = "Find REGEXTHING in this sentence"
matchobj = re.search(r'(REGEX)', string1) #Note parens
id = matchobj.group(1) #Num refers to first paren group
or:
OBJECT = re.compile(r'REGEX')
matchobj = OBJECT.search(THING TO LOOK IN)
if (matchobj):
print "the matched text was "" + matchobj.group(1) +"
MATCHOBJ.groups()
returns all parens groups in a tuple
re.findall()
finds all matches (returns a list?)
here's the pattern:
OBJECT = re.findall(r'REGEX', THING TO LOOK IN)
as in
text = "High: 33, low: 17"
temp_tuples = re.findall(r'(\w+):\s+(\d+)', text)
print temp_tuples #[('High', '33'), ('low', '17')]
PATTERNOBJ.sub()
does search and replace on text returned by re.compile
here's the pattern:
OBJECT = ("some", "tuple", "of", "strings")
OBJ2 = re.compile(r'REGEX')
for ITERATOR in OBJ2:
ITERATOR = OBJ2.sub('THING TO SWAP IN', ITERATOR)
print ITERATOR
options:
ITERATOR = OBJ2.sub('THING TO SWAP IN', ITERATOR, count=n)
#limits number of substitutions in a found term
PATTERNOBJ.subn()
like sub(), but returns a 2-element tuple containing the subbed text
and # of substitutions made
(THING TO LOOK IN, NUM) = PATTERNOBJ.subn('THING TO SWAP IN', THING TO LOOK IN)
**
Flags, classes, qualifiers, and metachars
^ = beginning of line
$ = eol
\A = beginning of line
\Z = end of line
(?i) = case insensitive; put before string
re.I = case insensitive alt; put after THING TO LOOK IN
re.MULTILINE = allows ^ and $ to match on start or end of lines
re.DOTALL = splits a string allowing regex as the splitter
\d = digit 0-9
\w = word char: letters, nums or underscores; contains \d
\s = any whitespace char
\D = not in \d
\W = not in \w
\S = not in \s
[abcdef] = custom wildcard class
[^] = negates custom char class
string.hexdigits = list of hex digits
string.ascii_letters
string.ascii_lowercase
string.ascii_uppercase
string.digits
string.punctuation
string.uppercase
string.whitespace
string.printable
. = wildcard
\ = toggle/escape the char's function
* = 0 or more
+ = 1 or more
? = 0 or 1
{3,10} = between 3 and 10 (inclusive)
{3,} = 3 or more
() = grouping
() \1 = backreference
\b = boundary char, finds word boundary (whitespace, punctuation)
**
Working with files
FILEOBJ.read()
the idea is to open the while file into a string and then apply the regex to it
here's the pattern:
FILE = open('FILENAME')
TEXT = FILE.read()
if re.search(r'REGEX', TEXT, re.I):
print "I found this: ", text
