09-29-2012, 10:51 AM
I believe the following rule functions would be quite useful:
The value of this is emphasized by googling a few keyboard patterns.
As shown by the google hits this idea of not repeating the end character of a pattern before reversing the pattern seems to be roughly as popular (generally the same order of magnitude) as it is to repeat it.
I should clarify that all of the above that are marked as inexpressible can actually be expressed but not generically. They require multi-part duplicate/swap/delete rules that are specific to the input word length (and become increasingly complicated the more sweeps are done). The above proposal creates a general solution that easily allows for multiple sweeps through a pattern without worrying about input lengths.
Finally, as I was writing this I noticed that there is an error in the rules wiki page on the example for the pN function. It shows the following:
this should be "p2"
Thanks!
Code:
Reflect | FN | Duplicate word reversed N times
Backtrack | BN | Duplicate word reversed except for last character N times
Backtrack | b | Duplicate word reversed except for last character
F1 | p@ssW0rd | p@ssW0rddr0Wss@p
B1 | p@ssW0rd | p@ssW0rdr0Wss@p
b | p@ssW0rd | p@ssW0rdr0Wss@p (b/B1 & f/F1 are equivalent just as d/p1 are equivalent)
F2 | p@ssW0rd | p@ssW0rddr0Wss@pp@ssW0rd
B2 | p@ssW0rd | p@ssW0rdr0Wss@p@ssW0rd
The value of this is emphasized by googling a few keyboard patterns.
Code:
pattern : generically expressible by : proposed expression : google hits
qwert (x2)
qwerttrewq : f : f : 10,300
qwertrewq : N/A : b : 79,000
qwert (x3)
qwerttrewqqwert : N/A : F2 : 660
qwertrewqwert : N/A : B2 : 1,170
qwerty (x2)
qwertyytrewq : f : f : 64,700
qwertytrewq : N/A : b : 9,730
qwe (x3)
qweewqqwe : N/A : F2 : 30,200
qwewqwe : N/A : B2 : 86,200
qwe (x4)
qweewqqweewq : (f p1) : B3 : 13,900
qwewqwewq : N/A : F3 : 17,900
qwertyuiop (x2)
qwertyuioppoiuytrewq : f : f : 7,340
qwertyuiopoiuytrewq : N/A : b : 4,360
123456789 (x2)
123456789987654321 : f : f : 685,000
12345678987654321 : N/A : b : 410,000
As shown by the google hits this idea of not repeating the end character of a pattern before reversing the pattern seems to be roughly as popular (generally the same order of magnitude) as it is to repeat it.
I should clarify that all of the above that are marked as inexpressible can actually be expressed but not generically. They require multi-part duplicate/swap/delete rules that are specific to the input word length (and become increasingly complicated the more sweeps are done). The above proposal creates a general solution that easily allows for multiple sweeps through a pattern without worrying about input lengths.
Finally, as I was writing this I noticed that there is an error in the rules wiki page on the example for the pN function. It shows the following:
Code:
p3 | Pass | PassPassPass
this should be "p2"
Thanks!