# aoc My [AoC](https://adventofcode.com) solutions, written in x86-64 assembly. There is absolutely no good reason to pick assembly for this. I could have gone with C, C++, Rust, or pretty much anything else, but where's the fun in that? I'm doing this because I was bored, needed a reason to procrastinate, and, in any case, I don't have that many excuses to write assembly these days anymore, so these let me stay up to spec. Since assembly is beyond annoying to deal with between machines, I provide a Dockerfile with all the tools you might need to build and run the solutions. I don't particularly care about the AoC leaderboard. December is usually a pretty busy time for me, so I often don't have the time (or energy) to sit down and solve every puzzle on the day it comes out. As a result, some solutions may be uploaded days, weeks, or potentially much later than the actual puzzle release. That's intentional. I'm doing these primarily because I enjoy solving the problems and because they're a fun excuse to write increasingly questionable amounts of assembly. Getting a good leaderboard position isn't really the point for me. If a solution appears suspiciously late, that's probably why. AoC gives each user their own puzzle input. I keep my inputs locally and do not commit them to this repository. If you're running these solutions yourself, you'll need to provide your own inputs in whatever format the corresponding solution expects. ## Docker To build the Docker image, run this from the repository root: ```sh docker build -t aoc . ``` To run a specific day: ```sh docker run --rm aoc YEAR=2025 DAY=5 ``` When you're done, remove the image with: ```sh docker rmi aoc ``` ## License [MIT](LICENSE), because if you actually want to use this code, you clearly need more help than permission.