<?xml version="1.0" encoding="big5"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
	<title>Thinker</title>
	<link>http://heaven.branda.to/~thinker/GinGin_CGI.py</link>
	<dc:language></dc:language>
	<dc:creator>Thinker</dc:creator>
	<dc:date></dc:date>
	<item ezid="content.feeds.feed">
		<title>這並不是一個創新</title>
		<link>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/410</link>
		<description>最近一個不熟的朋友，過去寫過一個軟體，在經過媒體宣傳之後，瞬間爆紅。事實上該軟體是一個成熟度很高的作品，是一個值得推薦、喝采的作品。然而，該位作者卻將該作品說成是「創新」、「革命」這是我完全不能認同的。大多數人過去可能沒看過類似的軟體，會為之驚豔。但，有意或無意間，利用人們的無知，而進行自我吹捧，則是我所不認同的。或許該位朋友，過去也沒見過類似的作品，出於無心之過。因此，我也不指名道姓說是誰了。只是，榮耀應該還給適當的人。

根據作者本身所宣傳的，和網路上大家所傳頌的，該軟體有兩項革命性的特色。一、「使用畫面的截圖寫程式」，二、「用圖形表示程式內容」易於閱讀。事實上，這兩項特色、功能，都不是創新。甚至早就有成熟的商業產品了。這兩項特色最早是由誰發明的，我並不清楚，但透過網路上能找到的相關軟體，其實可以很清楚的告訴我們，這是早就存在而且成熟的技術。 ...</description>
		<guid>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/410</guid>
		<dc:date>2010-01-30T22:04:29-08:00</dc:date>
	</item><item ezid="content.feeds.feed">
		<title>Tossug 2/9 SVG 加 XBL 分享</title>
		<link>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/409</link>
		<description>今夜在 HackingThursday 測試一下水溫，證實這個 programming model 是許多人能接受和理解的。 XBL (XML Binding Language) 是 Firefox 所制定的一套宣告語言，用以將「行為」(程式碼)套用在 HTML/SVG/... 等 DOM node ，付與特定的行為。透過 Inkscape 或其它向量繪圖軟體的使用，SVG + XBL 的組合展現出驚人的特性。不但分了離「外觀」和「行為」，在繪圖軟體的處理下，也可以很容易的維持「外觀」和「為行」之間的關係。如前文 linkname:[SVG and XBL No Widget] http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/408 ...</description>
		<guid>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/409</guid>
		<dc:date>2010-01-15T00:19:34-08:00</dc:date>
	</item><item ezid="content.feeds.feed">
		<title>SVG and XBL No Widget</title>
		<link>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/408</link>
		<description>之前我一直強調使用 linkname:SVG http://www.w3.org/Graphics/SVG/ 製作 UI 的優點，也不斷強調不要 Widget/Component
的觀念。然而，許多人一直不懂要怎麼做，甚至不知道要怎麼開始這種新的
programming model。

其實，在去年的 OSDC 時，我開始提倡一種觀念。 UI 應該分割成「畫面」和
「行為」兩個部分。例如一個按鈕，按鈕的外觀就是「畫面」，而按下按鈕後，
按鈕本身的反應、回饋使用者的動作，則為「行為」。這兩個部分，實
際上是可以分離的。但傳統的 widget/component 的設計，往往是將兩者合而為 ...</description>
		<guid>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/408</guid>
		<dc:date>2010-01-13T01:37:31-08:00</dc:date>
	</item><item ezid="content.feeds.feed">
		<title>OpenSource 與嵌入式系統</title>
		<link>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/407</link>
		<description>星期一 (2009.1.4) 回到學校，和大學生談嵌入式系統。踏入元智校門時，迎面而來夜霧裊裊、燈火斜照的下坡道，一股濕冷正是過去種種的縮影。這次和學生們分享的是比較軟性的內容，談談過去兩年來， OpenSource 的發展狀況和嵌入式系統的產業變化。主要是計對台灣的情形做個報告，讓這群大多數還未進入產業的學生們，對產業的現況有些了解。並希望能鼓勵這群社會的新血，加入這個在台灣能有一段榮景的產業。

linkname:[投影片內容] http://heaven.branda.to/~thinker/downloads/p47-joined.pdf
</description>
		<guid>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/407</guid>
		<dc:date>2010-01-06T13:31:40-08:00</dc:date>
	</item><item ezid="content.feeds.feed">
		<title>Internet 的工人智慧</title>
		<link>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/406</link>
		<description>我從 TechCrunch 讀到 linkname:[一篇關於 Twitter 與 Internet 為何取代傳統媒體的文章] http://www.techcrunch.com/2009/11/27/internet-twitter-tiger-woods/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+Techcrunch+%28TechCrunch%29&amp;amp;utm_content=Google+Reader 。文章的主題是從 Tiger Woods 發生車禍的新聞開始，比較網路媒體和傳統媒體的傳播速度。文章的內容其實還好，只是告訴我們， ...</description>
		<guid>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/406</guid>
		<dc:date>2009-11-28T19:23:02-08:00</dc:date>
	</item><item ezid="content.feeds.feed">
		<title>GCC Spec Files</title>
		<link>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/405</link>
		<description>Open source 常見的 toolchain，就非 gcc 和 binutils 系列莫屬。然而，商業公司提供的 toolchain，往往必需安裝在特定目錄，這總是惹惱有潔癖者，如我。然而，若將 toolchain 任意搬動位置，則會曝露 gcc 的一個缺陷，gcc 找不到其它幅程式或 library 。這是因為 gcc 假設 library 和 toolchain 會安裝在固定位置，於是在 build toolchain 時，就將這些路徑設定死。於是，對於不想重新 build toolchain，或只拿到 binary 的 user 而言，就必需使用 -nostdlib 這個參數，然後加上一堆 ...</description>
		<guid>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/405</guid>
		<dc:date>2009-11-21T13:26:30-08:00</dc:date>
	</item><item ezid="content.feeds.feed">
		<title>Android Native code 的繪圖方法</title>
		<link>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/404</link>
		<description>大部分 Android 應用程式，應該都是用 Java Code 完成所有的工作，包括繪圖。但，有些情況下，你會希望繪圖有更快的反應；例如 game ，這時 native code 可能是一個選擇。

在 Android 上，有一個 graphic engine ，稱為 Skia 。 Skia 的功能約等於 Cairo ，功能上相似，但 Skia 的支援沒 Cairo 廣。其實， Android 的 Java Code 都是透過 Skia 進行繪圖，而 Skia 主要的 class type 是 SkCanvas ，所的有繪圖功能都建構在這個 class 上。因此，如果我們能在 native ...</description>
		<guid>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/404</guid>
		<dc:date>2009-11-18T17:53:14-08:00</dc:date>
	</item><item ezid="content.feeds.feed">
		<title>Android Native code 不用 NDK</title>
		<link>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/403</link>
		<description>自從 Google 發佈 Android NDK，為更高計算效能的要求，灑下第一道曙光。依一般的作法，我們只需 download NDK，安裝之後，使用 NDK 的 build system 一切就沒問題了。但是，小弟在 FreeBSD 上工作，不想另外準備 toolchain ，也不想使用 NDK 的 build system 。於是，花了些時間研究，如何在不使用 NDK 的情況下，直接把編好的 shared object 放到 apk 裡。

apk 對 Native code 有幾個要求。
 * 檔名必需為 libxxx.so
 * 檔案會被壓縮到 lib/xxxx/ 目錄下
 ...</description>
		<guid>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/403</guid>
		<dc:date>2009-11-18T16:52:36-08:00</dc:date>
	</item><item ezid="content.feeds.feed">
		<title>基於隱私的一種 DRM</title>
		<link>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/402</link>
		<description>老實說，我對 DRM 沒什麼好感。然而，這是讓出版商卸下心防的重要法寶。我所知道的，大部分 DRM 是以防止複制為基礎。被這樣的技術往往造成使用者的不方便，無法備份、特別的 reader 、特別的裝置等。

前一陣子，因為朋友對電子書產生興趣，向我詢問一些技術上的問題，其中包含 DRM。其實我對 DRM 並不怎麼熟，但我也花了一些時間思考這個問題。傳統書藉因為有物理載具的存在，因為在複制上產生了成本，而品質本身也會受影響，因此有了某種程度上的保護作用。但在數位化之後，這些保護能力都無法產生作用，因此有大量散佈的可能性。然而，傳統 hardcopy 的散佈是合法的，買而一本書之後，你願意借誰看就借誰看，除非你是出租。然而，數位化之後，在 ...</description>
		<guid>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/402</guid>
		<dc:date>2009-11-08T14:21:43-08:00</dc:date>
	</item><item ezid="content.feeds.feed">
		<title>Build Android SDK on FreeBSD</title>
		<link>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/401</link>
		<description>There is a project, called FreeDroid, provided Android SDK, in binary, that can be installed on FreeBSD.   If you want to build Android SDK by yourself on FreeBSD, you can build it with FreeBroid branch.

== Get FreeBroid ==
Please refers to instructions of getting a copy of FreeDroid source tree ...</description>
		<guid>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/401</guid>
		<dc:date>2009-11-07T12:58:15-08:00</dc:date>
	</item><item ezid="content.feeds.feed">
		<title>How To Build Android on FreeBSD</title>
		<link>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/400</link>
		<description>To build Android on FreeBSD, you should get a copy of source tree of Android, and apply changes provided by FreeBroid.  The steps to get a copy of source tree are
 * mkdir android
 * cd android
 * repo init -u git://android.git.kernel.org/platform/manifest.git
 * repo sync
 * git clone git://gitorious.org/freebroid/freebroid.git ...</description>
		<guid>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/400</guid>
		<dc:date>2009-11-07T12:45:09-08:00</dc:date>
	</item><item ezid="content.feeds.feed">
		<title>搞笑的狂牛症機率</title>
		<link>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/399</link>
		<description>最近台灣頻吵狂牛症問題，有許多人端出數據。這些數據大多是以機率形式存在，而且看似很有道理。問題來了，這些數據確實存在，有根據的，不是胡謅的。但，這些數據正確嗎? 從學科史來看，有根據的數據不一定正確。

對於這些數據，我並沒有全部看過。只是剛好看到
 * http://evilcapitalismheroes.blogspot.com/2009/10/part-ii.html
 * http://www.wretch.cc/blog/ianblogger/13188015
這兩個篇文章。其中我要說的是頭一篇的數據。
{{{
天天吃牛肉得狂牛症的機率好像是千億分之一的樣子
這個機率 ...</description>
		<guid>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/399</guid>
		<dc:date>2009-11-04T22:56:54-08:00</dc:date>
	</item><item ezid="content.feeds.feed">
		<title>FreeBroid 上線</title>
		<link>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/398</link>
		<description>這幾天所進行的修改，讓 FreeBSD user 能在 FreeBSD 上編譯和開發 Android 。修改的成果已放在 gitorious 。服用前，請先用 repo 取得 Google 所提供的 Android 。接著，在 Android source tree 執行下面指令，以取得 FreeBroid 的同步工具。
{{{
git clone git://gitorious.org/freebroid/freebroid.git
}}}
接著執行 script 取得針對 FreeBSD 的相關修改
{{{
cd freebroid
./fetchgitorious.sh ../ ...</description>
		<guid>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/398</guid>
		<dc:date>2009-11-04T01:42:11-08:00</dc:date>
	</item><item ezid="content.feeds.feed">
		<title>Android 不是那麼開放</title>
		<link>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/397</link>
		<description>在參與 Open Source 的十幾個春、夏、秋、冬，我一直知道，公開你的源始程式不代表放棄對程式碼的控制權。開放源始程式只是一個行為，背後的理由可以千千萬萬個，開放後的作為也可以千千萬萬種。

一般而言，我們會期待一個 Open Source Project ，會有一個 Open 的 Community ，讓所的人都有平等的機會參與，不論身份的貴、賤。所以有人認為， Open Source 活動其實是一種社會主義的活動。然而，社會主義確有了一個變種，我們稱為共產。我並不了解共產主義實質內容和遠大的目標，但就現實的表面上來看，(曾經)世界上最大的兩個共產集團都表現出同樣的現象，「財產共享，但政治獨裁」。雖然，財產也不一定是那麼共享。 ...</description>
		<guid>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/397</guid>
		<dc:date>2009-11-03T13:01:02-08:00</dc:date>
	</item><item ezid="content.feeds.feed">
		<title>在 FreeBSD 編 Android</title>
		<link>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/396</link>
		<description>在幾番努力之後，終於順利以 FreeBSD 為 host 完成編譯，並以 goldfish emulator 裡執行 Android 。從此可以在 FreeBSD 上開發 Android 了，不用再委身於 Linux 。接下來會嘗試使用 FreeBSD 作為 Android 的 target OS，讓 Android 的 Dalvik VM 和 framework 在 FreeBSD 上，以 native 的狀態執行。

[attach:android-on-freebsd.png]
</description>
		<guid>http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/396</guid>
		<dc:date>2009-10-30T01:07:12-08:00</dc:date>
	</item>
</channel>
</rss>