These are the projects that I created in my free time. Some grown up big and some not. Nevertheless, they are very important to me.
Xpiks is a keywording and uploading tool for microstock photographers, illustrators and videographers. It is a cross-platform desktop application written in Qt/QML that allows people to add metadata to artworks and upload them via FTP to a number of websites. Soon after it’s creation it became a very popular tool and hit around 100k downloads as of now (2019).
FocusBit is a cross platform personal productivity tool. It is a todo list and pomodoro timer together. FocusBit supports wide range of visual notifications about task progress, reminders and basic todo planning/reporting. It is also implemented in Qt/QML and is available across all platforms. Initially I used FocusBit only for my own needs and when I found how magically it works, moved it to a public project.
Ministaller is an updater of portable applications on Windows. I distribute my other projects as portable applications and ministaller is a very important piece that allows me to update their “installations”. It is written in Go and it has native Windows UI that shows upgrade progress.
Linuxdeploy is a command line tool written in Go that packages an application into AppImage. It automatically finds all dependent libraries, correctly patches their runpath and bundles together into a fully standalone executable.
Chillout is a cross-platform crash handling library. Just like Breakpad, but much simpler to use and integrate. I use it across all my application in order to create backtraces, write dumps and handle crashes gracefully. It is written in C++ and can be used on Windows, macOS and Linux.
During the boom of AI and neural networks I decided to understand how it works. And following Richard Feynman’s tactics - “I don’t understand what I cannot create” - I decided to write convolutional neural networks from scratch in order to classify images. I started with fully-connected network and when it was clear (I was able to prove the equations and implement them), I moved to convolutional network. In this repository I saved C++ only implementation with lots of comments and most important papers that will help to repeat my steps.
Queem is a very old project that I implemented during my student years, but it is very interesting nonetheless. It implements “artificial intelligence” as a computer player in chess. It is implemented in C# and WPF and it contains implementations of various heuristics used for creation of stronger chess programs like null move heuristics, quiescence, principal variation search and others.
I created many more projects. Just to name a few less popular: tdg - tool to collect all TODO comments from project, ssdll - a library to work with StarDict dictionaries, BackToWork - a productivity tool for Windows, LongInt - library with implemented long number and RSA encryption in C#.