I’ve created and published multiple open-source projects. Some of them are certainly worth checking out:

A Logo script interpreter, written in C++.

Logo is a programming language that describes a turtle’s path. The turtle leaves a trail of pixels. SimpleLogo executes Logo scripts, producing interesting imagery as a result.

An earlier version transpiled Logo scripts to Lua and executed them using the Lua Virtual Machine. You can find a relevant commit here. The current interpreter doesn’t use any external libraries, except for png++, a C++ wrapper for libpng.

That’s probably one of my most impressive projects, as interpreting a programming language is never a simple task. One of the most tricky parts was recursion, I’m happy I was able to deal with it!

Openwrt-build-script

Just a simple Bash script used to generate OpenWrt images for my network devices.

It allows me to easily change important settings and quickly build images that will include my SSH keys.

After flashing, my devices are fully operational - I don’t need to do any additional configuration.

Cuberite (contributor)

I’m a contributor to the Cuberite project, a lightweight, fast, and extensible game server for Minecraft, written in C++.

Some stuff I’ve done for Cuberite:

  • implementing farmland trampling (#5401), fixing a related bug (#5402)
  • implementing relative player position and look packets (#5413)
  • implementing ranged attack for snow golems (#5417)
  • bug report - mobs don’t collide with multi-layer snow (#5410)
  • bug report - partial blocks not handled correctly by the physics engine (#2015)

TNTRun.jl

A Minecraft minigame written in Julia, using PiCraft.jl. I wrote it for Julia in Google Code-in 2019.

The project is really simple - it’s surprising how little code is needed to write a working Minecraft minigame. That’s a good thing - TNTRun.jl is supposed to show other Julia coders the basics of writing Minecraft plugins in Julia.

DarkoASM and DarkoVM

Writing an assembler and a virtual machine - these assignments are part of the nand2tetris course.

DarkoVM and DarkoASM helped me improve my understanding of machine languages and virtual machines. What I also learned about is how compilation works.

I recommend nand2tetris to everyone willing to learn the basics of computer science.