{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":317448238,"defaultBranch":"main","name":"advent-of-code","ownerLogin":"dopplershift","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-12-01T06:38:18.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/221526?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1606804701.0","currentOid":""},"activityList":{"items":[{"before":"b1f97bb960cb2f92c0d109f511a15e94cf698a2c","after":"9149fd2aee9d6abe4b76f54b726667c78a893004","ref":"refs/heads/main","pushedAt":"2023-12-21T11:19:18.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"Improve 2023 AOC Day 10 solution\n\nUse shoelace & Pick's Theorem combination from Day 18 to replace point\nin polygon-based implementation. Drops runtime from 3 seconds to\nnegligible.\n\nKeep pnpoly() implementation in tools.","shortMessageHtmlLink":"Improve 2023 AOC Day 10 solution"}},{"before":"68e4f61dd592c3ea00e7ee76fca5b5d38823b88a","after":"b1f97bb960cb2f92c0d109f511a15e94cf698a2c","ref":"refs/heads/main","pushedAt":"2023-12-21T10:10:18.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"AOC 2023 Day 20\n\nPretty straightforwad to implement the system. Picked up quickly on the\nneed to do some cycle finding for part 2, but not happy with how ugly\nthe overall implementation ends up. Hard to do cleanly when you need to\nconditionally examine deep state, though.","shortMessageHtmlLink":"AOC 2023 Day 20"}},{"before":"a10063f0953115b52e2a22ed1217b27da4a251b5","after":"68e4f61dd592c3ea00e7ee76fca5b5d38823b88a","ref":"refs/heads/main","pushedAt":"2023-12-21T08:39:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"AOC 2023 Day 19\n\nMost of the challenge was in sensibly parsing. Part 2 was pretty\nstraightforward to split ranges and just track the options through the\ngraph of tasks. Only needed to slightly rework the results of parsing\ninto something more raw.","shortMessageHtmlLink":"AOC 2023 Day 19"}},{"before":"b37f8ef2894c024e5b69ab9241f21a1a394329a9","after":"a10063f0953115b52e2a22ed1217b27da4a251b5","ref":"refs/heads/main","pushedAt":"2023-12-21T07:29:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"AOC 2023 Day 18\n\nInitally solved Part 1 walking the path and doing a flood fill, but this\nblows up with part 2. Ended up applying area formula and then\nindpedendently finding Pick's theorem, which in the end makes this a\nsimple solution. A little proud of putting the part1/part2 split inside\nthe iterator rather than any of the solution code.","shortMessageHtmlLink":"AOC 2023 Day 18"}},{"before":"cebd88ab2e3382262de26f205088353dd75cc83a","after":"b37f8ef2894c024e5b69ab9241f21a1a394329a9","ref":"refs/heads/main","pushedAt":"2023-12-21T02:33:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"AOC 2023 Day 17\n\nAh, the return of path finding. Once again, Djikstra to the rescue. The\nalgorithm for part 1 got a lot faster when I realized I only needed how\nmany repeated steps in a row were taken rather than a path subset--this\nalso made changing conditions for part 2 so much easier.","shortMessageHtmlLink":"AOC 2023 Day 17"}},{"before":"9c05edd2b309c10ea284564629cc6d504694edf0","after":"cebd88ab2e3382262de26f205088353dd75cc83a","ref":"refs/heads/main","pushedAt":"2023-12-20T21:44:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"AOC 2023 Day 16\n\nPretty straightforward, with the only catch being to make sure to cache\nso we know when to stop. No issues scaling this to part 2.","shortMessageHtmlLink":"AOC 2023 Day 16"}},{"before":"b8a43e6607b207e4b795f4e17b1f372302b01411","after":"9c05edd2b309c10ea284564629cc6d504694edf0","ref":"refs/heads/main","pushedAt":"2023-12-15T07:42:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"AOC 2022 Day 10\n\nSince today's was so easy, decided to go knock one out from the backlog.\nYet another fun virtual CPU type problem, this time \"drawing\" on a\nvirtual screen using it. Only trickiness (once I stopped\nover-thinking/over-engineering a virtual CPU--silly IntCode) was in\ngetting all the indexing math properly aligned.","shortMessageHtmlLink":"AOC 2022 Day 10"}},{"before":"71a61f7a72bfd847641ec93bbec4a4cede9aa617","after":"b8a43e6607b207e4b795f4e17b1f372302b01411","ref":"refs/heads/main","pushedAt":"2023-12-15T06:09:53.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"AOC 2023 Day 15\n\nPretty straightforward. Definitely benefitted from newer Python having\ndictionaries that preserve insertion order for part 2.","shortMessageHtmlLink":"AOC 2023 Day 15"}},{"before":"f6bdb821537407e78c293a806f9d4e437e95edba","after":"71a61f7a72bfd847641ec93bbec4a4cede9aa617","ref":"refs/heads/main","pushedAt":"2023-12-15T04:50:05.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"AOC 2023 Day 12\n\nManaged to get an initial dynamic programming solution to generate all\nthe options, but that was too intensive for part 2. Thankfully, all we\nneeded was the count, which drastically reduced the overhead and\nimproved the cache (memoization) performance.","shortMessageHtmlLink":"AOC 2023 Day 12"}},{"before":"1b4f0c26cae50d8f9620090f9df2f76e196be3f8","after":"f6bdb821537407e78c293a806f9d4e437e95edba","ref":"refs/heads/main","pushedAt":"2023-12-13T08:43:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"AOC 2023 Day 11\n\nNailed the right approach out of the box by just adjusting distances\nrather than manually expanding the map. Part 2 was definitely a scale\ntest which was really simple for my implementation.","shortMessageHtmlLink":"AOC 2023 Day 11"}},{"before":"112e3d8018320fc1f5ab07a7fe0b45df721ece4e","after":"1b4f0c26cae50d8f9620090f9df2f76e196be3f8","ref":"refs/heads/main","pushedAt":"2023-12-13T08:25:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"AOC 2023 Day 13\n\nFinally caught up enough to do in real time. This was kind of a pain to\nget all the corner cases handled. Looking at reddit makes me think I was\noverthinking, but at least I got there.","shortMessageHtmlLink":"AOC 2023 Day 13"}},{"before":"510d811cd23f1631ffde2f9807bef89edbb4643b","after":"112e3d8018320fc1f5ab07a7fe0b45df721ece4e","ref":"refs/heads/main","pushedAt":"2023-12-13T04:55:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"AOC 2023 Day 10\n\nA nice path following and computational geometry problem. Was good to be\nable to quickly know where to look for a point in polygon algorithm.","shortMessageHtmlLink":"AOC 2023 Day 10"}},{"before":"5fd335e581bd3e22f85d989412d167c9bc7f1b7f","after":"510d811cd23f1631ffde2f9807bef89edbb4643b","ref":"refs/heads/main","pushedAt":"2023-12-13T03:40:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"AOC 2023 Day 9\n\nSpent way too long trying to be \"smart\" and get an analytic formula\nwhen:\n\n1. There's not a good one\n2. Direct, moderately smart implementation is ridiculously fast\n\nSigh.","shortMessageHtmlLink":"AOC 2023 Day 9"}},{"before":"cc5b0c6b5fc47d5ae416c35a162c10e4c0c80d78","after":"5fd335e581bd3e22f85d989412d167c9bc7f1b7f","ref":"refs/heads/main","pushedAt":"2023-12-12T22:52:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"AOC 2023 Day 8\n\nInitial walking of the tree in part 1 was easy. Luckily caught on to the\ncycle detection (and LCM/GCD) for part 2 pretty quickly as well.","shortMessageHtmlLink":"AOC 2023 Day 8"}},{"before":"6b841d50c52b2f3a2e1e242518323df5d9ce23ca","after":"cc5b0c6b5fc47d5ae416c35a162c10e4c0c80d78","ref":"refs/heads/main","pushedAt":"2023-12-11T23:34:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"AOC 2023 Day 7\n\nPretty straightforward custom sorting problem. Thankfully, it was all\nabout subgroup sizes, so the logic around wild cards was pretty simple\nto implement.","shortMessageHtmlLink":"AOC 2023 Day 7"}},{"before":"8ac6e894c4912ce83b93dcc9fd87b55c5d1b60c9","after":"6b841d50c52b2f3a2e1e242518323df5d9ce23ca","ref":"refs/heads/main","pushedAt":"2023-12-11T22:56:03.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"AOC 2023 Day 6\n\nInitial try was simple enough to brute force/naively feed entire ranges\nthrough. Once we ended up at 10^8, it was necessary to use math and\nsolve using the quadratic formula. I guess another option would have\nbeen to use Newton-Raphson, etc. to find the crossings.","shortMessageHtmlLink":"AOC 2023 Day 6"}},{"before":"9bb2251eb2fa85ba0fbb79c69e83f823509e0eb0","after":"8ac6e894c4912ce83b93dcc9fd87b55c5d1b60c9","ref":"refs/heads/main","pushedAt":"2023-12-08T09:59:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"Update environment for current aocd dependencies","shortMessageHtmlLink":"Update environment for current aocd dependencies"}},{"before":"7f2703a624c2fad552ca01ab5bb512eba481bdcc","after":"9bb2251eb2fa85ba0fbb79c69e83f823509e0eb0","ref":"refs/heads/main","pushedAt":"2023-12-08T09:55:30.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"AOC 2023 Day 1\n\nThe regex from part 1 didn't like the overlapping words so ended up just\ndoing a brute force search from each end. Surprisingly, this performs\njust great with no clever data structures.","shortMessageHtmlLink":"AOC 2023 Day 1"}},{"before":"cfb749879f64b5df075fa6d3eab5112e8c6793a8","after":"7f2703a624c2fad552ca01ab5bb512eba481bdcc","ref":"refs/heads/main","pushedAt":"2023-03-17T05:00:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"AOC 2015 Day 18\n\nYet another straightforward Conway's game of life puzzle.","shortMessageHtmlLink":"AOC 2015 Day 18"}},{"before":"69d774e8d0424bb87be9694391f0b907e1f69b4a","after":"cfb749879f64b5df075fa6d3eab5112e8c6793a8","ref":"refs/heads/main","pushedAt":"2023-03-17T04:31:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"AOC 2015 Day 17\n\nPart 1 ended up being a throwaway implementation, but the idea of using\ndynamic programming was a useful one.","shortMessageHtmlLink":"AOC 2015 Day 17"}},{"before":"66b5f7863b2069f5a9bb541782a3f511d28fef3b","after":"69d774e8d0424bb87be9694391f0b907e1f69b4a","ref":"refs/heads/main","pushedAt":"2023-03-17T03:40:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"AOC 2015 Day 16\n\nPretty easy with simple naive loops.","shortMessageHtmlLink":"AOC 2015 Day 16"}},{"before":"7c01a64e27bbf9bc2a972f25145216442341ff57","after":"66b5f7863b2069f5a9bb541782a3f511d28fef3b","ref":"refs/heads/main","pushedAt":"2023-03-17T03:18:49.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"dopplershift","name":"Ryan May","path":"/dopplershift","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/221526?s=80&v=4"},"commit":{"message":"Finally finish AOC 2015 Day 15\n\nTurns out the naive solution is fine, at least when using a generator to\ngenerate all the combinations of amounts.","shortMessageHtmlLink":"Finally finish AOC 2015 Day 15"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADz36y7QA","startCursor":null,"endCursor":null}},"title":"Activity ยท dopplershift/advent-of-code"}