Skip to content

Software

Open-source Linux games, tools and coding agents

Seven free projects I have built, mostly small Linux-native C++: two games, an artificial-life rat, two coding-agent harnesses, a local finance assistant and a disk-cleanup app. Each has its own page with requirements, how to run it and how it works; the code lives on GitHub, so you can clone it, read it and run it locally.

One Hour in play: a Cyber Army Command Core and Fabricator on a fogged map with the build panel below.

Game · RTS

One Hour

A compact skirmish real-time strategy game in the spirit of Command & Conquer: Generals – Zero Hour. One map, two armies (Cyber and Clanker), you against one to three AI opponents. No campaign, no multiplayer.

  • C++
  • Linux
  • g++ and make
  • SDL2 runtime (libsdl2-2.0-0); SDL2 headers are vendored

Clone the repository, then run ./run.sh.

Mini Space Shooter title screen: pixel-art logo, menu with Start Run, Leaderboard, Medal Wall, Controls and Quit.

Game · arcade

Mini Space Shooter

A pixel-art space shooter written in C11 and C++17 with endless levels. Fixed-capacity pools and its own online learners adapt enemy movement and tactics to how you fly, with hard limits on raw difficulty.

  • C / C++
  • MIT licence
  • Linux (Wayland and X11)
  • build-essential, libx11-dev, libxext-dev
  • Optional: SDL2 runtime for native Wayland

Clone the repository, then run ./run.sh.

Self Improving Rat: the rat and a cheese wedge in a maze, with the learning panel and a worked probability formula underneath.

Artificial life · ML

Self Improving Rat

A persistent artificial-life rat in a procedurally generated maze: a recurrent reinforcement-learning agent with homeostasis, curiosity and episodic memory that saves its whole state between runs. No GPU, no ML framework, no network.

  • C++20
  • Linux (tested on Ubuntu 26.04)
  • cmake 3.16+, g++ and make or ninja
  • libsdl2-dev (the test suite needs no SDL)

Clone the repository, then run ./run.sh.

The PocketHarness mascot, a pocket-sized toolbox robot, above the loop terminal, agent loop, model, tool, Linux, result.

Developer tool · coding agent

PocketHarness

A deliberately tiny, Linux-native coding-agent harness in a single C++ binary: a chat TUI, slash commands and autonomous goals, with no SDKs, plugins or MCP layer. Linux does the general-purpose work.

  • C++20
  • MIT licence
  • Linux x86_64
  • g++ (C++20), make and curl
  • Optional: Chrome, FFmpeg, llama.cpp for screenshots, video and the local judge

Source and a tagged release are on GitHub; the README has the install steps.

YunusPi project intelligence viewer: a dependency graph around a Checkout component with filters and evidence panels.

Developer tool · coding agent

YunusPi

An independently maintained coding agent harness with its own core (historically derived from Pi 0.85.1): persistent project memory, bounded subagents, an advisory layer and safety hooks. You bring the model provider.

  • JavaScript
  • MIT licence
  • Linux
  • Windows via WSL2 Ubuntu
  • macOS via an Ubuntu VM
  • Node.js 22.19+ and npm
  • git, curl, bash, ripgrep, python3, build-essential, bubblewrap

Source and a tagged release are on GitHub; the README has the install steps.

Finny desktop window: a chat comparing the policy rate in the US and China with a small bar chart and source line.

Desktop app · finance

Finny

A local-first personal finance assistant with a native desktop window. It answers rates, inflation, FX and calculator questions with a Naive-Bayes classifier and fuzzy matching, not a language model, and cites public sources.

  • Rust
  • Linux (Ubuntu)
  • Rust stable toolchain (run.sh can install it via rustup)
  • X11 or Wayland client libraries

Clone the repository, then run ./run.sh.

Dataclean Duplicates view: groups of identical files such as holiday.mp4 and panorama.jpg, each listing its copies with one marked as staying.

Desktop app · disk cleanup

Dataclean

A small GTK 4 app that shows where your disk space goes and finds byte-identical duplicates and forgotten leftovers. Nothing is deleted: files go to the Trash after a confirmation, with checks right before each move and an undo.

  • C
  • MIT licence
  • Linux (GTK 4)
  • gcc and make tools (build-essential)
  • GTK 4 runtime; run.sh fetches the dev headers locally if missing

Clone the repository, then run ./run.sh.