Interesting, thanks! Is drinking a film of it okay? I assumed not, but I am immunocompromised, so I'm happy to play it safe.
Don't drink it though, the our drier tub likes to grow pink ~~mold~~ bacteria.
Edit: fixed inaccuracies.
Thats true of all datacenters though, not just AI. 1RU fans are just crazy noisy.
Rust
Its not Christmas, but this one was a gift :D. Merry Christmas all, thanks for everyone who has contributed solutions!
Rest easy little advent bot, your work is done now.
spoiler
struct Tree {
w: u32,
h: u32,
presents: Vec<u32>,
}
fn is_solveable(tree: &Tree) -> bool {
if tree.h * tree.w < tree.presents.iter().sum::<u32>() * 9 {
return false;
}
true
}
#[test]
fn test_y2025_day12_part1() {
let input = include_str!("../../input/2025/day_12.txt");
let parts = input.split("\n\n").collect::<Vec<_>>();
let trees: Vec<Tree> = parts
.last()
.unwrap()
.lines()
.map(|line| {
let parts: (&str, &str) = line.split_once(": ").unwrap();
let [w, h] = parts
.0
.split("x")
.map(u32::from_str)
.map(Result::unwrap)
.collect::<Vec<_>>()[..]
else {
unreachable!()
};
let num_presents = parts
.1
.split(" ")
.map(u32::from_str)
.map(Result::unwrap)
.collect::<Vec<_>>();
Tree {
w,
h,
presents: num_presents,
}
})
.collect();
let mut solvable = 0;
for tree in trees {
if is_solveable(&tree) {
solvable += 1;
}
}
println!("solvable: {}", solvable);
}
spoiler
I had an feeling it would be trivial, but didnt think it would be that trivial. I got the answer without even parsing the shapes, just called them all 9.
I bet heated seats cost more in terms of power usage. Pointless worrying about the computer...
WSL (at least WSL2) is Linux in a VM, so it is real Linux.
There are no ads, no corporate content
I wish that were true, but if you haven't seen any, thank your moderators.
Well, this feels dirty, but good work reddit.
I was leaning on chatgpt for z3 rust code, and it was terrible. It kept generating code for an old version of the library, but I had no idea which one. Tried to correct it and it starts hallucinating library "features".
Really need better docs for z3 rust.
I find it helpful to use a library to get the solution, and then work backwards to replace the library. I got rid of geo and got mine down to milliseconds.
Its not a race, its a journey! Keep it up!