2007/04/29

鬼域-感人的“鬼片”



電腦中的RECYCLE BIN是儲存刪去的電腦檔案,但被遺棄的即使被刪去,卻一直會儲存在電腦記憶中!
一名小說女作者,本名是定言(筆名--徐尋)「李心潔飾」在一次書展中,
預告她下一本著作,關於探討靈異的小說,書名名為---鬼域。
故事從徐尋開始寫鬼域開始,她將初稿檔案在電腦上刪去,或是寫出的手搞丟棄之後,
便開始產生不尋常幻覺,更開始看見不能解釋的現象!彷彿從小說中自己所虛構
靈異的一切,都走出到現實!
徐尋開始自覺不能抽離現實與她的虛構小說空間,但她反領悟到,這正是她要寫
鬼域所要的題材,每當遇到了詭異的事情,就更有靈感繼續寫下去卻不自覺地一步步
陷入自己所創作的鬼域空間內。
她進入了在鬼域空間內,反而尋回早已被自己及我們人類所遺忘或遺棄的事物...
片中的鬼域的定義是所有被遺棄或被忘記的東西都會到那裡,那是一個被遺棄和
遺忘的空間,人或多或少都會遺忘的也都有不想記得的事情或人,我們有時候
會選擇刻意忘記人的心很複雜的,時時刻刻都在計畫著...我想要擁有的...
然而我們遺棄的書、 玩具、親人、棄嬰、創造出來的...
不斷的到了那個空間去經歷一次次的循環...
看後感
定言在“鬼域”中遇見自己打掉的女兒,和自己都幾乎忘記了,去世多年的爺爺,
在他們的協助下總算逃回了現實的空間,這段很感人,幾乎流了眼淚。
女孩因為還沒出生就給打掉,連名字也沒有,定言為她改名,叫“定如”,可惜的是,
定如始終不是人,不能和定言一起回去。
結局有點怪異,說的是定言回到現實後,竟然發現另一個自己在“寫小說”,內容正正
就是自己!到底哪一個定言是真,天曉得!
不要隨意忘記,因為被你忘記的人和事,是很可憐的。

2007/04/28

紫微斗數進階班

今天上完堂之後報了名, 六月開學, 逢星期一晚七點至八點半, 銅鑼灣上堂, 好方便!

2007/04/26

單用身體語言來溝通

今堂心理學好好玩, 有一個"單用身體語言來溝通"的訓練, 10分鐘內和另外一位同學"傾計", 但不可用語言或文字, 單用動作和表情, 原來開頭都幾難, 後來又覺得幾好玩!

GFS2 on RHEL5

After several "fights" with RHEL5 cluster suite, I finally succeed to put all my virtual machine disk images to a GFS2 volume on an iSCSI target!
Now the migration should be a lot smoother, let me do some tests on it.

2007/04/23

Demonstration

從來都是 Demo 殺手,今日終於出事,好在觀眾太投入在畫面上,看不到少少的 Hanging,整體來講都算OK。

2007/04/22

拜山活動

今日又係一年一度去拜山的日子, 因為封路封到5月6日, 所以都係要行上去.
11點由富泰出發, 坐租回來的旅遊巴, 12點就到將軍澳了.
好多人, 但行人路好窄, 行了一小時才到.
今年好多細路都帶了 NDS/PSP, 玩得好投入呢!
我也一齊玩下!
2點幾就回程了, 都係坐旅遊巴返屯門, 返到屋企5點了.
7點再回富泰酒樓一齊食晚飯, 好飽!
9點幾就返到屋企了, 明天要present, 今晚早少少訓先.

2007/04/20

NDS Lite 一歲生日了

舊年 4月 20日 買了 NDS Lite, 到今日, 佢一歲了!
不過中間有2個月拎左去整... 得10個月陪我咋.

2007/04/19

心理學 之 溝通

溝通 - 意思是大家把自己的意思, 想法, 透過媒體, 互相傳送和接收.
媒體可以是語文性的, 例如文字, 說話, 可以是非語文性的, 例如身體語言, 語氣, 動作, 表情等.
原來一般人與人之間的溝通, 主要是以說話, 身體語言和語氣表達, 其中說話只佔 7%, 身體語言 55%,
語氣 38%, 說話重要, 但身體語言和語氣對於有效的溝通更有影響.
有時人與人之間溝通跟本不用說話, 一個動作, 一個眼神也足夠了.

2007/04/18

To make fglrx (ATI X driver) works with xen kernel

From http://pastebin.ca/350588
Tested and it really works, even with latest ATI driver.

iwan ~ # cat /usr/local/portage/x11-drivers/ati-drivers-xen/files/fglrx-r3.patch
diff -Nur old/common/lib/modules/fglrx/build_mod/agpgart_be.c new/common/lib/modules/fglrx/build_mod/agpgart_be.c
--- old/common/lib/modules/fglrx/build_mod/agpgart_be.c 2007-01-09 12:26:33.000000000 +0100
+++ new/common/lib/modules/fglrx/build_mod/agpgart_be.c 2007-02-11 15:25:38.694160228 +0100
@@ -128,10 +128,17 @@
#include
#endif
#endif
-#include
#include
+
+#if defined(CONFIG_X86_XEN) && (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9))
+#include
+#include
+#include
+#else
+#include
#include
#include
+#endif

#include "agp_backend.h"
#include "agp.h"
@@ -1188,7 +1195,11 @@
if (!err)
#endif
{
+#if defined(CONFIG_X86_XEN) && ( LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9))
+ agp_bridge.gatt_table = ioremap_nocache(virt_to_bus(table),
+#else
agp_bridge.gatt_table = ioremap_nocache(virt_to_phys(table),
+#endif
(PAGE_SIZE * (1 << page_order)));
}
CACHE_FLUSH();
@@ -3225,8 +3236,12 @@
if (!err)
#endif
{
- page_map->remapped = ioremap_nocache(virt_to_phys(page_map->real),
- PAGE_SIZE);
+#if defined(CONFIG_X86_XEN) && (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9))
+ page_map->remapped = ioremap_nocache(virt_to_bus(page_map->real),
+#else
+ page_map->remapped = ioremap_nocache(virt_to_phys(page_map->real),
+#endif
+ PAGE_SIZE);
}

if ( (page_map->remapped == NULL)
@@ -4698,7 +4713,11 @@
if (!err)
#endif
{
+#if defined(CONFIG_X86_XEN) && ( LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9))
+ page_map->remapped = ioremap_nocache(virt_to_bus(page_map->real),
+#else
page_map->remapped = ioremap_nocache(virt_to_phys(page_map->real),
+#endif
PAGE_SIZE);
}

@@ -5795,7 +5814,11 @@
err = change_page_attr(virt_to_page(page_map->real), 1, PAGE_KERNEL_NOCACHE);
#endif
CACHE_FLUSH();
+#if defined(CONFIG_X86_XEN) && (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9))
+ page_map->remapped = ioremap_nocache(virt_to_bus(page_map->real),
+#else
page_map->remapped = ioremap_nocache(virt_to_phys(page_map->real),
+#endif
PAGE_SIZE);
if (page_map->remapped == NULL || err) {
ClearPageReserved(virt_to_page(page_map->real));
diff -Nur old/common/lib/modules/fglrx/build_mod/drmP.h new/common/lib/modules/fglrx/build_mod/drmP.h
--- old/common/lib/modules/fglrx/build_mod/drmP.h 2007-01-09 12:26:33.000000000 +0100
+++ new/common/lib/modules/fglrx/build_mod/drmP.h 2007-02-11 15:21:56.025129785 +0100
@@ -59,7 +59,13 @@
#if defined(__alpha__) || defined(__powerpc__)
#include /* For pte_wrprotect */
#endif
+
+#if defined(CONFIG_X86_XEN) && (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9))
+#include
+#else
#include
+#endif
+
#include
#include
#ifdef CONFIG_MTRR
@@ -80,7 +86,13 @@
#include
#endif
#include
+
+#if defined(CONFIG_X86_XEN) && (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9))
+#include
+#else
#include
+#endif
+
#include "drm.h"

#include "drm_os_linux.h"
diff -Nur old/common/lib/modules/fglrx/build_mod/firegl_public.c new/common/lib/modules/fglrx/build_mod/firegl_public.c
--- old/common/lib/modules/fglrx/build_mod/firegl_public.c 2007-02-11 00:47:36.000000000 +0100
+++ new/common/lib/modules/fglrx/build_mod/firegl_public.c 2007-02-11 15:17:24.457559120 +0100
@@ -43,6 +43,7 @@
#if !defined(CONFIG_X86_BIGSMP)
#if !defined(CONFIG_X86_VISWS)
#if !defined(CONFIG_X86_GENERICARCH)
+#if !defined(CONFIG_X86_XEN)
#error unknown or undefined architecture configured
#endif
#endif
@@ -52,6 +53,7 @@
#endif
#endif
#endif
+#endif
#endif /* LINUX_VERSION_CODE */

/* The dirty-page-tracking patch included in NLD 9 SMP kernels defines
@@ -122,12 +124,29 @@
#include

//#include
+#if defined(CONFIG_X86_XEN) && (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9))
+#include
+#else
#include
+#endif
+
#include
#include
+
+#if defined(CONFIG_X86_XEN) && (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9))
+#include
+#else
#include
+#endif
+
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
+
+#if defined(CONFIG_X86_XEN) && (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9))
+#include
+#else
#include // for flush_tlb_page
+#endif
+
#else
#include // for flush_tlb_page
#endif
@@ -167,6 +186,10 @@

#include
#include "firegl_public.h"
+
+#if defined(CONFIG_X86_XEN) && (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9))
+#include
+#endif
// ============================================================
#ifndef TRUE
#define TRUE 1
diff -Nur old/common/lib/modules/fglrx/build_mod/firegl_public.h new/common/lib/modules/fglrx/build_mod/firegl_public.h
--- old/common/lib/modules/fglrx/build_mod/firegl_public.h 2007-01-09 12:26:33.000000000 +0100
+++ new/common/lib/modules/fglrx/build_mod/firegl_public.h 2007-02-11 14:26:55.808598509 +0100
@@ -36,8 +36,14 @@

#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9)

+#if defined(CONFIG_X86_XEN)
+#define REMAP_PAGE_RANGE_FN io_remap_pfn_range
+#define REMAP_PAGE_RANGE_STR "io_remap_pfn_range"
+#else
#define REMAP_PAGE_RANGE_FN remap_pfn_range
#define REMAP_PAGE_RANGE_STR "remap_pfn_range"
+#endif /* CONFIG_X86_XEN */
+
#define REMAP_PAGE_RANGE_OFF(offset) ((offset) >> PAGE_SHIFT)

#else /* LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,9) */
@@ -48,13 +54,24 @@

#endif /* LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9) */

+#if defined(CONFIG_X86_XEN) && (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9))
+
#define REMAP_PAGE_RANGE(vma,offset) \
- REMAP_PAGE_RANGE_FN(FGL_VMA_API_PASS \
+ REMAP_PAGE_RANGE_FN(vma, \
(vma)->vm_start, \
REMAP_PAGE_RANGE_OFF(offset), \
(vma)->vm_end - (vma)->vm_start, \
(vma)->vm_page_prot)

+#else
+
+#define REMAP_PAGE_RANGE(vma,offset) \
+ REMAP_PAGE_RANGE_FN(FGL_VMA_API_PASS \
+ (vma)->vm_start, \
+ REMAP_PAGE_RANGE_OFF(offset), \
+ (vma)->vm_end - (vma)->vm_start, \
+ (vma)->vm_page_prot)
+#endif

/* Page table macros */

2007/04/17

Ubuntu Feisty (7.04) release date

3 more days for the new version of Ubuntu!
I have ordered the free CD from Ubuntu, it will be available 4 to 6 weeks from the release day.
By the way, I have already running full Feisty release on my iBook, nice eye candy and also better performance. Nice job.

2007/04/13

即時舊生會

今晚約了十一個"即時舊生"出來食飯聚聚, 有d 係成日見到, 有d 好耐冇見.
約了在葵芳地鐵站等, 原本係想去潮樓, 不過好似好貴, 改了去金潮.
金潮地方不太好, 好似海鮮檔 feel, 食物幾好味, 仲好平添, 一人都係70 幾.
阿 Ling 的 BB 好得意呀, 不過唔知點解一上來就喊, 喊了4次, 結果工人抱了他在樓下等我們.
好多人一齊的感覺真好, 講好多八卦野和舊事呢.
回去的路 BB 不喊了, 好得意呀. 看來教主好似是元兇!

2007/04/12

OpenSUSE paravirt guest installation - Success!

After installation of OpenSUSE with domU kernel and initrd, the resultant system cannot boot!
Done some searching and seems it is related to grub config file, it can handle xen kernel but it wrote an entry for booting as dom0 mode, not domU mode.
I edited the entry and then it can boot successfully... in text mode, the reason is that SuSE's kernel has no xen framebuffer support, so it can only run serial console.
I copied the RHEL5 kernel to the SuSE filesystem and now it can boot into graphical mode!
Tried live migration and it works too, very good POC.

2007/04/11

OpenSUSE paravirt guest installation

Started to install paravirt guest OpenSUSE 10.2 on RHEL5.
The procedure is "quite" straight forward, but the default boot ISO image for SUSE is not xen-capable, so we need to get the kernel-xenpae RPM and the install-initrd RPM, then use a script to extract the kernel and modules from kernel RPM and insert to the initrd for installation use.
The script works fine under RHEL5, and now the system is installing from internet, will check if it work tomorrow morning.

2007/04/08

U.KEY 電話

好耐之前見過一部好似 iPod 的電話, 叫 U.KEY U826, 價錢好平, 大約$1200, 但果時因為部 Sony Ericsson 有2年約, 結果打消了換機的念頭.
今日阿爸話想買部新電話, 想要薄d的.
睇下睇下, 覺得呢部 U826 都幾o岩佢用, 仲可以聽歌, 原本佢係用 ipod shuffle 的, 這部用法差不多, 正!



不過買了返屋企之後, 個火牛竟然不能充電, 明天要拎去換!!
好在, USB 都可以充電, 暫時用住先啦.

2007/04/05

Mr. Bean's Holiday

今日去了睇“Mr. Bean's Holiday”,不出所料,全場爆滿,全場笑聲。
故事不講了,可以說是無厘頭,但真係睇得好開心,難得放假,笑下就 OK 了。

清明及復活節假期

2個完全沒關係, 什至有點衝突的節日, 令假期變得更長.

2007/04/04

Ubuntu 7.04 beta on iBook

My iBook's external harddisk got Ubuntu 6.10 installed, and Ubuntu has dropped PowerPC support now, which means there will still having packages for PowerPC but the release date will not be affected by the PowerPC bug/issues.
Recently Ubuntu 7.04 beta released, and I have installed on my home desktop, it seems runs a lot faster than my Gentoo, maybe due to more optimization. But unfortunately there is no installation CD for PowerPC, so I tried to upgrade it by apt-get.
Firstly I changed my sources.list to point to feisty instead of edgy, then try to run apt-get update, yes, the tree is there!
Then I try to see the packages list by apt-get dist-upgrade -u, within my expectation, over 800M need to be downloaded, to play safe, I upgrade the kernel stuffs and apt/dpkg related packages first.
After that I upgrade the XWindow, reboot with my finger crossed, yes, it can boot with new kernel and using new XWindow, then I decided to upgrade it during my lunch time, I issued apt-get dist-upgrade -d to just download the packages.
The downloading finished right after I finished my lunch, and I upgrade the whole system within an hour.
The upgrade is smooth and I am now running Feisty beta on my iBook!

2007/04/03

New glasses

Finally have time to get back my new glasses, looks very nice indeed.
But I am not getting use to it at the moment, as I always use Oval lens, and the new lens are rectangle.
Anyway, it is happy that my short sight has not change in nearly 10 years.

2007/04/02

戰狼300

今晚和朋友睇了戰狼300。
原本好耐之前想睇,但後來d人話變態,冇人去,今日終於睇了。
戰狼300 是改編自漫畫,漫畫是改編自史實的溫泉關戰役。
溫泉關戰役是第二次波希戰爭(波斯和希臘)的一次著名戰役。
波斯國王薛西斯想入侵希臘,斯巴達王得不到議會支持,只帶了300名戰士,
到佔地形優勢的溫泉關,準備對抗來犯的波斯軍隊。
他們抵抗了3天,但最後因為波斯軍隊得到情報抄小路包抄他們,最後300名
英勇的斯巴達戰士全數戰死。
雖然這300名斯巴達戰士戰死了,但波斯軍隊也失去部分戰鬥力,也因為
斯巴達戰士,希臘得到時間備戰,最後他們也能擊敗波斯軍隊,保住了希臘的自由。

雖然套戲好血腥,但係劇情真是令人感動。

2007/04/01

再踩返單車

之前因為天氣開始凍, 又成日星期日唔得閑, 所以停了踩單車3個月.
今日小試牛刀, 再踩返個幾鐘, 都幾好呀.
首先第一站是去充返滿d呔, 嘩原來d呔冇氣真係幾難踩的.
充好之後煥然一新, 踩都踩得快d, 好快就到元朗, 原本想去天水圍, 但想到咁耐冇踩, 都係先回程再算.
2點半出發, 4點就返到屯門了. 都有少少累.
下星期踩全程!