@kiwu@twtxt.net evening!!!
morning!!
@prologic@twtxt.net How on earth did you do that so quickly, especially day 10? People were struggling with this a lot. 🤯
@movq@www.uninformativ.de Haha 😆
@prologic@twtxt.net Jesus, that was quick. 😅
I cleaned up all my of AoC (Advent of Code) 2025 solutions, refactored many of the utilities I had to write as reusable libraries, re-tested Day 1 (but nothing else). here it is if you’re curious! This is written in mu, my own language I built as a self-hosted minimal compiler/vm with very few types and builtins.
I finished all 12 days of Advent of Code 2025! #AdventOfCode https://adventofcode.com — did it in my own language, mu (Go/Python-ish, dynamic, int/bool/string, no floats/bitwise). Found a VM bug, fixed it, and the self-hosted mu compiler/VM (written in mu, host in Go) carried me through. 🥳
@movq@www.uninformativ.de I shrank Day 9 Part 2 from “cover the whole map” to “only track the interesting lines.” By compressing coordinates to just the unique x/y breakpoints, the grid got tiny. I still flood-fill and do the corner-pair checks, but now on that compact grid with weighted prefix sums for instant rectangle checks. Result: far less RAM, way less CPU, same correct answer.
@prologic@twtxt.net How did you optimize that? 🤔
Day 9 also required some optimizations, if you aren’t careful, you end up with really inefficient algorithms with time/memory complexity beyond what a typical machine has 🤣
Ooops, I’ve run into a bug or limitation with mu for Day 9 🤔
Day 7 was pretty tough, I initially ended up implementing an exponential in both time and memory solution that I killed because it was eating all the resources on my Mac Studio, and this poor little machine only has 32GB of memory (I stopped it at 118GB of memory, swapping badly!), This is what I ended up doing before/after:
- Before: Time O(2^k · L), memory O(2^k), where k is the number of splitters along a reachable path and L is path length. Exponential in k.
- After: Time O(R·C) (or O(R·C + s) with s split events), memory O©, where R = rows, C = columns. Polynomial/linear in grid size.
I just completed “Printing Department” - Day 4 - Advent of Code 2025 #AdventOfCode https://adventofcode.com/2025/day/4 – Again, I’m doing this in mu, a Go(ish) / Python(ish) dynamic langugage that I had to design and build first which has very few builtins and only a handful of types (ints, no flots). 🤣
I just completed “Lobby” - Day 3 - Advent of Code 2025 #AdventOfCode https://adventofcode.com/2025/day/3 – Again, I’m doing this in mu, a Go(ish) / Python(ish) dynamic langugage that I had to design and build first which has very few builtins and only a handful of types (ints, no flots). 🤣
@shinyoukai@neko.laidback.moe Funny you should say that, I designed a new Prolog(ish) Symbolic Reasoning Engine and DSl over the holidays 🤣
what would be funny is @prologic@twtxt.net writing things with his namesake (Prolog)
That’s some cool science in @xuu@txt.sour.is’s backyard: https://youtu.be/bzBcs0jv9G4
H… Ho… How have I not heard about vim-tagbar before? 😳
mu only supports ints? 🤔 I'm not sure if I'll need flots for this year's AoC? 🤔
Let’s see 😂
Bought more cheap slot plates (with bad reviews and people complaining about the pin order, because I could’nt find a product without such reviews), but those are simply correct now and just work. 🤪
mu only supports ints? 🤔 I'm not sure if I'll need flots for this year's AoC? 🤔
(Well, one part late in the calendar might need floats, depending on how you solve it …)
mu only supports ints? 🤔 I'm not sure if I'll need flots for this year's AoC? 🤔
@prologic@twtxt.net You won’t need floats, but 64 bit integers are mandatory. 😅
Did I mention mu only supports ints? 🤔 I’m not sure if I’ll need flots for this year’s AoC? 🤔
I’m having to write my own functions like this in mu just to solve AoC puzzles :D
fn pow10(k) {
p := 1
i := 0
while i < k {
p = p * 10
i = i + 1
}
return p
}
I just completed “Gift Shop” - Day 2 - Advent of Code 2025 #AdventOfCode https://adventofcode.com/2025/day/2 – But again, I’m solving this in my own language mu that I had to build first 🤣
@prologic@twtxt.net Whoop, whoop! Nice! And welcome back. 😅
I’m seeing crashes in the 3D subsystem. (Gallium? Glamor? Whatever other Mesa thing they have? No idea.) In the logs I find this:
malloc(): unaligned tcache chunk detected
And that’s why I still care about Rust and want to learn more about it, even though it’s giving me so much headache and I’ve given up so many times. Because Rust currently seems to be the only popular systems programming language that tries to eliminate these error classes.
And of course “the Rust experiment” in the Linux kernel has recently been concluded as “successful”, so that alone is reason enough for me:
I just completed “Secret Entrance” - Day 1 - Advent of Code 2025 #AdventOfCode https://adventofcode.com/2025/day/1 — However I did it in my own toy programming language called mu, which I had to build first 🤣
That’s the right answer! You are one gold star closer to decorating the North Pole. [Continue to Part Two]
Whoo! Making progress! With AoC 2025 solutions implemented in my own toy language 🤣
Ahh that’s because I forgot to call main() at the end of the source file. mu is a bit of a dynamic programming language, mix of Go(ish) and Python(ish).
$ ./bin/mu examples/aoc2025/day1.mu
Execution failed: undefined variable readline
Come back from my trip, run my AoC 2025 Day 1 solution in my own language (mu) and find it didn’t run correctly 🤣 Ooops!
$ ./bin/mu examples/aoc2025/day1.mu
closure[0x140001544e0]
And I’m back from my holidays! 🥳 Back to work boo 😒
Alright, Advent of Code is over:
https://www.uninformativ.de/blog/postings/2025-12-12/0/POSTING-en.html
It’s been quite the time sink, especially with the DOS games on top, but it was fun. 🥳
In case you’re wondering: All puzzles (except for part 2 of day 10) were doable in Python 1 on SuSE Linux 6.4 and ran in a finite time on the Pentium 133. Puzzle 10/2 might have been doable as well if I had better education. 🤣
Right at sunset we went for a quick stroll into the woods. Cannot complain about the colors in the sky: https://lyse.isobeef.org/abendhimmel-2025-12-12/
@shinyoukai@neko.laidback.moe Time to become a trixie or forky!
@aelaraji@aelaraji.com Yes, exactly. It also blows my mind that with sooo much less budget and equipment, her videos are way superior to productions of big TV stations.
@shinyoukai@neko.laidback.moe is that https://github.com/owncloud/ocis (Go based, instead of PHP 🤮)?
Awk to take lines from Plan 9’s /lib/unicode and prepend the actual glyph and a tab: awk ‘{cmd=sprintf(“unicode %s”, $1); cmd | getline c; printf(“%s %s\n”, c, $0)}’
Once a bookworm, always a bookworm.
@lyse@lyse.isobeef.org I swear, Her vlog is all I needed to cleanse my soul! Full of pure human interactions (whenever there is any), No BS No pretending and No Nonsense. Again, Thank you!
@aelaraji@aelaraji.com Anytime! Glad you like it, too. :-)
@lyse@lyse.isobeef.org It was too late when I read the “Addictive” warning… 😆 Thanks for sharing this!
@bender@twtxt.net agreed
@aelaraji@aelaraji.com probably a bug on my end with the bridge. I’ll figure it out with your help when I get home from my holidays.
@shinyoukai@neko.laidback.moe it was a mess, we are better without it. Until a new mobile client comes (not holding my breath), Yarn is very usable on the mobile, just using the browser.
Man, I have no idea where the last build of the Yarn android client went to (even though it wasn’t all that good when I first used it, but it was relatively useful otherwise)
Waiting for @prologic@twtxt.net to make it back from his luxurious vacation, to engage on Australia’s teen-under-16 social media banning technical, parental, and philosophical discourse.