What happened to the Messenger Plus! forums on msghelp.net?
Shoutbox » MsgHelp Archive » Messenger Plus! for Live Messenger » Scripting » Plug-Ins » Readable Misspeller StuffPlug NG Talker

Readable Misspeller StuffPlug NG Talker
Author: Message:
Improfane
Junior Member
**

Avatar
Woooohoo Bunny!

Posts: 28
Joined: May 2003
O.P. Cool  Readable Misspeller StuffPlug NG Talker
Hello,

Tihs sfufuptlg takler, sbarlmecd up the midlde ptars of words so that dtpiise mlelgsnipiss, you can read them elfrleosftsy!

or if you prefer:

This stuffplug talker, scrambled up the middle parts of words so that dispite misspellings, you can read them effortlessly!

It is based on the concept: http://216.239.59.104/search?q=cache:R79FQj60fnkJ...t.davis/Cmabrigde/
I found this fascinating so I made a talker to do it for me.

Save as "talker.unread.js" in your StuffPlug NG Talker folder and use:
/xtalk unread <your text here>
or to make all your messages use it;
/xautotalker unread
to use!

code:
// Unreader written by Improfane 2005
// Please do not remove this message
// original concept: http://216.239.59.104/search?q=cache:R79FQj60fnkJ...t.davis/Cmabrigde/ (Google Cache)

var words = /[a-z]+/gi ;
// regular expression to grab all words

function talker(input) {
return readable_scrambler(input) ;
}

function readable_scrambler(input) { // makes a readable scramble of an entire string
var matches = input.match(words) ; // list of all words
for (cur_word=0; cur_word < matches.length ; cur_word++) { // cycle through each word
    word = matches[cur_word] ;
    input = input.replace(word, readable_word_scramble(word) ) ;
    }
return input ;
}

function readable_word_scramble(word) { // scrambles the middle part of a string
cur_word_length = word.length ; // current word length

if (cur_word_length>3) { // prevents redundant scrambling
cur_word_middle = word.substring(1,cur_word_length-1) ; // the middle part of the word, from the 2nd letter to the 2nd to last letter
new_middle = scramble(cur_word_middle) ; // scrambles the middle word
return word.replace(cur_word_middle,new_middle) ;
} else return word ;
}

function scramble(input) { // scrambles any input
// written by Improfane 2005
if (input.length<=1) return input ; // nothing at all to scramble
var new_word = "" ;

for (cur_letter=0 ; cur_letter = input.length ; cur_letter++) { // cycle through each letter
random_letter = input.charAt(ranNum(0,input.length)) // get random letter from the possible characters available
input = input.replace(random_letter,"") ; // remove the used letter from the possible characters available
new_word += random_letter ; // adds the random letter to the new string
    }
return new_word ;
}

function ranNum(nFrom,nTo) {
return Math.floor(nFrom + (nTo-nFrom + 1) * Math.random()) ;
// returns a random number
}


It is having some problems with 3 letter words, I'll figure it out, eventually.

[ I haven't visited these forums for a while so here is my response to CookieRevised's post: http://shoutbox.menthix.net/showthread.php?tid=51...d=548567#pid548567 ]
I wrote a generic scrambling function that is irrelevant to the talker above.

All this does is scramble whatever you feed it.

The talker, takes the 2nd letter to the 2nd to last letter and feeds it to the scrambler.

Understand? This is why only the middle letters get scrambled. However, I encountered a bug where despite this, the entire 3 letter string would be passed and therefore scrambled: "the" -> "teh" where instead it should be "the" as the "e" has nowhere to move.

That's why there isn't anything flawed with the scrambler.

I've realised that if it was to be completely modular, the actual talker would be a separate module, named something like "ReadableMispell()" that would itself check the letter length, and inturn call upon the scrambling module.

You didn't say that, you said my scrambling routine was broken.

Instead, I only used a scrambler routine that I've already written in a previous project. Where the length was irrelevant - it was a password generator I believe.

What you are saying would be correct if my scrambler was specific to this project, alas it is not, the check of length would be redundant.

If you want to talk efficiency, I understand your point as scrambling twice is pointless when you can simply check length and therefore valid. I didn't realise you meant this.

After re-reading this (just checking my Google trail)
It doesn't seem to be understood what I mean by modularity. J-Thread wants to remove all the functions and put it as messiness. Cookie didn't need to be an ass about it, either. Explain in English rather than randomly exclaim 'Fix your scrambler' and not tell me how. As far as I'm aware, the word scrambler is not broken. The word one was.

I'd rather not tie the the talker and the word randomizer together. I'd rather be able to reuse it later on. Hence the generic word and scrambler functions.

The only bug was the making [the] to [teh]. The length check is necessary to fix this unless you put word dependent stuff in the first loop. Cleanliness and readability is my mantra.

You can use the scramble function above to mix up any string of characters, for example:
a password, scramble("abcdefghijklmnopqrstuvwxyz0123456789").substring(0,8);

In hindsight, the word check should probably be in the main loop.

This post was edited on 09-26-2007 at 06:04 PM by Improfane.
10-08-2005 10:32 AM
Profile E-Mail PM Find Quote Report
« Next Oldest Return to Top Next Newest »

Messages In This Thread
Readable Misspeller StuffPlug NG Talker - by Improfane on 10-08-2005 at 10:32 AM
RE: Readable Misspeller StuffPlug NG Talker - by t1a0s on 10-08-2005 at 11:47 AM
RE: Readable Misspeller StuffPlug NG Talker - by DragonX on 10-08-2005 at 11:54 AM
RE: Readable Misspeller StuffPlug NG Talker - by qgroessl on 10-08-2005 at 12:09 PM
RE: Readable Misspeller StuffPlug NG Talker - by Impheatus on 10-08-2005 at 02:38 PM
RE: Readable Misspeller StuffPlug NG Talker - by cardshark on 10-08-2005 at 03:41 PM
RE: Readable Misspeller StuffPlug NG Talker - by Improfane on 10-08-2005 at 04:51 PM
RE: Readable Misspeller StuffPlug NG Talker - by spokes on 10-08-2005 at 05:44 PM
RE: Readable Misspeller StuffPlug NG Talker - by prashker on 10-08-2005 at 05:56 PM
RE: Readable Misspeller StuffPlug NG Talker - by J-Thread on 10-08-2005 at 10:34 PM
RE: Readable Misspeller StuffPlug NG Talker - by CookieRevised on 10-08-2005 at 10:38 PM
RE: RE: Readable Misspeller StuffPlug NG Talker - by Improfane on 10-09-2005 at 12:00 AM
RE: RE: RE: Readable Misspeller StuffPlug NG Talker - by CookieRevised on 10-09-2005 at 12:44 PM
RE: Readable Misspeller StuffPlug NG Talker - by dotNorma on 10-09-2005 at 01:45 AM
RE: Readable Misspeller StuffPlug NG Talker - by TheBlasphemer on 10-09-2005 at 10:58 AM


Threaded Mode | Linear Mode
View a Printable Version
Send this Thread to a Friend
Subscribe | Add to Favorites
Rate This Thread:

Forum Jump:

Forum Rules:
You cannot post new threads
You cannot post replies
You cannot post attachments
You can edit your posts
HTML is Off
myCode is On
Smilies are On
[img] Code is On