diff options
| author | Sebastiano Tronto <sebastiano@tronto.net> | 2022-02-22 00:17:33 +0100 |
|---|---|---|
| committer | Sebastiano Tronto <sebastiano@tronto.net> | 2022-02-22 00:17:33 +0100 |
| commit | f2db614faffca90b514828cc045dde9be48c6802 (patch) | |
| tree | 8cb43c3d8239d53004bd2f8878782dc87c284a44 | |
| parent | e112b437fca16f2da6cfad645e8cf20ded065e51 (diff) | |
| download | nissy-f2db614faffca90b514828cc045dde9be48c6802.tar.gz nissy-f2db614faffca90b514828cc045dde9be48c6802.zip | |
Added website; released 2.0.1
| -rw-r--r-- | INSTALL | 15 | ||||
| -rw-r--r-- | Makefile | 14 | ||||
| -rw-r--r-- | README.md | 72 | ||||
| -rw-r--r-- | doc/nissy.html | 4 | ||||
| -rw-r--r-- | doc/nissy.pdf | bin | 33152 -> 33154 bytes | |||
| -rwxr-xr-x | nissy.exe | bin | 788679 -> 0 bytes | |||
| -rw-r--r-- | www/download/index.html | 190 | ||||
| -rw-r--r-- | www/examples/index.html | 49 | ||||
| -rw-r--r-- | www/favicon.png | bin | 0 -> 6550 bytes | |||
| -rw-r--r-- | www/index.html | 93 | ||||
| -rw-r--r-- | www/screenshot.png | bin | 0 -> 61239 bytes | |||
| -rw-r--r-- | www/style.css | 99 |
12 files changed, 457 insertions, 79 deletions
| @@ -1,3 +1,7 @@ | |||
| 1 | # Website | ||
| 2 | |||
| 3 | Nissy is available at https://nissy.tronto.net | ||
| 4 | |||
| 1 | # Requirements | 5 | # Requirements |
| 2 | 6 | ||
| 3 | A full installation of nissy requires about 3Gb of space, | 7 | A full installation of nissy requires about 3Gb of space, |
| @@ -23,7 +27,7 @@ Sorry for the inconvenience, I don't have a Windows machine to test this on. | |||
| 23 | 27 | ||
| 24 | Edit the Makefile to match your local configuration (usually not necessary, but you | 28 | Edit the Makefile to match your local configuration (usually not necessary, but you |
| 25 | may want to change the PREFIX variable) and run make, followed by make install. | 29 | may want to change the PREFIX variable) and run make, followed by make install. |
| 26 | Follows the instructions below to install the pruning tables. | 30 | Follow the instructions below to install the pruning tables. |
| 27 | 31 | ||
| 28 | ## Tables | 32 | ## Tables |
| 29 | Nissy needs to generate certain large tables to work. These tables are by default | 33 | Nissy needs to generate certain large tables to work. These tables are by default |
| @@ -33,7 +37,7 @@ nissy simply loads the corresponding file from the hard disk. | |||
| 33 | 37 | ||
| 34 | The very large table for optimal solving can take some time to generate | 38 | The very large table for optimal solving can take some time to generate |
| 35 | (about 1.5 hours on my fairly old but decent laptop, using 8 CPU threads). | 39 | (about 1.5 hours on my fairly old but decent laptop, using 8 CPU threads). |
| 36 | In order to generate it you need at least 5Gb or RAM. | 40 | In order to generate it you need at least 5Gb of RAM. |
| 37 | All other tables are much faster. | 41 | All other tables are much faster. |
| 38 | 42 | ||
| 39 | You can ask nissy to generate all the tables it will ever need with the gen | 43 | You can ask nissy to generate all the tables it will ever need with the gen |
| @@ -50,8 +54,7 @@ systems this folder is either .nissy/tables in the user's home directory or | |||
| 50 | $XDG_DATA_HOME/nissy/tables if the XDG variable is configured. On Windows | 54 | $XDG_DATA_HOME/nissy/tables if the XDG variable is configured. On Windows |
| 51 | it is the same directory as the nissy.exe executable file. | 55 | it is the same directory as the nissy.exe executable file. |
| 52 | 56 | ||
| 53 | Choose either (zip format) | 57 | You can downloads all the tables from the following link: |
| 54 | https://nissy.tronto.net/nissy-tables-2.0.zip | 58 | https://nissy.tronto.net/nissy-tables-2.0.zip |
| 55 | or (tar.gz format) | 59 | The version 2.0 at the end of the file name is only indicative. |
| 56 | https://nissy.tronto.net/nissy-tables-2.0.tar.gz | 60 | Later versions will use the same tables, unless otherwise specified. |
| 57 | and extract the archive into the correct folder. | ||
| @@ -1,6 +1,6 @@ | |||
| 1 | # See LICENSE file for copyright and license details. | 1 | # See LICENSE file for copyright and license details. |
| 2 | 2 | ||
| 3 | VERSION = 2.0 | 3 | VERSION = 2.0.1 |
| 4 | 4 | ||
| 5 | PREFIX = /usr/local | 5 | PREFIX = /usr/local |
| 6 | MANPREFIX = ${PREFIX}/share/man | 6 | MANPREFIX = ${PREFIX}/share/man |
| @@ -40,6 +40,16 @@ dist: clean nissy.exe | |||
| 40 | rm -rf nissy-${VERSION} | 40 | rm -rf nissy-${VERSION} |
| 41 | mv nissy.exe nissy-${VERSION}.exe | 41 | mv nissy.exe nissy-${VERSION}.exe |
| 42 | 42 | ||
| 43 | upload: dist | ||
| 44 | rsync -v --rsync-path=openrsync nissy-${VERSION}.exe \ | ||
| 45 | tronto.net:/var/www/htdocs/nissy.tronto.net/ | ||
| 46 | rsync -v --rsync-path=openrsync nissy-${VERSION}.tar.gz \ | ||
| 47 | tronto.net:/var/www/htdocs/nissy.tronto.net/ | ||
| 48 | |||
| 49 | website: | ||
| 50 | rsync -rv --rsync-path=openrsync \ | ||
| 51 | www/ tronto.net:/var/www/htdocs/nissy.tronto.net | ||
| 52 | |||
| 43 | install: nissy | 53 | install: nissy |
| 44 | mkdir -p ${DESTDIR}${PREFIX}/bin | 54 | mkdir -p ${DESTDIR}${PREFIX}/bin |
| 45 | cp -f nissy ${DESTDIR}${PREFIX}/bin/nissy | 55 | cp -f nissy ${DESTDIR}${PREFIX}/bin/nissy |
| @@ -53,5 +63,5 @@ uninstall: | |||
| 53 | rm -rf ${DESTDIR}${PREFIX}/bin/nissy ${DESTDIR}${MANPREFIX}/man1/nissy.1 | 63 | rm -rf ${DESTDIR}${PREFIX}/bin/nissy ${DESTDIR}${MANPREFIX}/man1/nissy.1 |
| 54 | for s in ${SCRIPTS}; do rm -rf ${DESTDIR}${PREFIX}/bin/$$s; done | 64 | for s in ${SCRIPTS}; do rm -rf ${DESTDIR}${PREFIX}/bin/$$s; done |
| 55 | 65 | ||
| 56 | .PHONY: all debug clean dist install uninstall | 66 | .PHONY: all debug clean dist install uninstall upload |
| 57 | 67 | ||
| @@ -11,75 +11,9 @@ Nissy can also solve many different substeps of Thistlethwaite's algorithm | |||
| 11 | (DR/HTR), and can use NISS (Normal-Inverse Scramble Switch). | 11 | (DR/HTR), and can use NISS (Normal-Inverse Scramble Switch). |
| 12 | It can be useful to analyze your DR solves (and more, once I implement more features). | 12 | It can be useful to analyze your DR solves (and more, once I implement more features). |
| 13 | 13 | ||
| 14 | ## Why should I use Nissy? | 14 | You get Nissy from [nissy.tronto.net](https://nissy.tronto.net). The download |
| 15 | 15 | links and installation instructions can be found on the | |
| 16 | You should use Nissy if you: | 16 | [download page](https://nissy.tronto.net/download). |
| 17 | |||
| 18 | * Want to analyze your DR solutions or check for multiple optimal (or sub-optimal) | ||
| 19 | solutions for EO/DR/HTR or similar substeps. | ||
| 20 | * You just want a Rubik's cube solver and you like command line interfaces. | ||
| 21 | * You want an alternative to Cube Explorer. | ||
| 22 | |||
| 23 | ## Requirements | ||
| 24 | |||
| 25 | A full installation of nissy requires about 3Gb of space, | ||
| 26 | of which 2.3Gb are occupied by the huge pruning table for fast optimal solving, | ||
| 27 | and running it requires the same amount of RAM. | ||
| 28 | One can choose to never use this function and not to install the relative | ||
| 29 | pruning table. There is an alternative (slower) | ||
| 30 | optimal solving function that uses about 500Mb of RAM. | ||
| 31 | |||
| 32 | ## Installation | ||
| 33 | |||
| 34 | ### On Windows | ||
| 35 | |||
| 36 | Try downloading and executing in a terminal the file nissy.exe, then | ||
| 37 | follow the instructions in the **Tables** section below for | ||
| 38 | installing the pruning tables. | ||
| 39 | If nissy.exe does not work, you can try following the UNIX instructions | ||
| 40 | in WSL (Windows Subsystem for Linux) or in a similar environment. | ||
| 41 | |||
| 42 | Sorry for the inconvenience, I don't have a Windows machine to test this on. | ||
| 43 | |||
| 44 | ### On a UNIX system: | ||
| 45 | |||
| 46 | Edit the Makefile to match your local configuration (usually not necessary, but you | ||
| 47 | may want to change the `PREFIX` variable) and run `make`, followed by `make install`. | ||
| 48 | Follows the instructions below to install the pruning tables. | ||
| 49 | |||
| 50 | ### Tables | ||
| 51 | Nissy needs to generate certain large tables to work. These tables are by default | ||
| 52 | generated the first time they are needed (e.g the first time you ask to solve a | ||
| 53 | certain step) and then saved to a file. Whenever these tables are needed again, | ||
| 54 | nissy simply loads the corresponding file from the hard disk. | ||
| 55 | |||
| 56 | The very large table for optimal solving can take some time to generate | ||
| 57 | (about 1.5 hours on my fairly old but decent laptop, using 8 CPU threads). | ||
| 58 | In order to generate it you need at least 5Gb or RAM. | ||
| 59 | All other tables are much faster. | ||
| 60 | |||
| 61 | You can ask Nissy to generate all the tables it will ever need with the `gen` | ||
| 62 | command. It is recommended to use more than one thread, if your CPU has them. | ||
| 63 | For example, you can run: | ||
| 64 | |||
| 65 | ``` | ||
| 66 | nissy gen -t 8 | ||
| 67 | ``` | ||
| 68 | |||
| 69 | to generate all tables using 8 threads. | ||
| 70 | |||
| 71 | Alternatively, you can simply download all the tables and copy them into the | ||
| 72 | correct folder (see manual page, `ENVIRONMENT` section). On UNIX operating | ||
| 73 | systems this folder is either `.nissy/tables` in the user's home directory or | ||
| 74 | `$XDG_DATA_HOME/nissy/tables` if the XDG variable is configured. On Windows | ||
| 75 | it is the same directory as the nissy.exe executable file. | ||
| 76 | |||
| 77 | Choose either the | ||
| 78 | [zip](https://nissy.tronto.net/nissy-tables-2.0.zip) | ||
| 79 | or the | ||
| 80 | [tar.gz](https://nissy.tronto.net/nissy-tables-2.0.tar.gz) | ||
| 81 | file (click the links to download) and | ||
| 82 | extract them in the correct folder. | ||
| 83 | 17 | ||
| 84 | ## Structure of the code | 18 | ## Structure of the code |
| 85 | 19 | ||
diff --git a/doc/nissy.html b/doc/nissy.html index ed73e37..f39100e 100644 --- a/doc/nissy.html +++ b/doc/nissy.html | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | <!-- Creator : groff version 1.22.4 --> | 1 | <!-- Creator : groff version 1.22.4 --> |
| 2 | <!-- CreationDate: Sun Feb 13 13:56:11 2022 --> | 2 | <!-- CreationDate: Mon Feb 21 22:56:07 2022 --> |
| 3 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" | 3 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" |
| 4 | "http://www.w3.org/TR/html4/loose.dtd"> | 4 | "http://www.w3.org/TR/html4/loose.dtd"> |
| 5 | <html> | 5 | <html> |
| @@ -308,7 +308,7 @@ D' F R' D B L2 B R2 L U L U2 B D' U R U F2 (18)</p> | |||
| 308 | <b>https://github.com/sebastianotronto/nissy</b></p> | 308 | <b>https://github.com/sebastianotronto/nissy</b></p> |
| 309 | 309 | ||
| 310 | <p style="margin-left:6%; margin-top: 1em">BSD | 310 | <p style="margin-left:6%; margin-top: 1em">BSD |
| 311 | February 13, 2022 BSD</p> | 311 | February 21, 2022 BSD</p> |
| 312 | <hr> | 312 | <hr> |
| 313 | </body> | 313 | </body> |
| 314 | </html> | 314 | </html> |
diff --git a/doc/nissy.pdf b/doc/nissy.pdf index be8433e..17f8bde 100644 --- a/doc/nissy.pdf +++ b/doc/nissy.pdf | |||
| Binary files differ | |||
diff --git a/nissy.exe b/nissy.exe deleted file mode 100755 index 9dd92f8..0000000 --- a/nissy.exe +++ /dev/null | |||
| Binary files differ | |||
diff --git a/www/download/index.html b/www/download/index.html new file mode 100644 index 0000000..a161371 --- /dev/null +++ b/www/download/index.html | |||
| @@ -0,0 +1,190 @@ | |||
| 1 | <!doctype html> | ||
| 2 | <html> | ||
| 3 | <head> | ||
| 4 | <title> Download | Nissy </title> | ||
| 5 | <meta name="viewport" content="width=device-width" /> <link rel="stylesheet" type="text/css" href="/style.css"> | ||
| 6 | <link rel="icon" href="/favicon.png"> | ||
| 7 | <meta charset="utf-8"> | ||
| 8 | </head> | ||
| 9 | |||
| 10 | <body> | ||
| 11 | |||
| 12 | <nav class="top"> | ||
| 13 | <table class="menu"> | ||
| 14 | <tr> | ||
| 15 | <td class="logo"> <a href="/"><img src="/favicon.png"></a> </td> | ||
| 16 | <td class="links"> | ||
| 17 | <a href="/download/">Download</a> | | ||
| 18 | <a href="/examples/">Examples</a> | ||
| 19 | </td> | ||
| 20 | </tr> | ||
| 21 | </table> | ||
| 22 | </nav> | ||
| 23 | |||
| 24 | <hr class="line"> | ||
| 25 | |||
| 26 | |||
| 27 | <h1>Get Nissy</h1> | ||
| 28 | |||
| 29 | <table class="dltable"> | ||
| 30 | <tr> | ||
| 31 | <td></td> | ||
| 32 | <td><strong>Source code</strong></td> | ||
| 33 | <td><strong>Windows executable</strong></td> | ||
| 34 | </tr> | ||
| 35 | <tr> | ||
| 36 | <td><strong>Latest version</strong></td> | ||
| 37 | <td><a href="/nissy-2.0.1.tar.gz">nissy-2.0.1.tar.gz (63Kb)</a></td> | ||
| 38 | <td><a href="/nissy-2.0.1.exe">nissy-2.0.1.exe (770Kb)</a></td> | ||
| 39 | </tr> | ||
| 40 | </table> | ||
| 41 | |||
| 42 | <p> | ||
| 43 | In this page you can find download links (see above) | ||
| 44 | and installation instructions (see below) for | ||
| 45 | nissy. If instead you wish to clone the | ||
| 46 | <a href="https://git.tronto.net/nissy/">git repository</a>, use | ||
| 47 | <pre> | ||
| 48 | <code>git clone https://git.tronto.net/nissy</code> | ||
| 49 | </pre> | ||
| 50 | </p> | ||
| 51 | |||
| 52 | <p> | ||
| 53 | For a summary of changes and a list of older versions see below. Some versions | ||
| 54 | (for example 1.0) are not available directly, but can be obtained from | ||
| 55 | the git repository. | ||
| 56 | </p> | ||
| 57 | |||
| 58 | <h2>Installation</h2> | ||
| 59 | |||
| 60 | <h3>System requirements</h3> | ||
| 61 | |||
| 62 | <p> | ||
| 63 | A full installation of nissy requires about 3Gb of space, | ||
| 64 | of which 2.3Gb are occupied by the huge pruning table for fast optimal solving, | ||
| 65 | and running it requires the same amount of RAM. | ||
| 66 | One can choose to never use this function and not to install the relative | ||
| 67 | pruning table. There is an alternative (slower) | ||
| 68 | optimal solving function that uses about 500Mb of RAM. | ||
| 69 | </p> | ||
| 70 | |||
| 71 | <h3>Windows</h3> | ||
| 72 | |||
| 73 | <p> | ||
| 74 | Try downloading and executing in a terminal the file <code>nissy.exe</code>, | ||
| 75 | then follow the instructions in the <strong>Tables</strong> section below for | ||
| 76 | installing the pruning tables. | ||
| 77 | If <code>nissy.exe</code> does not work, you can try following the UNIX instructions | ||
| 78 | in WSL (Windows Subsystem for Linux) or in a similar environment. | ||
| 79 | </p> | ||
| 80 | |||
| 81 | <h3>UNIX (Linux, MacOS, *BSD...)</h3> | ||
| 82 | <p> | ||
| 83 | Edit the <code>Makefile</code> to match your local configuration | ||
| 84 | (this is usually not necessary, but you may want to change the | ||
| 85 | <code>PREFIX</code> variable to change the installation path) | ||
| 86 | and run <code>make</code>, followed by <code>make install</code>. | ||
| 87 | Follow the instructions below to install the pruning tables. | ||
| 88 | |||
| 89 | <h3>Tables</h3> | ||
| 90 | |||
| 91 | <table class="dltable"> | ||
| 92 | <tr> | ||
| 93 | <td></td> <td><strong>Zip file</strong></td> | ||
| 94 | </tr> | ||
| 95 | <tr> | ||
| 96 | <td><strong>Tables</strong></td> | ||
| 97 | <td><a href="/nissy-tables-2.0.zip">nissy-tables.2.0.zip (63Kb)</a></td> | ||
| 98 | </tr> | ||
| 99 | </table> | ||
| 100 | <p> | ||
| 101 | <strong>Note:</strong> the version 2.0 at the end of the file name is | ||
| 102 | only indicative. Later versionw will use the same tables, unless | ||
| 103 | otherwise specified. | ||
| 104 | </p> | ||
| 105 | |||
| 106 | <p> | ||
| 107 | Nissy needs certain large tables to work. These tables are by default | ||
| 108 | generated the first time they are needed (e.g the first time you ask to solve a | ||
| 109 | certain step) and then saved to a file. Whenever these tables are needed again, | ||
| 110 | nissy simply loads the corresponding file from the hard disk. | ||
| 111 | </p> | ||
| 112 | |||
| 113 | <p> | ||
| 114 | The very large table for optimal solving can take some time to generate | ||
| 115 | (about 1.5 hours on my fairly old but decent laptop, using 8 CPU threads). | ||
| 116 | In order to generate it you need at least 5Gb of RAM. | ||
| 117 | All other tables are much faster. | ||
| 118 | </p> | ||
| 119 | |||
| 120 | <p> | ||
| 121 | You can ask nissy to generate all the tables it will ever need with the gen | ||
| 122 | command. It is recommended to use more than one thread, if your CPU has them. | ||
| 123 | For example, you can run: | ||
| 124 | </p> | ||
| 125 | |||
| 126 | <pre><code>nissy gen -t 8</pre></code> | ||
| 127 | |||
| 128 | <p> | ||
| 129 | to generate all tables using 8 threads. You can change 8 to any number | ||
| 130 | your CPU supports, up to 64. | ||
| 131 | </p> | ||
| 132 | |||
| 133 | <p> | ||
| 134 | Alternatively, you can simply download all the tables and copy them into the | ||
| 135 | correct folder (see manual page, <code>ENVIRONMENT</code> section). On UNIX | ||
| 136 | operating systems this folder is either <code>.nissy/tables</code> in the | ||
| 137 | user's home directory or <code>$XDG_DATA_HOME/nissy/tables</code> if the | ||
| 138 | XDG variable is configured. On Windows it is the same directory as the | ||
| 139 | <code>nissy.exe</code> executable file. | ||
| 140 | </p> | ||
| 141 | |||
| 142 | <h2>Version history</h2> | ||
| 143 | |||
| 144 | <h3>Nissy v2</h3> | ||
| 145 | |||
| 146 | <table class=dltable> | ||
| 147 | <tr> | ||
| 148 | <td><strong>Version</strong></td> | ||
| 149 | <td><strong>Date</strong></td> | ||
| 150 | <td><strong>Comment</strong></td> | ||
| 151 | </tr> | ||
| 152 | <tr> | ||
| 153 | <td><a href="/nissy-2.0.1.tar.gz">2.0.1</a></td> | ||
| 154 | <td>2022-02-22</td> | ||
| 155 | <td>Bugfix release</td> | ||
| 156 | </tr> | ||
| 157 | <tr> | ||
| 158 | <td>2.0</td> | ||
| 159 | <td>2021-12-29</td> | ||
| 160 | <td>Rewritten from scratch; much faster optimal solver</td> | ||
| 161 | </tr> | ||
| 162 | </table> | ||
| 163 | |||
| 164 | <h3>Nissy v1</h3> | ||
| 165 | |||
| 166 | <p> | ||
| 167 | Nissy v1 was released in 2020. It was slow, full of bugs and the code | ||
| 168 | was quite terrible. But in practice it got its job done most of the time. | ||
| 169 | </p> | ||
| 170 | |||
| 171 | |||
| 172 | <hr class="line"> | ||
| 173 | |||
| 174 | <nav class="bottom"> | ||
| 175 | <table class="footer"> | ||
| 176 | <tr> | ||
| 177 | <td class="contact"> | ||
| 178 | <a href="https://sebastiano.tronto.net">sebastiano.tronto.net</a> | ||
| 179 | </td> | ||
| 180 | <td class="hosted"> | ||
| 181 | <a href="mailto:sebastiano@tronto.net"> | ||
| 182 | sebastiano@tronto.net | ||
| 183 | </a> | ||
| 184 | </td> | ||
| 185 | </tr> | ||
| 186 | </table> | ||
| 187 | </nav> | ||
| 188 | |||
| 189 | </body> | ||
| 190 | </html> | ||
diff --git a/www/examples/index.html b/www/examples/index.html new file mode 100644 index 0000000..2094014 --- /dev/null +++ b/www/examples/index.html | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | <!doctype html> | ||
| 2 | <html> | ||
| 3 | <head> | ||
| 4 | <title> Examples | Nissy </title> | ||
| 5 | <meta name="viewport" content="width=device-width" /> <link rel="stylesheet" type="text/css" href="/style.css"> | ||
| 6 | <link rel="icon" href="/favicon.png"> | ||
| 7 | <meta charset="utf-8"> | ||
| 8 | </head> | ||
| 9 | |||
| 10 | <body> | ||
| 11 | |||
| 12 | <nav class="top"> | ||
| 13 | <table class="menu"> | ||
| 14 | <tr> | ||
| 15 | <td class="logo"> <a href="/"><img src="/favicon.png"></a> </td> | ||
| 16 | <td class="links"> | ||
| 17 | <a href="/download/">Download</a> | | ||
| 18 | <a href="/examples/">Examples</a> | ||
| 19 | </td> | ||
| 20 | </tr> | ||
| 21 | </table> | ||
| 22 | </nav> | ||
| 23 | |||
| 24 | <hr class="line"> | ||
| 25 | |||
| 26 | |||
| 27 | <h1>Examples</h1> | ||
| 28 | |||
| 29 | (Coming soon...) | ||
| 30 | |||
| 31 | <hr class="line"> | ||
| 32 | |||
| 33 | <nav class="bottom"> | ||
| 34 | <table class="footer"> | ||
| 35 | <tr> | ||
| 36 | <td class="contact"> | ||
| 37 | <a href="https://sebastiano.tronto.net">sebastiano.tronto.net</a> | ||
| 38 | </td> | ||
| 39 | <td class="hosted"> | ||
| 40 | <a href="mailto:sebastiano@tronto.net"> | ||
| 41 | sebastiano@tronto.net | ||
| 42 | </a> | ||
| 43 | </td> | ||
| 44 | </tr> | ||
| 45 | </table> | ||
| 46 | </nav> | ||
| 47 | |||
| 48 | </body> | ||
| 49 | </html> | ||
diff --git a/www/favicon.png b/www/favicon.png new file mode 100644 index 0000000..3ec80a1 --- /dev/null +++ b/www/favicon.png | |||
| Binary files differ | |||
diff --git a/www/index.html b/www/index.html new file mode 100644 index 0000000..1844631 --- /dev/null +++ b/www/index.html | |||
| @@ -0,0 +1,93 @@ | |||
| 1 | <!doctype html> | ||
| 2 | <html> | ||
| 3 | <head> | ||
| 4 | <title> Nissy | Nissy </title> | ||
| 5 | <meta name="viewport" content="width=device-width" /> <link rel="stylesheet" type="text/css" href="/style.css"> | ||
| 6 | <link rel="icon" href="/favicon.png"> | ||
| 7 | <meta charset="utf-8"> | ||
| 8 | </head> | ||
| 9 | |||
| 10 | <body> | ||
| 11 | |||
| 12 | <nav class="top"> | ||
| 13 | <table class="menu"> | ||
| 14 | <tr> | ||
| 15 | <td class="logo"> <a href="/"><img src="/favicon.png"></a> </td> | ||
| 16 | <td class="links"> | ||
| 17 | <a href="/download/">Download</a> | | ||
| 18 | <a href="/examples/">Examples</a> | ||
| 19 | </td> | ||
| 20 | </tr> | ||
| 21 | </table> | ||
| 22 | </nav> | ||
| 23 | |||
| 24 | <hr class="line"> | ||
| 25 | |||
| 26 | |||
| 27 | <h1>Nissy</h1> | ||
| 28 | |||
| 29 | <p class=subtitle>A Rubik's cube solver and FMC assistant</p> | ||
| 30 | |||
| 31 | <img src="/screenshot.png"> | ||
| 32 | |||
| 33 | <p> | ||
| 34 | Nissy is a command-line Rubik's cube solver. It can find optimal solutions | ||
| 35 | for random positions using techniques from Herbert Kociemba's | ||
| 36 | <a href="http://kociemba.org/cube.htm">Cube Explorer</a> and | ||
| 37 | Tomas Rokicki's | ||
| 38 | <a href="https://github.com/rokici/cube20src/blob/master/nxopt.md">nxopt</a>. | ||
| 39 | With 4 cores at 2.5GHz and using less than 3Gb of RAM, Nissy can find an optimal | ||
| 40 | solution in about a minute on average. | ||
| 41 | </p> | ||
| 42 | |||
| 43 | <p> | ||
| 44 | Nissy aims at being a complete tool | ||
| 45 | for FMC (Fewest Moves Challenge) practice. It can solve different steps | ||
| 46 | of Thistlethwaite's algorithm (also know as DR/HTR) and cans use NISS | ||
| 47 | (Normal-Inverse Scramble Switch). | ||
| 48 | </p> | ||
| 49 | |||
| 50 | <p> | ||
| 51 | You should use Nissy if: | ||
| 52 | </p> | ||
| 53 | <ul> | ||
| 54 | <li> | ||
| 55 | You want to analyze your DR solutions or check for multiple optimal | ||
| 56 | (or sub-optimal) solutions for EO/DR/HTR or similar steps. | ||
| 57 | </li> | ||
| 58 | <li> | ||
| 59 | You just want a Rubik's cube solver and you like command line interfaces. | ||
| 60 | </li> | ||
| 61 | <li> | ||
| 62 | You want an alternative to Cube Explorer. | ||
| 63 | </li> | ||
| 64 | </ul> | ||
| 65 | |||
| 66 | <p> | ||
| 67 | To get started, head to the <a href="/download/">download</a> page. | ||
| 68 | </p> | ||
| 69 | |||
| 70 | <p> | ||
| 71 | You can also see its source code by cloning the git repository | ||
| 72 | <a href="https://git.tronto.net/nissy/">git.tronto.net/nissy</a> | ||
| 73 | </p> | ||
| 74 | |||
| 75 | <hr class="line"> | ||
| 76 | |||
| 77 | <nav class="bottom"> | ||
| 78 | <table class="footer"> | ||
| 79 | <tr> | ||
| 80 | <td class="contact"> | ||
| 81 | <a href="https://sebastiano.tronto.net">sebastiano.tronto.net</a> | ||
| 82 | </td> | ||
| 83 | <td class="hosted"> | ||
| 84 | <a href="mailto:sebastiano@tronto.net"> | ||
| 85 | sebastiano@tronto.net | ||
| 86 | </a> | ||
| 87 | </td> | ||
| 88 | </tr> | ||
| 89 | </table> | ||
| 90 | </nav> | ||
| 91 | |||
| 92 | </body> | ||
| 93 | </html> | ||
diff --git a/www/screenshot.png b/www/screenshot.png new file mode 100644 index 0000000..a73f2fd --- /dev/null +++ b/www/screenshot.png | |||
| Binary files differ | |||
diff --git a/www/style.css b/www/style.css new file mode 100644 index 0000000..1487497 --- /dev/null +++ b/www/style.css | |||
| @@ -0,0 +1,99 @@ | |||
| 1 | .menu { | ||
| 2 | width: 100%; | ||
| 3 | } | ||
| 4 | |||
| 5 | .links { | ||
| 6 | text-align: right; | ||
| 7 | font-weight: bold; | ||
| 8 | } | ||
| 9 | |||
| 10 | .logo img { | ||
| 11 | width: 50px; | ||
| 12 | height: 50px; | ||
| 13 | } | ||
| 14 | |||
| 15 | .footer { | ||
| 16 | font-style: italic; | ||
| 17 | width: 100%; | ||
| 18 | } | ||
| 19 | |||
| 20 | .hosted { | ||
| 21 | text-align: right; | ||
| 22 | } | ||
| 23 | |||
| 24 | body { | ||
| 25 | margin: auto 8px 20px 8px; | ||
| 26 | } | ||
| 27 | |||
| 28 | img { | ||
| 29 | display: block; | ||
| 30 | margin-left: auto; | ||
| 31 | margin-right: auto; | ||
| 32 | max-width: 100%; | ||
| 33 | } | ||
| 34 | |||
| 35 | pre, code { | ||
| 36 | background-color: #eeeeee; | ||
| 37 | } | ||
| 38 | |||
| 39 | pre { | ||
| 40 | border: 2px solid; | ||
| 41 | padding: 6px; | ||
| 42 | } | ||
| 43 | |||
| 44 | #blob { | ||
| 45 | background: #ffffff; | ||
| 46 | border: none; | ||
| 47 | } | ||
| 48 | |||
| 49 | a { | ||
| 50 | color: #0f2899; | ||
| 51 | text-decoration: none; | ||
| 52 | } | ||
| 53 | |||
| 54 | .links a { | ||
| 55 | font-weight: bold; | ||
| 56 | color: black; | ||
| 57 | } | ||
| 58 | |||
| 59 | .hosted a, | ||
| 60 | .contact a { | ||
| 61 | font-weight: bold; | ||
| 62 | } | ||
| 63 | |||
| 64 | a:hover { | ||
| 65 | text-decoration: underline; | ||
| 66 | } | ||
| 67 | |||
| 68 | html { | ||
| 69 | margin: 1em auto; | ||
| 70 | max-width: 42em; | ||
| 71 | } | ||
| 72 | |||
| 73 | h1 { | ||
| 74 | text-align: center; | ||
| 75 | } | ||
| 76 | |||
| 77 | td h1 { | ||
| 78 | text-align: left; | ||
| 79 | font-size: 1.5em; | ||
| 80 | } | ||
| 81 | |||
| 82 | table { | ||
| 83 | width: 100%; | ||
| 84 | } | ||
| 85 | |||
| 86 | .url td { | ||
| 87 | font-family: monospace; | ||
| 88 | } | ||
| 89 | |||
| 90 | .dltable th, .dltable td { | ||
| 91 | border: 1px solid black; | ||
| 92 | padding: 3px; | ||
| 93 | } | ||
| 94 | |||
| 95 | .subtitle { | ||
| 96 | text-align: center; | ||
| 97 | font-weight: bold; | ||
| 98 | font-size: 1.1em; | ||
| 99 | } | ||
