最近爆發對內地自由行的不滿,老實說,一早料到了,也不對那些指控感到稀奇,其實它們一直都發生在我們眼前,只是人們為了錢為了經濟,才忍氣吞聲直到今天。
不如先說說我的經驗吧。四年前,我在迪士尼第一次看到那些震撼的場面:父親和男孩在美國小鎮大街行人道的樹旁,無視其他遊人,悠然自得地灌溉。探險世界的一個嬰兒車停泊處,一群內地人踎着、吃着自家的午餐,猖狂之極,使我目不暇給。
那時有很多人聽到我的經歷後只會搖搖頭,道那些不過是例外而已,大部分中國人還是很好的。不,見識小的是他們。一個學校離旺角站僅有五分鐘路程、又經常要到銅鑼灣補習的學生所看到的,肯定會比他們多。我每星期五天放學回家,總有一次被人拉背包或衣袖,然後便有一個操普通話的人問:“哎,到XXX怎樣走”我答不上的便一臉不屑地走開,幫得上的,也沒有幾個字典裏有“謝謝”一詞。中旅社影印街外面成了一個香爐,煙味和蒜味濃烈得可怖。那裏也變了一個地雷陣,你總要小心人、篋、痰。地鐵裡,聽得到的人聲十居其九是PTH,跑來跑去踩你腳的亦然。更甚者,用戰利品一字排開把整排座椅佔去,霸氣無人能及。
可是,自由行帶來的影響不只是觀感問題。我愛看書,可是漢榮被Nike取代了;榆林被逼上15樓,而16樓的博學軒則到了兩條街外的大廈裏。行人專用區上掛着的樓上書店招牌,有幾多還在?我聽音樂,但原本蠕縮在女人街排檔後面營業的CD舖卻買少見少。珠寶店藥房名店把其他店舖都逼走了,連我和朋友很愛吃的Froyo,也變成九龍珠寶。尖沙嘴星光行的商務也結業了。彌敦道金光閃閃;廣東道衣香鬢影 ; 山頂上人頭湧湧:可香港人從這些香港地方絕跡了,不再是我們地頭。我們的城市正在變成供人採購的集散場和一個名為"今天香港"的景點。
惡夢陸續有來:親戚要生女兒,卻沒有床位;生了,打不到針;通街也是藥房,卻要搶奶粉。我家住的一個屋苑,8個單位,只有我和另一家常常出入。其他單位,自從經紀帶過操普通話人士入去後,便不再有人住。報紙說這裡樓價創新高,我見到的住客卻是新低。
這些人樣貌看起來也許跟我們差不多,但骨子裡我們截然不同。我們講究規矩,他們講求人情。我們或多或少會顧及自己面子,他們不會,遑論其他人的。有次我在尖東目睹一陸客與一西方人爭執,為甚麼爭執我不清楚,但有兩件事我仍歷歷在目:那內地人的嘴臉,和那西方人走時那句"Bastard, i swear i will never come here again"。
後來到台灣日月潭,時值開放陸客觀光不久,各香港奇事再次重現。那台灣導遊慌忙跟那英國人說"Different Country, different people!"那一剎那,你便會明白,今天的衝突,都是給逼出來的。當然我認識一些跟我們差不多的內地人,可她們是真正的Exception,比不上我見到的千萬同胞。
我寫這篇文,只是想點醒一些死抱經濟不放的人:別發夢了。說是經濟好,但我們的生活有好過嗎?不,人工變相地少了,因為物價貴了,然後維持我們日常生活的店舖不是結業了,就是面對瘋狂加租。多好的經濟,帶來的錢都到了業主和名牌去。別這麼天真相信經濟和我們的生活是正比吧。
那些認為應忍讓體諒大陸人的人,聽着:當我們承受並接受他們的一套時,我們自己的價值便沒有了。我們現在已經拋棄了自己的詞彙,用上一些奇怪的詞語如“打造”、“素質”,然後便會是繁體字、禮貌、法治…我們只會變成大陸般。融合,應是各取所長,不是跟大路攞個Mean。
我最討厭的是那堆認為我們"憎人富貴厭人貧"的人(包括某專欄作家)。不,我們不稀罕富貴。我們只希望能讀到大學,有份安穩的工作,生活無憂,用十年光景把住宅供完,然後安分守己快快樂樂過日子。但今天我們卻不能再有此奢想了。說我們厭人貧更可笑。我們每次大陸天災(雖然更大程度是人禍)時捐了多少錢和物資?(還未計特首慷他人之慨的150億)還有以前是甚麼人又郵寄又回鄉地救濟親戚? 從今天內地人談香港時的態度,我們或許會看到真正的"憎人富貴厭人貧"。
為了一班輸不起的投資者,我們犧牲了自己的安居夢;為了鈔票,我們捨棄了文化;為了虛無的幸福,我們出賣了自己的靈魂。結果我們得到甚麼?一間一間的名店珠寶店藥房地產舖;一個一個不堪入目的景象;一單一單天價物業成交;一個一個要我們供養但從沒打算留下回饋的“香港人”。我們實際上沒有得到甚麼,卻失去了我們最可貴的。
八年後來一個盤點,得與失,自是清楚不過。
SNK - http://zh.wikipedia.org/wiki/SNK_Playmore 玩 iPhone 又寫 Windows .NET Program 的人 平時最愛打機同做無聊野
Monday, January 30, 2012
Saturday, December 31, 2011
香港年輕人的出路
http://plastichk.blogspot.com/2011/12/blog-post_28.html
香港年輕人的出路(轉載加改編續寫)
住屋篇:
年輕人 : 我要買樓 !
政府: 「新一代太急進買樓,不應以買樓為人生目標」
年輕人 : 我要公屋 !
政府 : 「有能力的大學生或年輕人不應霸佔公屋或以申請公屋為人生目標」
年輕人 : 我要居屋 !
政府 : 「居屋的歷史任務已經完成」
年輕人 : 我要夾屋 !
政府 : 「夾屋破壞房地產市場供求」
年輕人:咁我住舊樓住啦
政府:「舊樓日久失修,為改善舊樓質素,政府通過把強拍門檻由九成調低到八成」
年輕人:我死都唔搬
政府:「冇證據顯示縱火案和收購舊樓有關」
年輕人:住唔起樓,我住劏房啦..
政府:「點解你唔申請公屋?」
年輕人:申請唔到,我都係住劏房啦
政府:「劏房違反消防條例,市民應奉公守法」
年輕人:劏房唔得,我住迷李倉得唔得?
政府:「迷李倉不准居住,勿違反建築物條例」
教育篇:
年輕人:我要讀英文中學
政府:「母語教學好,中學轉用母語」
年輕人:母語咁好,我要繼續用母語
政府:「大學保持英文教學,中學微調行番英文」
年輕人:我要學好中文
政府:「特區政府加大力度抓緊普通話教育」
年輕人:我要讀大學
政府:「大學學位不足,請認受副學士」
年輕人:讀完副學士啦
政府:「大學取消銜接學位,雖然副學士認受性不足,但希望僱主承認」
年輕人:大學學位唔夠喎
政府:「大學應該加大力度國際化,廣泛讓大陸學生入讀」
年輕人:我想讀碩士
政府:「數據顯示,近六成研究院學生來自內地」
年輕人:我讀完碩士都失業喎
政府:「學生進修前應自行評估經濟基礎」
年輕人:讀完都賺唔番學費,唔讀啦....
政府:「年青人不求上進,缺乏理想」
工作篇
年輕人:我要打份好工 !
政府 : 「年青人不要心頭太高, 要捱得苦, 累積經驗最重要」
年輕人: 我要創業 !
政府: 「年青人不要好高騖遠,要腳踏實地」
年輕人:咁我做小販算 ...
政府: 「香港市容整潔很重要,攤檔容易引起火災,要加強票控小販」
年輕人:咁我去掃街囉 ...
政府: 「新移民就業問題應優先解決,為幫助中小企應引入外勞,勿與低增值人士搶飯碗」
年輕人:咁我讀唔成書,可以點?
政府:「行行出狀元,年輕人應檢討為何自己不能成為李嘉誠」
年輕人:行行出狀元呀?咁我炒 iPhone 算啦
政府:「年輕人心存僥倖急功近利,應把目光放遠」
年輕人:炒 iPhone 唔得,咁買股票得啦掛?
政府:「買賣可升可跌,投資涉及風險,詳情請查詢理財顧問,才作決定」
年輕人:咁我乜都唔買得唔得?
政府:「根據強積金條例,所有在職人士都必須強制投資強積金,有關詳情請向你的強積金經紀查詢」
傳宗接代篇
年輕人:我要買樓生仔
政府:「年輕人不應期待買樓是必然」
年輕人:冇地方住,唔結婚生仔啦
政府:「不孝有三,無後為大,年輕人生育率低,導致人口老化」
年輕人:人口老化又點?
政府:「人口老化的情況下,無法負擔市民福利」
年輕人:人口老化可以點解決?
政府:「政府呼籲年輕人多生幾個,最少生三個」
年輕人:但醫院冇床位,懷孕七星期就冇位
政府:「根據基本法廿四條,大陸孕婦來港產子有居港權,勿歧視大陸孕婦」
年輕人:咁禁止佢地來得唔得?我地要修改基本法
政府:「長遠而言,內地孕婦可改善香港人口老化問題 」
年輕人:我地就冇得生,大陸人就來狂生,將來教育、學位、醫療點算?
政府:「應為祖國感到驕傲,內地各院校增加了港人學額,同大陸人交換地方讀書啦!同時政府正研究醫療融資,年輕人應為供款作準備」
結論:
年輕人 :乜都唔得,我去死算啦咁!!!!!
政府:「骨灰龕位 供不應求」
香港年輕人的出路(轉載加改編續寫)
住屋篇:
年輕人 : 我要買樓 !
政府: 「新一代太急進買樓,不應以買樓為人生目標」
年輕人 : 我要公屋 !
政府 : 「有能力的大學生或年輕人不應霸佔公屋或以申請公屋為人生目標」
年輕人 : 我要居屋 !
政府 : 「居屋的歷史任務已經完成」
年輕人 : 我要夾屋 !
政府 : 「夾屋破壞房地產市場供求」
年輕人:咁我住舊樓住啦
政府:「舊樓日久失修,為改善舊樓質素,政府通過把強拍門檻由九成調低到八成」
年輕人:我死都唔搬
政府:「冇證據顯示縱火案和收購舊樓有關」
年輕人:住唔起樓,我住劏房啦..
政府:「點解你唔申請公屋?」
年輕人:申請唔到,我都係住劏房啦
政府:「劏房違反消防條例,市民應奉公守法」
年輕人:劏房唔得,我住迷李倉得唔得?
政府:「迷李倉不准居住,勿違反建築物條例」
教育篇:
年輕人:我要讀英文中學
政府:「母語教學好,中學轉用母語」
年輕人:母語咁好,我要繼續用母語
政府:「大學保持英文教學,中學微調行番英文」
年輕人:我要學好中文
政府:「特區政府加大力度抓緊普通話教育」
年輕人:我要讀大學
政府:「大學學位不足,請認受副學士」
年輕人:讀完副學士啦
政府:「大學取消銜接學位,雖然副學士認受性不足,但希望僱主承認」
年輕人:大學學位唔夠喎
政府:「大學應該加大力度國際化,廣泛讓大陸學生入讀」
年輕人:我想讀碩士
政府:「數據顯示,近六成研究院學生來自內地」
年輕人:我讀完碩士都失業喎
政府:「學生進修前應自行評估經濟基礎」
年輕人:讀完都賺唔番學費,唔讀啦....
政府:「年青人不求上進,缺乏理想」
工作篇
年輕人:我要打份好工 !
政府 : 「年青人不要心頭太高, 要捱得苦, 累積經驗最重要」
年輕人: 我要創業 !
政府: 「年青人不要好高騖遠,要腳踏實地」
年輕人:咁我做小販算 ...
政府: 「香港市容整潔很重要,攤檔容易引起火災,要加強票控小販」
年輕人:咁我去掃街囉 ...
政府: 「新移民就業問題應優先解決,為幫助中小企應引入外勞,勿與低增值人士搶飯碗」
年輕人:咁我讀唔成書,可以點?
政府:「行行出狀元,年輕人應檢討為何自己不能成為李嘉誠」
年輕人:行行出狀元呀?咁我炒 iPhone 算啦
政府:「年輕人心存僥倖急功近利,應把目光放遠」
年輕人:炒 iPhone 唔得,咁買股票得啦掛?
政府:「買賣可升可跌,投資涉及風險,詳情請查詢理財顧問,才作決定」
年輕人:咁我乜都唔買得唔得?
政府:「根據強積金條例,所有在職人士都必須強制投資強積金,有關詳情請向你的強積金經紀查詢」
傳宗接代篇
年輕人:我要買樓生仔
政府:「年輕人不應期待買樓是必然」
年輕人:冇地方住,唔結婚生仔啦
政府:「不孝有三,無後為大,年輕人生育率低,導致人口老化」
年輕人:人口老化又點?
政府:「人口老化的情況下,無法負擔市民福利」
年輕人:人口老化可以點解決?
政府:「政府呼籲年輕人多生幾個,最少生三個」
年輕人:但醫院冇床位,懷孕七星期就冇位
政府:「根據基本法廿四條,大陸孕婦來港產子有居港權,勿歧視大陸孕婦」
年輕人:咁禁止佢地來得唔得?我地要修改基本法
政府:「長遠而言,內地孕婦可改善香港人口老化問題 」
年輕人:我地就冇得生,大陸人就來狂生,將來教育、學位、醫療點算?
政府:「應為祖國感到驕傲,內地各院校增加了港人學額,同大陸人交換地方讀書啦!同時政府正研究醫療融資,年輕人應為供款作準備」
結論:
年輕人 :乜都唔得,我去死算啦咁!!!!!
政府:「骨灰龕位 供不應求」
Wednesday, December 14, 2011
Tuesday, December 13, 2011
Monday, December 12, 2011
Wednesday, December 07, 2011
Monday, December 05, 2011
Resuming Background Music in WP7 Applications
http://www.governor.co.uk/news-plus-views/2011/2/16/resuming-background-music-in-wp7-applications
http://blogs.msdn.com/b/oren/archive/2010/12/02/wp7-dev-tip-detecting-whether-or-not-the-user-is-playing-music-in-the-background.aspx
http://blog.toetapz.com/2010/11/16/how-to-handle-currently-playing-background-music-in-your-application/
http://spacemigas.wordpress.com/2011/04/07/overcoming-windows-phone-7-mediaelement-limitations/
public static class XnaMusicUtil
{
private static bool isRadio;
private static bool hasSaved = false;
public static void SaveCurrentMediaState()
{
hasSaved = false;
isRadio = false;
if (Microsoft.Devices.Radio.FMRadio.Instance.PowerMode ==
Microsoft.Devices.Radio.RadioPowerMode.On ||
Microsoft.Devices.Radio.FMRadio.Instance.SignalStrength > 0.0)
{
isRadio = true;
hasSaved = true;
}
else if (MediaPlayer.State == MediaState.Playing)
{
hasSaved = true;
}
return;
}
public static void RestoreCurrentMediaState()
{
if (hasSaved)
{
if (isRadio)
{
Microsoft.Devices.Radio.FMRadio.Instance.PowerMode =
Microsoft.Devices.Radio.RadioPowerMode.On;
}
else
MediaPlayer.Resume();
hasSaved = false;
}
return;
}
}
http://blogs.msdn.com/b/oren/archive/2010/12/02/wp7-dev-tip-detecting-whether-or-not-the-user-is-playing-music-in-the-background.aspx
http://blog.toetapz.com/2010/11/16/how-to-handle-currently-playing-background-music-in-your-application/
http://spacemigas.wordpress.com/2011/04/07/overcoming-windows-phone-7-mediaelement-limitations/
The Marketplace certification requirements 6.5.3 state that:
Applications that Play a Video or Audio Segment
"An application may interrupt the currently playing music to play a non-interactive full motion video or audio segment (e.g. cut-scene or media clip) without asking for user consent. If music was playing prior to the segment, the application must resume music when the segment has completed."
"An application may interrupt the currently playing music to play a non-interactive full motion video or audio segment (e.g. cut-scene or media clip) without asking for user consent. If music was playing prior to the segment, the application must resume music when the segment has completed."
public static class XnaMusicUtil
{
private static bool isRadio;
private static bool hasSaved = false;
public static void SaveCurrentMediaState()
{
hasSaved = false;
isRadio = false;
if (Microsoft.Devices.Radio.FMRadio.Instance.PowerMode ==
Microsoft.Devices.Radio.RadioPowerMode.On ||
Microsoft.Devices.Radio.FMRadio.Instance.SignalStrength > 0.0)
{
isRadio = true;
hasSaved = true;
}
else if (MediaPlayer.State == MediaState.Playing)
{
hasSaved = true;
}
return;
}
public static void RestoreCurrentMediaState()
{
if (hasSaved)
{
if (isRadio)
{
Microsoft.Devices.Radio.FMRadio.Instance.PowerMode =
Microsoft.Devices.Radio.RadioPowerMode.On;
}
else
MediaPlayer.Resume();
hasSaved = false;
}
return;
}
}
Sunday, December 04, 2011
決戰官渡
官渡之戰,與區會、立會合稱特區三大戰役,唯逐鹿者寡,眾諸侯能遠觀而不能染指,鐵梁、光怔、家桀盡皆覆亡。當今之勢,兩營對壘,諸侯靠攏,以待天時。
梁 英,字思歪,莫能審其出身本末,自舉孝廉,日穿膠花二十餘斤,以報老母。曾事於董華,後值傾覆,瘟疫蔓延於四野,樓價暴跌至九彩,廿三惡法,七一起義,終 倒董華,獨英全身而退,居行會校尉,伺機再戰。英好權謀,負奸雄之名,民惡其德,唯其志可昭,力斥朝廷腐敗,敵我之勢立顯。今脅民意令四方,征各界,掠豪 強,唯才是舉。縱財帛軍資盡不及年,然有一決雌雄之意,厲兵秣馬,誓師出擊。
唐 年,字哼利,居三公之位,獲商界青睞。唯性自矜,色厲內荏,外寬內忌,好謀無決,有才而不能用,聞善而不能納,多番失言,好酒色,常醉於廟堂,屢失民心。 數度與港青結怨,諷其不能家成,斥之剛愎自用,欲卸怠慢社稷之責。港青不忿,惡搞之於網絡,廣傳愚言於世,上載蠢相於民。民皆疑其智,永奇解曰:「大智若 愚也。」
年據河北之險,欲持唐強之勢以降英。幸民心向港背北,年憚之,遂迎英。時而政局不穩,梁唐欲攏諸侯以壯己。劉皇叔據新界,號召鄉 民,後因護僭建不力,自顧不下。鴿營峻人,敦厚性緩,不曉軍事,偏安一隅,坐觀公投,區會數十小役皆北,苟喘生息。州內民主眾生皆盼明主,不覓。建聯坐 大,觀天下變。菽臧、家桀、若微等儒漸見窘態,不成氣候。中原視國熊、沃民、偉葉、亮獻、君荇為蠻狄,逐出會外,諸將只得擾攘邊陲。葉劉氏合眾於朝外,迂 迴側擊,覽奇取異,志陵中港,襲兩營之隙,唯力孤,終不就。港產皆落二李鄭何郭五族土豪囊中,左右官渡,唐梁俱忌之。
年周旋三女之間,欲廢長立幼,頤養晚年。謀士斥曰:「一室之不治,何以天下國家為?」年驚醒,恨悔難返。唐營人心紛擾,多有梁營細作,年數度獻醜於人前,大怒,喝退公關鄭,欲挽劣勢。鄭不悅,夜度梁營,托出軍情。謀士雖撤,各懷私利。
年察沙田,有民問曰:「豬乎?」年曰:「龍也!」為一時佳話。古人云得民心者得天下,年雖自持,仍忖民心不穩,畏河北之眾投英,故下區忍辱負重,笑語市井,以防不測。英數與土豪為仇,有臨朝整頓之勢,土豪暗授財金助唐,梁營危矣。
有 賈竊問部曲,曰:「年使人招安,吾欲許之。」有臣諫道:「不如從梁公。」賈曰:「唐強梁弱,又與梁為仇,從之如何?」臣曰:「此乃所以宜從也。夫梁公奉民 意以令天下,其宜從一也。年強盛,我以少眾從之,必不以我為重。梁公眾弱,其得我必喜,其宜從二也。夫有霸王之志者,固將釋私怨,以明德於四海,其宜從三 也。願將軍無疑。」賈曰:「善!」逐投梁。
余竊以為愚者暗於成事,智者見於未萌。唐年不料有官渡一役,肆意而言,大失民望,今臨陣知危, 亡羊補牢,改暴虐之姿,作親民之狀,晚矣!民非愚,唐年吊吊揈於朝堂十數載,言猶在耳,安能服眾稱之賢者乎?英早有謀算,兵臨官渡,人責其居心,非特首之 德。且看廟堂!君不見以德自重者皆是無能之輩!君子之美於社稷何益?革新之道豈在乎德?慎之!慎之!今見鄉愿者眾,逐利而為,聞勝沾之,見敗退之,未分則 觀之,意欲兼收,終必為兩營所惡,慘淡收場。官渡絕非終戰,諸侯不息戈,何時安民為主?
Friday, November 25, 2011
Sqlite LIKE Query Slow problem and solution
http://web.utk.edu/~jplyon/sqlite/SQLite_optimization_FAQ.html
http://joshua.perina.com/africa/gambia/fajara/post/converting-to-sqlite-and-like-query-optimization
Summary
Avoid using LIKE query in Sqlite since it can't make use of an index!
5.5.1 Replace
http://joshua.perina.com/africa/gambia/fajara/post/converting-to-sqlite-and-like-query-optimization
Summary
Avoid using LIKE query in Sqlite since it can't make use of an index!
5.5.1 Replace GLOB and LIKE when possible
The
GLOB and LIKE operators are expensive in SQLite because they can't make use of an index. One reason is that these are implemented by user functions which can be overridden, so the parser has no way of knowing how they might behave in that case. This forces a full scan of the table for the column being matched against, even if that column has an index.Example: The expression(x GLOB 'abc*')can be replaced by(x >= 'abc' AND x < 'abd').
Note: The
LIKE operator is case sensitive. This means that the above won't work for LIKE unless the strings involved are all either upper- or lower-case.If a string of arbitrary characters of fixed length is to be matched, this can be replaced by the SQL
length() function.Example: The expression(x GLOB '???')can be replaced by(length(x) == 3).
If a
* or % wildcard occurs in the middle of a string, or a complex pattern appears at the end, we can still use the above techniques to create a filter test which is done before the more expensive pattern test.Example: The expression(x GLOB 'abc*jkl*')can be replaced by(x > 'abc' AND x < 'abd' AND x GLOB 'abc*jkl*').
Example: The expression(x LIKE 'abc_')can be replaced by(x > 'abc' AND x < 'abd' AND length(x) == 4).
Now to query this table for all records in Egypt we use the query:
SELECT * FROM Table WHERE Path LIKE 'geo-Africa-Egypt-%'
This has always been fine in our SqlExpress days as even when we have had to do complex queries against 10s of thousands of records the response time was always under 100ms. So it was with shock and concern that after converting to SQLite I suddently found the same queries taking as much as 16 seconds to run on the same machine!
Fortunately for me a man name Jim Lyon, way back in september of 2003, wrote a document which both explained and solved my dilemma. His document can be found here as is an invaluable document about optimizing your SQLite databases and queries. The crux of the problem is this
TheGLOBandLIKEoperators are expensive in SQLite because they can't make use of an index.
There is some reason for this but fortunately for me our LIKE query just has a wildcard at the end. Jim explains all the details, but in the end it is possible to optimize this query to look like the following:
SELECT * FROM Table WHERE Path >= 'geo-Africa-Egypt-' AND Path < 'geo-Africa-Egypt-zzz'
There MUST be an index on the Path column for this to work. By adding the 'zzz' at the end the query will naturally select everything in the alphabetic sort order between the first and second query parameters.
The end result was spectacular, my newly optimized queries were now running super fast, on both SQLite (~50ms) and even improved on SqlExpress (~60ms). I have to give credit to Microsoft, as they must have some optimizations already built in for this type of query and its been making my life easy up until this point.
Subscribe to:
Posts (Atom)