grep is excellent to match patterns from STDOUT/text files in command line or scripts. It’s handy. Sometimes, our problem is more complex than finding a keyword from a file. On a first thought, it may sound impossible using grep for such complex problems. But grep can be quite powerful than we thought. Today, let’s check
Read more
Category: Tutorial
How to Install Go 1.13.x on Ubuntu 18.04
Posted onIn Ubuntu 18.04 LTS, the default Go lang version is 1.10. For compatibility reason, the Ubuntu LTS will usually keep the major release version numbers for packages. However, many applications, such as Hyperledger Fabric 2.0, require a newer version of Go. In this post, let’s take a look at how to install a system level
Read more
GCC May “Save” You Some Recursive Functions Calls: an Analysis of a Function Call Stack Length Example
Posted onWe know compilers like gcc can do lots smart optimization to make the program run faster. Regarding functions call optimization, gcc can do tail-call elimination to save the cost of allocating a new stack frame, and tail recursion elimination to turn a recursive function to non-recursive iterative one. gcc can even transform some recursive functions
Read more
Dynamics 365 Developer Extension is Now Working in Visual Studio 2017
Posted onI don’t know why Jason Lattimer’s D365DeveloperExensions no more working after VS 2017 release? It seems D365DeveloperExtensions anymore supported for newer Visual Studio version. I am pretty much sure, some of you may be still struggling with installing Dynamics 355 Developer extension for your Visual Studio 2017 community or professional edition. Not sure why this tool has been
Read more
Bash Learning Materials
Posted onBash (GNU Bourne-Again SHell) the default shell for many Linux distributions. It is very common for scripting languages in Linux. Bash is easy and straightforward for writing small tools. However, as most tools, it has its grammars that could easily cause bugs if they are not used correctly. Here I summarize a list of good
Read more
How to Install Wine 32-bit on CentOS 8
Posted onSince version 7, RHEL and CentOS only have 64 bit versions. For some reasons, it’s better to run many Windows applications under 32 bit wine. Like How to Install Wine 32-bit on CentOS 7, this post introduce how to install 32-bit Wine on CentOS 8. Most of the mechanisms are similar yet there are differences.
Read more
How to Convert Integers to Strings and Strings to Integers in PHP
Posted onConversion from integer to string and from string to integer are common operations in most applications such as C++. PHP has its uniqueness in language and standard library design. In this post, we will check methods to convert integers to strings and vice versa. Convert string to int in PHP You can cast a string
Read more
How to list and start VirtualBox VMs in command line in Linux?
Posted onVirtualBox is a nice open source virtual machine software. It works nicely on Linux and is supported by many Linux distros like Ubuntu in their official package repositories, so it is quite easy to set it up on Linux. The VMs can also be managed in command line using the vboxmanage command line tool provided
Read more
A StoneWall Solution in C++
Posted onStoneWall is an interesting problem that requires some brain cycles yet not too complex. It is good software engineer interview question. Here is a C++ solution whose complexity is O(N). #include <stack> int solution(std::vector<int> &H) { int stones = 0; std::stack<int> heights; for (auto h: H) { while (!heights.empty() && h < heights.top()) { heights.pop();
Read more
Adding Gmail SMTP in Thunderbird
Posted onGmail’s authentication is secured by rejecting access from less secure apps. By default, adding Gmail SMTP in Thunderbird with your Google account password as SMTP authentication password will not work. And Google is beginning to shut off Google Account access to less secure apps. To solve this, the method is to use OAuth2 authentication instead
Read more
How to synchronize OneDrive and OneDrive for Business files in Linux using Insync
Posted onOneDrive is one of the good cloud storage services available and there is a business version called OneDrive for Business. Microsoft’s Office 365 plan is widely used including Exchange Email service and OneDrive for Business. However, there is no official client released yet for Linux users. Insync is a third party cloud storage syncing software
Read more
How to list all commits in a git repository
Posted on`git log` only list all the commits in the current working branch. For some cases, we may want to list all the commits in a git repository. The `git log` command does not do this. But there are other supports in `git` that can do so. The command to list all commits is git rev-list
Read more
Generating a Pair of RSA Private and Public Keys in Linux using OpenSSL
Posted onRSA (Rivest–Shamir–Adleman) is a widely used public-key cryptosystem that is used for secure communication over the internet. In this post, we will explore how to generate a pair of RSA private and public keys in Linux using the OpenSSL library. Generating a pair of RSA private and public keys in Linux using OpenSSL is a
Read more
How to encrypt a file using openssl on Linux non-interactively?
Posted onHow to encrypt a file using openssl on Linux non-interactively? The passphrase shall be provied to openssl in a programmatic way instead of requesting the user to input it, so that the command may work in a regular cron job or some batch jobs. To encrypt file file.tgz and store it to file.tgz using aes-256-ebc
Read more
Synchronizing Thunderbird Calendar and Address Book with Office365 Exchange Online using ActiveSync
Posted onThunderbird is a nice email client available on Linux and Windows. With the Lightning plugin, Thunderbird can support calendar functions well. Exchange is a widely used email and calendar/address book service software. Office 365 provide the cloud version of Exchange named Office 365 Exchange Online. Although Exchange Online provide IMAP for synchronizing emails, it provides
Read more
How to Make iPhone with iOS 13 Faster
Posted onAfter the recent iOS upgrading to version 13, many older iPhones such as iPhone 8 turn to be running slower, although there are many new features. New features and functions use more CPU/GPU/memory and the iOS may run slower. But are there any methods to make it run faster? After quite some research and testing,
Read more
What Are the Secrets Behind Google’s Success Story?
Posted onGoogle has created an image that tells us its core values are centered around innovation. There are very few companies that can boast a similar level of influence as Google. Nevertheless, we should not only focus on Google’s achievements today but also learn from their journey to the top. We can break down Google’s core
Read more
How to generate a pair of SSH private key and public key pairs?
Posted onHow to generate a pair of SSH private key and public key pairs? On Linux, you can generate one first by $ ssh-keygen -t rsa By default on Linux, the key pair is stored in `~/.ssh` named `id_rsa` and `id_rsa.pub` for the private and public key.
How to cat a text file out from a tar archive without having to extracting it?
Posted onHow to cat a text file out from a compressed tar archive package without having to extracting the whole package? For example, I have a pkg.tar.gz which contains a text file pkg/readme.txt in it. How to cat the pkg/readme.txt file content out? You may use this command to cat out the file content: tar -O
Read more
How to Change Windows User Name on Windows 10 Using Computer Management
Posted onThe Windows user name can be changed according to the user’s needs and requirement. The Windows 10 Windows Settings tool interface keeps changing after updates. It is a little hard to find out the tool to do the user name changing. One way to change Windows user name is to do it through the Computer
Read more