Daria's Avatar

Daria

@gereleth.bsky.social

Data scientist. I love coding and puzzles. Play my pipes game: https://hexapipes.vercel.app/play

46 Followers  |  44 Following  |  74 Posts  |  Joined: 29.10.2024
Posts Following

Posts by Daria (@gereleth.bsky.social)

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

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...

16.12.2025 12:23 — 👍 1    🔁 0    💬 0    📌 0

This was the fourth year I've completed and I'm really thankful to @was.tl for providing this entertaining challenge again and again =).

13.12.2025 20:27 — 👍 2    🔁 0    💬 0    📌 0

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)

13.12.2025 20:27 — 👍 3    🔁 0    💬 1    📌 0
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.

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 =).

13.12.2025 20:27 — 👍 4    🔁 0    💬 1    📌 0

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 =)

12.12.2025 18:41 — 👍 1    🔁 0    💬 0    📌 0

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 😉

12.12.2025 18:25 — 👍 1    🔁 0    💬 1    📌 0

It's a joke day 😆

12.12.2025 13:16 — 👍 1    🔁 0    💬 1    📌 0

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).

12.12.2025 06:39 — 👍 3    🔁 0    💬 0    📌 0

Oh, so that's how it explodes. Nice. The answer had so many digits 😄

11.12.2025 07:30 — 👍 1    🔁 0    💬 1    📌 0

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)

10.12.2025 21:17 — 👍 1    🔁 0    💬 2    📌 0
Post image

Full input looks like this by the end (and the counts do get astronomical)

08.12.2025 21:01 — 👍 4    🔁 0    💬 0    📌 0
Video thumbnail

#AdventOfCode 2025 - Day 7 - Laboratories

#py5 animation for part 2 - just adding up the counts while tachyon beams flow down-down-down

08.12.2025 21:01 — 👍 10    🔁 0    💬 1    📌 0
Video thumbnail

And here's the full input!

08.12.2025 20:52 — 👍 3    🔁 0    💬 0    📌 0
Video thumbnail

#AdventOfCode 2025 - Day 8 - Playground

Rendered with #py5 (first time I made something legible with the 3d renderer 😁)

08.12.2025 20:52 — 👍 8    🔁 0    💬 1    📌 0

Wanted to read it but all I get is a
NGINX 502 Error :/

23.07.2025 15:47 — 👍 0    🔁 0    💬 0    📌 0
Post image Post image

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

18.06.2025 14:32 — 👍 3    🔁 0    💬 0    📌 0
Post image

Saint Petersburg at night as seen from an airplane window on my recent flight. Spectacular view.

07.01.2025 13:24 — 👍 2    🔁 0    💬 0    📌 0
Preview
Advent of Code 2024 Visualisations - YouTube Animations illustrating the solutions to Advent of Code problems of 2024.

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)

26.12.2024 21:36 — 👍 10    🔁 0    💬 0    📌 0

Did you have prior experience with C++ before deciding to use it for the Advent? =)

26.12.2024 18:13 — 👍 1    🔁 0    💬 1    📌 0

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)).

26.12.2024 08:45 — 👍 0    🔁 0    💬 0    📌 0

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.

25.12.2024 20:15 — 👍 2    🔁 0    💬 0    📌 0

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 =).

25.12.2024 20:15 — 👍 2    🔁 0    💬 1    📌 0

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.

25.12.2024 18:55 — 👍 1    🔁 0    💬 1    📌 0

I thought light grey was a background color, was pretty puzzled how the dark grey stuff could mean locks 😅. Almost asked you about that))

25.12.2024 14:59 — 👍 1    🔁 0    💬 1    📌 0

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.

25.12.2024 14:46 — 👍 0    🔁 0    💬 0    📌 0

I want to debug that circuit with real wires 😄

25.12.2024 08:57 — 👍 2    🔁 0    💬 0    📌 0
Post image

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...

25.12.2024 06:29 — 👍 6    🔁 0    💬 0    📌 0

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

25.12.2024 06:29 — 👍 14    🔁 1    💬 1    📌 0

Thanks, #AdventOfCode, now I know how to construct a binary addition apparatus from logic gates 🤯

I submitted a handcrafted part2 answer earlier but I've now written some code that finds the swaps. Who knows if it works on other inputs =)
github.com/gereleth/aoc...

24.12.2024 20:51 — 👍 5    🔁 0    💬 1    📌 0

They are clumped together rather nicely!

23.12.2024 20:37 — 👍 1    🔁 0    💬 0    📌 0