janAkali

@archargelod
6 Followers
17 Following
72 Posts
I make tiny games for fantasy consoles.
Linux, Android, FOSS enthusiast
Codeberghttps://codeberg.org/janAkali
Itch.iohttps://janAkali.itch.io
TIC-80https://tic80.com/dev?id=6856
Fantasy Console Discordhttps://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/

🤣

It's a useless #bubble for most applications of #AI!

#Linux

Using “AI” to manage your Fedora system seems like a really bad idea – OSnews

My definition of a Christmas spirit:
writing a mod manager for #Skyrim ...
on a #NintendoSwitch ...
in #Nim

#NintendoSwitchHacking #hacking #modding #mods #NimLang

🐧#linux > 🪟#windows & 🍎#mac

Got an okay looking visualization for part 2!

#adventOfCode

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

#adventofcode #adventofnim #nim #nimlang

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)

#adventofcode #adventofnim #nim #nimlang

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)

#adventofcode #adventofnim #nim #nimlang

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

#adventofcode #adventofnim #nim #nimlang

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

#adventofcode #adventofnim #nim #nimlang