Author Archive

Awards, Code

E Pluribus Hugo simulator

This is pretty deep in “inside baseball” territory, so if you haven’t been following the Hugo awards controversy you’re probably safe ignoring it.

The short version is, after the Sad Puppies kerfuffle this year that screw up the nominations, the WSFS (which administers the Hugos) voted to adopt a new nominating system called “E Pluribus Hugo”. It’s described over here in detail. If the vote is confirmed at next year’s WorldCon, EPH will be used for the 2017 and future Hugos.

Roughly speaking, it works like this. Everybody votes for up to five works as normal. Each ballot is given one point, which is split among the works nominated (so .2 each if you put five) and all the points from all the ballots are added up. The works with the least number of points (at least two, more in the case of ties) are compared, and the one with the fewest votes (i.e. present on the fewest ballots) is eliminated from contention. Then the points are recounted for another round — if one of your works was eliminated, its points are reallocated to the others on your ballot. (So if you nominated five works, at .2 each, and one was eliminated first round, the remaining four would count for .25 each, and so on.)

The point here is to help consolidate the field and reduce the advantages of slate voting. As I wrote earlier, the problem is that slate voting under the “naïve” rules (where you just add up all the votes) is a dominant strategy. Inasmuch as we agree that the awards SHOULD be about nominating stuff you personally thought was the best of the year, rather than coordinating with some slate, then the nomination rules needed to be amended to favor that “strategy” over coordination.

Important Caveat: I am not a voting theory expert! Smarter people than me have thought about this. However, I am a programmer of sorts, and interested in this stuff. So, I wrote up a thing that runs the EPH algorithm on test data. (I obviously don’t have access to actual Hugo data!) I thought other people might get something out of it, so I’m posting it here.

Here is the EPHConsole project as a Visual Studio ’13 project.
Here is the compiled self-installer for the EPHConsole project.
Here is the EXE file, which should work if you have .NET installed on your machine.
Here is an example data file.

Usage is pretty simple: run “EPHConsole.exe [datafile]”, hit enter when it pauses after displaying the parsed ballots, observe the results. The datafile is text, with each ballot on its own line as a set of integers separated by spaces. (“1 2 3 4 5”) There is no validation that ballots are restricted to five votes, or can’t duplicate votes.

If anybody wants to adapt this code to other purposes, modify it, etc, feel free. Shoot me a line and I’ll put a link here. It’s definitely not optimized (for one thing, I used VS and C#, which is way overkill but let me bang it out in a few hours) but it runs on datasets of realistic size in less than a second, so probably not an issue.

(If you use this and find something that you think is a bug, just send me a description and the data file you were using, and I’ll update accordingly.)

Here’s an example, using the data file above. I generated a random assortment of 800 voters choosing among 40 works, with ballots of varying sizes. Then I added 200 voters choosing among 7 works (the “slate”, numbers 41-47) similarly. It gives you a good sense of how EPH works and how it helps the slate problem.

First, it lists the ballot data, which I’ve snipped here. In Round 1, before any eliminations, you can see that the “non-slate” works have between 16.8 and 23.3 points. (800 points divided among 40 works, clustered around 20. Stats!) The “slate” works have between 26.3 and 31.9 points. (200 points divided among 7 works.) So the slate is at the top of the list. (The list is displaying points/# of votes for each work.)

However, as works at the bottom are eliminated and their points reallocated, the non-slate field converges. By round 9, a non-slate work breaks the top five. In round 15, two slate works are pitted against each other, and one is eliminated, consolidating the slate vote. And so on as the rounds continue.

The final tally shows one slate work, the most popular, along with four non-slate works. This is more or less correct, in the sense that the voters were 80% non-slate and 20% slate; the slate voters were neither completely shut out nor completely dominant. So in that sense, EPH works as advertised!

One concern, though, is that the breadth of the field is important. A run with similar numbers of voters, but 80 non-slate works instead of 40, gives two slate winners (though the naïve method would give ALL the slots to the slate), and with 160 gives four slate winners. This gets pretty deep into the voting system weeds — arguably, with 800 voters split over 160 candidates, the 200 voters focused on their seven deserve to win. (The problem really stems from “exhausted ballots” — among the 800, ballots with no remaining candidates don’t have any say at all. But since we can’t get people to do an exhaustive ranking of all possible Hugo candidates, this is inevitable.)

Anyway, enjoy! You can use the contact form to get in touch with me if you have problems, or if you want to share interesting data. I will update this post if I get stuff or need to fix things.


Round 1
16 16.88333/81
14 16.91666/80
5 17.3/83
10 17.35/84
17 17.48333/84
22 17.6/85
30 17.63333/83
34 17.65/86
24 17.8/85
3 17.98333/86
13 18.18333/86
39 18.28333/86
2 18.51666/88
12 18.58333/88
18 18.95/91
1 19.4/93
26 19.55/93
28 19.58334/94
32 19.65/93
9 19.85/96
4 19.9/96
25 20.41667/95
23 20.41667/96
36 21.06667/99
31 21.25001/102
35 21.40001/100
8 21.40001/102
6 21.53334/101
20 21.56668/103
27 21.56668/102
40 21.85001/104
21 21.86668/104
11 22.06668/103
38 22.13334/105
37 22.20001/107
33 22.33334/107
19 22.50001/107
7 22.78335/107
15 23.23335/108
29 23.36668/111
43 26.31668/98
41 26.78334/99
47 28.05001/104
42 28.06668/101
44 28.83335/107
46 30.05002/113
45 31.90002/118
Threshhold: 16.91666
Eliminating 14.

Round 2
16 17.23333/81
5 17.45/83
10 17.65/84
22 17.8/85
17 17.83333/84
34 17.9/86
30 18.05/83
24 18.26666/85
3 18.33333/86
13 18.6/86
39 18.75/86
12 19.05/88
2 19.08333/88
18 19.35/91
1 19.71667/93
26 19.75/93
28 20.11667/94
9 20.18334/96
32 20.2/93
4 20.28334/96
23 20.70001/96
25 21.53334/95
8 21.73334/102
36 21.81668/99
20 21.81668/103
31 21.83334/102
27 21.83334/102
6 21.91667/101
35 21.96667/100
40 22.33334/104
38 22.43334/105
21 22.45001/104
37 22.53334/107
19 22.85001/107
33 22.86668/107
11 22.93334/103
7 23.18335/107
15 23.66668/108
29 24.00001/111
43 26.31668/98
41 26.78334/99
47 28.05001/104
42 28.06668/101
44 28.83335/107
46 30.05002/113
45 31.90002/118
Threshhold: 17.45
Eliminating 16.

Round 3
22 18.03333/85
10 18.05/84
5 18.06666/83
17 18.16666/84
34 18.23333/86
30 18.48334/83
24 18.51667/85
39 18.9/86
3 18.98334/86
2 19.33333/88
12 19.33333/88
13 19.38333/86
18 19.71667/91
1 20.21667/93
26 20.35/93
9 20.51667/96
32 20.51667/93
28 20.55/94
4 20.63334/96
23 21.28334/96
25 21.73334/95
35 22.11667/100
8 22.25001/102
31 22.31667/102
6 22.41667/101
27 22.41668/102
20 22.46668/103
36 22.58334/99
40 22.66667/104
21 22.73335/104
38 23.25001/105
37 23.25001/107
33 23.26668/107
11 23.30001/103
19 23.45001/107
7 23.85001/107
15 24.10001/108
29 24.56668/111
43 26.31668/98
41 26.78334/99
47 28.05001/104
42 28.06668/101
44 28.83335/107
46 30.05002/113
45 31.90002/118
Threshhold: 18.05
Eliminating 10.

Round 4
5 18.5/83
22 18.5/85
34 18.65/86
17 18.76666/84
30 18.8/83
24 18.81667/85
39 19.23334/86
3 19.26667/86
2 19.63334/88
13 19.83333/86
18 19.96667/91
12 19.98334/88
26 20.55/93
1 20.68334/93
4 20.93334/96
32 21.01667/93
9 21.13334/96
28 21.25001/94
23 21.78334/96
25 22.06668/95
35 22.35001/100
8 22.75001/102
6 22.90001/101
20 23.08334/103
31 23.08334/102
36 23.13334/99
27 23.30001/102
21 23.33335/104
40 23.35001/104
37 23.63334/107
33 23.68335/107
38 23.80001/105
19 23.88334/107
11 23.91668/103
7 24.60001/107
15 24.76668/108
29 25.06668/111
43 26.31668/98
41 26.78334/99
47 28.05001/104
42 28.06668/101
44 28.83335/107
46 30.05002/113
45 31.90002/118
Threshhold: 18.5
Eliminating 5.

Round 5
22 18.83334/85
34 19.18334/86
30 19.21667/83
24 19.26667/85
17 19.4/84
39 19.5/86
3 19.98334/86
2 20.2/88
13 20.33333/86
18 20.33334/91
12 20.43333/88
1 21.15/93
26 21.23334/93
9 21.46667/96
32 21.50001/93
4 21.63334/96
28 21.66667/94
25 22.48334/95
23 22.61667/96
35 22.66668/100
8 23.00001/102
6 23.23334/101
36 23.55001/99
31 23.65001/102
21 23.70001/104
20 23.80001/103
40 23.93334/104
37 23.96667/107
27 24.15001/102
33 24.18335/107
11 24.28334/103
38 24.38334/105
19 24.55001/107
7 25.31668/107
15 25.35002/108
29 25.85001/111
43 26.31668/98
41 26.78334/99
47 28.05001/104
42 28.06668/101
44 28.83335/107
46 30.05002/113
45 31.90002/118
Threshhold: 19.18334
Eliminating 22.

Round 6
30 19.71667/83
34 19.73334/86
17 19.81667/84
24 19.91667/85
39 20.26667/86
3 20.51667/86
2 20.7/88
13 20.85/86
12 20.91667/88
18 21.13334/91
1 21.55/93
26 21.73334/93
4 21.86667/96
32 21.86667/93
28 21.96667/94
9 22.25001/96
25 22.71667/95
23 22.86667/96
35 23.20001/100
8 23.28334/102
6 23.95001/101
36 23.98335/99
21 24.25001/104
31 24.45001/102
37 24.53334/107
20 24.55001/103
40 24.61667/104
27 24.66668/102
38 24.73334/105
33 24.76668/107
19 24.91668/107
11 25.00001/103
15 25.81668/108
7 26.25001/107
43 26.31668/98
29 26.65001/111
41 26.78334/99
47 28.05001/104
42 28.06668/101
44 28.83335/107
46 30.05002/113
45 31.90002/118
Threshhold: 19.73334
Eliminating 30.

Round 7
34 20.21667/86
17 20.55/84
39 20.55/86
24 20.58334/85
3 20.91667/86
13 20.98334/86
2 21.10001/88
18 21.7/91
12 21.7/88
4 22.11667/96
26 22.28334/93
1 22.31668/93
28 22.33334/94
9 22.66667/96
32 22.68334/93
23 23.18334/96
25 23.40001/95
35 23.70001/100
8 23.70001/102
6 24.65001/101
36 24.71668/99
21 24.83334/104
37 24.90001/107
31 25.01668/102
40 25.08334/104
38 25.33334/105
19 25.36668/107
27 25.55001/102
11 25.61668/103
33 25.65001/107
20 25.78335/103
43 26.31668/98
7 26.70001/107
41 26.78334/99
15 26.96668/108
29 27.15001/111
47 28.05001/104
42 28.06668/101
44 28.83335/107
46 30.05002/113
45 31.90002/118
Threshhold: 20.55
Eliminating 17.

Round 8
34 20.56667/86
39 21.08334/86
3 21.13334/86
2 21.41667/88
24 21.43334/85
13 21.9/86
18 22.33334/91
1 22.58334/93
12 22.78334/88
4 22.88334/96
26 22.96668/93
9 23/96
28 23.00001/94
32 23.16667/93
23 23.61667/96
25 23.91668/95
8 24.23334/102
35 24.35001/100
6 25.06668/101
36 25.16668/99
21 25.33334/104
31 25.48335/102
19 25.63335/107
40 25.78334/104
37 25.86668/107
38 25.95001/105
11 26.26668/103
43 26.31668/98
33 26.38334/107
20 26.43335/103
27 26.51668/102
41 26.78334/99
7 27.81668/107
15 27.96668/108
29 27.96668/111
47 28.05001/104
42 28.06668/101
44 28.83335/107
46 30.05002/113
45 31.90002/118
Threshhold: 21.08334
Eliminating 34.

Round 9
3 21.66667/86
39 21.8/86
24 21.95/85
2 22.25001/88
13 22.88334/86
1 22.95001/93
18 23.13334/91
28 23.36668/94
26 23.48334/93
12 23.51667/88
4 23.63334/96
9 23.70001/96
32 23.76667/93
25 24.45001/95
23 24.48334/96
35 24.58334/100
8 24.73334/102
6 25.63334/101
19 25.93335/107
36 26.01668/99
21 26.05001/104
43 26.31668/98
37 26.38334/107
31 26.41668/102
40 26.45001/104
33 26.75001/107
41 26.78334/99
11 26.85001/103
38 26.88335/105
20 26.96668/103
27 27.23335/102
47 28.05001/104
42 28.06668/101
15 28.65001/108
29 28.70001/111
7 28.73335/107
44 28.83335/107
46 30.05002/113
45 31.90002/118
Threshhold: 21.8
Eliminating 3.

Round 10
24 22.51667/85
39 22.68334/86
2 23.13334/88
1 23.31668/93
18 23.40001/91
13 23.45001/86
28 23.50001/94
12 23.91667/88
26 24.10001/93
9 24.35001/96
4 24.38334/96
32 24.48334/93
23 25.00001/96
25 25.00001/95
35 25.08334/100
8 25.93334/102
43 26.31668/98
19 26.40001/107
36 26.63334/99
6 26.68334/101
41 26.78334/99
21 26.80001/104
40 27.13334/104
31 27.20001/102
37 27.28334/107
33 27.38334/107
11 27.51668/103
38 27.75001/105
27 27.85002/102
20 27.96668/103
47 28.05001/104
42 28.06668/101
44 28.83335/107
15 29.45001/108
7 29.58335/107
46 30.05002/113
29 30.11668/111
45 31.90002/118
Threshhold: 22.68334
Eliminating 24.

Round 11
39 23.53334/86
2 23.60001/88
18 23.91667/91
28 23.96668/94
1 24.01668/93
26 24.58334/93
13 24.71668/86
4 25.06668/96
9 25.08334/96
32 25.16667/93
25 25.26668/95
23 25.71667/96
35 25.71668/100
12 25.76668/88
43 26.31668/98
41 26.78334/99
8 26.88334/102
19 26.91668/107
6 27.03334/101
36 27.28335/99
21 27.33334/104
40 27.73334/104
37 27.88334/107
47 28.05001/104
31 28.05001/102
42 28.06668/101
38 28.45001/105
33 28.48334/107
27 28.55001/102
44 28.83335/107
20 28.91668/103
11 29.16668/103
15 29.86668/108
46 30.05002/113
7 30.31668/107
29 31.01668/111
45 31.90002/118
Threshhold: 23.60001
Eliminating 39.

Round 12
2 24.20001/88
28 24.43334/94
18 24.56667/91
1 24.68335/93
26 25.21667/93
32 25.50001/93
13 25.68334/86
4 25.83334/96
9 25.90001/96
25 26.21668/95
43 26.31668/98
23 26.36668/96
35 26.68334/100
41 26.78334/99
12 27.36668/88
8 27.50001/102
6 27.63334/101
19 27.75001/107
36 27.96668/99
21 28.01668/104
40 28.03334/104
47 28.05001/104
42 28.06668/101
37 28.70001/107
44 28.83335/107
31 28.98335/102
33 29.26668/107
27 29.40001/102
38 29.40001/105
20 29.83334/103
46 30.05002/113
15 30.30001/108
11 30.68334/103
7 31.38335/107
29 31.50001/111
45 31.90002/118
Threshhold: 24.43334
Eliminating 2.

Round 13
18 25.18334/91
1 25.41668/93
28 25.60001/94
26 25.95/93
43 26.31668/98
32 26.48334/93
13 26.56668/86
41 26.78334/99
4 26.86668/96
25 26.88334/95
23 26.90001/96
9 26.91667/96
35 27.46667/100
47 28.05001/104
42 28.06668/101
8 28.15001/102
12 28.23334/88
36 28.61668/99
44 28.83335/107
6 28.88334/101
19 28.96668/107
40 28.98334/104
21 29.13334/104
31 29.60001/102
37 29.63335/107
46 30.05002/113
33 30.16668/107
38 30.38335/105
27 30.60001/102
20 30.63334/103
15 30.93335/108
11 31.06668/103
45 31.90002/118
7 32.35001/107
29 32.43335/111
Threshhold: 25.41668
Eliminating 18.

Round 14
28 26.03334/94
43 26.31668/98
1 26.50001/93
41 26.78334/99
26 26.8/93
13 27.15001/86
9 27.26667/96
32 27.31667/93
47 28.05001/104
42 28.06668/101
23 28.33334/96
4 28.40001/96
25 28.43334/95
35 28.65001/100
8 28.80001/102
44 28.83335/107
19 29.25001/107
6 29.55001/101
36 29.60001/99
40 29.61668/104
21 29.63334/104
46 30.05002/113
31 30.26668/102
37 30.61668/107
12 30.81668/88
27 30.90001/102
33 31.35001/107
15 31.41668/108
38 31.61668/105
20 31.65001/103
11 31.88334/103
45 31.90002/118
29 33.25001/111
7 33.90001/107
Threshhold: 26.31668
Eliminating 28.

Round 15
43 26.31668/98
41 26.78334/99
1 27.30001/93
26 27.73334/93
13 27.95001/86
47 28.05001/104
42 28.06668/101
9 28.08334/96
44 28.83335/107
25 28.98335/95
23 29.13335/96
32 29.30001/93
4 29.38334/96
35 29.91668/100
46 30.05002/113
8 30.25001/102
36 30.41668/99
21 30.46668/104
6 30.48335/101
19 30.70001/107
40 30.75001/104
12 31.41668/88
31 31.63335/102
37 31.66668/107
45 31.90002/118
27 31.96668/102
33 32.21668/107
38 32.25002/105
20 32.45001/103
11 32.51668/103
15 32.80001/108
29 34.21668/111
7 35.01668/107
Threshhold: 26.78334
Eliminating 43.

Round 16
1 27.30001/93
26 27.73334/93
13 27.95001/86
9 28.08334/96
25 28.98335/95
23 29.13335/96
32 29.30001/93
4 29.38334/96
41 29.80001/99
35 29.91668/100
8 30.25001/102
36 30.41668/99
21 30.46668/104
6 30.48335/101
19 30.70001/107
40 30.75001/104
12 31.41668/88
31 31.63335/102
37 31.66668/107
47 31.81668/104
27 31.96668/102
33 32.21668/107
38 32.25002/105
20 32.45001/103
11 32.51668/103
42 32.58334/101
15 32.80001/108
44 33.06668/107
29 34.21668/111
46 34.46668/113
7 35.01668/107
45 38.26667/118
Threshhold: 27.73334
Eliminating 1.

Round 17
26 28.35001/93
9 28.78334/96
13 29.21667/86
23 29.61668/96
41 29.80001/99
25 30.26668/95
4 30.31668/96
35 30.61668/100
8 30.81668/102
32 31.16668/93
40 31.20001/104
6 31.21668/101
36 31.23334/99
47 31.81668/104
21 31.85002/104
19 31.93335/107
12 32.20001/88
31 32.43334/102
42 32.58334/101
38 32.90002/105
33 32.91668/107
44 33.06668/107
37 33.13335/107
27 33.20001/102
15 34.05001/108
11 34.25001/103
46 34.46668/113
20 34.88335/103
29 35.15001/111
7 37.30001/107
45 38.26667/118
Threshhold: 28.78334
Eliminating 26.

Round 18
13 29.56668/86
41 29.80001/99
9 30.00001/96
23 30.83335/96
4 30.95001/96
35 31.63334/100
32 31.63334/93
25 31.78334/95
47 31.81668/104
8 31.86668/102
40 32.00001/104
6 32.48334/101
21 32.56668/104
42 32.58334/101
36 32.63335/99
12 32.91667/88
31 33.06667/102
44 33.06668/107
19 33.38335/107
38 33.40002/105
33 34.21667/107
46 34.46668/113
37 34.51668/107
27 34.95001/102
11 35.58334/103
15 35.85001/108
20 36.21668/103
29 36.56668/111
45 38.26667/118
7 39.38333/107
Threshhold: 29.80001
Eliminating 13.

Round 19
41 29.80001/99
9 31.11667/96
23 31.56668/96
47 31.81668/104
4 31.98335/96
32 32.01668/93
35 32.18334/100
42 32.58334/101
25 32.75001/95
44 33.06668/107
40 33.33334/104
6 33.35001/101
21 33.35001/104
12 33.71667/88
36 34.05001/99
8 34.06667/102
31 34.08334/102
19 34.43335/107
46 34.46668/113
33 35.38334/107
11 35.78334/103
38 35.78334/105
27 36.28334/102
15 36.73334/108
20 37.01668/103
37 37.63334/107
29 38.15002/111
45 38.26667/118
7 40.23333/107
Threshhold: 31.11667
Eliminating 9.

Round 20
41 29.80001/99
47 31.81668/104
42 32.58334/101
23 32.70002/96
35 33.01668/100
44 33.06668/107
32 33.15001/93
25 33.58334/95
4 33.70001/96
46 34.46668/113
6 34.68334/101
21 34.70001/104
8 34.90001/102
12 35.15001/88
40 35.25/104
36 35.41667/99
31 35.58334/102
19 35.93335/107
33 36.35/107
27 37/102
38 37.16667/105
11 37.18334/103
15 37.7/108
20 37.90001/103
45 38.26667/118
37 38.61667/107
29 40.86668/111
7 42.44999/107
Threshhold: 31.81668
Eliminating 41.

Round 21
23 32.70002/96
35 33.01668/100
32 33.15001/93
25 33.58334/95
4 33.70001/96
6 34.68334/101
21 34.70001/104
8 34.90001/102
12 35.15001/88
40 35.25/104
36 35.41667/99
31 35.58334/102
19 35.93335/107
33 36.35/107
27 37/102
38 37.16667/105
11 37.18334/103
47 37.33334/104
42 37.66666/101
15 37.7/108
20 37.90001/103
44 38.41667/107
37 38.61667/107
46 40.75/113
29 40.86668/111
7 42.44999/107
45 45.83332/118
Threshhold: 33.01668
Eliminating 23.

Round 22
35 34.81667/100
4 35.25001/96
21 35.53334/104
32 35.58334/93
8 35.7/102
12 35.7/88
25 35.75/95
36 36.56667/99
40 36.71667/104
19 36.76668/107
6 36.93333/101
47 37.33334/104
31 37.5/102
42 37.66666/101
33 37.9/107
27 38.08334/102
11 38.2/103
44 38.41667/107
38 38.73333/105
15 39.55/108
20 39.95001/103
37 40.38333/107
46 40.75/113
29 42.35001/111
7 45.03333/107
45 45.83332/118
Threshhold: 35.25001
Eliminating 4.

Round 23
32 36.16668/93
35 36.45/100
12 36.95/88
8 37.21667/102
47 37.33334/104
36 37.48334/99
42 37.66666/101
21 37.7/104
25 37.76667/95
19 38.03335/107
44 38.41667/107
6 38.43334/101
40 39.06667/104
27 39.16668/102
31 39.25/102
11 39.3/103
33 40.53333/107
46 40.75/113
15 40.98333/108
38 41.2/105
20 41.63334/103
37 42.39999/107
29 43.26667/111
45 45.83332/118
7 47/107
Threshhold: 36.45
Eliminating 32.

Round 24
47 37.33334/104
12 37.61666/88
42 37.66666/101
8 38.05/102
44 38.41667/107
35 38.45/100
36 38.9/99
25 39.6/95
19 39.78334/107
21 39.86668/104
6 40.1/101
40 40.23333/104
27 40.5/102
31 40.58333/102
11 40.71667/103
46 40.75/113
33 41.7/107
38 42.69999/105
15 43.23333/108
20 43.88334/103
37 43.89999/107
45 45.83332/118
29 46.35/111
7 48.83333/107
Threshhold: 37.61666
Eliminating 12.

Round 25
47 37.33334/104
42 37.66666/101
8 38.38333/102
44 38.41667/107
46 40.75/113
36 40.78333/99
35 40.88333/100
25 41.01667/95
19 41.31667/107
40 41.66666/104
27 42.08333/102
21 42.08333/104
33 42.53333/107
6 42.75/101
31 42.96666/102
38 43.96666/105
15 43.98333/108
11 44.18333/103
20 45.03334/103
37 45.33332/107
45 45.83332/118
29 48.31667/111
7 49.71666/107
Threshhold: 37.66666
Eliminating 42.

Round 26
8 38.38333/102
36 40.78333/99
35 40.88333/100
25 41.01667/95
19 41.31667/107
40 41.66666/104
27 42.08333/102
21 42.08333/104
33 42.53333/107
6 42.75/101
31 42.96666/102
38 43.96666/105
15 43.98333/108
11 44.18333/103
20 45.03334/103
37 45.33332/107
47 45.49999/104
44 46.83332/107
29 48.31667/111
7 49.71666/107
46 49.83332/113
45 56.83332/118
Threshhold: 40.78333
Eliminating 36.

Round 27
8 39.54999/102
35 41.96666/100
25 42.6/95
19 42.78334/107
27 43.41666/102
40 43.71667/104
21 44/104
6 44.83334/101
33 45.03333/107
31 45.38333/102
47 45.49999/104
15 45.94999/108
38 46.46665/105
44 46.83332/107
11 47.18332/103
20 47.28333/103
37 48/107
46 49.83332/113
29 50.86666/111
7 50.96666/107
45 56.83332/118
Threshhold: 41.96666
Eliminating 35.

Round 28
8 41.18333/102
25 43.93333/95
47 45.49999/104
27 45.91666/102
19 46.04999/107
31 46.13333/102
6 46.34999/101
40 46.35/104
21 46.76666/104
44 46.83332/107
20 48.25/103
15 48.36665/108
38 48.84998/105
37 49.46666/107
33 49.58332/107
46 49.83332/113
11 50.09999/103
7 52.43333/107
29 53.26665/111
45 56.83332/118
Threshhold: 43.93333
Eliminating 25.

Round 29
8 44.48333/102
47 45.49999/104
44 46.83332/107
31 47.28333/102
19 47.89998/107
27 48.33333/102
6 48.64999/101
21 48.73333/104
40 48.98333/104
20 49.33333/103
46 49.83332/113
38 49.84998/105
15 49.86665/108
37 51.68333/107
33 53.24999/107
11 53.48332/103
7 53.89999/107
29 55.26665/111
45 56.83332/118
Threshhold: 45.49999
Eliminating 8.

Round 30
47 45.49999/104
44 46.83332/107
46 49.83332/113
6 50.06665/101
31 50.08332/102
19 50.73331/107
38 50.93332/105
27 50.93332/102
40 51.23333/104
21 51.53333/104
20 51.96667/103
15 52.69999/108
37 53.78333/107
11 55.78332/103
33 55.91666/107
45 56.83332/118
7 57.06665/107
29 57.26665/111
Threshhold: 46.83332
Eliminating 47.

Round 31
6 50.06665/101
31 50.08332/102
19 50.73331/107
38 50.93332/105
27 50.93332/102
40 51.23333/104
21 51.53333/104
20 51.96667/103
15 52.69999/108
37 53.78333/107
11 55.78332/103
33 55.91666/107
7 57.06665/107
29 57.26665/111
44 57.83332/107
46 63.33332/113
45 69.83333/118
Threshhold: 50.08332
Eliminating 6.

Round 32
31 51.58332/102
27 52.81666/102
20 52.9/103
21 52.94999/104
38 53.34998/105
15 54.19999/108
40 54.33332/104
19 54.39999/107
11 57.78332/103
44 57.83332/107
37 58.74999/107
29 59.69999/111
33 59.83332/107
7 60.39998/107
46 63.33332/113
45 69.83333/118
Threshhold: 52.81666
Eliminating 31.

Round 33
20 55.15/103
15 56.11665/108
27 56.14999/102
38 56.18332/105
21 56.95/104
19 56.98332/107
44 57.83332/107
40 58.58332/104
11 60.78332/103
37 61.33332/107
33 63.16666/107
29 63.2/111
46 63.33332/113
7 63.39998/107
45 69.83333/118
Threshhold: 56.11665
Eliminating 20.

Round 34
44 57.83332/107
27 59.24999/102
19 59.86666/107
21 60.28333/104
15 60.86665/108
38 61.53333/105
40 62.08332/104
46 63.33332/113
11 63.78332/103
37 63.91666/107
29 65.24999/111
33 65.5/107
7 65.66666/107
45 69.83333/118
Threshhold: 59.24999
Eliminating 27.

Round 35
44 57.83332/107
46 63.33332/113
21 63.53333/104
19 63.69999/107
38 64.53333/105
40 65.58334/104
15 65.69999/108
37 66.16666/107
11 67.2/103
29 68.24999/111
7 68.41666/107
33 68.91666/107
45 69.83333/118
Threshhold: 63.33332
Eliminating 44.

Round 36
21 63.53333/104
19 63.69999/107
38 64.53333/105
40 65.58334/104
15 65.69999/108
37 66.16666/107
11 67.2/103
29 68.24999/111
7 68.41666/107
33 68.91666/107
46 84/113
45 89/118
Threshhold: 63.69999
Eliminating 21.

Round 37
19 67.08333/107
40 68.41666/104
38 68.91666/105
37 69.66666/107
15 70.25/108
11 70.66666/103
29 70.83334/111
7 72.16666/107
33 72.99999/107
46 84/113
45 89/118
Threshhold: 68.41666
Eliminating 40.

Round 38
19 70.58333/107
37 71.66666/107
29 74/111
15 74.41666/108
11 74.41667/103
38 75.08333/105
33 75.16666/107
7 76.66666/107
46 84/113
45 89/118
Threshhold: 71.66666
Eliminating 19.

Round 39
37 75.49999/107
38 77.83333/105
11 78/103
33 78.66667/107
15 79.83334/108
29 80.33334/111
7 80.83334/107
46 84/113
45 89/118
Threshhold: 77.83333
Eliminating 38.

Round 40
37 79.66666/107
33 82.16667/107
11 82.16667/103
46 84/113
15 84.66666/108
29 84.66667/111
7 84.66667/107
45 89/118
Threshhold: 82.16667
Eliminating 11.

Round 41
37 83.83333/107
46 84/113
33 86/107
15 87.16666/108
7 88.16666/107
29 88.83333/111
45 89/118
Threshhold: 84
Eliminating 37.

Round 42
46 84/113
45 89/118
33 91.16666/107
15 91.66666/108
7 93.16666/107
29 95/111
Threshhold: 89
Eliminating 46.

Final Results:
33 91.16666/107
15 91.66666/108
7 93.16666/107
29 95/111
45 118/118

Interview

COFFEE: HOT Interview

CoffeeHot

As you may or may not know, I have a story in an anthology of SFF coffeehouse erotica from Circlet Press called COFFEE: HOT. We’ve got each of the authors in the book to interview another, and now it’s my turn to ask questions of R. Ann Sawyer. (Here’s the interview of me by Kristin Noone.)

Let’s get started!

How did you get involved with this anthology? “SFF erotica set in coffeehouses” is an awfully specific topic – how did this story come to be?

I love Circlet, and have been published by them before, so I was watching their anthology offerings when I saw this story prompt post. I have two small children, so coffee is an absolutely necessary part of my life, and I thought it would be fun to play with erotica that had the bitter sweet bite of coffee.

For the scene itself, I was a little stuck. I asked a good friend what she was in the mood to read, and she requested some hot smuggler/lawperson action. I couldn’t figure out why someone would be smuggling coffee in the modern world, though, so I decided to play around in a sci-fi world–and the rest happened so fast it shocked me. I wrote the first draft of the story in about four hours.

Your story is definitely science fiction – is that your genre of choice? Is there anything in SF that you particularly like for erotica?

This is actually my first foray into any kind of sci-fi; I’m much more comfortable in the worlds of dark fantasy or urban fantasy. I loved sci-fi when I was a kid, but fell out of touch with the community as I got older. I’ve been slowly worming my way back in, finding progressive sci-fi that includes a broader sort of fan than some of what I read when I was a kid.

Do you do both erotica and non-erotica writing? If so, is it hard to transition between the two?

My day job is as a content and copywriter for a variety of clients. I’ve tried to write fiction without any kind of erotic element, but I love writing about relationships and people, and I also really love writing about sex. Even when I try to behave myself, someone ends up touching someone else. I lead a hard life (not really).

And of course: how do you like your coffee?

Way too much sugar and milk. I’m ashamed of myself. I managed a coffee shop within a bookstore for several years, and I know all the reasons why coffee should be served black, but I just can’t.

I have a deep love of cold brew, and rarely drink my coffee hot unless it’s the depths of winter. I have been known to curl up with my laptop, fingerless mitts keeping my hands warm, blanket around my shoulders, and still I’m drinking iced coffee.

Movies, Silly

Abridged Script to BLACKHATS

This is an attempt to reconstruct the script of the movie BLACKHATS, which I watched on the plane ride home and was completely baffling in its badness. I rented it for $6 and there’s an hour of the flight left, so I may as well use it to entertain myself.

CHINESE NUCLEAR REACTOR

Everything is fine. Suddenly, COMPUTERS! We zoom inside the computer to see a light turn on. Then everything is NOT FINE. A water pump breaks, and the reactor almost immediately explodes, because that is how reactors work.

CHINESE BOSS meets with CHINESE COP.

CB: Can you find out who did this?
CC: Only with the help of the Americans. They still have the … code of the … virus? Or something. Ours got exploded in the reactor.
CB: Fine, I’ll have to convince the FBI.

FBI WOMAN meets with FBI BOSS.

FW: I think we should work with them.
FB: Work with the Chinese? Never! *pause* Okay, fine.

Meanwhile, THOR is in prison. He gets called into the prison warden’s office to get yelled at for hacking into the prison commissary with a phone or something. The point is, we know he’s a HACKER, and he mouths off to the warden so we know he’s COOL. He also does some push-ups so we know he’s BUFF.

Meanwhile, at the Chicago Mercantile Exchange, HACKERS once again zoom the camera inside a computer and do something with LIGHTS. This causes a catastrophic rise in the price of soy. (Seriously that’s what happens.)

Meanwhile, CHINESE COP meets with his sister, GIRL.

CC: I need you to come with me to America. You are an elite network administrator, and I need one of those I can trust.
Girl: No. On second thought, fine. Does the fact that I’m an elite system administrator mean I get to do computer stuff in this movie?
CC: No, you basically read stuff off screens to us.
Girl: Dang.

They go to NON-SPECIFIC AMERICA and meet up with FBI WOMAN and her partner FBI JERK.

CC: I will immediately establish good relations by telling you how much your technical people suck.
FW: I don’t really even argue with this.
CC: We need my old college roommate Thor.

THOR gets offered a deal to get out of prison, but he negotiates it to a better deal so we can see how COOL he is.

CC: Hey bro, good to see you!
Thor: Your Earth prison could never hold me! I mean, hi bro. Sorry, I’ve been doing so much of this Avengers shit it slips sometimes.
CC: This is my sister Girl!
*THOR and the CAMERAMAN both stare pervily.*

They go to the Chicago computer center and THOR shows up the pencil-necked dweeb who works there by typing on a command line, because he is a HACKER. He runs .exe files on UNIX because that is a thing that happens.

FW: Okay, so this dude planted the virus here. Let’s all go find him.
Thor: Why don’t Girl and I go by ourselves, and you two stay here? Because … reasons. Something about grids.
FW: I don’t trust you so I’m sending FBI Jerk along. Try not to evade him so effortlessly the movie won’t even show us how you do it.

He DOES. The guy they went to find is dead, but he was meeting another guy at a Korean restaurant, so they go there. Nobody shows up. Thor finds a camera and concludes that it’s a trap, and then every Korean in the restaurant inexplicably tries to murder them, including the chef. They escape.

Girl: You are awful good at hand to hand combat for a hacker.
Thor: Verily, none shall stand before the might of Mjolnir!
Girl: But since this was a dead end and we learned nothing, this whole part of the movie is pointless.
Thor: We had better have sex then.
Girl: Why? The movie has made no effort to establish any romantic feeling between us, other than you staring at me like a creep.
Thor: I DO look like Thor, though.
Girl: Point.

They have that weird PG-13 sex where you don’t actually take any clothes off, but wake up later naked under a sheet.

Meanwhile, the competent characters blackmail the representative of the Exchange into revealing his client records, because this is something we are totally comfortable with the FBI doing. They discover that some money from the soy bubble went to China, which is a small place completely accessible by a few minutes’ car ride from Hong Kong.

Everyone meets up in China, and they find the three guys who took the money. Thor discovers they’re being sent their instructions by EVIL FOREIGN MAN, who sits in a cafe texting to nobody all day long while the Chinese police watch.

FW: Wait, you guys are actually watching him already, but you don’t have the content of his texts?
CC: Unlike America China is big on civil liberties.

They try to arrest EVIL FOREIGN MAN, but he produces an army of gun toting thugs out of his back pocket. Chinese police charge in and die horribly in huge numbers. Thor turns out to be pretty good in a gunfight, too. Eventually EVIL FOREIGN MAN kills all the police and escapes in broad daylight, because China is a DYSTOPIAN HELLSCAPE apparently.

Thor: Dang. Once again we are completely foiled and useless.
CC: We actually sort of suck at our jobs. By the way, are you banging my sister?
Thor: Verily.
CC: Right on, bro.
FW: This movie could pass the Bechdel Test if Girl and I exchanged a line, but we won’t.

The Chinese police arrive to say that the reactor is now “under control” so they can go in and retrieve the hard drives of the hacked computers, which may yield a clue. CHINESE COP, THOR, and GIRL do this instead of trained nuclear technicians. It looks like they might pass out and die, but then they don’t.

Thor: The data is on here, but it’s too badly corrupted to use!
CC: We pulled a hard drive from inside a breached nuclear reactor, I’m amazed it still works at all.
Thor: FBI Woman, when you arrested me, you restored my corrupt data somehow.
FW: The NSA has a program called Black Widow that can do that. They let us use it in a high profile case like yours. Now, though, this case that involves nuclear terrorism and the all important soy market apparently isn’t good enough.
Thor: I will break into the NSA by the power of HACKING!

Shockingly, this invokes something semi-plausible (if you squint real hard), rather than just typing really fast. They get the data and find out that the bad guy is using a service that hosts black hat hackers in Jakarta.

FW: Wait, if there’s a service like that, shouldn’t we, the FBI, know about it already?
Thor: Unlike the NSA, this Indonesian ISP is impenetrable to HACKING. We’ll have to physically break in there and grab stuff.
CHINESE BOSS: Not so fast! The NSA called and said they know you hacked them. Chinese Cop, turn Thor over to the Americans!
CC: Right away, sir, let me definitely not go warn him.

He DOES. Thor and Girl escape.

Thor: How did they detect my HACKING?!
Girl: Uh, you called them and asked for something, and when they said no it was stolen literally minutes later. It doesn’t take a genius.

Thor, Girl, and Chinese Cop meet up.

CC: Now that you’re a fugitive, we’ll have to sneak you into Indonesia, Thor. Girl, you have to stay here, because this is suddenly too dangerous.
Thor: That’s right. This isn’t like walking into a nuclear reactor, this is serious.
Girl: You guys suck.
Thor: You don’t want to date me anyway. I’m on the run from the law now.
Girl: Fine, but let’s make out one last time.

They do. Suddenly EVIL FOREIGN MAN shows up and destroys the car Chinese Cop is in with a bazooka!

Thor: Brooooooo!

FBI WOMAN and FBI JERK have been following Thor. They talk a bit about her dead husband, who was killed in 9/11.

FW: Wait, does that count as talking about my family? Did that raise my death flag? Son of a BITCH!

They show up where the gun toting thugs are trying to kill Thor. The FBI agents IMMEDIATELY open fire, and and killed by the bad guys. (I can’t stress enough that their procedure is: drive down the street in a foreign country, see gunfire on the road ahead, start firing guns out the car window without trying to find out what’s going on.). Thor and Girl escape, again in broad daylight, because again, DYSTOPIAN HELLSCAPE. They procure fake documents and exit from the country within literally minutes, because ditto.

Girl: I got the bad guy’s account file somehow, and it lists that he ordered satellite photos of this spot in Malaysia. Let’s go check it out!
Thor: You didn’t hack him, did you? Because HACKING is my job.

In Malaysia, they discover a deserted dam with water pumps of the same brand as used in the nuclear reactor.

Thor: That’s it! The reactor was PRACTICE! The bad guy’s real plan is to destroy this damn, flooding the tin mines in this valley, thus causing an increase in the price of tin while buying tin ore futures!
Girl: That’s seriously the big twist? The bad guys are manipulating the tin futures market, with the money they made on a soy bubble? Is the goal to make their plot so boring that no action hero will come foil it? Not to mention that makes no sense, since destroying a reactor would draw huge attention. This dam is completely unguarded, he could just WALK here and destroy it with a hammer! And–
Thor: I summon BIFROST to transport us to Jakarta!

They break into the top secret ISP by dropping a truck through the roof of the building, then just sauntering in with the cops, once again demonstrating no regard whatsoever for bystanders’ safety. Once they have the data, they steal the soy money, and call the bad guys.

EFM: Who is this?
Thor: Seriously, what accent are you even trying for? Let me talk to your boss.
EFM: Never. Well, fine.
BAD GUY: I am of course vaguely British, unlike my mostly ethnic henchmen. You’ve got my money, what do you want?
Thor: I want a cut of your scheme.
BG: Wait, so you’re holding my money hostage in exchange for more money? How does that make sense?
Thor: Your Earth numbers confuse and anger me.
BG: Interesting. Okay, but I demand a personal meeting, even though that can serve no possible purpose other than for us to try to kill each other.

Thor schedules the meeting in a big public square, thus deliberately starting a gunfight in a dense crowd. He prepares with a screwdriver up his sleeve and makeshift body armor made from magazines.

EFM: I will frisk you, rather than shooting you on sight, although killing you is clearly the plan.
Thor: Thanks! I’ll stab you in the face with this screwdriver and take your gun.
BG: Thugs, kill him!

They shoot lots of random civilians, but Thor is impervious to bullets due to his magazine armor. He kills the thugs. BAD GUY, a fat, pasty British hacker, pulls a knife and attempts to engage THOR in hand to hand combat. Thor stabs him about a million times immediately.

Thor: That’s what you get for HACKING when you’re not COOL.
Girl: I love you! For some reason!
Thor: Abs, I assume.
Girl: But aren’t we still on the run from the FBI? Won’t they easily find the money? For that matter, how are we going to get out of Indonesia after starting a gunfight in public?
Thor: Easily.

Indonesia also being a DYSTOPIAN HELLSCAPE, they do.

News, Silly

THE MAD APPRENTICE Cat Picture Giveaway!

If you know me at all, you probably know that I like cats. My cats, Sakaki and The Tomoes, were eager to help me advertise THE FORBIDDEN LIBRARY, as depicted below.

BookCat01

BookCat02

Now it’s your cats’ turn!

From now until the release of THE MAD APPRENTICE, on April 21st, everyone who emails an appropriate picture to catcontest@djangowexler.com will be entered in the giveaway! Winners will receive a hardcover copy of THE MAD APPRENTICE, signed by me and personalized as you like.

Pictures should contain, at minimum, the following:
-A copy of THE FORBIDDEN LIBRARY. (Kindle, audio, etc are fine!)
-A cat.

UPDATE!
My UK publisher has agreed to ship copies to UK winners, so the contest is officially open to UK entrants! Winners in the UK will receive UK (paperback) editions, and I will try to send over a signed bookplate to put in them.

Questions?

What if I don’t have a copy of THE FORBIDDEN LIBRARY?

They are available wherever books are sold, in paperback, e-book, or audiobook! THE MAD APPRENTICE is a sequel, so you’d want to read the first book first anyway.

What if I don’t have a cat?

That is a serious problem and you should remedy it immediately!

For those who are, for whatever sad reason, unable to get a cat, some creativity will be required. Here are some possible options:

  • Borrow a friend’s cat.
  • Borrow an enemy’s cat.
  • Go to the zoo and borrow a lion. (Note: Do not actually do this.)
  • Go to the library and pose with the stone lions. (Probably safer.)
  • Transform your dog into a cat by the magic of costume!
  • Transform your dog into a cat by the magic of photoshop!
  • Transform your dog into a cat by the magic of actual magic! (Recommended!)
  • Acquire a picture of a cat and use that. (There MAY be some pictures of cats on the internet, if you look hard.)
  • Draw, sculpt, or otherwise create a cat ex nihilo.
  • Use googly eyes and construction paper to make THE FORBIDDEN LIBRARY into a cat! (Note: Not responsible for damages to THE FORBIDDEN LIBRARY. You may want to buy an extra copy for this purpose.)

Caveats

  • Winners will be selected at random from among qualifying pictures. I will contact winners by email to get snail-mail addresses, desired inscriptions, etc. Particularly awesome pictures may receive a small additional prize at my discretion.
  • Currently open to only the US and Canada — and now to the UK! See above. I’m really sorry, but shipping books elsewhere in the world just gets very expensive from here. (If you just want to send me cat pictures for fun, feel free!)
  • Feel free to include yourself in your pictures. However, pictures will be posted on my website, Twitter, etc, so don’t include anything you wouldn’t want the whole internet to see! Any names and other information will of course be kept private and not used for any non-contest purposes.
  • I am not responsible if you are clawed by a cat who refuses to hold still for a picture. Cat at your own risk.

Now go forth and photograph cats with books!

Awards

The Hugo Awards, Game Theory, And A Modest Proposal

So, if you are one of the lucky people who doesn’t follow the twitter-sphere, here’s the story so far. The Hugo Awards, SFFs most influential honors, announced their list of nominees on Saturday. A group of writers on the conservative side of the political spectrum had campaigned for a slate of nominees, the Sad Puppies, and were very successful in getting their picks onto the ballot, completely taking over some of the categories. Many people were very upset by this, which was probably the point. I’ve been participating in multiple simultaneous discussions, so I thought I’d write up some thoughts here where I can conveniently link them.

Why This Happened

Various people have accused the SPs of cheating, which is almost certainly not the case. On the SP side, people have been crowing that this shows they’re really in the majority, which is also almost certainly not the case. Given the way the Hugo nomination process is structured, organized slate voting is a dominant strategy, and a minority being able to completely dominate the ballot should be an expected result.

If you’re not familiar with it, the process is pretty simple. In each of the various categories (Best Novel, Best Novella, and so on) each voter can nominate up to five works. The votes are all added up, and the top five in each category become the nominees, to be voted on at WorldCon to determine the winner. The SP strategy was to pick five works for each category and encourage their voters to choose those five.

Let’s consider a hypothetical election between Green and Purple voters. There are 800 Greens in the voting pool, and 200 Purples. The Greens mostly prefer Green works, of which there are, say, 10 in serious contention — we’ll call those G1, G2, etc. The Purples similarly prefer Purple works, P1, P2, etc.

The Greens have no organization. Each Green picks the five works out of the ten that he or she personally likes best. Assuming each work has its fans, this will lead to a vote distribution that is reasonably even — say 95 for G3, 93 for G5, 89 for G8, down to 56 for G1.

[EDIT — It has been pointed out that I suck at math here. The actual vote totals would be closer to 400 for each (since each person gets five votes), so in order to make this example work, we need more Green works to spread across, and similarly for Purple. The numbers are just illustrative anyway, although this actually suggests an important point — the SPs had less success in the Best Novel category, where there were some clear front-runners, then in a category like Best Short Story where the vote was more widely scattered.]

If the Purples voted similarly, they would get a similar distribution: 34 for P2, 30 for P10, and so on. In this case, the ballot would be all Green, since the fifth-most popular Green work is more popular than all the Purples.

Instead, Purple Leader says, “Hey, lets all vote for P1, P2, P3, P4, and P5.” The Purples all go along with this. So those five works receive 200 votes each, and the others zero. Now the final ballot will be entirely Purple! The minority, by being more organized, runs the table. The Purples don’t cheat; neither have they suddenly become a majority. They simply have a more effective strategy, considered solely in terms of getting Purple on the ballot.

Why This Is A Problem

Back in the real world, why should we be concerned about this? John Scalzi suggests we should not be. The final Hugo voting includes a “No Award” option, for almost exactly this reason, and the voters can make use of it if they are sufficiently pissed off. Justin Landon broke down last year’s Hugo voting, in which there was a similar, if less successful, SP campaign. The upshot is that the SP candidates were completely defeated in the final voting, which uses a very different voting system — ranking, with instant runoffs, mean there’s no vote-splitting “spoiler” effect. Again, not an unexpected result, and I predict we’ll see something similar this year. (No Award will almost certainly win a few categories.)

But, for me, that’s not good enough. It’s a bit like saying it’s okay someone came over and kicked down your sandcastle, because they weren’t able to build their own. The problem is not that a bunch of conservative-leaning writers got on the ballot; as Scalzi says, that’s not a big deal. The problem is that it is now blindingly obvious that “slate” voting, if widely used, will dominate the nominations.

Suppose next year, when Sad Puppies IV is announced, a liberal-leaning writer counter-organizes a Happy Puppies slate. He or she would probably get a lot of support. Given the composition of the voting pool, Happy Puppies would probably win; let’s say they shut out the Sad Puppies completely. Is that better? Now we have an award in which the organizers of the two slates decide who gets to be on the ballot, independent of what works people really think are worthy. In the above example, note who loses out — Purple works 6 through 10, who didn’t get picked for the slate and were thus completely removed from consideration. In real life, too, there’s crossover between the Green and Purple sides, but slate voting eliminates that entirely. Someone who might attract Green votes, but gets picked for the Purple slate, is going to be screwed.

It’s tricky to talk about the “true spirit of the Hugo awards”, because they mean different things to different people. But I like to think that the scenario where each person chooses the works that they personally found to be best is closest to the ideal. If that scenario is unachievable (and it is) then we can at least try to get as close as possible.

Can We Fix It?

Voting systems are hard. They are the realm of unintended consequences and unforeseen strategies. A whole branch of academic game theory studies them, and there is no system that is clearly best in all circumstances, even give ideal voters; once you add human foibles into the mix, things get even more complicated. So beware of anyone saying, “Oh, it’s easy, we just have to X.”

Here are some things that will probably not work:

Just ban slate voting and campaigning. Impossible to enforce. You can never prove that a voter didn’t independently happen to choose the same works that are on the slate, and it would put the judging authorities in an impossible position, ripe with possibilities for abuse.

Expand the electorate. A good idea in general, but not a silver bullet here. The Hugo electorate is small (~2,000 voters, members of WorldCon) but that isn’t actually the problem. The SPs didn’t win by signing up enough of their people to be a majority (usually what you worry about with small voting pools) they won with a minority by being better organized.

What we need, ideally, is a change in the voting rules that aligns the result we want (everyone picking what they think is best) with the optimal strategy, as much as is possible. We also need the rules to not be excessively complicated and cumbersome, or else no one will vote.

A Modest Proposal: Anti-Votes

I’ve heard several proposals that might work. The most obvious is to change the number of votes allowed so it’s smaller than the number of final nominations, making it much harder to coordinate a slate takeover. (That is, everyone gets to pick 3, and the final 6 top are chosen, or similar.) This might help, but I don’t know that it gets to the root of the problem — it would be harder to coordinate a slate, but far from impossible. I’m interested in thinking about it, though! Here is my suggestion, which seemed a bit odd to me at first, but which I think gets closer to addressing the underlying issue.

The ballot stays as is, except that each category gets a section for five anti-votes. Each voter can both vote and anti-vote, for a total of ten choices. Anti-votes are subtracted in the final voting tally, and the top five results get on the ballot, even if their vote totals are negative or zero.

Why would this help? Because it turns the structural advantage of an organized slate into a disadvantage. Imagine what would happen to the Sad Puppies under this system. People who don’t like them, or who don’t approve of slate voting, can anti-vote their whole slate, just as easily as their supporters can vote for it. The more widely known the slate is, the more anti-votes it will attract.

Of course, the SPs would get anti-votes too, and could easily publish an anti-vote slate. But as long as their opposition isn’t pushing an organized slate of their own, the anti-votes will be split among many possible candidates, just as the Green votes are above. Organization and campaigning would become a liability instead of an asset.

With any voting system, we have to think about possible consequences. Who would be unfairly hurt by this system? The obvious answer is “people who the slate voters very much dislike”. It’s quite possible that, for example, John Scalzi would attract a disproportionate share of the anti-votes from the SPs and their allies, thus crippling his chances compared to a writer who has a similar position but is not as politically active. It might have a chilling effect, where writers think harder about taking certain political positions, lest they get on the anti-vote list of an opposing group.

These are real problems, and it may be that they outweigh the benefits. But it’s at least worth thinking about. As it stands, the Hugo nomination process is badly broken, and unless something is done the system is not going to produce useful results, only political football.

Minis

Facing the Dragon

I finally finished up my new painting project! The brave adventuring party faces off against the most dangerous foe of all. (Unless you count my cat, worst nightmare of any miniature.) These are all from the Reaper Bones II kickstarter — I was poking through the giant pile of minis and trying to figure out something more interesting to do than just painting them one by one.

IMG_2394

IMG_2395

IMG_2396

IMG_2398

IMG_2399

IMG_2400

IMG_2401

Let’s meet our adventuring party!

For some reason (racism?) my camera refused to take in-focus pictures of Ranger.  You can see her pretty well in some of the above pictures though.
For some reason (racism?) my camera refused to take in-focus pictures of Ranger. You can see her pretty well in some of the above pictures though.
Barbarian bravely/stupidly confronts the dragon head-on!
Barbarian bravely/stupidly confronts the dragon head-on!
Mage apparently doesn't believe in armor or staying warm.
Mage apparently doesn’t believe in armor or staying warm.

IMG_2416

Rogue somewhat more sensibly decides to strike from above.
Rogue somewhat more sensibly decides to strike from above.
Paladin should really be tanking, too, but with her head pointed the way it is she'd be looking at her shoes.
Paladin is a worshipper of the mysterious Gods of Punk. She should really be tanking, too, but with her head pointed the way it is she’d be looking at her shoes.
Her shield has the full complement of Pointless Fantasy Doodads!
Her shield has the full complement of Pointless Fantasy Doodads!

I took a ton of in-process pics while I was building this, along with my own musings, if that’s the sort of thing you find interesting.

This is a test caption.
I first came up with this idea when I was looking through the Reaper Bones II minis and trying to figure out what I wanted to paint first. I found an old trophy base, left over from another project. I started messing around with positioning some adventurers fighting a monster, and decided on the party and the dragon.
test
Because of the poses of the minis, I knew I would need some kind of raised platform. (Paladin is looking DOWN, for some reason, and Rogue looks like she’s jumping.) This meant a pause while I ordered some modeling foam and a foam cutter to make the rocks. Here I’ve kind of roughed out the positions and started cutting the rocks into shape. It leaves a lot of foam scrap!
First up, painting the dragon.  Here he is after his primer coat.
First up, painting the dragon. Here he is after his primer coat.
Here's the dragon slathered with his cherry-red basecoat.
Here’s the dragon slathered with his cherry-red basecoat.
A wash and drybrush coat makes the scales pop a bit and adds some definition.
A wash and drybrush coat makes the scales pop a bit and adds some definition.
Highlights added to the scales, and some additional details done.  Starting to look a bit draconic!
Highlights added to the scales, and some additional details done. Starting to look a bit draconic!
Added one of the wings.  This is always an annoying choice -- you can put things like wings on before you paint, which makes blending them in easer, but can also make some areas of the mini difficult to reach.  As it was I had to spackle in some green stuff and repaint some bits.
Added one of the wings. This is always an annoying choice — you can put things like wings on before you paint, which makes blending them in easer, but can also make some areas of the mini difficult to reach. As it was I had to spackle in some green stuff and repaint some bits.
The base with rocks, sand, and masking tape.  The rocks are covered in a foam protectant that is supposed to make it okay to spraypaint them.  (Spraypaint eats foam.)  This turned out to be a lie, or else I didn't apply it thick enough, because some of the foam melted.  I had to patch it with green stuff.
The base with rocks, sand, and masking tape. The rocks are covered in a foam protectant that is supposed to make it okay to spraypaint them. (Spraypaint eats foam.) This turned out to be a lie, or else I didn’t apply it thick enough, because some of the foam melted. I had to patch it with green stuff.
Four drybrush coats on the sand to make it look ash-waste-y.  Note the dragon footprints to show where he goes.  Starting on the rocks.
Four drybrush coats on the sand to make it look ash-waste-y. Note the dragon footprints to show where he goes. Starting on the rocks.
Wash coat applied and drying.
Wash coat applied and drying.
First drybrush coat on the little rocks, but not the big ones yet.
First drybrush coat on the little rocks, but not the big ones yet.
Second or third drybrush coat.
Second or third drybrush coat.
The base is more or less done!
The base is more or less done!
Our brave adventurers, with their bases cut off.
Our brave adventurers, with their bases cut off.
Post primer coat.
Post primer coat.
Working on the flesh tones first.
Working on the flesh tones first.
These are at (roughly) the end of the day.
These are at (roughly) the end of the day.
Progress!
Progress!
Getting there!  It's nice to have multiple things to work on at once, so I can move from one to the other while paint dries.
Getting there! It’s nice to have multiple things to work on at once, so I can move from one to the other while paint dries.
Almost done!
Almost done!
Just highlights and some final touchups.
Just highlights and some final touchups.
The green cloaks got most of the highlighting.  This is what they look like beforehand.
The green cloaks got most of the highlighting. This is what they look like beforehand.
The dragon attached to the base!
The dragon attached to the base!
Basically finished adventurers.
Basically finished adventurers.
I had to put some green stuff under his feet to make sure he stayed grounded.
I had to put some green stuff under his feet to make sure he stayed grounded.
This is what probably annoyed me most about the whole project, even counting the melting foam.  The dragon's left hind leg bent after I painted him, so that now his pose doesn't really look natural.  Very annoying.  The plastic that Reaper Bones is made from is weird.
This is what probably annoyed me most about the whole project, even counting the melting foam. The dragon’s left hind leg bent after I painted him, so that now his pose doesn’t really look natural. Very annoying. The plastic that Reaper Bones is made from is weird.
Pretty much done!  Some last touchups and fixes, and then off to take good photos!
Pretty much done! Some last touchups and fixes, and then off to take good (maybe) photos!

Lessons Learned

  • The “bonesium” stuff that Reaper Bones minis are made of is tricky. It’s neat in some ways, as flexible as a plastic toy, so it’s easy to temporarily move an arm out of the way to get an angle at something. But a bunch of the minis I got are twisted or bent permanently, and I’m not sure how to fix them. The approach that works on resin minis — heat in boiling water, re-bend, quench in ice water — seems to work, but the minis return to their bent shape after a couple of days. Internet studies suggest more boiling time? Need to experiment.
  • Modeling foam is also tricky. Superglue and spray paint both dissolve it like acid. The foam coat stuff protects it somewhat, but not completely, although it does mask the too-regular foam texture. Next time I will probably still use foam coat but paint by hand. This is annoying, though, because painting sand manually is a PITA.
  • Need to think harder about what happens at the edge of the modeled area. I had masking tape down to protect the wooden base, but when I pulled it off it left ragged bits of sand that I had to fix up and paint. Maybe some kind of lip made of green stuff?
  • Composition. The color scheme worked well — gray-blue terrain, brilliantly red dragon, mostly blue-green adventurers. Also increasingly getting the hang of skin tones, including dark skin tones. The placement is trickier — this one looks fine if you can pick it up and manipulate it, but with the adversaries facing one another it’s hard to get good-looking pictures from one direction. May need to think of these arrangements as more theater-like with a single intended viewpoint.
  • Basing. I cut the Reaper minis off their bases, but realized later that unlike, say, GW minis, since they have built-in bases their feet aren’t always level. This meant some last-minute fixes to the terrain, which I should have built in from the start. More testing and mockups.
Minis

Return of the Old Gods

A while back, I was introduced to the game The Doom That Came To Atlantic City. The game itself is fun — it plays like a kind of reverse Monopoly, where you rampage around destroying houses to open gates to the nether realms — but more importantly for my purposes, it came with a set of awesome figures as playing pieces. They’re based on art by Lee Moyer and sculpted by Paul Komoda. I knew I wanted to paint them immediately, and fortunately soon after one of my friends bought a copy of the game.

Taking decent pictures of minis with my little point-and-shoot is bear, and these are just about at the edge of my ability to paint, but I was at least reasonably happy with how the set turned out. Let’s do the roll call!

IMG_2298

Great Cthulhu comes first, naturally. His paint job was pretty straightforward — just basecoat, wash, drybrush, and a little touchup on the highlights, and a similar process for his base. I still don’t quite have the hang of painting gemstones though.

IMG_2299

IMG_2319

IMG_2325


IMG_2341

IMG_2342

Yog-Sothoth, The Lurker at the Threshold, was a bit of a puzzle. It’d be easy for him to end up as just a purple blob, which isn’t that interesting. I thought about doing him as soap-bubble spheres, but my painting skills aren’t up to that, so I decided to stick closer to Lee’s art which shows him as purple, and work on my manual highlighting technique. Still getting there.


IMG_2328

Shub-Niggurath, the Black Goat of the Woods With a Thousand Young, is a deliciously complicated figure. Just teasing out which bit is part of which creature took forever. Color-wise I thought of him as kind of a weird mish-mash of stuff, but I’m not sure it came out as well as I imagined. I might have backed off the flesh-tone in the middle a bit? Who knows!
IMG_2330

IMG_2331

IMG_2332

IMG_2333

IMG_2334


IMG_2374

Hastur, the King in Yellow, is very, well, yellow. I don’t paint in yellow much, just because it’s a fiddly color to work with, but I was pretty happy with how the new GW yellow wash worked. Mixing in some golds and oranges seems to have worked as well. Trying again for a gem-like thing on his sphere, not sure it really worked. One downside to the yellow is the bright light makes it look weird and breaks up the blending.

IMG_2375

IMG_2376

IMG_2377


IMG_2360

Tsathoggua, the Sleeper of N’Kai, was also pretty straightforward, since so much of his body is textured. The art actually shows him as light purple, but I thought he’d be too close to Yog that way, so I did him as brown-furred. A bunch of blending back and forth until it looked okay, basically.

IMG_2361

IMG_2362

IMG_2363

IMG_2364


IMG_2357

Ithaqua the Wind-Walker was also straight-forward, because he looks very similar to some of the Cryx (undead) models I did for a Warmachine army. I used my standard zombie-skin mix (purple and green washes for a mottled look) and a blue-and-green drybrush on the swirling winds to make them look eldritch.

IMG_2356

IMG_2358

IMG_2359


IMG_2337

Azathoth, the Daemon Sultan, came out a little weird. I really like how the color combination ended up, the blue and red, but the underlying parts came out too dark, so the highlights look like they’re “floating”, especially with the relatively light chitin. If I were doing it against I’d use a light blue undercoat and less wash.

IMG_2339


IMG_2379

Nyarlathotep, the Crawling Chaos, was a ton of fun to paint but an absolute pain to photograph. Something about his downward-looking face makes him really hard to get in focus. This is probably my favorite figure, I love the asymmetry and the contrast between the smooth and weird-looking parts of his figure. The blue and green color scheme worked better than I expected with the gold.

IMG_2353

IMG_2354

IMG_2355


The gang’s all here!

IMG_2369

News

Awards Eligibility 2014

As usual, we authors do these yearly posts where we point out that there are awards out there, and that while we of course don’t want the awards, honestly, how gauche would that be, we probably wouldn’t actually turn down the award in the event that other people of their own free will, without being prejudiced, decided that we were the most award-worthy person in that particular category.

So, in that spirit, here are the things you should nominate me for this year:
The Campbell Award for new writers. This is my second (that is, final) year to be eligible for it. After that I’m an old fogey forever.

Others on that list that deserve your consideration: M.L. Brennan, Brian McClellan, Wes Chu, Luke Scull, Michael Martinez. (That’s just people I happen to know, off the second-year list, I’m sure there are many other worthies.)

Hugo — Best Novel:
The Shadow Throne is eligible this year, as is The Forbidden Library, though kids’ books are rarely nominated. In all honesty, I don’t deserve this one, because this year is an incredibly strong field (I will probably cast my personal vote for Robert Jackson Bennett’s City of Stairs) but if you’d like to throw Shadow Throne a nomination, I’d be honored to see it on the list.

Hugo — Best Novella:
John Golden, Freelance Debugger qualifies here, and I thought it was a lot of fun. If you haven’t taken a look at it, it’s now available in e-book, audio, and paperback (bundled with the other John Golden story). Have a look!

That’s about it for my stuff. In all seriousness, though, if you’re a WorldCon member, please nominate something — voting has been robust for the final round, but the nomination process is shakier since fewer people participate. Support your favorites!