{"id":43310768,"url":"https://github.com/devries/advent_of_code_2020","last_synced_at":"2026-02-01T21:11:02.164Z","repository":{"id":57559490,"uuid":"316555732","full_name":"devries/advent_of_code_2020","owner":"devries","description":"Advent of Code 2020 in Go","archived":false,"fork":false,"pushed_at":"2021-11-26T19:30:48.000Z","size":194,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-10T13:54:55.712Z","etag":null,"topics":["advent-of-code","advent-of-code-2020"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/devries.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-27T16:54:14.000Z","updated_at":"2021-12-19T16:09:07.000Z","dependencies_parsed_at":"2022-08-28T14:03:01.395Z","dependency_job_id":null,"html_url":"https://github.com/devries/advent_of_code_2020","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/devries/advent_of_code_2020","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devries%2Fadvent_of_code_2020","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devries%2Fadvent_of_code_2020/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devries%2Fadvent_of_code_2020/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devries%2Fadvent_of_code_2020/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devries","download_url":"https://codeload.github.com/devries/advent_of_code_2020/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devries%2Fadvent_of_code_2020/sbom","scorecard":{"id":338310,"data":{"date":"2025-08-11","repo":{"name":"github.com/devries/advent_of_code_2020","commit":"41f4bf8183442adfde2307ece43370c42e6da575"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.1,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/main.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/devries/advent_of_code_2020/main.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/devries/advent_of_code_2020/main.yml/main?enable=pin","Info:   0 out of   2 GitHub-owned GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-18T05:14:05.649Z","repository_id":57559490,"created_at":"2025-08-18T05:14:05.649Z","updated_at":"2025-08-18T05:14:05.649Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28991204,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T20:57:35.821Z","status":"ssl_error","status_checked_at":"2026-02-01T20:57:29.580Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["advent-of-code","advent-of-code-2020"],"created_at":"2026-02-01T21:11:01.475Z","updated_at":"2026-02-01T21:11:02.147Z","avatar_url":"https://github.com/devries.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Advent of Code 2020\n\n[![Tests](https://github.com/devries/advent_of_code_2020/actions/workflows/main.yml/badge.svg)](https://github.com/devries/advent_of_code_2020/actions/workflows/main.yml)\n[![Go Report Card](https://goreportcard.com/badge/github.com/devries/advent_of_code_2020)](https://goreportcard.com/report/github.com/devries/advent_of_code_2020)\n![stars: 50](https://img.shields.io/badge/stars%20⭐-50-yellow)\n\n## Summary\n\nAnother year of [Advent of Code](https://adventofcode.com/) is over, and as usual\nit provided a daily dose of fun in the countdown to Christmas. This year I needed\nsomething like it more than most, as I think we all did. This was also the first\nyear that my daughter and I worked on problems together. She is just learning\nhow to write code in a high school class, so many of the concepts are very new\nto her, but I enjoyed helping her and talking through the problems. Unfortunately\nas her midterms started, she didn't have a lot of time to work on Advent of Code,\nbut we hopefully will be going back to look at some of the more interesting problems.\n\nI really enjoyed the [Intcode problems from 2019](https://github.com/devries/advent_of_code_2019)\nand missed having something we were building over time this year. I also thought\nthere were some extremely challenging problems last year, which at times made it\npretty difficult to keep up, but this year seemed to have fewer very difficut\nproblems. The final weekend of Advent of Code (days 19 and 20) were problems I\nthought were the most difficult, but this year I was able to mainly work on the\nproblems before starting work each morning.\n\nThis year I tried to write more tests to get into a better habit of using tests,\nand that mostly worked out, except for day 19.\nDay 19 gave me the most trouble. I got the first part fairly quickly, but I had\na bug in my code which manifested itself in the second part. It took a long\ntime to debug the issue, and in that time I managed to introduce several more\nbugs. I also had an error in my tests, which may have led me to keep trying to\ndebug the problem after it was working. I had to do a lot of cooking that night\nand decided I would rewrite part 2 entirely after dinner. I then was able to\nfind my mistakes and finish the problem. In the end nearly 8 hours elapsed\nbetween the time I finished part 1 and finished part 2.\n\nI thought day 20 was a lot of fun, and I managed to get through this one with\nfew bugs, even though it took some time. I enjoyed considering all the orientations\nas well as the rotations or flips required to go between them. I also enjoyed day\n10 quite a bit. Juggling all those joltage adapters and figuring out the total\nnumber of possible adapter combinations to charge your handheld.\n\nI thought the hexagonal grid was pretty interesting, and I suspected most people\nwould use the same coordinate system I used (east and west are given by 2 moves\nalong the X-axis, whereas northeast, northwest, southeast, and southwest would be\ngiven by 1 move in the X-axis and 1 move in the Y-axis), however I was surprised\nthat many people just tilted the Y-axis to align with either the northeast or\nnorthwest direction, and treated east and west as one step in the X-axis,\nnorthwest and southeast as 1 step in the Y direction, and northeast and southwest\nas one step in each of the X and Y axes. \n\nEven though this is only my second year, I feel like this event really starts to\nput me in the Christmas mood, and I look forward to next year.\n\n## Index\n\n- [Day 1: Report Repair](https://adventofcode.com/2020/day/1) - [part 1](day01_p1), [part 2](day01_p2)\n- [Day 2: Password Philosophy](https://adventofcode.com/2020/day/2) - [part 1](day02_p1), [part 2](day02_p2) \n- [Day 3: Toboggan Trajectory](https://adventofcode.com/2020/day/3) - [part 1](day03_p1), [part 2](day03_p2)\n- [Day 4: Passport Processing](https://adventofcode.com/2020/day/4) - [part 1](day04_p1), [part 2](day04_p2)\n- [Day 5: Binary Boarding](https://adventofcode.com/2020/day/5) - [part 1](day05_p1), [part 2](day05_p2)\n- [Day 6: Custom Customs](https://adventofcode.com/2020/day/6) - [part 1](day06_p1), [part 2](day06_p2), [part 2 refactor](day06_p2alt)\n- [Day 7: Handy Haversacks](https://adventofcode.com/2020/day/7) - [part 1](day07_p1), [part 2](day07_p2), [part 1 refactor](day07_p1alt), [part 2 refactor](day07_p2alt)\n- [Day 8: Handheld Halting](https://adventofcode.com/2020/day/8) - [part 1](day08_p1), [part 2](day08_p2)\n- [Day 9: Encoding Error](https://adventofcode.com/2020/day/9) - [part 1](day09_p1), [part 2](day09_p2)\n- [Day 10: Adapter Array](https://adventofcode.com/2020/day/10) - [part 1](day10_p1), [part 2](day10_p2)\n- [Day 11: Seating System](https://adventofcode.com/2020/day/11) - [part 1](day11_p1), [part 2](day11_p2)\n- [Day 12: Rain Risk](https://adventofcode.com/2020/day/12) - [part 1](day12_p1), [part 2](day12_p2)\n- [Day 13: Shuttle Search](https://adventofcode.com/2020/day/13) - [part 1](day13_p1), [part 2](day13_p2)\n- [Day 14: Docking Data](https://adventofcode.com/2020/day/14) - [part 1](day14_p1), [part 2](day14_p2)\n- [Day 15: Rambunctious Recitation](https://adventofcode.com/2020/day/15) - [part 1](day15_p1), [part 2](day15_p2)\n- [Day 16: Ticket Translation](https://adventofcode.com/2020/day/16) - [part 1](day16_p1), [part 2](day16_p2)\n- [Day 17: Conway Cubes](https://adventofcode.com/2020/day/17) - [part 1](day17_p1), [part 2](day17_p2)\n- [Day 18: Operation Order](https://adventofcode.com/2020/day/18) - [part 1](day18_p1), [part 2](day18_p2)\n- [Day 19: Monster Messages](https://adventofcode.com/2020/day/19) - [part 1](day19_p1), [part 2](day19_p2)\n- [Day 20: Jurassic Jigsaw](https://adventofcode.com/2020/day/20) - [part 1](day20_p1), [part 2](day20_p2)\n- [Day 21: Allergen Assessment](https://adventofcode.com/2020/day/21) - [part 1](day21_p1), [part 2](day21_p2)\n- [Day 22: Crab Combat](https://adventofcode.com/2020/day/22) - [part 1](day22_p1), [part 2](day22_p2)\n- [Day 23: Crab Cups](https://adventofcode.com/2020/day/23) - [part 1](day23_p1), [part 2](day23_p2)\n- [Day 24: Lobby Layout](https://adventofcode.com/2020/day/24) - [part 1](day24_p1), [part 2](day24_p2)\n- [Day 25: Combo Breaker](https://adventofcode.com/2020/day/25) - [part 1](day25_p1)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevries%2Fadvent_of_code_2020","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevries%2Fadvent_of_code_2020","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevries%2Fadvent_of_code_2020/lists"}