Setting up castor as handler for gemini URLs on a Gnome desktop

Gemini capsule paragliderSo, you’ve heard of that slick new gemini:// internet protocol and you managed to install or build (see below) the castor browser to use it. It works great, but now you would like to be able to click on a link in your http(s) browser to gemini and have it open castor for you. Here is how to do this on a Gnome desktop.

Step 1 – create a launcher for castor, by adding the following configuration into the file  „~/.local/share/applications/castor.desktop“:

[Desktop Entry]
Comment=Gemini Browser
Exec=castor %u
Icon=/[path to castor repository]/data/org.typed-hole.castor.svg

Step 2 – register the gemini protocol to open with castor, by issuing this command:

xdg-mime default castor.desktop x-scheme-handler/gemini

[

Which UNIX tool to use for text processing?

A short decision flow chart to pick the optimal text processing tool on a UNIX-like system (dowload it as plaintext):

                                   | I want |
                                   | to ... |
                            yes  / ... search  \  no
                          .-----(  in freeform  )-----------------.
                          |      \    text.    /                  |
                          v       '-----------'                   v
                   ____________                           .---------------.
                   \           \                    yes  /    ... work     \  no
                    ) use grep  )                 .-----(  with structured  )--------.
                   /___________/                  |      \      text.      /         |
                          |                       v       '---------------'          v
                          v                 ___________                       .-------------.
                     .--------.             \          \            replace  /   ... work    \  delete
               yes  /   It's   \  no         ) use awk  )             .-----(  with freeform  )-----.
            .------(  a simple  )-------.   /__________/              |      \     text.     /      |
            |       \ pattern. /        |                             |       '-------------'       |
            v        '--------'         v                             v           extract           v
.-----------------------.  .-------------------------.  .--------------------------. | .-------------------------.
| grep 'simple pattern' |  |  egrep 'regex pattern'  |  | sed 's/search/replace/g' | | | sed '/search pattern/d' |
'-----------------------'  |            or           |  '--------------------------' v '-------------------------'
                           | grep -E 'regex pattern' |           .---------------------------------------.
                           '-------------------------'           | sed 's/^.*\(search pattern\).*$/\1/g' |
                                                                 |                  or                   |
                                                                 |       grep -Po 'search pattern'       |

[

Atari Portfolio data transfer over serial interface to modern Linux

There are already great tutorials on transferring data from/to the Atari Portfolio digital assistant for MacOS and Windows. Here is how to have it talk to Linux – the quick and shell way.

The biggest obstacle is to get some XMODEM software onto the Portfolio, as the serial connection can be quite unreliable. After a one time bootstrap procedure using a copy over the serial device, subsequent transfers become much more reliable and convenient.

Alternatively to the complicated one time setup procedure, you may also just use the XTERM.COM from the dip Utilities card, that you might still find on eBay.


  • Atari Portfolio
  • Atari Serial Interface HPC-102
  • USB to D-sub serial adapter cable
  • Null modem adaptor or cable – only needed if the D-sub of the USB adaptor isn’t female
  • A Linux device with USB interface and the minicom and coreutils packages installed
  • A copy of XLOAD.COM and XTERM2.COM on your Linux device

[

Sinclair ZX81 modification, preventive maintenance and common fixes

Image by Evan-Amos, licensed CC-BY-SA-3.0, from, I got myself a Sinclair ZX81 from the UK. I got lucky and found one that came boxed, complete with 9V power supply, assembly instructions and 16 KiB RAM pack. The ZX81 was Sinclair’s 1981 follow up of the ZX80 computer (1980) and was sold as a kit or fully assembled. Like it’s predecessor it sported a Zilog Z80 CPU running at 3.25 MHz and 1 KiB of RAM. It’s main advantage was the lower cost and larger ROM (8 instead of 1 KiB) which allowed for more BASIC commands and floating point math support.

My unit was of the kit version and the original owner did a very good job of cleanly soldering it together and they even noted some errata in the assembly instructions, where a resistor had to be replaced with a different type – the schematic on the back side of the instructions did show the correct value. [Read more →]

KC 85/4 Labyrinth

Hatte gestern die Gelegenheit einen Kleincomputer aus der ehemaligen DDR, den KC 85/4, auszuprobieren. Das Gerät wurde 1988 hergestellt, verwendet eine UB 880 D CPU, einen Zilog Z80 Nachbau mit 1.77 MHz und hat 64 KiB RAM. Im Gegensatz z.B. zu den Atari und Commodore 8-Bit-Rechnern bootet er aber nicht direkt in einen BASIC-Dialekt, sondern ins KC-CAOS 4.2, welches den Aufruf diverser Programme ermöglicht und listet auch direkt einige der im ROM verfügbaren Programme auf:

* KC-CAOS 4.2 *

[

PiDP-8/I install on Raspbian Buster

The following is a modified installation recipe for the PiDP-8/I flavour of SIMH on Raspbian Buster, based on the instructions from Obsolence Guaranteed. [Read more →]

VoCore2 Ultimate as SMS gateway

This article describes a setup of OpenWRT on the VoCore2 Ultimate to send SMS via a HTTP API using smstools and a GSM modem (a Huawei E3531, in this case). This method uses docker to build a custom OpenWRT image, which can be then be installed via the firmware update mechanism in the preinstalled OpenWRT on the ROM of the VoCore2. [Read more →]

IMSAI 8080 & Altair 8800 hex dumps to octal

If you play around with entering programs via the toggle switches on the Altair 8800 or IMSAI 8080 or one of their clones, recreations, replicas or simulators, you may want to enter a hex dump of an assembler program via your front panel. While most experienced programmers prefer the hex notation, it is a bit error prone to convert the hex digits in your head into the binary notation of a nibble (4 bits). This is why many example programs in the original manuals and also the front panels of these systems feature the unusual octal notation. It is very simple to convert octal into binary and if you are used to UNIX permissions, you will already know these by heart. [Read more →]

MySQL / MariaDB replace broken HTML entities

After an upgrade of Friendica, a PHP application using MySQL or MariaDB as a backend I found that while the columns containing the raw textual content had been changed successfully from utf8 to utf8mb4 character sets, some other colums that contained pre-rendered HTML were broken, as they now contained 2 byte sequences turned into HTML entities. [Read more →]

Replacing indicator-multiload with system-monitor in Ubuntu 18.04

Recently the 18.04.1 point release of Ubuntu came out and I finally started upgrading my desktops & laptops to it from my 16.04 LTS installations. As usual, the upgrade went smoothly, but as can be expected with the switch from Unity to Gnome, the UI has changed dramatically.

Unfortunately, while the indicator-multiload still is getting displayed, changing its settings doesn’t seem to work any more and it is so small that it becomes unreadable. I did find a replacement in the form of the system-monitor widget for the Gnome shell. To install it you need to install the following prerequisites:

  1. chrome-gnome-shell is the user space component to install Gnome shell extensions
  2. gir1.2-gtop-2.0, gir1.2-networkmanager-1.0 and gir1.2-clutter-1.0 are libraries required for this particular widget
  3. The Firefox extension GNOME Shell integration allows you to install the widget from the comfort of your browser. There is a similar extension for Chrome(ium).

To install all the components and uninstall indicator-multiload in a terminal session, use:

sudo apt install chrome-gnome-shell gir1.2-gtop-2.0 gir1.2-networkmanager-1.0 gir1.2-clutter-1.0
sudo apt purge indicator-multiload

Finally you can navigate in your browser to the GNOME Shell Extensions page and enable the widget (or disable it again, if you don’t like it after all).

Some other nitpicks I had with the upgrade to Ubuntu 18.04, while we are on the topic:

  • The window controls (minimize/maximize/close) are back to the right side. It took me a long time to adjust to the MacOS-style left hand window controls back in 2008 and now we move back to the right. I will suffer for a while, but hope to be happier long-term, if most of the GUIs I encounter follow the same standard. Of course in my day job as of 2016 I am now using a MacOS device… 😕
  • The boot-up time significantly increased: On one of my last HDD equipped desktops from under 30s to about 2 minutes and on my fastest SSD laptop from 5s to about 30s. 😥