Why std::vector is the Optimal Choice for Data Structures for Performance in C++

Posted on

In C++ programming, data structures are essential for organizing and manipulating data. When it comes to storing and manipulating data, one data structure stands out above the rest – the std::vector. Efficient Memory Allocation One of the primary benefits of std::vector is its efficient memory allocation. std::vector uses contiguous memory allocation, which means that the
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

Sorting Two Lists Together According to The Order of One List in Python

Posted on

We may use two lists to store the values of two properties of a list of elements in Python. Under such data structure arrangement, when we need to sort the properties from one list, we may want to also make sure the other list will be also re-ordered following the same order as the first
Read more

Synchronizing Thunderbird Calendar with Apple iCloud Calendar

Posted on

Thunderbird is a nice email client and calendar management software. iCloud calendar is the native calendar cloud service in Apple devices such as iPhone. So far there is no native support from Thunderbird to support iCloud calendar, excepting reading the read-only public iCloud calendars which has privacy concerns as long as lacks of editing functionalities.
Read more

SPF, DKIM and DMARC to Stop Email Sender Fraud: Intro and How to

Posted on

Email sender fraud is an annoying problem. Malicious email senders send spam emails with email senders that are under non-authorized domain names. This may affect the reputation of the domains used by the fraud sender. On another hand, lots emails will be rejected and reverted back, which causes lots additional work to the domain administrators.
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

Configuring Fonts for Thunderbird snap to Display Fonts Nicely

Posted on

snap is a software app bundle with dependencies included so that it can works in different Linux distributions. However, as most other software, snap has compatiblity issues. An app in the snap format is not 100% the same and compatible with the native version. One of the problem I find is that Thunderbird from snap
Read more

GNONE 3 Screenshot Keyboard Shortcuts

Posted on

GNONE 3 provides screenshot tools and utils and also provides keyboard shortcuts which are convenient and quick to use. With the GNOME 3 screenshot keyboard shortcuts, users can make screenshots without having to open the Screenshot app. In general, there are 2 major categories of screenshot shortcuts: those to save the screenshot as a file,
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

Configuring Eclipse to Show Git Revision Information Similar to Git Blame in Editor

Posted on

Eclipse can work well with Git. We discussed Configuring Eclipse to Highlight Changed Lines Compared to Git Commit before. Eclipse can also show the revision information for lines of code (from git blame) which is useful to understand why some lines are added in the context of previous revisions including the lines of code. Eclipse
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 v2.0

Posted on

This is the release notes for linux release v2.0 (source code: linux-2.0.tar.gz) with format adjusted by removing/replacing tabs/spaces/new lines/formatting marks. 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. Intro This document contains a list of
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

Configuring Eclipse to Highlight Changed Lines Compared to Git Commit

Posted on

Eclipse is one of the good IDEs for C/C++ projects with its great source code indexer. It is common the source code version is controlled by some tools like Git for software projects. It is convenient if the IDE can show the current changes compared to the committed code version. In this post, we will
Read more

Generating RSA Private and Public Key Pair in Go Lang?

Posted on

How to generate a pair of RSA private and public key in Go lang? Go lang has a rich set of standard libraries. Using Go’s standard libraries, we can generate RSA private and Public keys. The Crypto standard libraries in Go lang Go lang standard libraries has a rich set of cryptography functions. Here are
Read more