irun@gentoo:~

My Crafts and Projects

Last Updated:

Programming and computers

For a long time now, I have been dabbling mainly in unix/systems programming, algorithm implementation and profiling/optimalization. Most of my projects are unfortunately outdated, abandoned, or unfinished, so I will not be putting them here, but I hope that in time this place will not be as empty as it is now.

When I was in high school, I loved robotics, that is how I got into linux (through Jetson nano, Raspberry Pi…). Unfortunately, I do not possess any software that I wrote from that era, simply because I haven’t discovered git until later in my high school years. But Fusion 360 was even then cloud-based, so if anybody is interested in some of my old robots that I have planned and built, let me know :)

My git hosts

  • My personal Codeberg: https://codeberg.org/ragana

    • This is my main host for all my works, if I made it, you can find it there.
  • My personal SourceHut: https://git.sr.ht/~irungentoo/

    • Great service and design, but the email based workflow unfortunately does not suit most of my co-contributors

<2025-12-28 Sun>

Me and Unix

Through out the years, I have tried Ubuntu, Fedora Workstation, Fedora Sway Atomic, Debian but always came back to arch. In the year 2023, I was introduced to nix, and I fell in love with it.

After some time I realised that systemd for desktop usecase is pretty useless and truly only bloats my system up astronomically. So after considering going back to gentoo I decided to try void, and was pleseantly suprised by the distro. It is a great mix of BSD and linux that is almost bloatfree and works like a charm. And experiencing the allmighty runnit killed systemd for me, atleast on desktop.

But even while void supports musl, I am still a little sad that they dropped the support for libressl, so in the future when I get bored again I will propably switch to using gentoo again, but forking void and maintaining my own fork also tempts my mind.

Nix is still a great package manager tho, and I am still using it for almost all packages, even when I am on other distros.

<2024-12-19 Thu>

As was prophesized by the great sages of the past, I returned to gentoo, my first love. Although I am only compiling from source what I deem beneficial to do so, for my other package needs I still happily use nix.

I will be posting my kernel config, USE flags later. I am still playing with the settings, mainly I want to again try out different custom schedulers, last time I was using/compiling custom kernels, I remember using and liking BORE.

<2025-03-21 Fri>

My addiction for ThinkPads and old hardware

I love ThinkPads, my good friend, and I have around 50 of them combined (although my share is only a fraction of that number).

For education or some practical purposes, they can be and are very useful (example: Kubernetes, Distributed computing). I simply enjoy building cool stuff from utter garbage.

My personal Thinkpad collection that I use somewhat regularly:

Thinkpad Model OS  
x230 gentoo My emotional support machine, it is fully modded, 1vyrained, corebooted, cute, small, and compact, with a nitrocaster modded killer macbook display. Running gentoo with my custom compiled kernel with the BORE scheduler
t480 void Serves me more like a desktop. With the docking station it is almost perfect
t420 gentoo It was my main workstation for quite some time. I really like that keyboard
IBM R60e openBSD This one serves more as a collectible, but i still love it and use it to have occasional fun with openBSD
ThinkPad 700   Antique at this point, but very pretty to look at. Tried booting 9front from a floppy disk, it truly was one of those once in a lifetime experiences

<2025-03-21 Fri>

My current setup on my main workstation

All of my configuration files (if they exist) are accessible through my sourcehut.

Subject Object My configuration files
Primary linux distro of choice gentoo  
Mobile OS of choice Lineage  
Wayland compositor river ,config/river/
Shell fish .config/fish/
Terminal Emulator foot .config/foot/
App-lanucher wmenu .config/river/init
Status bar creek .config/river/init
Primary code/text editor emacs .emacs
Notes Emacs org-mode & org-agenda .emacs
Calendar Emacs calendar .emacs
File manager Ranger & Emacs dired .emacs

<2025-12-29 Mon>

Services that I use and can recommend

Hosting provider: https://openbsd.amsterdam/

  • Great communication
  • Simplistic no-bullshit design
  • Generous pricing where with every booked VM you even help a little to give back to the community by donating a fraction to the OpenBSD Foundation
  • I like OpenBSD and puffy

VPN provider: https://mullvad.net/en

  • Open source
  • I can confidently call them the most trustworthy and one of the few “true” VPN’s on the market
  • Very straightforward usage
  • 10% discount if you pay in crypto

Mail provider: https://www.proton.me/

  • Open source
  • To my knowledge aside from self-hosting you cannot do much better than proton. But please keep in mind that even being Swiss and out of the 14-eyes does not save you from Europol
  • I found them to be the most reliable in terms of mail delivery
  • I like the configurability
  • Privacy focused
  • Proton Bridge is awesome

<2025-12-28 Sun>


My projects

In this section you will find a list of my projects that I deemed somewhat finished enough to share with you.

Every project sub-page (if in existence) includes a project overview with a description, installation guide and the corresponding user, developer documentation, the code will still be hosted outside of this website on my external git hosts, although im looking into cgit, and future possible self-hosting.

Project sub-page Source code Description
cspforge codeberg:cspforge Mathematical library offering general-purpose tools for the manipulation and analysis of relational structures, with emphasis on the constraint satisfaction problem (CSP).
flow codeberg:flow Minimalistic (trying to be) bloatfree unix shell. It embeds a lightweight Lisp-inspired interpreter that combines familiar POSIX command execution with the power of S-expressions for scripting.
orikata codeberg:orikata Lambda calculus interpreter that lets you evaluate expressions one step at a time with ANSI color coding
libcgraph codeberg:libcgraph A C combinatorial algorithms library designed for work related to graphs. It aims to provide an optimized and fast API to manage graph-related data structures and for the use of graph related algorithms.
fscomparison codeberg:fscomparison Statistical analysis done between ext4, brtfs, zfs, xfs filesystems for performance based metrics

<2025-12-28 Sun>

Other programs & scripts

This section will include programs & scripts that are somewhat finished and in working condition, but due to their small scale & nature, I wouldn’t go as far as to classify them as projects. In short, if it took me less than a day to finish, I likely dont consider it to be a full on project.

Program & script sub-page Source code Description
Monochromatic SAT codeberg:monochromaticsat Simple python script that encodes the NP-complete monochromatic triangle graph problem into DIMACS CNF and by leveraging the Glucose SAT solver solves / decodes the instance if it is satisfiable
DistroboxSelector codeberg:distroboxselector Little perl script that i wrote as a wrapper to execute upon terminal launch and automate distrobox container entering.
Justifier codeberg:simpletextjustifier Dotnet cli utility for multiple text file justification written in csharp that i wrote as a solution to a school assignment. It will be rewritten to rust in the future in order to make it actualy good and portable
Huffman codeberg:simplehuffmantrees Dotnet cli utility for huffman compression & decompression written in csharp that i wrote as a solution to a school assignment. It will be rewritten to rust in the future in order to make it actualy good and portable

<2025-12-28 Sun>

Legacy & other garbage that I made

For things that I am not particularly proud of but that still serve a purpose, such as learning projects for new languages.

Program & script sub-page Source code Description
antcolonyvisualization codeberg:antcolonyvisualization My first Rust learning project that I made, a simple implementation and visualization of an ant colony genetic algorithm. A little warning beforehand: as expected there are many bugs present, and the code is outdated and a poorly written garbage composed by my younger self

<2025-12-28 Sun>