Skip to content

Instantly share code, notes, and snippets.

@derickr
Created April 17, 2023 13:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save derickr/9dca6c23663eb44b58d380ae8b914e5a to your computer and use it in GitHub Desktop.
Save derickr/9dca6c23663eb44b58d380ae8b914e5a to your computer and use it in GitHub Desktop.
PHP 8.3 Release Manager
Reading from:
- php_8.3_rm_1st_preference.doodle
- php_8.3_rm_2nd_preference.doodle
- php_8.3_rm_3rd_preference.doodle
Candidates (in order of ballot):
E Mann — C Buckley — J Zelenka
Votes:
Vote # 0: J Zelenka — C Buckley — E Mann
Vote # 1: J Zelenka — C Buckley — E Mann
Vote # 2: J Zelenka — E Mann — C Buckley
Vote # 3: J Zelenka — C Buckley — E Mann
Vote # 4: E Mann — J Zelenka — C Buckley
Vote # 5: J Zelenka — C Buckley — E Mann
Vote # 6: J Zelenka — C Buckley — E Mann
Vote # 7: J Zelenka — E Mann — C Buckley
Vote # 8: E Mann — J Zelenka — C Buckley
Vote # 9: J Zelenka — E Mann — C Buckley
Vote #10: J Zelenka — C Buckley — E Mann
Vote #11: J Zelenka — C Buckley — E Mann
Vote #12: J Zelenka — C Buckley — E Mann
Vote #13: J Zelenka — C Buckley — E Mann
Vote #14: E Mann — J Zelenka — C Buckley
Vote #15: E Mann — C Buckley — J Zelenka
Vote #16: J Zelenka — C Buckley — E Mann
Vote #17: J Zelenka
Vote #18: J Zelenka — C Buckley — E Mann
Vote #19: J Zelenka — E Mann — C Buckley
Vote #20: J Zelenka — C Buckley — E Mann
Vote #21: J Zelenka — E Mann — C Buckley
Vote #22: J Zelenka — C Buckley — E Mann
Vote #23: J Zelenka — E Mann — C Buckley
Votes: 24
Candidates: 3
Seats: 2
Quorum: 9
Round #1
--------
Tally:
Candidate 'J Zelenka': 20 → 0 1 2 3 5 6 7 9 10 11 12 13 16 17 18 19 20 21 22 23
Candidate 'E Mann': 4 → 4 8 14 15
Candidate 'C Buckley': 0 →
Candidate 'J Zelenka' is over quorum (9) with 20 votes, redistributing.
Votes:
Vote # 0: J Zelenka — C Buckley — E Mann
Vote # 1: J Zelenka — C Buckley — E Mann
Vote # 2: J Zelenka — E Mann — C Buckley
Vote # 3: J Zelenka — C Buckley — E Mann
Vote # 4: E Mann — J Zelenka — C Buckley
Vote # 5: J Zelenka — C Buckley — E Mann
Vote # 6: J Zelenka — C Buckley — E Mann
Vote # 7: J Zelenka — E Mann — C Buckley
Vote # 8: E Mann — J Zelenka — C Buckley
Vote # 9: J Zelenka — E Mann — C Buckley
Vote #10: J Zelenka — C Buckley — E Mann
Vote #11: J Zelenka — C Buckley — E Mann
Vote #12: J Zelenka — C Buckley — E Mann
Vote #13: J Zelenka — C Buckley — E Mann
Vote #14: E Mann — J Zelenka — C Buckley
Vote #15: E Mann — C Buckley — J Zelenka
Vote #16: J Zelenka — C Buckley — E Mann
Vote #17: J Zelenka
Vote #18: J Zelenka — C Buckley — E Mann
Vote #19: J Zelenka — E Mann — C Buckley
Vote #20: J Zelenka — C Buckley — E Mann
Vote #21: J Zelenka — E Mann — C Buckley
Vote #22: J Zelenka — C Buckley — E Mann
Vote #23: J Zelenka — E Mann — C Buckley
- Vote 0 has J Zelenka as current preference, and as next preference C Buckley.
- Vote 1 has J Zelenka as current preference, and as next preference C Buckley.
- Vote 2 has J Zelenka as current preference, and as next preference E Mann.
- Vote 3 has J Zelenka as current preference, and as next preference C Buckley.
- Vote 5 has J Zelenka as current preference, and as next preference C Buckley.
- Vote 6 has J Zelenka as current preference, and as next preference C Buckley.
- Vote 7 has J Zelenka as current preference, and as next preference E Mann.
- Vote 9 has J Zelenka as current preference, and as next preference E Mann.
- Vote 10 has J Zelenka as current preference, and as next preference C Buckley.
- Vote 11 has J Zelenka as current preference, and as next preference C Buckley.
- Vote 12 has J Zelenka as current preference, and as next preference C Buckley.
- Vote 13 has J Zelenka as current preference, and as next preference C Buckley.
- Vote 16 has J Zelenka as current preference, and as next preference C Buckley.
- Vote 17 has J Zelenka as current preference, but no more preferences left.
- Vote 18 has J Zelenka as current preference, and as next preference C Buckley.
- Vote 19 has J Zelenka as current preference, and as next preference E Mann.
- Vote 20 has J Zelenka as current preference, and as next preference C Buckley.
- Vote 21 has J Zelenka as current preference, and as next preference E Mann.
- Vote 22 has J Zelenka as current preference, and as next preference C Buckley.
- Vote 23 has J Zelenka as current preference, and as next preference E Mann.
Next preferences:
C Buckley → 13 * 11/20: 7
- Pick 7 random votes from
#0, #1, #3, #5, #6, #10, #11, #12, #13, #16, #18, #20, #22 to transfer:
#1, #5, #12, #13, #16, #18, #20
Distributing ballot #1 from J Zelenka to C Buckley
Distributing ballot #5 from J Zelenka to C Buckley
Distributing ballot #12 from J Zelenka to C Buckley
Distributing ballot #13 from J Zelenka to C Buckley
Distributing ballot #16 from J Zelenka to C Buckley
Distributing ballot #18 from J Zelenka to C Buckley
Distributing ballot #20 from J Zelenka to C Buckley
E Mann → 6 * 11/20: 3
- Pick 3 random votes from
#2, #7, #9, #19, #21, #23 to transfer:
#7, #9, #23
Distributing ballot #7 from J Zelenka to E Mann
Distributing ballot #9 from J Zelenka to E Mann
Distributing ballot #23 from J Zelenka to E Mann
Exhausted → 1
Tally:
Candidate 'J Zelenka': 10 → 0 2 3 6 10 11 17 19 21 22
Candidate 'E Mann': 7 → 4 8 14 15 7 9 23
Candidate 'C Buckley': 7 → 1 5 12 13 16 18 20
Candidate 'J Zelenka' has reached quorum, and is therefore elected
Tally:
Candidate 'E Mann': 7 → 4 8 14 15 7 9 23
Candidate 'C Buckley': 7 → 1 5 12 13 16 18 20
Round #2
--------
Vote count for 'E Mann' and 'C Buckley' is the same, so use first preference to disambiguate.
Tally:
Candidate 'E Mann': 7 → 4 8 14 15 7 9 23
Candidate 'C Buckley': 7 → 1 5 12 13 16 18 20
Eliminating 'C Buckley' with 7 votes
Distributing votes to next preference:
- Distributing 1 to E Mann.
- Distributing 5 to E Mann.
- Distributing 12 to E Mann.
- Distributing 13 to E Mann.
- Distributing 16 to E Mann.
- Distributing 18 to E Mann.
- Distributing 20 to E Mann.
- Candidate 'E Mann': 7
Elected candidates: J Zelenka
Eliminated candidates: C Buckley
Tally:
Candidate 'E Mann': 14 → 4 8 14 15 7 9 23 1 5 12 13 16 18 20
Round #3
--------
Tally:
Candidate 'E Mann': 14 → 4 8 14 15 7 9 23 1 5 12 13 16 18 20
Candidate 'E Mann' has reached quorum, and is therefore elected
Tally:
=================================
ELECTED:
J Zelenka
E Mann
@theodorejb
Copy link

theodorejb commented Apr 19, 2023

There's a bug in the formulas shown for distributing surplus votes. The sum of 13 * 11/20 and 6 * 11/20 is 10.45, which doesn't match the surplus of 11.

The correct formulas should be 13 * 11/19 and 6 * 11/19, since only 19 of the ballots are transferable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment