Welcome here! | Articles | Main projects | About me
Here are my main projects.
Piggy

go
gorm
web
Piggy is a free, open source software designed to help you track and classify your spendings.
It provides features such as:
- Adding, editing, deleting, sorting & filtering expenses
- Adding custom categories
- Navigating between months by pressing the Page Up / Page Down keys
- Generating Excel reports
- And much more!
SDL Wrapper 
c++
c++14
sdl
A free, open source and RAII-conform SDL wrapper written in C++14. Its goal is to make easier and safer to develop SDL programs with C++.
Short example:
sdl::init(sdl::INIT_VIDEO);
sdl::Window window{"My Window", sdl::Size{500, 500}};
bool loop = true;
sdl::EventHandler handler; // Global event handler (for both keyboard and mouse)
handler.on_quit([&loop]() { loop = false; });
auto& mouse_handler = handler.get<sdl::MouseStateHandler>();
while (loop) {
// ...
window.update();
handler.update();
}
Useful links:
MatMath 
c++
c++14
maths
A free, open source, header-only C++ API for mathematic operations on matrices. Provides two types of matrix:
mat::Matrix
, with internal buffer allocated on the stackmat::DynamicMatrix
, with internal buffer allocated on the heap
Short example:
const mat::Matrix<int, 3, 3> mat1 = {
1, 2, 3,
4, 5, 6,
7, 8, 9
};
mat::DynamicMatrix<int> mat2(3, 3);
mat2 = {
3, 2, 1,
6, 5, 4,
9, 8, 7
};
const auto product = mat1 * mat2;
const auto identity = Matrix<int, 4, 4>::identity();