Page 2 of 3

Re: Pattern of the Year 2018 competition: Voting

Posted: January 9th, 2019, 11:24 pm
by Sokwe
#01 ***
#02 *
#03 **
#04 *
#05 **
#06 ***
#07 ***
#08 *
#09 ***
#10 **
#11 **
#12 *
#13 *
#14 *
#15 **
#16 *
#17 *
#18 **
#19 *
#20 **
#21 *
#22 *
#23 *
#24 *
#25 **
#26 **
#27 *
#28 **
#29 *
#30 **
#31 *
#32 *
#33 *
#34 **

Re: Pattern of the Year 2018 competition: Voting

Posted: January 10th, 2019, 4:42 am
by dbell
Here are my votes:

#01 ***
#04 *
#05 ***
#06 **
#07 ***
#08 *
#09 ***
#11 ***
#12 ***
#13 **
#14 *
#17 **
#19 *
#23 ***
#24 **
#25 *
#26 *
#28 **
#29 *
#30 *
#31 *
#33 *
#34 **

BCNU,
-dbell

Re: Pattern of the Year 2018 competition: Voting

Posted: January 11th, 2019, 3:06 pm
by blah
#01 **
#07 **
#09 ***
#28 *

Re: Pattern of the Year 2018 competition: Voting

Posted: January 12th, 2019, 6:53 pm
by muzik
Three stars for 9 (obviously), 1, 13, 16, 22 and 34, two for 8, 11, 17, 19, 23, 27, 31, and 1 for the rest.

EDIT by dvgrn: It's so much easier to do even manual recounts with everything in the same format, that I'm adding the standard star list here:

#01 ***
#02 *
#03 *
#04 *
#05 *
#06 *
#07 *
#08 **
#09 ***
#10 *
#11 **
#12 *
#13 ***
#14 *
#15 *
#16 ***
#17 **
#18 *
#19 **
#20 *
#21 *
#22 ***
#23 **
#24 *
#25 *
#26 *
#27 **
#28 *
#29 *
#30 *
#31 **
#32 *
#33 *
#34 ***

Re: Pattern of the Year 2018 competition: Voting

Posted: January 12th, 2019, 7:11 pm
by dvgrn
muzik wrote:Three stars for 9 (obviously), 1, 13, 16, 22 and 34, two for 8, 11, 17, 19, 23, 27, 31, and 1 for the rest.
I think the point of using the standard format -- individual numbers on separate lines, with actual asterisks next to them, not stars or prose descriptions -- is that there's a script available in one of the past years' POTY threads that can count standard-format votes.

Unless 77topaz decides to be nice and do extra work to convert the non-standard votes into actual votes, they really don't count. But it's all fixable -- there's a perfectly good Edit button available...

Re: Pattern of the Year 2018 competition: Voting

Posted: January 12th, 2019, 7:14 pm
by 2718281828
#1 **
#9 ***
#7 **
#11 **
#18 *
#26 *
#34 **

Re: Pattern of the Year 2018 competition: Voting

Posted: January 12th, 2019, 7:25 pm
by Macbi
dvgrn wrote:Unless 77topaz decides to be nice and do extra work to convert the non-standard votes into actual votes, they really don't count. But it's all fixable -- there's a perfectly good Edit button available...
Last year the script messed up because of some tiny formatting difference in one of the votes. So even if everyone had voted with the same format I wouldn't trust the script. I'm happy to count the votes manually in any case.

Re: Pattern of the Year 2018 competition: Voting

Posted: January 12th, 2019, 7:45 pm
by dvgrn
Macbi wrote:
dvgrn wrote:Unless 77topaz decides to be nice and do extra work to convert the non-standard votes into actual votes, they really don't count. But it's all fixable -- there's a perfectly good Edit button available...
Last year the script messed up because of some tiny formatting difference in one of the votes. So even if everyone had voted with the same format I wouldn't trust the script. I'm happy to count the votes manually in any case.
Yeah, my unrealistic hope would be that some year somebody will count the votes manually, and someone will run the script, and all the numbers will agree.

Too much to hope for, I suppose. It just seems so simple for everyone to use the exact same format, and maybe also refrain from quoting other people's votes -- I don't remember if that issue was resolved in the script or not. Guess that just ain't human nature.

Re: Pattern of the Year 2018 competition: Voting

Posted: January 12th, 2019, 7:53 pm
by calcyman
#03 *
#04 **
#05 *
#06 ***
#07 ***
#08 *
#09 ***
#10 ***
#11 **
#12 *
#13 *
#14 *
#16 **
#17 **
#18 ***
#19 ***
#20 **
#21 ***
#22 **
#28 *

Re: Pattern of the Year 2018 competition: Voting

Posted: January 12th, 2019, 8:11 pm
by 77topaz
dvgrn wrote:Too much to hope for, I suppose. It just seems so simple for everyone to use the exact same format, and maybe also refrain from quoting other people's votes -- I don't remember if that issue was resolved in the script or not. Guess that just ain't human nature.
I'd actually been entering the votes manually into a spreadsheet I built myself, anyway (I wasn't aware there was a script for it), so the exact format isn't as important (and Gamedziner and Entity Valkyrie voted off-format earlier anyway), but it's still easier to read them off when they're in the nice format. I wouldn't mind if someone double-checked my manual entering with a script, though.

Re: Pattern of the Year 2018 competition: Voting

Posted: January 12th, 2019, 10:53 pm
by dvgrn
77topaz wrote:I'd actually been entering the votes manually into a spreadsheet I built myself, anyway (I wasn't aware there was a script for it), so the exact format isn't as important (and Gamedziner and Entity Valkyrie voted off-format earlier anyway), but it's still easier to read them off when they're in the nice format. I wouldn't mind if someone double-checked my manual entering with a script, though.
I went back and looked at the "script", and it was two lines of 'curl' and 'cat' by calcyman. Perfectly workable and very compact, but it doesn't deal with quoted votes.

So I went ahead and wrote several dozen lines of Python. This runs in Golly and dumps a .CSV file to the clipboard.

Code: Select all

# This Python file uses the following encoding: utf-8
# vote-tally-v0.5.py

import golly as g
votes = """
PASTE ALL OF THE VOTE MESSAGE HTML RIGHT HERE
(use right-click > View Source for each page of messages)
"""
# remove all quoted text before parsing
while votes.find("<blockquote")>0:
  bqstart = votes.find("<blockquote")
  bqend = votes.find("</blockquote>",bqstart)
  if bqend == -1:
    g.note("found unmatched blockquote\n"+votes[bqstart:bqstart+1000])
    break
  votes = votes[:bqstart]+votes[bqend+13:]

# look at every HTML substring that might be a line in a message
# increase the 'index' pointer after each find until no more ">.*<" are found
votelist, maxnum, index, d, totals = [], 0, 0, {}, {}
while votes.find(">",index)>-1:
  g.show(str(index))
  linestart = votes.find(">", index)
  lineend = votes.find("<", linestart)
  if lineend==-1:
    index = len(votes)
  else:
    line = votes[linestart+1:lineend]+"[end]"
    g.show(line)
    index = lineend

    # test whether the latest line is a canonical vote line
    if line[0]=="#":
      numind = 1
      while line[numind].isdigit(): numind+=1
      numstr = line[1:numind]
      if numstr != "":
        # g.note(line + " :: " + numstr)
        num = int(numstr)
        if line[numind]==" ":
          voteind = numind+1
          # g.note(line[voteind:voteind+10])
          count = 0
          while line[voteind]=="*":
            count+=1
            voteind+=1
          if count > 0 and count < 4:
            if num > maxnum: maxnum = num
            votelist += [[num, count]]

# build the output table from the collected votes in votelist
for i in range(maxnum):
  d[i+1] = str(i+1) + ", "
  totals[i+1] = 0
for item in votelist:
  d[item[0]] += str(item[1])+", "
  totals[item[0]] += item[1]
patterns = []
for i in range(maxnum):
  data = d[i+1]
  if data[-1:] == ",": data = data[:-1] # remove trailing comma
  patterns+=[str(totals[i+1]) + ", " + data]
sortpat = sorted(patterns, reverse=True)

s = "Total, Pattern #, Votes\n"
for item in sortpat: s+=item +"\n"
g.setclipstr(s)
winner = sortpat[0]
wi = winner.find(",")
g.show("Copied CSV output to clipboard.  Winner is #" + winner[wi+2:winner.find(",",wi+2)] + " with " + winner[:wi] + " stars.")
I could add a few more lines and have the script go fetch the HTML with urllib2, but thirty-times-larger-than-calcyman-code seemed like plenty enough oversizedness.

There are much more efficient ways of doing most of the parsing subtasks, but this code is simplistic enough that most people should be able to read through it and figure out what it's doing at each stage... if I added a few helpful comments and named some variables a little better. Maybe I'll do that.

Code: Select all

Total, Pattern #, Votes
75, 9, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
67, 1, 3, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 2, 2
61, 7, 1, 2, 2, 3, 2, 3, 3, 3, 3, 3, 3, 2, 3, 2, 2, 3, 3, 3, 2, 3, 3, 2, 2, 3
6, 32, 1, 1, 1, 1, 1, 1
39, 28, 2, 3, 2, 3, 3, 2, 3, 1, 3, 2, 3, 3, 3, 2, 2, 1, 1
32, 20, 3, 2, 2, 2, 3, 2, 2, 1, 1, 1, 2, 1, 1, 1, 1, 3, 2, 2
30, 19, 1, 1, 3, 2, 2, 3, 3, 2, 1, 2, 2, 3, 1, 1, 3
29, 12, 1, 2, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 1, 3, 1
29, 11, 1, 2, 2, 2, 1, 3, 2, 1, 1, 1, 2, 2, 2, 3, 2, 2
28, 6, 2, 3, 2, 3, 1, 2, 1, 1, 2, 1, 2, 3, 2, 3
26, 5, 2, 2, 2, 3, 2, 1, 2, 1, 3, 2, 2, 3, 1
24, 8, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 3, 1, 2, 1, 1, 1
23, 3, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 2, 1, 2, 1
23, 29, 1, 2, 2, 1, 1, 2, 1, 1, 1, 2, 2, 3, 1, 1, 1, 1
23, 23, 3, 2, 2, 3, 1, 1, 2, 1, 2, 2, 1, 3
23, 13, 1, 1, 1, 2, 2, 3, 2, 1, 1, 2, 1, 1, 1, 1, 2, 1
22, 17, 2, 2, 2, 1, 1, 2, 1, 3, 1, 2, 1, 2, 2
21, 4, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 2
21, 15, 1, 1, 2, 2, 1, 3, 1, 1, 1, 1, 1, 2, 1, 1, 2
20, 18, 2, 1, 2, 3, 1, 1, 2, 2, 2, 1, 3
19, 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 2, 3
17, 26, 1, 1, 1, 2, 1, 2, 2, 3, 2, 1, 1
17, 24, 3, 1, 1, 2, 2, 2, 1, 1, 1, 1, 2
17, 22, 1, 2, 3, 2, 1, 2, 1, 2, 1, 2
16, 34, 2, 2, 1, 1, 2, 1, 1, 2, 2, 2
16, 30, 2, 1, 1, 1, 1, 1, 2, 1, 3, 2, 1
15, 2, 1, 2, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1
14, 33, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1
14, 25, 1, 1, 1, 2, 1, 1, 2, 2, 2, 1
14, 14, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 1
13, 27, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1
13, 21, 2, 1, 1, 1, 1, 3, 1, 3
13, 16, 2, 1, 2, 2, 1, 1, 1, 1, 2
12, 31, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1
It's just muzik's votes now that aren't currently counted by the script. I guess it would be simple enough to make one more posting just as the vote closes, with copies of their votes in standard format. The script doesn't bother to check for double votes, and anything that doesn't exactly match the specified format is silently ignored, so theoretically that should work fine.

EDIT: I was wrong about PkmnQ's votes not getting picked up. A bullet list of votes should still get found, because it's inside <li>...</li> tags, and all the script checks for is the angle brackets.

(However, my coding process involves rapidly making dozens of silly coding errors, and then fixing them until the script seems to work. So it's certainly possible that even with standard format everywhere, the script might still somehow count something wrong.)

Anyway, it looks like Sir Robin is currently ahead, apparently... but the 0E0P basketball team could still theoretically score three three-pointers and pull into the lead, and Team RCT is only a little behind that.

Re: Pattern of the Year 2018 competition: Voting

Posted: January 13th, 2019, 12:18 am
by Gamedziner
dvgrn wrote:PkmnQ, Gamedziner, Entity Valkyrie, and muzik's votes aren't currently counted by the script. If they can't be convinced to edit their vote postings, then I guess it would be simple enough to make one more posting just as the vote closes, with copies of their votes in standard format.
Alright, I edited my post to include the standard format as well.

Re: Pattern of the Year 2018 competition: Voting

Posted: January 13th, 2019, 2:42 am
by 77topaz
@dvgrn: I do already know the running totals from my spreadsheet, including the votes that weren't picked up by the script. The set-up is quite simple: each pattern is a row, each user's votes form a column, and then the sum of each row is the pattern's total.

As an example, here's a part of the spreadsheet:
Screen Shot 2019-01-13 at 7.38.21 PM.png
Screen Shot 2019-01-13 at 7.38.21 PM.png (84.33 KiB) Viewed 15144 times
But, I don't mind someone double-checking it at the end in case I accidentally input something incorrectly.

Re: Pattern of the Year 2018 competition: Voting

Posted: January 13th, 2019, 10:07 am
by testitemqlstudop
#01 ***
#02 ***
#04 *
#07 **
#08 *
#09 ***
#11 **
#13 *
#16 *
#18 ***
#19 ***
#20 *
#21 **
#22 *
#23 **
#24 **
#27 *
#28 **
#29 *
#31 **
#33 *
#34 *

C'MON GIVE SIR ROBIN 5 STARS

Re: Pattern of the Year 2018 competition: Voting

Posted: January 13th, 2019, 11:02 pm
by Entity Valkyrie
USING * INSTEAD OF ★:

#03 **
#04 *
#05 **
#06 ***
#08 **
#09 ***
#10 **
#12 **
#13 **
#15 **
#16 ***
#17 **
#21 ***
#25 **
#26 **
#29 ***
#30 **
#31 **
#32 **
#33 ***
#34 ***

Re: Pattern of the Year 2018 competition: Voting

Posted: January 14th, 2019, 7:29 am
by PkmnQ
dvgrn wrote:EDIT: I was wrong about PkmnQ's votes not getting picked up. A bullet list of votes should still get found, because it's inside <li>...</li> tags, and all the script checks for is the angle brackets.
I edited my reply.
The only reason I did that is because I quoted the original to see what they were.
I didn't know that these were going to be checked using a script, so I thought the list was okay.

Re: Pattern of the Year 2018 competition: Voting

Posted: January 14th, 2019, 12:32 pm
by Tom Mazanec
1 ***
3 **
5 *
6 *
7 **
9 ***
14 *
18 *
19 *
27 *
28 ***

Re: Pattern of the Year 2018 competition: Voting

Posted: January 16th, 2019, 7:22 am
by simeks
#01 ***
#03 *
#07 **
#09 ***
#10 **
#11 *
#15 *
#19 *
#20 *
#24 *
#28 *
#30 *
#31 *
#33 *
#34 *

Re: Pattern of the Year 2018 competition: Voting

Posted: January 16th, 2019, 3:17 pm
by BZH314
#09 ***
#33 **
#29 *

I made a video to visualize some of the choices: Best Patterns of 2018

Re: Pattern of the Year 2018 competition: Voting

Posted: January 16th, 2019, 6:08 pm
by Hdjensofjfnen
#01 ***
#03 **
#04 **
#05 *
#06 *
#07 ***
#08 *
#09 **
#10 *
#11 *
#13 *
#14 *
#15 *
#17 *
#19 *
#20 *
#22 *
#23 **
#25 **
#26 **
#27 *
#28 **
#29 *
#30 **

Re: Pattern of the Year 2018 competition: Voting

Posted: January 16th, 2019, 11:27 pm
by wildmyron
My votes:
#01 ***
#03 *
#04 *
#07 **
#09 ***
#10 *
#11 **
#15 *
#17 *
#20 **
#21 *
#26 *
#27 *
#28 **
#33 *
#34 *

Notes about pattern descriptions:
  • 24 - The minimum length is <1000 cells. I posted a shorter version in the thread, but I'm not sure if it's the shortest
  • 30 - Please add Noam Elkies to credits as for the p9 bouncer

Re: Pattern of the Year 2018 competition: Voting

Posted: January 20th, 2019, 1:34 am
by Extrementhusiast
#01 ***
#09 ***
#10 **
#15 **
#19 ***
#20 *
#27 *

Re: Pattern of the Year 2018 competition: Voting

Posted: January 21st, 2019, 2:31 am
by Goldtiger997
#01 ***
#03 *
#04 *
#05 **
#06 *
#07 ***
#08 *
#09 ***
#10 *
#11 **
#12 **
#13 *
#15 **
#17 *
#18 *
#19 **
#20 **
#21 ***
#22 *
#23 ***
#26 **
#28 **
#32 *
#33 *
#34 **

Re: Pattern of the Year 2018 competition: Voting

Posted: January 21st, 2019, 7:43 am
by NickGotts
#01 **
#07 ***
#09 **
#11 **
#14 *
#16 *
#19 **
#21 *
#23 *

Re: Pattern of the Year 2018 competition: Voting

Posted: January 22nd, 2019, 9:37 pm
by 77topaz
Voting is now closed! :) I'll upload the results later today.