August 2020

Developing micro-microservices in C on Red Hat OpenShift

Although Java dominates the webservices world, there are gains to be made by considering the use of lower-level lanaguages like C, particularly in a containerized, microservice architecture. This article describes one way to implement a webservice for Red Hat OpenShift, and similar systems, using C and an ultra-lightweight container base image.

Categories: software development, OpenShift

Understanding the Hamming 'sphere packing' bound in coding theory

The Hamming bound is an important metric in the evaluation of information coding schemes. It sets an upper limit on the number of distinct codewords that an error-correcting block code can provide, for a given block length. The Hamming bound is a benchmark for the evaluation of error correction schemes used in digital data storage and communication -- a scheme that meets the Hamming bound is described as perfect. In this article I try to describe, from first principles, how the Hamming bound is calculated.

Categories: mathematics, general computing

Solving a quadratic equation in a prime (finite) field

This article describes how to do arithmetic in a small finite (prime) field. Being able to do this is essential for the implementation of cryptography, among other things. The arithmetic isn't particularly difficult -- particularly if we use software that specifically supports such operations. However, it's illustrative to do it manually, at least for a small field. I will demonstrate simple arithmetic in the field GF(5), by solving a quadratic equation.

Categories: mathematics, general computing

Making simple stop-motion animations using Linux and a DSLR camera

Creating stop-motion animated movies using a DSLR camera and some basic Linux tools. It won't rival Pixar, but it's something to do with your kids on a rainy Sunday afternoon.

Categories: science and technology, Linux