<commit_before>#WWF#
_A mostly-cheating way to get high scores playing Words With Friends_

##Setup##

    curl http://dotnetperls-controls.googlecode.com/files/enable1.txt >words.txt
    cat extra_words.txt >>words.txt

##Usage##

    $ ./cli.py example.board abcdefg
    0.035848 secs, valid play counts: {1: 46, 2: 61, 3: 74, 4: 85, 5: 94, 6: 99, 7: 96}
    got letter combos: {1: 7, 2: 42, 3: 210, 4: 840, 5: 2520, 6: 5040, 7: 5040}
    16.309349 secs, valid move count: 1309343
    38.997948 secs, done
    60 DECAF, OD, WE
    ...pairs of scores and boards....

Use pypy if you have it, and you might get better performance.

Alternatively, run the web frontend:

    ./server.py

Using the Chrome inspector (or view-source, or equivalent) on the Words With Friends page, copy the html for the current active game
into the appropriate field in <http://localhost:8080/>. If you have an idea for an easier input technique, let me know!
<commit_msg>Updating README text<commit_after>#WWF#
_A mostly-cheating way to get high scores playing Words With Friends_

##Setup##

    curl http://dotnetperls-controls.googlecode.com/files/enable1.txt >words.txt
    cat extra_words.txt >>words.txt

##Usage##

    $ ./cli.py example.board abcdefg
    Using Cython (fast) scorer
    0.142285 secs, wordlist shrunk from 172822 to 168006
    0.016330 secs, valid play counts: {1: 23, 2: 61, 3: 74, 4: 85, 5: 94, 6: 99, 7: 96}
    0.014657 secs, letter combos: {1: 7, 2: 42, 3: 210, 4: 840, 5: 2520, 6: 5040, 7: 5040}
    3.417782 secs, scored 1309343 moves
    60 DECAF, OD, WE
    ...pairs of scores and boards....

Alternatively, run the `web.py`-based frontend:

    ./server.py

Using the Chrome inspector (or view-source, or equivalent) on the Words With Friends page, copy the html for the current active game
into the appropriate field in <http://localhost:8080/>. If you have an idea for an easier input technique, let me know!

##Performance##

If you try running the `cli.py` script and it prints out something about using
the slow Python scorer, you have two options to speed up the results:

  1) Install Cython, and try again. This will use the faster scoring code, which is compiled natively.
  2) Run `cli.py` with the `pypy` interpreter, which uses a JIT-compiler to speed up plain Python code.
{'fraction_non_alphanumeric': 0.10260869565217391, 'fraction_numerical': 0.08304347826086957, 'mean_word_length': 3.433526011560694, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 11, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2290322', 'n_tokens_mistral': 907, 'n_tokens_neox': 746, 'n_words': 333}