All-play-all tournaments often summarize results using a simplistic table of wins/losses/points. It is all you need at the end when you're picking the qualifiers for the next stage, but it's not very useful while a tournament is in progress. Some examples of questions it can't answer:
For questions like these, and also for running what-if scenarios, the ideal format is a cross-table that shows each team along both the rows and the columns, and summarizes the outcome of each encounter.
The big challenge to maintaining a cross-table by hand is re-sorting it. When the rows move around, the columns must do so as well. This tool automates the sorting.
This repo is an example of a Freewheeling App, designed above all to be easy to run, easy to modify and easy to share.
Install LÖVE. It's just a 5MB download, open-source and
extremely well-behaved. I'll assume below that you can invoke it using the
love command, but that might vary depending on your OS.
Run this app from the terminal, passing its directory to LÖVE,
passing in a file containing results to show. The file
the expected format. To try it out from this directory:
$ love . results
Try clicking around. Your changes will be saved back to
If you don't pass in a file you'll see some example data. You can still modify it, but it won't be persisted.
To modify it live without restarting the app each time, download the driver app. Here's an example session using a fork of this repo:
If the app being modified by the driver lives in a .love file, your changes will go into the save directory. If it lives in a directory (like this repo), your changes will go straight into the same directory.
Up to you! But within the included editor widget if you use it:
ctrl+f to find patterns within a file
ctrl+c to copy,
ctrl+x to cut,
ctrl+v to paste
ctrl+z to undo,
ctrl+y to redo
ctrl+= to zoom in,
ctrl+- to zoom out,
ctrl+0 to reset zoom
alt+left to jump to the next/previous word, respectively
shift + movement to select text,
ctrl+a to select all
Exclusively tested so far with a US keyboard layout. If you use a different layout, please let me know if things worked, or if you found anything amiss: http://akkartik.name/contact
Both freewheeling apps and the driver for them currently benefit from being launched in terminal windows rather than by being clicked on in a desktop OS. See the driver app for details.
No support yet for Unicode graphemes spanning multiple codepoints.
No support yet for right-to-left languages.
Undo/redo may be sluggish in editor windows containing large files. Large files may grow sluggish in other ways.
If you kill the process, say by force-quitting because things things get sluggish, you can lose data.
Can't scroll while selecting text with mouse.
No scrollbars yet. That stuff is hard.
This repo is a fork of lines.love, an editor for plain text where you can also seamlessly insert line drawings. Its immediate upstream is the template repo for freewheeling apps. Updates to it can be downloaded from:
Further forks are encouraged. If you show me your fork, I'll link to it here.