<?xml version="1.0"?>
<rdf:RDF
	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:foaf="http://xmlns.com/foaf/0.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns="http://purl.org/rss/1.0/"
>
<channel rdf:about="http://planet.debian.org.hk/">
	<title>Planet DebianHK</title>
	<link>http://planet.debian.org.hk/</link>
	<description>Planet DebianHK - http://planet.debian.org.hk/</description>

	<items>
		<rdf:Seq>
			<rdf:li rdf:resource="http://edin.no-ip.com/98 at http://edin.no-ip.com" />
			<rdf:li rdf:resource="http://hilary.e-fever.org/?p=241" />
			<rdf:li rdf:resource="http://www.akbkhome.com/blog.php/View/169/RooJS_update__form_CSS_better_docs_and_compressor_eval_hints.html" />
			<rdf:li rdf:resource="http://blog.anthonywong.net/2008/07/01/%e5%95%86%e6%a5%ad%e9%9b%bb%e5%8f%b0%e7%b6%b2%e7%ab%99%e5%a4%a7%e6%b7%b7%e4%ba%82/" />
			<rdf:li rdf:resource="http://www.debian.org.hk/15148 at http://www.debian.org.hk" />
			<rdf:li rdf:resource="http://hilary.e-fever.org/?p=240" />
			<rdf:li rdf:resource="tag:josephwu@ust.hk,2008-06-27:/GNU_slash_Linux/?permalink=Sed-script-to-remove-Chinese-and-English-punctuations.html" />
			<rdf:li rdf:resource="http://www.akbkhome.com/blog.php/View/168/Roojs1__working__needs_some_help_compressor__better_than_ExtJS.html" />
			<rdf:li rdf:resource="http://www.akbkhome.com/blog.php/View/167/HK_Government_Incompetence_or_just_plain_stupidity.html" />
			<rdf:li rdf:resource="http://edin.no-ip.com/94 at http://edin.no-ip.com" />
			<rdf:li rdf:resource="http://www.real-blog.com/%e7%b2%be%e6%98%8e%e6%b6%88%e8%b2%bb-%e7%90%86%e8%b2%a1/511" />
			<rdf:li rdf:resource="http://www.akbkhome.com/blog.php/View/166/RooScript_and_RooJS_v1_building.html" />
			<rdf:li rdf:resource="http://me.abelcheung.org/2008/06/10/%e8%a2%ab-snort-%e6%95%b4%e8%a0%b1%e4%ba%86/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-8534016676139857894.post-8753901157313707190" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-8534016676139857894.post-6106179352956960214" />
			<rdf:li rdf:resource="http://www.debian.org.hk/15141 at http://www.debian.org.hk" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-8534016676139857894.post-1423649900387965451" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-8534016676139857894.post-170002211973851609" />
			<rdf:li rdf:resource="http://me.abelcheung.org/2008/06/05/hk-%e6%98%af%e6%9c%80%e5%8d%b1%e9%9a%aa%e7%9a%84%e7%b6%b2%e5%9f%9f%ef%bc%9f/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-8534016676139857894.post-8010663249095357908" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-8534016676139857894.post-1065504833528104694" />
			<rdf:li rdf:resource="http://edin.no-ip.com/88 at http://edin.no-ip.com" />
			<rdf:li rdf:resource="http://me.abelcheung.org/2008/06/04/linux-hater/" />
			<rdf:li rdf:resource="http://me.abelcheung.org/2008/06/04/ordered-oracles-unbreakable-linux/" />
			<rdf:li rdf:resource="http://me.abelcheung.org/2008/06/03/%e5%ad%b8%e7%94%9f%e8%8b%b1%e6%96%87%e5%b7%ae%e6%98%af%e5%9b%a0%e7%82%ba%e8%80%81%e5%b8%ab%e5%bf%99%ef%bc%9f%ef%bc%9f/" />
			<rdf:li rdf:resource="http://www.debian.org.hk/15139 at http://www.debian.org.hk" />
			<rdf:li rdf:resource="http://www.real-blog.com/%e7%b2%be%e6%98%8e%e6%b6%88%e8%b2%bb-%e7%90%86%e8%b2%a1/510" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-8534016676139857894.post-5451470041117555607" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-8534016676139857894.post-9210275496424810659" />
			<rdf:li rdf:resource="http://edin.no-ip.com/86 at http://edin.no-ip.com" />
			<rdf:li rdf:resource="http://blog.xychen.org/archives/2008/05/28/chinese-in-fedora-9-kde4/" />
			<rdf:li rdf:resource="http://www.akbkhome.com/blog.php/View/165/Quick_ExtJs_Fork_update.html" />
			<rdf:li rdf:resource="http://www.real-blog.com/%e7%b2%be%e6%98%8e%e6%b6%88%e8%b2%bb-%e7%90%86%e8%b2%a1/509" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-8534016676139857894.post-5111643983447941156" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-8534016676139857894.post-4902997077921012407" />
			<rdf:li rdf:resource="http://me.abelcheung.org/2008/05/26/recovering-photos-from-camera/" />
			<rdf:li rdf:resource="http://www.real-blog.com/my-life/508" />
			<rdf:li rdf:resource="http://blog.xychen.org/archives/2008/05/23/gdm-themes-login-with-google-windows-mac/" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-8534016676139857894.post-4110115538172229184" />
			<rdf:li rdf:resource="http://edin.no-ip.com/83 at http://edin.no-ip.com" />
			<rdf:li rdf:resource="http://me.abelcheung.org/1999/11/30/mormon-conference-center-paintings/" />
			<rdf:li rdf:resource="http://edin.no-ip.com/82 at http://edin.no-ip.com" />
			<rdf:li rdf:resource="http://edin.no-ip.com/81 at http://edin.no-ip.com" />
			<rdf:li rdf:resource="http://edin.no-ip.com/80 at http://edin.no-ip.com" />
			<rdf:li rdf:resource="tag:blogger.com,1999:blog-8534016676139857894.post-9022289749745873449" />
			<rdf:li rdf:resource="http://www.debian.org.hk/15131 at http://www.debian.org.hk" />
			<rdf:li rdf:resource="tag:josephwu@ust.hk,2008-05-14:/Misc/?permalink=%E2%80%9C%E8%A1%80%E6%B3%AA%E4%B9%8B%E5%9C%B0%EF%BC%8C%E7%94%9F%E6%B0%91%E4%B9%8B%E5%93%80%EF%BC%8C%E5%AE%B6%E5%9B%BD%E4%B9%8B%E7%97%9B%E2%80%9D.html" />
			<rdf:li rdf:resource="http://www.debian.org.hk/15130 at http://www.debian.org.hk" />
			<rdf:li rdf:resource="http://www.real-blog.com/programming/507" />
			<rdf:li rdf:resource="http://edin.no-ip.com/79 at http://edin.no-ip.com" />
			<rdf:li rdf:resource="http://www.akbkhome.com/blog.php/View/164/ExtJs__talking_forking.html" />
			<rdf:li rdf:resource="http://www.akbkhome.com/blog.php/View/163/Ouch_what_a_mess__Extjs_goes_GPL3.html" />
			<rdf:li rdf:resource="http://www.real-blog.com/linux-bsd-notes/506" />
			<rdf:li rdf:resource="http://www.real-blog.com/linux-bsd-notes/505" />
			<rdf:li rdf:resource="http://me.abelcheung.org/2008/05/04/%e9%b9%bd%e6%b9%96%e5%9f%8e%e7%9a%84%e9%a0%ad%e5%b9%be%e5%a4%a9/" />
			<rdf:li rdf:resource="http://blog.xychen.org/archives/2008/05/03/gst222-support-pppoe/" />
			<rdf:li rdf:resource="http://edin.no-ip.com/77 at http://edin.no-ip.com" />
			<rdf:li rdf:resource="http://www.real-blog.com/%e7%b2%be%e6%98%8e%e6%b6%88%e8%b2%bb-%e7%90%86%e8%b2%a1/504" />
			<rdf:li rdf:resource="http://blog.ivanwong.info/archives/67" />
			<rdf:li rdf:resource="http://me.abelcheung.org/2008/04/30/%e5%88%b0%e9%81%94%e9%b9%bd%e6%b9%96%e5%9f%8e/" />
		</rdf:Seq>
	</items>
</channel>

<item rdf:about="http://edin.no-ip.com/98 at http://edin.no-ip.com">
	<title>Edison Wong: virt-manager + libvirt + KVM on Debian mini-HOWTO</title>
	<link>http://edin.no-ip.com/content/virt-manager-libvirt-kvm-debian-mini-howto</link>
	<content:encoded>&lt;p&gt;Long story short, you can seem KVM as replacement of VMware, XEN, VirtualBox, and so on (If you don't know what am I talking about, please give a look about what is &lt;a href=&quot;http://en.wikipedia.org/wiki/Virtualization&quot;&gt;Virtualization&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;If you have play with similar solutions once before, the virtualization GUI shouldn't be new to you. The virtualization GUI usually provide an interface for client creation, managment and also operation, e.g. when you start a virtual client, the GUI will provide a window for it and display its screen message as like as real PC. So any similar solution for KVM? Yes, virt-manager (&lt;a href=&quot;http://virt-manager.et.redhat.com/&quot; title=&quot;http://virt-manager.et.redhat.com/&quot;&gt;http://virt-manager.et.redhat.com/&lt;/a&gt;) is one of similar choice.&lt;/p&gt;
&lt;p&gt;Besides previous 2 mini-HOWTO (&lt;a href=&quot;http://edin.no-ip.com/content/kvm-debian-mini-howto&quot;&gt;KVM on Debian mini-HOWTO&lt;/a&gt; and &lt;a href=&quot;http://edin.no-ip.com/content/libvirt-kvm-debian-mini-howto&quot;&gt;libvirt + KVM on Debian mini-HOWTO&lt;/a&gt;), here I will guide you though how to employ virt-manager for more high level visualization handling.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://edin.no-ip.com/content/virt-manager-libvirt-kvm-debian-mini-howto&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2008-07-02T19:08:04+00:00</dc:date>
</item>
<item rdf:about="http://hilary.e-fever.org/?p=241">
	<title>Hilary: 從技術角度看商業電台的Hong Kong Toolbar (I)</title>
	<link>http://hilary.e-fever.org/?p=241</link>
	<content:encoded>上個星期, 從電台的節目中, 得知Hong Kong Toolbar的新軟件, 　第一個想法，跟Google Toolbar, Yahoo Toolbar, etc有什麼分別呢，後來，節目主持中介紹這軟件，可以網上聆聽即時電台節目（沒什麼特別），再加上一個新的頻道，就是播不停的音樂，這個很不錯！那我馬上去下載。
網上電台都有一個很大缺點，音質差，不時有一些難聽的雜聲，經常斷線，住住聽不下去，有了Hong Kong Toolbar之後，我一試聽，嘩！音質比前很好多，沒什麼斷線，只是比較傳統FM收音機差一些，聽起來舒適很多，而且，使用起來更方便，只要啟動瀏覽器，就可以聽，因此，好奇之下，想多了解Hong Kong Toolbar跟以前有什麼分別。
香港網上電台多用Real Server and Microsoft Multimedia Server，這兩個都是Server Centric，所有聆聽者都必要連到Server，在這個Architecture之下，Server Network Bandwidth及連接數量都有上限，為了讓更多人去收聽，唯有犧牲音質(i.e. 少一些bitrate)。
在這前題之下，商業電台有什麼神通廣大的方法，令音質提升？剛有Debugview在手，看看有什麼Debug Message可以看看，

從上圖得知，原來是Peer-To-Peer (P2P，換句來說，類似BT的東西)技術，那麼，Bandwidth不成問題，連接數可以大大提升！但P2P會衍生另一個問題，因為電台是即時節目，延時是多少呢？以前大概都是2-3秒，我測試過Hong Kong Toolbar，延時差不多要5-10秒，或更多，如果大家要參加電台遊戲，最好都是傳統收音機。:P</content:encoded>
	<dc:date>2008-07-02T11:59:54+00:00</dc:date>
</item>
<item rdf:about="http://www.akbkhome.com/blog.php/View/169/RooJS_update__form_CSS_better_docs_and_compressor_eval_hints.html">
	<title>Alan Knowles: RooJS update - form CSS, better docs, and compressor eval hints.</title>
	<link>http://www.akbkhome.com/blog.php/View/169/RooJS_update__form_CSS_better_docs_and_compressor_eval_hints.html</link>
	<content:encoded>Another update on progress on RooJS (the ExtJS v1 Fork)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Form's now have CSS, so the &lt;a href=&quot;http://www.akbkhome.com/roojs1/examples/form/dynamic.html&quot;&gt;dynamic form examples&lt;/a&gt; work quite well&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;The CSS was created by documenting how the existing examples where rendered in ExtJS - A document describing this was created (see form_design.svg in the css folder). Then that document was used to create a brand new CSS file. I believe this can be regarded as not breaking the copyright and having a reasonable reverse engineering process.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;the x-box borders are missing, although not critical&lt;/li&gt;&lt;li&gt;the HTML editor needs to be fixed. &lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;I have done the design diagram for CSS of the menu's and will be working on that soon.&lt;/li&gt;&lt;li&gt;The doc's are improving as well, The doc's appear to be listing all the correct elements now, future work will focus on tidying up the templates.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Most of the improvements came from replacing the Walker code in the jsdoctoolkit so that it understands scope in a similar way to the compressor. I also had to add a few extra comments in the source to give the documentation tool a few hints.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;/** @scope Roo.somescope */  -- changes the scope in the documentation engine (as sometimes it just can not guess what the scope is.&lt;/li&gt;&lt;li&gt;/** @scopeAlias avar=Roo.xyz.prototype */ -- adds an alias to the parser engine alias map, so when it sees 'avar', it will replace it with Roo.xyz.prototype&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;The compresser is working well, someone asked on #roojs on freenode about using it for other code, including ExtJs2.0 - There should be no problem doing that - have a look at the &lt;a href=&quot;http://www.akbkhome.com/roojs1/buildSDK/bundle_build.js&quot;&gt;bundle build file&lt;/a&gt; to see how to set up a builder for any project.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;One thing to note is that the compresser uses hints when it sees 'eval'. The YUI compresser basically turns off compression for a large chunk of the code if it sees 'eval', I've added code to pick up a comment before the eval statement:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;/** eval:var:abcd */  will turn variable compresion back on, and exclude 'abcd' from the list of variables to be compressed (use multiple eval:var:... statement on multiple lines to exclude multiple variables)&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;Anyway back to work tommorow, after celebrating (eg. doing nothing) the glorious reunification with the motherland day (HKSAR day)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content:encoded>
	<dc:date>2008-07-01T12:30:46+00:00</dc:date>
</item>
<item rdf:about="http://blog.anthonywong.net/2008/07/01/%e5%95%86%e6%a5%ad%e9%9b%bb%e5%8f%b0%e7%b6%b2%e7%ab%99%e5%a4%a7%e6%b7%b7%e4%ba%82/">
	<title>Anthony Wong: 商業電台網站大混亂</title>
	<link>http://blog.anthonywong.net/2008/07/01/%e5%95%86%e6%a5%ad%e9%9b%bb%e5%8f%b0%e7%b6%b2%e7%ab%99%e5%a4%a7%e6%b7%b7%e4%ba%82/</link>
	<content:encoded>&lt;p&gt;真係未見過有&lt;a href=&quot;http://www.881903.com&quot;&gt;公司&lt;/a&gt;咁樣 launch website 嘅，原本個 website run 得好地地，為咗推新 service，將成個 site 換咗佢，結果係搞到好多俾咗錢聽 archive 嘅人聽唔到，特別係一眾 Mac user 同非 Windows user。嗰個新推出嘅 Toolbar 又唔 support OS X，又唔 support Firefox 3。原本嗰 site 都仲有得俾 user 揀用 RealPlayer 定係 Windows Media Player (Microsoft ASF format) 來收聽 realtime 廣播同 archive，但係個新 website 淨係 serve ASF 同埋用佢個 P2P toolbar。香港公司搞 website，已經無眼睇好耐。宜家咩年代啊，做 website 竟然仲唔注意係唔係 cross-platform。雖然 Real Audio 同 ASF 都係 proprietary，但係點計 RealPlayer 嘅 cross-platform support 都好過 ASF 好多，Mac 有 client，Linux 又有，連 Unix 都有。宜家商台竟然仲廢埋 Real Audio，有無搞錯。其實商台真係好天真好傻，將個 site outsource 俾大陸公司做，大陸公司做 website 出名 IE-only，商台自己嘅 project management 又好有問題，無做好 testing 唔駛講，個 site 宜家俾人&lt;a href=&quot;http://beta.881903.com/page/zh-tw/newsdetail.aspx?itemid=43353&quot;&gt;媽到飛起&lt;/a&gt;，俾咗錢嘅用唔到應有服務，咁都仲唔 rollback 番個舊 site 出來，又或者同時間放番個舊 site 出來一齊行，咁係咪即係話根本無諗過任何 fallback plan，無 contingency plan 嘅呢？前幾日入去商台個 website，赫然發現個 domain name 變咗 beta.881903.com，心諗，唔係唔記得改番 DNS 吓嘛，邊有人用咁嘅 domain name 架，後來先發現原來商台係認真嘅，仲喺埋個 logo 寫住 beta，懶係 web 2.0 咁，真係膠到無朋友。人哋啲 website 寫住 beta，好似 gmail 咁，alpha, beta, gamma 都無問題，因為第一，佢就算係 beta 都仍然好 stable，第二，佢無收我錢。但係商台呢個 case 唔係咁，我真係唔信竟然有人 launch beta service 俾 paid service 嘅 user 咁樣搵香蕉皮自己踩。&lt;/p&gt;
&lt;p&gt;好，鬧完，既然俾咗錢，唯有自救，用 XCode + Applescript + shell script 寫咗個 application 俾 Mac OS 10.5 嘅 user 用（唔知 10.4 得唔得，得嘅話通知聲），可以聽得番 archive，&lt;a href=&quot;http://blog.anthonywong.net/wp-content/uploads/SUCKR Launcher Installer v0010.dmg&quot;&gt;呢度 download&lt;/a&gt;。Download 完記得睇 README 點樣用！為咗獲得最佳效果，請同時下載 &lt;a href=&quot;http://www.real.com/mac/realplayer&quot;&gt;Real Player&lt;/a&gt; &amp;#038; &lt;a href=&quot;http://www.flip4mac.com/wmv_download.htm&quot;&gt;Flip4Mac&lt;/a&gt;，得閒可以順手裝埋 &lt;a href=&quot;http://perian.org/&quot;&gt;Perian&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;更新 2/7/2008 6:25pm: 如果你安裝咗 Flip4Mac，你要先響 System Preferences 度打開 Flip4Mac，make sure &amp;#8220;Use Filp4Mac WMV Browser Plug-in&amp;#8221; 選項無被揀中。&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2008-06-30T20:35:23+00:00</dc:date>
</item>
<item rdf:about="http://www.debian.org.hk/15148 at http://www.debian.org.hk">
	<title>tshuyang: eeepc 入手</title>
	<link>http://www.debian.org.hk/blog-entry/eeepc</link>
	<content:encoded>&lt;p&gt;買了一部 eeepc 900 並選用了 linux 作為作業系統。&lt;/p&gt;
&lt;p&gt;唉﹗windows的話，都叫睇得多、用得多，雖未能成為高手，但也勉強是一位進階的使用者罷。&lt;/p&gt;
&lt;p&gt;現在轉用 linux 就什麼也不同了，要問也不知到那裡問&amp;hellip;，想安裝 wine 1.0 又不成功，想更新 firefox 3 又未知方法&amp;hellip;找了很久也未有頭緒&amp;hellip;。&lt;/p&gt;
&lt;p&gt;希望這裡能幫忙學到一點基本的知識，做一個精明的新手。&lt;/p&gt;</content:encoded>
	<dc:date>2008-06-30T15:00:53+00:00</dc:date>
</item>
<item rdf:about="http://hilary.e-fever.org/?p=240">
	<title>Hilary: OpenWRT with Buffalo WBR2-G54</title>
	<link>http://hilary.e-fever.org/?p=240</link>
	<content:encoded>I have brought this wireless router for long time ago. But their firmware is not good. When I do BT with lots of connections. Sometimes it will uses up its resources and don&amp;#8217;t allow more new tcp connections. It needs to restat the router.
Once I discovered OpenWRT has compatible with this router. I upgraded it [...]</content:encoded>
	<dc:date>2008-06-29T09:58:02+00:00</dc:date>
</item>
<item rdf:about="tag:josephwu@ust.hk,2008-06-27:/GNU_slash_Linux/?permalink=Sed-script-to-remove-Chinese-and-English-punctuations.html">
	<title>Joseph Wu: Sed script to remove Chinese and English punctuations.</title>
	<link>http://ihome.ust.hk/blogs/home/josephwu/GNU_slash_Linux/?permalink=Sed-script-to-remove-Chinese-and-English-punctuations.html</link>
	<content:encoded>&lt;p&gt;用 sed 去除中文和英文的标点符号。&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;# A sed script to remove all Chinese and English punctuations.&lt;br /&gt;# Coded by WU,Zhaojun in 06/28/2008.&lt;br /&gt;# Tested on GNU Sed version 4.1.5.&lt;br /&gt;#&lt;br /&gt;# Usage: &lt;br /&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ sed -f remove-punct.sed input-file&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;# Remove Chinese punctuations&lt;br /&gt;s/[。，；：？！&amp;hellip;&amp;hellip;&amp;mdash;～〔〕《》&amp;lsquo;&amp;rsquo;&amp;ldquo;&amp;rdquo;［］｛｝、]//g&lt;br /&gt;# Remove English punctuations&lt;br /&gt;s/[,.?!:;~()&amp;lt;&amp;gt;'&amp;quot;\{\}\-]//g&lt;br /&gt;s/\[//g&lt;br /&gt;s/\]//g&lt;/pre&gt;</content:encoded>
	<dc:date>2008-06-26T16:33:01+00:00</dc:date>
</item>
<item rdf:about="http://www.akbkhome.com/blog.php/View/168/Roojs1__working__needs_some_help_compressor__better_than_ExtJS.html">
	<title>Alan Knowles: Roojs1 - working - needs some help,  compressor - better than ExtJS</title>
	<link>http://www.akbkhome.com/blog.php/View/168/Roojs1__working__needs_some_help_compressor__better_than_ExtJS.html</link>
	<content:encoded>&lt;h3&gt;CSS hackers needed.&lt;/h3&gt;&lt;br /&gt;Yes, the first test version of roojs1 is built and working you can have a look here to see the old ExtJS1 examples (which where sourced from a 0.40 release licenced under a BSD licence)&lt;br /&gt;&lt;a href=&quot;http://www.akbkhome.com/roojs1/examples&quot;&gt;http://www.akbkhome.com/roojs1/examples&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Warning this may break occasionally as I do daily builds of the library &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Most of the main layout, windows, grid and tree work pretty well, but there are some problems with toolbars, menus and forms. Basically I could not find complete licence free sources for any of them. So if you know anyone who can create CSS for the missing parts (and can illustrate reasonably well that it was not based on the original ExtJS CSS) send them over this way. That will help RooJS2 as well, as the CSS is probably pretty similar.&lt;br /&gt;&lt;br /&gt;Have a look at &lt;a href=&quot;http://www.akbkhome.com/roojs1/css/roojs-debug.css&quot;&gt;http://www.akbkhome.com/roojs1/css/roojs-debug.css&lt;/a&gt; for details on the status of the css build..&lt;br /&gt;&lt;br /&gt;A big leap forward in building a truely free high quality JS UI toolkit.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Anyway onto my geeking techo fun.&lt;/span&gt;&lt;br /&gt;&lt;h3&gt;Rooscript compressor&lt;/h3&gt;&lt;br /&gt;As part of the whole build toolkit, I've ported the yui compressor to rooscript (the dmdscript based Javascript interpreter), The results are pretty good.&lt;br /&gt;&lt;br /&gt;The current output from the compressor is 8K less that the ~497K that ExtJS 1.1.1 files are (built I presume using yui compressor).  Along with this, it's pretty easy to tweak, and remove Files and add your own application (eg. create an all in one  javascript file for your application)&lt;br /&gt;&lt;br /&gt;Speedwise I've been trying to get the compressor to go faster (It normally caches the minification result to a file and can do a 'reparse' in arround 2 seconds, but for a fresh build it takes about 6 minutes to parse all the ~100 files in Roojs1&lt;br /&gt;&lt;br /&gt;In the process of speeding it up, I've added a few switches to rooscript&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;-p for a very simple profiler (gives you the total time taken for all the opcodes exculuding call/new etc. in each function) along with how many times they where called. &lt;/li&gt;&lt;li&gt;-U to turn on Unicode for strings, as I've disabled it by default, although I'm not that sure now, that it produced the speed hit that I thought it might. ** mostly affect things like &lt;span&gt;xx.indexOf(&amp;quot;\n&amp;quot;)&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;-d (to show all the opcodes as they run) - old but handy sometimes...&lt;/li&gt;&lt;/ul&gt;The code is reasonably simple, so If you have any great ideas on how to improve compression, it's extremely easy to test how well they work. (rather than the usual compile/run cycle that all the Java versions have)&lt;br /&gt;&lt;br /&gt;In looking at the resulting code, one simple opmization that I've started adding to RooJs is changing the constructor code in the object from Roo.data.Connection.superclass.constructor.call(this,....) to Roo.superC(this,....) and Roo.data.Connection.superclass.somemethod.call(this,....) to Roo.superM('somemethod', this,.....)&lt;br /&gt;&lt;br /&gt;I'm guessing that's could be ~ 2K of rather wastefull code removed..&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Basically since the compressor is working now, I'm going to re-look at the Docs, and sort out the bug's in those - probably replacing the scoping code in jsdoctoolkit, with something closer to the ported yui compresser version.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</content:encoded>
	<dc:date>2008-06-18T15:23:00+00:00</dc:date>
</item>
<item rdf:about="http://www.akbkhome.com/blog.php/View/167/HK_Government_Incompetence_or_just_plain_stupidity.html">
	<title>Alan Knowles: HK Government Incompetence or just plain stupidity</title>
	<link>http://www.akbkhome.com/blog.php/View/167/HK_Government_Incompetence_or_just_plain_stupidity.html</link>
	<content:encoded>&lt;div&gt;
   &lt;p&gt;A friend of mine received a letter the other day from the Hong Kong Inland Revenue Department (IRD), It was addressed to her company, and cc'ed to Her (at the bottom of the letter). The letter was titled &amp;quot;&lt;span&gt;Notice For Recovery of Tax Under Section 76(1) of the Inland Revenue Ordinance.&amp;quot;&lt;/span&gt;&lt;/p&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;p&gt;Her first reaction was &amp;quot;This must be some kind of mistake&amp;quot;, I'm not a boss/owner of this company, I guess they must be sending it out to all the employees.&lt;/p&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;p&gt;Anyway, to help her out, I thought I'd phone up the IRD to find out why this letter arrived. It did not take long on the phone to realized that this letter was actually meant for her. So we did a little more reading of the letter. It turns out that it was a demand notice for.... wait for it....&lt;/p&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;p&gt;&amp;quot;&lt;span&gt;Notice 1&amp;quot; for Final Assessment for the year &lt;span&gt;1993-1994 &lt;/span&gt; in the sum of HK$309 &lt;/span&gt;(that's about US$40 or 20GBP)&lt;/p&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;p&gt;To be honest I thought this was hilarious.. they had waited nearly &lt;span&gt;15 years &lt;/span&gt;to send out a first reminder to pay the amazing sum of HK$309..   Got to be one of the best examples of real government incompetence I've seen in a long while.. &lt;/p&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;p&gt;While it's not a huge issue in terms of finding the money (raid the piggy bank), I though it raised quite a few questions, some rather serious.&lt;/p&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;p&gt;
   &lt;/p&gt;&lt;p&gt;1) Why address demand letters to employers rather than employees?&lt;/p&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;p&gt;2) Is this not over 6 years (the standard for Statue of limitations - or Hong Kong's equivalent legislation)&lt;/p&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;p&gt;3) How are you supposed to challenge this? - I sent a cheque in 1993, it was cashed, you should have the payment? - nope, no human (except the IRD it seems) keeps records that long.&lt;/p&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;p&gt;4) What if it had been a larger amount? one day you where happy with nice savings, looking to buy a house. Next you are wacked &lt;span lang=&quot;en-US&quot;&gt;from nowhere &lt;/span&gt;and close to bankrupt with a huge bill from IRD, that you never knew about?&lt;/p&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;p&gt;5) How many of these bills are there? - are all Hong Kongers going to be paying back-taxes for issues over 10 years ago? Will you get one every year?&lt;/p&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;p&gt;6) Is this some kind of computer glitch? &lt;/p&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;p&gt;7) Was someone pocketing the cash that long ago? and the system has only just been picking it up? Is there some kind of Superman fraud going on here....?&lt;br /&gt;&lt;/p&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;p&gt;8) How on earth could they justify this? My friend has been paying tax every year for the last 15 years, so it's not like they did not have her address..&lt;/p&gt;&lt;p&gt;Oh well back to trusting our intelligent overlords..&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
  &lt;/div&gt;</content:encoded>
	<dc:date>2008-06-18T10:15:00+00:00</dc:date>
</item>
<item rdf:about="http://edin.no-ip.com/94 at http://edin.no-ip.com">
	<title>Edison Wong: Bacula backup with GZIP compress ON</title>
	<link>http://edin.no-ip.com/content/bacula-backup-with-gzip-compress-on</link>
	<content:encoded>&lt;p&gt;Backup usually require for a lot of storage space, and so we always hope to preform some compression. Default style of Bacula on Debian is coming &quot;without&quot; compression, which means all txt/bmp/wav files will store as original size. You can configure Bacula director to use GZIP during backup, and the compression will preform in File Daemon (FD, which means your backup client) locally before send to Storage Daemon (SD) though network, which means it will also save some of your bandwidth usage. But for sure, it trade some performance for the benefits.&lt;/p&gt;
&lt;p&gt;To configure Bacula director to use GZIP compression is quite simple: within the director configuration file (&lt;code&gt;/etc/bacula/bacula-dir.conf&lt;/code&gt;), just add the line &lt;code&gt;compression = GZIP&lt;/code&gt; under your &lt;code&gt;FileSet -&amp;gt;Include -&amp;gt; Options&lt;/code&gt; section, e.g.:&lt;br /&gt;
&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;FileSet {&lt;br /&gt;&amp;nbsp; Name = &amp;quot;Full Set&amp;quot;&lt;br /&gt;&amp;nbsp; Include {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Options {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; signature = MD5&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compression = GZIP&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; File = /etc&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; File = /home&lt;br /&gt;}&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Before software compression option on, your log report should have line as below:&lt;br /&gt;
&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;Software Compression:&amp;nbsp;&amp;nbsp; None&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Restart all of your Bacula daemons, and preform a full backup if possible. Now you may see the difference within the log report with line similar as:&lt;br /&gt;
&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;Software Compression:&amp;nbsp;&amp;nbsp; 34.0 %&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;So that's it :-)&lt;/p&gt;</content:encoded>
	<dc:date>2008-06-16T02:51:28+00:00</dc:date>
</item>
<item rdf:about="http://www.real-blog.com/%e7%b2%be%e6%98%8e%e6%b6%88%e8%b2%bb-%e7%90%86%e8%b2%a1/511">
	<title>Sam Tang: 趁低吸納</title>
	<link>http://www.real-blog.com/%e7%b2%be%e6%98%8e%e6%b6%88%e8%b2%bb-%e7%90%86%e8%b2%a1/511</link>
	<content:encoded>&lt;p&gt;昨天在跌了一千點時買了港交所及中人壽，雖然今天大市還是繼續下跌，但還是十分滿足，因為可以用一個合理的價格買到自己喜愛的股票，而且我只是一個普通人，不能預知將來股價的起跌，只要能執行一早訂下的策略便可以了。而今天是月供股票的交易日，看過上午 10:15 時各月供股票的價位，入市價應該不俗， 詳細價格要過兩天收到交易通知書才知道。
&lt;/p&gt;</content:encoded>
	<dc:date>2008-06-11T11:18:33+00:00</dc:date>
</item>
<item rdf:about="http://www.akbkhome.com/blog.php/View/166/RooScript_and_RooJS_v1_building.html">
	<title>Alan Knowles: RooScript and RooJS v1 building</title>
	<link>http://www.akbkhome.com/blog.php/View/166/RooScript_and_RooJS_v1_building.html</link>
	<content:encoded>&lt;div&gt;
   &lt;p&gt;As I mentioned before, I've been busy getting the Ext Fork usable. still not quite there, but it's beginning to take shape.&lt;/p&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;h3&gt;RooScript&lt;/h3&gt;
   &lt;p&gt;The fork I did of dmdscript (initially for gtk bindings) is being used as the core for all the build tools I'm working on for RooJS, so I though in honour of it's main use, I'll rename it rooscript (as it's a lot easier to google for than gtkDjs or whatever I came up with before..)&lt;/p&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;p&gt;So here's a quick howto for building and testing the kit so far.&lt;/p&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;h3&gt;Rooscript building&lt;/h3&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;p&gt;First install gdc and subversion (I prefer it to dmd, as it's easier and quicker to set up and use)&lt;/p&gt;
   &lt;pre&gt;#apt-get install gdc &lt;/pre&gt;
   &lt;pre&gt;&lt;span lang=&quot;en-US&quot;&gt;#apt-get install subversion&lt;/span&gt;&lt;/pre&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;p&gt;decide where you want your code checked out to.&lt;/p&gt;
   &lt;pre&gt;#cd /usr/src &lt;/pre&gt;
   &lt;pre&gt;#svn co &lt;a href=&quot;http://www.akbkhome.com/svn/rooscript&quot;&gt;http://www.akbkhome.com/svn/rooscript&lt;/a&gt;&lt;/pre&gt;
   &lt;pre&gt;#cd rooscript&lt;/pre&gt;
   &lt;pre&gt;#sh roo.lite.gdc.sh&lt;/pre&gt;
   &lt;p&gt;you should hopefully now have /usr/bin/roolite &lt;/p&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;p&gt;
   &lt;/p&gt;&lt;p&gt;
   &lt;/p&gt;&lt;h3&gt;&lt;span lang=&quot;en-US&quot;&gt;getting roojs1&lt;/span&gt;&lt;/h3&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;pre&gt;#cd /usr/src&lt;/pre&gt;
   &lt;pre&gt;&lt;span lang=&quot;en-US&quot;&gt;#svn co &lt;a href=&quot;http://www.akbkhome.com/svn/roojs1&quot;&gt;http://www.akbkhome.com/svn/roojs1&lt;/a&gt;&lt;/span&gt;&lt;/pre&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;h3&gt;&lt;span lang=&quot;en-US&quot;&gt;building the docs&lt;/span&gt;&lt;/h3&gt;The code is based on jsdoctoolkit, and modified to make better sense of RooJS's code. I did look at the Ext version of it, but they had used what looked like and older version of the jsdoctoolkit, so I just took some of the ideas from it.&lt;br /&gt;&lt;br /&gt;You can see a preview of the &lt;a href=&quot;http://www.akbkhome.com/roojs1.docs/&quot;&gt;current roojs1 docs here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;pre&gt;&lt;span lang=&quot;en-US&quot;&gt;#cd roojs1&lt;/span&gt;&lt;/pre&gt;
   
   
   
   &lt;pre&gt;&lt;span lang=&quot;en-US&quot;&gt;#roolite   ../rooscript/examples/jstoolkit2/run.js \&lt;br /&gt; -- Array.js  Date.js  Function.js  Number.js  Roo.js String.js \&lt;br /&gt; -r Roo -t=../rooscript/examples/jstoolkit2/templates/jsdoc/ \&lt;br /&gt; -d=docs/&lt;/span&gt;&lt;/pre&gt;
   &lt;p dir=&quot;ltr&quot;&gt;
   &lt;/p&gt;&lt;h3&gt;&lt;span lang=&quot;en-US&quot;&gt;building the js code (still under testing)  &lt;/span&gt;&lt;/h3&gt;
   &lt;p&gt;
   &lt;/p&gt;&lt;pre&gt;&lt;span lang=&quot;en-US&quot;&gt;#roolite   buildSDK/bundle_build.js  -L../rooscript/examples/jstoolkit2  &lt;/span&gt;&lt;/pre&gt;
   &lt;p dir=&quot;ltr&quot;&gt;
   &lt;/p&gt;&lt;h3&gt;&lt;span lang=&quot;en-US&quot;&gt;Ok, where is the project now.&lt;/span&gt;&lt;/h3&gt;
   &lt;p dir=&quot;ltr&quot;&gt;
   &lt;/p&gt;&lt;ul&gt;&lt;li dir=&quot;ltr&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;	CSS/images have been recovered from an BSD licenced yui-ext-0.40 snapshot from here&lt;br /&gt;http://demo.xteconline.com/system/js/builds/yui-ext.0.40.alpha1/&lt;br /&gt;Most of the changes for 1.0.0 are just renaming the prefixes &lt;/span&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;	The doc build is close, although still needs tweaking and checking&lt;/span&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;	The code builder is basic, (no variable replacement), but we do strip down close to dojo's hack to rhino, and I'm looking at yui's compresser for ideas on the variable stuff which should be quite simple.&lt;/span&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;	The css compresser has been ported to Javascript/rooscript, and should work, although I've not tested it yet..&lt;/span&gt;&lt;/li&gt;&lt;li dir=&quot;ltr&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;	I'm pretty close to testing it by replacing the doc's backend to use Roo, rather than Ext.1.1.1&lt;/span&gt;    &lt;/li&gt;&lt;/ul&gt;
  &lt;/div&gt;</content:encoded>
	<dc:date>2008-06-11T08:11:00+00:00</dc:date>
</item>
<item rdf:about="http://me.abelcheung.org/2008/06/10/%e8%a2%ab-snort-%e6%95%b4%e8%a0%b1%e4%ba%86/">
	<title>狗爺語錄: 被 snort 整蠱了</title>
	<link>http://me.abelcheung.org/2008/06/10/%e8%a2%ab-snort-%e6%95%b4%e8%a0%b1%e4%ba%86/</link>
	<content:encoded>&lt;p&gt;因為有些東西想測試，早幾天在自己的伺服器裝了 &lt;a target=&quot;_blank&quot; href=&quot;http://www.snort.org/&quot;&gt;snort&lt;/a&gt;，結果卻是被它玩了一頓。昨天看看 snort 寄給我的 mail，有大量 robots.txt access：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
 # of  from             to               method
=========================================================================
   xx  xxx.xxx.xxx.xxx   202.134.73.141   WEB-MISC robots.txt access
   xx  xxx.xxx.xxx.xxx   202.134.73.141   WEB-MISC robots.txt access
......
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;OK, 讀 robots.txt 是很正常的一回事，很清楚那是 false alarm，但前幾天的 log 都有兩個不尋常的項目：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
 # of  from             to               method
=========================================================================
   xx  &lt;font color=&quot;red&quot;&gt;xxx.xxx.xxx.xxx&lt;/font&gt;  202.134.73.141   WEB-PHP Mambo upload.php access
   xx  &lt;font color=&quot;red&quot;&gt;xxx.xxx.xxx.xxx&lt;/font&gt;  202.134.73.141   WEB-PHP IGeneric Free Shopping Cart page.php access
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;不單止數目都很高，最要命的是：全部都是我家中的 IP 地址發出的？因為 ISP 的緣故，家中的 IP 每天會改至少一次，但 log 裏的 IP address 和日期全部吻合！那時心就慌了，會不會是我的電腦被種了木馬而自己不知道？特別是近幾天都在用 &lt;a target=&quot;_blank&quot; href=&quot;http://www.flock.com/&quot;&gt;flock&lt;/a&gt;，不會是被人借 flock 入侵吧？想想不對頭，立即將 flock 關掉。(現在想來，自己也覺自己可笑)&lt;/p&gt;
&lt;p&gt;之後再看，還有更令我膽顫心驚的：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
 # of  from             to               method
=========================================================================
   xx  &lt;font color=&quot;red&quot;&gt;xxx.xxx.xxx.xxx&lt;/font&gt;  202.134.73.141   MISC rsyncd overflow attempt
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;令我嚇壞的是，剛好我在那一天用過 rsync。其它日子沒有用過 rsync，也沒有這一句。第一個念頭：我的電腦被種了 keylogger，所以我用過甚麼服務全被人知道了？所有戶口的密碼怎麼辦？完了。&lt;/p&gt;
&lt;p&gt;過一會後，再定下心神，想想有沒有別的可能性。抱着最後一絲希望，去看看這些警告代表甚麼意思。在 &lt;a target=&quot;_blank&quot; href=&quot;http://cvs.snort.org/viewcvs.cgi/snort/rules/web-php.rules&quot;&gt;有關的 snort 規則中&lt;/a&gt;的全文是：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;br /&gt;
alert tcp $EXTERNAL_NET any -&gt; $HTTP_SERVERS $HTTP_PORTS (msg:&quot;WEB-PHP Mambo upload.php access&quot;; flow:to_server,established; &lt;font color=&quot;red&quot;&gt;uricontent:&amp;#8221;/upload.php&amp;#8221;;&lt;/font&gt; reference:bugtraq,6572; classtype:web-application-activity; sid:2077; rev:2;)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;alert tcp $EXTERNAL_NET any -&gt; $HTTP_SERVERS $HTTP_PORTS (msg:&quot;WEB-PHP IGeneric Free Shopping Cart page.php access&quot;; flow:to_server,established; &lt;font color=&quot;red&quot;&gt;uricontent:&amp;#8221;/page.php&amp;#8221;; nocase;&lt;/font&gt; reference:bugtraq,9773; classtype:web-application-activity; sid:2410; rev:2;)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;妖～!&lt;/span&gt;果然全部是 false alarm。上面設定的意思是，只要詢問 web server 的 URL 中含有 &amp;#8220;/page.php&amp;#8221; 或 &amp;#8220;/upload.php&amp;#8221;，就會發出警報。這算甚麼？這世界上有 page.php 或 upload.php 的軟件何其多！恐怕 snort 還有不少這類漁翁撒網的規則吧。&lt;/p&gt;
&lt;p&gt;而且 email 中完全不會提任何事件有多嚴重，不會分辨甚麼是 activity、甚麼是 attack，而且將 robots.txt 歸在比 IIS unicode attack 還重要的分類…… 我不知道預設用這種爛設定是為了讓商業軟件有生存空間，還是為了要提醒人必須更改設定以適合自己的需要，但這種爛設定真是會嚇壞新手的。不論如何，這幾句立即就被我用 suppress 去掉了：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
suppress gen_id 1, sig_id 1852
suppress gen_id 1, sig_id 2077
suppress gen_id 1, sig_id 2410
&lt;/code&gt;&lt;/pre&gt;</content:encoded>
	<dc:date>2008-06-09T23:48:22+00:00</dc:date>
</item>
<item rdf:about="tag:blogger.com,1999:blog-8534016676139857894.post-8753901157313707190">
	<title>Vern: Linux 下最好的围棋软件 glGo</title>
	<link>http://s5unty.blogspot.com/2008/06/linux-glgo.html</link>
	<content:encoded>主页 http://www.pandanet.co.jp/English/glgo/download.html&lt;br /&gt;&lt;br /&gt;Debian 下的围棋软件我试了源里面自带的 quarry 和 qgo，不过它们各自都有很大的缺点，quarry 不支持 IGS，qgo 的对弈续盘功能作的似乎有问题: 当你想加载上次未和 gnugo 下完的对局继续战斗时，你会发现 gnugo 有点失常 ── 不走棋、瞎走棋、甚至直接认输。&lt;br /&gt;&lt;br /&gt;由于 glGo 的版权问题(开发者保留版权)，不能直接从源安装。到其主页下载预编译好的二进制包，它的 DEB 包在我的 etch 上直接 dpkg 安装没有遇到任何依赖关系问题，装好以后分别把这些 sdl 库再装上，这样就 ok 了:&lt;br /&gt;libsdl-image1.2&lt;br /&gt;libsdl-mixer1.2&lt;br /&gt;libsdl-sound1.2&lt;br /&gt;libsdl-ttf2.0-0&lt;br /&gt;libsdl1.2debian-all&lt;br /&gt;&lt;br /&gt;很欣赏它的 3D 效果(显卡驱动很重要)，截图一张:&lt;br /&gt;&lt;a href=&quot;http://bp2.blogger.com/_oKL9t7fM3TU/SE0p5hltARI/AAAAAAAAAas/YBLHHGy4rr0/s1600-h/glGo.png&quot;&gt;&lt;img src=&quot;http://bp2.blogger.com/_oKL9t7fM3TU/SE0p5hltARI/AAAAAAAAAas/YBLHHGy4rr0/s400/glGo.png&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5209866412183322898&quot; /&gt;&lt;/a&gt;</content:encoded>
	<dc:date>2008-06-09T21:17:17+00:00</dc:date>
</item>
<item rdf:about="tag:blogger.com,1999:blog-8534016676139857894.post-6106179352956960214">
	<title>Vern: 无题</title>
	<link>http://s5unty.blogspot.com/2008/06/blog-post_08.html</link>
	<content:encoded>1. Remember the Human -- 记住人的存在&lt;br /&gt; 2. Don't abuse your power -- 不要滥用权利&lt;br /&gt; 3. Share expert knowledge -- 分享你的知识&lt;br /&gt; 4. Respect other people's privacy -- 尊重他人的隐私&lt;br /&gt; 5. Make yourself look good online -- 给自己网上留个好印象&lt;br /&gt; 6. Know where you are in cyberspace -- 入乡随俗&lt;br /&gt; 7. Help keep flame wars under control -- 平心静气地争论&lt;br /&gt; 8. Be forgiving of other people's mistakes -- 宽容&lt;br /&gt; 9. Respect other people's time and bandwidth -- 尊重别人的时间和带宽&lt;br /&gt;10. Adhere to the same standards of behavior online that you follow in real life -- 网上网下行为一致</content:encoded>
	<dc:date>2008-06-08T22:11:42+00:00</dc:date>
</item>
<item rdf:about="http://www.debian.org.hk/15141 at http://www.debian.org.hk">
	<title>tshuyang: 永遠的家園圭峰山</title>
	<link>http://www.debian.org.hk/blog-entry-73</link>
	<content:encoded>&lt;p&gt;它就像一個美麗的童話吸引著你，令你感到無比驚喜且萬分感恩，在這寧靜的小城附近，竟然有著一座你神往已久的大山──圭峰山。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.debian.org.hk/blog-entry-73&quot;&gt;閱讀全文&lt;/a&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2008-06-06T07:32:06+00:00</dc:date>
</item>
<item rdf:about="tag:blogger.com,1999:blog-8534016676139857894.post-1423649900387965451">
	<title>Vern: 成都人的黑色幽默</title>
	<link>http://s5unty.blogspot.com/2008/06/blog-post.html</link>
	<content:encoded>四川人的幽默感，全国有名。在汶川大地震中也不忘忙里偷闲、险中作乐。灾区传出的许多笑话和幽默段子，就像四川特产&amp;quot;怪味豆&amp;quot;，体现了四川娃儿、四川妹子的乐观信念，也能让人品出五味俱全。&lt;p&gt;地震时&lt;br /&gt;　　地震时，我正巧骑车路过天府广场人民南路，突然看到毛主席在向我招手！吓得我差点撞到汽车，捏住闸才知道地震了。&lt;br /&gt;　　地震时，我们四川大学这个班正在上课，学生站起来要往外跑，老教授喊：莫慌，都坐下来，我点名，点一个出去一个......&lt;br /&gt;　　地震时，我正在打电话，很镇静地告诉电话那头的朋友：&amp;quot;地震了&amp;quot;；朋友很镇静地告诉我：&amp;quot;我这里也在震，那就挂了嘛！&amp;quot;&lt;br /&gt;　　地震时，我有个朋友正在上课，人家都往下跑她往上跑，问她为啥子，她说等下垮了埋高点，容易救！&lt;br /&gt;　　地震时，跑到楼下，不少人聚集到这里。好一会，有个老太婆自己坐着轮椅出来了，嘴里骂骂咧咧：&amp;quot;太不仗义了，四个人打麻将，把我一个人留到房子里头，下次再是三缺一，偶也不去了！&amp;quot;&lt;br /&gt;　　地震时，突然房子摇晃起来，大家紧张地说&amp;quot;房子在摇&amp;quot;，我们办公室的一个大姐看看窗外，非常镇定地说：&amp;quot;没事，对面房子也在晃。&amp;quot;&lt;p&gt;余震&lt;br /&gt;　　比地震更可怕的是余震；&lt;br /&gt;　　比余震更可怕的是预报余震；&lt;br /&gt;　　比预报余震更可怕的是预报了余震却一直不震！&lt;p&gt;灾区某官给上级汇报&lt;br /&gt;　　本地救灾：通讯基本靠吼，寻人基本靠狗，挖掘基本靠手，交通基本靠走，钢筋基本没有。&lt;br /&gt;　　近期生活：震不死人晃死人，晃不死人吓死人，吓不死人困死人，困不死人累死人，累不死人跑死人，到最后，余震不来急死人！&lt;p&gt;震区对联&lt;br /&gt;　　上联：小震不用跑；&lt;br /&gt;　　下联：大震跑不了；&lt;br /&gt;　　横批：不跑&lt;p&gt;　　上联：早也跑晚也跑，一天到黑都在跑；&lt;br /&gt;　　下联：跑得脱跑不脱，看来要把命耍脱；&lt;br /&gt;　　横批：安心睡觉。&lt;p&gt;　　上联：灾区人民无房可住，在余震中等待吃喝；&lt;br /&gt;　　下联：成都人民有房不住，在吃喝中等待余震。&lt;p&gt;地震后遗症患者诊断指南&lt;br /&gt;　　原来打招呼问：&amp;quot;吃了没？去哪儿？&amp;quot;现在逢人就招呼：&amp;quot;今晚上睡哪儿？&amp;quot;&lt;br /&gt;　　原来关心别人住哪儿，现在关心别人住几楼；&lt;br /&gt;　　每次余震过后就拿放大镜观察自己的房子有没有裂缝；&lt;br /&gt;　　觉得二楼很高；&lt;br /&gt;　　不论到哪里都竖起一杆笔，或者在液晶显示屏上立个空水杯；&lt;br /&gt;　　与有抖腿习惯的同事关系急剧恶化；&lt;br /&gt;　　见不得哪个把手机开成震动；&lt;br /&gt;　　偶然自己抖一下腿都会把周围人吓个半死；&lt;br /&gt;　　空闲时候计算从自己楼上的家火速冲到空地上到底需要好多秒；&lt;br /&gt;　　把证件存折取款卡重要物品的包包随身背，睡觉都不离身，或者最多不离身一米；&lt;br /&gt;　　不停向别个求证：&amp;quot;刚才是不是晃了一家伙哇？&amp;quot;&lt;p&gt;震前震后人变样&lt;br /&gt;　　我老公在震后测算跑下六楼要多少时间，结果他冲下楼回头一看，全楼人全冲下来了，互相打听：&amp;quot;震得凶哇？&amp;quot;&lt;br /&gt;　　女朋友跟我出去，走到烧烤摊前说：先吃点烧烤，不然遭埋起了咋撑100多个小时嘛！&lt;br /&gt;　　我的一个男同事，地震过后第三天到发廊把头发剪成寸头。我问他怎么想起理发，他很惊讶我这么无知：头发剪短点，余震来了跑起来没有阻力嘛！&lt;p&gt;成都的形象广告词增补版&lt;br /&gt;　　成都，一座拒绝裸睡的城市。&lt;br /&gt;　　成都，一座洗手间备有瓶装水和巧克力的城市。&lt;br /&gt;　　成都，一座洗澡和入厕速度飞快的城市。&lt;br /&gt;　　成都，一座家家有倒立啤酒瓶当余震测试仪的城市。&lt;br /&gt;　　成都，一座人均帐篷拥有量全国第一的城市。&lt;p&gt;地震套餐&lt;br /&gt;　　地震过后成都狂风加暴雨，超恐怖，凌晨了还满街都是人，我旁边一个男生打电话给他朋友说：&amp;quot;妈的，还整个'地震套餐'哦，又是地震又是风雨的！&amp;quot;另一个小伙子更经典：&amp;quot;老天爷想得周到哦，杀完人还不忘清洗案发现场......&amp;quot;&lt;p&gt;给余震的一封信&lt;br /&gt;　　亲爱的余震哥哥，我们商量哈嘛：我们实在来不起咯，今晚上让我们歇口气嘛，让我们睡盘瞌睡嘛。你要耍明天再来嘛。&lt;br /&gt;　　哈，实际上，四川不好耍，真的嘞，你去那个火星嘛--那里安逸得很嘞......&lt;p&gt;麻将新规定&lt;br /&gt;　　不准打512；&lt;br /&gt;　　不准打血战到底；&lt;br /&gt;　　不准打刮风下雨；&lt;br /&gt;　　不准胡推倒胡......&lt;br /&gt;　　余震就像打麻将：如果半天没得啥子动静，就绝对是在做大的！&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2008-06-05T17:04:04+00:00</dc:date>
</item>
<item rdf:about="tag:blogger.com,1999:blog-8534016676139857894.post-170002211973851609">
	<title>Vern: 范伟的35条搞笑经典语录</title>
	<link>http://s5unty.blogspot.com/2008/06/35.html</link>
	<content:encoded>1、人跟人的差距咋就这么大呢！&lt;br /&gt;2、大哥，你要砸就砸我吧！&lt;br /&gt;3、这是病人与病人之间在探讨病情，你瞎掺和啥呀你！&lt;br /&gt;4、大哥，我真抽了！&lt;br /&gt;5、拐一年卖一年，缘分啊！吃一堑长一智，谢谢啊！横批是：自学成才！&lt;br /&gt;6、你这人怎么不按套路出牌？&lt;br /&gt;7、忽海无涯，回头是岸。&lt;br /&gt;8、小样我整不死你！&lt;br /&gt;9、一般人我不告诉他。&lt;br /&gt;10、忽悠，接着忽悠！&lt;br /&gt;11、苍天啊！大地啊！哪位天使大姐给我出的这口气啊！&lt;br /&gt;12、IC、IP、IQ卡，统统告诉我密码！&lt;br /&gt;13、等……等会儿……我……我要劫个色。&lt;br /&gt;14、你也不理我，我成狗不理了。&lt;br /&gt;15、啥也不说了，全在酒里边了。&lt;br /&gt;16、唉，就……就你觉得这个事儿有……有意思吗？&lt;br /&gt;17、弃勺从教。&lt;br /&gt;18、戴功立罪。&lt;br /&gt;19、这个人站的高度不同，看问题的角度就是不一样！&lt;br /&gt;20、愚昧，太愚昧，你老愚昧了！知道不？&lt;br /&gt;21、智商是什么东西，给……给我拿来！&lt;br /&gt;22、婚姻是人的第二次投胎，你老舅我就没投好！&lt;br /&gt;23、一生就看一个女人是不科学的，容易看出病来。&lt;br /&gt;24、有钱男子汉，没钱汉子难啊！&lt;br /&gt;25、这孩子太有心眼了，赶……赶紧打个倒骑驴。这孩子哪能干这小本生意，人家得干大生意！&lt;br /&gt;26、好歹我也是个戴眼镜的，怎么能干这事呢？&lt;br /&gt;27、得不到女同志的青睐，得到了都是伤害。&lt;br /&gt;28、我吃胡萝卜素，这老有营养了！刚才我不是没看见苹果吗？&lt;br /&gt;29、这活挺霸道的啊？&lt;br /&gt;30、论成败，人生豪迈，大……大不了……重头再……再来……&lt;br /&gt;31、要想生活过得去，不怕身上背点绿。横批：忍者神龟！&lt;br /&gt;32、是你爸大还是城市大啊？&lt;br /&gt;33、钱是王八蛋，没了再去赚！&lt;br /&gt;34、你们敬我一尺，我敬你们一丈，尊重他人人格，树立模范形象！&lt;br /&gt;35、高职不如高薪，高薪不如高寿，高寿不如高兴。</content:encoded>
	<dc:date>2008-06-05T16:31:28+00:00</dc:date>
</item>
<item rdf:about="http://me.abelcheung.org/2008/06/05/hk-%e6%98%af%e6%9c%80%e5%8d%b1%e9%9a%aa%e7%9a%84%e7%b6%b2%e5%9f%9f%ef%bc%9f/">
	<title>狗爺語錄: .hk 是最危險的網域？</title>
	<link>http://me.abelcheung.org/2008/06/05/hk-%e6%98%af%e6%9c%80%e5%8d%b1%e9%9a%aa%e7%9a%84%e7%b6%b2%e5%9f%9f%ef%bc%9f/</link>
	<content:encoded>&lt;p&gt;有點諷刺，.hk 竟然是&lt;a target=&quot;_blank&quot; href=&quot;http://news.yahoo.com/s/ap/20080604/ap_on_hi_te/tec_dangerous_domains&quot;&gt;全世界最危險的網域&lt;/a&gt;，比大陸、俄羅斯或者羅馬尼亞等等還要厲害。姑勿論大陸的數字是否準確（幾乎肯定不準），但至少別的國家不會有網絡長城，數字應當是比較準的。&lt;/p&gt;
&lt;p&gt;不過再想一下，其實是很正常的。香港人用甚麼態度對待保安問題，有目共睹。Foxy? 媒體炒作的好對象，千夫所指，但有誰會花半秒想想自己？因為是政府才那麼多報紙雜誌攻擊而已，同樣的事，各大小辦公室 + 學校每天不知多少宗，不是依舊一樣？有病毒？有人入侵電腦？電腦還能動呀，管它那麼多？等 hang 機才算吧，反正到時 reboot 便沒事了。偷資料？我看不見，我看不見。認識的人中，有不少都是這樣，直到最後連我自己都一起緊貼社會潮流了。So fashionable.&lt;/p&gt;
&lt;p&gt;完全不是如文中所說，因為網域登記公司監管不力，致使網站充滿惡意 ActiveX, JavaScript, worms 等一大堆問題。雖然是流氓公司，但這類問題，那班只會等收錢的人是管不着的。&lt;/p&gt;</content:encoded>
	<dc:date>2008-06-05T15:51:16+00:00</dc:date>
</item>
<item rdf:about="tag:blogger.com,1999:blog-8534016676139857894.post-8010663249095357908">
	<title>Vern: unless otherwise</title>
	<link>http://s5unty.blogspot.com/2008/06/unless-otherwise.html</link>
	<content:encoded>You may smoke unless otherwise instructed.&lt;br /&gt;You may smoke unless instructed not to smoke.&lt;p&gt;You can smoke &amp;quot;unless otherwise told&amp;quot;/&amp;quot;unless told not to smoke.&amp;quot;&lt;br /&gt;then :&lt;br /&gt;Unless &amp;quot;otherwise&amp;quot; = the opposite of &amp;quot;You can smoke&amp;quot;&lt;/p&gt;</content:encoded>
	<dc:date>2008-06-05T13:43:03+00:00</dc:date>
</item>
<item rdf:about="tag:blogger.com,1999:blog-8534016676139857894.post-1065504833528104694">
	<title>Vern: List of Web Application Frameworks</title>
	<link>http://s5unty.blogspot.com/2008/06/list-of-web-application-frameworks.html</link>
	<content:encoded>&lt;table id=&quot;collapsibleTable0&quot; class=&quot;nowraplinks collapsible autocollapse&quot; cellspacing=&quot;0&quot;&gt; &lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;navbox-group&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/ASP.NET&quot; title=&quot;ASP.NET&quot;&gt;ASP.NET&lt;/a&gt;&lt;/td&gt; &lt;td class=&quot;navbox-list navbox-odd&quot;&gt; &lt;div&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/ASP.NET_MVC_Framework&quot; title=&quot;ASP.NET MVC Framework&quot;&gt;ASP.NET MVC Framework&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Base_One_Foundation_Component_Library&quot; title=&quot;Base One Foundation Component Library&quot;&gt;BFC&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/DotNetNuke&quot; title=&quot;DotNetNuke&quot;&gt;DotNetNuke&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Monorail_%28.Net%29&quot; title=&quot;Monorail (.Net)&quot;&gt;MonoRail&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Umbraco&quot; title=&quot;Umbraco&quot;&gt;Umbraco&lt;/a&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class=&quot;navbox-group&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Adobe_ColdFusion&quot; class=&quot;mw-redirect&quot; title=&quot;Adobe ColdFusion&quot;&gt;ColdFusion&lt;/a&gt;&lt;/td&gt; &lt;td class=&quot;navbox-list navbox-even&quot;&gt; &lt;div&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/ColdSpring_Framework&quot; title=&quot;ColdSpring Framework&quot;&gt;ColdSpring&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Fusebox_%28programming%29&quot; title=&quot;Fusebox (programming)&quot;&gt;Fusebox&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Mach-II&quot; title=&quot;Mach-II&quot;&gt;Mach-II&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Model-Glue&quot; title=&quot;Model-Glue&quot;&gt;Model-Glue&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/OnTap&quot; title=&quot;OnTap&quot;&gt;onTap&lt;/a&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class=&quot;navbox-group&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Java_%28programming_language%29&quot; title=&quot;Java (programming language)&quot;&gt;Java&lt;/a&gt;&lt;/td&gt; &lt;td class=&quot;navbox-list navbox-odd&quot;&gt; &lt;div&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Apache_Cocoon&quot; title=&quot;Apache Cocoon&quot;&gt;Apache Cocoon&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Apache_Struts&quot; title=&quot;Apache Struts&quot;&gt;Apache Struts&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/AppFuse&quot; title=&quot;AppFuse&quot;&gt;AppFuse&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Aranea_framework&quot; title=&quot;Aranea framework&quot;&gt;Aranea framework&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Click_Framework&quot; title=&quot;Click Framework&quot;&gt;Click Framework&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Cooee_framework&quot; title=&quot;Cooee framework&quot;&gt;Cooee framework&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Flexive&quot; title=&quot;Flexive&quot;&gt;framework.fleXive&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Google_Web_Toolkit&quot; title=&quot;Google Web Toolkit&quot;&gt;Google Web Toolkit&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Grails_%28Framework%29&quot; title=&quot;Grails (Framework)&quot;&gt;Grails&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Hamlets&quot; title=&quot;Hamlets&quot;&gt;Hamlets&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/IT_Mill_Toolkit&quot; title=&quot;IT Mill Toolkit&quot;&gt;IT Mill Toolkit&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/ItsNat&quot; title=&quot;ItsNat&quot;&gt;ItsNat&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/JavaServer_Faces&quot; title=&quot;JavaServer Faces&quot;&gt;JavaServer Faces&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/JBoss_Seam&quot; title=&quot;JBoss Seam&quot;&gt;JBoss Seam&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Makumba_%28framework%29&quot; title=&quot;Makumba (framework)&quot;&gt;Makumba&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Mentawai_Web_Framework&quot; title=&quot;Mentawai Web Framework&quot;&gt;Mentawai&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Oracle_ADF&quot; class=&quot;mw-redirect&quot; title=&quot;Oracle ADF&quot;&gt;Oracle ADF&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/OpenLaszlo&quot; title=&quot;OpenLaszlo&quot;&gt;OpenLaszlo&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/OpenXava&quot; title=&quot;OpenXava&quot;&gt;OpenXava&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Reasonable_Server_Faces&quot; title=&quot;Reasonable Server Faces&quot;&gt;Reasonable Server Faces (RSF)&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Restlet&quot; title=&quot;Restlet&quot;&gt;Restlet&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/RIFE&quot; title=&quot;RIFE&quot;&gt;RIFE&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Shale_Framework_%28software%29&quot; title=&quot;Shale Framework (software)&quot;&gt;Shale Framework&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/SmartClient&quot; title=&quot;SmartClient&quot;&gt;SmartClient&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Spring_Framework&quot; title=&quot;Spring Framework&quot;&gt;Spring Framework&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Stripes_%28framework%29&quot; title=&quot;Stripes (framework)&quot;&gt;Stripes&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Tapestry_%28programming%29&quot; title=&quot;Tapestry (programming)&quot;&gt;Tapestry&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/ThinWire&quot; title=&quot;ThinWire&quot;&gt;ThinWire&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/WebObjects&quot; title=&quot;WebObjects&quot;&gt;WebObjects&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/WebWork&quot; title=&quot;WebWork&quot;&gt;WebWork&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Wicket_framework&quot; class=&quot;mw-redirect&quot; title=&quot;Wicket framework&quot;&gt;Wicket framework&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/XTT_Framework&quot; title=&quot;XTT Framework&quot;&gt;XTT Framework&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/ZK_Framework&quot; title=&quot;ZK Framework&quot;&gt;ZK Framework&lt;/a&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class=&quot;navbox-group&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Client-side_JavaScript&quot; title=&quot;Client-side JavaScript&quot;&gt;Client-side&lt;/a&gt;&lt;/td&gt; &lt;td class=&quot;navbox-list navbox-even&quot;&gt; &lt;div&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/AJILE&quot; title=&quot;AJILE&quot;&gt;AJILE&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Clean_AJAX&quot; title=&quot;Clean AJAX&quot;&gt;Clean AJAX&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Dojo_Toolkit&quot; title=&quot;Dojo Toolkit&quot;&gt;Dojo Toolkit&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Echo_%28framework%29&quot; title=&quot;Echo (framework)&quot;&gt;Echo&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Ext_%28javascript_library%29&quot; title=&quot;Ext (javascript library)&quot;&gt;Ext&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/JQuery&quot; title=&quot;JQuery&quot;&gt;jQuery&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/ASP.NET_AJAX&quot; title=&quot;ASP.NET AJAX&quot;&gt;ASP.NET AJAX&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/MochiKit&quot; title=&quot;MochiKit&quot;&gt;MochiKit&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/MooTools&quot; title=&quot;MooTools&quot;&gt;MooTools&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/OpenLink_AJAX_Toolkit&quot; title=&quot;OpenLink AJAX Toolkit&quot;&gt;OpenLink AJAX Toolkit&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Prototype_JavaScript_Framework&quot; title=&quot;Prototype JavaScript Framework&quot;&gt;Prototype JavaScript Framework&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Qooxdoo&quot; title=&quot;Qooxdoo&quot;&gt;qooxdoo&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Rialto_Toolkit&quot; title=&quot;Rialto Toolkit&quot;&gt;Rialto Toolkit&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Rico_%28Ajax%29&quot; title=&quot;Rico (Ajax)&quot;&gt;Rico&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Script.aculo.us&quot; title=&quot;Script.aculo.us&quot;&gt;script.aculo.us&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/SmartClient&quot; title=&quot;SmartClient&quot;&gt;SmartClient&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Spry_framework&quot; title=&quot;Spry framework&quot;&gt;Spry framework&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Yahoo%21_UI_Library&quot; title=&quot;Yahoo! UI Library&quot;&gt;Yahoo! UI Library&lt;/a&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class=&quot;navbox-group&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Perl&quot; title=&quot;Perl&quot;&gt;Perl&lt;/a&gt;&lt;/td&gt; &lt;td class=&quot;navbox-list navbox-odd&quot;&gt; &lt;div&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Catalyst_%28software%29&quot; title=&quot;Catalyst (software)&quot;&gt;Catalyst&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Interchange_%28software%29&quot; title=&quot;Interchange (software)&quot;&gt;Interchange&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;strong class=&quot;selflink&quot;&gt;Maypole&lt;/strong&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Mason_%28Perl%29&quot; title=&quot;Mason (Perl)&quot;&gt;Mason&lt;/a&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class=&quot;navbox-group&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/PHP&quot; title=&quot;PHP&quot;&gt;PHP&lt;/a&gt;&lt;/td&gt; &lt;td class=&quot;navbox-list navbox-even&quot;&gt; &lt;div&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Akelos_PHP_Framework&quot; title=&quot;Akelos PHP Framework&quot;&gt;Akelos PHP Framework&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/CakePHP&quot; title=&quot;CakePHP&quot;&gt;CakePHP&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/CodeIgniter&quot; title=&quot;CodeIgniter&quot;&gt;CodeIgniter&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Drupal&quot; title=&quot;Drupal&quot;&gt;Drupal&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/EZ_Publish&quot; title=&quot;EZ Publish&quot;&gt;eZ Publish&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Fuse_Framework&quot; title=&quot;Fuse Framework&quot;&gt;FUSE&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Horde_%28software%29&quot; title=&quot;Horde (software)&quot;&gt;Horde&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Joomla%21&quot; title=&quot;Joomla!&quot;&gt;Joomla!&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/KohanaPHP&quot; class=&quot;mw-redirect&quot; title=&quot;KohanaPHP&quot;&gt;KohanaPHP&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/MODx&quot; title=&quot;MODx&quot;&gt;MODx&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/PHP_For_Applications&quot; title=&quot;PHP For Applications&quot;&gt;PHP For Applications&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/PHPOpenbiz&quot; title=&quot;PHPOpenbiz&quot;&gt;PHPOpenbiz&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/PRADO&quot; title=&quot;PRADO&quot;&gt;PRADO&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Qcodo&quot; title=&quot;Qcodo&quot;&gt;Qcodo&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Seagull_PHP_Framework&quot; title=&quot;Seagull PHP Framework&quot;&gt;Seagull PHP Framework&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Simplicity_PHP_framework&quot; title=&quot;Simplicity PHP framework&quot;&gt;Simplicity PHP framework&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/SilverStripe&quot; title=&quot;SilverStripe&quot;&gt;SilverStripe&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Symfony&quot; title=&quot;Symfony&quot;&gt;Symfony&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Zend_Framework&quot; title=&quot;Zend Framework&quot;&gt;Zend Framework&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Zoop_Framework&quot; title=&quot;Zoop Framework&quot;&gt;Zoop Framework&lt;/a&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class=&quot;navbox-group&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Python_%28programming_language%29&quot; title=&quot;Python (programming language)&quot;&gt;Python&lt;/a&gt;&lt;/td&gt; &lt;td class=&quot;navbox-list navbox-odd&quot;&gt; &lt;div&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/CherryPy&quot; title=&quot;CherryPy&quot;&gt;CherryPy&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Django_%28web_framework%29&quot; title=&quot;Django (web framework)&quot;&gt;Django&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Karrigell&quot; title=&quot;Karrigell&quot;&gt;Karrigell&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Nevow&quot; title=&quot;Nevow&quot;&gt;Nevow&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Porcupine_%28web_framework%29&quot; title=&quot;Porcupine (web framework)&quot;&gt;Porcupine&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Pylons_%28web_framework%29&quot; title=&quot;Pylons (web framework)&quot;&gt;Pylons&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Spyce&quot; title=&quot;Spyce&quot;&gt;Spyce&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/TurboGears&quot; title=&quot;TurboGears&quot;&gt;TurboGears&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Twisted_%28software%29&quot; title=&quot;Twisted (software)&quot;&gt;TwistedWeb&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Webware&quot; title=&quot;Webware&quot;&gt;Webware&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Zope&quot; title=&quot;Zope&quot;&gt;Zope&lt;/a&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class=&quot;navbox-group&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Ruby_%28programming_language%29&quot; title=&quot;Ruby (programming language)&quot;&gt;Ruby&lt;/a&gt;&lt;/td&gt; &lt;td class=&quot;navbox-list navbox-even&quot;&gt; &lt;div&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Camping_%28microframework%29&quot; title=&quot;Camping (microframework)&quot;&gt;Camping&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Nitro_%28web_framework%29&quot; title=&quot;Nitro (web framework)&quot;&gt;Nitro&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/IOWA_%28web_framework%29&quot; title=&quot;IOWA (web framework)&quot;&gt;IOWA&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Ramaze_%28web_framework%29&quot; title=&quot;Ramaze (web framework)&quot;&gt;Ramaze&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Cerise_%28web_framework%29&quot; title=&quot;Cerise (web framework)&quot;&gt;Cerise&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Merb&quot; title=&quot;Merb&quot;&gt;Merb&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Ruby_on_Rails&quot; title=&quot;Ruby on Rails&quot;&gt;Ruby on Rails&lt;/a&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class=&quot;navbox-group&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Server-side_JavaScript&quot; title=&quot;Server-side JavaScript&quot;&gt;Server-side JavaScript&lt;/a&gt;&lt;/td&gt; &lt;td class=&quot;navbox-list navbox-odd&quot;&gt; &lt;div&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/AppJet&quot; title=&quot;AppJet&quot;&gt;AppJet&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Firecat&quot; title=&quot;Firecat&quot;&gt;firecat&lt;/a&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Helma_Object_Publisher&quot; title=&quot;Helma Object Publisher&quot;&gt;Helma Object Publisher&lt;/a&gt;&lt;/div&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td class=&quot;navbox-group&quot;&gt;Other/&lt;br /&gt; Multiple languages&lt;/td&gt; &lt;td class=&quot;navbox-list navbox-even&quot;&gt; &lt;div&gt;&lt;span&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Alpha_Five&quot; title=&quot;Alpha Five&quot;&gt;Alpha Five&lt;/a&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;span&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Fusebox_%28programming%29&quot; title=&quot;Fusebox (programming)&quot;&gt;Fusebox&lt;/a&gt; (&lt;a href=&quot;http://en.wikipedia.org/wiki/ColdFusion&quot; title=&quot;ColdFusion&quot;&gt;ColdFusion&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/PHP&quot; title=&quot;PHP&quot;&gt;PHP&lt;/a&gt;)&lt;/span&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;span&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/OpenACS&quot; title=&quot;OpenACS&quot;&gt;OpenACS&lt;/a&gt; (&lt;a href=&quot;http://en.wikipedia.org/wiki/Tcl&quot; title=&quot;Tcl&quot;&gt;Tcl&lt;/a&gt;)&lt;/span&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;span&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Seaside_%28software%29&quot; title=&quot;Seaside (software)&quot;&gt;Seaside&lt;/a&gt; (&lt;a href=&quot;http://en.wikipedia.org/wiki/Smalltalk&quot; title=&quot;Smalltalk&quot;&gt;Smalltalk&lt;/a&gt;)&lt;/span&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;span&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/UnCommon_Web&quot; title=&quot;UnCommon Web&quot;&gt;UnCommon Web&lt;/a&gt; (&lt;a href=&quot;http://en.wikipedia.org/wiki/Lisp_%28programming_language%29&quot; title=&quot;Lisp (programming language)&quot;&gt;Common Lisp&lt;/a&gt;)&lt;/span&gt;&lt;span&gt;&amp;nbsp;·&lt;/span&gt; &lt;span&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Yaws_%28web_server%29&quot; title=&quot;Yaws (web server)&quot;&gt;Yaws&lt;/a&gt; (&lt;a href=&quot;http://en.wikipedia.org/wiki/Erlang_%28programming_language%29&quot; title=&quot;Erlang (programming language)&quot;&gt;Erlang&lt;/a&gt;)&lt;/span&gt;&lt;/div&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;</content:encoded>
	<dc:date>2008-06-04T10:07:18+00:00</dc:date>
</item>
<item rdf:about="http://edin.no-ip.com/88 at http://edin.no-ip.com">
	<title>Edison Wong: Bacula on Debian sid mini-HOWTO</title>
	<link>http://edin.no-ip.com/content/bacula-debian-sid-mini-howto</link>
	<content:encoded>&lt;p&gt;System backup is a complicated task, including backup, keep trace of record and restore. As the most simple method, you may just &lt;code&gt;*.tar.gz&lt;/code&gt; your data and &lt;code&gt;rsync&lt;/code&gt; them to remote storage. This maybe useful when you have only 1 server with simple backup architecture, but for sure not enough if you have number of production server with GB scale backup. Therefore Bacula (&lt;a href=&quot;http://www.bacula.org/&quot; title=&quot;http://www.bacula.org/&quot;&gt;http://www.bacula.org/&lt;/a&gt;) show be your cup of tea.&lt;/p&gt;
&lt;p&gt;From Bacula (&lt;a href=&quot;http://www.bacula.org/&quot; title=&quot;http://www.bacula.org/&quot;&gt;http://www.bacula.org/&lt;/a&gt;):&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
Bacula is a set of computer programs that permit you (or the system administrator) to manage backup, recovery, and verification of computer data across a network of computers of different kinds.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Bacula split all roles within backup procedure into a very detail and elegant style, so once you understand how its work, you will never get lose. It also support number of backup storage devices, e.g. harddisk, tap, DVD, USB flash driver and so on. It even support different type of database backend, e.g. MySQL, PostgreSQL and SQLite. Moreover, you can setup email report whenever backup process is complete, or browse backup statistic though a simple but elegant web interface. Long story short: it is a fairly complete backup solution that a system administrator should learn about it :-)&lt;/p&gt;
&lt;p&gt;This mini-HOWTO will guide you though the installation and configuration of Bacula on top of Debian sid, setup the web GUI for report, and some basic daily operation.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://edin.no-ip.com/content/bacula-debian-sid-mini-howto&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2008-06-04T04:12:01+00:00</dc:date>
</item>
<item rdf:about="http://me.abelcheung.org/2008/06/04/linux-hater/">
	<title>狗爺語錄: Linux Hater</title>
	<link>http://me.abelcheung.org/2008/06/04/linux-hater/</link>
	<content:encoded>&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://linuxhaters.blogspot.com/&quot;&gt;很久沒有那種找到知音的感覺了。&lt;/a&gt;雖然大多數內容都是諷刺或帶憤世嫉俗的語氣，但的確說出了許多 Linux 用家的心聲。以往也想過自己寫些甚麼的 (事實上也寫了兩篇稿給 LinuxPilot，但角度不同)，但就是沒法谷着那一口烏氣去寫出來，要寫也寫不出那麼辛辣的英文語句。&lt;/p&gt;
&lt;p&gt;不過找到臭味相投的人，都是多得 Planet GNOME （&lt;a target=&quot;_blank&quot; href=&quot;http://www.beatniksoftware.com/blog/?p=94&quot;&gt;我說的是這一篇&lt;/a&gt;）。如果是平時，早就一笑置之，看也不再看一眼，但昨天竟失了常性，把那種視用家如低等動物的「開發者」臭罵一頓。這幾年來我的忍耐力一天比一天差了。那個「開發者」到最後算是半道歉地解釋他不是討厭那個 blog，雖然看不到有任何反話的成份（倒比較像是那些自封為神的開發者踐踏用家），但也就算了。&lt;/p&gt;
&lt;p&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/wp-content/uploads/2008/06/planet-gnome-screenshot.png&quot; title=&quot;Planet GNOME screenshot&quot; rel=&quot;lightbox&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-content/uploads/2008/06/planet-gnome-screenshot.thumbnail.png&quot; alt=&quot;Planet GNOME screenshot&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;但有一點是可以看到的，那類叫用家&lt;a target=&quot;_blank&quot; href=&quot;http://www.beatniksoftware.com/blog/?p=94#comment-39703&quot;&gt;滾回 Windows&lt;/a&gt; 的&lt;a target=&quot;_blank&quot; href=&quot;http://www.colino.net/wordpress/&quot;&gt;原教旨主義者&lt;/a&gt;絕對是 Linux 失敗的毒瘤之一，雖然這種毒瘤是割不完的。&lt;/p&gt;
&lt;p&gt;想來，我也該是時候貼 LinuxPilot 那些文章出來了。&lt;/p&gt;</content:encoded>
	<dc:date>2008-06-03T23:15:45+00:00</dc:date>
</item>
<item rdf:about="http://me.abelcheung.org/2008/06/04/ordered-oracles-unbreakable-linux/">
	<title>狗爺語錄: Ordered Oracle’s Unbreakable Linux</title>
	<link>http://me.abelcheung.org/2008/06/04/ordered-oracles-unbreakable-linux/</link>
	<content:encoded>&lt;p&gt;I just requested a set of &lt;a target=&quot;_blank&quot; href=&quot;http://www.oracle.com/webapps/dialogue/dlgpage.jsp?p_ext=Y&amp;amp;p_dlg_id=5659298&amp;amp;src=5634329&amp;amp;Act=44&quot;&gt;Unbreakable Linux DVD from Oracle&lt;/a&gt;. Well, I never expect it containing anything exciting, but at least unlike some of the Chinese Linux distro — replaced Redhat logo, replaced brandname, and viola! A new distribution version 1.0. (Did they modify licenses? I don&amp;#8217;t know.) My guess is that Oracle&amp;#8217;s Linux also has optimized config and kernel for Oracle&amp;nbsp; database and big irons, as well as some extra candies. Who knows?&lt;/p&gt;
&lt;p&gt;One wish though: I don&amp;#8217;t want it shipped to my home with such huge box anymore. Especially just for a piece of DVD only. For comparison, there is Solaris 10 DVD package on top of Oracle 8i box. Probably it&amp;#8217;s American tradition to waste 80% of resource on earth through these ways?&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3141/2549049078_57d9943f55_m.jpg&quot; alt=&quot;Image showing box shipped with Oracle 8i&quot; /&gt;&lt;/p&gt;
&lt;div class=&quot;flockcredit&quot;&gt;Blogged with the &lt;a target=&quot;_blank&quot; href=&quot;http://www.flock.com/blogged-with-flock&quot; target=&quot;_new&quot; title=&quot;Flock Browser&quot;&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;</content:encoded>
	<dc:date>2008-06-03T18:36:24+00:00</dc:date>
</item>
<item rdf:about="http://me.abelcheung.org/2008/06/03/%e5%ad%b8%e7%94%9f%e8%8b%b1%e6%96%87%e5%b7%ae%e6%98%af%e5%9b%a0%e7%82%ba%e8%80%81%e5%b8%ab%e5%bf%99%ef%bc%9f%ef%bc%9f/">
	<title>狗爺語錄: 學生英文差是因為老師忙？？</title>
	<link>http://me.abelcheung.org/2008/06/03/%e5%ad%b8%e7%94%9f%e8%8b%b1%e6%96%87%e5%b7%ae%e6%98%af%e5%9b%a0%e7%82%ba%e8%80%81%e5%b8%ab%e5%bf%99%ef%bc%9f%ef%bc%9f/</link>
	<content:encoded>&lt;p&gt;真是的……&lt;a target=&quot;_blank&quot; href=&quot;http://www.mpinews.com/htm/INews/20080601/gb71049k.htm&quot;&gt;田北辰是說對了一半&lt;/a&gt;，學生英文差和母語教學無關（想當年在中英文混合教學的學校，學生的英文水平不也是一樣差？），但是因為大班教學令老師太忙，令學生的英文差？值得列入&lt;a target=&quot;_blank&quot; href=&quot;http://evchk.wikia.com/wiki/%E6%9D%8E%E5%8A%9B%E6%8C%81&quot;&gt;李力持&lt;/a&gt;的笑話。&lt;/p&gt;
&lt;p&gt;就我看到的，聽和說英文最好的學生，基本上都是國際學校出來的。（寫作和英文文法需要的元素似乎不同。）和一般學校比較一下，就可以想到有甚麼不同。老師花在英文教學的時間長短微不足道，反而是平時的環境：朋友、同學用英文溝通的比重大得多，甚至在家裏可能也同樣用英語。這些學校的外國學生比重高得多了，相比用中文教書的學生，一個外國學生也不會有，除非是在香港長大那些——如果是這樣平時也用廣東話溝通了。很簡單，兩者的溝通媒介完全不同，在中文為主的學校，學生哪會有機會用英文？我不信老師有空閑就會自動令學生的英文水平提高。&lt;/p&gt;
&lt;p&gt;為甚麼說寫作和文法的情況不同？因為我在工作環境中曾遇過一些人，雖然在外國留學多年，但是不懂寫正常英文的。當然，沒有 Frankish 那種要 IQ 300 的人才看得懂的程度，但看到那種文法還是會搖頭的。而且我聽過這個人說英文……就像我十幾年前高等會考的時候一樣舌頭打結。所以和上一段相反的結論是不成立的。&lt;/p&gt;
&lt;div class=&quot;flockcredit&quot;&gt;Blogged with the &lt;a target=&quot;_blank&quot; href=&quot;http://www.flock.com/blogged-with-flock&quot; target=&quot;_new&quot; title=&quot;Flock Browser&quot;&gt;Flock Browser&lt;/a&gt;&lt;/div&gt;</content:encoded>
	<dc:date>2008-06-02T23:30:54+00:00</dc:date>
</item>
<item rdf:about="http://www.debian.org.hk/15139 at http://www.debian.org.hk">
	<title>tshuyang: Adobe reader 4 or 6 version</title>
	<link>http://www.debian.org.hk/blog-entry/adobe-reader-4-or-6-version</link>
	<content:encoded>&lt;p&gt;我的電腦是 windows ME，請問如何在網上下載 adobe reader 4.0 或 6.0 版！或在沒有 adobe reader 程式下，有何方法可以打開 PDF 檔案？&lt;/p&gt;</content:encoded>
	<dc:date>2008-06-02T04:04:43+00:00</dc:date>
</item>
<item rdf:about="http://www.real-blog.com/%e7%b2%be%e6%98%8e%e6%b6%88%e8%b2%bb-%e7%90%86%e8%b2%a1/510">
	<title>Sam Tang: 買入中人壽及港交所</title>
	<link>http://www.real-blog.com/%e7%b2%be%e6%98%8e%e6%b6%88%e8%b2%bb-%e7%90%86%e8%b2%a1/510</link>
	<content:encoded>&lt;p&gt;在上星期以 $30.6 買入中人壽(2628)，以及在星期四 $132 買入港交所 (388)。雖然近期港股成交縮減，但相信當市況較為好轉後，成交量會增加，而港交所的獨市生意地位值得付出一點溢價。有人認為大市仍會下跌，也有人認為大市會再展升浪，結果是怎樣我不知道，我只買入我認為有價值及長遠有前景公司股票。&lt;/p&gt;
&lt;p&gt;在上期星因公佈電訊業重組的消息，使中移動 (941) 的股價顯著下跌，我的投資組合也受到拖累，但相信這次下跌實在有點跌過龍，因為電訊業重組的消息早已預期，而現時所知道的倩況與預期的一樣，再者相信兩、三年內中移動的龍頭地位也不會受到動搖。&lt;/p&gt;
&lt;p&gt;下個月會調高月供股票的金額。由每月 $6,000 改為 $7,500，增加的原因是將今年收到的股息到月供股票上，日後的月股金額也會取決於自己的收入及手持股票所收到的股息。
&lt;/p&gt;</content:encoded>
	<dc:date>2008-06-01T05:29:39+00:00</dc:date>
</item>
<item rdf:about="tag:blogger.com,1999:blog-8534016676139857894.post-5451470041117555607">
	<title>Vern: custom date header in mutt</title>
	<link>http://s5unty.blogspot.com/2008/05/custom-date-header-in-mutt.html</link>
	<content:encoded># original &lt;br /&gt;Date: Tue, 31 Oct 2006 20:24:16 -0600 (CST)&lt;p&gt;# custom &lt;br /&gt;X-LDate: Wed, 2006-11-01 10:24 +0800 | Tue, 20:24 -0600&lt;p&gt;Insert the code below into ~/.procmailrc&lt;br /&gt;-- 8&amp;lt; ----------------------------------&lt;br /&gt;:0&lt;br /&gt;* ^Date: \/.*&lt;br /&gt;{&lt;br /&gt;    date = `echo &amp;quot;$MATCH&amp;quot; | grep -E -o '^[^\(+-]*'`&lt;br /&gt;    zone = `echo &amp;quot;$MATCH&amp;quot; | grep -E -o '[\(+-].*$'`&lt;br /&gt;    org_date = `date +'%a, %R' -d &amp;quot;$date&amp;quot;`&lt;br /&gt;    loc_date = `date +'%a, %F %R %z' -d &amp;quot;$MATCH&amp;quot;`&lt;br /&gt;    :0 fhw&lt;br /&gt;    | $FORMAIL -I &amp;quot;X-LDate: ${loc_date} | ${org_date} ${zone}&amp;quot;&lt;br /&gt;}&lt;br /&gt;-- 8&amp;lt; ----------------------------------&lt;p&gt;Update the muttrc or other configuration file which is used to configure the&lt;br /&gt;header displayed in the mutt:&lt;br /&gt;-- 8&amp;lt; ----------------------------------&lt;br /&gt;ignore *&lt;br /&gt;unignore From:&lt;br /&gt;unignore To:&lt;br /&gt;unignore CC:&lt;br /&gt;unignore BCC:&lt;br /&gt;unignore X-LDate:&lt;br /&gt;unignore Reply-To:&lt;br /&gt;unignore Organization:&lt;br /&gt;unignore Subject:&lt;p&gt;hdr_order From: To: CC: BCC: Reply-To: Organization: X-LDate: Subject:&lt;br /&gt;-- 8&amp;lt; ----------------------------------&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2008-05-30T14:30:10+00:00</dc:date>
</item>
<item rdf:about="tag:blogger.com,1999:blog-8534016676139857894.post-9210275496424810659">
	<title>Vern: 我是一个和莎朗斯通一样猥琐的人</title>
	<link>http://s5unty.blogspot.com/2008/05/blog-post_30.html</link>
	<content:encoded>FROM: &lt;a href=&quot;http://society.solidot.org/society/08/05/30/0011208.shtml&quot;&gt;http://society.solidot.org/society/08/05/30/0011208.shtml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;莎朗斯通的言论让我很生气，但是张嘴欲骂的时候，我发现我是个和莎朗斯通一样猥琐的人。&lt;br /&gt;&lt;br /&gt;911的时候，我幸灾乐祸，穿着拉登的T恤衫到处招摇。那时候在念高中，我们一个班的人都很欢。虽然说，911是人祸，一定程度上是美国的国际政策导致的，而地震是天灾。但是不管怎么说，死的人都是无辜的。我的行为太猥琐了。&lt;br /&gt; &lt;br /&gt;印尼海啸，我也说过那是他们排华事件的报应。几年来，日本韩国出点什么乱子，我都乐得很开心。我觉得这写都是韩国盲目自大，日本不承认二战罪行的报应。&lt;br /&gt;&lt;br /&gt;卡特里娜飓风，印度洋海啸，我都当过铁公鸡。但是冲击麦当劳的时候我跑在最前面了。&lt;br /&gt;&lt;br /&gt;我真的是很猥琐的一个人，我觉得我不配评论莎朗斯通。 但是希望大家都比我善良。&amp;quot;</content:encoded>
	<dc:date>2008-05-30T09:03:44+00:00</dc:date>
</item>
<item rdf:about="http://edin.no-ip.com/86 at http://edin.no-ip.com">
	<title>Edison Wong: libvirt + KVM on Debian mini-HOWTO</title>
	<link>http://edin.no-ip.com/content/libvirt-kvm-debian-mini-howto</link>
	<content:encoded>&lt;div&gt;
&lt;/div&gt;
&lt;p&gt;This mini-HOWTO will give you some idea about using KVM handily with the help of libvirt - The virtualization API (&lt;a href=&quot;http://libvirt.org/&quot; title=&quot;http://libvirt.org/&quot;&gt;http://libvirt.org/&lt;/a&gt;), where an ultimate goal is using virt-manager (&lt;a href=&quot;http://virt-manager.et.redhat.com/&quot; title=&quot;http://virt-manager.et.redhat.com/&quot;&gt;http://virt-manager.et.redhat.com/&lt;/a&gt;) in order to provide similar MUI (management UI) and feature as VMWare.&lt;/p&gt;
&lt;p&gt;The main idea of using libvirt is because of its handy virtual client management style. Besides using libvirt, we will need to use CLI and input corresponding parameter to start the virtual client manually (every time!), or prepare a lossy startup script for reuse; libvirt can give a hand for virtual client installation, profile create and management (in XML style so easy to understand and editable), and even instant start/shutdown/etc action.&lt;/p&gt;
&lt;p&gt;Long story short, libvirt is much like a middle-ware between low level KVM/XEN/QEmu interface and high level virt-manager MUI.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
First of all, I will assume that you have some knowledge about what is KVM and how to let it function on Debian sid. I will not detail them once again within this mini-HOWTO. In order to have more general idea, please refer to &lt;a href=&quot;http://edin.no-ip.com/content/kvm-debian-mini-howto&quot;&gt;here&lt;/a&gt;.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;http://edin.no-ip.com/content/libvirt-kvm-debian-mini-howto&quot; target=&quot;_blank&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2008-05-30T07:53:41+00:00</dc:date>
</item>
<item rdf:about="http://blog.xychen.org/archives/2008/05/28/chinese-in-fedora-9-kde4/">
	<title>來醫: Feodra 9 中 KDE4 的中文支援問題</title>
	<link>http://blog.xychen.org/archives/2008/05/28/chinese-in-fedora-9-kde4/</link>
	<content:encoded>&lt;p&gt;KDE4 的介面有很多吸引人的支援，不過多個使用 KDE4 的 distribution 在中文支援都問題多，繼 &lt;a href=&quot;http://wiki.linux.org.hk/w/Install_Kubuntu&quot;&gt;Kubuntu KDE 4 Remix&lt;/a&gt; 後，&lt;a href=&quot;http://wiki.linux.org.hk/w/Install_Fedora&quot;&gt;Fedora 9&lt;/a&gt; 中的 KDE4 也是沒有搞好中文支援。在 VM 試了幾次，亦在些簡介一下修正中文支援問題的方法 (本文最新版本已拼入 OSWiki 中的 &lt;a href=&quot;http://wiki.linux.org.hk/w/Install_Fedora&quot;&gt;安裝 Fedora 9&lt;/a&gt; 和 &lt;a href=&quot;http://wiki.linux.org.hk/w/Install_Fedora_with_LiveCD&quot;&gt;使用 LiveCD 安裝 Fedora 9 桌面&lt;/a&gt;中)：&lt;/p&gt;

&lt;p&gt;首先需要自行自行安裝下以套件(Package):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;kde-l10n-Chinese - KDE 簡體中文支援&lt;/li&gt;
&lt;li&gt;kde-l10n-Chinese-Traditional - KDE 繁體中文支援&lt;/li&gt;
&lt;li&gt;im-chooser - 讓您設定輸入法引擎的圖形介面工具。&lt;/li&gt;
&lt;li&gt;scim-tables-chinese - SCIM 的中文輸法表，包括香港人常用的倉頡、速成、港式廣東話、行列、五筆等。安裝此套件時 YUM 自動會安裝其他所需的 SCIM 套件。&lt;/li&gt;
&lt;li&gt;scim-pinyin - SCIM 智能漢語拼音輸入法。安裝此套件時 YUM 自動會安裝其他所需的 SCIM 套件。&lt;/li&gt;
&lt;li&gt;scim-chewing - SCIM 酷音輸入法 (一種智能注音輸入法)。安裝此套件時 YUM 自動會安裝其他所需的 SCIM 套件。 &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;即是使用倉頡、速成或港式廣東話的使用者可以打命令：&lt;/p&gt;

&lt;pre&gt;yum install kde-l10n-Chinese-Traditional im-chooser scim-tables-chinese&lt;/pre&gt;

&lt;p&gt;即是使用漢語拼音的使用者可以打命令：&lt;/p&gt;

&lt;pre&gt;yum install kde-l10n-Chinese im-chooser scim-pinyin&lt;/pre&gt;

&lt;p&gt;即是使用的使用者可以打命令：&lt;/p&gt;

&lt;pre&gt;yum install kde-l10n-Chinese-Traditional im-chooser scim-chewing&lt;/pre&gt;

&lt;p&gt;安裝完成後，執行 im-chooser。勾選 Enable input method feature，選擇 &amp;#8220;Use SCIM&amp;#8221;&lt;/p&gt;

&lt;p&gt;使用 LiveCD 安裝的朋友需要在 K 選單中選 應用程式(Application) -&gt; 設定(Settings) -&gt; 系統設定(System Settings)。在系統設定(System Settings)中選擇地區與語言(Regional and Language)，並在新增語言 (Add Language) 中選擇『繁體中文』(Chinese)後按套用(Apply)。&lt;/p&gt;

&lt;p&gt;再重新登入後，您需要在 SCIM 輸入法設定中的 介面(前端) -&gt; 全域設定中的以下三個快速鍵：&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;作用鍵: Control+space&lt;/li&gt;
&lt;li&gt;下一種輸入法: Shift+Control+KeyRelease+Shift_L &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;設定後，按『確定』。&lt;/p&gt;

&lt;p&gt;相關連結:
&lt;/p&gt;

&lt;ul&gt;&lt;li&gt; &lt;a href=&quot;http://www.wretch.cc/blog/windows98/10477482&quot; class=&quot;external text&quot; title=&quot;http://www.wretch.cc/blog/windows98/10477482&quot; rel=&quot;nofollow&quot;&gt;松音的謎部落格 - Kubuntu 8.04 KDE4&lt;/a&gt;

&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://www.linuxidc.com/Linux/2008-05/13037.htm&quot; class=&quot;external text&quot; title=&quot;http://www.linuxidc.com/Linux/2008-05/13037.htm&quot; rel=&quot;nofollow&quot;&gt;Linux 公社: Fedora 9 英文狀態下使用中文輸入法&lt;/a&gt;
&lt;/li&gt;&lt;li&gt; &lt;a href=&quot;http://www.linuxidc.com/Linux/2008-05/12882.htm&quot; class=&quot;external text&quot; title=&quot;http://www.linuxidc.com/Linux/2008-05/12882.htm&quot; rel=&quot;nofollow&quot;&gt;Linux 公社: Fedora 9 安裝後初感受&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;</content:encoded>
	<dc:date>2008-05-28T12:22:17+00:00</dc:date>
</item>
<item rdf:about="http://www.akbkhome.com/blog.php/View/165/Quick_ExtJs_Fork_update.html">
	<title>Alan Knowles: Quick ExtJs Fork update</title>
	<link>http://www.akbkhome.com/blog.php/View/165/Quick_ExtJs_Fork_update.html</link>
	<content:encoded>Well, things are ticking away on the ExtJS forking project - There will be a official web site soon (I'm promised) - in the meantime head over to #roojs on freenode to see what's going on.&lt;br /&gt;&lt;br /&gt;On the global plan, this is what I've been looking at&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I have found a copy of yui-ext 0.33, which was released under a BSD style licence, and includes all the CSS and Images. I've not got round to merging and testing it with the 1.1.1 code, but I can't see any major issues, as from my recollection 1.0 evolved from this.&lt;/li&gt;&lt;li&gt;I got about halfway through adding all the javascript files (v1.1.1) to my subversion repo, along with modifying the headers to remove the licence link reference which is now irrelivant. The code can sit there until a shared repo becomes available.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Made a dependancy list for the files (so that building specialized bundles should be easier)&lt;/li&gt;&lt;li&gt;started testing a few javascript bundling tools (that work better than my simple tokenizer tool) &lt;br /&gt;&lt;/li&gt;&lt;li&gt;Started looking at docs&lt;/li&gt;&lt;/ul&gt;The doc's turned out to be an interesting little intellectual challange, as I was not too impressed with jsdoc (the perl thing) Apart from being written in a &amp;quot;Write-only&amp;quot; language, it did not spit out anything resembling usefull docs from the extjs code.&lt;br /&gt;&lt;br /&gt;So I started looking at jsdoc toolkit (on google code) - It's dependancies are a bit annoying (java + mozilla js engine AFAIR) - but the thing is written in javascript - (very well designed) and looks like a better bet.&lt;br /&gt;&lt;br /&gt;My idea was to take this code, and use my dmdscript fork to run it and generate documentation without that java dependancy. My little dmdscript fork has a few benefits that make it very suited to this task - Built in File access, a built in tokenizer to start. And it's piss easy to extend.&lt;br /&gt;&lt;br /&gt;However it turned out to be a bit more complex than that. One of the major problems turned out to be that dmdscript uses digital mars's D's regex engine, which unfortunatly is seriously feature flawed. To the point that most regex's that you give it fall over badly.&lt;br /&gt;&lt;br /&gt;I did manage to hack in forgetfull matching (?:.....) but when I started finding quite a few more oddities, ([\s\S]+\s)? the whole task of trying to fix the code became to much, and I came to the conclusion that just ripping it out would be simpler. In it's place I've used the excellent pcre library by Phil Hazel (who also wrote one of the best MTA's out there.)&lt;br /&gt;&lt;br /&gt;The binding code for the pcre library was already available in dsource, hidden away in the dwin project, so after understanding the API for that, I've almost got to the point where a semi modified version of jsdoctookit can parse the Code.  I still need to do some more fixes to the regex engein so it can render the templates. -But it's getting there.&lt;br /&gt;</content:encoded>
	<dc:date>2008-05-27T03:06:00+00:00</dc:date>
</item>
<item rdf:about="http://www.real-blog.com/%e7%b2%be%e6%98%8e%e6%b6%88%e8%b2%bb-%e7%90%86%e8%b2%a1/509">
	<title>Sam Tang: 領先推出 5 隻新 ETF</title>
	<link>http://www.real-blog.com/%e7%b2%be%e6%98%8e%e6%b6%88%e8%b2%bb-%e7%90%86%e8%b2%a1/509</link>
	<content:encoded>&lt;p&gt;在市場上領先已有多隻 ETF，較熱門的是 &lt;strong&gt;領先商品 ETF (2809), 領先印度 ETF (2810), 領先韓國 ETF (2813), 領先俄羅斯 ETF (2831)&lt;/strong&gt;。而 ETF 的好處是買賣方便，與買賣一般股票的程序一樣，可以省卻不少費用。&lt;/p&gt;
&lt;p&gt;在 6 月 3 日 將會再有 5 隻全新的 ETF 上市，分別是：&lt;/p&gt;
&lt;p&gt;領先日本 ETF (2814)&lt;br /&gt;
領先新興市場 ETF (2820)&lt;br /&gt;
領先台灣 ETF (2837)&lt;br /&gt;
領先 RAFI 歐洲 ETF (2806)&lt;br /&gt;
領先 RAFI 美國 ETF (2803)&lt;/p&gt;
&lt;p&gt;我想領先新興市場 ETF 及領先台灣 ETF 會較受歡迎，不想支付昂貴管理費又想參與以上市場的朋友可以考慮下。
&lt;/p&gt;</content:encoded>
	<dc:date>2008-05-26T14:52:09+00:00</dc:date>
</item>
<item rdf:about="tag:blogger.com,1999:blog-8534016676139857894.post-5111643983447941156">
	<title>Vern: 十诫</title>
	<link>http://s5unty.blogspot.com/2008/05/blog-post.html</link>
	<content:encoded>1、好了，好了，知道，真罗嗦！&lt;p&gt;2、有事吗，没事？那挂了啊。&lt;br /&gt;(他们打电话，也许只想说说话，我们能否理解他们的用意，不要匆忙挂了电话？)&lt;p&gt;3、说了你也不懂，别问了！&lt;p&gt;4、跟你说了多少次不要你做，做又做不好。&lt;br /&gt;(一些他们已经力不能及的事，我们因为关心而制止，但这样让他们觉得自己很无用)&lt;p&gt;5、你们那一套，早就过时了。&lt;br /&gt;(他们的建议，也许不能起到作用，可我们是否能换一种回应的方式？)&lt;p&gt;6、叫你别收拾我的房间，你看，东西找都找不到！&lt;br /&gt;(自己的房间还是自己收拾好，不收拾，也不要拂了他们的好意)&lt;p&gt;7、我要吃什么我知道，别夹了！&lt;br /&gt;(盼着我们回家的他们总想把所有关心融在特意做的菜里，我们默默领情就好)&lt;p&gt;8、说了别吃这些剩菜了，怎么老不听啊！&lt;br /&gt;(他们一辈子的节约习惯，很难改，让他们每次尽量少做点菜就好)&lt;p&gt;9、我自己有分寸，不要老说了，烦不烦&lt;p&gt;10、这些东西说了不要了，堆在这里做什么啊！&lt;br /&gt;(他们总想把跟我们成长有关的东西都收藏起来，也许占满房间，多年后，看到自己还是&lt;br /&gt;婴儿时的小棉袄，难道不是很惊喜吗？)&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2008-05-26T12:56:23+00:00</dc:date>
</item>
<item rdf:about="tag:blogger.com,1999:blog-8534016676139857894.post-4902997077921012407">
	<title>Vern: Vim 命令</title>
	<link>http://s5unty.blogspot.com/2008/05/vim.html</link>
	<content:encoded>:%!&amp;lt;cmd&amp;gt;  读取命令输出 (全文替换)&lt;br /&gt;:!!       重复前一次的感叹号命令&lt;br /&gt;@:        重复前一次的冒号命令&lt;br /&gt;@@        重复前一次的冒号命令&lt;p&gt;&amp;lt;C-6&amp;gt;     返回上一个文件 (e#)&lt;p&gt;gv        重新选择上一次的选择区域&lt;br /&gt;o(O)      在选择区域的开始和结束位置间跳转&lt;br /&gt;`&amp;lt;        跳转到上次选择区域的开始行&lt;br /&gt;`&amp;gt;        跳转到上次选择区域的结束行&lt;p&gt;[I        字符在当前文件中的位置列表 (支持 #include)&lt;br /&gt;n[&amp;lt;TAB&amp;gt;   跳转到位置列表中第 n 个位置&lt;p&gt;ga        显示字符的 ASCII、16 进制码&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</content:encoded>
	<dc:date>2008-05-26T11:07:00+00:00</dc:date>
</item>
<item rdf:about="http://me.abelcheung.org/2008/05/26/recovering-photos-from-camera/">
	<title>狗爺語錄: Recovering photos from camera</title>
	<link>http://me.abelcheung.org/2008/05/26/recovering-photos-from-camera/</link>
	<content:encoded>&lt;p&gt;Some of the photos were secretly deleted from my digital camera by a certain guy few weeks ago. Surely, with valid reason, he didn&amp;#8217;t like some of my photos. :D  Though I have backup of some of them, other newer photos are not backed up, thus only &lt;a target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Data_recovery&quot;&gt;data recovery&lt;/a&gt; can come to my rescue. As a Ubuntu partition is available, I decided to gives the tools mentioned in &lt;a target=&quot;_blank&quot; href=&quot;https://help.ubuntu.com/community/DataRecovery&quot;&gt;Ubuntu Data Discovery wiki page&lt;/a&gt; some testing, all of which are readily installable with &lt;code&gt;apt-get&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;My test points to the following conclusion:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;code&gt;scalpel&lt;/code&gt; is utterly useless when discovering digital photos, while other 4 tools (&lt;code&gt;foremost&lt;/code&gt;, &lt;code&gt;photorec&lt;/code&gt;, &lt;code&gt;magicrescue&lt;/code&gt;, &lt;code&gt;recoverjpeg&lt;/code&gt;) achieve similar degree of recovery, with photorec edging out the other 3.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Though there was an &lt;a target=&quot;_blank&quot; href=&quot;http://computer.forensikblog.de/en/2006/02/scalpel_vs_foremost.html&quot;&gt;existing test&lt;/a&gt; between scalpel and foremost, it only compares their speed, but gives no comment on whether software works or not. Data discovery software must try to discover as much evidence as possible, speed is just marketing gimmick when tools don&amp;#8217;t work at all.&lt;/p&gt;
&lt;p&gt;&lt;!--more--&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Goal&lt;/strong&gt;: Try to recover as many jpeg as possible&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Initial condition&lt;/strong&gt;: 1GB Memory stick used with Sony T7 camera&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Content on memory stick&lt;/strong&gt;: 224 images, 14 thumbnail images, 3 mpeg movies&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tools tested&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://foremost.sourceforge.net/&quot;&gt;Foremost&lt;/a&gt; 1.5.3&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.digitalforensicssolutions.com/Scalpel/&quot;&gt;Scalpel&lt;/a&gt; 1.60&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.rfc1149.net/devel/recoverjpeg&quot;&gt;Recoverjpeg&lt;/a&gt; 1.1.1&lt;/li&gt;
&lt;li&gt;Photorec, from &lt;a target=&quot;_blank&quot; href=&quot;http://www.cgsecurity.org/wiki/TestDisk&quot;&gt;Testdisk&lt;/a&gt; 6.8&lt;/li&gt;
&lt;li&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://directory.fsf.org/project/MagicRescue/&quot;&gt;Magicrescue&lt;/a&gt; 1.1.4&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Indeed the first thing to do is to dump memory stick content into dd image, and perform checksum (I just use MD5) to verify that dd image content is exact copy of original. After that, various tools are run to extract files from the image. Here are the necessary configuration change and commands to invoke:&lt;/p&gt;
&lt;table&gt;
&lt;caption&gt;&lt;code&gt;foremost&lt;/code&gt;&lt;/caption&gt;
&lt;tr&gt;
&lt;th&gt;Config&lt;/th&gt;
&lt;td&gt;No change&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;td&gt;&lt;code&gt;# foremost -t jpeg -i ~/camera.dd -o ~/recovered/foremost&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;caption&gt;&lt;code&gt;scalpel&lt;/code&gt;&lt;/caption&gt;
&lt;tr&gt;
&lt;th&gt;Config&lt;/th&gt;
&lt;td&gt;
Modify /etc/scalpel/scalpel.conf, locate this line:&lt;br /&gt;
&lt;code&gt;#jpg     y    200000000    \xff\xd8\xff\xe0\x00\x10     \xff\xd9&lt;/code&gt;&lt;br /&gt;
Change to:&lt;br /&gt;
&lt;code&gt;jpg     y    200000000    \xff\xd8\xff\xe0\x00\x10     \xff\xd9&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;jpg     y    200000000    \xff\xd8\xff\xe1             \xff\xd9&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;td&gt;&lt;code&gt;# scalpel -o ~/recovered/scalpel ~/camera.dd&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;caption&gt;&lt;code&gt;recoverjpeg&lt;/code&gt;&lt;/caption&gt;
&lt;tr&gt;
&lt;th&gt;Config&lt;/th&gt;
&lt;td&gt;No change&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;td&gt;&lt;code&gt;# cd ~/recovered/recoverjpeg&lt;br /&gt;
# recoverjpeg ~/camera.dd&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;caption&gt;&lt;code&gt;photorec&lt;/code&gt;&lt;/caption&gt;
&lt;tr&gt;
&lt;th&gt;Config&lt;/th&gt;
&lt;td&gt;No change&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;td&gt;&lt;code&gt;# photorec /d ~/recovered/photorec ~/camera.dd&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;caption&gt;&lt;code&gt;magicrescue&lt;/code&gt;&lt;/caption&gt;
&lt;tr&gt;
&lt;th&gt;Config&lt;/th&gt;
&lt;td&gt;Use this command to install libjpeg-progs:&lt;br /&gt;
&lt;code&gt;# apt-get install libjpeg-progs&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;td&gt;&lt;code&gt;# magicrescue -d ~/recovered/magicrescue&lt;br /&gt;
   -r /usr/share/magicrescue/recipes/jpeg-exif&lt;br /&gt;
   -r /usr/share/magicrescue/recipes/jpeg-jfif&lt;br /&gt;
   ~/camera.dd&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;All generated images are verified with &lt;code&gt;identify&lt;/code&gt; (from &lt;a target=&quot;_blank&quot; href=&quot;http://www.imagemagick.com/&quot;&gt;ImageMagick&lt;/a&gt;) to see if they are really valid jpeg files. To simplify testing, I was using the following shell script to verify them automatically:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
#!/bin/sh

count_total=0
count_broken=0
count_ok=0
count_thumb=0
broken=
ok=

for i in *.jpg *.jpeg; do
	[ -f &quot;$i&quot; ] || continue
	count_total=$(expr $count_total + 1)
	if identify &quot;$i&quot; &gt;/dev/null 2&gt;&amp;#038;1; then
		count_ok=$(expr $coount_ok + 1)
		ok=&quot;$ok $i&quot;
		if [ `stat --format=&quot;%s&quot; &quot;$i&quot;` -lt 50000 ]; then
			count_thumb=$(expr $count_thumb + 1)
		fi
	else
		count_broken=$(expr $count_broken + 1)
		broken=&quot;$broken $i&quot;
	fi
done

echo &quot;Total $count_total images, $count_broken broken, $count_thumb thumbnail&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;After running the above script for each directory of recovered photos, I used image viewer to independently verify that good images contain no artifacts and bad images are indeed not viewable. Here is the result:&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Total&lt;/th&gt;
&lt;th&gt;Broken&lt;/th&gt;
&lt;th&gt;Thumbnail&lt;/th&gt;
&lt;th&gt;Full-sized&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;&lt;code&gt;foremost&lt;/code&gt;&lt;/th&gt;
&lt;td&gt;248&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;228&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;&lt;code&gt;scalpel&lt;/code&gt;&lt;/th&gt;
&lt;td&gt;254&lt;/td&gt;
&lt;td&gt;238&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;&lt;code&gt;recoverjpeg&lt;/code&gt;&lt;/th&gt;
&lt;td&gt;244&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;228&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;&lt;code&gt;photorec&lt;/code&gt;&lt;/th&gt;
&lt;td&gt;251&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;235&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;&lt;code&gt;magicrescue&lt;/code&gt;&lt;/th&gt;
&lt;td&gt;244&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;228&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Now the single most confident conclusion to make is: &lt;code&gt;scalpel&lt;/code&gt; is &lt;em&gt;&lt;strong&gt;completely&lt;/strong&gt;&lt;/em&gt; useless for recovering digital images. Most thumbnails are of 3-8KB size range, and all full-sized photos are larger than 1.5MB. Most files recovered with &lt;code&gt;scalpel&lt;/code&gt; ranges from 10-25KB instead. One of the most simple explanation is that &lt;code&gt;scalpel&lt;/code&gt; simply looks for header and footer sequentially, once it founds footer byte sequence the file is cut off, without checking extracted data is a correct file or not. This 10-25KB range corresponds to the &lt;em&gt;footer of thumbnail&lt;/em&gt; within Exif header, instead of real image footer, thus the disaster. Anyway, from this point on, &lt;code&gt;scalpel&lt;/code&gt; is completely discard from further testing.&lt;/p&gt;
&lt;p&gt;The next comparison is among the remaining 4 tools &amp;mdash; how many images are uncovered with each tool. To do this, jpeg file names are normalized first. This is achieved with &lt;code&gt;jhead&lt;/code&gt;, using the following command:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;jhead -n&quot;%Y-%m-%d-%H:%M:%S&quot; *.jpg&lt;/code&gt;&lt;br /&gt;
&lt;small&gt;(One of the files, f463.jpg, failed to change name. However other exif readers can interpret its exif header perfectly. No idea.)&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;There are totally 256 images recovered from all of the tools (or 253, since 3 of them are claimed to be recovered by &lt;code&gt;foremost&lt;/code&gt; but those images are broken). 237 images are found with all tools (most of which are not deleted or only deleted recently), that means the other 19 images are only extracted by some of the tools. Here is the list:&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt; Image found&lt;/th&gt;
&lt;th&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/cross.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt; Image found but corrupt&lt;/th&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;table&gt;
&lt;caption&gt;Images discovered only with some tools&lt;/caption&gt;
&lt;tr&gt;
&lt;th&gt;File Name&lt;/th&gt;
&lt;th&gt;&lt;code&gt;recoverjpeg&lt;/code&gt;&lt;br /&gt;&lt;code&gt;magicrescue&lt;/code&gt;&lt;/th&gt;
&lt;th&gt;&lt;code&gt;foremost&lt;/code&gt;&lt;/th&gt;
&lt;th&gt;&lt;code&gt;photorec&lt;/code&gt;&lt;/th&gt;
&lt;th&gt;Total&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2006-03-14-04:58:37.jpg&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2007-05-25-00:23:10.jpg&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2007-05-25-00:26:14.jpg&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/cross.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Corrupt&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2008-02-07-11:15:38.jpg&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2008-02-08-12:45:02.jpg&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2008-02-09-16:50:57.jpg&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2008-02-09-16:53:46.jpg&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2008-02-09-16:55:57.jpg&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2008-05-04-09:00:48.jpg&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/cross.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Corrupt&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2008-05-05-00:36:01.jpg&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/cross.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Corrupt&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2008-05-05-05:48:36.jpg&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/cross.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Corrupt&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2008-05-05-05:59:25.jpg&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/cross.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Corrupt&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2008-05-07-08:28:25.jpg&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/cross.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Corrupt&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2008-05-07-08:28:48.jpg&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/cross.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Corrupt&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2008-05-07-10:25:20.jpg&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/cross.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Corrupt&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2008-05-07-10:29:59.jpg&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/cross.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Corrupt&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2008-05-07-10:38:57.jpg&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/cross.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Corrupt&quot; /&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;f463.jpg&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&lt;img src=&quot;http://feeds.feedburner.com/wp-images/tick.gif&quot; width=&quot;16&quot; height=&quot;16&quot; border=&quot;0&quot; alt=&quot;Yes&quot; /&gt;&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;Some interesting observations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;recoverjpeg&lt;/code&gt; and &lt;code&gt;magicrescue&lt;/code&gt; give &lt;em&gt;completely&lt;/em&gt; identical result. Not only in term of number of images, but the images found are the same! Wonder if they use the same algorithm? (Haven&amp;#8217;t checked yet)&lt;/li&gt;
&lt;li&gt;Some of the extra images found by &lt;code&gt;photorec&lt;/code&gt; are actually &lt;strong&gt;NOT&lt;/strong&gt; deleted! That means &lt;code&gt;recoverjpeg&lt;/code&gt;, &lt;code&gt;magicrescue&lt;/code&gt; and &lt;code&gt;foremost&lt;/code&gt; surely don&amp;#8217;t rely on filesystem knowledge at all.&lt;/li&gt;
&lt;li&gt;Most corrupted images discovered by &lt;code&gt;foremost&lt;/code&gt; are of size around 250KB-1MB. Foremost is probably not rigorous enough when determining file fragmentation point.&lt;/li&gt;
&lt;/ul&gt;</content:encoded>
	<dc:date>2008-05-25T21:07:04+00:00</dc:date>
</item>
<item rdf:about="http://www.real-blog.com/my-life/508">
	<title>Sam Tang: Eee PC 初體驗</title>
	<link>http://www.real-blog.com/my-life/508</link>
	<content:encoded>&lt;p&gt;上年 Eee PC 推出後一直想買一部，今日終於買了一部 Eee PC 900，當然選擇的是 Linux 版本，機身顏色則選了黑色。基本上功能已經可以滿足作為一部行動 notebook 的要求 (我只要上到網及用到 SSH 已經可以做到大部份工作)，唯一較難適應的是鍵盤真的較少，打字時會很不舒服。&lt;/p&gt;
&lt;p&gt;最令我感到方便的除了機身體積輕巧外，就是開機及關機速度，開機只須十幾秒就，而效能方面也不遜色，觀看網頁及一般操作十分流暢外。我想我會用 Eee PC 作一般觀看網頁及管理主機，但寫程式還是會用 desktop，因為覺得 Eee PC 的螢幕及鍵盤寫起程式時會很辛苦。我相信，Eee PC 對我來說不只是一件玩具，是一件可以使工作更加方便的工具。
&lt;/p&gt;</content:encoded>
	<dc:date>2008-05-24T07:03:06+00:00</dc:date>
</item>
<item rdf:about="http://blog.xychen.org/archives/2008/05/23/gdm-themes-login-with-google-windows-mac/">
	<title>來醫: GDM 佈景主題: 用 Google/Windows/Mac 登入</title>
	<link>http://blog.xychen.org/archives/2008/05/22/gdm-themes-login-with-google-windows-mac/</link>
	<content:encoded>&lt;p&gt;&lt;a href=&quot;http://www.gnome-look.org/content/show.php/GDM+Google+English?content=80639&quot;&gt;&lt;img id=&quot;image734&quot; src=&quot;http://blog.xychen.org/wp-content/uploads/2008/05/gdm-google.png&quot; alt=&quot;GDM Google GDM&quot; class=&quot;frame&quot; align=&quot;right&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;我一向都喜歡使用有人像的 GDM 登入畫面，近來最想使用的 tobain 設計的 &lt;a href=&quot;http://www.gnome-look.org/content/show.php/Avio-GDM?content=37395&quot; title=&quot;Avio-GDM GNOME-Look.org&quot;&gt;Avio-GDM&lt;/a&gt;，不過今天看見 feuc5766 設計的 &lt;a href=&quot;http://www.gnome-look.org/content/show.php/GDM+Google+English?content=80639&quot;&gt;GDM Google English GDM 登入佈景&lt;/a&gt;，覺得很有趣。這個佈景主題把登入畫面裝扮成 Google 搜尋網頁，暗喻 Google 在當世電腦世界的地位。&lt;/p&gt;

&lt;p&gt;當然，Gnome-look.org 還有模仿其他 OS 的登入畫面佈景:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.gnome-look.org/content/show.php/Apple+Mac+OSX+Session+Login?content=68346&quot; title=&quot;Apple Mac OSX Session Login GNOME-Look.org&quot;&gt;Apple Mac OSX Session Login&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.gnome-look.org/content/show.php/XP+Login+GDM?content=63383&quot; title=&quot;XP Login GDM GNOME-Look.org&quot;&gt;XP Login GDM&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded>
	<dc:date>2008-05-22T15:45:06+00:00</dc:date>
</item>
<item rdf:about="tag:blogger.com,1999:blog-8534016676139857894.post-4110115538172229184">
	<title>Vern: Asciidoc2Pdf</title>
	<link>http://s5unty.blogspot.com/2008/05/asciidoc2pdf.html</link>
	<content:encoded>通过 fop，将由 Asciidoc 生成的 Docbook 文件转换成 Pdf 文档。支持中文(必须是 ttf 字体)。&lt;div id=&quot;preamble&quot;&gt;&lt;div class=&quot;sectionbody&quot;&gt; &lt;div class=&quot;literalblock&quot;&gt; &lt;div class=&quot;content&quot;&gt; &lt;pre&gt;&lt;tt&gt; 1. 根据 asciidoc 规则编写文档&lt;br /&gt;/ 2. 由 asciidoc 生成&lt;br /&gt;|/ 3. 由 xsltproc 生成&lt;br /&gt;||/ 4. 由 fop 生成&lt;br /&gt;|||/&lt;br /&gt;*    foo.txt  asciidoc 源代码&lt;br /&gt; *   foo.xml  docbook 源代码&lt;br /&gt;  *  &lt;a href=&quot;http://foo.fo&quot;&gt;foo.fo&lt;/a&gt;   fo 源代码&lt;br /&gt;   * foo.pdf  PDF 文档&lt;/tt&gt;&lt;/pre&gt;  &lt;/div&gt;&lt;/div&gt; &lt;p&gt;经过配置，以上 4 步可由一个命令完成。&lt;/p&gt; &lt;/div&gt; &lt;/div&gt; &lt;h2&gt;&lt;font size=&quot;2&quot;&gt;安装工具&lt;/font&gt;&lt;/h2&gt; &lt;div class=&quot;sectionbody&quot;&gt; &lt;div class=&quot;listingblock&quot;&gt; &lt;div class=&quot;content&quot;&gt; &lt;pre&gt;&lt;tt&gt;% sudo apt-get install asciidoc fop xsltproc sun-java5-jre source-highlight docbook-xsl libxext6&lt;/tt&gt;&lt;/pre&gt; &lt;/div&gt;&lt;/div&gt; &lt;/div&gt; &lt;h2&gt;&lt;font size=&quot;2&quot;&gt;简单配置&lt;/font&gt;&lt;/h2&gt; &lt;div class=&quot;sectionbody&quot;&gt; &lt;ul&gt;&lt;li&gt; &lt;p&gt; 自行修改 /etc/asciidoc/docbook-xsl/fo.xsl 以便支持中文，这里之列出差异 &lt;/p&gt; &lt;div class=&quot;listingblock&quot;&gt; &lt;div class=&quot;content&quot;&gt; &lt;pre&gt;&lt;tt&gt;diff --git a/docbook-xsl/fo.xsl b/docbook-xsl/fo.xsl&lt;br /&gt;index 37e1de4..f99fc3e 100644&lt;br /&gt;&lt;span&gt;--- a/docbook-xsl/fo.xsl&lt;/span&gt;&lt;br /&gt;&lt;span&gt;+++ b/docbook-xsl/fo.xsl&lt;/span&gt;&lt;br /&gt; &lt;span&gt;@@ -25,7 +25,9 @@&lt;/span&gt;&lt;br /&gt; &amp;lt;!-- justify, left or right --&amp;gt;&lt;br /&gt; &amp;lt;xsl:param name=&amp;quot;alignment&amp;quot;&amp;gt;left&amp;lt;/xsl:param&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;-&amp;lt;xsl:param name=&amp;quot;body.font.family&amp;quot; select=&amp;quot;'serif'&amp;quot;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;+&amp;lt;xsl:param name=&amp;quot;sans.font.family&amp;quot; select=&amp;quot;'SimSun'&amp;quot;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;+&amp;lt;xsl:param name=&amp;quot;title.font.family&amp;quot; select=&amp;quot;'SimHei'&amp;quot;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;+&amp;lt;xsl:param name=&amp;quot;body.font.family&amp;quot; select=&amp;quot;'SimSun'&amp;quot;/&amp;gt;&lt;/span&gt;&lt;br /&gt; &amp;lt;xsl:param name=&amp;quot;body.font.master&amp;quot;&amp;gt;12&amp;lt;/xsl:param&amp;gt;&lt;br /&gt; &amp;lt;xsl:param name=&amp;quot;body.font.size&amp;quot;&amp;gt;&lt;br /&gt;   &amp;lt;xsl:value-of select=&amp;quot;$body.font.master&amp;quot;/&amp;gt;&amp;lt;xsl:text&amp;gt;pt&amp;lt;/xsl:text&amp;gt;&lt;br /&gt;&lt;/tt&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt; 添加源代码高亮支持 &lt;/p&gt; &lt;div class=&quot;listingblock&quot;&gt; &lt;div class=&quot;content&quot;&gt; &lt;pre&gt;&lt;tt&gt;% sudo cp /usr/share/doc/asciidoc/examples/so*/so*.conf /etc/asciidoc/filters/&lt;/tt&gt;&lt;/pre&gt; &lt;/div&gt;&lt;/div&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt; 准备 fop 可识别的字体配置文件 &lt;/p&gt; &lt;ol class=&quot;olist2&quot;&gt;&lt;li&gt; &lt;p&gt; 拷贝 simsun.ttf 和 simhei.ttf，这里假设拷贝到 /sun/backup/fonts 目录 &lt;/p&gt; &lt;div class=&quot;listingblock&quot;&gt; &lt;div class=&quot;content&quot;&gt; &lt;pre&gt;&lt;tt&gt;% export FONTDIR=/sun/backup/fonts/&lt;br /&gt;% cp simsun.ttf simhei.ttf $FONTDIR&lt;/tt&gt;&lt;/pre&gt; &lt;/div&gt;&lt;/div&gt; &lt;/li&gt;&lt;li&gt; &lt;p&gt; 在工作目录下创建字体模板，建议直接在用户家目录下创建 &lt;/p&gt; &lt;div class=&quot;listingblock&quot;&gt; 