Table of Contents

  1. 1.My Programming Languages
  2. 1.1.utxt
  3. 1.2.ulang
  4. 1.3.concs lang
  5. 2.Software & Small Utilities
  6. 2.1.oi -- Odin Index
  7. 2.2.mkheaders
  8. 2.3.Clip Editor V5
  9. 2.4.bcalc
  10. 2.5.UML (Activity Diagram) Generator
  11. 2.6.A Color Picker
  12. 3.Experimental Software
  13. 3.1.s -- symbols
  14. 3.2.Wallpaper TODO 2
  15. 3.3.copypasta
  16. 3.4.hourglass
  17. 3.5.z
  18. 4.Libraries
  19. 4.1.utoml
  20. 4.2.frigg
  21. 4.3.TOML parser
  22. 4.4.HTML parser
  23. 4.5.Date parser
  24. 5.Games
  25. 5.1.Fireworks
  26. 5.2.Tetris
  27. 5.3.Sudoku
  28. 5.4.star
  29. 5.5.Particle Renderer Plugin
  30. 5.6.Boat Running Minigame
  31. 5.7.Zombies
  32. 5.8.Prediction Game
  33. 6.Markup
  34. 6.1.Error System Design
  35. 6.2.Math Notes
  36. 7.Miscellaneous
  37. 7.1.Blog page (old)
  38. 7.2.Skribble QoL
  39. 7.3.Github Page
  40. 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 ◞‸◟)).

3.5. z

codeberg

A very old cd & fzf replacement program for Windows I wrote in C++, that has a server and a client that work somehow... For a while after I found it, I didn't even know what it did...

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. 1 Technically, LWJGL -- LightWeight Java Game Library, which has Java bindings for OpenGL, Vulkan as well as many other native graphics and audio APIs.