useless search result in eMule

Since there are dummy servers sending fake items to obfuscate user,
you should block those servers by using ipfilter
you can update the filter list by the following website
eMule MoDs - IPFilter v131 Download

VirtualBox NAT Port forwarding / mapping

run under terminal:
VBoxManage setextradata "Guest_Name” “VBoxInternal/Devices/pcnet/0/LUN#0/Config/Rule_Name/UDP” 0
VBoxManage setextradata “Guest_Name” “VBoxInternal/Devices/pcnet/0/LUN#0/Config/Rule_Name/GuestPort” 80
VBoxManage setextradata “Guest_Name” “VBoxInternal/Devices/pcnet/0/LUN#0/Config/Rule_Name/HostPort” 8880

Guest_Name is the name of the Guest OS
Rule_Name is any name you like
8880 is the external port which will open on the host
80 is the port of the Guest OS that will forward to
pcnet is the NIC device selected in VM, not neccessary to be pcnet

有事就記: VirtualBox NAT port forwarding
VirtualBox - Configuring port forwarding with NAT - Aviran’s Place


Auto Big5 detection in gedit

using gconf-editor
modify the key: /apps/gedit-2/preferences/encodings/auto_detected
add BIG5-HKSCS before ISO-8859-15


System Hidden Folder

Making a Folder System Hidden
Making a Folder System Hidden
Now, we get to make a folder system hidden. We will continue from Step 1.

Open Command Prompt by going to Start, Run and typing "cmd". This will open Command Prompt.

In Command Prompt, type the following:

Press ENTER.
Then, type this:

attrib x +s +h
Press ENTER again.
If you named the folder something other than x, then adjust it as necesary.

Congratulations! You just made a system hidden folder. It will be hidden from prying eyes, unless they know how to view it, which I will show you next.

numpad doesn't work randomly under VNC

Bug #192508 in X.Org X server: “mouse keys turns on randomly”
In keyboard preferences > layouts > kb layout options > caps lock key
I had caps lock behavior set to "caps lock toggles Shift so all keys are
This is not the default setting (although I can't remember changing it).
As a result pressing the numlock key while caps lock was enabled in effect
triggers a shift+numlock which enables mousekeys.
Setting the caps lock key behaviour back to default ensures that numlock
only enables/disables numlock even with capslock enabled (as you'd expect).
This almost certainly solved it for me.


CCNA Packet tracer

喝茶也喝咖啡: CCNA Packet tracer 4.0 使用問題
這學期CCNA2有大量的實驗要做,學校的Router時好時壞,而且要做到較複雜的網路設置跟本不可能,所以使用老師提供的Packet tracer來練習,但這套軟體我在學校使用一切正常,但在家裡就是不正常,問題是CLI介面的命令模式無法使用,無論enable多少次,Router>都不會變成Router#,有天上課時我問老師,老師也不知道這種情況。




下圖 ,改鍵盤設定後,鍵入enable後,LAB_C>改變成LAB_C#

何處可以取得CISCO Packet Tracer呢?針對上CCNA課程的學生,Packet Tracer是免費下載的,只要登入CISCO網站,在自己的Profile首頁中的左邊,就可以看到不算小的Packet Tracer圖片下載連結,除此之外,依據授權,上CCNA課程的老師可以散佈這軟體給學生,所以上課時跟老師要軟體是合法的。

目前Packet Tracer最新版最近才剛出爐,版本4.1,功能多了不少,例如無線網路裝備。當然若不是課程的學生,則無法取得這軟體,不過,網路上還是有人會分享,這裡有人提供4.0版的。

至於要怎麼時用Packet Tracer,網路上幾乎找不到這軟體的教學,其實不用花心力去找教學,Packet Tracer軟體自身使用手冊中就有STEP by STEP的教學示範(開啟Packet Tracer後,按F11鍵),就算英文不太懂,看Flash動畫示範應該也很容易學會基本操作,在網路上有分享CISCO官方網站所提供的Packet Tracer操作展示說明,對於初次接觸的人可以看一下這操作展示。

Free Backup Apps

13 Great Free Backup Programs for Windows, Mac, and Linux - Download Squad
Integrated Burning

Comodo Backup [win]
They do make than a great firewall. Comodo Backup is an excellent free solution. It has extremely flexible scheduling and notification options, supports FTP destinations, can burn multisession DVDs, and has a synchronization mode for quick realtime backups.

DFIncBackup [win]
As is the case with most backup applications, there's a free and paid version. The free one still handles CD/DVD backups, and it also does incremental .zip jobs as well - only backing up files that have changed or weren't present in your previous job.

SE Backup [win]
Sports a very simple interface, does CD and DVD burning and compression, and is available as a portable application. Scheduling isn't built in, but it supports command line launching with parameters which works very well with Windows' own Task Scheduler.

File Copy

Abakt [win]
Though it's no longer developed, Abakt is still a great choice. It's got a great file filtering system, supports 7zip and zip compression, file splitting, password protection, and does differential and incremental backups.

Areca [win]
Free, open source, and wicked powerful. Areca is loaded with features: compression, encryption, simulation, merging, transaction commit/rollback, filtering, and more. It's command line interface provides excellent automation options and Areca also supports scripting of post-job actions.

Bonkey [win] [mac]
The "Backup Monkey." If I was giving points for best mascot, this one would be a clear winner.

Bonkey runs on both Windows and Mac, and has a lot of great features. It supports email, FTP, and Amazon S3, compression, encryption, scheduling, and synchronization. It'll even back up MS SQL server databases.

Cobian Backup [win]
Apart from being a great application, Cobian's developer has an excellent tutorial online to help you get started. Though it is no longer open source, you may still download the last version that was (v8). There's also a portable version.

One of my favorite features of Cobian is its ability to handle pre- and post- job events. I use it to issue net stop and net start commands to ensure safe backups of our horrible, horrible point-of-sale system. Cobian also has the ability to control and monitor all its instances on your network from your own workstation.

JaBack [win] [mac]
Allows backup to FTP and email (as well as any drive on your computer or network), and sports a flexible scheduler. It also has a file monitor function that will perform backup operations whenever changes are detected.

Mathusalem [mac]
Offers FTP/SFTP, Amazon S3, WebDav, and SMB support for backups on OSX. Mathusalem can compress to zip and dmg, will resume failed uploads, and supports scheduling and command line launching. It's also open source.


Bacula [win] [mac] [linux]
Bacula is an enterprise grade network backup solution that runs on just about every platform imagineable. It's a much more complex system than the other options I've mentioned, but is extremely powerful and well-suited to a medium or large scale network.

BackupPC [win] [linux]
A Linux-based, client-free enterprise solution for backing up Windows and Linux machines. BackupPC uses SMB, tar, and rsync to extract backup data from client computers. It 's got a powerful web-based interface for administrators and users, and will even email reminders to users that have been remiss in performing backups.

It's a very flexible solution, and is open source.

NasBackup [win] [linux]
Uses a simple Windows GUI and rsync to perform backups from client machines to a central server. It'll do incremental backups, scheduling, compression, encryption, and the server offers useful per-client controls like limiting the number of versions to store and expiration dates. It also provides daily summaries via email.

Restore [win] [mac] [linux]
The self-proclaimed "reason backup was invented." It's definitely a great product, and full of terrific features. Its web interface is very easy to understand and use - and makes it easy for the mobile admin to monitor and control Restore from anywhere.

Restore supports FTP, WebDav, SSH/SFTP, and multiple revisions. It also provides powerful admin tools, making it easy to create and control users, groups, jobs, and scheduling.

VirtualBox USB problem under Ubuntu

User_FAQ - VirtualBox
* USB on Ubuntu/Gutsy: Ubuntu removed support for /proc/bus/usb/*. We will address this issue in the future. Until this, edit the script `/etc/init.d/mountdevsubfs.sh and activate the four lines around line 40 (Magic to make /proc/bus/usb work). Then execute

/etc/init.d/mountdevsubfs.sh start

From now on, there should be a directory /proc/bus/usb/ and the device entries below should be accessible by any user.

* USB on Ubuntu/Intrepid: Finally, the Ubuntu guys completely removed these lines. So you have to manually add them again:

mkdir -p /dev/bus/usb/.usbfs
domount usbfs "" /dev/bus/usb/.usbfs usbfs -obusmode=0700,devmode=0600,listmode=0644
ln -s .usbfs/devices /dev/bus/usb/devices
mount --rbind /dev/bus/usb /proc/bus/usb

Add these lines to at the end of the start() function of /etc/init.d/mountdevsubfs.sh.
Note that the udev permissions for the USB devices are still used. For instance, to access a USB disk you have to be member of the group disk. Execute

/bin/ls -l /proc/bus/usb/*/*

and check if you have write access to all desired USB devices.
VirtualBox - Community Ubuntu Documentation
To get USB support, you need the PUEL version. Via the GUI, there is an option to enable USB.

Furthermore, your user must be able to access /proc/bus/usb/*

Since Gutsy, /proc/bus/usb is not mounted by default. You need to edit /etc/init.d/mountdevsubfs.sh and uncomment the following lines:

# Magic to make /proc/bus/usb work
mkdir -p /dev/bus/usb/.usbfs
domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
ln -s .usbfs/devices /dev/bus/usb/devices
mount --rbind /dev/bus/usb /proc/bus/usb

In order to give users in the vboxusers group write permissions to the devices in /proc/bus/usb, you'll need to edit some rules in /etc/udev/rules.d.

Under gutsy, edit /etc/udev/rules.d/40-permissions.rules to say the following:

# USB devices (usbfs replacement)
SUBSYSTEM=="usb_device", MODE="0664", GROUP="vboxusers"

Under hardy, edit /etc/udev/rules.d/40-basic-permissions.rules to say the following:

# USB devices (usbfs replacement)
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664", GROUP="vboxusers"
SUBSYSTEM=="usb_device", MODE="0664", GROUP="vboxusers"

Then, restart the udev service:

sudo /etc/init.d/udev restart

Now, if you haven't done it already, make sure your user is part of the group vboxusers using the following command:

sudo adduser $USER vboxusers

Ubuntu Unleashed: Howto: Install VirtualBox in Ubuntu Hardy Heron with USB Support in 5 easy Steps!

If the above doesnt work try rebooting, if that doesnt enable usb you can try this:
Grab the vboxusers group id:
grep vbox /etc/group
Edit the fstab with the group id # in bold:
sudo gedit /etc/fstab
Append this to the fstab then save/exit:
## usbfs is the USB group in fstab file:
none /proc/bus/usb usbfs devgid=124,devmode=664 0 0
Now lets edit the mountkernfs.sh file with the gid in bold:
sudo gedit /etc/init.d/mountkernfs.sh
Paste the 2 lines below above the line: "# Mount spufs, if Cell Broadband processor is detected"
## Mount the usbfs for use with Virtual Box
domount usbfs usbdevfs /proc/bus/usb -onoexec,nosuid,nodev,devgid=124,devmode=664

You may not need to reboot, try doing:
sudo /etc/init.d/mountkernfs.sh


rpm vs. dpkg 常用參數對照

Jamyy's Weblog: rpm vs. dpkg 常用參數對照
rpm vs. dpkg 常用參數對照

dpkg 是 Debian Linux 的套件管理程式, 對於習慣 rpm 的人來說, 一開始接觸 dpkg 時還真有點不太能適應, dpkg --help 查了又忘、忘了又查...

於是整理了一下兩種指令的對照表, 這樣就比較好上手了 :)


目的 rpm 用法 dpkg 用法
安裝指定套件 rpm -i pkgfile.rpm dpkg -i pkgfile.deb


目的 rpm 用法 dpkg 用法
顯示所有已安裝的套件名稱 rpm -qa dpkg -l (小寫 L)
顯示套件包含的所有檔案 rpm -ql pkgname (小寫 L) dpkg -L pkgname
顯示特定檔案所屬套件名稱 rpm -qf /path/to/file dpkg -S /path/to/file
查詢套件檔案資訊 rpm -qip pkgfile.rpm (顯示套件資訊)
rpm -qlp pkgfile.rpm (小寫 L, 顯示套件內所有檔案) dpkg -I pkgfile.deb (大寫 I )
dpkg -c pkgfile.deb
顯示指定套件是否安裝 rpm -q pkgname (只顯示套件名稱)
rpm -qi pkgname (顯示套件資訊) dpkg -l pkgname (小寫 L, 只列出簡潔資訊)
dpkg -s pkgname (顯示詳細資訊)
dpkg -p pkgname (顯示詳細資訊)


目的 rpm 用法 dpkg 用法
移除指定套件 rpm -e pkgname dpkg -r pkgname (會留下套件設定檔)
dpkg -P pkgname (完全移除)

Adding Windows Fonts in Linux

All about Linux: Adding Windows Fonts in Linux
Method 1 :
Copy the ttf (True Type Fonts) fonts Ariel, Tahoma, Verdana, Courier New and Times New Roman from the windows partition to the fonts:// location in nautilus.

Method 2 :
Some people who are using Ubuntu have said that they can't do it as normal user. And since Ubuntu does not have a root account, they find difficulty in using su to copy eaither. Such people can do the following:
Create a '.fonts' folder in your home directory and copy the necessary fonts into it. Now you have access to the fonts on a per user basis.

Method 3:
This method can be used to install the fonts system wide if the above two methods do not give satisfactory results.
First find out in which location linux has installed the truetype fonts. It is usually at the location '/usr/share/fonts/truetype/' . But you may also do a search for the same as follows:

# find /usr -iname \*.ttf |head -n 5

Once you know the path of the fonts directory, move to this directory and create a folder there (it can be any name).

# cd /usr/share/fonts/truetype
# mkdir windowsfonts

Note: You need to be logged in as root while doing this.
Next copy all the windows ttf fonts to the windowsfonts directory that was just created.

# cp /media/hda1/windows/Fonts/*.ttf .

Now change the ownership of the fonts as well as make sure they have a right of 644 .

# chown root.root *.ttf
# chmod 644 *.ttf

Now run the command mkfontdir while in the windowsfonts directory.

# mkfontdir

This will create an index of the fonts in the directory. It will also create two files fonts.dir and fonts.cache-1 .
Now moving to the parent directory, edit the file fonts.cache-1 using your favourate editor and append the following line to it.

#File: /usr/share/fonts/truetype/fonts.cache-1
"windowsfonts" 0 ".dir"

Lastly run the command fc-cache.

# fc-cache

This command will scan the font directories on the system and build font information cache files for applications using fontconfig for their font handling.

That's it. Now you can have access to windows fonts in all your X applications including firefox and OpenOffice.org.


Software Restriction Policy

Begin by logging on as the Administrator and opening the Control Panel. Next, click the Performance and Maintenance link followed by the Administrative Tools link. When the Administrative Tools window opens, double click on the Local Security Policy icon. Now navigate through the console tree to Security Settings | Software Restriction Policies. There are two nodes beneath the Software Restriction Policies container; Security Levels and Additional Rules.

You can choose the following rules:
Certificate Rules
Hash Rules
Internet Zone Rules
Path Rules

ref: Using Software Restriction Policies To Keep Games Off Of Your Network

VPN server in Windows XP Professional

How to create the VPN server interface, step-by-step

1. Click Start | Control Panel.
2. In the Control Panel, open the Network Connections applet.
3. In the Network Connections window (see Figure A), open the New Connection Wizard.
4. On the Welcome To The New Connection Wizard page, click Next.
5. On the Network Connection Type page (see Figure B), select the Set Up An Advanced Connection option.
6. On the Advanced Connection Options page (see Figure C), select the Accept Incoming Connections option and click Next.
7. On the Devices For Incoming Connections page (see Figure D), you can select optional devices on which you want to accept incoming connections.
8. On the Incoming Virtual Private Network (VPN) Connection page (see Figure E), select the Allow Virtual Private Connections option and click Next.
9. On the User Permissions page (see Figure F), select the users that are allowed to make incoming VPN connections. Click Next.
10. On the Networking Software page (see Figure G), click on the Internet Protocol (TCP/IP) entry and click the Properties button.
11. In the Incoming TCP/IP Properties dialog box (see Figure H), place a check mark in the Allow Callers To Access My Local Area Network check box. This will allow VPN callers to connect to other computers on the LAN. If this check box isn’t selected, VPN callers will only be able to connect to resources on the Windows XP VPN server itself. Click OK to return to the Networking Software page and then click Next.
12. On the Completing The New Connection Wizard page, click Finish to create the connection.
After the Incoming Connection is complete, right-click on the connection in the Network Connections window and select the Properties command (see Figure I).

ref: Configure Windows XP Professional to be a VPN server


Get stored Wireless Key from Computer

WirelessKeyView 挖出電腦裡的WiFi無線網路登入密碼!(中文版)  【重灌狂人】



Convert bin to iso under Linux


ref: Leonetix Home: CD Image Conversion


Firefox hacks

In Depth: 8 hacks to make Firefox ridiculously fast | PCAnswers
Firefox has been outperforming IE in every department for years, and version 3 is speedier than ever.

But tweak the right settings and you could make it faster still, more than doubling your speed in some situations, all for about five minutes work and for the cost of precisely nothing at all. Here's what you need to do.

1. Enable pipelining

Browsers are normally very polite, sending a request to a server then waiting for a response before continuing. Pipelining is a more aggressive technique that lets them send multiple requests before any responses are received, often reducing page download times. To enable it, type about:config in the address bar, double-click network.http.pipelining and network.http.proxy.pipelining so their values are set to true, then double-click network.http.pipelining.maxrequests and set this to 8.

Keep in mind that some servers don't support pipelining, though, and if you regularly visit a lot of these then the tweak can actually reduce performance. Set network.http.pipelining and network.http.proxy.pipelining to false again if you have any problems.

2. Render quickly

Large, complex web pages can take a while to download. Firefox doesn't want to keep you waiting, so by default will display what it's received so far every 0.12 seconds (the "content notify interval"). While this helps the browser feel snappy, frequent redraws increase the total page load time, so a longer content notify interval will improve performance.

Type about:config and press [Enter], then right-click (Apple users ctrl-click) somewhere in the window and select New > Integer. Type content.notify.interval as your preference name, click OK, enter 500000 (that's five hundred thousand, not fifty thousand) and click OK again.

Right-click again in the window and select New > Boolean. This time create a value called content.notify.ontimer and set it to True to finish the job.

3. Faster loading

If you haven't moved your mouse or touched the keyboard for 0.75 seconds (the content switch threshold) then Firefox enters a low frequency interrupt mode, which means its interface becomes less responsive but your page loads more quickly. Reducing the content switch threshold can improve performance, then, and it only takes a moment.

Type about:config and press [Enter], right-click in the window and select New > Integer. Type content.switch.threshold, click OK, enter 250000 (a quarter of a second) and click OK to finish.

4. No interruptions

You can take the last step even further by telling Firefox to ignore user interface events altogether until the current page has been downloaded. This is a little drastic as Firefox could remain unresponsive for quite some time, but try this and see how it works for you.

Type about:config, press [Enter], right-click in the window and select New > Boolean. Type content.interrupt.parsing, click OK, set the value to False and click OK.

5. Block Flash

Intrusive Flash animations are everywhere, popping up over the content you actually want to read and slowing down your browsing. Fortunately there's a very easy solution. Install the Flashblock extension (flashblock.mozdev.org) and it'll block all Flash applets from loading, so web pages will display much more quickly. And if you discover some Flash content that isn't entirely useless, just click its placeholder to download and view the applet as normal.

6. Increase the cache size

As you browse the web so Firefox stores site images and scripts in a local memory cache, where they can be speedily retrieved if you revisit the same page. If you have plenty of RAM (2 GB of more), leave Firefox running all the time and regularly return to pages then you can improve performance by increasing this cache size. Type about:config and press [Enter], then right-click anywhere in the window and select New > Integer. Type browser.cache.memory.capacity, click OK, enter 65536 and click OK, then restart your browser to get the new, larger cache.

7. Enable TraceMonkey

TraceMonkey is a new Firefox feature that converts slow Javascript into super-speedy x86 code, and so lets it run some functions anything up to 20 times faster than the current version. It's still buggy so isn't available in the regular Firefox download yet, but if you're willing to risk the odd crash or two then there's an easy way to try it out.

Install the latest nightly build (ftp://ftp.mozilla.org/pub/firefox/nightly/latest-trunk/), launch it, type about:config in the address bar and press Enter. Type JIT in the filter box, then double-click javascript.options.jit.chrome and javascript.options.jit.content to change their values to true, and that's it - you're running the fastest Firefox Javascript engine ever.

8. Compress data

If you've a slow internet connection then it may feel like you'll never get Firefox to perform properly, but that's not necessarily true. Install toonel.net (toonel.net) and this clever Java applet will re-route your web traffic through its own server, compressing it at the same time, so there's much less to download. And it can even compress JPEGs by allowing you to reduce their quality. This all helps to cut your data transfer, useful if you're on a limited 1 GB-per-month account, and can at best double your browsing performance.

Enable vim syntax highlighting

Using vim color schemes with Putty - Vim Tips Wiki - a Wikia wiki
I am using PuTTY in Windows to access a Unix box, and the Terminal-type string in PuTTY is set to xterm. I wanted to use Vim's color schemes. I tried many different things with no decent result until I found the following code in Vim's help. After inserting the following lines in my vimrc, I was able to use all the color schemes defined by Vim.

For a 16-color display:

if has("terminfo")
let &t_Co=16
let &t_AB="\[%?%p1%{8}%<%t%p1%{40}%+%e%p1%{92}%+%;%dm"
let &t_AF="\[%?%p1%{8}%<%t%p1%{30}%+%e%p1%{82}%+%;%dm"
let &t_Co=16
let &t_Sf="\[3%dm"
let &t_Sb="\[4%dm"

:help xfree-xterm

For an 8-color display:

if &term =~ "xterm"
if has("terminfo")
let &t_Co=8
let &t_Sf="\[3%p1%dm"
let &t_Sb="\[4%p1%dm"
let &t_Co=8
let &t_Sf="\[3%dm"
let &t_Sb="\[4%dm"

ps. the vimrc are /etc/vimrc and ~/.vimrc


Connecting to CUHK Resnet VPN under Ubuntu 8.04 LTS

As PPTP service suspended since 1 Sept, the guide given in ITSC website doesn't not work now. Here are the steps for L2TP VPN connection.

1. Download the ipsec-tools, racoon and xl2tpd
(or sudo apt-get install ipsec-tools racoon xl2tpd)

2. Install the packages

3. Add the content between the lines to /etc/racoon/racoon.conf
------- File Begin, don't copy this line -----------
path pre_shared_key "/etc/racoon/psk.txt";
padding {
maximum_length 20;
randomize off;
strict_check off;
exclusive_tail off;
remote anonymous {
exchange_mode main;
doi ipsec_doi;
situation identity_only;
generate_policy on;
proposal_check obey;
proposal {
encryption_algorithm des;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 1;
sainfo anonymous {
lifetime time 28800 sec;
encryption_algorithm 3des;
authentication_algorithm hmac_md5;
compression_algorithm deflate;
------- File End, don't copy this line -----------

4. Add the content between the lines to /etc/racoon/psk.txt
------- File Begin, don't copy this line ----------- ipsec-vpn ipsec-vpn ipsec-vpn ipsec-vpn ipsec-vpn ipsec-vpn ipsec-vpn
------- File End, don't copy this line -----------

5. Save the content between the lines to /etc/ipsec.conf
------- File Begin, don't copy this line -----------
#!/usr/sbin/setkey -f
spdadd[1701][0] any
-P out ipsec esp/transport//require;
------- File End, don't copy this line -----------

6. Add the content between the lines to at /etc/xl2tpd/xl2tpd.conf
------- File Begin, don't copy this line -----------
port = 1701
auth file = /etc/xl2tpd/l2tp-secrets

[lac connect]
lns = ipsec-vpn.resnet.cuhk.edu.hk
redial = yes
require pap = yes
ppp debug = no
pppoptfile = /etc/ppp/options.l2tp
------- File End, don't copy this line -----------

6. Save the content between the lines to at /etc/ppp/options.l2tp
------- File Begin, don't copy this line -----------
mtu 1000
------- File End, don't copy this line -----------

7. Add the content between the lines to both /etc/xl2tpd/l2tp-secrets and /etc/ppp/pap-secrets
------- File Begin, don't copy this line -----------
YOUR_COMPUTING_ID ipsec-vpn.resnet.cuhk.edu.hk YOUR_CWEM_PASSWORD
------- File End, don't copy this line -----------

8. Run
sudo mkdir /var/run/xl2tpd
sudo /etc/init.d/racoon start
sudo /etc/init.d/xl2tpd start
echo "c connect" | sudo tee /var/run/xl2tpd/l2tp-control

9. You should get your Resnet connection now

How to L2TP/IPsec @ CUHK
iveney的共享空间: l2tp over ipsec in Linux @ CUHK
Using Linux as an L2TP/IPsec VPN client
codeserv.us » Blog Archive » Ubuntu IPSEC/L2TP VPN Client

reserved system UIDs

Username UID GID Home Shell

















WiFi Channel Map

Enable port 587 in Postfix

Racker Hacker » Enable submission port 587 in Postfix
Enable submission port 587 in Postfix

Enabling submission port support for Postfix is really easy. To have postfix listen on both 25 and 587, be sure that the line starting with submission is uncommented in /etc/postfix/master.cf:

smtp inet n - n - - smtpd
submission inet n - n - - smtpd


A Tweaker’s Guide to Solid State Drives (SSDs)

Geek Sheet: A Tweaker’s Guide to Solid State Drives (SSDs) and Linux | Tech Broiler | ZDNet.com
Tweak #1: If your system motherboard uses a disk caching bus, change the BIOS setting from “Write Through” to “Write Back”.
[root@techbroiler ~]# hdparm -W0 /dev/sda

Tweak #2: Use the “noop” I/O scheduler. By default, Linux uses an “elevator” so that platter reads and writes are done in an orderly and sequential matter.
By adding elevator=noop to your kernel boot parameters in your /boot/grub/menu.lst file, you will greatly improve read and write performance on your SSD.
This parameter sets the default I/O scheduler system wide, so if you have mixed SSD and conventional disks in your computer, you will want to set the scheduler on a drive-by-drive basis. This can be achieved using the following command:
echo noop > /sys/block/sda/queue/scheduler

Tweak #3: Change the file system mount options on SSDs to “noatime”.

Tweak #4: Ditch the journal and RAID your SSDs. File system journaling is done primarily for increased reliability, but it’s a drag on performance. Given that SSDs by their nature are going to be less prone to reliability quirks than a conventional drive, Mandrake suggests creating a RAID1 of two SSD units and formatting the file system to ext2, or formatting them to ext3 and mounting them as ext2 in the /etc/fstab. Dump your MySQL database on a RAID of ext2 SSDs, and you’ll be in performance hog heaven. EDIT 07-27-08: Some concerns were raised about what could happen if the power goes out and you lose referential integrity of the FS and are unable to replay it from the journal — so you might want to use a traditional disk using a journaled FS to sync the database to for backups.

Choosing an I/O Scheduler for Red Hat® Enterprise Linux® 4 and the 2.6 Kernel


iSpring Free

PChome Online 網路家庭-下載
iSpring Free 將 Powerpoint 投影片轉檔為 Flash 動畫
iSpring Free 是個免費的 Powerpoint 轉檔到 Flash 格式的外掛工具,能將已經製作好的 Powerpoint 投影片轉為 Flash 動畫,直接放到網頁上,卻不失去原有的虛擬動畫和特效,適合習慣使用 Powerpoint 的使用者或用來將現有豐富的投影片內容轉檔使用,不需要重新製作。


Alternate Data Streams in NTFS

介紹好用工具:Streams 讓你瞭解神秘的 NTFS 檔案系統
Windows Sysinternals 工具組中的 Streams 可以讀取 NTFS 檔案系統中目錄或檔案的「替代資料串流(alternate data streams)」的資料,而這個 streams 真的是個「非常神秘」的東西。

「資料串流(Streams)」這個名稱我想大家一定覺得很抽象,在 NTFS 檔案系統中,目錄與檔案都是以資料串流的方式儲存,而預設的檔案內容就是儲存在「未命名資料串流」中,如果要在命令提示字元下取得「未命名資料串流」的資料,很簡單的就是利用 type 命令將資料取出,例如:

C:\>type C:\test.txt


C:\>more C:\test.txt

而若要寫入或讀取「替代資料串流」的資料就可以利用一個冒號( : )加上一個鍵值(Key)進行存取。

例如你要寫入一個字串 ( Hello ) 到 C:\test.txt 檔案的「替代資料串流」中,並將這個「替代資料串流」命名為 TEST,就可以用以下語法寫入:

echo Hello > C:\test.txt:TEST

這樣子就可以將 Hello 字串(包括斷行)儲存到 C:\test.txt 檔案的「替代資料串流」中,而若你要將這個「替代資料串流」中的資料取出,可以用以下語法:

C:\>more < c:\test.txt:TEST

注意:你不能使用 type 命令將 C:\test.txt 檔案中的 :TEST 串流資料取出,因為 type 命令並不支援串流資料(stream)的讀取!若你有安裝 cygwin 的話,裡面的 cat 工具也可以讀取「替代資料串流」資料。

「替代資料串流」中的資料就如同「未命名資料串流」中的資料一樣,你想儲存什麼資料都可以,純文字、二進位資料都 OK 的,只是儲存在「替代資料串流」中的資料量大小,在使用檔案總管檢視的時候是不會被計算到的,如下圖示,我的 test.txt 內容有 3 個位元組(bytes),剛剛透過指令寫入 Hello 字串 + 斷行符號 + NULL 字元,一共 8 個 bytes 被寫入到 test.txt 檔案的 TEST 替代資料串流中,照理說這個檔案應該要佔用 11 個位元組(bytes)才對,但是在檔案總管中卻僅僅顯示 3 個位元組(bytes)而已。雖然這裡看不出來,但是磁碟的容量還是實際被佔用 11 個位元組(bytes)的!

test.txt 內容

但你要如何才能看出你的檔案或目錄中有沒有任何「替代資料串流」的資料呢?預設來說 Windows 內建的所有工具或指令,沒有一個能夠查詢檔案中是否有「替代資料串流」資料。

這時,你是否有種心理涼涼的感覺?我剛瞭解到 streams 這個玩意的時候,覺得很恐怖勒!NTFS 檔案系統中竟然有個如此神秘的地方可以藏資料,而且還不會被發現!這就是為什麼當你在 C:\ 下按「全選」然後選「內容」計算檔案大小時,怎麼算都跟磁碟機的「已使用空間」不符,雖然這些神秘的資料並不全然都是儲存在「替代資料串流」中,但也有可能有些許資料藏在這裡。

若要查詢出檔案或目錄中是否有「替代資料串流」的資料,就只能靠 Windows Sysinternals 工具組中的 Streams 工具幫你檢視了,streams 的用法很簡單,如下:


Streams v1.56 - Enumerate alternate NTFS data streams
Copyright (C) 1999-2007 Mark Russinovich
Sysinternals - www.sysinternals.com

usage: streams [-s] [-d]
-s Recurse subdirectories
-d Delete streams

當我們用 streams 工具查詢剛剛的 C:\test.txt 檔案時,就會查到該檔案中所有「替代資料串流」的所有鍵值:

C:\>streams test.txt

Streams v1.56 - Enumerate alternate NTFS data streams
Copyright (C) 1999-2007 Mark Russinovich
Sysinternals - www.sysinternals.com


你也可以利用 -s 參數掃瞄整個磁碟機中所有的目錄與檔案,看看到底有多少檔案或目錄有「替代資料串流」資料:

C:\>streams -s .



這是因為你透過 IE 線上下載 *.exe 的檔案(例如:putty.exe),IE 在開啟或儲存檔案的時候,就會幫你多加上一個「替代資料串流」資料,並且會將「替代資料串流」的鍵值取名為 Zone.Identifier,如下:

C:\>streams putty.exe

Streams v1.56 - Enumerate alternate NTFS data streams
Copyright (C) 1999-2007 Mark Russinovich
Sysinternals - www.sysinternals.com

:Zone.Identifier:$DATA 26


C:\>more < putty.exe:Zone.Identifier

而當你透過 streams.exe 工具用 -d 指令將 putty.exe 檔案的「替代資料串流」資料刪除後,就不會再出現這個畫面了。

C:\>streams -d putty.exe

Streams v1.56 - Enumerate alternate NTFS data streams
Copyright (C) 1999-2007 Mark Russinovich
Sysinternals - www.sysinternals.com

Deleted :Zone.Identifier:$DATA

等一段時間後(大約幾十秒吧),你再透過檔案總管或捷徑啟動 putty.exe 就不會再有安全性警告的提示了。


* Streams v1.56 - Sysinternals
* FAQ: Alternate Data Streams in NTFS
* LADS - List Alternate Data Streams by Frank Heyne
* Windows NTFS Alternate Data Streams
* Practical Guide to Alternative Data Streams in NTFS
* Accessing alternative data-streams of files on an NTFS volume
* Fork (filesystem) - Wikipedia
* NTFS - Wikipedia

有特定格式的 JPEG 圖檔無法在 IE 瀏覽器中顯示

有特定格式的 JPEG 圖檔無法在 IE 瀏覽器中顯示
有特定格式的 JPEG 圖檔無法在 IE 瀏覽器中顯示

好久以前我就發現 IE 在讀取特定 JPEG 圖檔的時候會無法顯示,也就是會顯示俗稱的叉燒包 ( image ),但圖片下載回來後使用各式看圖工具都可以正常顯示,唯獨 IE 無法瀏覽,有幾次客戶在我們開發的網站後台上傳圖片發現前台都看不到,就急忙的打電話來說我們寫的程式有 Bug,真的是很冤望啊。

通常的作法都是用繪圖軟體將該圖檔打開,重新存檔一次就可以在 IE 看到了。在 IE/Firefox 中看不見圖片的真正原因出在於這些 JPEG 圖檔是用 CMYK 模式存檔的,而 IE 只能讀取 RGB 模式的圖檔,所以就會導致圖片無法開啟了。

如果你是用 Photoshop 的話,可以在存檔的時候選擇 Save for web 也可以將圖檔強制轉成 RGB 模式。

之前也有介紹過一篇 在 Linux 下批次轉換 JPEG 圖片尺寸的方法 ,你也可以用 ImageMagick 中的 mogrify 工具轉換圖片,如下指令:

mogrify -colorspace RGB Your_CMYK_Image.jpg

如果想實驗的可以下載這張圖片回去玩玩看,直接拖曳圖片到 IE 瀏覽器中即可。

Battlefield 2 DEMO on Ubuntu

Install bf2
checking docs below

Remove the time limit
Open Battlefield 2 Standalone Demo Server\mods\bf2\python\game\gamemodes\gpm_cq.py

Comment the line by adding a "#" at the begining
#host.registerHandler('TimeLimitReached', onTimeLimitReached, 1)

To remove the display timer edit your serversettings.con file and change sv.timelimit to sv.timelimit 1000000000000

Triumphs and Trecharies of Linux on Vostro 1500: Setting up Battlefield 2
DirectX 9.0c March 2008 redistributable on Linux with Wine | Wine Reviews
Wine AppDB - Battlefield 2 1.x
Battlefield 2 DEMO: How to Remove the time limit - AgeRage.net Forum


10 handy bash aliases

Cut down on Linux command-line typing with these 10 handy bash aliases | 10 Things | TechRepublic.com
Cut down on Linux command-line typing with these 10 handy bash aliases
The Linux desktop has come a long, long way, but there are still times when I have to use the command line. (I am a hardcore user, after all.) But even though I’m used to typing, spending hours upon hours with my fingers at the keyboard, I still grow tired of typing the same commands over and over. To reduce that tedium, I always add aliases to my .bashrc file.
What is an alias?

An alias is basically a shortcut for a command you place in your ~/.bashrc file. Aliases cut down on typing and can save you from having to look up a command. (If your memory is like mine, this can be a real boon!)

Aliases are set up near the bottom of the of the .bashrc file. You’ll see a commented-out section that indicates where you should put them. The format of an alias is:

Alias NICKNAME='full command here'

The keyword alias must be used. The nickname is what you will type at the command line. Make this nickname easy to remember. The = sign must also be used. After the = sign, you enter the full command, including flags and switches, enclosed in single quotes. Once you are done, save the .bashrc file and open up a new terminal. I always find it best to leave the original terminal window open in case there are problems. In the new terminal, type the alias nickname and the command will run.

To get you started, I’ve compiled the following list of aliases I have used over the years to help make my command-line experience a bit easier.

Note: This information is also available as a PDF download.
#1: The ssh alias

This one should be a no-brainer for those of you who frequently secure shell into particular boxes. For this I add an alias like so:

alias server_name='ssh -v -l USERNAME IP ADDRESS'

Just change server_name to a memorable name for the server. Then, change USERNAME and IP ADDRESS to suit your needs.
#2: The ls aliases

Some distributions don’t include some of the handier ls commands. Generally, I like to see full listings instead of just filenames. For that I always include this alias:

alias ll='ls -l'

Another handy ls alias is this:

alias la='ls -a'

#3: The rm safety net

I can’t tell you how many times I have “rm’d” a file I shouldn’t have “rm’d”. To avoid this, I add this alias:

alias rm='rm -i'

Adding the ‘-i’ flag it forces rm into interactive mode, which will ask you whether you’re sure you want to remove a file.
#4: The more useful df command

This handy tool tells you how much space you have left on a drive. Only thing is, if you run the command by itself it replies in 1K blocks. Most people would prefer to see this in terms of MB. To make that happen, add this alias:

alias df='df -h'

Now, every time you run the df command, the information will be returned in a human-readable format.
#5: The nonstandard Firefox

Many times, I install Firefox in strange directories (or have more than one version of Firefox installed for testing purposes). For this, I will add an alias to start the correct Firefox. Say, for example, I have the beta of the newest, upcoming Firefox release installed, as well as the current stable Firefox. They are both installed in my home directory in different subdirectories. I will then add two aliases like so:

alias ff1='/home/jlwallen/firefox/firefox'

alias ff2='/home/jlwallen/firefoxb3/firefox'

Now I can start the stable firefox with ff1 or the beta with ff2.
#6: The bookmark alias

Speaking of Firefox, let’s create an alias to open up it to a specific URL:

alias fftr='/home/jlwallen/firefox/firefox http://www.techrepublic.com'

This alias will open Firefox directly to the TechRepublic Web site.
#7: The constant editing of a file

There are certain files that I am constantly editing. For instance, when I used Enlightenment E16 (I now use E17), I was frequently editing the menu file ~/e16/menus/user_apps. Instead of constantly opening up a terminal and entering nano ~/.e16/menus/user_apps, I used an alias that allowed me to type emenu and start editing. I used this alias:

alias emenu='aterm nano -e ~/.e16/menus/user_apps'

Now, I just enter the command emenu (or I can enter that in the run command dialog) to open up this file in an editor.
#8: The apt-get update

There are numerous ways to use an alias to help you with apt-get. One of my favorite is to add this alias:

alias update='sudo apt-get update'

I only need to enter update and will be prompted for the sudo password. You can modify this to suit your frequent apt-get needs.
#9: The rpm batch install

I like to do a lot of batch installing with rpm. I will typically dump a bunch of rpm files into an empty directory (created for this specific purpose) and run the command rpm -ivh ~/RPM/*rpm. Of course, an alias makes this even easier:

alias brpm='rpm -ivh ~/RPM/*rpm'

You have to create the ~/RPM directory and enter the root password for this to work.
#10: The long, arduous path

There are some paths that I often change to that seem to take eons to type. When I was working on the Afterstep window manager, I had to constantly change to the ~/GNUstep/Library/AfterStep/start to edit menus. After a while, you get tired of typing cd ~/GNUstep/Library/AfterStep/start just to get to the directory. So I added an alias like so:

alias astart='cd ~/GNUstep/Library/AfterStep/start'

Naturally, you can change that to fit your needs. This will save you a lot of typing.

So there you have it: a few simple bash aliases that will ease the load on your fingers. You can modify them to suit you, and they’ll give you a good start on creating your own handy bash aliases.


Protocol Buffers

Google Open Source Blog: Protocol Buffers: Google's Data Interchange Format
Protocol Buffers: Google's Data Interchange Format
Monday, July 7, 2008 at 3:01 PM
By Kenton Varda, Software Engineering Team

At Google, our mission is organizing all of the world's information. We use literally thousands of different data formats to represent networked messages between servers, index records in repositories, geospatial datasets, and more. Most of these formats are structured, not flat. This raises an important question: How do we encode it all?

XML? No, that wouldn't work. As nice as XML is, it isn't going to be efficient enough for this scale. When all of your machines and network links are running at capacity, XML is an extremely expensive proposition. Not to mention, writing code to work with the DOM tree can sometimes become unwieldy.

Do we just write the raw bytes of our in-memory data structures to the wire? No, that's not going to work either. When we roll out a new version of a server, it almost always has to start out talking to older servers. New servers need to be able to read the data produced by old servers, and vice versa, even if individual fields have been added or removed. When data on disk is involved, this is even more important. Also, some of our code is written in Java or Python, so we need a portable solution.

Do we write hand-coded parsing and serialization routines for each data structure? Well, we used to. Needless to say, that didn't last long. When you have tens of thousands of different structures in your code base that need their own serialization formats, you simply cannot write them all by hand.

Instead, we developed Protocol Buffers. Protocol Buffers allow you to define simple data structures in a special definition language, then compile them to produce classes to represent those structures in the language of your choice. These classes come complete with heavily-optimized code to parse and serialize your message in an extremely compact format. Best of all, the classes are easy to use: each field has simple "get" and "set" methods, and once you're ready, serializing the whole thing to – or parsing it from – a byte array or an I/O stream just takes a single method call.

OK, I know what you're thinking: "Yet another IDL?" Yes, you could call it that. But, IDLs in general have earned a reputation for being hopelessly complicated. On the other hand, one of Protocol Buffers' major design goals is simplicity. By sticking to a simple lists-and-records model that solves the majority of problems and resisting the desire to chase diminishing returns, we believe we have created something that is powerful without being bloated. And, yes, it is very fast – at least an order of magnitude faster than XML.

And now, we're making Protocol Buffers available to the Open Source community. We have seen how effective a solution they can be to certain tasks, and wanted more people to be able to take advantage of and build on this work. Take a look at the documentation, download the code and let us know what you think.


A slightly advanced Introduction to Vim

A slightly advanced Introduction to Vim LG #152
Who is it for?

This is not a five minute introduction to vim for a complete newbie. I presume you have used vim before and are comfortable with moving around, and making changes. Though :vimtutor is not a prerequisite to this tutorial, I highly recommend it.

This document contains some mnemonics, and some slightly advanced features of vim that can help the average vim user/programmer increase his/her productivity by leaps and bounds.


locale 設定相關說明

1. 如何知道自己的 locale 狀態?

2. 如何知道自己 export 了什麼東西?

3. locale 相關知識
dpkg-reconfigure locales

執行這個指令時, 設定的是 LANG, 這是最沒效力的。
如果沒有安裝 locales, 預設的 LANG 通常稱為 C 或 POSIX
man page 或其他文字通常是以 en 或 en_US 顯示

最強效的是 LC_ALL, 設定下去, 底下這些都會強制跟 LC_ALL 相同。LC_ALL 沒有預設值。

LC_CTYPE 字元分類和處理, 一般的輸入法只要設定這個就能用
LC_NUMERIC 處理非金錢相關的數字格式
LC_TIME 處理時間、日期等
LC_COLLATE 處理字元比較和排序
LC_MONETARY 處理金錢相關的格式和符號
LC_MESSAGES 處理顯示的格式, 訊息想看中文要設定這個


4. 範例:
export LANG=zh_TW.UTF-8
export LC_ALL=zh_TW.UTF-8
export LC_CTYPE=zh_TW.UTF-8

在這裡設定 LANG 和 LC_CTYPE 都是沒意義的, 因為 LC_ALL 已經設定了

export LANG=zh_TW.BIG5
export LC_ALL=zh_TW.UTF-8

在這裡 LANG 無效

export LANG=zh_TW.BIG5
export LC_CTYPE=zh_TW.UTF-8
export LC_MESSAGES=zh_TW.UTF-8

顯示輸入都是用 UTF-8, 其他的東西則是 big5

export LC_CTYPE=zh_TW

全部都是美式英文, 但可以輸入繁體中文

export LC_MESSAGES=zh_TW

通常設定這個之後, 軟體的介面和選單就會用中文(如果有支援的話)
例外是 openoffice, 還要設定
export LANGUAGE=zh_TW

gpupdate -- Refreshes Group Policy settings


Refreshes local Group Policy settings and Group Policy settings that are stored in Active Directory, including security settings. This command supersedes the now obsolete /refreshpolicy option for the secedit command.

gpupdate [/target:{computer | user}] [/force] [/wait:Value] [/logoff] [/boot]


fon hack

Rex’s blah blah blah » Fonera 與 SD Card!
可能不少人都知道 La Fonera 上用了 SPI Bus ,而且尚留有一組 SW 腳位可用。透過這個腳位,我們可蠻容易的加上 SD Card 或 MMC Card。
» Fonera SD Card Hack on Jkx@home » Blog Archive
Fonera SD Card Hack

I read on several websites, that some people managed to wire a SD Card (or a MMC) to a Fonera access point. After a little googling, I discover this can be done easily, so I decided to test.. but I run into one issue so I decided to describe the process here.
(T)ttrick Infinite Space: Important Patch for FreeWLAN Addons
Important Patch for FreeWLAN Addons

(T)ttrick Infinite Space: Make a Serial Console Cable for La Fonera
Make a Serial Console Cable for La Fonera

這次要介紹的主角是Serial Console Cable。它最主要的用途,就是透過Serial Port來操作FON的Console,並能在FON一開機時取得內部訊息,對於想要完全惡搞的人來說,是一把強力的螺絲起子。
FreeWLAN - Trac


Poderosa -- SSH client under Windows

Tabbed style GUI
It is convenient to open multiple connections at the same time. Moreover, you can split the window into panes and allocate each connection.
Many different ways to connect.
In addition to Telnet and SSH1/2, local cygwin shell and serial ports are supported.

Fulfilling options and tools
A lot of terminal functions are available. Examples are: SSH2 port forwarding, SSH Key generation wizard, and SOCKS connections.

index - Terminal Emulator Poderosa


fail to set xfermode err_mask=0x4

由國外的ubuntu forum取經得知,在feisty及乎很多人都遇到此問題,有的是出現此message後無法安裝,有的是安裝完成後於開機的過程出現此error導致開機的時間過久,最後於 /boot/grub/menu.lst下加上irqpoll即可決解,如下所示:
title Ubuntu, kernel 2.6.20-16-generic
root (hd0,0)
kernel /boot/vmlinuz-2.6.20-16-generic root=UUID=510d46a4-ce31-4b0a-a02f-a25237853a59 ro quiet splash irqpoll


LDAP simeple bind without SASL

OpenLDAP Faq-O-Matic: ldap_sasl_interactive_bind_s: No such Object
dap_sasl_interactive_bind_s: No such Object
This indicates that LDAP SASL authentication function could not read the Root DSE.
The error will occur when the server doesn't provide a root DSE. This may be due to access controls.

Note, also, that LDAPv2 servers, such as those OpenLDAP 1.x's slapd(8), do not provide a root DSE. Use -P 2 when LDAPv2 is desired. LDAPv2 servers also do not support SASL binds, so you will need to use a "simple" bind instead.
Note: SASL bind is the default for all OpenLDAP tools. To force use of "simple" bind, use the "-x" option. Use of "simple" bind is not recommended unless one has adequate confidentiality protection in place (e.g. TLS/SSL, IPSEC).



拓展台灣數位典藏 » Blog Archive » 螢幕色彩校正輕鬆免費做
  在進行校正前,需將螢幕開啟暖機三十分鐘,且螢幕上最好加裝遮光罩,以避免受到非顯示器光源的影響,使色彩校正的準確度降低。一般來講,色彩校正有軟體校正與硬體校正,軟體校正是利用Adobe Photoshop附加的Adobe Gamma,或是Apple MAC電腦的ColorSync進行螢幕調校;硬體校正則是購買顯示器色彩校正器進行操作,而這兩種方式均需花費一些費用購買,在此,筆者介紹一種簡易且免費的色彩校正方式,只需在小畫家繪製ColorCheck,便可容易達到基本的螢幕校色。

Lighttpd and php5 under Ubuntu

 sudo apt-get install lighttpd php5-cgi
 lighty-enable-mod fastcgi


Backup consideration: Links and snapshot

Hobo Copy
HoboCopy is a backup/copy tool. It uses the Volume Shadow Service (VSS) to "snapshot" the disk before copying. It then copies from the snapshot rather than the "live" disk.
Nathan’s Blog - Wired World Wonderings » Symlinks in Windows
be careful not to SHIFT-delete a junction point or it’s parents - this will delete the files in the actual directory
:: Shell-Shocked :: Windows Symbolic and Hard Links
On Windows it's another story.
Shadow Wolf's Den - How To Use Hardlinks And Junctions In Windows
In the modern Windows platform, it is possible to create hardlinks of files and directories. The ability to create file hardlinks is built into XP/W2k with the program fsutil.exe.
NTFS Hard Links, Directory Junctions, and Windows Shortcuts
In this article we will show how to create symbolic and hard links programmatically.
robocopy - Wikipedia, the free encyclopedia
Robocopy does not preserve Hardlinks
Tools and utilities for Windows
A console backup/archive tool for Windows NT/2000/XP/2003. It uses the same backup methods as the ntbackup or robocopy programs
An intelligent backup system for Windows, part 4
Hard linking the unchanged files


Undo and Redo if vim

u undo last change (can be repeated to undo preceding commands)
U return the line to its original state (undo all changes in current line)
CTRL-R Redo changes which were undone (undo the undo's).


Java decompiler

ps. 記得上年CSC2520給的功課是有給一個compiled的JAR檔讓同學參考輸出

Home Page of Jad - the fast Java decompiler
Jad is a Java decompiler, i.e. program that reads one or more Java class files and converts them into Java source files which can be compiled again.

Jad is a 100% pure C++ program and it generally works several times faster than decompilers written in Java.
Jad doesn't use the Java runtime for its functioning, therefore no special setup is required (like changes to the CLASSPATH variable).

Jad can be used:

* for recovering lost source codes;
* for exploring the sources of Java runtime libraries;
* as a Java disassembler;
* as a Java source code cleaner and beautifier. just kidding

Jad expects that supplied Java class files are valid ones, i.e. they can pass the Java Virtual Machine (JVM) verification successfully.

The Jad main features:

* Enhanced readability of the generated source code.
* Ability to comment Java source code with JVM bytecodes. Useful for verification and educational purposes.
* Full support for inner and anonymous classes.
* Fast decompilation and simple setup.
* Automatic conversion of identifiers garbled by Java obfuscators into valid ones.
* Free for non-commercial use. If you would like to use Jad for commercial purposes, please contact me for conditions.

TaskList.org - List of Windows Proccesses and Descriptions


TaskList.org - List of Windows Proccesses and Descriptions


No syntax highlighting in vi under root

simple soln:
use vim instead of vi

complex soln:
/root/.bashrc: alias "vi"="/usr/bin/vim"

in rhel 5, root user by default uses vim-minimal that does not support syntax color

a.kao » Blog Archive » RHEL/CentOS 5 Vim Syntax Color
redhat.com | Red Hat Support: How can I enable syntax highlighting in vi?



柏強的網路探險記: Get Your Wiki
# Wikidot 沒有廣告,但最下面還是有一排東西
# Wikidot 大部分的元件都只有英文版
# Wikidot 的頁面名稱只能是英文
# Wikidot 畢竟是一個外部服務,什麼時候會倒我們都不會知道!

PE Builder

Bart's Preinstalled Environment (BartPE) bootable live windows CD/DVD
It will give you a complete Win32 environment with network support, a graphical user interface (800x600) and FAT/NTFS/CDFS filesystem support. Very handy for burn-in testing systems with no OS, rescuing files to a network share, virus scan and so on.

Look@LAN Network Monitor

www.lookatlan.com - Network Monitoring and Management Solutions
a free solution for both personal and commercial use, is an advanced network monitor, which allows you to monitor your network in few clicks. Extremely easy to use and very fast in discovering your network's active nodes. Full of relevant features such as auto-detect of network configuration, monitoring, reporting, trapping, statistics and graphs, network tree view, network log, proof single node scan, os detection and so on.

Add network printer under command line

Sample syntax: CON2PRT /cd \\PrintServer\PrintShare

software 集錦

TextMaker Viewer 2008 --- a Word viewer replacement
Xming X Server for Windows --- X server under Windows
CamStudio --- open source screen capture software under Windows
iRotate --- Screen rotation software
Sandboxie --- running sandbox under Windows, a little like chroot under Linux

Eisoo DiskGenius 3.0

Computer & Life: Eisoo DiskGenius 3.0硬碟分區工具免安裝中文版
軟體名稱 : Eisoo DiskGenius 3.0硬碟分區工具中文版
軟體語言: 繁體中文
軟體類型: 國產軟件 / 磁碟工具
運行環境: Win2003, WinXP, Win2000, NT, WinME, Win9X
授權方式: 免費軟件
軟體大小: 2.29 MB
整理時間: 2008/2/1 00:10:00
軟體簡介: 七年後重出江湖:新版Disk Genius
DiskMan國產全中文硬盤分區表維護軟件在多年後終於推出了最新版本Disk Genius 3.0。
  還記得在DOS下分區利器DiskMan麼,它那快捷的分區操作,方便的調整分區大小,強大的分區表備份恢復修復功能等等讓多少用戶解決了頭疼的硬盤分區問題,可是舊版本有個很明顯的弊端,就是只能在純dos環境下運行。時隔多年,DiskMan終於發佈了一個可以運行在windows環境下的新版本Disk Genius 3.0 .運行在 Windows 平台下的 DiskGenius,繼承原 DOS 版的強大功能,包括磁盤管理、磁盤修復,並新增加文件恢復、磁盤複製、虛擬硬盤管理等。

支持基本的分區建立、刪除、隱藏等操作。建立新分區時可指定詳細參數; 支持IDE、SCSI、SATA等各種類型的硬盤。支持U盤、USB硬盤、存儲卡(閃存卡); 支持FAT12、FAT16、FAT32、NTFS文件系統; 可以快速格式化FAT12、FAT16、FAT32、NTFS分區。格式化時可設定簇大小、支持NTFS文件系統的壓縮屬性; 可瀏覽包括隱藏分區在內的任意分區內的任意文件,包括通過正常方法不能訪問的文件。可通過直接讀磁盤扇區的方式讀取文件、強制刪除文件; 支持盤符的分配及刪除; 支持已刪除文件的恢復、分區誤格式化後的文件恢復。成功率較高; 增強的已丟失分區恢復功能,恢復過程中,可即時顯示搜索到的分區參數及分區內的文件。搜索完成後,可在不保存分區表的情況下恢復分區內的文件; 可將整個分區備份到一個鏡像文件中,可在必要時(如分區損壞)恢復。支持在Windows運行狀態下備份系統盤; 支持分區複製操作。並提供「全部複製」、「按結構複製」、「按文件複製」等三種複製方式,以滿足不同需求; 支持硬盤複製功能。同樣提供與分區複製相同的三種複製方式; 支持VMWare虛擬硬盤文件(「.vmdk」文件)。打開虛擬硬盤文件後,即可像操作普通硬盤一樣操作虛擬硬盤; 可在不啟動VMWare虛擬機的情況下從虛擬硬盤複製文件、恢復虛擬硬盤內的已刪除文件(包括格式化後的文件恢復)等^^


SDHC Problems in Windows XP

Hotfix for Windows XP, 加入對 SDHC 支援具有該卡容量為 4 GB 以上
本文將告訴您一個 Hotfix for Microsoft Windows XP, 加入對 Secure Digital 高容量 (SDHC) 卡具有容量為 4 GB (含) 以上的支援

如果要解決這個問題, 請安裝下列更新程式:


想要剪輯、轉檔自己心愛的影片嗎?微軟牌的Movie Maker太陽春,想買會聲會影、威力導演又嫌太貴?快來試試看這套免費的Pinnacle VideoSpin吧!除了有完整的影音、字幕、轉檔等編輯功能外,操作界面也和前述軟體相近,相當好上手。輸出的影片格式更是完整,AVI、DivX、iPod、Flash、MPEG-1,2,4、RM、PSP及WMV,還支援Yahoo影片分享及Youtube的影片直接上傳,非常的好用喔!


How to disable beep in command line - LinuxQuestions.org

How to disable beep in command line - LinuxQuestions.org
How to disable beep in command line
You know the annoying PC speaker beeps you get in linux when you hit backspace too many times or hit tab to autocomplete something and there's either multiple or no matches or when you type shutdown -h now (or whatever)? I was wondering if there was a way to disable this "beep on error" cuz i'm fixing to go crazy and rip that darn PC speaker right outta my case!

I'm not talking about in the GUI using xterm or konsole. I know how to do that.
Use this command to turn off beeping in general in X:

xset b 0


VirtualBox 複製 VDI 檔 語法

vboxmanage clonevdi /VirtualBox/WindowsXP.vdi /VirtualBox/WindowsXP-update.vdi



Using the Debian alternatives system
update-alternatives --set editor /usr/bin/emacs21

If you wish to change your mind, and use vim in the future you merely need to run:

update-alternatives --set editor /usr/bin/vim

This will cause vim to be executed whenever you run "editor".

For example you can see which "real" program will be executed for a given name:

skx@lappy:~$ update-alternatives --list x-www-browser

This shows us that executing the command "x-www-browser" will end up executing mozilla-firefox, on your machine something completely different could be executed!


Microsoft 的免費軟件開發工具 - Real-Blog
Microsoft 的免費軟件開發工具

Microsoft 開始一項名為 DreamSpark 的活動,內容是讓學生可以免費用微軟的軟件開發工具。一套完整的 .net 開發平始十分昂貴,要購買這類昂貴的商業軟件才可以學習一門技術,那已經對入門已經加上一重障礙,這項舉動無疑可以讓學生更早接觸微軟的開發工具。

如果你是全職學生,只要到 DreamSpark 網站登記,那便可以免費下載以下產品:

– Microsoft Visual Studio 2008 Professional Edition
– Windows Server 2003 Standard Edition
– Microsoft SQL Server 2005 Developer Edition
– Microsoft Expression Studio
– Game Studio 2.0
– Creators Club Online
– Microsoft Visual Studio 2005 Professional Edition
– Microsoft Visual C# 2005 Express Edition
– Microsoft Visual C++ 2005 Express Edition
– Microsoft Visual Basic 2005 Express Edition
– Microsoft SQL Server 2005 Express Edition
– Microsoft Visual Web 2005 Express Edition
– Microsoft Visual J++ 2005 Express Edition
– Microsoft Visual PC

Spicebird: a Outlook replacement?


Mozilla Links 正體中文版: 又見鳥類!Spicebird 0.4 初探
又 見鳥類!Spicebird 0.4 初探 由 alicekey 於 10:30 下午 張貼,標籤: 衍生產品 Synovel Techologies 推出了 Spicebird 0.4,這是一個以 Mozilla 核心為主的個人資訊管理軟體。他整合了 Thunderbird、Lightning 和 XMPP 等相關軟體在一套產品上,可以用來傳遞信件、安排行事曆、即時通訊以及其他的通訊工具。就如同幾週前釋出的資訊,它加入了一些整合性的功能在主要元件的上 方,希望成為一個更有效率的資訊工具。 Home 是一個類似主控台的環境,你可以自行加入現有的五種小元件:郵件 (Mail),有著簡單預覽訊息視窗;網頁訂閱 (Web feeds),條列式的訂閱項目,當你滑鼠移到上方時會出現完整的內容;待辦事項 (Agenda),可以預先檢視即將到來的工作事項;行事曆 (Calendar),會將當月所安排的事件顯示出來;還有日期與時間 (Date & Time),你可以加入多個時鐘,看不同城市的時間。 Spicebird Home 這些元件的使用方式很有彈性,主控台很類似 iGoogle、Netvibes 跟 PageFlakes 這些整合性網頁。你可以任意加入不同的網頁內容,包含電影時刻表、天氣、漫畫等等。Home 是五個分頁中,會將全部的介面整合在一起的。 收信夾,基本上就是 Thunderbird,可以處理電子郵件、新聞群組、網頁訂閱服務等功能。並且加了一些聰明的小功能在郵件處理上面。例如,信件中如果包含了日期跟時 間,可以讓你很方便的將訊息加到你的行事曆中。還有一個很神奇的特色是,他可以偵測文字中的一些關鍵字像是 at 或是 every (English only,let's talk in English),讓自動新增功能更聰明,更有效率。 Spicebird detecting an event in an email 將即時通訊整合起來,當你用滑鼠右鍵點選一個使用者時,就可以馬上發送訊息給他。在即時通訊的部分,他支援 Jabber 的通訊協定。換句話說,你可以連上 Google Talk。傳送一則訊息,你需要切換到通訊錄的分頁,選擇一個聯絡人,然後按下工具列上的傳送訊息的按鈕。傳送訊息的視窗沒有讓人感到特別驚豔,只有讓你 輸入一些文字訊息,一些表情符號,不能變更文字的格式。 Spicebird IM基本上來說,它真得很 alpha (雖然他被標上beta),而且還有不少地方可以改進,不過可以先體驗一下這套企圖成為資訊整合中心的軟體。 依照 Spicebird 的進度,下次推出的 0.7版應該會加入電子郵件分頁的功能 (Thunderbird 3已經具備了),郵件的匯入/匯出,讓你可以在 Home 分頁中使用的聯絡清單。最終的版本將包含內容資訊管理的整合 (類似 Drupal) 以及一個殺手級應用:Microsoft Exchange 的整合,意謂著讓成千上萬被 Outlook 綁死的使用者又多了一個選擇。 Spicebird 目前僅提供 Windows 跟 Linux 版。 想要知道更進一步的資訊可以參考 Spicebird 0.4 release notes。

USB problems in Linux

Q: Why doesn't USB work at all? I get "device not accepting address".

A: This can be one of several problems:

* High speed devices sometimes have problems with cables used to connect them. They're more sensitive to signal quality issues than older usb 1.1 full or low speed devices. If the device works OK at full speed on the same system, after you "rmmod ehci-hcd", this is likely the problem you're seeing. There are a lot of things you can do to change signal quality.
o Use a different cable. Some are even marketed specifically for use with high speed devices. Most USB 1.1 cables work just fine at high speed, but the one you're using might be an exception (maybe it's been damaged).
o Switch to a different USB connector on your computer. Back panel connectors are often right on the motherboard, with much care taken to preserve signal quality. A front panel connector probably doesn't use cabling designed with USB in mind; and its cable could be damaged by bending, baking or something else even when it's not routed through the power supply.
o Use an external high speed hub. Those hubs have signal conditioning circuitry that may cover up certain flaws.
o Make sure your device is using its own external power supply, or that its battery is fully charged.
You might be able to get the same device to work at high speed on a different machine.
* You may have some problem with your PCI setup that's preventing your USB host controller from getting hardware interrupts. (Current Linux 2.6 kernels will actually tell you when they notice this problem; see the "dmesg" output.) When Linux submits a request, but never hears back from the controller, this is the diagnostic you'll see. To see if this is the problem, look at /proc/interrupts to see if the interrupt count for your host controller driver ever goes up. If it doesn't, this is the problem: either your BIOS isn't telling the truth to Linux (ACPI sometimes confuses these things, or setting the expected OS to windows in your BIOS), or Linux doesn't understand what it's saying.
* Sometimes a BIOS fix will be available for your motherboard, and in other cases a more recent kernel will have a Linux fix. You may be able to work around this by passing the noapic boot option to your kernel, or (when you're using an add-in PCI card) moving the USB adapter to some other PCI slot. If you're using a current kernel and BIOS, report this problem to the Linux-kernel mailing list, with details about your motherboard and BIOS.

Various users have had success with some specific strategy. I've collectioned their notes here.


My rsync backup command line

rsync -rt --stats --delete --modify-window=2 --exclude="data/vpc/" --link-dest=/media/HD-HBU2/`ls /media/HD-HBU2/| grep 200 | tail -n1`/ /media/data /media/HD-HBU2/`date +%Y%m%d%H%M%S`


USB Problem of VirtualBox in Ubuntu 7.10

sudo mount -vt usbfs none /proc/bus/usb -o devgid=1001,devmode=664

sudo vi /etc/init.d/mountdevsubfs.sh
domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644,devgid=1001

UbuntuHelp:VirtualBox - Ubuntu中文

Using a raw host hard disk from a guest in VirtualBox

VBoxManage internalcommands createrawvmdk -filename /media/data/vpc/sdc.vmdk -rawdisk /dev/sdc


ntpdate - error "no server suitable for synchronization found"

The 1-1024 port is blocked by CUHK (as for my case)
sudo ntpdate -u ntp.ubuntu.com


Vino Port Configuration

Vino is the VNC server built-in in GNOME

then navigate to:

desktop -> gnome -> remote_access

then check:

and change:


Ubuntu 7.10 64-bit Flash 9 installation

wget http://home.comcast.net/~ubuntume/oldflash-0.1.3.tar.gz
tar xfvz oldflash-0.1.3.tar.gz
cd nspluginwrapper\ install
sudo ./GetFlash


Download the Linux debugger and standalone players


Software Virtualization Solution

會建立File System Layer以方便uninstall softwares
ref: http://blog.joaoko.net/archives/548

[forward] WebDAV fix for Vista

If you're using Windows Vista and are unable to add a web folder (http network location), and you're getting error message like :

"The folder you entered does not appear to be valid. Please choose another."

Then try downloading an installing this update for WebDAV from Microsoft. It worked for me J

Single Click UltraVNC for remote support Manual

An idiots guide to setting up a remote support using UltraVNC SCI and SCIII

Here is the scenario.

1. You have customers who you want to support
2. You send out software which you want to support
3. You want to be able to upgrade customer software remotely
4. You have an office from which you want to provide the support from, for multiple support personnel

Well, there are many offerings on the market, which cost $150 to $1000's per year.

UltraVNC have two great offerings, known as "Single Click", to solve the above support requirement. It is called Single Click because it allows you to create a small executable package ("Support.exe"), which your customer simply downloads and runs, to give you control if their PC only when they allow you access.

Two versions of Single Click UltraVNC are currently available:
Option 1 : Single Click UltraVNC
Option 2 : Single Click UltraVNC III


Online UltraVnc Single click creator

用UltraVNC SC打造你的專屬遠端遙控軟體,被控端只要點二下就能讓你輕鬆遙控!


原圖@Xanga Photo and Facebook Profile Pic

Xanga Photo
Facebook Profile Pic



Office 2007
  • First Look 2007 Microsoft Office System (Microsoft)
  • What Every Microsoft Office User Should Know Before Moving to Microsoft Office 2007 (Que Publishing)
  • About Microsoft Office 2007 and the Internet (Que Publishing)
  • 2007 Microsoft Office System Solutions (Mindjet)
  • What’s New in Microsoft Office 2007
  • Microsoft Office 2007 Orientation (Valdosta State University)
  • OpenOffice.org 2.x And Microsoft Office 2007 Feature Comparison (Open Office)
  • StarOffice 9 Software and Microsoft Office 2007 Feature Comparison (Sun Microsystem)
  • How to Install and Use Microsoft Office Compatibility Pack (Elizabethtown College)
  • Getting Started in Excel 2007
  • How to use Microsoft Office Word 2007
  • How to use Microsoft Office Excel 2007
  • Microsoft Office Outlook 2007 QuickStart Documentation
  • Compliance Features in 2007 Microsoft Office System


  • Managing Your Documents 摘自《Word 2007 All-in-One Desk Reference for Dummies》
  • A Quick Guide to Word (For the Impatient) 摘自《Word 2007 for Dummies》
  • Creating a Spreadsheet from Scratch 摘自《Excel 2007 for Dummies》
  • Show Time! 摘自《PowerPoint 2007 for Dummies)
  • Introducing InfoPath
  • Using Spelling, Grammar and Research Tools


  • 2007 Microsoft Office File Format
  • Office 2007 XML File Formats: Introduction
  • Office 2007 XML File Formats: Programming
  • OpenOffice / OpenDocument and MS Office 2007 / Open XML Security
  • Guide for Working with Microsoft Office Files

    Office 2007之應用:

  • Microsoft Office System Document Management
  • Preparing for Web Content Management with Microsoft Office SharePoint Server 2007

  • Vista

    Vista Power》是一本共64頁的PDF電子書,談及Windows Vista多方面的使用技巧,包括保安、Explorer、網絡,甚至是其他進階功能,比如連接Xbox 360、Tablet PC的使用、語音識別以及XPS格式檔案等。

    Microsoft官方出版的Windows Vista Magazine讓你把某些內容以PDF格式下載。這裡列出的文章,都有PDF版本供你下載。

    其他有關Windows Vista的PDF電子書:

    2007 Microsoft Office System免費電子書
    Windows Vista免費電子書

    Vista 新字型(英文)

    安裝Microsoft's Powerpoint Viewer