Arqan is an OpenGL library I wrote a long time ago. It basically pInvokes all OpenGL functions from c++ and converts it to a C# method. Both a Linux and Windows version is available as well as bindings to the popular GLFW library.


A long time ago I needed to load my Tiled maps in my 2D OpenGL application I wrote in C#. However, due to the fact that existing Tiled map parser libraries were either heavily outdated or broken, I decided to create one of my own. Thus, as a result TiledCS was born. And as of today it is one of the most popular Tiled parser libraries out there for C#.


Arqanore is an 2D OpenGL game library written in c++ that aims at Linux gaming and Steam OS. This project is still a work in progress, but it works already for Linux desktop. I am also waiting for my SteamDeck, so I can finally port it officially and go public.



ArqanoreJS is as the name suggests a Node.js port of Arqanore. It uses the [Node Addon Api]( to wrap the c++ classes into JavaScript objects.



ArqanoreCS is as the name suggests a C# port of Arqanore. Using pInvoke I import the functionality from Arqanore so the user can use all native functions directly. A difference here is that I had to write a wrapper class because pInvoke cannot handle c++ classes.




A basic CLI utility for Linux to retrieve a specific mangled symbol from a shared object by providing the demangled name. I created this tool, so I could easier update my pInvoke commands in ArqanoreCS.



A temp name for now. It is a CLI tool for Linux that merges and minify javascript source files. It is not like WebPack, which is designed for web applications. I designed this tool because I needed to have something more specific to my use case.




For automating builds and deployments I maintain a personal TeamCity server. This one runs at home and is used on daily basis to make my work easier. For example, I use TeamCity to build TiledCS and let it deploy automatically to GitHub using the GitHub API. Neat huh?



AdvancedSockets is a dotnet library I created long time ago because I was in need of a solid websocket and http server that is not attached to in any way. I searched wide and far but to my surprise no other websocket server library existed. So I was left with a choice and as a result AdvancedSockets was born. Later on I added an API client class, classes for http server and clients. But I stopped working on it because it was requiring too much maintenance at a point where I wanted to focus on other projects.


Built on top of AdvancedSockets. Started out as a toy project, but it ended up rather good. Decent knowledge of http is required to use this library. I feel quite restricted by for that matter as I know the HTTP protocol very well. Thus, I know how to use it properly. And for that I needed something that offers me more control and freedom.