今天讀到 Steven Devijver 的 The state of “The Design”,當中提到 EJB 和 Design Pattern 的不少問題。
和其他的真正 Software Engineering 的專家一樣,Steven Devijver 認為 Design Pattern 不是用來直接套用的範本,而只是某些問題的常見解決方案。他質疑那些尚未見到問題,就先說要套用某某 Design Pattern 的設計。
今天讀到 Steven Devijver 的 The state of “The Design”,當中提到 EJB 和 Design Pattern 的不少問題。
和其他的真正 Software Engineering 的專家一樣,Steven Devijver 認為 Design Pattern 不是用來直接套用的範本,而只是某些問題的常見解決方案。他質疑那些尚未見到問題,就先說要套用某某 Design Pattern 的設計。
大概是因為 WordPress 實在是比 MovableType 流行,把這個網頁換成 WordPress 之後,比之前遇到更多的 SPAM Attempt。
大部份 Blog 都似乎推薦用 BadBehaviour 和 SpamKarma2。BadBehaviour 會把很多假的 User-Agent 都給過濾去。例如這個網頁最常見的是,聲稱是 Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0),Cookie 也有了,卻就沒有 Accept: Header 的 User-Agent。單是這一條例,已經濾去我 100% 的 Comment Spam。真是豬頭的編程員。
雖然 Dr Dave 在他的網頁提過新的 SpamBot 已經出現,但這似乎仍未流行──至少我還未曾見過。
相關連結:
<?xml version="1.0" ?>
<rant
lang="bs"
xmlns:whocare="urn:what.this.is"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:xlink="http://www.w3.org/1999/xlink"
>
<xhtml:p>
傳說,很久以前這個世上有種名叫<xhtml:acronym title="Extensible Markup Language">XML</xhtml:acronym>的文件格式。在設計上,它是有非常高的可擴充性;在實際應用上,幾乎沒有一個實現能夠表現出這個特性。結果,XML 就成為了另一種和<xhtml:acronym title="Electronic Data Interchange">EDI</xhtml:acronym>無異的一種 Proprietary Format。
</xhtml:p>
<xhtml:p>
雖然在很早的時候,已經有不少人意識到<xhtml:span xlink:type="simple" xlink:href="http://xmlsucks.org/" xlink:show="replace">XML 確實是不能用</xhtml:span>,但是他們在商業的壓力下還是<xhtml:a href="http://xmlsucks.org/but_you_have_to_use_it_anyway/">無可奈何</xhtml:a>地使用這種“技術”。
</xhtml:p>
<xhtml:p>
關於 XML 的壞處,我實在不能一一的都記下來(若是一一都記下來,恐怕連<xhtml:abbr title="The last word in filesystem">ZFS</xhtml:abbr>都容不下了)。在這裡,我就只舉一個例子──XML Namespace。
</xhtml:p>
<xhtml:p>
XML Namespace 其實就是 XML 可擴充性的基石。它容許用戶在一個檔案裡包含多過一種的 XML 結構。例如,我想在一個 XHTML 1.1 的檔案裡加入一幅<xhtml:acronym title="Scalable Vector Graphic">SVG</xhtml:acronym>圖。而 SVG 裡又有一條<xhtml:abbr title="Mathematical Markup Language">MathML</xhtml:abbr>數式的美工字。我可以這樣寫:
<xhtml:code><![CDATA[
<?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:mathml="http://www.w3.org/1998/Math/MathML">
<switch>
<foreignObject>
<mathml:math xmlns="http://www.w3.org/1998/Math/MathML">
<mathml:…>
[…]
</mathml:…>
</mathml:math>
</foreignObject>
</swicth>
</svg>
</html>
]]>
</xhtml:code>
</xhtml:p>
<xhtml:p>
(我不太會 SVG,所以應該不完全對。但讀者應該可以有個大概印象吧?)
XML Namespace 容許使用者在一個 XML 檔內引用另一 XML 格式。若兩種 XML 格式有相同的 Tag,則可以用 Namespace Prefix 隔開。其中要留意的是<xhtml:em>當沒有相沖時 Namespace Prefix 是可有可無的;其次是 Namespace 就只用相關的<xhtml:acronym title="Universal Resource Indentifier">URI</xhtml:acronym>來分辨</xhtml:em>:
</xhtml:p>
<xhtml:blockquote cite="http://www.w3.org/TR/REC-xml-names/#dt-NSName">[Definition:] The attribute's value, a URI reference, is the namespace name identifying the namespace. The namespace name, <xhtml:em>to serve its intended purpose, should have the characteristics of uniqueness and persistence</xhtml:em>. It is <xhtml:em>not a goal that it be directly usable for retrieval of a schema (if any exists)</xhtml:em>…
</xhtml:blockquote>
<xhtml:p>
這樣,問題就來了。因為很多的 XML Parser 跟本不支援 XML Namespace,又或者軟件開發者因為效能、向下相容、維護或者是無知等原故而不支援完整的 XML Namespace。其中<xhtml:a href="http://www.feedburner.com/">FeedBurner</html:a>的 FeedFlare 就是只支援固定的 XML Prefix──例如<xhtml:a href="http://wellformedweb.org/">Well-Formed Web</xhtml:a>的 Comment API 就必須是使用 wfw: Prefix。現在很多這一樣的 Prefix 很多只有一兩個拉丁字母,出現命名空間相沖的時候指日可待。
</xhtml:p>
<xhtml:p>
另一個大問題是,很多的所謂 Specifiation Writer 根本沒有意識到相容性的問題。例如先前的<xhtml:a href="http://feedvalidator.org/docs/warning/CommentRSS.html" title="wfw:commentRSS should be wfw:commentRss">wfw:commentRSS vs wfw:commentRss 事件</xhtml:a>,他們完全不明白<xhtml:a href="http://www.unicode.org/standard/stability_policy.html#Name">標準文檔穩定性</xhtml:a>的原則。類似的還有 wfw: 和 creativeCommons: 更改 Namespace URI 一事,以及 geo: 和 geoURL: 重疊等等……
</xhtml:p>
<xhtml:p>
我想已經寫得差不了。這種用 XML 寫的文章,反正也不會有軟件看得明白。
</xhtml:p>
<xhtml:p>
相關連結:
<xhtml:ul>
</xhtml:ul>
</xhtml:p>
</rant>
今天試用了 Riya 的相簿服務。
作為一個網上相簿,Riya 實在缺少很多基本功能。慢吞吞的上載、不能直接在網頁加相、幾乎不能用的管理工具、間中還會不肯刪除相片。
既然 Riya 這麼差,為什麼我還要寫呢?這是因為 Riya 有兩個很特別的功能——人臉辨識和文字辨認。
就是貼在 SDiZ World 下的這一篇
有 2 篇回應
今天無意中看到兩個內地人的博客——兩個同性戀者的博客。
他們不約而同的提到一個問題——父母對自己的恩又何報?
當然,這個月來的母親節和父親節應該多少有點關係。但他們的那份心,這是同性戀自覺對不起父母?還是只是幼時在農村長大所感受到的親情?
若是後者的話,我會恨我自己在香港長大。我的父母,我實在不了解。
如果是用 Atom / RSS 看這個網頁的話,應該發覺這個網頁的 Feed 的近幾天換了好幾次。主要是因為試試 FeedBurner 的效果。
本來改用 FeedBurner 的主要原因是因為 Atom / RSS 分家的問題。我自己比較喜歡 Atom 1.0,但實底上有很多服務只支持 RSS2.0 。FeedBurner 可以讓我專心只出一個 Feed ,其他的事由它做好。另外,FeedBurner 亦提供了很多看的 Statistics ,還有 FeedFlare 等好玩的東東……
可惜的是……這幾天似乎 FeedBurner 實在是很慢。沒有辦法啦,只是再次用回自己的 RSS Feed 。等 FeedBurner 有改善再轉回去吧。
接觸大埔一段時間,實在覺得大埔跟沙田不太一樣。
大埔人似乎普遍有一歸屬感,自覺是一個大埔人。反觀年輕沙田人似乎沒有這一種現象。只有部分像馬鞍山等地方的人,會覺得自己是馬鞍山人。
到底是我的 Poll 有 Bias,還是裡頭有什麼原因?
這裡一直是用 MT,近來一直很想改用 Wordpress。因為 Wordpress 的 Plugin 實在比較多元化,亦容易寫得多。
不要誤會。我實低是比較喜歡Perl——它的簡潔真把我深深的吸引住;而 PHP 的那些 safe mode / magic quote / file owership & permission 等等一大堆問題……實在是太過噁心。但Moveable Type的Pre-Build Model使他很難有什麼互動元素。
樅觀現存的 Blogging System,似乎 Wordpress 成長得最好。於是我選定了 Wordpress。自己也為 Wordpress 寫了好幾個 Plugins、準備 Migration 的 rewrite script 等等。
當自己滿以為準備好的時候,才發覺現在的 Hosting 公司跑 PHP 很慢,然後是發覺新 Template 在新解像度上會很古怪……要轉 Wordpress,似乎還要下一番努力。
正當這時候,MT 推出了 3.3 Beta。頓時令的 Migrate 的意欲大減。