Hi! My name is Michał Góral, I am software developer (currently at Nokia) and
this is my personal website. You can read more about me on a separate
page if you’re curious.
This website is 100% AI-free (no content was generated by any kind of AI/LLM/you
name it).
I finally upgraded Python version on my Debian Trixie to 3.14.(sidenote: Best number.)
Guess what. __annotations__ on dataclasses are
gone. Generally, annotations recommendations changed (again), which is mildly
infuriating. Now there’s a library to inspect annotations. But it’s not in
inspect module (because inspect.get_annotations() is sooo 3.13), it’s
annotationslib. No. Sorry. Typo. annotationlib. Without “s”.(sidenote: Psikutas bez “s” na końcu. (Polish joke))
I’m writing todomd: terminal task
manager for quick capturing of tasks into markdown files. One of main features
is preservation of file formatting: it (hopefully) should keep whitespaces,
blank lines, line endings, indentations, even when moving tasks between
sections. My handmade markdown parser became so ridiculous that I seriously
considered renaming the project to ELMM: Empty Line Management Machine. After 3
days of constant testing/fixing/refactoring of main parser, I want to just lie
and cry.
But I just did a test run of todomd archive on my 6 year old, >1.5k lines of
horrible, scribble-quality quicknotes.md file and in 80 ms todomd made a
beautiful new archive section and didn’t break a single line. I almost cried,
but this time these were the tears of joy.
I’m sick of effortless AI-generated crap. Like t-shirt designs that all look
exactly the same and repeat the same mistakes. Guitar that have 5-7 strings
depending where on the fretboard you look? Check. Hands without thumbs? Check.
Hilarious mistakes in text? Check.
Another one: plastic-looking images that replaced stock photos. I thought that
stock photos were bad, but at least they were photos! Now they’re “plastic box
which looks like PlayStation 5 + plastic controller which resembles Xbox pad”,
or a “classroom with periodic table with elements that don’t exist”.
And don’t let me start about “AI-assisted” emotionless, one-size-fits-all prose.
With forced suspense. By breaking sentences. In strangest. Places. (read with
deep male voice in your head of course)
Formatting is one of these parts of TWC which I disliked the most. This has
finally changed with release of TWC 0.9 and complete rewrite of formatting
strings syntax.
With markorapp, a script which I wrote, it's easy to create "singletons" in i3. Singletons are applications which should have only one instance, like a particular terminal.
Xsession is a default way of starting X sessions in Debian, but for some
reason it remains a mystery for many people. Here I try to shed some light on
it.
Structured Bindings is a new way to decompose values returned from functions. It's similar to some other programming languages and greatly simplifies the code.