Machine-level Programming

The first programmers used binary codes to create instructions for the computers which was a tedious task and it was far from how humans think. The idea of experimenting with the art of writing programs in machine codes has been forming at the back of my mind for quite a while, so I decided to scratch the itch and experiment with a tiny code sample written in machine language.

Void Linux on ThinkPad X61

I have a really old ThinkPad X61 laptop which I keep mostly for collection. Recently I decided to install Void Linux on it to try this distribution and see how it will work for me and how it will work on a such outdated hardware in general. I encountered a few difficulties not related to hardware which I would like to document here in case I will try to reproduce a similar setup somewhere in the future.

Using minicom with gkermit

minicom in Ubuntu has several file transfer protocols preconfigured after installation and some tools implementing these protocols can be installed as a recommended package along with minicom package installation. One of preconfigured transfer protocols is kermit, but the setting in minicom for this protocol refers to nonexistent file in Ubuntu 20.04 and there are no packages with such file in this version of Ubuntu.

Setting up Raspberry Pi

Raspberry Pi has become one of the most popular platforms for embedded projects both for hobbyists and professionals. There are lots of information on the web about various aspects of using these single-board computers (SBCs) and this post is merely a step-by-step description of setting up a couple of RPis for my personal projects.

fio's verification header

fio is a command line tool for I/O benchmarking offering many advanced features for simulating different types of workloads. It can read and write test data sequentially or in random fashion. In the latter case, the program adds a header which helps to verify the integrity of each written data block.