<commit_before><!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta name="author" content="<NAME>" />
    <meta name="description" content="A simple rule based sudoku solver written entirely in JS" />

    <title><NAME> | Simple Sudoku Solver</title>
    <link rel="stylesheet" href="assets/reset.css" type="text/css" charset="utf-8">
    <link rel="stylesheet" href="assets/main.css" type="text/css" charset="utf-8">
    
    <script src="lib/mootools-core.js" type="text/javascript" charset="utf-8"></script>
    <script src="source/helpers.js" type="text/javascript" charset="utf-8"></script>
    <script src="source/sudoku.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
    <div id="sudoku_wrapper">
        <table id="sudoku">
            <caption>
                <strong>Use arrow and number keys to enter a sudoku</strong><br/>
                (d for demo, c to clear, backspace to delete)
            </caption>
            <tr>
                <td>
                    <table>
                        <tr><td>&nbsp;</td></tr>
                    </table>
                </td>
                <td>
                    <table class="horizontal-labels">
                        <tr><td>1</td><td>2</td><td>3</td></tr>
                    </table>
                </td>
                <td>
                    <table class="horizontal-labels">
                        <tr><td>4</td><td>5</td><td>6</td></tr>
                    </table>
                </td>
                <td>
                    <table class="horizontal-labels">
                        <tr><td>7</td><td>8</td><td>9</td></tr>
                    </table>
                </td>
            </tr>
            <tr>
                <td>
                    <table class="vertical-labels">
                        <tr><td>A</td></tr>
                        <tr><td>B</td></tr>
                        <tr><td>C</td></tr>
                    </table>
                </td>
                <td>
                    <table class="block" id="b11">
                        <tr><td id="c11"></td><td id="c12"></td><td id="c13"></td></tr>
                        <tr><td id="c21"></td><td id="c22"></td><td id="c23"></td></tr>
                        <tr><td id="c31"></td><td id="c32"></td><td id="c33"></td></tr>
                    </table>
                </td>
                <td>
                    <table class="block" id="b12">
                        <tr><td id="c14"></td><td id="c15"></td><td id="c16"></td></tr>
                        <tr><td id="c24"></td><td id="c25"></td><td id="c26"></td></tr>
                        <tr><td id="c34"></td><td id="c35"></td><td id="c36"></td></tr>
                    </table>
                </td>
                <td>
                    <table class="block" id="b13">
                        <tr><td id="c17"></td><td id="c18"></td><td id="c19"></td></tr>
                        <tr><td id="c27"></td><td id="c28"></td><td id="c29"></td></tr>
                        <tr><td id="c37"></td><td id="c38"></td><td id="c39"></td></tr>
                    </table>
                </td>
            </tr>

            <tr>
                <td>
                    <table class="vertical-labels">
                        <tr><td>D</td></tr>
                        <tr><td>E</td></tr>
                        <tr><td>F</td></tr>
                    </table>
                </td>
                <td>
                    <table class="block" id="b21">
                        <tr><td id="c41"></td><td id="c42"></td><td id="c43"></td></tr>
                        <tr><td id="c51"></td><td id="c52"></td><td id="c53"></td></tr>
                        <tr><td id="c61"></td><td id="c62"></td><td id="c63"></td></tr>
                    </table>
                </td>
                <td>
                    <table class="block" id="b22">
                        <tr><td id="c44"></td><td id="c45"></td><td id="c46"></td></tr>
                        <tr><td id="c54"></td><td id="c55"></td><td id="c56"></td></tr>
                        <tr><td id="c64"></td><td id="c65"></td><td id="c66"></td></tr>
                    </table>
                </td>
                <td>
                    <table class="block"  id="b23">
                        <tr><td id="c47"></td><td id="c48"></td><td id="c49"></td></tr>
                        <tr><td id="c57"></td><td id="c58"></td><td id="c59"></td></tr>
                        <tr><td id="c67"></td><td id="c68"></td><td id="c69"></td></tr>
                    </table>
                </td>
            </tr>

            <tr>
                <td>
                    <table class="vertical-labels">
                        <tr><td>G</td></tr>
                        <tr><td>H</td></tr>
                        <tr><td>I</td></tr>
                    </table>
                </td>
                <td>
                    <table class="block" id="b31">
                        <tr><td id="c71"></td><td id="c72"></td><td id="c73"></td></tr>
                        <tr><td id="c81"></td><td id="c82"></td><td id="c83"></td></tr>
                        <tr><td id="c91"></td><td id="c92"></td><td id="c93"></td></tr>
                    </table>
                </td>
                <td>
                    <table class="block"  id="b32">
                        <tr><td id="c74"></td><td id="c75"></td><td id="c76"></td></tr>
                        <tr><td id="c84"></td><td id="c85"></td><td id="c86"></td></tr>
                        <tr><td id="c94"></td><td id="c95"></td><td id="c96"></td></tr>
                    </table>
                </td>
                <td>
                    <table class="block"  id="b33">
                        <tr><td id="c77"></td><td id="c78"></td><td id="c79"></td></tr>
                        <tr><td id="c87"></td><td id="c88"></td><td id="c89"></td></tr>
                        <tr><td id="c97"></td><td id="c98"></td><td id="c99"></td></tr>
                    </table>
                </td>
            </tr>

        </table>
        <div id="completion">
            <div id="bar">&nbsp;</div>
        </div>
        <div id="output-wrapper">
            <pre id="output"></pre>
        </div>
    </div>

    <h2>What is this?</h2>
    <p>This is an interactive sudoku solver that works on only the most basic strategies for solving sudokus (which in the vast majority of cases is enough). When ever a cell is entered by a user, the program sets to work figuring out candidates using a simple set of rules.</p>

    <p>Read more about this experiment <a href="http://andrew-hoyer.com/blog/2010/06/28/sudoku-solver/">here</a> (and watch me write the code!)</p>

    <p class="social">
        <iframe src="http://www.facebook.com/plugins/like.php?href=http://www.andrew-hoyer.com/experiments/sudoku/&amp;layout=button_count&amp;show_faces=false&amp;width=90&amp;action=like&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:90px; height:21px;" allowTransparency="true"></iframe>
        <a href="http://twitter.com/share" class="twitter-share-button" data-text="Simple Sudoku Solver by @ndrwhr:" data-count="horizontal">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
    </p>

    <p class="social"><a href="http://andrew-hoyer.com/experiments/">More Experiments</a></p>

</body>
</html><commit_msg>hard coding the twitter share button<commit_after><!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta name="author" content="<NAME>" />
    <meta name="description" content="A simple rule based sudoku solver written entirely in JS" />

    <title><NAME> | Simple Sudoku Solver</title>
    <link rel="stylesheet" href="assets/reset.css" type="text/css" charset="utf-8">
    <link rel="stylesheet" href="assets/main.css" type="text/css" charset="utf-8">
    
    <script src="lib/mootools-core.js" type="text/javascript" charset="utf-8"></script>
    <script src="source/helpers.js" type="text/javascript" charset="utf-8"></script>
    <script src="source/sudoku.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
    <div id="sudoku_wrapper">
        <table id="sudoku">
            <caption>
                <strong>Use arrow and number keys to enter a sudoku</strong><br/>
                (d for demo, c to clear, backspace to delete)
            </caption>
            <tr>
                <td>
                    <table>
                        <tr><td>&nbsp;</td></tr>
                    </table>
                </td>
                <td>
                    <table class="horizontal-labels">
                        <tr><td>1</td><td>2</td><td>3</td></tr>
                    </table>
                </td>
                <td>
                    <table class="horizontal-labels">
                        <tr><td>4</td><td>5</td><td>6</td></tr>
                    </table>
                </td>
                <td>
                    <table class="horizontal-labels">
                        <tr><td>7</td><td>8</td><td>9</td></tr>
                    </table>
                </td>
            </tr>
            <tr>
                <td>
                    <table class="vertical-labels">
                        <tr><td>A</td></tr>
                        <tr><td>B</td></tr>
                        <tr><td>C</td></tr>
                    </table>
                </td>
                <td>
                    <table class="block" id="b11">
                        <tr><td id="c11"></td><td id="c12"></td><td id="c13"></td></tr>
                        <tr><td id="c21"></td><td id="c22"></td><td id="c23"></td></tr>
                        <tr><td id="c31"></td><td id="c32"></td><td id="c33"></td></tr>
                    </table>
                </td>
                <td>
                    <table class="block" id="b12">
                        <tr><td id="c14"></td><td id="c15"></td><td id="c16"></td></tr>
                        <tr><td id="c24"></td><td id="c25"></td><td id="c26"></td></tr>
                        <tr><td id="c34"></td><td id="c35"></td><td id="c36"></td></tr>
                    </table>
                </td>
                <td>
                    <table class="block" id="b13">
                        <tr><td id="c17"></td><td id="c18"></td><td id="c19"></td></tr>
                        <tr><td id="c27"></td><td id="c28"></td><td id="c29"></td></tr>
                        <tr><td id="c37"></td><td id="c38"></td><td id="c39"></td></tr>
                    </table>
                </td>
            </tr>

            <tr>
                <td>
                    <table class="vertical-labels">
                        <tr><td>D</td></tr>
                        <tr><td>E</td></tr>
                        <tr><td>F</td></tr>
                    </table>
                </td>
                <td>
                    <table class="block" id="b21">
                        <tr><td id="c41"></td><td id="c42"></td><td id="c43"></td></tr>
                        <tr><td id="c51"></td><td id="c52"></td><td id="c53"></td></tr>
                        <tr><td id="c61"></td><td id="c62"></td><td id="c63"></td></tr>
                    </table>
                </td>
                <td>
                    <table class="block" id="b22">
                        <tr><td id="c44"></td><td id="c45"></td><td id="c46"></td></tr>
                        <tr><td id="c54"></td><td id="c55"></td><td id="c56"></td></tr>
                        <tr><td id="c64"></td><td id="c65"></td><td id="c66"></td></tr>
                    </table>
                </td>
                <td>
                    <table class="block"  id="b23">
                        <tr><td id="c47"></td><td id="c48"></td><td id="c49"></td></tr>
                        <tr><td id="c57"></td><td id="c58"></td><td id="c59"></td></tr>
                        <tr><td id="c67"></td><td id="c68"></td><td id="c69"></td></tr>
                    </table>
                </td>
            </tr>

            <tr>
                <td>
                    <table class="vertical-labels">
                        <tr><td>G</td></tr>
                        <tr><td>H</td></tr>
                        <tr><td>I</td></tr>
                    </table>
                </td>
                <td>
                    <table class="block" id="b31">
                        <tr><td id="c71"></td><td id="c72"></td><td id="c73"></td></tr>
                        <tr><td id="c81"></td><td id="c82"></td><td id="c83"></td></tr>
                        <tr><td id="c91"></td><td id="c92"></td><td id="c93"></td></tr>
                    </table>
                </td>
                <td>
                    <table class="block"  id="b32">
                        <tr><td id="c74"></td><td id="c75"></td><td id="c76"></td></tr>
                        <tr><td id="c84"></td><td id="c85"></td><td id="c86"></td></tr>
                        <tr><td id="c94"></td><td id="c95"></td><td id="c96"></td></tr>
                    </table>
                </td>
                <td>
                    <table class="block"  id="b33">
                        <tr><td id="c77"></td><td id="c78"></td><td id="c79"></td></tr>
                        <tr><td id="c87"></td><td id="c88"></td><td id="c89"></td></tr>
                        <tr><td id="c97"></td><td id="c98"></td><td id="c99"></td></tr>
                    </table>
                </td>
            </tr>

        </table>
        <div id="completion">
            <div id="bar">&nbsp;</div>
        </div>
        <div id="output-wrapper">
            <pre id="output"></pre>
        </div>
    </div>

    <h2>What is this?</h2>
    <p>This is an interactive sudoku solver that works on only the most basic strategies for solving sudokus (which in the vast majority of cases is enough). When ever a cell is entered by a user, the program sets to work figuring out candidates using a simple set of rules.</p>

    <p>Read more about this experiment <a href="http://andrew-hoyer.com/blog/2010/06/28/sudoku-solver/">here</a> (and watch me write the code!)</p>

    <p class="social">
        <iframe src="http://www.facebook.com/plugins/like.php?href=http://www.andrew-hoyer.com/experiments/sudoku/&amp;layout=button_count&amp;show_faces=false&amp;width=90&amp;action=like&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:90px; height:21px;" allowTransparency="true"></iframe>
        <a href="http://twitter.com/share" class="twitter-share-button" data-url="http://andrew-hoyer.com/experiments/sudoku/" data-text="Simple Sudoku Solver by @ndrwhr:" data-count="horizontal">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
    </p>

    <p class="social"><a href="http://andrew-hoyer.com/experiments/">More Experiments</a></p>

</body>
</html>
{'fraction_non_alphanumeric': 0.21435179067001453, 'fraction_numerical': 0.028280692480507467, 'mean_word_length': 1.4165735270637074, 'pattern_counts': {'":': 0, '<': 825, '<?xml version=': 0, '>': 825, 'https://': 0, 'lorem ipsum': 0, 'www.': 4, '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': '5901960', 'n_tokens_mistral': 5022, 'n_tokens_neox': 4559, 'n_words': 803}