{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":321679220,"defaultBranch":"main","name":"advent-of-code","ownerLogin":"tjarratt","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-12-15T13:39:45.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/249262?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1636320470.7722082","currentOid":""},"activityList":{"items":[{"before":"f82f278bc865f429a103a57fbb870fc9f7637432","after":"d91fd803742599830f9def6d1871a8cffa96672e","ref":"refs/heads/main","pushedAt":"2024-01-03T09:31:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"Rename otp app name and mix project module","shortMessageHtmlLink":"Rename otp app name and mix project module"}},{"before":"33739a727b62a79dc2c1494c0479f62b143d951d","after":"f82f278bc865f429a103a57fbb870fc9f7637432","ref":"refs/heads/main","pushedAt":"2023-12-20T18:42:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 19; part 2\n\nCo-authored-by: Gabriela Martins ","shortMessageHtmlLink":"2023; elixir; day 19; part 2"}},{"before":"03a125853a1946d2789ea7ace89d3b2f21a91953","after":"33739a727b62a79dc2c1494c0479f62b143d951d","ref":"refs/heads/main","pushedAt":"2023-12-19T10:59:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 19; part 1","shortMessageHtmlLink":"2023; elixir; day 19; part 1"}},{"before":"26abb5f071fe31ded98c1a600ad43be7bd71a706","after":"03a125853a1946d2789ea7ace89d3b2f21a91953","ref":"refs/heads/main","pushedAt":"2023-12-18T21:20:57.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 18; part 2\n\nGuess I wrote a bit too much code in the first half","shortMessageHtmlLink":"2023; elixir; day 18; part 2"}},{"before":"63f469c9a2ad42773fcd999c87d0c470db145cca","after":"26abb5f071fe31ded98c1a600ad43be7bd71a706","ref":"refs/heads/main","pushedAt":"2023-12-17T22:40:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 14; part 1\n\nA bit tricky with the rolling but I'm happy with how this\nturned out. Especially since I was able to catch up so much\non this one day of the weekend.","shortMessageHtmlLink":"2023; elixir; day 14; part 1"}},{"before":"4c7d6deeead9735966349a4a3dce533b88830419","after":"63f469c9a2ad42773fcd999c87d0c470db145cca","ref":"refs/heads/main","pushedAt":"2023-12-17T21:29:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 17; part 2\n\nStill could be optimized better. Probably wasting a lot of\ntime deciding which of the options to pursue at the top of\nthe a_star function. Using a list there is probably far from\nthe most optimal choice, since we need to traverse this entire\nlist the entire time, even though we know these scores and\nthere were only a few insert / updates of the fScore map\nin the previous iteration","shortMessageHtmlLink":"2023; elixir; day 17; part 2"}},{"before":"b33d0b5ce3b50ae5f166e9dc26d6a083c8026ec1","after":"4c7d6deeead9735966349a4a3dce533b88830419","ref":"refs/heads/main","pushedAt":"2023-12-17T21:20:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"Refactor : optimize for speed\n\nlist traversal is SLOW in elixir, yo","shortMessageHtmlLink":"Refactor : optimize for speed"}},{"before":"f5405d8cbbaf3589c4e6b91bc94c0c63ce88eaf1","after":"b33d0b5ce3b50ae5f166e9dc26d6a083c8026ec1","ref":"refs/heads/main","pushedAt":"2023-12-17T21:12:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 17; part 1\n\nA painful one. Took a good amount of time to see\nthat there were several bugs in this. Notably in how I was calculating\nthe heat lost between two points, and also in remembering that we can arrive\nin a square from several different directions, and we need to be able to remember that\nso that we can re-visit a square a second time, if it means we have a lower\namount of heat lost the second time","shortMessageHtmlLink":"2023; elixir; day 17; part 1"}},{"before":"393177d30eb1307931ca2a5dae5727b0cade632e","after":"f5405d8cbbaf3589c4e6b91bc94c0c63ce88eaf1","ref":"refs/heads/main","pushedAt":"2023-12-17T16:07:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 16; part 2\n\nBrute force baby","shortMessageHtmlLink":"2023; elixir; day 16; part 2"}},{"before":"c161dee31d6a3d63b3d5041163d1d2af06f8519e","after":"393177d30eb1307931ca2a5dae5727b0cade632e","ref":"refs/heads/main","pushedAt":"2023-12-17T16:04:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 16; part 2\n\nBrute force baby","shortMessageHtmlLink":"2023; elixir; day 16; part 2"}},{"before":"c7aacbadaf42502d8d6fc203baab9878cc1f46fc","after":"c161dee31d6a3d63b3d5041163d1d2af06f8519e","ref":"refs/heads/main","pushedAt":"2023-12-17T15:47:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 16; part 1\n\nGot stuck for a long while on a solution that still seems\nlike it should work, but gets an answer that is half as large as expected.\n\nMy first approach was to take each light beam and\n\n* move it one square according to its direction\n* decide which direction it should change (if at all)\n\nClearly that doesn't work, probably because of some edge case where\nthere are mirrors next to mirrors (or splitters).","shortMessageHtmlLink":"2023; elixir; day 16; part 1"}},{"before":"7862db1aae6a099b6a461a0371a3cba035055ac4","after":"c7aacbadaf42502d8d6fc203baab9878cc1f46fc","ref":"refs/heads/main","pushedAt":"2023-12-15T22:27:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 15; part 2\n\nWish I had caught up on the previous days, but this was fun enough\nto bring me back into it.\n\nGiven the hints around hashmaps, I feel like I *must* have missed\nout on learning something deeper about this puzzle..","shortMessageHtmlLink":"2023; elixir; day 15; part 2"}},{"before":"538c9ca5e996c665a77d8cb63e2ba5e71d0f80b9","after":"7862db1aae6a099b6a461a0371a3cba035055ac4","ref":"refs/heads/main","pushedAt":"2023-12-15T09:59:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 15; part 1\n\nNot so painful, quite fun :)\n\nCo-authored-by: Sarah Stoltze ","shortMessageHtmlLink":"2023; elixir; day 15; part 1"}},{"before":"cc580ccfee8ce413cebe605f47c3ba3434c48732","after":"538c9ca5e996c665a77d8cb63e2ba5e71d0f80b9","ref":"refs/heads/main","pushedAt":"2023-12-11T21:40:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"Suppress warning from doc attr on private method","shortMessageHtmlLink":"Suppress warning from doc attr on private method"}},{"before":"6e63de48937efe8d2ab58c99b1275883583e479d","after":"cc580ccfee8ce413cebe605f47c3ba3434c48732","ref":"refs/heads/main","pushedAt":"2023-12-11T21:37:45.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 11; part 2\n\nA bit tricky, but mostly because I feel like I did not have the correct\ndata structures to make this easy. Needing to cart around a mountain\nof information to do a calculation does not make it easy","shortMessageHtmlLink":"2023; elixir; day 11; part 2"}},{"before":"7fa5ce60aac44b311a589d070e8ffa19ac1363bc","after":"6e63de48937efe8d2ab58c99b1275883583e479d","ref":"refs/heads/main","pushedAt":"2023-12-10T16:14:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 10; part 2\n\nA real doozy of a doozy.\n\nDid not expect ray tracing for the part two here. Luckily I recall seeing some\nsimilar problems in the past, and was able to determine with some light googling\nthat raytracing is a valid solution here.\n\nSadly I had to hack this up a bit. The real tricky part is determining when you've crossed\na line and when you haven't.\n\nFor example, below you clearly have not crossed a line\n\n.F-----7.\n\nbecause you only really skirt the edge of the polygon. However, in this example\n\n.F-----J\n\nyou clearly do cross a line because the F is going up-right and the J is going left-up\n\nNow the tricky part is that S can play either role. It can be the top left corner\n\n.S-----7.\n\nand it can also be part of a vertical line with a horizontal jag across it\n\n.S.....J\n\nSo ... without a sort of code to peek around and determine for sure\nwhich direction the S is going, I can't generalize the current solution.","shortMessageHtmlLink":"2023; elixir; day 10; part 2"}},{"before":"5c906c40c7467a2e30ac0d5924ee785598ee384a","after":"7fa5ce60aac44b311a589d070e8ffa19ac1363bc","ref":"refs/heads/main","pushedAt":"2023-12-10T12:27:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 10; part 1\n\nA bit hairy, and a lot of cases to consider.\nThere's got to be a better way to handle the connections from\none pipe to another. Perhaps specifying for each where they can\nconnect, and then checking to see if the connections do line up\nfrom neighbor to neighbor are possible ?","shortMessageHtmlLink":"2023; elixir; day 10; part 1"}},{"before":"76ebfe42edc294e09c12927c629f29dae1678e18","after":"5c906c40c7467a2e30ac0d5924ee785598ee384a","ref":"refs/heads/main","pushedAt":"2023-12-09T14:59:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"Intcode; implement jump-if-false","shortMessageHtmlLink":"Intcode; implement jump-if-false"}},{"before":"eb17263bfa7fbb0599dbb5e0495ede5abea6b56b","after":"76ebfe42edc294e09c12927c629f29dae1678e18","ref":"refs/heads/main","pushedAt":"2023-12-09T14:48:54.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"Refactor intcode computer\n\nAdopt state-in, state-out as the interface for opcode handlers\n\nThis makes the do_calculate() function much simpler, and makes\nit easier to do implement opcodes where the number of values the\ninstruction pointer should be incremented by is dynamic","shortMessageHtmlLink":"Refactor intcode computer"}},{"before":"6453971b712625b36849a69f383e8d8079fd1d69","after":"eb17263bfa7fbb0599dbb5e0495ede5abea6b56b","ref":"refs/heads/main","pushedAt":"2023-12-09T11:03:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"Extract a split_lines(on: delimiter) function","shortMessageHtmlLink":"Extract a split_lines(on: delimiter) function"}},{"before":"446f775332b7344997a3eaa09abcc2a77959de1e","after":"6453971b712625b36849a69f383e8d8079fd1d69","ref":"refs/heads/main","pushedAt":"2023-12-09T11:02:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"Extract a split_lines(on: delimiter) function","shortMessageHtmlLink":"Extract a split_lines(on: delimiter) function"}},{"before":"cc07a000567dc646770b550897f18e84e6ac0125","after":"446f775332b7344997a3eaa09abcc2a77959de1e","ref":"refs/heads/main","pushedAt":"2023-12-09T10:51:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 09; part 2\n\nWow an easy one for a change. That felt good.","shortMessageHtmlLink":"2023; elixir; day 09; part 2"}},{"before":"3274d0087dc47670b01abdbcf0ed1381d4aa3113","after":"cc07a000567dc646770b550897f18e84e6ac0125","ref":"refs/heads/main","pushedAt":"2023-12-09T10:38:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 09; part 1\n\nThis one was so easy it frightens me to look at part 2 😬","shortMessageHtmlLink":"2023; elixir; day 09; part 1"}},{"before":"a54b3fc995da329d3396a988594838311af43dd8","after":"3274d0087dc47670b01abdbcf0ed1381d4aa3113","ref":"refs/heads/main","pushedAt":"2023-12-08T19:34:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 08; part 2\n\nAdded a basic maths module to handle GCD and LCM because\nthose come up all the dang time in AoC. Quite happy with the\nrefactoring that came about to re-use the walk function here\neven though when I originally wrote this I needed to duplicate it\njust to make sense of the logic.\n\nNot visible : the time I spent trying to write a #walk_simultaneously\nfunction that would take a list of locations and try to walk all of them\nsimultaneously, that was some real nonsense. Should have trusted the hint\nwhen it said that it's going to take significantly more steps to escape.","shortMessageHtmlLink":"2023; elixir; day 08; part 2"}},{"before":"54e2f5793ee9dbb1c3e963122d23ca916d3299cf","after":"a54b3fc995da329d3396a988594838311af43dd8","ref":"refs/heads/main","pushedAt":"2023-12-08T13:23:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 08; part 1\n\nEasy as stealing candy from a baby","shortMessageHtmlLink":"2023; elixir; day 08; part 1"}},{"before":"c42f83805736ee8ef2179fd62decb4b9f43561be","after":"54e2f5793ee9dbb1c3e963122d23ca916d3299cf","ref":"refs/heads/main","pushedAt":"2023-12-07T22:25:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 07; part 2\n\nPattern matching for the win","shortMessageHtmlLink":"2023; elixir; day 07; part 2"}},{"before":"bf2a81074bb253ab198e7bb88ac7fd28668007a8","after":"c42f83805736ee8ef2179fd62decb4b9f43561be","ref":"refs/heads/main","pushedAt":"2023-12-07T21:46:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 07; part 1\n\nA bit of a doozy, probably could golf this down a bit","shortMessageHtmlLink":"2023; elixir; day 07; part 1"}},{"before":"46819c9889d9b377e59639c56ef7299c7f4f0b1f","after":"bf2a81074bb253ab198e7bb88ac7fd28668007a8","ref":"refs/heads/main","pushedAt":"2023-12-06T14:41:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 06; part 2\n\nSurprisingly easy ?","shortMessageHtmlLink":"2023; elixir; day 06; part 2"}},{"before":"c77ce49efaae8ec8ab8772d62948a6b4bc798155","after":"46819c9889d9b377e59639c56ef7299c7f4f0b1f","ref":"refs/heads/main","pushedAt":"2023-12-06T10:48:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"2023; elixir; day 05; part 2","shortMessageHtmlLink":"2023; elixir; day 05; part 2"}},{"before":"dcbf0d1a1aecf1b68be0d5ac4a255a5796eec7a5","after":"c77ce49efaae8ec8ab8772d62948a6b4bc798155","ref":"refs/heads/main","pushedAt":"2023-12-05T21:13:14.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"tjarratt","name":"Tim Jarratt","path":"/tjarratt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/249262?s=80&v=4"},"commit":{"message":"Speed up by a bajillion percent, give or take","shortMessageHtmlLink":"Speed up by a bajillion percent, give or take"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAD1qb_DAA","startCursor":null,"endCursor":null}},"title":"Activity · tjarratt/advent-of-code"}