冷門之道

軟件設計思想之鑽研
posts - 12, comments - 52, trackbacks - 0, articles - 0

2008年10月8日

  首先,感謝蘋果日報秉持正義原則,報導了微軟XP兩套字形出錯的報導。也感謝網友小黃的熱心奔走。反之,自由時報選擇不報,也很感謝,讓我們知道想要正義,我們得找蘋果,才不會被拒於門外。

 

2008.10.08

  由於忙碌時期還沒結束,草草說這幾句。十一月後再見。而這件事,也尚未了結。根據微軟發給一位向行政院消保會申訴的朋友的回函,他們用我告知諸位的事實當成回覆的答案。微軟說,Vista已經改進。我們申訴XP,他們卻告訴我們Vista已改進!這就很像我們買了一台 Benz E-Class 1.0 發現它的引擎有問題時,Benz 卻在我們申訴一個月後告訴我們 E-Class 2.0 已經解決了這個問題一樣。2.0解決了問題,到底關我們這些使用1.0的人什麼事情呢!難道微軟要提供所有XP的中文使用者,免費升級成Vista嗎?就算他們如此慷慨,我們的機器跑得起來嗎?收到這樣的答案,我們不免對一個大公司處理問題的作法感到訝異。雖然如此,我們仍然期待已經靠XP賺了那麼多錢的微軟,拿出點像樣的服務態度與專業來解決這個問題。做出對的起使用者的事。

 

 

 

posted @ 2008-10-08 23:12 Ethanyen 阅读(80) | 评论 (0)编辑

2008年8月27日

  接下來的一個月裡,為了忙一個大案子,就暫停博客的寫作、留言回應等事項。換句話說,想鬧的要把握時機,哈哈哈!
  同時我仔細衡量後,也決定日後凡是跟程式設計較無關係的文章都會移到新的博客去,新的窟穴可能是 WordPress.Com。這裡將主要發表中文資訊處理、人工智慧、演算法及IT相關文章。
  沒意外的話,這是這一系列名人之錯的最後一篇。很多人應該額首稱慶了吧,哈哈。

 

 

  說到錯,我就來講講一個自己小時候犯的錯。記得那是在國一的時候。有一次期中考,數學科目出了一道非常難的題目,以致於全校只有一個人算對。那個人當然就是我。當數學老師在發考卷前,他如此宣布。同時他也宣告了全校最高分是96分,有兩個,都在同一班,其中一個還是我。接著,一個一個發考卷,一個一個算帳。另一個拿96分的同學出去拿了考卷回來,老師只說了很好。他回來時看了我一眼,因為他向來是全班的前三名,同時他也知道我並未像他一樣有在補數學。接著,老師唱到了我的名。我也走了出去,本想拿完考卷就回去。沒想到,老師居然要我把手伸出來。我一愕然,心想:有沒有搞錯。我是全校最高分兼唯一算對那題數學題的人耶!我到底犯了什麼錯需要接受兩下藤條的處罰?


 

  就在那兩下藤條接觸到我的掌心並發出啪啪清脆響聲之前的電光石火之間,我很自然的意識到了自己該被打的理由。因為我本來可以拿滿分的,重點也不在這裡,重點在於我犯的那個錯是如此的荒謬與簡單。就在我快速寫完那張數學考卷並把考卷交出去的那當兒,我已經意識到了那個錯。因為那個錯如此簡單,他只是一個類似1+2+3-4這樣的四則運算錯誤。可惜,交出去的那時雖已發現,但也已來不及。所以雖然我算對了全校沒有一個人算對的題目,卻在另一個簡單的題目上犯下了更簡單的錯誤。而這個錯誤之所以必須接受懲罰,也是因為它本來是可以避免的,它本來就不該被犯。也就是這樣的粗心,讓數學老師原本可以藉此宣導他的學生就算不補習也能拿高分,從而使其他學生不用盲目補習的美好想法就此破滅!而我算對了全校沒有一個人算的對的題目的榮耀,也因為我犯的這個低級錯誤而煙消雲散……但,數學老師也沒放過這個機會,同樣的藉此機會教育了所有同學。今天你犯的錯,如果是超出你的能力範圍的,那麼沒有人可以責怪你,但這個錯如果是你本不該犯的錯,那麼你就必須接受懲罰。重點不在於那個錯所造成的後果,而在於那個錯是否可以被犯。
  這件事一直讓我銘記在心。而它對我最大的啟發是,即便你的能力超乎常人,即便你的實力比平常人優秀很多,但由於你不夠細心,不注重自己的品質,那麼那些能力不如你的人,也能藉由細心與品質而得到跟你一樣甚至更好的評價。
  在程式設計的領域,也可以這樣來類比。即便你的演算法如何高強,你的程式效能如何高效,但你在轉碼的時候把碼轉錯了,卻一無所覺,知道後也不願改進。那麼就算那些演算法與效率不如你的人所設計出來可以正確完成轉碼動作的程式,也能獲得比你的程式還高的評價。而該工程師所獲得的評價自然也會比你還高。這當然還是因為,那是最基本的東西。你連最基本的東西都沒搞好,就算你把那最困難的東西搞得如何如何高明,你也獲得不了好評價。至少,像我這樣受過如此深刻教訓的人,絕對不會給出好的評價。
  今天我指出微軟在中文字形上的錯、在繁簡轉換上的110個錯,都是因為那個錯是不該被犯的。至於中華隊的情況也無非如此。今天只要你打贏了本該打贏的,就算你打輸了你本該打輸的仗,那麼人們也不至於產生如此多的怪責!你沒打贏該打贏的,卻在「意外」發生後,反倒希冀去打贏本就沒什麼機會打贏的隊伍,甚至還「肖想」別人幫你一把來替你收拾部分的錯(肖想哪一隊幫你打贏哪一隊)。那才是錯上錯。
  2008年北京奧運,中華隊打第五名,科學的說,就概率上說,都是切當的。但就算他打進了四強,但他打輸了中國隊,他同樣會被罵的很慘(但不管如何,鐵定都會有盲目的維護聲音出現!)。而僅就統計概率而言,不管是歷來獲得獎牌數、歷來排名、歷來與各隊對戰勝率,即便單獨進行統計,中華隊打進前四強的機率也幾等於零。換句話說,第五名是剛好的。反倒是2004年雅典奧運,前八強,希臘是地主國,根本不堪一擊,是純粹送分的隊伍;荷蘭、義大利、澳洲、加拿大這都不該是中華隊的對手。其中,依據歷年戰績所做統計,只有古巴隊跟日本隊在概率上勝過中華隊,因此這一戰中華隊反倒至少該獲得銅牌。但中華隊卻連四強也沒能進去。當真要怪,就該怪雅典奧運而非北京奧運。但2004年沒那麼多責難,2008年同樣是第五名,卻出現了那麼多罵聲。其原因大家都很明白,就只因為輸了中國隊!而這樣的因素已經超出了比賽的範疇了,甚至也超出了我所謂犯了不該犯的錯的範疇。
  最高明的人,預防犯錯;其次,迅速改正;最下,死不認錯!犯錯固然可恥,但更可恥的是你面對錯誤的做法與態度。

 

 

...It's not who you are underneath, but what you do, that defines you....

 

posted @ 2008-08-27 00:27 Ethanyen 阅读(100) | 评论 (0)编辑

2008年8月24日

     摘要: 奧運棒球項目在中華隊只拿到第五名的成績後,曾經出現一些說法:有人說,因為五顆松棒球場有太多漂亮妹妹,以致於讓中華隊的球員過於分心,才會只拿到第五名:也有人說,因為六連敗的那些早晨,球員們起床後都忘了喝蠻牛,所以才會慘遭連敗的命運;還有一些高明的人說,這是因為中華隊無根的原因。他們的說法倒也合情合理,可是依我看來,其實……  南韓隊!跟他們有什麼關係?在解釋之前,我們不免要看... 阅读全文

posted @ 2008-08-24 15:16 Ethanyen 阅读(727) | 评论 (18)编辑

2008年8月21日


  這一篇純粹是針對文化界的人說的。
  現在很多人都想成名。一夕成名最好,最快。那些藝人、脫星、運動明星就不用說了,即便是一般人,在日本有人用殺人成名,在台灣有人用抗議成名,也有人耍白癡成名!而世界的環保團體,為了宣揚自己的理念,他們用裸體的方式,吸引大家的目光。這些都是一樣的東西,但是……

 

 

 

 

   

 

 

  天底下最該發現「秣」這1個錯誤的應該是編輯,接著是中文文字專家,最後才是工程師及一般人。天底下最該意識到110個錯誤以及1122個錯誤的是工程師,接著是編輯,最後才是一般人。你用過,你就會發現,不用我說,不用我指明;你或許無法發現全部,但你一定遇到部分。但你為什麼要忍耐!而你,為何覺得毫無所謂!就算沒發現,也沒什麼了不起;了不起的是,別人告訴你了,還裝作不知道,以用來維持自己置身事外的清高姿態。這件事,最該出聲的是文化界的人,接著是出版界的人,接著是新聞界的人,接著是工程師,最後才是一般人。

  一個人犯錯沒什麼了不起,誰都會犯錯,儘管如此這也不能當成一個人犯錯的藉口,更不會成為一個人把錯誤正當化的理由。了不起的是,這些犯錯的人用什麼樣的態度與手段來面對這件事。

  因為不願承認自己的錯誤,於是開始有了另一種處理錯誤的策略。那就是抹黑,我把你抹黑了,你的話就算是正確的也不會有人相信。沒錯,儘管我們把事實都這樣攤開了,儘管每一個人手中都可能有XP,可以就地印證。但是,一旦你被抹黑了,你的目的被污名化了。於是一些人對自己的眼睛與智慧就會開始產生動搖。
  用這種招數對付我,省省吧。今天我如果告訴讀者們,我寫文章不是為了要出名,那麼這就會成為我被攻擊的罩門。從而到最後,這些人的錯誤反而被淹沒了,黑的反而變成白的了。與其如此,我倒不如大方承認,我就是要寫文章出名,要不然你想怎樣?

 

 

  而那些平常自詡很高貴、很有教養的文化人,請不要拿我的黑暗來當成你們虛偽言行的擋箭牌。因為我想出名,所以微軟犯的錯就是對的;因為我想出名,所以你們不願意跟我起舞;因為我想出名,所以你們可以安慰自己自己還是正義的。只因為我想出名這樣一個不管是被虛構、還是被創造出來,或者是真實的理由,或者是自欺欺人的想法,於是你們放棄了品質,放棄了往日對正義的堅持,以致於放棄了自己的自尊。更重要的是你們放棄了被人尊敬的理由……你們不配再批評那些有的沒的社會現況,你們不配再批評文化界的亂象,你們不配再批評政府與政客。你們不配,是因為你跟這些人沒兩樣,要比爛,你也一樣爛!你們自己都是在欺世盜名……以後別高調批評時事,因為你們什麼都不是。
  往後的日子,當你們每天照鏡子的時候,難免要面對的一個問題是:這是一個憋三還是一個頂天立地的人!

 

  你們放棄的遠比你們得到的還要多。
  我所忍受的黑暗,不會因此讓你們的無能被遮掩,不會因此讓微軟的錯合理化、正當化。當有一天,你們的子孫不幸看到這篇文章,都該為你們的膽怯,以及你們那言行不一的舉止感到羞愧。你們有什麼資格在那邊批評別人,你們自己難道不夠爛嗎?就停止做那種自以為清高的欺世盜名之舉了吧。
  文化界的人,當微軟把你們使用的文字都搞錯了,然後不理你時,你們在幹什麼?你們在怕什麼?你們還有什麼資格談文化!我就算寫這些鳥東西是為了要出名,也比你們這些假人強!


 

 

  

 

 

 

 

 

 

 

 

 

  我為什麼要寫這些,因為他讓我用了十幾年的爛貨,卻要我再花幾次錢才能使用到改正不完全後的功能!

 

 

 

 

 

 

  別再讓那些爛工程師的爛軟體糟蹋我們寶貴的生命了。如果你用的轉碼功能是好的,你將因此節省多少時間與人力成本!你有算過嗎?而改正那個錯誤很難嗎?

 


 

 

哈……哈哈……哈哈哈哈哈哈

 

posted @ 2008-08-21 00:01 Ethanyen 阅读(990) | 评论 (13)编辑

2008年8月20日


  我不想冷飯重炒。不過有些人就跟微軟一樣,買者付了錢買到了爛貨,結果賣者居然不理不睬,把責任推來推去,跟這裡發生的情況如出一轍。到底怎麼了,台灣!什麼意思?
  這是我在不久前,在《科學人》雜誌網站上留的一篇文章,點名李國偉的文章出了嚴重的錯誤,而當期的另一個重大翻譯錯誤是,當期雜誌把「每年至少五億人受到感染」誤翻為「每年至少奪走五億人性命」。感染被翻譯成了死亡!這相差何止千里。我當時的說法是:

  我知道編輯很辛苦,但「每年至少奪走五億人性命」這麼荒謬的陳述,難道看到的人不會起疑???全球人口才多少人,什麼「東西」能每年「至少」奪走五億人性命。這可是比幾次世界大戰加起來的傷亡人數還要慘重耶!而李國偉以及某些作者的某些文章也有很明顯的邏輯錯誤,為何還要照常刊出?為何不勇敢拒稿,還是真的一無所覺?

  最該回答我問題的兩個人,文章作者李國偉以及總編輯李家維都沒有回答我。甚至在下一期裡,李家維還藉由描述一個錯誤來作為對上一期失誤的間接回答,他這樣說:「《時代》雜誌選出了2007年的世界十大科學發現,排名第四的是:數以百計的新物種。短文中先介紹在南極的深海底發現了700種新生命,顯示那裡有前所未知的多樣,接著列舉越南的11個新種動植物、烏干達的新猴子和婆羅洲的新雲豹等,最後說在台灣發現了一種暱稱「小草莓」的新種海參。這麼大的國際新聞,我遲至上週才知道,汗顏之餘詳加訪查,原來《時代》弄錯了,小草莓並非海參,而是海蛞蝓。……健康的科學社群該同時兼顧大、小科學,失衡的偏頗就代表科學政策的失誤。近年來這類失誤是太多了,我們期許5月的新政府能推出合宜的科學新政策」是啊,《時代》都會弄錯了,我《科學人》犯點小錯算什麼?可是你自己就錯了,你又到底在期待什麼!別人政策失誤,你又有何資格去過問!

  一次跟一位哈佛人閒聊,說起了這事。哈佛人聽後搖搖頭,笑著說:「真不是個人物!」我想聽聽一位哈佛人的看法,便問:「李家維這樣做有錯嗎?」誰知他回答:「錯?因為不願正面回答你嗎?喔,或者說因為不願正面回答一位揪出他們刊物嚴重錯誤的讀者嗎?不。他沒有錯。因為如果想比爛,他頂多就是爛而已!他有什麼錯!」
  是啊。想比爛,頂多就是爛而已!有什麼錯?李家維有什麼錯?微軟又有什麼錯?頂多就是爛而已!

  在文化界、出版界,由於大家都怕高標檢驗,所以誰也不敢得罪誰,頂多就是暗地裡,幾個人湊在一起說來取笑。這樣的結果是,每個人都容許其他人的爛,大家一起爛,於是讀者就越來越常接觸到爛東西。可是你們有什麼資格笑別人,偷偷摸摸的笑別人,又有什麼了不起嗎?你們自己很行嗎?你們很行,看到這種荒謬的錯誤,怎麼不出來說句話!難道,我們應該看這種編輯水準的刊物嗎?

  而在此,我有些話想直接對《科學人》發行人:王榮文,說句話。你有遠見、智慧引進這刊物很好,但為何不好好做呢?在你們的刊物屢次出現嚴重失誤,直到那次大失誤以後,你還有資格講:「現代人,就該是個科學人。我們共勉之!」嗎?共勉個頭!你們不願面對錯誤,甚至李國偉那種擁有不把讀者當讀者看、不把錯誤當錯誤看的態度的專欄作家,為何還繼續讓他寫文章呢?台灣是沒人了嗎?
  我還真怕我兒子本來可以成為科學人的,卻因為看了這些摻雜著不科學的文章、不專業翻譯的《科學人》以後,反而成為了不科學的人。我不是針對李國偉你一個人,更不是針對你一期的《科學人》。不過,我們看到的是那些文化人如何學會用誣賴的手段推諉塞責。然後,用因為《時代》也會弄錯,所以我弄錯也是正常的,也是可以原諒的,來把自己的錯誤正當化、合理化。這,是一個有擔當的文化人應該展現出來的態度嗎?
  王榮文,真的,「現代人,就該是個科學人。我們共勉之!」……收起這一套吧……把一本好雜誌辦爛了,你還有什麼資格這麼說!


 

  我們不會因為一個人犯了什麼錯而瞧不起他!但我們會瞧不起一個人,是因為他犯了錯,卻不把錯當成一回事,甚至還引經據典把錯誤給合理化、正當化。我們瞧不起這種文化人,至少我瞧不起,所以至那一期以後,我便沒有再續訂。

  以下,是我對李國偉該篇文章的質疑留言,而至今沒有當事人對此事做任何的回應(這就是我冷飯重炒的原因,你一天不當一回事,我一有機會就炒你一次!):

 

 

  今天收到科學人,看到這篇文章。我心中感慨萬千。為什麼?因為為什麼科學人裡面會出現如此不科學的文章?這迫使我寫下了以下的疑問。
  作者李國偉以《呂氏春秋》的宋元王巧匠與古希臘的亞歷山大大帝關於繩結的事跡作了一個對比,然後說:「《呂氏春秋》所以能下「不解」的結論,已假設了只准大家用手鬆開結,否則像古希臘亞歷山大大帝揮刀斬斷哥帝繩結,不就把魯人的『閉』解開了?」並最終得出結論:「所以《呂氏春秋》的「以『不解』解之也」,最終反映反而是不求甚解的「不解」,而不是窮根究柢之後的可靠論斷。」
請問:到底為什麼《呂氏春秋》中巧匠實話實說,說本不可解的結不可解就是不求甚解呢?不可解的結本就不可解,是正確答案,為何反而會是不求甚解的代表而不是窮根究柢之後的可靠論斷呢?而《呂氏春秋》的作者是中國的著名數學流派嗎?拿這個來跟西方數學流派作對比不嫌太牽強?而且《呂氏春秋》的一篇文章裡面所描述的一個故事,就能代表整個中國數學界的思維模式嗎?或者退一步說,就能代表整個中國人的思維模式嗎?
  遑論,如果作者知道以下的例子,我實在不知道他將又會如何寫這篇文章:
〈戰國策.齊策六〉:
  秦始皇嘗使使者遺君王后玉連環,曰:「齊多知,而解此環不?」君王后以示群臣,群臣不知解。君王后引椎椎破之,謝秦使曰:「謹以解矣。」

  請問該作者,齊太后的解法跟亞歷山大的結法如何?她有預設立場嗎?真奇怪,還是她是女生所以她不能代表整個中國數學家的思維模式或者整個中國人的思維模式呢?

  此外,「無理量」一開始「希臘數學家就說非比量(無理量)不是數,然後發明一套比例論來解決問題。」,至於「零」、「負數」的概念剛傳入西方世界時,是遭到何種對待,我想熟悉數學史的人應該都很清楚,這裡就不多說。而中國數學領先西方數學直到明代,難道這之間的數學都是不求甚解的嗎?還是現在西方強者為王,就什麼都是好的,中國的東西就是不精確!但請別忘了祖沖之以及一大堆「不求甚解」的古代中國數學家的貢獻!
  而這篇文章,如果貴雜誌願意聘請具有嚴格邏輯學訓練的專家來看,鐵定可以檢出很多邏輯謬誤,不只此,每期都會看到的某位先生的文章也常常出現一些不合邏輯、犯邏輯謬誤的地方,難道把不合邏輯、犯邏輯謬誤的文章收集起來刊印這是《科學人》成立的目的嗎?
  我是科學人的長期訂戶,也總是看到很多不科學的文章,真的,要邀應酬文章來填充版面,誰曰不可?問題是,不科學的文章放在《科學人》裡,對的起《科學人》嗎?
  今天是忍無可忍才寫下這些隻言片語。貴社大可以不用在乎一個小讀者的怒吼,頂多我就不訂而已,在這個亂世,我還有何求!而這就是《科學人》成立的宗旨嗎?


 

posted @ 2008-08-20 23:37 Ethanyen 阅读(102) | 评论 (0)编辑

2008年8月17日

     摘要: 三十分鐘,就算給我三百分鐘,我都不能拯救世界!!!哈哈哈……所以得了吧,那位讀者恐怕是把筆者當成了超人或蝙蝠俠了,可惜我的內褲還是穿在下面的,哈哈哈嘿嘿,真是好笑。不過說真的,我三十分鐘可能什麼都做不了,不過拿來寫這種沒什麼技術性的文章,倒是綽綽有餘。所以不服的話,就把馬甲脫下來,像個男人,大家明刀明槍的來比技術、比知識,就別在那邊搞小花招了。是哪個出版社、還是哪家軟體公司... 阅读全文

posted @ 2008-08-17 19:41 Ethanyen 阅读(1133) | 评论 (7)编辑

2008年8月14日

  由於昨日有讀者在看了「110個錯誤」後發問:「这跟工程师有什么关系,显然这是研究中文的人应该去做的事情。」因此趁著今天中日棒球賽開打前,把這篇文章作個交代。
  為什麼前篇文章筆者會說這是工程師的錯呢?我們先從一個簡單的判斷開始。當我們說某某人是個文字學家時(研究中文的人,尤其是研究中文字的人),我們會將「中文編碼知識」當成一個判斷他是否是文字學家的標準或條件嗎?又當我們說某某人是個合格的工程師時,我們不會將「編碼知識」當成是一個判斷他是否合格的標準或條件嗎?
  如果要簡單的答案,這就是了。如果要詳細的,請聽筆者慢慢道來。
  不管是「簡體轉繁體」還是「繁體轉簡體」功能,你可以說由於文字對應錯誤,所以我們該怪罪在微軟找來的二流文字學家身上(如果微軟在設計這個功能時有找的話!),可是這個錯誤跟「文字」有什麼關係?這個錯誤是當簡體轉換成繁體後,因為某些字沒有被轉換而形成無法對應繁體Big5碼的狀況,也就是說那是編碼的問題,是編碼轉換的問題,這不是工程師的事情又該是誰的事情!難道身為一個工程師,當他在從事設計一個「繁體、簡體轉換」的功能時,他可以不知道轉換後的碼必須要能夠在另一個編碼系統上找到相應的編碼,這個基本的知識嗎?如果這個功能產生的結果有超出另一個編碼系統的,那麼這個功能顯然就是失敗的。而這個功能當初到底是誰在做測試的呢?有專責的測試人員嗎?他在睡覺嗎?還是他根本就不知道該怎麼去測試呢!
  那麼筆者又是怎麼發現這110個錯誤的呢!由於之前工作的關係,筆者在第一次遇到這個問題時就遇到了其中的幾個字,譬如「眾、產、啟」更別談「雞、豬」等如此常用常見的字了。而在一次與台灣高等教育簡體書店的老闆閒聊時也談到了這個問題,他馬上把他歷年來整理的結果給我看了一下,不過也只有十幾個字左右而已。那麼這110個錯誤是如何被找出的呢?又花了筆者多久時間呢?答案是很可悲的。從確定要找出所有的錯字到真正找到110個錯字,只花了筆者三十分鐘的時間(高手當然會更快囉)。工作流程如下:
  一、寫一個可以產生所有Big5編碼中所有中文字碼的程式,然後將之輸出成文字檔案。程式碼如下:

 

Code


  二、將這些文字全部複製到Word中,先選擇「繁轉簡」再選擇「簡轉繁」做兩次轉換,也就是說這個檢查錯誤的方法是建立在一個假設上的,那就是「簡轉繁」的功能完全沒有錯誤一事上。若有,則錯誤將超出110個。此外,不在這個方法管轄內的錯誤,亦無法找到。假設有,則全部錯誤亦將超出110個。
  三、將轉換後的中文字再貼回記事本中存成ANSI編碼的文字檔。
  四、由於這將導致那些沒有進行轉換、或轉換後找錯對應的編碼無法被Big5系統所識別,因而形成半形問號。在此再寫一個程式,先讀進步驟一所產生的文字檔中的所有資料,再讀進步驟三所產生的文字檔,並判斷其中變成「?(半形問號)」的中文字,取出其編碼序號,並利用此編碼在第一個讀進的資料結構中找到對應的中文字。最後將這些無法被轉換的編碼再輸出成一個文字檔。便找出了110個錯誤。

  一套Word價值多少錢,又為微軟賺進了多少錢?為何連這樣一個耗時極短,又沒有什麼技術性的檢測動作也不做呢?是品管出了什麼問題嗎?還是壓根沒人把這個功能當成一回事!或者,講更難聽一點,沒有人把使用繁體中文的人當成一回事!
  如果當我們花大錢買了一件Armani的高級訂製服後,在穿了一年後在一個偶然的情況下,我們才發現了在腋窩下有一兩根縫線沒有縫好(因此不是使用者造成的,而是製造者造成的)。那麼有誰不會選擇去專櫃找小姐理論一下呢!如果專櫃小姐告訴你:「這個地方平常又沒有人會看到!何況你已經穿了一年了。我沒法退你錢,更不可能換給你。」你會不會想把他的招牌砸了呢!
  但我想如果他是Armani正牌的,那他鐵定會換給你,或者至少要退你錢!因為對一個極講究形象與品牌的公司,是不可能為了幾萬塊的小錢而喪失更多的。不過為什麼我們同樣繳了不少錢給微軟,甚至常常是被迫繳錢給微軟(硬體綁軟體),卻硬是用了一個有缺陷的「細明體」以及有功能缺陷的「Word」十幾年,然後沒有人吭聲,沒有人因為這些缺失所造成的損失去跟他求償呢!(那些編輯沒什麼水準的出版社就更應該做)是因為大家根本不知道這樣可以求償嗎?還是覺得自己夠賤,正好適合長期使用這種有缺陷的軟體!或者是認為這樣的品質正好符合了這樣的價值呢!還是說繁體中文根本就不重要(至於簡體中文的情況恕我不知)。或者使用繁體中文的人覺得自己根本就不重要!!!或者,……錯了一個字又怎樣!(如果有一套ABC字體錯了,有沒有人會說話!!!)
  不管這是微軟請的中文專家的責任還是相關工程師的責任,反正是微軟的責任就對了。然而我們這些使用XP的人,使用2007版之前的Office軟體的人,他的缺陷至今日仍然沒有被獲得改正、更新!而新的版本卻「偷偷摸摸的」把放任了十幾年的錯誤給修正了!
  這到底是什麼樣的一個服務心態!!!

  那麼,筆者又是如何發現那個「秣」字的錯誤呢?實在很簡單。由於早期受過一些文字學的訓練,因此對於文字較為敏感。「秣」念如「末」,漢字有百分之八十以上屬於形聲字,因此這個「禾+未」的組合未免可疑,就算那些自信不足的人,也可以翻一下字典來做確認的動作!(但不能用網上字典,否則就是犯了思想錯誤。因為你用網上字典,看到的還是錯誤的字體。除非那個網上字典是用自製的圖形來顯示漢字的。或者用了自制的嵌入式字體。)
  就只是這麼簡單。然而在筆者發現了這個錯誤以及那個錯誤以及其他錯誤的十年裡,我一直在等待,我一直在看到底這個名震天下的軟體公司會怎樣處理這些錯誤。直到Vista出現了、配套的2007 Office出來了,筆者才終於等到了一個沈默的回覆!
  微軟,對一個不願對貴公司求償的使用者,難道你不該出來給個說法嗎?

 

posted @ 2008-08-14 21:07 Ethanyen 阅读(584) | 评论 (0)编辑

2008年8月13日

     摘要: 這個錯跟上一個「秣」字的錯比起來,其嚴重性是不遑多讓,甚或尤有過之的。上一個錯誤畢竟還只是錯了一個字,微軟還可以用諸如「1/13060」(1/Big5中文字。或者用1/Unicode3.0中文字,甚至用1/Unicode5.0中文字來立說都可以……哈哈哈)的錯誤率來推說其錯誤率之小。而完全忽視廣大中文使用者(尤其是繁體使用者)的感受。不過這個同樣都是存在十年以上的錯,可就不... 阅读全文

posted @ 2008-08-13 22:35 Ethanyen 阅读(630) | 评论 (12)编辑

2008年8月12日

  今天看文章時發現微軟的一個明體錯字,以前也曾經發現過,不過當時沒記錄下來。現在有了部落格,當然不能再輕易放過這個管理知識的機會。正確的知識當然要管理,錯誤的知識亦然。何況據說Vista上的中文字體每個字造價一百美金,固然我舉出的錯誤出在XP,但別忘了我們又花了多少錢在這套作業系統上。

  錯誤字:秣。

  「秣」字,Big5編碼是「afb0」,隸屬於「常用漢字」區。

  秣,根據教育部字典解釋:

餵牛馬的穀粟等飼料。如:「糧」。老殘遊記˙自敘:「馬與牛,終歲勤苦,食不過芻。」
餵牲口。左傳˙成公十六年:「馬利兵。」唐˙韓愈˙送李愿歸盤谷序:「膏吾車兮吾馬。」
牲口咀嚼食物。荀子˙勸學:「伯牙鼓琴,而六馬仰。」

  常用場合:厲兵秣馬。

  磨利兵器,餵飽馬匹。指完成作戰準備。〈左傳˙僖公三十三年〉:「鄭穆公使視客館,則束載厲兵秣馬矣。」明史˙卷二七六˙沈宸荃傳:「都城既陷,守土臣宜皆厲兵秣馬,以報國讎。」亦作「秣馬利兵」、「秣馬厲兵」、「厲兵粟馬」、「勵兵秣馬」、「礪兵秣馬」、「礪戈秣馬」。

   錯誤圖示:

  我們很清楚的看到了,不管是新細明體還是細明體,都將「秣」字的偏旁「末」誤作了「未」,當時設計字體以及檢查的人員恐怕都在睡覺吧。這樣的錯,當然是很誇張的。而這樣的錯被放任、持續了十幾年,更是誇張。不期望微軟會看到這個錯誤並改正。因為自從知道XP將要停止發售與支援時,已經要準備開始適應Linux作業系統了。呵呵。

 

附註:由於今天寫了另一篇錯。因此也一併補上Vista改正後的字體圖樣,如下,不多言。

posted @ 2008-08-12 22:56 Ethanyen 阅读(366) | 评论 (2)编辑

2008年7月16日

  以下的題目是在朋友黃晨的網站上看到的,他也給出了他的解法。我的解法等朋友彥完成了他的解法後公布,若有其他解法也歡迎加入討論。

按以下示例方阵格式,生成一个由自然数1至N^2组成的N阶方阵。

        1  3  4  10 11
        
2  5  9  12 19
        
6  8  13 18 20
        
7  14 17 21 24
        
15 16 22 23 25

 

注:N不仅限于5。

黃晨的解法:(http://bbs.elephantbase.net/viewthread.php?tid=2364&fpage=1

#include <stdio.h>

const int ARR_LEN = 10;

void main(void{
  
int x, y, n, dx, dy;
  
int a[ARR_LEN][ARR_LEN];

  n 
= 1;
  x 
= 0;
  y 
= 0;
  dx 
= -1;
  dy 
= 1;
  
while (n <= ARR_LEN * ARR_LEN) {
    a[x][y] 
= n;
    n 
++;
    x 
+= dx;
    y 
+= dy;
    
if (x > ARR_LEN - 1 || x < 0 || y > ARR_LEN - 1 || y < 0{
      dx 
= -dx;
      dy 
= -dy;
      x 
+= dx;
      y 
+= dy;
      
if (x == ARR_LEN - 1{
        y 
++;
      }
 else if (y == ARR_LEN - 1{
        x 
++;
      }
 else if (x == 0{
        y 
++;
      }
 else if (y == 0{
        x 
++;
      }

    }

  }


  
for (y = 0; y < ARR_LEN; y ++{
    
for (x = 0; x < ARR_LEN; x ++{
      printf(
"%2d ", a[x][y]);
    }

    printf(
"\n");
  }

}

posted @ 2008-07-16 21:43 Ethanyen 阅读(86) | 评论 (0)编辑