Archive for the ‘謬論歪理’ Category.

當你手上有鎚子…

西方有句俗語:只要手上有鐵鎚,甚麼也會看成釘子。這句很久以前就讀過了,但還是不明所以。後來長大了,見識多了,人面廣了,才發現原來自己曾經拿鎚子敲過人,也曾經被人拿鎚子追打過。

大家有沒有接觸過一件新事物,學會一套新知識,領略一種新方法,便開始在生活上積極應用,然後繼而廣之成為你生活圈子裏的推廣員,向身邊的人逢人說項?總會試過的,即使你那麼討厭以推銷為生,卻不知不覺當了推銷員。最好是大家都跟你走,然後讓世界變成烏托邦…之類的幻想,總會有的。有好方法要用當然好,但解決問題得要對症下藥,鎚子不是萬能的。同理,別人碰釘拿鎚子敲敲他,讓他腦筋清醒一點當然好;但怕他討厭被人追著敲,更怕一敲把他敲暈,況且人家用鏍絲起子用得好好的,要他用鎚子反而誤他大事。

以前 PHP 曾經是我的鎚子,直至看見有人想用這把鎚打一個 POS 出來,我才肯放手;Java 也是我的鎚子,今天我還會用(營生,沒辦法),但必要時我還是會把它收好,拿更適用的工具;C 與 C++ 也是兩把好鎚,不過我不會用,經常砸到腳,我就把它們放下了。

Facebook Apps

大家都喜歡將自己的頁面塞滿小程式,我以前也會。但自從某天覺得不好玩,就差不多把它們丟光了。特別和我真實身份無關的,好像狼人和吸血彊屍呀,人家送了甚麼虛擬禮物呀,請我喝了甚麼酒,丟了幾個熱燙燙的馬鈴薯,自己粉飾好的小宇宙都忘得一乾二淨。

也在那一天,索性把那堆應用程式邀請一次過刪掉。直覺告訴我,你們才不是主動邀請我,只不過是應用程式預設將邀請送給所有朋友。因為我也按錯了好幾次,把邀請送了給一堆半生不熟的朋友。

我對 Facebook 的印象,仍只留在找舊朋友的層次,你們說的那些「平台」,「社交網絡」功能我還沒用上。罵我是個老古板吧。

很黃很暴力

當大家讀到那單新聞,聽到那小女孩說標題那句話,是不是:
11910686776431.jpg

各位,這種心抱邪念,戴著有色眼鏡看人家的方法是不對的。你怎麼就會覺得那小女孩說「很黃」就是你心裏那種「很黃」?人家天真無邪,或許根本就不知道甚麼是黃,甚麼是藍,甚麼是黑。當然,也可能是你「很黃很暴力」的圖片看多了,看得多就不覺得出問題。結果我試著以一個小孩的角度思考,一找就找到一大堆「很黃很暴力」的圖片。貼出來讓大家重新認識這組字的意思吧。

p1040028_edited.jpg
想一下母雞媽媽含莘如苦產蛋,人類居然以褭腹為名,施暴為實,把毫無抵抗力–黃色的–蛋黃攪爛,這不是名符其實的「很黃很暴力」嗎?

image030.jpg
薑不就是黃色的嗎?將其碎屍萬段,「很黃很暴力」!

f2004092014002900000.jpg
一不小心跌進黃河洶湧澎湃,泥黃色的水流之中,定必粉身碎骨,死無全屍!不得不說黃河其實也「很黃很暴力」。

lion-carrying-impala-500.jpg
動物界裏「很黃很暴力」的佼佼者一號。

12716264_269085.jpg
動物界裏「很黃很暴力」的佼佼者二號。

13_43_2-building-demolition-gateshead-tyne_web.jpg
也不排除張小妹妹其實在說這幅圖片。

我早說了,互聯網很危險的,還是不要上網好了,河蟹也省得著。

人性半小時

如果要快速體驗人性的醜惡,可以試試在七時半乘搭東鐵線往北的列車。

歸心似箭是人之常情,不過如何拿這種心情和臉皮的厚度之間平衡,那就要看自己的修為。

明明列車兩三分鐘就是一班,歸家又不是要打卡報到,遲到會扣薪水,但每個人都表現得像是逃難似的,列車滿了也死命要擠上去。

我嘛,如果後面那堆人沒擠過來我想我是站在門口邊的。現在我跟車門之間卻多了兩重人。

也好,算了吧,反正只要擠一個站的路程,下一個站大圍是轉線站,一定會有很多人下車的。

然後,列車進站,停好,打開門。但是,裏頭的人湧出來了,我卻像被人壓在彈簧床上,後面好像死都不想出去。

喂,這是基本禮儀吧。走出車廂讓車廂裏的人下車,對你好,對大家都好。回頭一看,卻見那個中年男人抓著車邊,意圖把人群擋回去。

忍不住了。身子仰後,加了點力,最後他腳步踉蹌,退到外面去。見他睜大了眼睛看著魚貫而出的人群,還露出一副狼狽相。

只差沒看見跟他一樣站在旁邊的我,邊冷笑邊盯著他。我想我這也是人性吧?

精神體諒法

城市人生活節奏急促,在使用大眾交通系統時總是表現得匆匆忙忙,有時言行魯莽而不自知。

好些時候我表現得不合作,但自從老師教會我們要有 empathy,做人要設身處地以後,我便經常把這念頭掛在心上。

好像剛剛乘火車回家,明明已很接近車門,絕不會下不了車;但我感到背後那男人有一股衝動,想一手把同在本站下車的我的肩翻開,讓我乖乖的跟在他的後面。還好左邊還有點空間,讓我可以閃避過去他的白骨爪,順便做個肢體動作,告訴他「其實我也要下車」。

更早之前,類似的事發生在地下鐵路的車廂裏。站在擠擁車廂裏的我正在悠然自得享受著耳筒傳來的音樂,誰知突然便傳來一把粗獷的女聲:「行開啦,阻鬼住晒。」識趣的我立刻退到一旁。那聲音的擁有人大步大步的踏出車門,背影活像出巡的女皇。

比那個更早以前,我和同學正站在九龍塘火車站徐徐往下的扶手電梯上。正差不多要到達終點,背後有個小女孩這時提醒了我︰「知不知道一個人佔著雙人扶手電梯是很沒禮貌的?」不管當時電梯其實很窄,況且距離終點只有兩三步,但作為一個文明人,被小妹妹投訴我沒禮貌,哪會聒不知恥攔路的?

還有還有,那是最後一次跟朋友逛書展。散場時我和朋友埋沒在人山人海之中,正在閒談之際,後面有兩位君子不耐煩,動起口來:「你嘈乜X野呀?阻x住晒。」也許出口有效,連我在內前面的人擠出了一條小道來,讓那兩位君子走過。

究竟有甚麼事情,讓這些人急得那麼緊要,不怕得罪別人,強要爭分奪秒?我歸納出以下幾個原因。

  1. 江湖救急
  2. 需款孔急
  3. 十萬火急
  4. 人有三急

現實裏有多少個江湖中人?那又怎會有那麼多江湖救急;急錢的話,可以撥個電話給安信兄弟,不用跑得滿頭大汗的;消防員要救火會乘救火車,犯不著跟我們普羅大眾爭路;剩下最合理就只有「人有三急」了。俗語有云︰「事急馬行田」,有急事走棋也可以違反規則,更何況是屎急?我們確實要讓路給有這種需要的人。設身處地,自己人有三急被人家擋著也會不耐煩吧?所以我肯定他們不是屎急,便是尿急。

魯迅筆下人物阿 Q 有一招「精神勝利法」,心存勝利的幻想,但現實卻沒有一點勝利應有的光采;以上那精神上怪異的結論也姑且命名為「精神體諒法」好了。

把那麼多人家的屎屎尿尿記到現在還攤出來,看來我也是狗吃熱屎,不知好歹。

[Psychomath]觸電的代價

心血來潮,突然想寫一系列既沒品味也沒趣味的題目充實版面。

大家知道電費是怎樣計算的嗎?「電費是一度度算的喔~」答得好,那麼大家又知不知道一度電即是多少呢?其實「度」這個單位有一個比較學術的名字,叫「千瓦時」,英文是kilowatt hour,或簡稱 Kwh。Kwh 是能量單位,大家可以假定定義為「一千瓦特的電器開上一小時所用的能量」。如果換算成焦耳(Joule),1 Kwh 等於 3,600,000 J。(也可以換算成愛窈窕人士最怕的卡路里︰1 Kwh 大概等於 860 大卡)

拿個例子說明,一盞一百瓦的燈泡亮著的時候每秒便會耗用 100 焦耳 (J),整整一小時都亮著的話便會用去 100x60x60 = 3,600,000 J,擙算一下我們便可以知道這盞燈炮在這期間用了 1 度電。如果只亮著十分鐘,那麼耗電量便會縮減成原本的六分之一,即大約 0.17 度。

既然我們知道了電力單位的算法,我們可以推算出,如果一個人觸電了,當中會浪費了多少電力?

這個問題則要多一點物理常識才可以理解。我們就假設人體是一盞大電燈泡吧,不過這盞電燈泡上面卻沒有刻上 W,也沒有能源效益標籤,所以我們也不可以直接算出我們要的結果。不過不要緊,算出來不難,我們只要知道人體的電阻值就可以了。人體電阻其實不定,內部器官比皮膚的電阻值為低,而且站立姿勢,氣氣濕度,衣著等都會影響整體的電阻值。所以我們不計算,隨便找找網頁好了。這裏說乾皮膚的平均電阻大約是 2000 歐姆。

不過,不求甚解不是正確的學習態度,在這之前我們還是看看甚麼是電阻比較好。電阻,名符其實即電力通過物體時所遇上的阻力,只要電阻越大,流量亦會越低。「甚麼?電也有流量嗎?」對啊,統計電力流量–或電流–的單位是「安培」(Ampere),英文簡稱 A。

說回正題。計算人體觸電我們需要知道幾個因素:電源接通了(close circuit) 多久,電流在人體上花了多少能源,找到這些資訊我們把數字塞進算式:

Vrms=IR
220=2000I (香港交流電有效電壓為 220V)
I=0.11A
P=VI
P=220(0.11)
P=24.2W
W=Pt
W=24.2(0.5) (0.5 為平均人類反應時間,暫且假設一觸電便會反射動作縮手)
W=12.1J

轉換成千瓦時,所耗能量大約為 0.000003 kWh,也即是 0.000003 度。

依中華電力的電費計算方法,以首400度電力的價格,每度為 $0.862。如果不小心碰到一下又幸運地毫髮無損的話,所要付的代價為 $0.862 x 0.000003 = $0.0000028,萬分之一分也不到。

當然,前提是你觸電後能及時反射性縮手,不是被當場電暈當導電體。

(Update: 真是的,居然搞錯了單位,看來我算術真的退步了啊)

框架與開發

1. 有時候不要依框架工作。如果面對框架不能完成或難以完成的工作,不妨試一點比較「穢」的方法。框架是輔助你的工具,不是限制開發的牢獄。

2. 同上,避免用上一些把低階收起,只開放高階介面的框架。拿 Hibernate 為例,即使它是一套 O/R Mapping 的工具,你仍可選擇以 SQL 拿取資料。

3. 要衡量使用框架後所增加的工作量。我的準則是計算框架設定與商業邏輯(Business Logic) 的比重:如果設定比想好商業邏輯更辛苦的話,還是不要用框架為妙。

4. 有時候不要被框架琳瑯滿目的功能所矇蔽。要先釐定出你所需要的功能,再以學習難度,設定複雜程度等等因素挑選合適的框架。

5. 嫌框架還是太繁複的時候,可以考慮在框架上另編寫自己的框架簡化重覆的步驟。

6. 不用太在意自己是否符合 Best Practices;除非有碰釘,程式碼過於複雜等等問題。If it ain’t break, don’t fix it.

7. 不少框架也鼓勵模組化(Modularized)和重用 (Reuse),但有時候應不應該把自己的程式碼拆散成散亂的碎塊。要肯定自己可以隨時會用到自己建立的模組,那便可以避免出現雞肋問題。

8. 使用模組時,如果時間許可才採用模組陌生的功能。時間不足寧可選擇較麻煩的方法。

9. 不要用說明不詳盡的框架。

10. 簡單的東西,例如方便自己的小工具的編寫,cron job 等等東西,除非有其他原因,最好不要碰框架。

single