Exerciser / Fond of Writing

Post images, media and links to media YOU OWN.
elordini
Unfettered Newbie
Posts: 14
Joined: 09 Apr 2012, 04:39
Contact:

Exerciser / Fond of Writing

Unread post by elordini »

I came across a program called Fond of Writing a few weeks ago and thought it was interesting. But, it was Windows only. It seemed to me that there are plenty of tops and bottoms eager to interact over the web who use Macs. So, I made my own program. It runs in a browser and has been tested on Chrome and Safari, although I suspect it should also work fine in Firefox.

link: http://elordini.byethost8.com/

What does this program do exactly?

Suppose a dom wants his or her sub to do something (e.g., just a little busy work) at a particular time and for a particular duration. For example, let's say the sub was a bit naughty and they shouldn't go out on new years eve. But, the dom and sub are separated by thousands of miles and the dom has too much to do anyway to be bothered to watch them on skype or something. So, the dom creates an assignment on Exerciser. Nothing too serious. The sub merely has to type a few phrases into a window every few seconds (e.g., I love my master, my master knows best, etc; these are defined by the dom, of course). At the end of the prescribed assignment, the program creates a password-protected log that the sub emails to the dom. Upon receipt, the dom can copy the log into their program, type in their password, and see that the sub was in fact busy (or not) during the prescribed time.

The program also includes various "features" to counter cheating subs (e.g., copying and pasting doesn't work, the program contacts a 3rd party server to verify start and stop times so the sub can't simply change the time on their computer, assignments and logs are encrypted to detect and thwart tampering). Assignments can also be created that require the "user" to behave according to particular pace. Pace "errors" can be set to result in restarting the activity or a failed activity.

Exercises can also be shared (e.g., in plain text) via email or forum posts.

Feedback is welcome and encouraged.

Here's an example exercise:

Code: Select all

BEGINEXERCISEBASE64QmIuO0pFTng/RD9EP0JSeFFEdUpOUWhiQlF1aGhKLnpZSyBcS0lLdUtmSyBcbWluO0tJS0RRUUtmSyBcYjsxenZpbydLSU91ZksgXG1pbjslMW9aJCdvXyc7LCxLSXVmSyBcYjsxenZpbyclMW9aJCdvXyc7LCxLSVFmSyBcYm9tMUtJT3VmSyBcO2ltMTsnS0lPdWZLJDZLSXVmSyQ2bnpsaW5wbiBpbjtLSUt1UUtmSyQ2LDFvWl56aSpwJzssS0l1ZkskNic7LDttIGluOzhjXnppKktJdWZLJDYnOyw7bS07MXp2aW8nOGNeemkqS0l1ZkskNjtjLiB6LDI4Y156aSpLSXVmSyBLSXVmSyBuemNtJ3osS0lXS2lHWmkqKkdiO0d6R19vby5HLCp6djtLZktpR1ppKipHeipaemssRy5vR1oxem1HbmtHbnosbTsnRyx6ayxLZktua0dueixtOydHMmNvWixHWjF6bSxHYjssbUtmS2lHem5Hekdfb28uRywqenY7S2ZLaUcqb3Y7R2EqO3osaWNfR25rR256LG07J0tmS2EqO3osaWNfR25rR256LG07J0c/OzsqLEcsb0dfb28uS2ZLb2I7Lmk7Y2g7Rz87OyosR2I7LG1LZktpRz87OypHLG9HX29vLkdiO2ljX0d6RywqenY7S2ZLaUcqb3Y7R2I7aWNfR21vKi5HWjF6bUdtb0cub0tmS2lHKm92O0c/byoqb1ppY19HaWMsbSdwaG1pb2MsS2ZLaUcqb3Y7R256MmljX0dua0dueixtOydHLG5pKjtLZktaMTtjR25rR256LG07J0dpLEcxemFha2ZHaUd6bkcxemFha0tmS2lHWnpjbUdtb0diO0dueixtOydlLEc/enZvJ2ltO0csKnp2O0tYZksgdmkscHoqJCdvbmFtLEtJUWZLIHpwLmliKjskJ29uYW0sS0lRZksgdmkscHoqOWMuOXAuaWIqOyQnb25hbSxLSVFmSyAuaSxtJ3pobW8nLEtJUWZLIHp2Oyd6XzsjJCNLSVFmSyB6djsnel87IzAjS0lRZktqS0l1ZktqLG1vaDJqOywsel87LEtJdWZLamhwLG1vbmljLG0ncGhtaW9jLEtJSyNHMW9hO0drb3BHO2Mmb2tHbTFpLEcsYTtoaXoqRyw7LCxpb2NHI0duei47Rz9vJ0drb3AnRywqenY7cUtmS2pocCxtb24scGhoOywsS0lLI0d6bkd2OydrR2Enb3AuR28/R2tvcEcsKnp2O3FHamtHP3p2bydpbTtHLCp6djssRyc7YTt6bUdtMWksRzt2OydrLnprcUtmS2pocCxtb24/emkqS0lLI0d6bkd2OydrRy5pLHphYW9pY207LkdpY0drb3BHLCp6djtxRyNHLm9jZW1Ha29wRywxb3AqLkdtJ2tHel96aWNmRy5vY2VtR2tvcHNLZks6OycsaW9jS0l1cXhmSyQ2LDFvWiR6aDsgaW47J0tJdWZLIFonaW1pY19hMSd6LDthJzssO2Ntem1pb2NLSUtPdUtmSyBaJ2ltaWNfJzssO21taW47YSdvXyc7LCxLSXVmSyBaJ2ltaWNfJzssO21iOzF6dmlvJ2Enb18nOywsS0l1ZksgWidpbWljXyc7LnBoO21pbjthJ29fJzssLG9jOycnbydLSUtEUUtmSypvX2F6LCxabycuS0lLeWJ0Y25mZmpiZXFLTQ==ENDEXERCISEBASE64
Y
-El

edit: Updates
v1.2
  • Can specify whether writing tasks are presented in random or sequential order, the latter might be useful for self-hypnosis scripts
    Can specify a loss of time progress if writing tasks are entered incorrectly
    Corrected a bug having to do with displaying custom messages, so hopefully those work now
    Converted to base64 encoding so activities and logs can be posted online more easily
v1.1:
  • Added an option to show a pace timer
    Created separate options for pace errors and writing errors
Last edited by elordini on 27 Apr 2012, 03:43, edited 6 times in total.

User avatar
seidenki
Strict Strappado
Posts: 810
Joined: 14 May 2007, 14:59
Location: Australia

Very interesting.

Unread post by seidenki »

I like it.

I've used FOW before. The limitation of Windows only is a bit of a problem; it doesn't run properly under WINE (on Linux), and I've been wanting to write my own version with more cross-platform support.

Sei.
Embrace your inner wierdo! No-one else will! (No, they'd be more likely to lock it up and throw away the key...)

elordini
Unfettered Newbie
Posts: 14
Joined: 09 Apr 2012, 04:39
Contact:

Re: Exerciser / Fond of Writing

Unread post by elordini »

Thanks Sei.

Here's an example exercise just to demonstrate some possibilities. Just copy and paste it into the Enter Assignment tab, no password required.

Code: Select all

BEGINEXERCISEACTIVITYCZZcRFv.Zyav,,v.JVRVF.yFZvVyJ,vZXM!:MPMtMqM!:'pfZMPMtwFFMqM!:cZ&abpi;MPItqM!:'pfZ0&iA9;i1;ZzzMPtqM!:cZ&abpi;0&iA9;i1;ZzzMPFqM!:ci'&MPItqM!:Zp'&Z;MPItqM9 MPtqM9 fahpfkf!pfZMPMwFMqM9 z&iA(ap3k;ZzMPtqM9 ;ZzZ'!pfZ$n(ap3MPtqM9 ;ZzZ'dZ&abpi;$n(ap3MPtqM9 Zn,!az*$n(ap3MPtqM!MPtqM!fan';azMPUM63E*niAzEA&a'gzEcZz'E.i;EfZMqM8Evang'E';kz'EfmEiAnE'&ik1&'zMqM8Ez&ik3,E3pz'ZnE'iE63MqM}pz'Znpn1E'iE63Efa*ZzEfZE.ZZ3E1ii,MqM8EnZZ,E'iE.i33iAE63MqM8EnZZ,E'iEicZmE63MqM$cZmpn1E.ZZ3zE1ii,MqM63E&Z3ozEfZEkn,Z;z'an,MqM8EnZZ,E63E'iE'a*ZEv&a;1ZEi.EfZMWqM!bpzka39;ifo'zMPFqM!ak,pc3Z9;ifo'zMPFqM!bpzka3%n,%k,pc3Z9;ifo'zMPFqM!,pz';av'i;zMPFqM!abZ;a1Z898MPFqM!abZ;a1Z8^8MPFqMrMPItqMrz'iv*rZzza1ZzMPtqMrvkz'ifpnz';kv'pinzMPMMqMrvkz'ifzkvvZzzMPMMqMrvkz'if.ap3MPMMqM-Z;zpinMPtqMrz'iv*rZzza1ZMPMMqM3i1oazzAi;,MPMzbgvbaMYENDEXERCISEACTICITY

User avatar
DarkLizerd
Hopelessly Suspended
Posts: 1177
Joined: 01 Aug 2007, 15:41
Location: NE New Mexico

Re: Exerciser / Fond of Writing

Unread post by DarkLizerd »

With out checking it out, this sounds like:
"Virtual Mistress meets Cyber Misstress"
This could be a very good tool for those "long distance relationships"
All advice is checked, re-checked and verified to be questionable...
Don't ask, we both wont understand the answer...
http://www.mediafire.com/download/09dtr ... e_V2_2.exe Not just for nubies any more...

User avatar
seidenki
Strict Strappado
Posts: 810
Joined: 14 May 2007, 14:59
Location: Australia

Re: Exerciser / Fond of Writing

Unread post by seidenki »

I gave that assignment a try... Typo at 5 minutes :cry:

Code: Select all

BEGINEXERCISELOGv,,t,CJwvZVDCRcLVw.tRDwFyyyVcVVR)S\zA:pP5K'-j*KgMVj'jZS{]*MYh3.sq ;-4nJvn3.qFfs{zJq8"DabJGL[oS\IK--gX7O-vPKAg[}Sbum[oS\IK--gX]MfvrKAKv]UJlSv-K:YKVj'WK*eiMCTS,$bhUL&"nc2b1}qcTb7aLJG([oS-YohmAPMmxdKPMm[}nnlSm-oOjAgd2U'MdbSFvh[jZX;,M-oOjAgdSFqLi]PKgMy-mUKm[}brQPgj'i7O-vPKAg[}qJth[bPPZ*eiM5K'phSFQ*r-hqcs3V;Wun8znqcq{&EFct3F".hb8$LClSv-K:YKVjZI2Ap-SFQn8znQGs}.s.vq{&EFcuo$LJ^Si]':p*eiM(KYM-oOjAgdSFxh[',KYgdMMW'AgpSFvh[VjXOrejI0MMhjZW[M-bAPeS{zQENDEXERCISELOG
It needs to permit a number of errors so that perfect entry isn't required, but almost perfect is. That is one thing I discovered about FoW: it is quite easy to make the task fiendishly difficult and not hard to make it almost impossible.

Sei.

Edited to add a tag.
Last edited by seidenki on 25 Apr 2012, 01:35, edited 1 time in total.
Embrace your inner wierdo! No-one else will! (No, they'd be more likely to lock it up and throw away the key...)

elordini
Unfettered Newbie
Posts: 14
Joined: 09 Apr 2012, 04:39
Contact:

Re: Exerciser / Fond of Writing

Unread post by elordini »

I think you're right about that Sei. I'll include an option to allow some variation. But, I do think some Doms might use it for exactly the purpose of creating a difficult task and requiring their sub to persist while enduring the frustration of having to be precise or face a restart. Thanks

FYI, I think posting logs and assignments requires use of the code tag, otherwise some characters might not make it through.

User avatar
seidenki
Strict Strappado
Posts: 810
Joined: 14 May 2007, 14:59
Location: Australia

Re: Exerciser / Fond of Writing

Unread post by seidenki »

Regarding the encoded data... It has a wide range of characters to use for encoding, things like * and }. If it limited it's range to a-z0-9 and a few other characters (probably just -=+_.,|!) you could make the data much more web-safe.

Sei.
Embrace your inner wierdo! No-one else will! (No, they'd be more likely to lock it up and throw away the key...)

elordini
Unfettered Newbie
Posts: 14
Joined: 09 Apr 2012, 04:39
Contact:

Re: Exerciser / Fond of Writing

Unread post by elordini »

seidenki wrote: It needs to permit a number of errors so that perfect entry isn't required, but almost perfect is. That is one thing I discovered about FoW: it is quite easy to make the task fiendishly difficult and not hard to make it almost impossible.
Thanks. I addressed this by adding an option under the writing task to make the program reset the elapsed time and/or task completion given an incorrect entry. Now, the options under Pace Requirements only pertain to pace errors, i.e., entering responses too slowly.
seidenki wrote:Regarding the encoded data... It has a wide range of characters to use for encoding, things like * and }. If it limited it's range to a-z0-9 and a few other characters (probably just -=+_.,|!) you could make the data much more web-safe.
Yes. I'm not quite sure what to do about this. One option would be to encode the data in hex such that every character would now be represented by 2 in the range from 00-FF, but this would also double the size of the assignment and log strings. I could also look into compressing the strings first and then converting to hex, but I don't know the first thing about compression algorithms. Maybe I can find an opensource javascript compression library somewhere.

User avatar
seidenki
Strict Strappado
Posts: 810
Joined: 14 May 2007, 14:59
Location: Australia

Re: Exerciser / Fond of Writing

Unread post by seidenki »

elordini wrote: Thanks. I addressed this by adding an option under the writing task to make the program reset the elapsed time and/or task completion given an incorrect entry. Now, the options under Pace Requirements only pertain to pace errors, i.e., entering responses too slowly.
You could keep a count of incorrect entries and ask for a threshold, i.e. "Reset timer after how many incorrect entries?" Or you could do what FoW does and add a parameter "Extend time by how many seconds after each error?"
Yes. I'm not quite sure what to do about this. One option would be to encode the data in hex such that every character would now be represented by 2 in the range from 00-FF, but this would also double the size of the assignment and log strings. I could also look into compressing the strings first and then converting to hex, but I don't know the first thing about compression algorithms. Maybe I can find an opensource javascript compression library somewhere.
Look up Base64 encoding.You hand it binary data and it encodes it to text with a much nicer character set than what you have at the moment. Encoded data is about one-third again as long as the original binary data.

Sei.
Embrace your inner wierdo! No-one else will! (No, they'd be more likely to lock it up and throw away the key...)

elordini
Unfettered Newbie
Posts: 14
Joined: 09 Apr 2012, 04:39
Contact:

Re: Exerciser / Fond of Writing

Unread post by elordini »

Those are good ideas. Thanks Sei. I'll start working on base64 first. The other one will take a little longer.

edit: done

User avatar
seidenki
Strict Strappado
Posts: 810
Joined: 14 May 2007, 14:59
Location: Australia

Re: Exerciser / Fond of Writing

Unread post by seidenki »

I just discovered a bug with the Exerciser. It seems to be ignoring some of the options. I tried to set up a task that only penalised on failure to keep up (pace requirement) without ending early. But it seemed to be ignoring the fact that the option wasn't set.

Sei.
Embrace your inner wierdo! No-one else will! (No, they'd be more likely to lock it up and throw away the key...)

Post Reply