Thursday 30 April 2009

little home improvement (part 2)

在裝修後期時,我就打算桌面只放電腦、螢幕、喇叭、鍵盤和滑鼠,其餘的東西都放入桌面之上的書櫃裡。趁著師傅還在時,就讓他們為我在兩個書櫃的角落裡、並幾個電線可能經過的地方鑽洞,好讓我可以把電線拉去不同的地方。這是原設計圖裡沒有標示的。

前方的書櫃裡放了 Firewire 硬盤、讀卡器等,右邊的書櫃裡釘了拖板、鬚刨和 PMP 的充電器、無線 Router 和 Modem。好處嘛,除了桌面企理得多、空間更大之外,就是我不用擔心它們封塵。壞處是電線一定要夠長,還有會有散熱困難。當中尤以 Modem 和 Router 的散熱問題最為嚴重。我唯有趟開著櫃門讓它們涼快一點,這卻遣背我原先的打算。

有些時候我會把櫃門半掩,除了因為 Belkin Router 的燈太光亮,影響著我睡眠之外(註一),也是不想太多塵吹入去。但是它們好像不能習慣這環境,或是因為 Netvigator 去年換了個 X9322 給我吧(註二),常常到了下午之後就不能上網,晚上回家便要把它們 reset。

由於散熱問題,它們在櫃裡霸佔的空間日漸擴大,忍無可忍之下,把它們從櫃裡趕出去了。

在第二張書檯的牆上找了個地方,用 3M 的無痕貼把它們並列的掛起來,就是左圖兩個掛鉤之間的地方。坐在椅子上時,可以看到它們的燈在閃,有點 distracting。然後,過了一天,Modem 掉下來。過了三天,router 也掉下來。兩部機器的熱力把 3M 的無痕貼熱溶了(不過要清理也是很容易)。

在機底貼什麼膠貼都行不通,但不要在牆上鑽洞,唯有在牆上貼掛鉤,再把它們掛在這些掛鉤上。要找合適掛鉤不難,大概計算一下總重量(平均每部機 500g),我用上兩個總負重為 6lb(2.5KG)應該不會有問題吧。倒是那個掛網比較難找,在油塘的日本城沒賣,卻在旁邊的小型家用品店裡找著。

左圖:把它們都掛上去了。

用索帶的好處是穩陣又可以隨時修改。看左圖和下圖的分別,下圖就是把 modem 改向下掛,這樣子,當我坐在電腦前不會被 modem 的閃燈影響而分心。下圖也把之前的 LAN 線修剪一下。之前的 LAN 線都很長,長得足以讓我把一條剪成三條。如今就認真企理得多了。而且要拔要換也很方便。

(請點擊看清楚吧,真的很企理呢)

註一:酒店的窗簾多是不透光的,初初去旅行時,完全不能習慣全黑的房間,又是怕鬼又是什麼的。後來克服了,反而變得喜歡這種全黑的睡眠環境。
註二:google "Netvigator X9322" 會找到一堆投訴。

Tuesday 28 April 2009

little home improvement

整個房間的傢俬,除了座椅之外,都是由我自己設計的,或者我本身不是設計出身(程式設計不同於室內設計、圖像設計吧),所以除了設計方向為大容積、大空間是對的外,燈光、重力分佈等都有著或多或少的問題。重力分佈問題在完工後第三日就出現了:書檯上空的書架中央微微向下彎。師傅在兩張檯面上加了分隔,將支撐力點由左右兩邊,增加至左中右三個。結果令到我的兩張大檯面變成四個空間。

至於燈光問題,在其中一個深 40CM 的檯面上最為嚴重,所以裝潢完畢時已加裝一支可調較方向的 T5 13W 光管燈補救。這一支光管燈在灣仔賣 $300,吉之島賣 $288。本來想買多一支,因為太貴所以卻步。

日前趁著去將軍澳華永墳場掃墓,在山下油塘那個街坊商場逛了一圈,居然發現日本城有售同款光管燈,有 T5 13W,也有 8W 的,8W 的賣 $142。心想,若然兩支一樣,只要買一支後備光管就足夠了,這樣蠻方便的。所以即使那兒只有最後一支、包裝也有點殘破,也照買了。在日本城(油塘)賣的 13W 光管燈,與吉之島同型號,包裝一樣的殘破,也是店內「唯一」一支,卻賣 $152。

結果,被阿媽嘮叨了:所以買野一定要四圍格價呢。


安裝前,檯面很暗,要閱讀就要另外放檯燈或同右面的 T5。


安裝改,檯面光亮得多,又無須另外放檯燈,當然,加上右面的 T5 就威力加強啦。


參閱:sketch up my cupboards

Friday 24 April 2009

s60 messaging: memory full (part 2)

I've modified my program to skip the error when encountered. The program can run till end and scan all folders under My Folder (0x00001008). And it encounters two "-4, KErrNoMemory" errors while accessing the sub folders. After comparing it with the counting in Messaging, I realized that those are two folders with most messages stored, over 3000.

Moreover, now the phone is unable to list the counts of those two folders.

The saving plan might go like this way:

1. archive all accessible messages
2. remove them
3. hopefully those two largest folders can be reopen.

If #3 doesn't work, plan B go this way:

4. try to scan and archive all messages without accessing the parent folder (if possible).

Hope this would be done soon.

p.s. I really doubt if there is any message rescue applications for Symbian out in the market...

Sunday 19 April 2009

s60 messaging: memory full


Since April 3rd my Nokia N82 (Symbian 9.2, S60 3rd Ed, FP1) is having problem with Messaging. Whenever I try to create a message, it shows error:

"Messaging: Memory full. Close some applications and try again."

Nokia N82 has more than 80MB of free RAM on startup and seems that Messaging doesn't use up all memory before the error. So, what's the problem? Let's get a look into the memory usage in Symbian application.

Each Symbian application must declare the amount of memory it uses. Stack size is fixed, and heap size is vary with maximum and minimum values. When a program shows "Memory full", it may used up all the heap it declared, even the phone still has some free memory. The maximum amount of memory that can be used is limited by the value set by the programmer of that application, not the device itself. That give no differences between E50 (12MB free RAM) and N82 (80+MB free RAM). That's so sad for users of this platform: why so stupid?

By the way, Symbian stores each message in a single file (with or without a sub-folder). Since the cluster size of Sybmian file system might be 4 to 16KB, storing a SMS, disregarding its size, might need 4KB of space. Do you see the problem? A thousand of SMS "OK" will take you 4MB on phone. I'm not going to discuss this problem further.

Now I want to fix this problem by archiving all my messages into a database (probably a SQL database file or multiple database files). So, I write a small program to read the messages. But my program crash with same error, even my stack = 64KB, heap = Min 4 MB, Max 64 MB. Here is when it crash:

The program gets entry to the local service (KMsvLocalServiceIndexEntryId) and finds 5 children. Then it scan each child and their children.
  1. In Inbox (0x1002), it finds 38 children, all are SMS.
  2. In Outbox (0x1003), there is none.
  3. In Draft (0x1004), 26 SMS found.
  4. In Sent (0x1005), 30 SMS found.
  5. In folder (0x1008), 25 children found.
Then my application scan these 25 children.
  1. First one (0x1009) is a folder with no content.
  2. Second one (0x0010000D), type unknown. Application get memory full error here.
So, what's wrong with it? What is 0x0010000D? I know it should be a message type since the ID start with 0x0010****. Anyway, still need some time to investigate.

mafia wars for iphone

這兩日在 iPhone 上玩 Mafia Wars官網),聯同另一位朋友一起夾計去玩,發覺原來這類遊戲都有其好玩之處,難怪 Facebook 上這類遊戲成行成市般。

這個遊戲,其中買入物業一項,做了個開支和收入的比較,似乎物業可以帶來的收入,不及打人的多和快,不過,卻需要靠它們來 upkeep 武器和車輛。為了有效地投資,先做一個報表:

物業:空地商業地出租屋酒樓複式超市海邊鋪寫字樓
成本:5K50K15K35K250K450K6M20M
增長:5005K1K3K20K40K500K1.6M
收入:501501503502K3.5K45K150K
回報:






-1:1.0%.30%1.0%1.0%.80%.78%.75%.75%
-2:.91%.27%.94%.92%.74%.71%.69%.69%
-3:.83%.25%.88%.85%.69%.66%.64%.65%
-4:.77%.23%.83%.80%.65%.61%.60%.60%
-5:.71%.21%.79%.74%.61%.57%.56%.57%
-6:.67%.20%.75%.70%.57%.54%.53%.54%
-7:.63%.19%.71%.66%.54%.51%.50%.51%
-8:.59%.18%.68%.63%.51%.48%.47%.48%
-9:.56%.17%.65%.59%.49%.45%.45%.46%
-10:.53%.16%.63%.56%.47%.43%.43%.44%

由此可選最合適的物業來投資(當然要有返咁上下錢先啦)。不過,物業起碼要放響度五日(120小時),才會返本,未計自己無啦啦賣出去所蝕的啦。

Tuesday 7 April 2009

出門高e.q.,回家低e.q.

緣份是找到包容你的人

有一個男人為了參加第二天的小學同學會,特地上街買一條新長褲。他回家穿上後,卻發覺長度多了 十公分 。於是請求媽媽替他改。媽媽說,身體不舒服,想早一點休息,今晚不想改。他改請求太太替他改。太太說,還有許多家事要做,今晚沒有時間改。於是他改請求女兒替他改。女兒說,今晚跟男朋友約好去跳舞,沒有時間改。他想想,既然如此,明天穿舊的長褲去同學會也可以!

當天晚上,他媽媽心想:「兒子平時對我很孝順,他開口要求總不好拒絕他。」於是,起來替兒子改長褲,剪短了十公分 。

他太太稍晚做完家事心想:「老公平時很有耐心,今天他是不會縫針線才開口要求,總不好拒絕他。」於是替先生改長褲,剪短了十公分 。

他女兒晚上回來:「爸爸不阻止我去跳舞,實在是開明的老爸,今天實在應該替他修改長褲。」於是替爸爸改長褲,剪短了十公分 。

第二天早上,三個女人分別告訴男主人此事。他一試長褲,已經變成吊腳褲了。
他的反應是......哈哈一笑,說:「我一定要穿去給同學看,告訴他們,我的媽媽、太太、和女兒對我多好。」結果,老同學們一致稱讚他家庭經營成功。他的媽媽、太太、和女兒也都很高興。

如果您是故事中的男人或女人,當下您會做何反應?
「哈哈一笑」抑或「破口大罵」?

人,面對外人時,總是可以表現得雍容大肚、心平氣和,但面對自己最親近的家人,卻往往一點小事就足以皺起眉頭,甚至出言相傷。

如果形容人類是一種「出門高E.Q,回家低E.Q」的動物,我想一點兒也不誇張,多拿出一點耐心與幽默感給家人吧!否則您自己也不會快樂,不是嗎?

詼諧的哲理

  1. 愛加愛等於非常愛,愛減愛等於愛的起點,愛乘愛等於無限的愛,愛除愛等於惟一的愛。
  2. 對的時間遇對的人,是一生幸福;對的時間遇錯的人,是一場心傷;錯的時間遇錯的人,是一段荒唐;錯的時間遇對的人,是一聲歎息。
  3. 鐵飯碗真實的含義不是在一個地方吃一輩子的飯,而是一輩子到哪兒都有飯吃。
  4. 所謂單相思,就是你把她/他放在心裡面,她/他把你放在心外面。
  5. 聽人說話只信一半是精明,知道哪一半可信才是聰明。
  6. 男人的拿手好戲是撒謊,女人的拿手好戲是撒嬌。
  7. 老是闆著臉的人叫老闆,總是裁人的人叫總裁。
  8. 嘴巴甜一點,腦筋活一點,行動快一點,效率高一點,做事多一點,說話輕一點,微笑多一點。~~久經考驗的上班族總結出來的成功之道。
  9. 情如魚水是夫妻雙方最高的追求,但是我們都容易犯一個錯誤,即總認為自己是水,而對方是魚。
  10. 男人的年齡由自己來感覺,女人的年齡由別人來感覺。
  11. 當別人拒絕你的時候,或許可以試著用真誠和機智去打動他。
  12. 我之所以成功,或許就是因為我是抓住了萬分之一的笨蛋,因為我凡事往好處想,別人以為我是傻瓜,但萬分之一的可能畢竟意味著有可能。
  13. 要想成功,就要學會放棄,只有放棄眼前利益,才能獲得長遠大利。
  14. 諾言可以帶來朋友,信守諾言才能維持友誼。
  15. 一扇幸福的門關閉的時候,另一扇就會打開,但我們經常長久地凝視那扇關閉的門, 而忽略了那扇為我們打開的門。
  16. 朋友像棉被,真正使你溫暖的是你自己的體溫。
  17. 要成功,你需要朋友;要非常成功,你需要敵人;要真正成功,你需要戰勝自己。
  18. 愛一個人就是在拔通電話時,突然不知道要說什麼,才知道原來只是想聽聽那熟悉的聲音,原來真正想拔通的,只是自己心底的一根弦。
  19. 把每一個黎明看作是你生命的開始,把每一個黃昏看作是你生命的小結。
  20. 無論什麼時候打電話,拿起話筒的時候請微笑,因為對方能感覺到!
  21. 知道自己能夠做些什麼,說明你在不斷地成長;知道自己不能夠做些什麼,說明你在不斷地成熟。
  22. 再直的筷子,插進水裡也是彎的。
  23. 失戀之所以痛苦,是因為對方的心收了回去,而自己的心還不肯回來。
  24. 努力地工作,就像不苛求回報一樣;真誠地去愛,就像從來沒有受過傷害一樣;投入地跳舞,就像沒有人在一旁看著你一樣。這樣的生活,肯定可以給你帶來快樂。
  25. 口袋裡無錢,存折裡無錢,但心裡裝滿錢的人最苦;口袋裡有錢,銀行裡有錢,但心中無錢,此為大福也!
  26. 擺脫孤獨的最好方法就是喜歡孤獨;時間抓起來是黃金,抓不起來就是流水。
  27. 活著就是一切,活著就是樂,活著也有苦,苦裡卻也有樂;就如一片樹葉,我該生的時候,我生氣勃勃地來,長我的綠,現我的形,到該落的時候了,我痛痛快快地去,讓別的葉子又從我的落疤裡新生。
  28. 生命並非一個發現的過程,而是一個創造的過程。你並不是在發現你自己,而是在重新創造你自己。所以,別急於發現你是誰,而該急於決定你想做誰。
  29. 愛情是音樂:初戀是輕音樂,熱戀是搖滾樂,結婚是通俗音樂,離婚是流行音樂。
  30. 一位女士靠在鄰座陌生男士的肩上睡著了,這是一個故事;一位男士靠在鄰座陌生女士的肩上睡著了,這是一個事故。

祖先定十二生肖的含意

明白祖先定十二生肖的含意嗎?
有一次,我有機會和歐洲貴族聚餐。 可能酒喝多了,一位德國貴族站了起來,諷刺說 :" 你們中國人都是屬什麼豬啊!狗啊!老鼠啊!不像我們,都是金牛座、獅子座、仙女座 ……真不知道你們祖先怎麼想的?"
當時這些貴族聽完哈哈大笑,還互相碰杯,先前的優雅完全不見了。
按理說,人家在罵你祖宗了,你即使沒有話說,起碼可以掀桌子啊!但所有人都坐著不吭聲,也可能是還沒反應過來,我當時只好平和地告訴在場所有外賓:"中國人的祖先是很實在的,我們十二生肖兩兩相對,六道輪迴,體現了我們祖先對中國人全部的期望跟要求" 。
這時 ,現場氣氛雖然從嬉鬧轉為安靜,但是他們臉上還是一副不屑的樣子。
我說:

"第一組是老鼠和牛。老鼠代表智慧,牛代表勤奮。智慧和勤奮一定要緊緊結合在一起。
如果光有智慧不勤奮,那就變成小聰明;而光是勤奮,不動腦筋,那就變成愚蠢。
所以這兩者一定要結合,這是我們祖先對中國人的第一組期望和要求,也是最重要的一組。"

"第二組是老虎和兔子。老虎代表勇猛,兔子代表謹慎。勇猛和謹慎一定要緊緊結合在一起,才能做到所謂的膽大心細。如果勇猛離開了謹慎,就變成了魯莽,而你沒有勇猛,一味的謹慎,謹慎就變成膽怯。這一組也非常重要,所以放在第二。"

我看著這些貴族,補上一句:"所以當我們表現出謹慎的時候,千萬不要以為我們中國人沒有勇猛的一面。" " 實際上,我們祖先追求的是一種和諧的智慧和圓融, 從來不會單獨給一個要求和任務。"

看著大家陷入沉思,我繼續往下說。

"第三組是龍和蛇。龍代表剛猛,蛇代表柔韌。所謂剛者易折,太剛了容易折斷,但是如果只有柔的一面,就易失去主見,所以剛柔並濟是我們歷代的祖訓。"

接下來是馬和羊。馬代表勇往直前,直奔目標,羊代表和順。如果一個人只顧自己直奔目標,不顧周圍,必然會和周圍不斷磕碰,最後不見得能達到目標。但是一個人如果光顧著和周圍和順,之後他連方向都沒有了,目標也失去了。 所以一往無前的秉性一定要與和順緊緊結合在一起是我們祖先對中國人的第四組期望。

" 再接下來是猴子和雞。猴子代表靈活,至於雞呢,以前的年代沒有鐘,都是聽雞鳴聲決定一天的開始,所以雞定時打鳴,代表穩定。靈活和穩定一定要緊緊結合起來。如果你光靈活,沒有穩定,再好的政策最後也得不到收穫。但如果說你光是穩定,一潭死水、一塊鐵板,那就不會有我們今天的改革開放了。 只有它們之間非常圓融的結合,一方面具有穩定性,保持整體的和諧和秩序, 另一方面又能不斷變通地前進,這才是最根本的要旨。

" 最後是狗和豬 。狗是代表忠誠,豬是代表隨和。一個人如果太忠誠,不懂得隨和,就會排斥他人。而反過來,一個人太隨和,沒有忠誠,這個人就失去原則。所以無論是對一個民族國家的忠誠、對團隊的忠誠,還是自己理想的忠誠,一定要與隨和緊緊結合在一起,這樣才容易真正保持內心深處的忠誠。

這就是我們 中國 人一直堅持的外圓內方,君子和而不同。
"中國人每個 人都有屬於自己的生肖,有的人屬豬,有的人屬狗,這意義何在?實際上,我們的祖先期望我們要圓融,不能偏頗,要求我們懂得到對應面切入。比如屬豬的人能夠在他的隨和本性中,也去追求忠誠; 而屬狗的人則在忠 誠的本性中,去做到隨和。" 解釋完十二生肖,我說:" 不知道你們那些寶瓶座啊、射手座啊、公羊座啊, 體現了你們祖先哪些期望和要求?也希望不吝賜教。"

結果呢,這些貴族老爺們很長時間都沒說話,全場鴉雀無聲,一根針掉在地上都能聽見。最後貴族們紛紛由衷地表示對中國人和中國人的祖先非常敬佩:" 沒有想到中國的十二生肖有這麼深刻而實在的意義。"