The eggs go into productivity modules, always a need for those)). And I recycle them a lot for quality upgrades.
There was also that one time when biters hatched on my space platform and destroyed it. Vacuum, zero g, they don't care ๐
Here's my star: factorio.com/galaxy/Iron%...
Posts by Daria
Congrats on finishing!
I like your spidertron army =)
How come you starved 216 captive biter spawners though, poor things ๐ฅฒ
4-panel evil plan meme 1. Identify regions definitely big enough or definitely too small 2. Write a complex fitting algorithm to handle the rest 3. There is no rest 4. There is no rest
This reddit meme sums it up perfectly. I'm glad I went "let me just count the hard cases" early enough ๐
www.reddit.com/r/adventofco...
This was the fourth year I've completed and I'm really thankful to @was.tl for providing this entertaining challenge again and again =).
The hardest task I think was day 9 with the rectangles. It was kinda like the "Garden Groups" of 2024 day 12 and I need to get better with these weird 2d tile shapes =).
My solutions are here: github.com/gereleth/aoc...
(and a few animations too)
A bar chart showing solution times in seconds for the tasks of Advent of Code 2025. The longest time is 1 s for part 2 of day 9 (Movie Theater). Other times are below 0.4 s.
Timings of my #AdventOfCode 2025 solutions in #python.
I used scipy for day 10 LP and some numpy for day 9. The rest are in plain python 3.13.
The task I enjoyed the most was the graph of day 11 - hard at first and really nice when it clicked. The solution is so pretty =).
I wrote a check like this:
- either the area is so big that each present can have its own 3x3 room
- or the area is so small that the presents won't fit even if packed with no gaps
- or we need the packing algo to know for sure
But that third branch never saw any traffic =)
The examples are way harder than the actual input because dense packing is necessary there. But all the actual inputs have either very big or very small areas ๐
It's a joke day ๐
The calculation could stay generalizable without relying on a specific path by taking a sum of both paths:
total = (
svr_to_fft * fft_to_dac * dac_to_out
+ svr_to_dac * dac_to_fft * fft_to_out
)
Some term will zero out and that's ok).
Oh, so that's how it explodes. Nice. The answer had so many digits ๐
I saw a great speedup when I added tracking of already seen states. No use coming back to them again and again ๐.
(the rest of my approach was pretty similar to yours)
Full input looks like this by the end (and the counts do get astronomical)
#AdventOfCode 2025 - Day 7 - Laboratories
#py5 animation for part 2 - just adding up the counts while tachyon beams flow down-down-down
And here's the full input!
#AdventOfCode 2025 - Day 8 - Playground
Rendered with #py5 (first time I made something legible with the 3d renderer ๐)
Wanted to read it but all I get is a
NGINX 502 Error :/
My pipes game just got two new grids =)
I like the mix of hexagons, triangles and squares - hexapipes.vercel.app/rhombitrihex...
And the triangular grid is just pure minimalism - three distinct tiles and that's it hexapipes.vercel.app/triangular/5
Saint Petersburg at night as seen from an airplane window on my recent flight. Spectacular view.
A playlist of all the animations I made for #AdventOfCode 2024:
www.youtube.com/playlist?lis...
Managed to do a total of 14 days with #py5. Curiously the number is exactly the same as in '23 when I used #pygame. Each video has a link to the animation source code if you wanna see the messy plumbing)
Did you have prior experience with C++ before deciding to use it for the Advent? =)
Why are some points going blue? Are those part 2 obstacle locations? The animation makes me think there is some trick to finding them that I'm not aware of)).
One other thing I tried before was to represent a sequence of changes as a single large number (like 4 digits in base 19 because there are 19 possible changes in -9..9)
Then the 5d array can be a 2d array, where the other dimension is 19**4. But timings were about the same as 5d approach.
I just tried line profiling and indeed the last line with `sequences.clip().sum().max()` takes 50% of total part2 time. I tried putting the buyers dimension last - no change in performance.
It's just a heavy operation however you slice it I think =).
I was wrong here, numpy is also very good for day20 (Race Condition). If distances from starting point are a 2d numpy array then for every cheating offset you can get the gains for the whole grid at once. My solution time went from 1.7s to 100ms when I switched to this approach.
I thought light grey was a background color, was pretty puzzled how the dark grey stuff could mean locks ๐ . Almost asked you about that))
Fast solutions aren't general, they use some properties of the input that aren't in the task description. I studied the input program's flow on paper to figure out a shortcut for part 2. A direct "black box" approach does take forever.
I want to debug that circuit with real wires ๐
Pretty proud of solution times this year - all days run in just ~2.5s.
Day 20 Race Condition used to take almost 2s before I gave it some numpy love.
#python solutions and animations code here: github.com/gereleth/aoc...
All done with #AdventOfCode 2024. Fun ride as always!
Most memorable days for me:
- Day 14 (find the tree)
- Day 21 (robots inception)
- Day 24 (so that's how binary addition works!)
#py5 was very nice for making animations and I learned to use a statemachine to manage vis data