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.
Listing is an email marketing list self-hosted platform. It works using serverless architecture with AWS Lambda and Dynamod DB allowing you to manage email subscription list of hundred thousand subscribers almost free of charge. It’s implemented using Go.
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#.