The archive of 2023.
2023-12-31
Finishing the year researching a bunch of Plan 9 and 9front articles on the internet; I'm tempted to install it somewhere to try it out. In the meantime Erik made a pull request to Linguist with my Uxntal TextMate grammar, so I felt the call to finally update it with recent Uxntal features.
We've been having a sleepy mood and a fucked up sleep schedule for the past few days thanks to our loud neighbor upstairs who keeps rapping (?) until 3 AM. Fed up, we're recovering at Luka's place playing unhealthy amounts of Age of Empires 2. We saw Akira at the movie theater.
2023-12-17
The seasons are intertwined this year. Carved some pumpkins, made soup out of them, went mushroom-picking and caught a nasty cold. Looked around for jars as apparently the preserve-making season is over and every local shop is out-of-stock. Fermented a bunch of cauliflower & onion, and baked a bunch of gingerbread. And Luka made me a lovely little cake for my birthday!
I managed to mount a 9P file system on my work MacBook with MacFuse and plan9port. In moments when I'm currently not researching Plan 9, I'm trying to parse HTTP requests in Uxntal for fun, with the hopes of maybe ending up writing an entire little HTTP server for Varvara that would serve the pages of my website.
With the year nearly coming to a close, I'm spending the holidays hanging out with a bunch of lovely people: Patryk, Luka, Ola, Eden, even a little end-of-year integration with dayjob folks. I took it a step further and ended up joining a local Food Not Bombs and meeting many wonderful & like-minded people there.
Enjoyed playing Pulse Codex EP a lot, what an audiovisual bliss.
2023-10-22
I'm glad.
2023-08-27
More website stuff: Nex support & playing around with Sass.
We took a train to Świnoujście and spent a couple of days there, getting our feet wet in the sea, hanging around by the cliffs in Międzyzdroje, eating questionable food, even crossing the border through the beach and getting a coffee in Ahlbeck.
2023-08-13
I've been polishing up the website, adding support for the Gemini protocol and making sure it looks good on various browsers, including terminal-based ones.
Spending these rainy days by helping to set up Luka's bracelet shop and — quite fittingly — playing more Rain World.
2023-07-30
Visited Prague with Luka. Travel log coming soon?
2023-07-16
Heatwave. Feeling pretty burnt out of programming, I stopped trying to do any work for the past week, and ended up playing Rain World. The amount of content this game has is absolutely unbelievable. There's more depth in that game than I realized at first, I kind of want to properly get into it.
2023-07-02
The corporate web seems to be collapsing in on itself. It's time for me to salvage everything off of centralized services and not be there when they inevitably crumble. My Twitter account has been inactive for months, used occasionally for checking in on my favourite artists who post exclusively there. While it was still even possible, I archived all of my likes and bookmarks. I similarly took down and backuped all my GitHub repositories, something which I honestly should have done a long time ago given the doubtful legality of content harvesting.
Continuing my recent visions of a personal website, I spent a couple of evenings scribbling up a design in plain HTML and CSS. The wireframe aesthetic looks promising, although it feels like there's something more to discover.
The unbearable heat has been killing my productivity for the past two weeks to the point where I just give up on any hopes of having a single coherent thought. Together with Luka I visited an escape room that was on our minds for a long time, solved a bunch of puzzle books, went for a bike trip, and spent a couple of days at the unremarkable Polanica-Zdrój where we visited Burg Waldstein and some local geocaches. The universe has perfectly aligned for me to finally read Busy Doing Nothing by Hundred Rabbits, something I've been putting off for a year and a half. In the meantime, I've been enjoying Drift Mine Satellite, a wonderful little text adventure game by Everest Pipkin.
2023-06-18
It's time to finally release Pinhole, a 3D projection library for Uxn. It's been a productive couple of months and my most ambitious project in quite some time. I've learned everything there is to learn about fixed-point numbers, numeric stability, 3D projection, line clipping, and all the stuff that's taken for granted when working with high-precision numbers. It has been a whole lot of fun, but in all honestly I'm sick and tired.
All the exposure has made me a little insecure about my online persona and identity again. It's probably for the best if I go radio silent on social media for a little bit while I figure out who I am.
2023-06-04
Exploring the ruins of an old candy factory on the outskirts of Wrocław and seeing some of the most beautiful graffiti in my life has inspired me to try graffiti myself. One particular idea for a stencil-based generative style does not want to leave me alone. Now equipped with a can of spray paint, I plan to venture to desolate places and pour my mind onto some walls, soon-ish.
For the past couple of evenings I've been researching line clipping algorithms and rewriting the routine for clipping the projected lines against the edges of the viewport — one of the last pieces to the whole puzzle.
2023-05-21
The attempt to fix the remaining issues with Pinhole has lead me on the path of exploring various saturation arithmetic techniques. In consequence, I discovered the TGA image format and a way to visually debug binary operators on numbers. I updated my laptop's firmware in hopes of finding a way to restore its state on power loss, without success; I choose to ward off all thoughts of it ever becoming an issue in the future.

2023-05-07
All of the domain registrars of the world look at the future of my website with their greedy eyes. Ultimately, though, the choice of the poison will not matter in the long run, but I overthink it nonetheless. In the meantime, I've been polishing the last bits and pieces of Pinhole, inching closer and closer towards the release. I replaced the remains of my physical being from my digital presence; a humble void flower now decorates my social media. Together with my partner I visited an obscure new escape room and played a bunch of video games.
2023-04-23
The Finish it jam progress has been fantastic for these past two weeks, and although the official deadline of the jam itself is slowly approaching, it does not mean it's ending for me — in fact, I'm just getting started. After hunting down many little bugs in my code for a couple of evenings and modifying Erik's multiplication and division routines to handle negative numbers, I finally have a working spinning cube. The fun part, however, is, most likely, over. Next up: line clipping. Unfortunately, I have enough programming experience to sense some numerical stability issues hiding in the most ridiculous places.
Fortunately, it's time to take a break from writing code, and celebrate my anniversary with Luka.
For a few weeks now, I've been thinking about a personal website and all the digital infrastructure required to self-host it. The plan in my head is straightforward, but it calls for some careful and irreversible steps along the way which are, to say the least, scary. I chose to give NixOS another chance, installing it on my old laptop that I'm going to repurpose as a home server.
2023-04-09
My recent experiments with a custom socket device for Uxn made me think of a website with a small Uxn machine in its core, serving pages. My mind gets distracted by Finish it 2023 — a jam hosted by the Merveilles community. The collective encouragement gives me enough motivation to finally port the fixed-point-based 3D graphics engine proof of concept to Uxn. Working with scalars and vectors inspires a way to flexibly encode structs in Uxntal with label-sized pads which I manage to hack together for Uxnasm. Eventually, label-sized pads also make their way to Drifblim.
2023-03-26
The process of implementing Varvara's screen device for Daikon made me think of some improvements to the documenation. The weather has been fantastic which gives me an opportunity to finally go outside and soak up the sun. I got caught up in interaction nets for a little bit, trying to explore their possibilities and build some intuition.
2023-03-12
Motivated by the idea of custom Uxn devices tailored to suit my own needs, I cannot stop thinking about a personal Uxn emulator. While it would be possible to fork Uxnemu and customize it, its implementation is way over my head; I decided that the best way to understand it is to implement it from scratch. Fitting Uxn's computational model in Rust's type system requires some major twiddling, but it is definitely worth it and allows me to utilize some particulatly pleasant macros for associating mnemonics with opcodes. Along the way I learned a bit of Cocoa via raw Objective C bindings while trying to integrate a native borderless macOS window with SDL2. Meanwhile, I've been enjoying playing Cyberpunk 2077 and the entire Overcooked series with Luka on his console; it has been a couple of the most wonderfully chill and carefree weeks in ages.

2023-02-26
The long-awaited username change is finally in place, although I curse Mastodon for requiring me to migrate the account, making the entire process infinitely more complicated than it needs to be. This is surely going to be the last time I'm dealing with this, right?
2023-02-12
In between inspecting the dubious quality of Rust's codegen for AVR targets, and drinking unhealthy amounts of matcha latte, I got absorbed by the idea of a 3D graphics library for Uxn in the vein of Moogle and Graf3DScene. The wireframe aesthetic has been on my mind ever since I've played I'm Null, and has been further influenced by the Neauismetica vignettes. As it is for now merely a proof of concept that needs to be quickly iterated upon, it wouldn't be a good idea to start it in Uxntal yet; a quick (a-couple-of-evenings quick) check shows that it's actually quite doable with Q8.8 fixed-point numbers. Time to stop here and not get too carried away with the implementation; I think of what it could become instead.
I'm suddenly craving a personal color theme. The Teal now accompanies me in iTerm2 and Visual Studio Code.
2023-01-29
Hilton has been getting a generous amount of attention lately. After a little holiday break, I learned about the timers on the ATmega328P and finally implemented the animation system, along with a simple random number generator and a state manager to tie it all together. To make debugging a little bit easier in the future I set up simple UART logging and tested it on a BusPirate I had laying around — it works great! It also seems that the built-in EEPROM is going to be a viable solution for storing save data.
2023-01-15
2022 was definitely one of the most exciting years of my life — I tried to catalog every single event, no matter how small, which was a fantastic idea at the time but turned out to be, understandably so, too overwhelming in the long term. In attempt to overcome this feeling, I'm switching to the more approachable bi-monthly format influenced by Devine Lu Linvega's journal. While this approach may not be as granular to extract any meaningful data from, I believe it will be substantially more manageable and, ultimately, easier to digest, simultaneously becoming a niche creative outlet for writing with each entry becoming a little playground for sharpening up my language skills.
To kick off 2023, together with Luka I visited an escape room and got some cool new boots that I had an eye on for a long time.