May 2023

Using Keycloak for authentication with Apache Artemis: part 1

This article provides a very simple example of setting up the Apache Artemis message broker to authenticate against a Keycloak server.

Categories: middleware

Using Keycloak for authentication with Apache Artemis: part 2

This article continues my explanation of using Keycloak as an authentication provider for Apache Artemis, by showing how to use a bearer token to authenticate a JMS client.

Categories: middleware

Is Collapse OS really a practical proposition?

Is it really possible to design an operating system for a computer built from scavenged parts after civilization has failed?

Categories: retrocomputing, Z80

Getting back into C programming for CP/M -- part 2

Using the 1989 HI-TECH C compiler on CP/M, and some general observations about CP/M programming with real hardware.

Categories: retrocomputing, C, Z80

The vexed problem of generating delays in a CP/M program

CP/M has no timing or delay functions, because CP/M never stipulated that compatible hardware have any kind of clock. So how do we implement short (fractions of a second) delays in a CP/M program?

Categories: retrocomputing, Z80

Why does my Raspberry Pi project keep displaying the 'lightning bolt' undervoltage indicator?

The Raspberry Pi is widely used as part of a more complex electronic project or construction. There's a misconception that such a construction can be powered from the same cheap, nasty USB charger that is suitable to power a Pi on its own. Attempting to do this often leads to undervoltage situations. This article explains why, and what constructors can do about it.

Categories: Raspberry Pi, electronics, embedded computing

A self-contained CP/M computer based on the Z80 Playground

This article describes how to create a self-contained CP/M-based microcomputer using a Z80 single-board computer, a Raspberry Pi Zero, and some assorted electrical parts.

Categories: Z80, retrocomputing