Tome

status: in development

source code

Tome is a general purpose programming language I'm developing. Its main goal is to be useful, meaning writing programs should be simple and not error-prone, and maintenance of code should be simple too.

Currently, the language is object-oriented, modular, and relies heavily on the interface segregation principle. It will also include mechanisms to support both backward and forward-compatibility of any code written in it, and allow to execute untrusted code using whitelists.

The first compiler will be written in Java with an accompanying Eclipse plugin.

Mǫtunautr

status: in development

source code

Motunautr is an alternative to the default Windows desktop and start menu. It displays groups of program icons in simple windows. These windows are on top of the desktop by default (working like the default desktop), but when clicked on or otherwise switched to can also be on top of other applications (like the start menu).

Motunautr is still in development (albeit usable already). Running it is currently not trivial and requires Java 9 for proper high DPI support.

It is programmed in Java with native Windows hooks using JNA.

A rewrite to C# has been planned to hopefully fix most issues that it has right now.

This Website

status: active maintenance

To create this website I could have used any of the many free CMS available, but that would have been boring. So instead I programmed and designed this website myself from scratch.

It is programmed in PHP and Less.js, and is running on an Apache HTTP Server.

Kantiki

status: active maintenance

Kantiki is an UPnP/DLNA music controller. Its most distinguishing feature is that each person can rate a track differently, and those ratings are used to automatically select tracks to be played that all present persons like.

It consists of two parts: a server which runs all the time and takes care of most of the logic, and a client which can be used to control the server and doesn't need to be running all the time.

The whole program is currently hardcoded in German, but I might translate it if somebody is interested in using it.

The server is written in Java, using Cling as UPnP library. The client is a webpage served from the server which uses lots of JavaScript.

Yggdrasil

status: completed

source code

Yggdrasil is a simple data serialisation format, and also an implementation thereof in Java. It can serialise and deserialise whole object graphs starting at one or multiple source objects, and offers multiple ways to make classes serialisable.

I wrote this because Java's built-in serialisation is extremely heavy-weight, and I couldn't find a library that was as simple as I wanted it to be, while still being able to serialise objects of library classes which I could not modify.

Yggdrasil is programmed in Java.

Dota 2 Calculator

status: sporadic maintenance

source code

I wrote a calculator for Dota 2 mostly for personal use, but it's publicly available on this website.

It might or might not be up-to-date, check the version in the top right corner to make sure. I'm not playing Dota often enough to keep it updated all the time.

The calculator consists of a Java program that gathers data from the game files, and a website that does the actual calculations in JavaScript.

Skript

status: abandoned

source code

Skript is a plugin for Bukkit, a Minecraft server. It allows server administrators to write event-based scripts in natural English.

I have worked on Skript several years before finally abandoning it, mostly since I hadn't played Minecraft for more than a year back then. There is at least one community fork so far that continues development though.

The old documentation is still available.

Skript is programmed in Java.

License

All my open source programs are published under the GPLv3 if not specified otherwise.