This repository has been archived on 2024-02-25. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
Go to file
Brian Hicks 930d09cf90
update nixpkgs
2024-02-25 13:54:00 -06:00
nix remove niv stuff 2021-09-13 17:08:25 -05:00
src don't update both players during the play-in period 2021-05-25 09:42:47 -05:00
static/fonts add Open Sans 2020-08-25 06:14:38 -05:00
tests don't update both players during the play-in period 2021-05-25 09:42:47 -05:00
.envrc nixify 2020-08-14 13:56:01 -05:00
.gitignore use elm2nix to avoid re-downloading packages 2020-09-10 23:13:19 -05:00
LICENSE sort out the licensing situation 2020-08-25 06:17:01 -05:00
Makefile write down rebuild instructions 2020-09-10 23:15:18 -05:00
README.md flesh out readme 2020-08-25 09:44:55 -05:00
elm.json upgrade deps 2021-05-25 09:25:19 -05:00
flake.lock update nixpkgs 2024-02-25 13:54:00 -06:00
flake.nix remove the checkphase 2021-09-14 07:46:21 -05:00
modd.conf put stuff in a Makefile 2020-08-25 05:31:13 -05:00
shell.nix move to flakes 2021-09-13 17:05:09 -05:00
shell.nix.bak move to flakes 2021-09-13 17:05:09 -05:00

README.md

Elo Anything!

I love using idea fight to rank things. It's pretty nice! I can get an idea of the top item in a list in O(n) time, and finding all values is O(n log n) (see Rob Hoelz's blog post about idea fight.) I've used idea fight for years, but recently I've been running into some problems when using it:

  1. I second-guess my choices. I'd like them to sort out over time instead of having to commit once.
  2. Some things are pretty equal, but the selection method means that choices below the "losing" choice are automatically lowered when I'd kind of like them to be higher.
  3. I can't see what's going on in the process when it's running.
  4. There's no undo.

I think most of these are caused by the fact that I often do not put a series of items with a strict objective ordering into the tool! So I could give up on the nice O(n) sorting time if I could get some of those benefits.

This is an exploration of sorting things with an Elo rating system. Essentially, it solves my problems in the following ways:

  1. If I second-guess a choice, it's fine. The match may come up again, and this style of ranking is only a rough order--it's fine if it's not strictly ordered!
  2. The rating system models ties, so if two things really are equal they will become closer in rank over time.
  3. I can see the rankings as I'm making choices.
  4. There's still no undo, but I can add it if I find that it's really a problem! (So far I haven't.)

Building

You don't have to build anything. Go play with a live version at elo.bytes.zone.

But if you want to hack locally:

  1. have direnv and nix
  2. clone and cd here
  3. run modd to start the development server (it will tell you where to go to view the result)
  4. run nix-build to build a deployable version

License

The code in this repo is licensed under the BSD 3-Clause license (located at LICENSE in the source.) Open Sans (the font in the UI) is released under an Apache 2.0 license available at opensans.com.