A lot of the time, our preferences for what an OS user interface should look
like come down, ultimately, to either nostalgia or past experiences. Someone
gets annoyed at a UI change and their instinctive reaction is to assume that
whatever “the old way” was, was inherently better.
This especially applies to people who use Linux (or any of the BSDs, but for
purposes of this page, I’ll refer to any of the “free desktops” as Linux), since
it is rarely ever their first operating system – usually they started off with
either Windows or macOS, and picked up habits and assumptions from that.
I have recently developed a small library and command-line utility in Rust that
opens and creates GXT files from older Grand Theft Auto games. GXT files
(description of format) are binary-based lists
of localizable text strings that are used both by the game’s executable and all
the game/mission scripts. Since the games are meant to be released in different
languages, using a separate format for storing strings makes sense.
The program supports, and was tested on, files from GTA III, Vice City and San
Andreas, and should also work with the “Stories” games, which are based on Vice
City’s engine.
After updating Alpine Linux on my VPS to version 3.14, I noticed that Midnight
Commander (mc) crashed with a segmentation fault around 90% of the time, and
at other times it ran, but refused to accept any input.
At first, I thought that it had to do with the OS update itself and something
was wrong with the version of mc or some other package built in Alpine, so I
tried building mc with ncurses instead of slang as it was before, but to no
effect. To make matters worse, the bug disappeared when I tried to trace it in
strace or valgrind.
Out of all PC games that have been around for decades, id Software’s DOOM is
probably one with the largest longevity. People still make new levels for it,
write new engines and modifications for it, and do speedruns for it under a
variety of conditions, with new records still being broken every now and then.
For almost every piece of hardware which can output graphics and run code,
there have been attempts to port or clone DOOM, with “It runs Doom” becoming a
popular internet meme.
Just like graphical terminals such as urxvt, the Linux framebuffer has an
option to change the built-in palette. Distributions like Ubuntu use it to make
the palette look nicer during bootup.
So, turns out, when you run a program that uses CUDA, either directly or
indirectly (my program runs on CUDA, but uses OpenCL instead), there are
issues preventing libasan
from working. More specifically, if you run a program with libasan, the CUDA
libraries will not work, and the OpenCL ones will not display an NVIDIA platform
as available in the first place.
From my experience, seems like there are similar issues preventing Valgrind from
working, either.
Recently found myself using irssi on a setup that’s slightly unusual, so I’m
recording the information I found useful for posterity.
To switch windows, use Alt + number keys for windows 1-10, or Alt + top
row (qwertyuiop) for windows 11-20.
Alt+Left / Ctrl+p and Alt+Right / Ctrl+n switches to the previous or
next window respectively. It loops around from first to last or vice versa.
The script revolve is useful, since it compresses consecutive joins/leaves
onto a single line. Useful for channels where there’s not a lot of activity.
As a kid, I didn’t have any 16-bit consoles, and at best, my experience with
them was restricted to playing them for a short while when hanging out with my
family’s old friends and their kids. Out of the games I got to experience that
way, I played Sonic 1 and 2, Columns, Tom & Jerry: Frantic Antics and
other games, but not any of the Streets of Rage games. Instead, the first time
I discovered this games was when I discovered emulators.