movq

www.uninformativ.de

No description provided.

Recent twts from movq

First Advent of Code visualization this year:

https://movq.de/v/e14086cc1c/MVI_8057.MOV.mp4

Itā€™s for day 8. Donā€™t look if you donā€™t want to get spoiled. If you donā€™t know the puzzle, youā€™ll hardly understand what this is doing ā€“ but itā€™s fancy and colorful and fun to look at, right? šŸ˜…

This is Java 1 (AWT) running on a Pentium 133 on OS/2 Warp 4.

ā¤‹ Read More

Held another ā€œtalkā€ about Git today at work. It was covering some ā€œbasicsā€ about whatā€™s going on in the .git directory. Last time I did that was over 11 years ago. šŸ˜… (I often give introductions about Git, but theyā€™re about day to day usage and very high-level.)

Iā€™ve gotta say, Git is one of the very few pieces of software that I love using and teaching. The files on your disk follow a simple enough format/pattern and you can actually teach people how it all works and, for example, why things like rebasing produce a particular result. šŸ‘Œ

ā¤‹ Read More

The bug in jenny that @aelaraji@aelaraji.com found:

Jenny has to look for the metadata fields, it must find the # prev = ... line. To do so, I naively wrote something along these lines:

for line in content.splitlines():
    if line.startswith('# prev = '):
        ...

Problem is, we use \u2028 a lot in twtxt feeds and Python interprets those as line separators as well. Thatā€™s not what we want here. Jenny must only split at a \n.

Now @prologic@twtxt.net had a quote/copy of some of his metadata fields in a twt. Like so:

# prev = foo bar

Perfectly legitimate, but now jenny found the # prev = twice (once in the actual header, once in a twt), didnā€™t know what to do, and thus did not fetch the archived feeds. šŸ¤¦

Should be fixed in this commit: https://www.uninformativ.de/git/jenny/commit/6e8ce5afdabd5eac22eae4275407b3bd2a167daf.html

ā¤‹ Read More

Iā€™m putting all efforts to switch to Wayland on hold for another 2 years, minimum.

As we all know, writing a Wayland compositor from scratch is next to impossible. Luckily, thereā€™s the wlroots project which aims to build a base library for this task. Basically every compositor except for GNOME and KDE uses it. (This is good! The less fragmentation, the better.)

wlroots is still very volatile, lots of changes with every release. Downstream users (i.e., the projects that write the actual compositor) have to constantly ā€œchaseā€ changes in wlroots. dwl, my favorite compositor at the moment, has recently switched their main branch to target the wlroots git version instead of the latest release. My understanding is that they have to do this in order to keep up with wlroots (maybe Iā€™m wrong).

Everything is volatile and a moving target.

Why does any of this matter for me? Because I have to eventually fork dwl or at least keep a patch set, and I donā€™t have the stamina to constantly fiddle with this stuff. Iā€™m running my own X11 window manager, itā€™s highly specialized, and using just ā€œsome Wayland compositor out thereā€ is a huge step backward that Iā€™m not willing to take. I tried, itā€™s just painful and annoying with zero benefits.

So ā€¦ it was fun experimenting with Wayland a bit, but Iā€™m now back to waiting for things to settle down considerably.

ā¤‹ Read More

Thereā€™s something special about writing your own programs for OS/2 in C and finally getting it to work after sifting through lots of ancient docs. āœØ

Iā€™d be totally lost without KO Myung-Hunā€™s website and Open Watcom v2. šŸ™

(Iā€™m making a little tool to dump floppy disks to image files. I know these programs already exist ā€“ Iā€™m doing it for fun and to learn. The task itself is not complicated, but finding the correct docs is.)

https://movq.de/v/13597a4d87/os2dump.jpg

ā¤‹ Read More

Sometimes I come across a file that still uses tabs for indentation and then I find out that I havenā€™t touched that thing for over a decade. Boom, time flies. šŸ˜³

ā¤‹ Read More

In (old, pre-compositor) X11, windows were rectangles on screen. Every normal X11 client could query all windows and their positions. Tools like slop were easy to implement: You can use it to interactively select one of the windows on the screen, e.g. to make a screenshot of that window. slop just queries the window under the mouse pointer, it can then highlight it and read its position. Done. (slop includes more bloat/eyecandy, but thatā€™s beside the point.)

Afaik, thatā€™s not possible on Wayland. slurp exists but there is no standard way (yet?) for it to query the window tree. Itā€™s different for each Wayland compositor. slurpā€™s README includes an example for Sway; for dwl you need this patch; and selecting individual windows probably does not work at all on labwc (because those guys try to stick only to established protocols/standards ā€“ an admirable goal).

This is just a small example. I think things like these slow down Wayland progress/adoption a lot. You could get a lot more done on X11 because the rules werenā€™t so strict. On Wayland, everything has to become an official protocol (that each compositor then has to implement individually) or itā€™s going to be an incompatible, unofficial, compositor-specific solution.

Both approaches have pros and cons. Wayland is much more idealistic than the ā€œwild westā€ of X11. The price is that it takes a hell of a lot more time and energy to push things forward on Wayland.

ā¤‹ Read More

Good old (bitmap) Helvetica works as a GUI font again:

https://movq.de/v/2456cfb05a/helvetica.png

This broke a year ago and I gave up on it. Now itā€™s back. Crisp fonts, just like in the terminal. šŸ’š

This is much easier for me to read. Maybe itā€™s because of my myopia. Everything is a little bit fuzzy anyway and font antialiasing on top is really exhausting for me.

ā¤‹ Read More