{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":691774116,"defaultBranch":"main","name":"Dhondt","ownerLogin":"OnufryW","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-09-14T21:30:58.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/22253629?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1696265515.0","currentOid":""},"activityList":{"items":[{"before":"1e043f8a756e13dc10a8375ed6b73d640621b39e","after":"1623848dcae74bc03f09f25c5af26baa340c019e","ref":"refs/heads/main","pushedAt":"2024-04-21T11:56:25.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Added a script to visualize the vote strength in an election.","shortMessageHtmlLink":"Added a script to visualize the vote strength in an election."}},{"before":"d62018f2cf7322a2b06ea0d7794b2faf5f7a2948","after":"1e043f8a756e13dc10a8375ed6b73d640621b39e","ref":"refs/heads/main","pushedAt":"2024-04-01T21:40:34.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"A pretty huge overhaul of the whole context system for expression eval.\n\nThe main goal here was to allow custom ranges; which I needed for\ncommittee_data/apply_thresholds.cfg (this is pretty complex stuff).\nAfter the changes here, the transform library now supports stuff like\n\"for all columns from the one after district to the end, do a transform\nwhere we check if the column value is greater than the column with the same\nname except with an extra _cmp suffix\".\n\nDoing this in a reasonably generic fashion required the ability to evaluate\nrange boundaries as expressions. And that, in turn, required us to be able\nto evaluate things like a column name to a column index, without actually\nhaving a row in hand; which required changing the context system.\n\nRight now, the context is basically a mapping from names to either other\nnames (which we follow recursively), or to numbers; which ideally are\nindices in the row we're looking at (if there's a row). And then there\nwas the complexity of how to handle the contexts for aggregations.\n\nAnyway, the whole thing now works; and I was able to write threshold\napplication. And validate that I can indeed correctly reconstruct results\nfor the 2015 election (took those; because obviously the results of that\nelection would've been different if thresholds weren't applied).","shortMessageHtmlLink":"A pretty huge overhaul of the whole context system for expression eval."}},{"before":"43070c6e324a4fd3bc2b5c05440375a6db77962a","after":"d62018f2cf7322a2b06ea0d7794b2faf5f7a2948","ref":"refs/heads/main","pushedAt":"2024-04-01T13:02:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Improved table validation logic quite a lot.\nAdded validations to the district data.\nAdded a \"validate all\" script, so that I can check all the tables still work\nFixed a few bugs uncovered by running the validations.","shortMessageHtmlLink":"Improved table validation logic quite a lot."}},{"before":"32572c12f19544474a6cfa81023a878d8de49c11","after":"43070c6e324a4fd3bc2b5c05440375a6db77962a","ref":"refs/heads/main","pushedAt":"2024-04-01T11:20:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Add the following functionalities to the transform language:\n- refer to a column by evaluating a variable via $(...)\n- refer to the header of the currently processed column in range exprs.\n- custom headers for range exprs.\n- pivoting a table","shortMessageHtmlLink":"Add the following functionalities to the transform language:"}},{"before":"1c4dea968491e66231da587cc5c605860fa9c8a6","after":"32572c12f19544474a6cfa81023a878d8de49c11","ref":"refs/heads/main","pushedAt":"2024-03-18T16:05:17.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Added dhondt evaluator.\n\nAdded a config to evaluate election results.","shortMessageHtmlLink":"Added dhondt evaluator."}},{"before":"5b6cc52810d93f583571d4a81495a3eef4277395","after":"1c4dea968491e66231da587cc5c605860fa9c8a6","ref":"refs/heads/main","pushedAt":"2024-03-16T09:39:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Changed all teryt codes to be six (or five) digit, without the type digit.\n\nAdded aggregation of election results by district; and removed the results of manual aggregation from the repo.\n\nAdded parsing of the 2023 district definitions. This required adding an option to ignore quoted separators in Load.\n\nA few error reporting improvements.","shortMessageHtmlLink":"Changed all teryt codes to be six (or five) digit, without the type d…"}},{"before":"53fd5f2a194c5abd34e5f79b3c231d1bb65f3623","after":"5b6cc52810d93f583571d4a81495a3eef4277395","ref":"refs/heads/main","pushedAt":"2024-03-13T23:34:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Added the ability to join tables and append lines.\n\nUsed all these abilities to aggregate relocation data on a per-district basis, and see what the per-district balances are.","shortMessageHtmlLink":"Added the ability to join tables and append lines."}},{"before":"879a16d433ae0fa345c3c77691dc7aef3ba06e42","after":"53fd5f2a194c5abd34e5f79b3c231d1bb65f3623","ref":"refs/heads/main","pushedAt":"2024-03-13T18:28:22.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Changed evaluation of $? to dynamic, so that it can be used within aggregate expressions.","shortMessageHtmlLink":"Changed evaluation of $? to dynamic, so that it can be used within ag…"}},{"before":"6f275513b0bd3c1e83111333722b3ca18e7e2991","after":"879a16d433ae0fa345c3c77691dc7aef3ba06e42","ref":"refs/heads/main","pushedAt":"2024-03-09T18:48:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Added the ability to run aggregations.","shortMessageHtmlLink":"Added the ability to run aggregations."}},{"before":"ec31ee25bf3e48c7126c82189e6173e390e82329","after":"6f275513b0bd3c1e83111333722b3ca18e7e2991","ref":"refs/heads/main","pushedAt":"2024-03-09T10:39:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Remove pycache","shortMessageHtmlLink":"Remove pycache"}},{"before":"72bd7fd90c18a99b04f27e48079d292e94358af0","after":"ec31ee25bf3e48c7126c82189e6173e390e82329","ref":"refs/heads/main","pushedAt":"2024-03-09T10:37:57.000Z","pushType":"push","commitsCount":29,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Merge branch 'main' of github.com:OnufryW/Dhondt","shortMessageHtmlLink":"Merge branch 'main' of github.com:OnufryW/Dhondt"}},{"before":"a8219669d782f3e222b98d1da00eb9704edc499a","after":"72bd7fd90c18a99b04f27e48079d292e94358af0","ref":"refs/heads/main","pushedAt":"2023-10-02T16:52:17.000Z","pushType":"pr_merge","commitsCount":7,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Merge pull request #1 from OnufryW/debugging_data\n\nDebugging data","shortMessageHtmlLink":"Merge pull request #1 from OnufryW/debugging_data"}},{"before":null,"after":"34cfd5090a098049346c3066365943fa6b06249d","ref":"refs/heads/debugging_data","pushedAt":"2023-10-02T16:51:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Added a bunch of helpers to output various data that helped me understand _why_ does the program output what it does.","shortMessageHtmlLink":"Added a bunch of helpers to output various data that helped me unders…"}},{"before":"6aa95ad1cbfd9360966764ac5ae8ebf196af69e7","after":"a8219669d782f3e222b98d1da00eb9704edc499a","ref":"refs/heads/main","pushedAt":"2023-09-26T21:59:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Made the whole thing even more config driven; by establishing a main\nconfig coming from the command line that contains the name of all the other\nconfigs and files.\n\nAdded configs and data for 2015, so that I could see what sort of stddev we\nget when we try to predict 2019 results based on 2015 data.\n\nMade the probability output format output numbers scaled to something around\n1000, instead of inverses.\n\nAdded a bit of debug info.\n\nRemoved BS from the votes from the outputs, because their 2019 data is pretty\nweak sauce.","shortMessageHtmlLink":"Made the whole thing even more config driven; by establishing a main"}},{"before":"e15f37134631965364d10bad01c1fbb78f186d43","after":"6aa95ad1cbfd9360966764ac5ae8ebf196af69e7","ref":"refs/heads/main","pushedAt":"2023-09-25T22:48:58.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Updated get_strenght repeats to 10000. It runs super-fast anyway.","shortMessageHtmlLink":"Updated get_strenght repeats to 10000. It runs super-fast anyway."}},{"before":"bc16319774ab950ea71b8e976e918a7ab0539227","after":"e15f37134631965364d10bad01c1fbb78f186d43","ref":"refs/heads/main","pushedAt":"2023-09-25T20:13:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"A significant batch of changes:\n- Applied Marek's comments\n- Added presidential 2020 results data, parsed them.\n- Moved away from using ElectionResult, and focused on\n map>. Added map_tools and scaling to operate on\n this more easily.\n- Combined all of this in get_strength.cpp to show how to get election\n predictions.\n- Went ahead with the idea of calculating vote strength by checking the\n length of the d'Hondt interval. But I don't super-like this, so plan to\n go back to the probabilistic model, after a few tweaks.\n- Moved a bunch of stuff to configs; and added an expression parser using\n recursive descent to be able to parse those configs.","shortMessageHtmlLink":"A significant batch of changes:"}},{"before":"4bc24872485fa16e181cd1739bbd1fcf4f5da29b","after":"bc16319774ab950ea71b8e976e918a7ab0539227","ref":"refs/heads/main","pushedAt":"2023-09-23T11:41:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Add the functionality of calculating strength by d'Hondt intervals.\n\nAlso, added an expression parser, because I want to be able to provide configs to make the results adjustable without editing code.","shortMessageHtmlLink":"Add the functionality of calculating strength by d'Hondt intervals."}},{"before":"9ce979155610cbe4f2f0b77e021000c43671c1e0","after":"4bc24872485fa16e181cd1739bbd1fcf4f5da29b","ref":"refs/heads/main","pushedAt":"2023-09-17T19:50:56.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Added tooling to calculate vote strength per party taking into account surveys.","shortMessageHtmlLink":"Added tooling to calculate vote strength per party taking into accoun…"}},{"before":"d90eef334fa530a547edf363ffdf11fe0bf118fa","after":"9ce979155610cbe4f2f0b77e021000c43671c1e0","ref":"refs/heads/main","pushedAt":"2023-09-17T16:02:28.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Added distribution class, the normal implementation, and a test.","shortMessageHtmlLink":"Added distribution class, the normal implementation, and a test."}},{"before":"95178754582a36bb32a1b1059f37e3ce4e96b154","after":"d90eef334fa530a547edf363ffdf11fe0bf118fa","ref":"refs/heads/main","pushedAt":"2023-09-17T10:42:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Added test for country vote bar, and some testing utils.","shortMessageHtmlLink":"Added test for country vote bar, and some testing utils."}},{"before":"4ee558e8c870984576ff26461944dd828efa8687","after":"95178754582a36bb32a1b1059f37e3ce4e96b154","ref":"refs/heads/main","pushedAt":"2023-09-16T11:46:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Move two more libraries: assign_seats and country_vote_bar over to lib.\n\nTODO: add tests for them.","shortMessageHtmlLink":"Move two more libraries: assign_seats and country_vote_bar over to lib."}},{"before":"0af10f0331360101edcabb606a8b49be0f3775c2","after":"4ee558e8c870984576ff26461944dd828efa8687","ref":"refs/heads/main","pushedAt":"2023-09-16T11:36:07.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Moved the dhondt calculations to the lib directory. Added a test\nto KeyVoteValues. Noticed a bug in dhondt (while testing KeyVoteValues)\nthat occurred when two parties got an equal number of votes (one of\nthem was basically tossed out of the calculations), which is unlikely\nbut possible.","shortMessageHtmlLink":"Moved the dhondt calculations to the lib directory. Added a test"}},{"before":"194917e5af5288aa8f97525fdc3c1692524fb428","after":"0af10f0331360101edcabb606a8b49be0f3775c2","ref":"refs/heads/main","pushedAt":"2023-09-16T10:20:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Added tests for assign_seats_to_districts.\nMoved the first two files to the lib directory, and tests to the tests dir.","shortMessageHtmlLink":"Added tests for assign_seats_to_districts."}},{"before":"8b8a84cb93b5f010f9eaf2efe8c8f3aba246ada2","after":"194917e5af5288aa8f97525fdc3c1692524fb428","ref":"refs/heads/main","pushedAt":"2023-09-14T21:52:09.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Merge branch 'main' of github.com:OnufryW/Dhondt","shortMessageHtmlLink":"Merge branch 'main' of github.com:OnufryW/Dhondt"}},{"before":"caf4ac9ee516365399c9e81ad294013272d77471","after":"8b8a84cb93b5f010f9eaf2efe8c8f3aba246ada2","ref":"refs/heads/main","pushedAt":"2023-09-14T21:31:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":null,"after":"caf4ac9ee516365399c9e81ad294013272d77471","ref":"refs/heads/main","pushedAt":"2023-09-14T21:30:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"OnufryW","name":"Onufry Wojtaszczyk","path":"/OnufryW","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22253629?s=80&v=4"},"commit":{"message":"Initial commit","shortMessageHtmlLink":"Initial commit"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNC0yMVQxMTo1NjoyNS4wMDAwMDBazwAAAAQ2PcGX","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNC0yMVQxMTo1NjoyNS4wMDAwMDBazwAAAAQ2PcGX","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wOS0xNFQyMTozMDo1OC4wMDAwMDBazwAAAAOA9x8j"}},"title":"Activity · OnufryW/Dhondt"}