3 Important DNS Records for Email

As Mail Exchange Record (MX) defines the server we used to receive email, it is not enough to secure your email service. Take a look at the mail server setup tutural, it is completely possible that we can configure the mail server send emails using any ”send from” address. This brings the security concerns:

How to Setup Postfix & Dovecot

In this tutorial, we will setup a Postfix Email/SMTP server and a Dovecot IMAP server. We then configure the SSL certificate to enforce the security/privacy.

Use Scala Future to do Multiple Concurrent Tasks and Wait for Results

Suppose we need to do multiple tasks concurrently and wait until all of them been finished. Scala Future is the way to go. In the following code, we execute multiple tasks using 8 threads and return the results until all the tasks done.

Install Latest Firefox/iceweasel in Debian

Being motivated by Why Ubuntu is not using the Firefox ESR, I decided to switch my Iceweasel to the realse version. The release version of Iceweasel is in experimental package. This is how I install it:

Use Scala Swing with SBT to write GUI Program

Swing is a GUI widget toolkit for Java. It is part of Oracle’s Java Foundation Classes (JFC). Scala Swing is wrap most of the Java Swing’s API for Scala.

Using hooks in Gitolite – Push to Github

Mirror in Gitolite is a bit too complicated to setup. What I am seeking for is to automatically push to github while I push to my gitolite repository.

Config Cgit & Gitolite

Install Gitolite & Cgit

Use SBT and Git to create Your Own Maven Repository

By leverage SBT and Git, it is very easy to deploy your own distributed Maven Repository.

sshd Failed password

I see a log of Failed password attempt from sshd logs:

Git-bz: Integrate Bugzilla and Git

I am trying to seek solutions to integrate bugzilla and git. One of the elegant solution is to the server side git hook, Gitzilla, which depend on Python interface to Bugzilla – pybugz. However, Gitzilla is lack of updates for 4 years and not seems to be a dependable solution for me. The last commit of Bugzilla is on Aug 16, 2011. And the Gitzilla compatible version is still 0.9.3, while the latest release of pybugz is 0.11.1.

Clone a git repository with all branches and tags

In order to clone a git repository including all branches and tags you need to use two parameters when cloning the old and pushing to the new repository respectively:

Scala Functional Programming for Word Count

It is very complicated to write a Hadoop Word Count example. The Spark’s Hello Word example is much more simpler: