Using “AI” to manage your #Fedora system seems like a really bad idea
https://www.osnews.com/story/144006/using-ai-to-manage-your-fedora-system-seems-like-a-really-bad-idea/
🤣
| Codeberg | https://codeberg.org/janAkali |
| Itch.io | https://janAkali.itch.io |
| TIC-80 | https://tic80.com/dev?id=6856 |
| Fantasy Console Discord | https://discord.gg/jcT9CXDgHB |
Using “AI” to manage your #Fedora system seems like a really bad idea
https://www.osnews.com/story/144006/using-ai-to-manage-your-fedora-system-seems-like-a-really-bad-idea/
🤣
My definition of a Christmas spirit:
writing a mod manager for #Skyrim ...
on a #NintendoSwitch ...
in #Nim
Got an okay looking visualization for part 2!
Advent of Code 2025 - Day 08
Okay, this one was tough.
Tried a dozen data structures before settling on circuit IDs + HashTable.
Accidentally mutated object fields while using them as hash table keys.
Still have no idea why the puzzle counts already-connected junction boxes, had to look it up on reddit.
Time to solve:
Part 1: almost 2 hours
Part 2: 4 minutes
Runtime: 364 ms.
Full solution at Codeberg: https://codeberg.org/janAkali/aoc25-nim/src/branch/master/day_08/solution.nim
Day 7 of #AdventOfCode still wasn't the expected nigh impossible puzzle, but it allowed for another nice visualisation. :)
Part 2 did require some thinking. As in "Yes, I understand the instructions, but how does that lead to the given result??" Once I had figured that out, it only required a few small adjustments to part1 (and some trial and error).
(More by luck than judgement, the brute force solution didn't even occur to me until I was almost done. It would have been easy enough to implement and would have allowed for another nice visualisation. Instead I got the same visualisation for both parts. 🤷)
One very pleasant aspect of C++ is how easy it is to refactor code. For part 2 I needed to count, so I used a vector of long long (just in case) instead of a string. With a single exception, the only places that needed adjustment were exactly those where the algorithm changed, so I didn't need to keep track of what I needed to update because the compiler did.
AoC 2025 - 07 bonus #2
I'm blind, because I don't know how I didn't see this 50 minutes ago, but here's even smaller version that runs even faster. 13% faster (95 µs -> 86 µs)
AoC 2025 - 07 bonus
I've figured out a faster version of algorithm, that doesn't need a second array to add up splitted particles.
It results in a whopping 22% performance increase! (116 µs -> 95 µs)
Advent of Code 2025 - Day 07
Another simple one today.
The trick here is to keep count of how many particles are in each column, instead of tracking each beam/particle. Even a simple 1d array is enough.
Runtime: 116 μs
Full solutions at Codeberg: https://codeberg.org/janAkali/aoc25-nim/src/branch/master/day_07/solution.nim
Advent of Code 2025 - Day 06
I literally looked at part 2 for minutes trying to understand where the numbers come from and how they're related to the example input. I love #AdventOfReadingComprehension
The next roadblock was the trailing whitespace, that I hate and remove from all my code with Neovim plugin. Here removing it was creating subtle bugs and took me time to find out what was the problem.
Full solution at Codeberg: https://codeberg.org/janAkali/aoc25-nim/src/branch/master/day_06/solution.nim