{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":317550510,"defaultBranch":"main","name":"adventofcode","ownerLogin":"ankon","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-12-01T13:30:34.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1210641?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1702854886.0","currentOid":""},"activityList":{"items":[{"before":"b176d28eb6eafb653d8cedee4df5754cb3a7a342","after":"e254be31ad43a296133592bc7f3b19fcf629dc5a","ref":"refs/heads/main","pushedAt":"2023-12-20T13:41:20.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Day 16, part 2: Easy enough to just do it.","shortMessageHtmlLink":"Day 16, part 2: Easy enough to just do it."}},{"before":"afbea5acf6ca23318d3ae559fb9bfa560ca858b2","after":"b176d28eb6eafb653d8cedee4df5754cb3a7a342","ref":"refs/heads/main","pushedAt":"2023-12-20T12:19:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Day 15, part 2: HASHMAP","shortMessageHtmlLink":"Day 15, part 2: HASHMAP"}},{"before":"ff64ba7ba42de0a33b6a4fab50919aaa386db57a","after":"afbea5acf6ca23318d3ae559fb9bfa560ca858b2","ref":"refs/heads/main","pushedAt":"2023-12-19T20:26:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Day 15, part 1: HASH.","shortMessageHtmlLink":"Day 15, part 1: HASH."}},{"before":"5414e57a866e1d689c39b06fca9c32eb3c5f5574","after":"ff64ba7ba42de0a33b6a4fab50919aaa386db57a","ref":"refs/heads/main","pushedAt":"2023-12-19T20:03:13.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Move the cycle/checksumming into the implementation\n\nHaving it here means we don't need to copy the logic twice, which is helpful -- especially since\nthe tricky part is that the this doesn't just settle, but rather produces a cycle of a certain length.\nThis allows to skip the long part as soon as we know that length.\n\n# Please enter the commit message for your changes. Lines starting\n# with '#' will be ignored, and an empty message aborts the commit.\n#\n# On branch main\n# Your branch is ahead of 'origin/main' by 5 commits.\n# (use \"git push\" to publish your local commits)\n#\n# Changes to be committed:\n#\tmodified: src/day14.rs\n#","shortMessageHtmlLink":"Move the cycle/checksumming into the implementation"}},{"before":"b60ebdcc92c68ee7af7ea009c00af9f435ca05c8","after":"5414e57a866e1d689c39b06fca9c32eb3c5f5574","ref":"refs/heads/main","pushedAt":"2023-12-19T12:41:01.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Switch to \"exactly\" checking for errors","shortMessageHtmlLink":"Switch to \"exactly\" checking for errors"}},{"before":"6bf153293a20e423af319095bee2e73c6fcd7275","after":"b60ebdcc92c68ee7af7ea009c00af9f435ca05c8","ref":"refs/heads/main","pushedAt":"2023-12-18T21:22:16.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Day 13, part 1: Actually verify before making assumptions","shortMessageHtmlLink":"Day 13, part 1: Actually verify before making assumptions"}},{"before":"d38c4011f7380c9b193a40282c4ef9d0d87a5bf8","after":"6bf153293a20e423af319095bee2e73c6fcd7275","ref":"refs/heads/main","pushedAt":"2023-12-18T18:56:34.000Z","pushType":"push","commitsCount":15,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Day 12, part 2: That was interesting.","shortMessageHtmlLink":"Day 12, part 2: That was interesting."}},{"before":"0b8d66a107b807699191f99491fb7a093eded722","after":"b45eeaa653c4b9ccbead2014250dea2fb068f1c8","ref":"refs/heads/wip/2023-day12","pushedAt":"2023-12-18T18:55:30.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Collapse similar states to reduce the processing effort\n\nUltimately it doesn't matter for the world if we're looking at `#..#..#` or `#.#...#`, they are identical in terms\nof the distribution of the groups, and therefore for the number of arrangements. By collapsing these states into\neach other regularly, and only keeping track of how many we collapsed, the processing time needed goes down from\n\"days\" to \"seconds\".\n\nMultithreading is still left in place, because it will be a good example to steal later, but the initial attempt\nof pruning was now completely useless and got removed.","shortMessageHtmlLink":"Collapse similar states to reduce the processing effort"}},{"before":"fcbb8f0b870b127d2c647c8645bedcd0613c2c70","after":"0b8d66a107b807699191f99491fb7a093eded722","ref":"refs/heads/wip/2023-day12","pushedAt":"2023-12-18T12:38:51.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Make tests pass for part 2","shortMessageHtmlLink":"Make tests pass for part 2"}},{"before":"ba11952b8dbdbcd44051aa21541cc56c6d0b2c5b","after":"fcbb8f0b870b127d2c647c8645bedcd0613c2c70","ref":"refs/heads/wip/2023-day12","pushedAt":"2023-12-17T23:20:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Separate inputs with ?","shortMessageHtmlLink":"Separate inputs with ?"}},{"before":null,"after":"ba11952b8dbdbcd44051aa21541cc56c6d0b2c5b","ref":"refs/heads/wip/2023-day12","pushedAt":"2023-12-17T23:14:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"WIP: Day 12, part 2: Brute force?","shortMessageHtmlLink":"WIP: Day 12, part 2: Brute force?"}},{"before":"f2a96316df81fcea6136b0d5936f13f557cf4757","after":"d38c4011f7380c9b193a40282c4ef9d0d87a5bf8","ref":"refs/heads/main","pushedAt":"2023-12-17T22:59:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Day 12, part 1: Arranging things\n\nRust is horribly verbose in the areas where it feels useless, while in other\nareas it is extremely terse to the point of not being readable.","shortMessageHtmlLink":"Day 12, part 1: Arranging things"}},{"before":"98b91c5aeeaa1f445d89f9c1d7b4b7177e6f51bd","after":"f2a96316df81fcea6136b0d5936f13f557cf4757","ref":"refs/heads/main","pushedAt":"2023-12-11T20:23:18.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Day 11, part 2: It helps to write the correct assertion","shortMessageHtmlLink":"Day 11, part 2: It helps to write the correct assertion"}},{"before":"2e04643fa9188b183f3f3d14a9dad3e593860d56","after":"98b91c5aeeaa1f445d89f9c1d7b4b7177e6f51bd","ref":"refs/heads/main","pushedAt":"2023-12-11T09:21:55.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Day 10, part 2: Theory was pretty good, and writing Rust is getting easier.","shortMessageHtmlLink":"Day 10, part 2: Theory was pretty good, and writing Rust is getting e…"}},{"before":"190b5fe60e01ca17e5f44f36e82acf7012f4f93e","after":"2e04643fa9188b183f3f3d14a9dad3e593860d56","ref":"refs/heads/main","pushedAt":"2023-12-09T13:15:06.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Day 8, part 2: Why walk when you can just calculate it.","shortMessageHtmlLink":"Day 8, part 2: Why walk when you can just calculate it."}},{"before":"3d68019795ef71318c64773f0c7ebeb807dcee77","after":"190b5fe60e01ca17e5f44f36e82acf7012f4f93e","ref":"refs/heads/main","pushedAt":"2023-12-09T11:50:30.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Day 9, part 2: Straight-backwards.","shortMessageHtmlLink":"Day 9, part 2: Straight-backwards."}},{"before":"f8b1e081e533c378ab6c95adbf1aa3ee4d9f054e","after":"3d68019795ef71318c64773f0c7ebeb807dcee77","ref":"refs/heads/main","pushedAt":"2023-12-09T10:54:43.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Day 7, part 2: Proper joker rules.\n\nThere are likely smarter ways to do this, but simply writing out\nthe combinations works quite nicely.\n\nAs usual: Unit testing is good, in this case also helpful: List out\nthe classifications of all games with jokers, and verify them by hand.","shortMessageHtmlLink":"Day 7, part 2: Proper joker rules."}},{"before":"901e8600d20fe7a4190daacb9a55b7fe730faf1a","after":"f8b1e081e533c378ab6c95adbf1aa3ee4d9f054e","ref":"refs/heads/main","pushedAt":"2023-12-08T11:36:44.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"More precision, more good.","shortMessageHtmlLink":"More precision, more good."}},{"before":"86973d6b60e5806fbfcd4310e477cf9a14395d9d","after":"901e8600d20fe7a4190daacb9a55b7fe730faf1a","ref":"refs/heads/main","pushedAt":"2023-12-08T11:28:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Day 6, part 1: Back to highschool.","shortMessageHtmlLink":"Day 6, part 1: Back to highschool."}},{"before":"da236df7459bf96cd49e603ff2a9d1abfc215dbf","after":"86973d6b60e5806fbfcd4310e477cf9a14395d9d","ref":"refs/heads/main","pushedAt":"2023-12-08T10:16:18.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Day 5, part 2: Simplify and then just do it.\n\nInstead of building a chain of lambdas: Just figure out the order in which to\ntraverse the maps, and return a single lambda doing that.","shortMessageHtmlLink":"Day 5, part 2: Simplify and then just do it."}},{"before":null,"after":"20f0a722e99225571412a3cdc58d789b4dece666","ref":"refs/heads/wip/2023-day5","pushedAt":"2023-12-06T08:38:11.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"WIP: Day 5, part 1","shortMessageHtmlLink":"WIP: Day 5, part 1"}},{"before":"c9f66e0a0a41c509975b15a6b6f306ad2ce81e2b","after":"da236df7459bf96cd49e603ff2a9d1abfc215dbf","ref":"refs/heads/main","pushedAt":"2023-12-05T20:40:29.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Day 4, part 2: Distribute the winnings","shortMessageHtmlLink":"Day 4, part 2: Distribute the winnings"}},{"before":"896a0f7949c24054de8d87e85c41fbfb652b1fb1","after":"c9f66e0a0a41c509975b15a6b6f306ad2ce81e2b","ref":"refs/heads/main","pushedAt":"2023-12-03T19:20:08.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Day 3, part 2: Shuffle things around a bit\n\nIn a real-world situation we would probably build up the structure once, and then reuse\nit; for AoC we can afford copy-paste-modifying things for the two different tasks.\n\nInteresting discussion here: Would one track the symbols or the parts?","shortMessageHtmlLink":"Day 3, part 2: Shuffle things around a bit"}},{"before":"8a4e9757c6cea61f38a96f8461b284c1aa7480c6","after":"896a0f7949c24054de8d87e85c41fbfb652b1fb1","ref":"refs/heads/main","pushedAt":"2023-12-03T15:13:44.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Day 3, part 1: More parsing, but now in 2D\n\nCopilot did a pretty good job here initially, but it also shows that you cannot\nreplace the humans yet: Copilot absolutely doesn't understand what we are trying to\nbuild, and based on the function names it can only guess so much.","shortMessageHtmlLink":"Day 3, part 1: More parsing, but now in 2D"}},{"before":"551d974773d5dbb2860215f98e7587b9c5767151","after":"8a4e9757c6cea61f38a96f8461b284c1aa7480c6","ref":"refs/heads/main","pushedAt":"2023-12-02T21:20:04.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"ankon","name":"Andreas Kohn","path":"/ankon","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1210641?s=80&v=4"},"commit":{"message":"Day 2, part 2: min max.","shortMessageHtmlLink":"Day 2, part 2: min max."}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADzr3ITQA","startCursor":null,"endCursor":null}},"title":"Activity · ankon/adventofcode"}