m583.bsky.social
@m583.bsky.social
December 20, 2025 at 3:58 PM
I just completed "Reactor" - Day 11 - Advent of Code 2025 #AdventOfCode adventofcode.com/2025/day/11
#rstats Using matrix multiplies
December 19, 2025 at 9:56 PM
I just completed "Factory" - Day 10 - Advent of Code 2025 #AdventOfCode adventofcode.com/2025/day/10

May have cheated for part 2 - used google + chatgpt to see how to use linear programming solver.

github.com/mdg583/AOC/t...
Day 10 - Advent of Code 2025
adventofcode.com
December 19, 2025 at 8:24 PM
I just completed "Movie Theater" - Day 9 - Advent of Code 2025 #AdventOfCode

This one was super hard - I finally got it. Code is here: github.com/mdg583/AOC/t....

The solution takes some time. It walks around each region and checks when it steps off a boundary.
December 19, 2025 at 2:24 PM
Day 7 of Advent of Code 2025 #AdventOfCode adventofcode.com/2025/day/7

Going row-by-row and using element-wise vector operations, where lshift and rshift look left and right
December 7, 2025 at 4:23 PM
#adventofcode
I came up with a solution for Day 2 which I am pretty happy with. %95 sure it is correct. It assumes the inputs are <= 10 digits.

After a lot of thinking I concluded that an inclusion/exclusion principle holds for 2,3,5,7 - 6,10 repeated numbers.

github.com/mdg583/AOC/t...
AOC/2025/Day2/C at main · mdg583/AOC
Advent of Code. Contribute to mdg583/AOC development by creating an account on GitHub.
github.com
December 5, 2025 at 11:41 PM
I've completed "Printing Department" - Day 4 - Advent of Code 2025 #AdventOfCode adventofcode.com/2025/day/4

Working through these in #RStats. Nothing too interesting about this solution, used a convolution with a matrix kernel

github.com/mdg583/AOC/t...
Day 4 - Advent of Code 2025
adventofcode.com
December 4, 2025 at 6:16 AM
#RStats #AdventOfCode Day 2
A hard to read R solution
December 2, 2025 at 7:34 AM
Trying #adventofcode in R. Monstrous solution to part two of day 1:

x = readr::read_lines("input.txt")
xdir = substring(x,1,1)
xlen = as.numeric(substring(x,2))
xcum = cumsum(c(50,xlen*ifelse(xdir=="L",-1,1)))
sum(
0.5 * abs(diff(floor(xcum / 100))) +
0.5 * abs(diff(floor((xcum-1) / 100)))
)
December 1, 2025 at 6:58 PM