Free VPNs for iPhone Users: OpenVPN + Ovpn Spider

Posted on

VPNs are useful for testing viewing webpages from a remote location or visiting blocked websites. In this post, I will introduce a method for finding and using free VPNs on iPhone. Note that the VPNs are free and the providers are not identified. Hence, only use this method for visiting public webpages or keeping visiting
Read more

Shrinking an Ext4 File System on LVM in Linux

Posted on

In Extending a Mounted Ext4 File System on LVM in Linux, we introduced how to extend a mounted ext4 filesystem on LVM Logical volume by adding a new physical volume. It is also common to shrink an ext4 file system as to spare some disk space. In this post, I will discuss how to shrink
Read more

How to Turn GNOME terminal to a Pop-up Terminal

Posted on

A pop-up terminal is great and handy on Linux and similar OS. On KDE, Yakuake is great. On Gnome or GTK, I ever tried Guake. It is quite good. However, it has not been as mature, stable and figure-rich as gnome-terminal. One day, I got this idea: why not using a script/program to manage the
Read more

How to Make Chrome Accept Self-Signed Certificates on Linux

Posted on

If your website uses a self-signed certificates, Chrome will show a warning every time and you need clicks to continue. In this post, I will introduce how to make Chrome accept self-signed certificates for sites on Linux. This post is made short on purpose and you need to search the Web and learn if you
Read more

How to Configure Linux Kernel Video Mode for 32-bit and 16-bit Boot Protocols

Posted on

The Linux kernel has a generic driver for a graphic framebuffer named vesafb on intel boxes. It provides a nice large console for most of modern displays. Setting VESA modes for Linux kernel with 32-bit and 16-bit boot protocol are different. We introduce both methods here. Linux kernel with 32-bit boot protocol For machine with
Read more

Hadoop Installation Tutorial (Hadoop 2.x)

Posted on

Hadoop 2 or YARN is the new version of Hadoop. It adds the yarn resource manager in addition to the HDFS and MapReduce components. Hadoop MapReduce is a programming model and software framework for writing applications, which is an open-source variant of MapReduce designed and implemented by Google initially for processing and generating large data
Read more

Useful Git Submodule Commands

Posted on

git submodule is a very useful tools in git to include other git repositories in one repository to handle cases such as library dependencies. In this post, I summarize some commonly used commands that I find useful for working with git submodule. For the list of full commands, check the git submodule manual. Add a
Read more

Directly SSH to Hosts’ Internal IPs Through the Gateway

Posted on

We have many hosts with internal/LAN IPs like 10.0.3.* behind a gateway and the hosts with LAN IPs can connect to the Internet through the gateway. We used iptables to forward port from the gateway to internal IPs so that users from hosts with Internet connections can SSH to the gateway’s forwarded port to log
Read more

Making Emacs Start Up Faster

Posted on

I use Emacs in terminals and start/close Emacs frequently as needed like in a file checking-editing-closing loop. However, Emacs seems take some time to start up especially some heavy modes are used. How to make Emacs start up faster? (If you just want the solution/script first, find the command in the summary section.) My solution
Read more

Big Data Benchmark from AMPLab of UC Berkeley

Posted on

Benchmarks are important to understand the performance and quantitative and qualitative comparison of different systems. Many analytic frameworks, such as Hive, Impala and Shark, are designed and implemented these years and become fundamental software for processing big data. How to benchmark these big data analytic systems is an interesting problem. The Big Data Benchmark The
Read more

RAII-like Error Handling and Resource Management in C

Posted on

Error handling and resource management are pervasive in programs. RAII originated in C++ is great. With RAII, it is much easier to write easy-to-read code that allocats/deallocats resources in the constructor/destructors. By representing a resource with a local object, we are sure that local object’s destructor will release the resource and will not forget to
Read more

Data Consistency Models of Public Cloud Storage Services: Amazon S3, Google Cloud Storage and Windows Azure Storage

Posted on

The public cloud storage services like Amazon S3, Google Cloud Storage and Windows Azure Storage replicate the data to ensure high availability. On the other hand, with data being replicated, the storage services exhibits certain data consistency models. Different cloud service providers employ different data consistency models nowadays. In this post, we survey the data
Read more

Managing Xen Dom0′s CPU and Memory

Posted on

The performance of Xen’s Dom0 is important for the overall system. The disk and network drivers are running on Dom0. I/O intensive guests’ workloads may consume lots Dom0′s CPU cycles. The Linux kernel calculates various network related parameters based on the amount of memory at boot time. The kernel also allocate memory for storing memory
Read more

Unified Linux Login and Home Using OpenLDAP and NFS

Posted on

In this post, how to unified Linux login and home directory using OpenLDAP and NFS/automount will be introduced. 0. System environment This solution is tested on Fedora 12 systems and CentOS 5. LDAP and NFS server: IP: 10.0.0.2 OS: Fedora 12 x86_64 ldap base dn: “dc=lgcpu1″ Clients: IP: 10.0.0.1/24 OS: Fedora 12 x86_64 1. LDAP
Read more

How to Measure Time Accurately in Programs

Posted on

It is quite common to measure the time in programs using APIs like clock() and gettimeofday(). We may also want to measure the time “accurately” for certain purposes, such as measuring a small piece of code’s execution time for performance analysis, or measuring the time in time-sensitive game software. It is hard to measure the
Read more

Favorite Sayings by John Ousterhout – Precious Experience and Advice for Building Systems

Posted on

John Ousterhout is a professor of Deparment of Computer Science from Stanford University. One recent project he is working on is the RAMCloud, a “new class of storage, based entirely in DRAM, that is 2-3 orders of magnitude faster than existing storage systems”. He posts his “Favorite Sayings” on his homepage. These sayings are precious
Read more

Changing Linux User Password in One Command Line

Posted on

In Linux, we use passwd to change password, but passwd requires input from stdin to get the new password. It is common case that we may want to change the password non-interactively, such as creating new user accounts and change or set password for these accounts on a number of Linux boxes when the new
Read more

How to Enable root on Ubuntu

Posted on

For UNIX users/developers, having the power of the user 0 (root’s UID) on our hands is essential. It also allows us to have complete control over the system. And one more thing we all have in common is that we hate Windows. Thus, we set out in search of an operating system for our own
Read more

Proxy using SSH Tunnel on Windows

Posted on

This article is an instruction of how to use https://www.systutorials.com/proxy-using-ssh-tunnel/ on a Windows machine. The mechanism is similar as the one in https://www.systutorials.com/proxy-using-ssh-tunnel/ with “Proxy listening to localhost port only”. Download PuTTY PuTTY is the software we use here for port forwarding. Please download it following the links in https://www.systutorials.com/open-source-and-portable-ssh-scp-sftp-and-vnc-clients-for-windows-to-remote-control-linux/. Configure PuTTY and create a
Read more

How To Mount Google Drive on Linux

Posted on

Google Drive is nice cloud storage which provide document editing features. However, it does not yet provide a Linux client. I find a good third party tool that works with Google Drive on Linux very well: google-drive-ocamlfuse. The website of google-drive-ocamlfuse provides easy to follow instructions to install it. In this tutorial, we show a
Read more