# Configure Mail Service With PHP Mail Function and Postfix

This article describes how to use the php function mail to send a mail.

# Resolve Hg Conflicts Manually

This artical tells about a simple method to resolve Hg conflicts. It doesn’t use any 3-party tool to merge your code, but only use emacs to edit your conflicts file and tag a resolved tag. So don’t apply it to merge big files with a lot of conflicts.

# Configure Network Using Ifconfig and Route

Setting up your network consists of three steps. First we assign ourselves an IP address using ifconfig. Then we set up routing to the gateway using route. Then we finish up by placing the nameserver IPs in /etc/resolv.conf.

# Check if a String Contains Chinese Characters

Transfer the string to Unicode and since Chinese is between 0x4e00 and 0x9fff, just check if there is a character in this range.

# How to Make a Windows Installer

## Introduction

There are many tools which can be used to make an installer, like NSIS, Install Shield, Advanced Installer, WiX, InnoSetup and even Visual Studio. Here I just show you how to make an installer by NSIS. NSIS (Nullsoft Scriptable Install System) is a professional open source system to create Windows installers. NSIS is script-based, which means you configure your installer by a script. That makes it small and flexible.

# Configure SSH on Arch Linux

Just record this for possbile uses.

# How to Configure 2 Routers on Home Network

You need to connect 4 computers to the internet. Now you have 2 routers, but each with 3 LAN ports. How would you solve this issue?

# Calling Non-const Member Functions From Const Member Functions

Compare the following two segments of codes. Which do you think is better?

# A Discrete Cosine Transform Demo

The Discrete Cosine Transform (DCT) algorithm constitutes an integral component of contemporary image/video processing applications.

The formal definition of DCT is:

$$X_k = \sum\limits_{n=0}^{N-1}{x_n}\cos{\left[\dfrac{\pi}{N}\left(n+\dfrac12\right)k\right]}\quad k=0,\ldots,N-1.$$

# How to Set Proxy for Apt-get

Before running apt-get command, run the following command:

# Left-handed Mouse Cursors

I made a set of left-handed mouse cursors so that I can use my left-handed mouse more comfortably.

I just used a tool ArtCursors to import the standard cursors from Windows XP, and edited the cursors in ArtCursors, flipping and setting the hot-spot for each.

Now,  have a look:

# Netcat File Transfers

In a very simple way it can be used to transfer files between two computers. You can create a server that serves the file with the following:

# Obtain the Title of a Website

The idea is to retrieve the html file of the website and parse it to find the content between <title> and </title>.

To get the html file, we need a library in C++, as the standard library has no such functions. I choose the libcurl library, and you can download it here: http://curl.haxx.se/libcurl/.

# Shakespeare Sonnet 29

When in disgrace with fortune and men’s eyes,

I all alone beweep my outcast state,

# How to Rotate an Image

With OpenCV, it’s easy to rotate an image by code.

# Transform All Files to UTF-8 Encoding

### Update

I’m tired of transform shift-jis encoding to UTF-8 encoding for each file in my project these days, so I want to write a script to automatically do this job for me. After searching the Internet, I find it’s an easy job with the tool of Python.

Python, at least 2.6 version, has a library called codecs, and all we have to do is just using this library to read and write files in different encodings.

This code transforms all files, including files in sub-folders, from shift-jis encoding(or detected encodings) to UTF-8 encoding.

# Get the Absolute Path of the Current Script

There are a lot of methods to get the path of a script in Python, but the following method always work, even you use py2exe or PyInstaller to compile the script to binary executable file.