Category Archives: Computer Tips

build openvpn from command line

first download the source and cd to the extracted directory, you should run follow commands:

tar -zxvpf openvpn-2.3.4.tar.gz
cd openvpn-2.3.4
aptitude install libssl-dev liblzo2-dev libpam0g-dev gcc make -y
make install

auto mount a windows folder share on debian startup for development purpose

Auto mount a windows folder share on debian startup could be your honey if you run into this situation:
1. run linux as a website server development environment
2. most of your tools with good ui only run under windows
To bridge this gap, you want to have linux access to your windows share, and this is how to do it:
work on the windows:

  1. create a user “linuxweb” with the password “1y1cc1″ (please use your own values in your situation)
  2. share your work folder as “workproject” and make sure the user “linuxweb” you created have all the permission

work on the linux:

  1. create the mount point by these commands:
    mkdir /website
    mkdir /website/winworkproject
  2. setup auto mount on debian boot, run:
    pico /etc/rc.local
    and add this line to the file:
    mount -t cifs // -o username=linuxweb,password=1y1cc1,uid=www-data,gid=www-data /website/winworkproject

One problem:
There is one problem I run into during this adventure: I initially tried to auto mount the share by fstab:
// /website/winworkproject cifs username=linuxweb,password=1y1cc1,uid=www-data,gid=www-data 0 0
but got an error saying:
CIFS VFS: cifs_mount failed w/return code = -112
I have no clue what code -112 is, then I have to do it by rc.local and it looks work well. Please leave a comment below if you know what code -112 is, thanks!

sendmail is being slow on linux

sendmail is very easy to install and use with php on linux. But it could be slow by default configuration. The reason which I ran into is because the server doesn’t configured with a qualified host name and it keeps retrying. To fix the issue:
and set the ip for your domain like this:

I haven’t got the whole picture of this, but this quick fix does work. Hope it could also help you if you are demand a quick solution.

programmer’s blog with good stuff and a list of great tools&library

List of programmer’s blog with cool stuff
Some .net related good posts:
Graphical programmer:
Great .net programmer writes excellent codeproject article:

List of platform:
Open slim:

List of tools:
ilmerge, merge .net dll and exe into one:
windows api monitor:

List of library:
Take directx and multimedia api to .net:
GraphicsMagick is a folk of ImageMagick, it’s an image manipulation library, speed faster and size smaller than ImageMagick:

synthesia, on screen midi keyboard and even more:

merge .net dlls into one with ILMerge

If you hate to distribute many .net assemblies, then a tool I have just discovered might be of help: ILMerge, the url is:

But I don’t know a good solution that could do both obfuscation and dll merge. It’s always good to keep the stuff slim but also bug free without headache.

And good to know there is a tool called: apimonitor,, should to the thing as it’s name indicates which I always want to know about.

Quick guide to config a samba server on debian to share files between windows and linux

It comes handy to setup samba server on a linux computer, for example: debian, and from there you will be able to share files to windows, the linux computer could be used as a windows computer provide file share. And you can access directory structure from a windows explorer:

access linux directory through samba from windows explorer

access linux directory through samba from windows explorer

There is already a great step by step guide here:

For me, I know the general idea and only need a quick reference to go for, so I listed a shorten steps below:
apt-get install samba

Edit the config file:
emacs /etc/samba/smb.conf

Add the content below to the end of the file:
comment = website
path = /website
valid users = @root
create mask = 0744
directory mask = 0744
writable = yes

Add username to samba:
smbpasswd -a root

Looks like it is required to add your username to samba’s own tracked list of allowed users: (of course you can add other users instead of root in your linux server, I use root here because I only want to setup a test machine for develop purpose)

Restart the server:
/etc/init.d/samba restart

That’s it, follow this quick list, you will be able to start a samba in 2 minutes for some quick use. But if you are looking for serious use, you’d better read&understand each config item in the manual.

Last by not least, an even short copy&paste block for you to make a quick start:

apt-get install samba
emacs /etc/samba/smb.conf

comment = website
path = /website
valid users = @root
create mask = 0744
directory mask = 0744
writable = yes

smbpasswd -a root
/etc/init.d/samba restart