In this post, we will explore a flexible utility function for splitting a string based on a given delimiter using C++ and the standard library. This allows us to break down complex strings into smaller parts that are easier to process and manipulate. The C++ Utility Function to Split a String by Another String Background:
Read more
Installing Zlib in Ubuntu 22.04
Posted onZlib 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
Why std::vector is the Optimal Choice for Data Structures for Performance in C++
Posted onIn 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
Decentralized Exchanges (DEX) vs. Centralized Exchanges (CEX): A Technical Comparison
Posted onCryptocurrency exchanges have revolutionized the way we trade digital assets, with two main types of exchanges dominating the market: decentralized exchanges (DEX) and centralized exchanges (CEX). In this article, we’ll compare the DEX and CEX from a technical perspective. Decentralized Exchanges (DEX) DEX operate on a decentralized blockchain network, such as Ethereum, and are built
Read more
Generating ECDSA K1 and R1 keys using OpenSSL in Linux
Posted onECDSA 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
The Impact of Blockchain and Crypto Technologies on Global Financial Markets
Posted onWelcome to the groundbreaking world of cryptocurrency and blockchain technologies! These cutting-edge technologies are shaking up the global financial environment and paving the path for a more transparent and decentralized future. Consider blockchain technology to be a digital counterpart of a ledger book. It is a secure and immutable digital ledger that records all transactions
Read more
Sorting Two Lists Together According to The Order of One List in Python
Posted onWe 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 onThunderbird 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 onEmail 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 onDocker 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 onsnap 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
Starting Page Number from the Second Page in MS Word
Posted onFor document, we may use the first page as the title page. Then the page number 1 should start from the second page. In this post, we will look at how to make MS Word count the page number from the second page. That is, making word treat the second page as page number 1.
Read more
GNONE 3 Screenshot Keyboard Shortcuts
Posted onGNONE 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
Linux Kernel 4.19.178 Release
Posted onThis 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 onThis 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 onThis 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 onThis 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
Linux Kernel: xt_quota: report initial quota value instead of current value to userspace
Posted onThis change “xt_quota: report initial quota value instead of current value to userspace” (commit 49daf6a) in Linux kernel is authored by Changli Gao <xiaosuo [at] gmail.com> on Fri Jul 23 14:07:47 2010 +0200. Description of “xt_quota: report initial quota value instead of current value to userspace” The change “xt_quota: report initial quota value instead of
Read more
Reading JSON from URL in R
Posted onR is good at analyzing data. Many data are provided as JSON from RESTful APIs with an URL. R natively support many data format. For JSON, we can use some libraries. For reading JSON from URL, we can use the “jsonlite” package. In this example, we use an example of fetching BTC prices of last
Read more
Reading Excel xls/xlsx Files in R
Posted onMany useful data are stored in Excel xls or xlsx format files. R is good at doing analysis on top of data. We would then need to import the data to R by reading the xls/xlsx files to be R data frames. In this post, we check how to import data from Excel files to
Read more