Table of Contents
- 1.My Programming Languages
- 1.1.utxt
- 1.2.ulang
- 1.3.concs lang
- 2.Software & Small Utilities
- 2.1.oi -- Odin Index
- 2.2.mkheaders
- 2.3.Clip Editor V5
- 2.4.bcalc
- 2.5.UML (Activity Diagram) Generator
- 2.6.A Color Picker
- 3.Experimental Software
- 3.1.s -- symbols
- 3.2.Wallpaper TODO 2
- 3.3.copypasta
- 3.4.hourglass
- 3.5.z
- 4.Libraries
- 4.1.utoml
- 4.2.frigg
- 4.3.TOML parser
- 4.4.HTML parser
- 4.5.Date parser
- 5.Games
- 5.1.Fireworks
- 5.2.Tetris
- 5.3.Sudoku
- 5.4.star
- 5.5.Particle Renderer Plugin
- 5.6.Boat Running Minigame
- 5.7.Zombies
- 5.8.Prediction Game
- 6.Markup
- 6.1.Error System Design
- 6.2.Math Notes
- 7.Miscellaneous
- 7.1.Blog page (old)
- 7.2.Skribble QoL
- 7.3.Github Page
- 7.4.Dead Simple Startpage
1. My Programming Languages
1.1. utxt
codeberg
The static site generator used to make this website. It uses a custom language with minimal TeX-like syntax.
Only \, {, } and ``` are used,
which, unlike Markdown, works seamlessly when writing text in Lithuanian.
Apart from that, I can do whatever the hell I want, my build system is a go server and ls *.utxt | entr utxt, etc.
Plus, it has Typst's symbols, so I can λy.(λx.y(x x)) (λx.y(x x)) and not even be Greek!
1.2. ulang
codeberg
An old interpreter I wrote for my own relatively simple recreational programming language in Java. I wrote my 3D demo with OpenGL1 1 Technically, LWJGL -- LightWeight Java Game Library, which has Java bindings for OpenGL, Vulkan as well as many other native graphics and audio APIs. , so it could certainly be a usable programming language, if it had a more proper foreign function interface. Ulang also has an integrated AST viewer, that receives UDP packets (it's a local network, okay!)
1.3. concs lang
codeberg
I believe, this is my first ever programming language. It is a bit esoteric.
I made the language, because someone on the internet said they despised C++'s semicolons and I have always loved backslashes.
It has only 2 meaningful characters: the \ and ; (which is even 2.5 times less than what I am writing this website in!)
I provided an example usage of the language, but I don't know what it does anymore:
\;\;;;;\;\;;;\;;;;;;;\;;\;\;;;\;\;;;;;\;;\;\;;\;\;;\;\;;\;;\\;;\2. Software & Small Utilities
2.1. oi -- Odin Index
codeberg
A viewer for the documentation of the Odin programming language. With a custom syntax highlighter, document format wrapper, ui "library" and much more. This is one of my biggest projects and it is still far from finished.
2.2. mkheaders
codeberg
A .h file generator for the C programming language. It "parses" C files, gets all function declarations.
Then formats them and prints them to a __function_index.h file.
It has been useful in some projects with the structure looking like:
*.c, index.h, __function_index.h
2.3. Clip Editor V5
codeberg
The fifth iteration of my specialized video editing software. Back when I used Windows and NVIDIA ShadowPlay, I collected a couple thousand clips from Team Fortress 2, Counter-Strike and Minecraft, so existing software was way too slow to actually get through all those clips in a reasonable amount of time. It's just a shame that displaying video is so impossible in C/Odin...
2.4. bcalc
codeberg
Fast and simple algebraic boolean calculator with our notation I made when we were learning discrete mathematics. It parses the user input (obviously) with a basic Pratt parser, visualizes whether the function is monotonic, calculates all of its possible results and its complement (or whatever is the translation of „dualioji funkcija“)
2.5. UML (Activity Diagram) Generator
codeberg
We -- my dumb ass -- needed to make and iterate upon 20+ UML activity diagrams for the final project of a subject at our college, so...
I made a tool that takes in text (in a custom format, obviously) and draws a relatively good diagram, this is MUCH faster than, e.g.: draw.io or Visual Paradigm,
However, I did later find there are many such projects and I will probably try one out in Typst.
Ką tik pastebėjau, čia yra sena versija, kai dar nebuvo baseinų ir numeravimo...
2.6. A Color Picker
codeberg
A tiny project I made while working on the documentation viewer for utxt. It is an infinite (zoomable!) plane where an amount of images may be drag'n'dropped and, when a pixel is clicked, it's color's hex code is copied to the clipboard.
3. Experimental Software
3.1. s -- symbols
codeberg
A graphical persistent clipboard for various emoticons/quotes/symbols I found. The background is rendered with shaders and is, basically, just an infinite plane. I (at the time of writing, literally just now) added nanovg to support more unicode characters than base Raylib allows.
3.2. Wallpaper TODO 2
codeberg
A VERY old project for Windows, written in Java and a bit of C++, that lets you put text, like notes or TODOs, on your wallpaper. I used it right up until I switched to Linux... It lets you have several profiles with different wallpaper images or (as shown in demo, plain colors). It has some basic formatted text (that may also be specified by the user) and a few more features.
3.3. copypasta
codeberg
A persistent clipboard project like s, but made with C and ncurses (i.e. a TUI). I like that accessing files is just: 1) press capital letter for category, 2) 1 number and 3) 1 letter, but at some point a while back it broke and I just never fixed it, I have had a lot of trouble making emoticon/quote/symbol manager that feels good to use.
3.4. hourglass
codeberg
We had a chance to use any tools we wanted for the final* project of college's computer graphics course, so I decided to use Raylib & shaders (since I was really into learning 3D rendering at that time (and I still am ◞‸◟)).
4. Libraries
4.1. utoml
codeberg
A parser for my TOML-like (simplified) configuration format. It is round-trippable, meaning that it can also write changes to file. It also tries to keep the original formatting, e.g.: it can format numbers in the base and notation given by the user, it can keep the same indentation and comma placement when adding new items to a table
4.2. frigg
codeberg
A memory explorer library for the Odin programming language that formats and displays all data structures linked to
a value that was passed to frigg.watch procedure. It gives an explorable view on the left/top half and,
if there is space, a big-value, binary and other representations of the value on the right/bottom panel.
4.3. TOML parser
codeberg
This is my most used project by far. It is a spec-compliant TOML parser library for the Odin programming language. I created it a while back and by now am relatively close to releasing utoml (another TOML parser for Odin, although not a replacement per se)...
4.4. HTML parser
codeberg
In the words of me when I finished it: "A loosey-goosey HTML parser for the Odin programming language," there is not much more to it. It isn't just an XML parser (it knows self-closing, void & block element types, has element search helper functions and more.)
4.5. Date parser
codeberg
An RFC3339 date parser for the Odin programming language. I learned this also exists in the standard library, but I think, my library is a bit better! Plus, it has extra functionality. I have used this library in both my TOML parsers. It just works.
5. Games
5.1. Fireworks
codeberg
A 2D game I made in 2025 with C and Raylib. You -- a pyrotechnic -- need to defend your kingdom by flicking cannonballs out of the air with rockets (fireworks). It's inspired by Team Fortress 2 and other similar games. But I don't carry a mouse with my laptop.
5.2. Tetris
codeberg
My old Tetris clone I wrote with C & Raylib, I couldn't find any other Tetris clones I liked on Linux, so I made my own, then very recently added some particle effects and made the losing animation nicer. There are no points, since I don't really want them.
5.3. Sudoku
codeberg
A sudoku (maybe, I'm still unsure whether I know how to play the game or not) clone I made not long ago over a morning and 2 lectures (economics lectures!!!)... I'm not sure whether the colors really help, but I suck at sudoku so much, I don't mind it...
5.4. star
A video game I was in the middle of making where you were meant to run away from an enemy, find resources and see more map by, either, going places or lighting up lanterns. I remember, enemies had a nice multithreaded A* pathing algorithm, not much else...
5.5. Particle Renderer Plugin
A while back me and a couple friends of mine were creating various plugins for an MMORPG Minecraft server And there with Kotlin and Spigot/PaperMC (if I'm not mistaken) I wrote a plugin that can display 3D shapes like, cubes, lines, spirals, uniform/non-uniform spheres with various particles, gradients and using various easings
I later also made a: multithreaded map editor plugin -- a way to import image files into the game. I worked on a dungeon room system, although never finished it. Made our inventory menu (i.e. UI menu) library and a couple more things. We all worked on many different components there that are hard to describe succinctly.
5.6. Boat Running Minigame
codeberg
At that time I also made a simple, but fun, boat running minigame with both in-game command blocks and Spigot and Java where the boats are moving forward and the player cannot touch water until the end.
5.7. Zombies
codeberg
This was my largest project for at least a few years of my life. It is a custom server-side minigame for Minecraft written with Java and Spigot. There are various enemies that come in configurable waves, a ton of configurable custom weapons, support for many levels, another custom map loader, configurable scoreboard, lobbies, area effects and a bunch more other systems and easter eggs... Although, I have lost the configuration files for the version of source code I have, while I tried to replicate the configs for this demo... It barely works...
5.8. Prediction Game
codeberg
An old JavaScript game I made where the player has to mouseover the real ships, instead of their ghosts, until 50 ships appear on screen. I am not sure if I have ever won it... And... I am missing some of the files to that game... as well...
6. Markup
6.1. Error System Design
codeberg
After making a nice little 300 line mess of an error system for my new TOML parser I decided to, once and for all, make myself a proper error system architecture. Nowadays it needs small updating/additions I need to port over from other projects, but I still love it! Although, it is in large part intended for parsers and programs, Easy errors in your libraries is just... impossible... I guess...
6.2. Math Notes
codeberg
Since 11th grade, I have been writing "cheatsheets"/summaries for math topics in LaTeX and later Typst. It has been an absolute blast learning the subject this way and, I'm pretty sure, very effective too, since I cannot really afford to have gaps in my understanding to make a much shorter version of the material.
7. Miscellaneous
7.1. Blog page (old)
codeberg
My ancient blog page website, that, I think, I never finished, however it is made quite similarly to this website, except I have a node.js server
and nowadays I would consider that a security vulnerability. Especially when there is: $ python -m http.server 1234 and Golang.
7.2. Skribble QoL
My first (and only public) Firefox Addon. It adds various small quality-of-life features to the game skribbl.io, like downloading the canvas and muting players (back when I used to play it, there was, to my knowledge, no chat moderation, so some people were very annoying.
7.3. Github Page
codeberg
My old (still up) project listing page, modelled to my old i3wm system. And with my windows-logo-in-a-bloated-bin wallpaper too.
7.4. Dead Simple Startpage
codeberg
My all-time-favourite startpage keyboard-centric startpage. Capital letters select "directories"/"groups" and lowercase ones travel to the associated link.
- 1 Technically, LWJGL -- LightWeight Java Game Library, which has Java bindings for OpenGL, Vulkan as well as many other native graphics and audio APIs.