Good open-source and free scanner software for Windows?

Any suggestions on good open-source and free scanner software for Windows? NAPS2 (Not Another PDF Scanner 2) is my favorite opensource scanner software on Windows: Scan documents to PDF and other file types, as simply as possible. NAPS2 is a document scanning application with a focus on simplicity and ease of use. Scan your […]

Where Does Evolution Save Its Data and Configuration Files on Linux?

Evolution is a great personal information management tool that provides Email, address book and calendar tools. Evolution provides many enterprise friendly feature such as native support to Microsoft Exchange connectivity for Emails, address books and calendars. Evolution uses various ways including plain files and dconf configuration systems. This post will give an introduction to the […]

How to Automatically Move Junk Emails to The Junk Folder in Thunderbird

Junk Emails, or Email spams, are annoying and they cost time to deal with. While they are something we need to cope with, we can use tools to help us. Thunderbird has an adaptive junk filter that can learn from user’s actions to identify junk messages. I find that Thunderbird default settings are not fully […]

How to Set the Static IP Address Using CLI in Fedora/CentOS Linux

How to set the static IP address for CentOS 7/Fedora 22+ is introduced in this post. Here, we assume the Linux is using NetworkManager to manage the network. All steps are done as root. Find the interface you want to set the address ∞ Command ifconfig -a lists all interfaces. Find the interface name to […]

Three Methods of Executing Commands on Many Nodes in Parallel via SSH on Linux

It is common to execute commands on many nodes/hosts via SSH for managing a cluster of Linux servers. On Linux, there are many choices for this task. Generally, to run commands on many nodes, there are two modes: serial mode and parallel mode. In serial mode, the command is executed on the node one by […]

Notes for Beginners of Software Development on Linux

Linux is a great platform for software development targeting servers or backends. In general, working on Linux is very productive. The problem that beginners on Linux face is the the learning curve is steep at the beginning. But believe me, after you get through the initial green steep learning step as in the figure below […]

How to Configure Scanner in an HP All-In-One Printer on Linux?

The hplip packages contains all the tools you need to set up the HP scanner. For scanning, you may use the sane and xsane tools. The tricky part to enable the scanner is carefully choose which driver to use from the hplip package. If you choose a non-suitable driver, only the printer will work and […]

How to Print PowerPoint Poster by HP Designjet 500 Plotter

First time getting my hand on a plotter (HP Designjet 500) directly to print a poster, I found it was an interesting experience. But configuring the printer settings was not that straightforward compared to using normal office A4 printers. I took photos of how it was configured for reference of my own and also those […]

How to Make GPT Partition Table and Create Partitions with parted on Linux

My best favorite disk partition table manipulation tools are cfdisk/fdisk on Linux. However, for large disks, cfdisk/fdisk (of the versions by this post is written) will just give up with a message suggesting GPT partition table format and using GNU parted like WARNING: The size of this disk is 6.0 TB (6001042391040 bytes). DOS partition […]

A posix_spawn Example in C to Create Child Process on Linux

The posix_spawn() and posix_spawnp() functions create a new child process from the specified process image constructed from a regular executable file. It can be used to replace the relative complex “fork-exec-wait” methods with fork() and exec(). However, compared to fork() and exec(), posix_spawn() is less introduced if you search on the Web. The posix_spawn() manual […]

Keyboard Key Mapping for Emacs: Evil Mode and Rearranging Alt, Ctrl and Win Keys

Ctrl keys are important and possibly most frequently used in Emacs. However, it is painful on today’s common PC keyboards since Ctrl keys are usually in the corner of the keyboard main area. Why the key mappings in Emacs are designed like this? After it was designed, Emacs was commonly on the Lisp Machine keyboards […]

Creating Fedora 20 Domain-U on Fedora 20 Domain-0

In this post, creating a file-backed virtual block device (VBD) and installing Fedora 20 in the Xen DomU via internet will be introduced. This domain is created on a Fedora 20 Dom0 as introduced in Installing Xen on Fedora 20 as Domain-0. For better performance, you may consider using LVM backed VM. Create file-backed VBD […]