atmatto
Shaping things with code, often reinventing the wheel in passing. Always seeking for opportunities to develop competencies by doing. Exploring the manifold fields of computer science, trying to find my place. Pursuing my interest in mathematics and languages. Dabbling in the theory of performance optimisation and algorithms, and trying to apply it to real problems. Curious about how digital tools can aid people and support them in their endeavours.
Projects
PyTrain
Train simulator game with a procedurally generated map and a 3D renderer written from scratch, dealing with the performance limitations of PyGame and Python. Videos and source code
3e
X11 tiled scrollable window manager for Linux written in C. Based on the open-source dwm and heavily modified to create an unconventional user interface inspired by acme. Source code
Dro
Minimal image manipulation program, made to edit screenshots and quickly draw some drafts. I plan to rewrite it, this time focusing on keyboard control. Source code
Anki Duolingo dictionary
Anki addon extending the user interface (Qt). Before the Duolingo dictionary was discontinued, this let the user search for the definition and example sentences of a given word. It could be configured to almost automatically fetch the content from a selected field and strip all the unimportant words from the search query (e.g. articles). Source code
Manesei
Knowledge base and digital garden. Utilises Atylar, a storage system with version history. Features a simple, bespoke markup language. I plan to make it multi-user and add the possibility to publish your documents.
Anghelp
Website about the English language made for a school group project. I created a static site generator with support for nested navigation and was in charge of the deployment. Visit
Mapian
OpenStreetMap-based procedural generation in Roblox. The player can choose a location to visit, which is then dynamically fetched and built. Features a chunk system that lets the user explore the world virtually infinitely without major difficulties. Play
The game was later partially remade in Godot.
Granulat
Simple KaTeX viewer and editor utilising browser local storage to let the user save files. They can be later opened, downloaded, and shared using a link that contains all the needed data. Check out
Arboretum
Abandoned precursor of Manesei. Apart from a note system, it featured a storage system that could function as a cloud drive.
Remin
An unfinished journey log app. The user can mark different modes of transportation and add notes about them.
Other projects
Besides the described software, I also made many other creations. I scripted Roblox games (Lua), tinkered with 3D graphics and modelling, created a lot of small websites for personal use (or rather just for enjoyment), and customised my Linux environment by diverse means.
Interests
I strive to make my software performant and efficient, and to understand thoroughly the dependencies I use, inspired by the Handmade movement. To achieve this, I study algorithms and learn the inner workings of computer hardware and operating systems. I've been made aware of many aspects of software performance by dabbling in competitive programming, participating in the Polish Olympiad in Informatics.
Game development is a field that played a big role in my journey to become a programmer. I'm especially interested in procedural generation – it's fascinating to create enormous worlds in a short time using code. Naturally, my experiments entail dealing with 3D graphics programming (which I've explored e.g. by experimenting with Vulkan). I'm impressed by how demoscene programmers push the limits of hardware.
Some day I would like to learn more about compression, as it seems to be a field where theoretical work has practical applications of great impact. The links this branch has with artificial intelligence are also fascinating. These topics are inextricably related with mathematics and statistics.
I'm interested in hardware and embedded programming. I'm researching the principles of the Linux kernel and would like to try driver programming.
I take an unconventional approach to learning languages and explore the different ways of fostering this process. I'm heavily inspired by the Refold community but employ a peculiar variant of their method. I'm also interested in phonology and the ways it makes exchanging thoughts about languages easier. I enjoy discovering the links between different words and I'm curious about the history of languages.
The theory and practice of distributed systems is important for the world of today. Together with the principles of designing scalable and reliable backend infrastructures, this is something I would like to delve into.