RSSAmplifier

Blog

@JohnKoepi

Made by @JohnKoepi .

sitano.github.ioRSS feed ↗10 posts

Latest posts

Scattered notes on MariaDB undo log.

Undo log

Scattered notes on MariaDB redo log internals and file checkpoints.

Redo log structure

How to debug linux kernel API (syscalls issues)?

Linux API can be hard. Sometimes it happens you don’t know why a syscall returns a specific result. The documentation and google not always help. You can turn you face to the Kernel source code but it’s hard to navigate through out the myriad of functions without any help. This is when the ftrace and eBPF comes into play.

What is /proc/meminfo/MemAvailable?

Have you ever wondered what is Available Memory in Linux?

Multi-version concurrency control

Multi-version histories

Deadlock prevention algorithms

Once upon a time, I was interviewed for a database engineering position. I was asked about what deadlock prevention algorithms do I know. I could not name a few (besides detection and randomization) and I was rejected. It was an unsatisfying experience because the ideas behind those algorithms happened to be pretty simple and the algorithms are small. There is nothing special to it.

Testing serializability classes

Recently, I came across an excellent exercise of testing a scheduling history for belonging to different serializability classes and had a lot of fun drawing a polygraph and finding out a cycle in it. When I finally managed to draw the correct version of the polygraph, I thought that it could be interesting to someone wondering to learn how testing for view state serializability looks like.

Transaction isolation anomalies

This document contains simple examples and explanations of transaction isolation anomalies well known since the late ’90s. The work based on papers [1], [2], [3]. I hope it will be helpful for someone as a quick reference.

Notes on Telegram (TG) instant messaging (IM) system data protocol

The protocol structure was reverse engineered from the prototypes of the TG protocol and it’s open source clients.

How to read GoLang static single-assignment (SSA) form intermediate representation

We will start off by kicking out a simple example of uncomplicated for-range loop: