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.