Archive for IT Stuff

Galaxy Nexus尋找親父的故事——刷回官方ROM的一點分享

先戴個頭盔,本文不會對你的手機負責!我只是自己分享沒有叫你跟著做!出事別找我!

再戴一個頭盔,手機解鎖了就失去了原廠保養!請注意!

另外,因為太懶,本文無圖。相關教學早有不少,所以我只是想在此分享及整理一下。

Galaxy Nexus

相信不少人也跟我一樣,因為對android 4.0的ICS感到有興趣,加上親生仔的光環,所以決定把Galaxy Nexus敗下來。本當可以Google為親生父親為榮,然而卻聽到一個壞消息︰在香港發售(其它地方我不知道了)的Galaxy Nexus,有大部分都是刷了Samsung維護的ROM!所以即使Google早就放出了4.0.2的OTA,但一般用家還是不可以由system update取得更新!因為Samsung沒有放OTA給你!這感覺就像是你一直以自己爸爸為榮,但有一天居然發現自己不是爸爸的親生子!晴天霹靂啊!

如何確認自己是不是親生子?

首先要做的是確認自己的血緣,是不是Google的親生子。隨便安裝一個file explorer(如ASTROES file explorer之類),開始打開的path是/mnt/sdcard/吧,轉過去/system/,會看到有一個叫build.prop的檔案。

把它當成txt文件打開看看,是一個典型的properties file。找找一個叫「ro.product.brand」的property name,看看它的值是甚麼。如果是「google」那麼恭喜你,你是親生子;如果是「samsung」,那麼你就是養子了。

更正式的方法是看「ro.product.name」,這個是這個ROM build的name。Google的build name是「yakju」;Samsung的build name是「yakjuxw」。

進入bootloader mode

豈能忍受這屈辱呢?在擺脫Samsung的陰霾前先講一下如何讓Galaxy Nexus進入bootloader mode,因為會經常這麼做。先把手機關掉,再把手機的三個實體鍵「Volume+」「Volume-」「Power」一同按,幾秒鐘後手機就會震動,進入bootloader mode。

(如果進入bootloader mode後按甚麼都沒反應那就是當機了,拔掉電池再來吧)

先搞定電腦的USB driver

然後要搞定USB driver。可能大家都有這經驗,發現把Galaxy Nexus用USB跟電腦連上後,電腦方面還是mount不了手機。這是因為你需要安裝Samsung手機的USB driver,然後再安裝Samsung的山寨iTunes「Kies」才成(明明是Google手機卻要用Samsung的東西…),真是WTF。這樣做可以令電腦在手機開啟時mount作USB drive,但當手機進入了bootloader mode,電腦還是認不了手機。

說重點吧,這裏我是參考了xda的一篇文章的第一部分來做的(這裏我用了Windows)︰

  1. 先下載PdaNet for android(32-bit Windows 7/Vista/XP 64-bit Windows 7/Vista),把它安裝好(安裝的過程中會把driver也安裝好,有了driver可以把PdaNet for android uninstall了也可以)
  2. 我不明白為甚麼我還是需要Kies,你們可能不需要,但總之我還是需要它… Kies for Windows
  3. 把手機進入bootloader mode,成功的話電腦會認出你的手機;失敗的話就看看手機是不是當機了

安裝Superboot及fastboot

fastboot是刷機用的必需品,Superboot是root機用的(你需要的吧?)。

有關Superboot的文章 (內附下載包,Superboot及fastboot都在裏面)

解鎖bootloader

進入bootloader mode會看到一個叫「LOCK STATE」的狀態,它必須是「UNLOCKED」才能繼續。再次重申,解鎖後就沒有保養了。此外,在解鎖的過程中手機內所有資料包括SD card都會被消除,請自行backup。

  1. 手機進入bootloader mode
  2. 用USB線連上手機
  3. 打開command prompt(現在用windows嘛),跑到剛才Superboot及fastboot的directory。輸入︰
    fastboot-windows.exe devices
  4. 畫面會顯示你手機的ID (如果甚麼都沒有就是手機沒連上)
  5. 解鎖請輸入(資料會被消除)︰
    fastboot-windows.exe oem unlock
  6. 轉去手機畫面,它會問你是否繼續。用Volume+-來選擇Yes
  7. 然後手機就解鎖了。「LOCK STATE」變成「UNLOCKED」,開機時那個Google字樣底下也有一個解開了的鎖。
  8. 也可以為手機鎖回去的,這過程不會造成資料遺失,輸入︰
    fastboot-windows.exe oem lock

root機

也順便講一下怎麼root。解鎖後進入bootloader mode,連上USB,用Superboot︰

install-superboot-windows.bat

刷親生子ROM

終於來到刷ROM了。首先先上Google去下載官方的factory image︰

Factory Images for Nexus Devices

在這「Factory Images “yakju” for Galaxy Nexus “maguro” (GSM/HSPA+)」之下,拿最新的那個包,是一個TGZ檔。(我用手機去下載,明明是TGZ檔下載完後變成TAR檔,我又糊裏糊塗就拿去刷… 差點變磚頭)

解開TGZ檔後,把一個ZIP檔及兩個IMG檔放到fastboot的那個diretory裏。這裏假設我們下載了4.0.2的ICL53F來繼續︰

  1. 先檢查一下連線,輸入︰
    fastboot-windows.exe devices
  2. flash bootloader,輸入︰
    fastboot-windows.exe flash bootloader bootloader-maguro-primekk15.img
  3. reboot,輸入︰
    fastboot-windows.exe reboot-bootloader
  4. flash radio,輸入︰
    fastboot-windows.exe flash radio radio-maguro-i9250xxkk6.img
  5. 再reboot,輸入︰
    fastboot-windows.exe reboot-bootloader
  6. 真正要刷ROM了,輸入︰
    fastboot-windows.exe -w update image-yakju-icl53f.zip

這樣一切都搞定了!去檢查一下build brand是不是google,以及build name是不是yakju吧。

參考︰[12/18] 玩轉 Galaxy Nexus // Root // CWM(新增:手動升級ICL-53F // Odin Root)的第三頁

附上4.0.2的changelog︰Full Changelog for the Verizon Galaxy Nexus 4.0.2 update

後記及頭盔

其實感覺不出4.0.1及4.0.2的大分別,感覺好像省了電。我最主要的目的其實是想等4.0.3的OTA而已。

這篇文章我是憑記憶寫的,不是一邊刷一邊寫的,各位當成參考就好,千萬不要沒腦子跟著做!再次聲明我不負責的啊。

Comments

缺乏IT知識的政府完全不懂甚麼是cookie

網銀強制存取cookies 議員憂侵私隱促容選擇

因為八達通暗裏售賣私隱資料關係,社會都對商業機構的私穩處理戴上了有色眼鏡。上月就有一宗新聞,講述網上銀行服務被發現會強制存取cookies,各界人士都對此感到極度擔憂。

cookie的基本

首先,看定義︰HTTP cookie

看到標題,「強制存取cookies」一句十分不倫不類。看看wiki就明白,cookie本來就是server設定給browser用的嘛(這裏是「存」)!假如browser是支援cookie的話,當browser再次訪問那server的時候,那個cookie就會送過server去(這裏是「取」)。好明顯,cookie本來就是給server存取的東西嘛!

cookie與登入的關係

那甚麼是「強制存取」?內文解釋說是「本港多間網上銀行強制要求客戶同意存取cookies始可登入帳戶」。剛剛不就是講了嘛,當你browser支援cookie,server自然會存取;當你browser不支援,server只存不取。而這世上絕大部分的user session(中譯「帳戶會話」,我用中文大家更加不懂。總之這玩意兒是用來認證你是誰)都是存在cookie上的,當browser發送user session cookie到server那邊,server就會知道「啊,ShawTim登入了」。大家日常用的Facebook、Gmail等網站都是這樣。所以,你browser支援cookie,server可以存取就能讓你登入;反之不支援的話server根本收不到cookie,談何登入呢?這是正常之中的正常,為甚麼要大造文章?

譚膠人缺乏IT知識

資訊科技界立法會議員譚偉豪批評銀行不應強迫用家讓銀行收集cookies,並擔心觸發私隱問題,要求加強收集cookies的透明度。

這句子完全不知所云,甚麼叫「收集cookies」?本來就沒有這回事。「收集」是指server從用家那邊拿取了某些東西,而cookie這個東西本來就是server給你的。這道理就像你去餐廳吃飯輪位子,店員派了一個籌給你,你可以拿這個籌等到位子。然後這個時候譚膠人出來說,「你這餐廳強迫收集客人的籌是甚麼居心?為甚麼要客人把籌拿來才給客人位子?我要求你加強收集籌的透明度!」啊!老天!這壓根兒不是收集不收集的問題,根本原句的批評就是錯得要死!譚膠人真的是完全沒有IT知識,枉為資訊科技界立法會議員。

對於銀行解釋因保安理由收集cookies,資訊科技界議員譚偉豪認為說法未必真確,銀行不可以此強迫用家同意銀行收集cookies。他表示用戶或擔憂資料會被用作廣告營銷,銀行業界有必要增加透明度,表明只收集必要的資料,同時只作內部用途,更應讓客戶選擇在毋須接收cookies的情况下使用服務。

根據譚膠人的意思,他是指銀行有機會用server從cookie當中拿取客戶的私隱資料作廣告營銷用途,這又是無知的表現。剛剛都說了︰cookie是server設定給browser用的(當然你也可以手動地在browser設定cookie,不過那是你手動做,一般來講是server設定的),也就是說cookie的資料內容server早就一清二楚,哪還用得著偷啊?

銀行不拿你的cookie也可以作廣告營銷

他(單仲楷)指金管局對網上銀行有嚴格監管,事實上收集cookies不會令銀行業務有更多好處,銀行本身已設資料庫可供詳細分析客戶習慣。

單仲楷說得沒錯。本來銀行的資料庫就有大量用戶習慣的資料可作分析用途了,根本全件事壓根兒跟cookie沒有關係(反而如果說擔心JavaScript我倒可以理解,但那是另一回事了)。舉例說,我今天登入了網上銀行,使用了一會股票服務,而這個使用紀錄其實銀行是有記下來的。於是乎銀行就知道了我一個月內有十天會使用股票服務,這個就是我的用戶習慣。根據這個習慣,銀行認為我是對股票有興趣,就有機會向我推廣相關服務,就是這麼一回事。最具體的實例就是Facebook了,留意一下那些廣告是不是總是熟口熟面呢?

不用cookie?

香港電腦保安事故協調中心經理古煒德解釋,登入網站的個人界面時不一定要利用cookies,用家可利用坊間工具分析cookies內容。

的確是可以不用cookie登入呀,只不過更危險就是了。例如在非常非常非常舊的白痴系統中,你只需要URL上打入username就可以登入了,不用cookie呀,不過極度危險對不對?幾乎全世界都在用的東西總有它存在的理由。事實上我有身處在銀行工作的朋友說這事件令他們很痛苦,他們收到了要求說要完整地列明cookie的用途,以及盡全力考慮不用cookie作登入的可行性。這簡直是官僚迂腐之至,完全是為做而做,沒有任何一方有得益。

公務員應該進修,譚膠人應該辭職

這次事件反映出政府是完全的電腦白痴(雖然不是第一次…)。這知識連懂電腦的中學生也會,但政府的菁英居然沒有一個人懂,實在神奇。讓一堆不懂網絡知識的人去搞網絡保安,讓一個不懂網絡知識的人去當資訊科技界立法會議員,這還真是香港的官僚通病︰一切都是行政問題,所以政府只有一大堆行政人員的「通才」,但相關的專才卻完全缺乏。

(以下是後來補上去的後話)

其實作為網上服務,cookie的安全性是十分需要注意的。如果平白就把用戶資料以plain text形式放在cookie上是十分危險的。如果大家的著眼點在於「cookie安全漏洞」上我是絕對沒意見,但現在很明顯的是在抽水。再講多幾句罷︰

  • cookie是看網域的。不同網域的cookie是不能存取的,也就是說A網站如果跟B網站是不同網域的話,A網站對B網站的cookie連碰也碰不到
  • 除了cookie以外其實還有更多地方值得注意,譬如說XSS罷,它們真的會對用戶的資料造成損害。世上沒有惡意的cookie,只有不安全的cookie
  • 最主要的是,大家的著眼點是「網銀利用cookie偷取客戶資料」,本文是針對這點嚴重謬誤而發。

Comments (12)

孔子的開發團隊︰里仁雍也述而第四六七‧Mission Impossible篇

子曰:「朝聞道,夕死可矣。」《論語‧里仁第四》

子曰:「知之者不如好之者,好之者不如樂之者。」《論語‧雍也第六》

子曰:「中人以上,可以語上也;中人以下,不可以語上也。」《論語‧雍也第六》

子曰:「甚矣吾衰也!久矣吾不復夢見周公。」《論語‧述而第七》

某日,仲尼老師正在跟大客戶談論項目。客戶說,我這項目很急趕的,甚麼時候可以交貨啊?

朝聞道,夕死可矣(1)

「(伸起食指,囂張貌)嘖嘖嘖,我們早上收到你的requirement,拼了命,晚上就能交貨了!」
顏回這個加班到死的前車之鑑,學生們聽到後,紛紛鼓躁!
於是,仲尼老師就這樣說︰

知之者不如好之者,好之者不如樂之者

「你們都知道是要拼命的了嘛,反正到頭來也是要做,倒不如喜歡上拼老命好了。嗯,與其說喜歡,倒不如嘗試去享受拼老命!實踐!注重實踐!」
沒想到這話說服不了學生們,反而更激起他們的情緒,子路最激動,更大叫「倒不如你來做啊笨?」
仲尼老師不慌不忙的回答說︰

中人以上,可以語上也;中人以下,不可以語上也(2)

「職級中層以上如我者,當然可以講些『你來做』的上層語言,不過職位低下如你們嘛,這些說話是講不得的。」
學生們更憤怒,仲尼老師沒有辦法,迫於無奈下也加入了開發工程的行列…
仲尼老師做下來,哇靠,還真的好惡頂!畢竟已經年紀一大把…

甚矣吾衰也!久矣吾不復夢見周公

「受不住了!我老了老了!好眼睏!再這樣下去,別說夢見周公啊,我都要親自下去找周公了!好!各位!Deadline postpone~!」
「(淚目)老師仁德!!!!」

Teacher Johnny的教訓
要多些了解團隊的實際狀況,別貪一時之快胡亂硬迫交貨喔!即使是Teacher Johnny的好學生也是會生氣的!

註︰
(1) 「夕死可矣」在這裏可以分拆成「夕死,可矣!」,就是說只要我們拼到晚上死幾個,交貨沒問題!「朝聞道,夕死可矣」原來有幾種解法︰「早上聽到真理,晚上死了也沒有遺憾」「人生短暫,隨時就要死了,所以應該把握時間去追求真理」「聽到真理,就有如重獲新生,過去的自己已經死了」「聽到真理,應該固守(死作固守解)」一般來說都是用第一種解法,不過古文一來沒有標點二來沒有註釋,不好解。看倌們知道有幾種解法就好,不必深究。
(2) 這句話本來的意思是,智慧分成上中下三等,跟有智慧的人要講有智慧的話題,跟沒智慧的人就不要了。這是很能反映出孔子因材施教的觀念,但與此同時也突顯了孔子的階級觀念其實十分之重。至少,他把農、工、商都看成下等人看待。

Comments

孔子的開發團隊︰雍也第六‧OT篇

哀公問:「弟子孰為好學?」孔子對曰:「有顏回者好學,不遷怒,不貳過。不幸短命死矣!今也則亡,未聞好學者也。」《論語‧雍也第六》

某日孔子與大客魯哀公會面,美其名研究項目進度實質閒話家常之際,魯哀公問我們的Teacher Johnny…

弟子孰為好學?
哀︰「你團隊中,哪個小弟最勤奮好學啊?」

有顏回者好學
孔︰「有個叫顏回的小弟,十分好學喔!我常說做學問就是需要實踐嘛,所以他每天都花時間去加班實踐!(1)

不遷怒,不貳過。不幸短命死矣(2)
「怎樣加班也沒有半句怨言!即使滿腔不滿也能忍耐!而且哦,加班『實踐』出來的code呢,必定一take pass,絕不需要第二take,不會又讓測試員把軟件退回來,了不起,了不起!可惜,他終於受不住死去了啊,可惜可惜。」

今也則亡,未聞好學者也
「現在啊,都沒有這樣的小弟了,也沒有聽聞有誰可以好學如此了。大家都不拼死加班,都不敢拿性命開玩笑了,唉唉,回啊回啊~ 為師想你~(3)

Teacher Johnny

Teacher Johnny的教訓
加班別太超過了喔,Teacher Johnny會很傷心的!

註︰
(1) 這不是我故吹的。「學而優則仕」就是說學習的時候如果時間許可的話,好應該去仕官實踐所學。事實上孔子本人也極想當官去實施他的政治理想以及實踐他的學術主張,亦在魯、衛、陳三國當過十四年官,不過沒甚麼成效就是了。孔子可不是只會空談講些空道理的賢者,他更注重實踐。
(2) 「遷」可以解作「轉移」,但更好的解法應為《說文解字》的「登」,即上升。不遷怒,就是控制住怒氣不使其上升,這是顏回的修養。
(3) 孔子的確是十分喜歡顏回這位高徒的。

Comments

孔子的開發團隊︰為政第二‧Issue Tracker篇

「子曰:吾,十有五,而志于學,三十而立,四十而不惑,五十而知天命,六十而耳順,七十而從心所欲,不踰矩。」《論語‧為政第二》

話說孔子拿著學生們到大機構打工的薪水(子貢︰「老師… 這是這個月魯國及衛國得來的上繳…」)周遊列國去宣揚他的系統開發理念。這一天學生如常地做了一份Issue Tracker的報告出來,哇,好多defect!我們的萬世師表孔子孔仲尼Johnny Hung對此感到很不滿,覺得學生們完全沒有理會Issue Tracker,就對他們照肺了︰

「我們的defect太多了!現在各位馬上打開Issue Tracker來看!」

吾,十有五,而志于學
「先看看我自己… (哇,有15個defect在我手,好多!)咳嗯,我有15個,可是近來比較忙啦,要跟齊景公開會,又要跟魯照公討論項目細節,這的那的… 嗯,其實我對Issue Tracker還不太會用,我有努力去學怎麼用!好!下一位!(呼,敷衍過了)」

三十而立
「手頭上有30個defect的人,罰站!站到你把30個defect都fix完為止!」

四十而不惑
「甚麼?居然會有擁有40個defect的白痴!給我滾出來!你不明白我罵到你明白為止!出來!」

五十而知天命
「你… 甚麼?50個defect?哼!這是你的warning letter,你的前途命運,自己最清楚!」

六十而耳順
「60個… 人來先給他一封warning letter… 這… 你滾蛋是一定的了,不過算我求求你,你滾蛋前可以把defect fix一fix嗎… 40個,不!30個也好…」

七十而從心所欲,不踰矩
「老師!有人有70個defect,怎辦好?」
「70個!?哎… 算了,你跟他講,他喜歡怎樣就怎樣,別太過份就好… 哎,我不管了!」

Johnny Hung

Teacher Johnny的教訓
無視Issue Tracker的話,Teacher Johnny可是會生氣的喔!

Comments

IM bot個人體驗雜談

近來MSN強迫user upgrade…結果MSN hang的次數多了,真是混漲。所謂的upgrade原來又不過是一堆產品推廣,真是討人厭。

說遠了,其實想說說IM bot。IM bot是甚麼?IM即instant messenger(MSN就是其中之一);bot就是robot的意思。IM bot就是一個機械人,你跟它說話,它會作出相對的回應的。這些說話可以是一些閒聊(有一些閒聊專用的IM bot);可以是一些資訊搜尋類(問問題,它會答你);也可以是一些指令(例如Plurk有一個IM bot來接收指令的),諸如此類。

ICQ

從ICQ說起

ICQ!曾經一度大受歡迎的IM,但幾乎需要超過五分鐘啟動;contact超過400個就會當機,加上競爭對手相繼出現,基本上都被無情地淘汰了。

我人生第一個接觸的IM bot就是ICQ來的,說來大家一定不陌生,就是那種廣發咸網的那種煩人bot。有一天我手痕,對咸網bot的宣傳語句回應了回去,沒想到它竟然會繼續回答!我覺得好有趣,繼續跟它談話,發覺它的對答真是有板有眼,好神奇!在當時技術來說,這已經是非常了不起的bot AI了!要知道中文字多難啊,可以利用十多年前的技術對中文字作出回答,真驚人啊。

IM notification的觸發

早年偶然間看到Remember the Milk有一個IM notification的選項。Remember the Milk是一個管理工作的工具,當中的IM notification就是提醒你夠鐘工作了!我當時在想,這好易做啊,我也能夠做。於是便有自己做IM bot的想法。

IM RSS Reader - Anothr

在我真正想做IM bot的時候,我有過做RSS Reader的想法。就在此時竟被我看到Anothr。Anothr正正就是一個IM RSS Reader,還support MSN/Skype/Gtalk呢!當時心裏有氣,有種被搶先的感覺,決心也要做一個出來。雖然後來證明IM RSS Reader是失敗的…Anothr也收皮了…

MoliuSN出現

坦白說,IM bot在技術上不難,重點是可能性太大了。我就抱著「無聊試試看」的心情寫出了MoliuSN。這傢伙現時做到的主要都是資訊搜尋類型的,例如查股票(有段時間有即時報價的…)、中英翻譯、查看新聞等等…(當初是有RSS reader的,但其實那跟SPAM沒兩樣…)啊,其實自己覺得查股票跟中英翻譯還好用的啦,很方便。MoliuSN的重點是所有資訊都是來自公開的資源︰股票來自Yahoo!;中英翻譯來自Google;新聞來自各大報章。我只希望MoliuSN是一個方便使用者的平台,重點不在於其資訊而在其方便性。所以打工仔可以公然在辦公室查看自己喜愛的股票…

令人失望的Gtalk Translate

大約過了一年後Gtalk推出了GtalkTranslate。我當時心裏真是暗罵了一聲,「怎麼比我遲推出這麼多,比我做的還有點不如啊」甚至寫Blog罵它呢…

Plurk bot與IM bot

Plurk也有一個IM bot,叫Plurk Buddy。它的作用是notify你有人回覆過你的Plurk就會通知你,你也可以直接用Plurk Buddy去post Plurk,也可以下一些指令做一些個人設定之類的。

近來Plurk出現了一些Plurk bot,占卜啦、找youtube啦、post美女圖啦…我不知道它們是怎麼做的,但如果要我做的話一定是用IM bot去做,太易做了,寫一個IM bot去跟Plurk Buddy溝通就好了。原來還有這一招啊,Plurk提供了一個IM bot給你下指令,我就寫一個IM bot去下指令,變相就是一個Plurk bot了。值得參考。

一點點的小結

我還是覺得IM bot的可能性十分大,尤其在這個IM盛行的年代。我自己最起初的概念是,一個方便的平台,就像你的管家你的副官,你一言一語,一個指令,一個問題,你要做的事就解決了,你要問的問題就有答案了。不過後來又發現原來可能性可以有更多更多,就等時代來發掘了。

也談談IM client

看到Facebook的那個status的處理手法,其實不錯啊,share link、share video、share圖片,都只是在那裏輸入自動完成。IM client其實也可以這麼做啊,我send flickr給對方,直接就看到圖片怎麼樣?我send youtube給對方,直接在IM client裏播又怎麼樣?這些其實不難做啊?別老是讓MSN賣一些無謂的廣告,加一些無謂的function…

Comments

CPAN DateTime::TimeZone 好弱雞啊…

由於需要在Perl處理一些TimeZone的工作,考慮過一些系統存在的歷史因素,以及看看CPAN module的最後更新日期,最後選用了DateTime::TimeZone(其實沒得選,本來就在用)。看了一看,最新的release是2009年八月,還不錯嘛。這玩意兒聲稱自己支援Olson TimeZone(其實也只是lookup一個Olson Database而已),好,就看看你有多威。

在這裏我用「Etc/GMT0」來做實驗,不用說,即死。對,不是throw Error,是die。在OlsonDB.pm第155行裏頭可以看得清清楚楚︰假如不支援這個TimeZone的話,他會die

這裏我們清清楚楚的看到兩個問題︰
一、不支援「Etc/GMT0」,我們也可以假定部分其它的Olson TimeZone也不支援。
二、作為library實在不應該die。試想這是Java Library的話,我在Library裏頭有System.exit(0)你會覺得怎麼樣?die是可以catch的,但重點是不應該die

現在看看Catalog.pm。原來那些Olson TimeZone都儲在這裏…在這裏又發現了幾個問題︰
一、Zoneinfo還是放在/usr/share/zoneinfo/比較好吧?
二、很不完整,幾乎全部的ETC TimeZone也沒有,甚至連GMT也沒有!
三、我看了src code,又看了網頁…很驚訝的發現,兩條TimeZone support list竟然是不同的呀~的呀~的呀…

另外,不說我還真不知道,原來有個TimeZone Mideast/Riyadh89 (GMT+03:07),沒錯是GMT+03:07,或者更正確的說是GMT+03:07:04。這個時間是給Muslims用作計算麥加的natural sun time以作朝拜用的。原來如此原來如此。

Comments

IT膠人你唔出聲無人知你膠

行政長官立法會答問大會談話全文(五)
******************
(前略)

譚偉豪議員:多謝主席。主席,作為議員,我們有機會與特首直接溝通,直接發問。但是有很多市民,特別是互聯網界有很多網民,都是沒有機會直接與特首提問,令到他們常向我反映與特首有一定的距離,而他們真的很想爭取這個機會。我亦留意到,國際政治領袖如美國奧巴馬、我們國家主席和總理,也先後透過互聯網與市民作線上交流。我在此想問行政長官兩個問題,第一,不知特首會否有膽量,或者有沒有打算,召開行政長官網上答問大會,這是第一個問題。第二個問題,好多市民也很關心互聯網世界的發展,特別是今年年初推出的淫褻及不雅條例的諮詢。我亦想問特首,特首作為我們特區的特首,以及作為家長,你覺得應否對網絡世界加強監管。

行政長官:(可以不理)

譚偉豪議員:我想追問特首剛才說可以探討與網民在線上即時做答問,我不知特首有否這個能力,懂得網上語言,是要找秘書打,還是自己可以直接在網上與我們的網民溝通?

行政長官:你講的是用...Dialogue?

譚偉豪議員:用中文還是英文在網上直接與他們溝通?

行政長官:我現在日日都在用,日日都用,我不是這樣落後,我正在用。

(後略)

真係頂唔順IT膠人,真係要鬧一鬧。以下用廣東話,勿怪。

首先,居然想叫特首去召開網上答問大會?駛乜咁煩呀?你試下叫特首上高登逛個圈留個言咪知結果囉。黃子華講得好呀︰「想知特首夠唔夠民望連任?你叫特首求其搵個大型屋村入到兜一轉,如果可以無事走番出來,你連任喇!」

仲有呀,個網上搞個答問大會?個系統點得來先?睇死你政府野都唔慌會用街外web2.0既野架啦,咪又係自己寫。想寫幾多年?(特首早就換左人啦!)用幾多錢?經唔經得起一眾網民既QA考驗?我發現到個系統有bug,會唔會告我不誠實使用電腦?而且慌你唔會搞埋D和諧系統呀?我保證無一條問題係鬧特首既!因為統統和諧哂!

好啦,正經野講完,講膠野…

丫,我仲以為譚膠人係想問特首「你識唔識用網絡語言同網民溝通?」呢句好合理,雖然我唔知特首答咩,但譚膠人竟然原來係想問「你會用中文定英文?」

救命呀!!!!!而家做咩呀?封建時代呀?八股文取士?識中英文就識IT?識中英文就可以統紿香港呀?

「請問特首會點樣管治香港?」「你係咪問我會用咩政策呢?」「我問你用中文定英文呀!」

最後…特首最後答果個答案…我仲以為佢講緊霸王洗髮液添…

我現在日日都在用,日日都用,我不是這樣落後,我正在用。
起碼我用了很~舒服
現在每天還在用呢!
還給曾鈺成用!
來來來試試看!

Comments (2)

MSIE: Form-Enter-To-Submit

 MSIE Scary

作為Web Developer,support幾個Browser這些基本要求就不用說了。不過相信各位都很有同感的是,MSIE(尤其IE6)是一樣乞人憎的東西,真是WTF…

JavaScript、CSS就不用說了,近來遇到了Form-Enter-To-Submit的問題,還真是慨歎一句MSIE奇哉怪也。

Form-Enter-To-Submit,簡單點說就是在一張Form內的Text Field或Password Field按Enter來作Form Submit。如果Form內有幾個Submit Element的話(<input type="submit"/><input type="image"/>),一般Browser是會選擇Form內第一個Submit Element作Submit的。因此,假如要設定一個Default Submit Action的話,只需要很爛的簡簡單單放一個Hidden的Default Submit Element在Form內開頭的位置就好。

可是遇到我們偉大的MSIE就沒辦法了。經過細心測試,發現MSIE的Form-Enter-To-Submit有如此的情況︰

  • Form內只有一個Text/Password Field,不會把Submit Element Submit上去。
  • Submit Element不是User肉眼可見的,如加上display: noneoverflow: hiddenvisibility: hidden;甚至乎用position放到頁面以外的,鐵定不會Submit上去。(值得一提是Submit Element假如沒有高度及闊度,以及用一些iehacks的方法都算是「肉眼可見」的,不過有些Browser不支援這些東西,結果只會更煩而已)
  • Submit Element在Load Time不存在的(即後來用JavaScript加上去),不會Submit上去。

那麼何時會才把Submit Element Submit上去呢?如果有幾個Submit Element又會把哪個Submit上去呢?結論是︰

  • 當Form內有兩個或以上Text/Password Field,MSIE會把第一個Load Time存在而肉眼可見的Submit Element Submit上去。(說完也不知自己在說甚麼)

如果要硬來的話又怎麼辦?以下是我這個豬腦想出來的方法︰

  • Form內只有一個Text/Password Field,Submit Element只有一個︰加個無用的隱藏Text Field(不建議,好核突),又或者加個跟Submit Element的Name及Value一樣的Hidden Field就可以。
  • Form內只有一個Text/Password Field,Submit Element有幾個︰千萬不要用剛才加Hidden Field的那招,會令所有Submit都變成Default Submit Action的。唯有加個好核突的隱藏Text Field算了。
  • Submit Element有幾個,但Default Submit Element卻不是第一個︰只好將Default Submit Element強放做第一個,然後用CSS作排位。

以上解決方法都十分爛,沒法子,Frontend不是我專長…歡迎意見。

Comments (1)

盲人RTE

最近公司來了一個新的Part time鬼佬,寫JS的,近來幫我的大忙著手搞Rich Text Editor(RTE)。

今天他走來向我說了一句︰「(翻譯)這個RTE用Table做Layout不好。」(順帶一提,這RTE我沒有碰過)

為甚麼呢?「If a blind person views the site, the screen reader will say “table cell 1″ and then there is no data inside.」

盲人使用電腦

我聽完呆了,囧。嘩,堅,連盲人也照顧在內,我完全壓根兒沒想過!當時的感覺簡直是窩囊極了!完全是自慚形穢,一副被收了皮的樣子…我輸了!

但話又說回來…盲人用甚麼RTE呀…還用Smilies…可以讀可以寫明明就已經是天官賜福…

真的被收皮了。

Comments

« Previous entries