Advertisement · 728 × 90
#
Hashtag
#AdventOfCode
Advertisement · 728 × 90
Day 7 - Advent of Code 2025

I just completed "Laboratories" - Day 7 - Advent of Code 2025 #AdventOfCode adventofcode.com/2025/day/7

github.com/danielemegna... #elixirlang

0 0 0 0
Advent of Code 2025

I just completed all 12 days of Advent of Code 2025! #AdventOfCode adventofcode.com

2 0 0 0
Day 6 - Advent of Code 2025

I just completed "Trash Compactor" - Day 6 - Advent of Code 2025 #AdventOfCode adventofcode.com/2025/day/6

github.com/danielemegna... #elixirlang

1 0 0 0

Note to self: (int) id % 10 is not the same thing as (int) (id % 10)

#AdventOfCode

1 0 0 0
Day 3 - Advent of Code 2025

I just completed "Lobby" - Day 3 - Advent of Code 2025

Part 2 made me implement a recursive generic version of part 1 that was actually much simpler
github.com/jeffmallozzi...

adventofcode.com/2025/day/3

#AdventOfCode
#zig

0 0 0 0
Day 2 - Advent of Code 2025

I just completed "Gift Shop" - Day 2 - Advent of Code 2025

adventofcode.com/2025/day/2
github.com/jeffmallozzi...

Yeah, I'm running very behind this year ;)

#AdventOfCode
#zig

0 0 0 0

There's funny parallels here with another puzzle-y thing dear to my heart: #AdventOfCode!

This is another global leaderboard that operated on the honour system, *really* didn't matter in the grand scheme of things, yet people started to game (via LLMs) which ruined it for everyone else.

0 0 1 0
Day 5 - Advent of Code 2025

I just completed "Cafeteria" - Day 5 - Advent of Code 2025 #AdventOfCode adventofcode.com/2025/day/5

github.com/danielemegna... #elixirlang

0 0 0 0
Preview
GitHub - code-shoily/yog: A graph algorithm library in Gleam A graph algorithm library in Gleam. Contribute to code-shoily/yog development by creating an account on GitHub.

Wanted to learn @gleam.run through #adventofcode - got stuck on a Graph problem and didn't want to port my Elixir or F# solutions to Gleam. Then it occurred to me, why not collect a few graph algorithms in one place and do myself a favour?

github.com/code-shoily/...

Gleam is a beautiful language.

7 0 0 0
Day 8 - Advent of Code 2024

I just completed "Resonant Collinearity" - Day 8 - Advent of Code 2024 in Rust #AdventOfCode #Rust adventofcode.com/2024/day/8

0 0 0 0

I just completed "Printing Department" - Day 4 - Advent of Code 2025 #AdventOfCode adventofcode.com/2025/day/4

github.com/danielemegna... #elixirlang

0 0 0 0
Day 8 - Advent of Code 2025

I just completed "Playground" - Day 8 - Advent of Code 2025 #AdventOfCode adventofcode.com/2025/day/8

just getting back to this, hopefully will finish before AOC 2026

0 0 0 0
Day 3 - Advent of Code 2025

Morning training 🏋️🥋

I just completed "Lobby" - Day 3 - Advent of Code 2025 #AdventOfCode adventofcode.com/2025/day/3

github.com/danielemegna... #elixirlang

0 0 0 0
Preview
Advent of Code 2025 Tribute: de winnaars! Als Advent of Code sponsor hebben we dit jaar weer onze eigen puzzel gemaakt. We werpen hier een blik op de beste inzendingen.

Duurde even, maar de winnaars van Infi's #AdventOfCode 2025 Tribute puzzel zijn bekend!

Er zaten wat pareltjes bij hoor :D. Wilco geeft op ons blog de highlights van enkele inzendingen: infi.nl/nieuws/adven...

2 0 0 0
Advent of Code 2025

I just completed all 12 days of Advent of Code 2025! #AdventOfCode adventofcode.com

#CommonLisp github.com/brewski82/ad...

0 0 0 0

FIN-FUCKING-NALLY ! 😭

I just completed "Movie Theater" - Day 9 - Advent of Code 2025 #AdventOfCode adventofcode.com/202... 🎉🎉🎉

4 0 0 0
Post image

I just completed "Gift Shop" - Day 2 - Advent of Code 2025 #AdventOfCode adventofcode.com/2025/day/2

github.com/danielemegna... #elixirlang

0 0 0 0
Day 11 - Advent of Code 2025

I just completed "Reactor" - Day 11 - Advent of Code 2025 #AdventOfCode adventofcode.com/2025/day/11

#CommonLisp github.com/brewski82/ad...

0 0 0 0

i only have 15 minutes to demo this so I can explain some actually-useful basics and walk through an #AdventOfCode example

or, I can do a tutorial about geomantic divination in APL 🤔

i’m torn

2 0 2 0
Day 10 - Advent of Code 2025

I've completed "Factory" - Day 10 - Advent of Code 2025 #AdventOfCode adventofcode.com/2025/day/10

#CommonLisp github.com/brewski82/ad...

0 0 0 0
Day 1 - Advent of Code 2025

I just completed "Secret Entrance" - Day 1 - Advent of Code 2025 #AdventOfCode adventofcode.com/2025/day/1

1 0 0 0
Preview
Advent of Code 2025 Day 3: Lobby A step-by-step Python walkthrough for solving Advent of Code 2025 Day 3.

Here's my 2025 day 3 #AdventOfCode solution (in #Python, per usual)! An extra clean little dynamic programming problem.

advent-of-code.xavd.id/writeu...

0 0 0 0
Advent of Code 2025

I just completed all 12 days of Advent of Code 2025! #AdventOfCode adventofcode.com

2 0 0 0
Day 10 - Advent of Code 2025

I just completed "Factory" - Day 10 - Advent of Code 2025 #AdventOfCode adventofcode.com/2025/day/10

Finally.
Gaussian elimination is all you need.

0 0 0 0
# auxiliary classes
Point = Data.define(:x, :y)

Rectangle = Data.define(:corner1, :corner2) do
  def area
    ((corner2.x - corner1.x).abs + 1) * ((corner2.y - corner1.y).abs + 1)
  end

  def xy_bounds
    x_min, x_max = [corner1.x, corner2.x].minmax
    y_min, y_max = [corner1.y, corner2.y].minmax
    [x_min, x_max, y_min, y_max]
  end
end

# intentionally naive for argless methods
module Memoize
  def memoize(name)
    original = instance_method(name)
    ivar_name = "@#{name}"
    define_method(name) do
      if instance_variable_defined?(ivar_name)
        instance_variable_get(ivar_name)
      else
        instance_variable_set(ivar_name, original.bind(self).call)
      end
    end
  end
end

# auxiliary classes Point = Data.define(:x, :y) Rectangle = Data.define(:corner1, :corner2) do def area ((corner2.x - corner1.x).abs + 1) * ((corner2.y - corner1.y).abs + 1) end def xy_bounds x_min, x_max = [corner1.x, corner2.x].minmax y_min, y_max = [corner1.y, corner2.y].minmax [x_min, x_max, y_min, y_max] end end # intentionally naive for argless methods module Memoize def memoize(name) original = instance_method(name) ivar_name = "@#{name}" define_method(name) do if instance_variable_defined?(ivar_name) instance_variable_get(ivar_name) else instance_variable_set(ivar_name, original.bind(self).call) end end end end

# Advent of code - Day 9
class MovieTheater
  extend Memoize

  attr_reader :corners

  def initialize(filename)
    @corners = File.readlines(filename).map do |line|
      x, y = line.strip.split(',').map(&:to_i)
      Point[x, y]
    end
  end

  def solution(advanced: false) = advanced ? max_inscribed_rectangle : largest_area

  # Part 1
  def largest_area = all_rectangles.map(&:area).max

  # Part 2
  def max_inscribed_rectangle = sorted_rectangles.rfind { inscribed?(it) }&.area || 0

  private

  memoize def all_rectangles = corners.combination(2).map { |pair| Rectangle[*pair] }

  # Part 2
  def sorted_rectangles = all_rectangles.sort_by(&:area)

  def inscribed?(rect)
    x_min, x_max, y_min, y_max = rect.xy_bounds
    !intersects_rows?(x_min, x_max, y_min, y_max) && !intersects_cols?(x_min, x_max, y_min, y_max)
  end

  def intersects_cols?(x_min, x_max, y_min, y_max)
    col_spans.any? do |x, (c_min, c_max)|
      next false unless x > x_min && x < x_max

      c_max > y_min && c_min < y_max
    end
  end

  def intersects_rows?(x_min, x_max, y_min, y_max)
    row_spans.any? do |y, (r_min, r_max)|
      next false unless y > y_min && y < y_max

      r_max > x_min && r_min < x_max
    end
  end

  memoize def row_spans = corners.group_by(&:y).transform_values { |cs| cs.map(&:x).minmax }
  memoize def col_spans = corners.group_by(&:x).transform_values { |cs| cs.map(&:y).minmax }
end

# Advent of code - Day 9 class MovieTheater extend Memoize attr_reader :corners def initialize(filename) @corners = File.readlines(filename).map do |line| x, y = line.strip.split(',').map(&:to_i) Point[x, y] end end def solution(advanced: false) = advanced ? max_inscribed_rectangle : largest_area # Part 1 def largest_area = all_rectangles.map(&:area).max # Part 2 def max_inscribed_rectangle = sorted_rectangles.rfind { inscribed?(it) }&.area || 0 private memoize def all_rectangles = corners.combination(2).map { |pair| Rectangle[*pair] } # Part 2 def sorted_rectangles = all_rectangles.sort_by(&:area) def inscribed?(rect) x_min, x_max, y_min, y_max = rect.xy_bounds !intersects_rows?(x_min, x_max, y_min, y_max) && !intersects_cols?(x_min, x_max, y_min, y_max) end def intersects_cols?(x_min, x_max, y_min, y_max) col_spans.any? do |x, (c_min, c_max)| next false unless x > x_min && x < x_max c_max > y_min && c_min < y_max end end def intersects_rows?(x_min, x_max, y_min, y_max) row_spans.any? do |y, (r_min, r_max)| next false unless y > y_min && y < y_max r_max > x_min && r_min < x_max end end memoize def row_spans = corners.group_by(&:y).transform_values { |cs| cs.map(&:x).minmax } memoize def col_spans = corners.group_by(&:x).transform_values { |cs| cs.map(&:y).minmax } end

I started refactoring #adventOfCode Day 9 in #ruby and in this case I opted for extracting auxiliary modules (Memoize) and classes (Point and Rectangle).
Unusual for AoC but satisfactory.

0 0 0 0