Understanding the Raft Consensus Protocol

Posted on

The Raft consensus protocol is a distributed consensus algorithm designed to be more understandable than other consensus algorithms like Paxos. It ensures that a cluster of servers can agree on the state of a system even in the presence of failures. Key Concepts Raft divides the consensus problem into three relatively independent subproblems: Leader Election:
Read more

Extracting EC Public Keys with OpenSSL

Posted on

In the realm of cryptography, handling and managing keys is a crucial task. The command provided is a series of operations using OpenSSL and other command-line utilities to extract and format an elliptic curve (EC) public key. Let’s break down the command to understand its purpose and functionality. The Command Extracting EC Public Keys with
Read more

Making Linux Keyboard Similar to macOS Keyboard

Posted on

As a daily macOS user, you might find it convenient to make your Linux PC keyboard function similarly to a macOS keyboard. By adapting your Linux keyboard to mimic macOS behavior, you can streamline your workflow and reduce the friction that comes with switching between different operating systems. The key change involves making the Alt
Read more

Mapping Left Alt to Ctrl for Windows Keyboard to Be Similar to macOS

Posted on

As a dedicated macOS user, I often find myself missing the convenience of having a Command key located near my thumb for common shortcuts when using Windows. In the standard Windows keyboard layout, the key that occupies the same position as the Command key on macOS is the Alt key. However, the equivalent key on
Read more

Visualizing CMake Project Dependencies with Graphviz

Posted on

When working on a large-scale C++ project with multiple dependencies, it can be challenging to understand the relationships between different components and libraries. Thankfully, CMake provides a nifty feature to visualize these dependencies using Graphviz, a widely-used open-source graph visualization software. Using CMake’s –graphviz option and the dot command from Graphviz is a powerful way
Read more

Installing Zlib in Ubuntu 22.04

Posted on

Zlib is a popular open-source compression library used by many software applications to compress and decompress data. It provides fast and efficient compression and decompression algorithms that can be used to reduce the size of data, which can improve performance and reduce storage requirements. In this post, we will discuss how to install zlib in
Read more

Generating ECDSA K1 and R1 keys using OpenSSL in Linux

Posted on

ECDSA keys are commonly used in various areas like blockchains. OpenSSL is a commonly used tools in Linux for handling signature/encryption/decryption. This post introduces how to generate ECDSA keys using OpenSSL in Linux. Generate keys for K1 secp256k1 elliptic curve We start with K1 (secp256k1) as the example. To generae ECDSA keys using other curves,
Read more

Running Ephemeral Docker Containers – Automatically Remove a Docker Container After Running It

Posted on

Docker is a convenient tool to quick create containers from different Linux images. If we use the common way to start a docker container like docker run image bash, after the the process exists, the container is still stored there. That is, the docker container persists after it has exited. Sometimes, we would like to
Read more

Linux Kernel 4.19.178 Release

Posted on

This post summarizes Linux Kernel new features, bugfixes and changes in Linux 4.19.178 Release. Linux 4.19.178 Release contains 248 changes, patches or new features. In total, there are 239,909 lines of Linux source code changed/added in Linux 4.19.178 release compared to Linux 4.19 release. To view the source code of Linux 4.19.178 kernel release online,
Read more

Linux Kernel 4.14.223 Release

Posted on

This post summarizes Linux Kernel new features, bugfixes and changes in Linux 4.14.223 Release. Linux 4.14.223 Release contains 176 changes, patches or new features. In total, there are 277,921 lines of Linux source code changed/added in Linux 4.14.223 release compared to Linux 4.14 release. To view the source code of Linux 4.14.223 kernel release online,
Read more

Linux Kernel 5.4.102 Release

Posted on

This post summarizes Linux Kernel new features, bugfixes and changes in Linux 5.4.102 Release. Linux 5.4.102 Release contains 338 changes, patches or new features. In total, there are 160,715 lines of Linux source code changed/added in Linux 5.4.102 release compared to Linux 5.4 release. To view the source code of Linux 5.4.102 kernel release online,
Read more

Linux Kernel 4.9.60 Release

Posted on

This post summarizes Linux Kernel new features, bugfixes and changes in Linux 4.9.60 Release. Linux 4.9.60 Release contains 24 changes, patches or new features. In total, there are 64,224 lines of Linux source code changed/added in Linux 4.9.60 release compared to Linux 4.9 release. To view the source code of Linux 4.9.60 kernel release online,
Read more

3 Ways of .odt to .txt File Conversion in Command Line in Linux

Posted on

The Open Document .odt files can contain rich formats for the content. However, some times a plain text file is more handy. We may convert .odt files to plain text files for such needs. In this post, we discuss 3 ways of how to convert .odt files to .text files in command line in Linux.
Read more

.docx/.doc to .odt File Conversion in Command Line in Linux

Posted on

Word .docx and .doc files are common for documents commonly generated by MS Word software. We would like to convert them to the more open ODF Open Document .odt files for various cases. This can be done by GUI software tools. If we have a set of many .docx/.doc files, it will be handy if
Read more

2 Ways of Modifying macOS Keyboard’s Right Option to Control for Mac Pro

Posted on

For heavy Terminal/Shell/command line users, the Control key is a very frequently used key. However, in Mac Pro keyboard, there is only a single left Control key for some models. This cause quite some inconvenience. In this post, we will go through how to configure/remap the keys to “create” a right Control key. Remap keys
Read more

Converting Hex to ASCII Using xxd

Posted on

Strings are commonly encoded as hexadecimal (hex) strings for various purposes. Hence, it is also common to convert hex strings to its original strings such as an ASCII string. Hex to ASCII string conversion can be done programmatically in many languages. In command line, we can use xxd to convert hex to ASCII string. This
Read more

Release Notes For Linux v0.95a

Posted on

This is the release notes for linux release v0.95a (source code: linux-0.95a.tar.gz) with format adjusted by removing/replacing tabs/spaces/new lines. This notes document can give us an understanding of the early development of the Linux kernel. The the formatted version of the referenced RELNOTES-0.95 can be found at Release Notes For Linux v0.95. The original ASCII
Read more

Release Notes For Linux v0.95

Posted on

This is the release notes for linux release v0.95 (source code: linux-0.95.tar.gz) with format adjusted by removing/replacing tabs/spaces/new lines. This notes document can give us an understanding of the early development of the Linux kernel. The original ASCII formatted version is at the end of this post. RELEASE NOTES FOR LINUX v0.95 Linus Torvalds, March
Read more

Release Notes For Linux v0.12

Posted on

This is the release notes for linux release v0.12 (source code: linux-0.12.tar.gz) with format adjusted by removing/replacing tabs/spaces/new lines. This notes document can give us an understanding of the very initial development of the Linux kernel. Also check Notes for linux release 0.01. The original ASCII formatted version is at the end of this post.
Read more