Grep 2 Lines using `grep` Command in Linux

Posted on

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

How to Install Go 1.13.x on Ubuntu 18.04

Posted on

In 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 on

We 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 on

I 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 on

Bash (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 on

Since 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 on

Conversion 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 on

VirtualBox 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 on

StoneWall 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 on

Gmail’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 on

OneDrive 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

Generating a Pair of RSA Private and Public Keys in Linux using OpenSSL

Posted on

RSA (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 on

How 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 on

Thunderbird 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 on

After 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 on

Google 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 Change Windows User Name on Windows 10 Using Computer Management

Posted on

The 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