御宅族不是家裡蹲,オタク≠NEET
御宅族不是家裡蹲,オタク≠NEET 。要不是今天看了聯合報的社會新聞「你好宅」(聯合報民國96年2月25日A3版訊),我還不知道台灣已經自創「宅男」一詞表示「家裡蹲 (NEET)」了。聯合報的記者還算敬業,至少 wiki 做足功課 (御宅族@wiki) ,明白指出「宅男」是台灣人望文生義之下自創的詞語,和「御宅族」的意義有所不同。ACG 愛好者在使用時要小心,對圈外人可別用「宅」這個字,當圈外人說自己很宅時,也要嚴正指出:你搞錯了,我可不是家裡蹲。
御宅族不是家裡蹲,オタク≠NEET 。要不是今天看了聯合報的社會新聞「你好宅」(聯合報民國96年2月25日A3版訊),我還不知道台灣已經自創「宅男」一詞表示「家裡蹲 (NEET)」了。聯合報的記者還算敬業,至少 wiki 做足功課 (御宅族@wiki) ,明白指出「宅男」是台灣人望文生義之下自創的詞語,和「御宅族」的意義有所不同。ACG 愛好者在使用時要小心,對圈外人可別用「宅」這個字,當圈外人說自己很宅時,也要嚴正指出:你搞錯了,我可不是家裡蹲。
常常看到如下例關於自由軟體的觀點:
目前很多人對自由軟體的評價是:不好用。這剛好跟開發者的思維有關。許多自由軟體使用者喜歡功能精簡的軟體,自由軟體開發者自然也有這樣的思維。但是大多數的人想法剛好跟這些人相反。 許多自由軟體現有的問題探討
我以為此一「問題」其實是從以往商業軟體的使用習慣為出發點才存在,同時摻雜了使用者對自由軟體抱有「無私分享」之理想的「偏見」。
我在 網路服務與純 JavaScript 應用之 JSON 資料包裹解決方案 提到的概念,其實最初也是在 Google 上看到這種概念。只是我那時寫著寫著,卻忘了 Google 的方式... 網友忘幽谷提醒才想起。
Google 查詢服務回傳的資料格式是它自家的 GData 文件 (GData uses either of two standard XML-based syndication formats: Atom or RSS) 。為了讓使用者能建立純 JavaScript 應用, Google 就提供了將 GData 資料內容改用 JSON 格式包裹在 JavaScript 程式碼中的服務方式。
本文標題取自《失控的進步:復活節島的最後一棵樹是怎樣倒下的》這本書的副標題。對於該書所談的內容,我從經濟學的觀點來談「復活節島的最後一棵樹是怎樣倒下的」。
在 Web 2.0 的浪潮下,有愈來愈多的網路服務推出,如網路相簿、網路書籤、網路書櫃等等。大多數網路服務都有提供 Blog 使用的小工具 (或稱 Badge) ,從軟體設計的觀點來看,這些小工具才是我們在談的「網路服務」、「服務元件 (service compoent)」。
我最近在玩網路書籤提供的這些服務元件,就我觀察這些服務元件主要分兩種形式:一、以一段固定的 JavaScript 程式碼輸出網頁內容;二、僅提供 XML/JSON 資料,讓使用者自己處理程式邏輯。這兩種形式各有限制。第一種包辦了資料和程式邏輯,使用者只需/只能用 CSS 調整外觀;而且因為包含了 JavaScript 的程式邏輯,所以不同服務者提供的服務元件放在同一個頁面時可能會相衝,有我無他、或者大家一起掛。第二種則受限於 XMLHttpRequest 的安全性限制,基本上不能做成純 JavaScript 的應用。
為 Ruby 在 Blogger 上加了個網誌,叫 Rock Say Ruby,主要用來放置我整理翻譯的 ruby 文件。目前我只整理同樣是以 GFDL 條款散佈的 Ruby User's Guide 和 Ruby Programming (這是 WikiBooks 上的 wiki 版) 。
作為我個人的 ruby 學習筆記,我的翻譯以「快」為主,不求信、達、雅。我在翻譯時最花時間的不是搞清句子的意思,反而是在一些術語、名詞上打轉。如 object ,我最初接觸時翻作「個體」 (資策會翻的) ,但後來反而是「物件」一詞普及。十幾年下來,不難看出「物件」一詞不夠達義,所以我堅持不用「物件」一詞。我秉持「言者在意,得意忘言」的態度,更不覺得一個英文詞就一定要固定對應一個中文詞才叫正確,所以我的翻譯內容可能不會有很多慣用譯詞。反正我都是用 GFDL 散佈,看不下去的人可以自己再重翻。
在《Load and Execute JavaScript on Demand》一文中,我說明了利用 XMLHttpRequest 動態載入外部 JavaScript 程式的技巧。然而那技巧是用於應付某些特殊情境之手段,其限制與特點如下列所示:
XMLHttpRequest 之安全性管制,不能載入不同主機的外部程式。唉唉,我差點被 Tokimeki 搞糊塗了。在他的《函數設計準則 (2)》一文中,他設計了兩個函數,一個是一次只處理一筆的 (載入單一模組、寫入單一記錄, etc) ,另一個是批次處理的。
Reflection ,一般譯為「反射」。但我一般說這是 讓 object 看到自己的外貌的功能
(PHP5 的動態函數/行為調用效率測試) 。這說法似乎和「反射」一詞扯不上關係。事實上,我稱這種能力為「自識」能力。
PHP 普遍應用於 web 應用軟體環境中,但若你想用 Ruby on Rails 或只是想找一個更適於處理廣泛用途的語言, Ruby 值得看看。
匿名遞迴函數在 JavaScript 中之實踐途徑。所謂遞迴函數即函數在其內部調用自己的函數,為了能夠自我調用,我們通常會為函數命名以便以名稱調用之。然而在某些語言中,其語言特性足以實踐匿名函數之遞迴。
在 JavaScript 中欲實踐此技法,須具備三個 ECMAScript/JavaScript 知識基礎:一、理解什麼是 Function object 及匿名函數;二、理解 operator() 的用法;三、理解如何以 Function.call()/Function.apply() 改變 this 的指涉對象。
我在前文《The practice of anonymous recursion function in JavaScript,》寫完之後,又到 Google 找尋是否有其它解法,結果讓我找到用 callee 的作法。這作法更簡單。
中華郵政的官股蕫事及主管機關交通部,為了配合政府的「正名」政策而開董事會議修改組織名稱,中華郵政員工為了維護公司的「主體性」並避免此一措施所帶來的無謂費用及名譽損失,怒踹會議室大門。奈何那些喪失了經營倫理、忘卻了對員工及股東之經營責任的經理階層,偷偷摸摸地更換會議地點,最後還是通過了改名決議。
從此一事件我看到了當前政府之「正名」政策,端得是「浪費無罪,正名有理」。
這是一個使用在本部落格的技巧,用於因應樂多部落格系統之限制。
傳統上,我們執行 JavaScript 程式的方式是靜態的,在 HTML 文件中以 <script type="text/javascript" src="example.js"></script> 的敘述載入並執行外部 JavaScript 程式。若我們無法使用上述方式時,就需要動態載入與執行。另一種需要動態載入與執行 JavaScript 程式的時機為,存在幾個相當龐大的 JavaScript 程式但不全部都用得到的情形,為了降低瀏覽器載入的時間,此時我們需要依某些條件決定那些 JavaScript 程式需要載入。
今天在 IBM developerWorks 的 Open Source 專區中看到《PHP development within Eclipse》這一篇文章。看了一下,原來在介紹 Eclipse 中的 PHP IDE project 。文章中使用的版本和我現在用的版本一樣 (去年12月釋出) 。我使用 PHP IDE project 後,覺得跟 Java/CDT 比起來功能還是很陽春,編輯功能也不算順手。所以目前我仍然使用 PSPad 作為程式編輯器。
先前我在《Bug 數量與軟體品質控制》的回應中提到:從 PM 的角度來看,以使用者和開發者都認可的 use case 為準,必須在此 use case 的範疇下無 bug 才能交貨。不過我觀察國內的 case 好像有個現象,使用者不參與 use case 內容的,彷彿使用者跟這軟體沒關係。依據開發者單方面規劃的 use case 來撰寫 test case 。這種現象好像很正常,但我個人總覺得哪裡不對。
就讓我們這些 programmer 承認吧,我們在進行軟體專案時,口中有 user ,但心中無 user 。使用者總在有意無意之中被排除在外。其實使用者也很關心如何能評量委託他人開發的軟體是否符合需求。例如我現在服務的百貨零售業,前一陣子就為了公司的零售與進銷存系統到底有沒有達到預期目標 (事關付款問題) ,而跟廠商「飛x 高」打了場官司。
到底在軟體工程方法中,有沒有關於甲方 (使用者) 的部份呢?褐雨燕學習筆記 中提到了 CMMI 的部份,規範於「CMMI-ACQ(CMMI for Acquisition Organizations」之中,雖然目前還僅僅在草案階段。
前幾天我在寫用 JavaScript 自動轉換 Tag 註記的工具時,發現 Opera 瀏覽器在操作 Unknown HTML 元素 (即自定元素) 的 DOM 方法中有 bug ,不能正確取代或插入其他節點在 Unknown HTML 元素之節點後。如果用取代方法 (replaceChild) 甚至會切斷 DOM 結構。
我設置了一個最簡單的測試環境,使用三種瀏覽器: MSIE 6, Firefox 1.5, Opera 9.1 (build 8679) 測試操作取代及插入動作。 MSIE 和 Firefox 都如預期般正確操作,唯 Opera 有錯誤。
日前聯合報報導台大李嗣涔要求鎖住其指導學生之碩士論文十年,不准他人閱覽 (鎖學生論文10年 惹爭議)。李嗣涔表示願意對論文內容有興趣的人發表演講,一起討論,但不包括有競爭威脅的人。說來說去,不過兩字:「名」、「利」罷了。
在我看來,從事研究工作者不外兩種人:求名利者,求知識者。而應不應該鎖住論文內容,也要從這兩種立場去談。
求名利者,為了名利歸於己,就必須排除競爭者,不能讓別人比自己早一步找到答案。他們發表論文與演講之目的,除藉此收取費用外,更要提高自己的名聲,才能奠定將來獲利的基礎。此外之任何可能對他人有利之途徑皆須排除。對他們而言,鎖住論文是利己的理性行為。
求知識者,但以追求答案為目的,為此可以不拘手段。為了儘早得知答案,甚至讓別人幫他們找到答案,他們反倒希望有更多人一起來競爭。儘可能地利用別人,以便早一天知道答案。對他們而言,鎖住論文是不利己的不理性行為。
我以為從一般認知中,求知識者可稱「學者」,求名利者僅能稱「發明者」、「研究者」。同樣在一般認知中,學校是學者的活動領域,營利性研究機構是發明者的活動領域。倘若李嗣涔對其研究內容如此念念在茲,不妨到營利性研究機構去做,名正言順。