<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>福茲提克資訊科技網-資訊思考</title>
<link>http://blog.roodo.com/fauztech/archives/cat_418949.html</link>
<description></description>
<language>zh-tw</language>
<generator>Roodo Blog System</generator>
<copyright>All Rights Reserved</copyright>
<atom:link href="http://blog.roodo.com/fauztech/archives/cat_418949.xml" rel="self" type="application/rss+xml" />
<item>
	<title>國際單位制詞頭</title>
	<description><![CDATA[
			國際單位制也就是所謂的SI單位，電腦常用的儲存單位KB, MB, GB, TB等就是遵循SI單位而來。KB=千位元組，MB=百萬位元組，這是大家耳熟能詳的。而GB以上的中文名稱是什麼呢？答案是GB=吉位元組，TB=兆位元組，PB=拍位元組，不過一般人似乎很少這樣講呢。

資料來源：維基百科 國際單位制詞頭
		]]>
	</description>
	<content:encoded><![CDATA[
			國際單位制也就是所謂的SI單位，電腦常用的儲存單位KB, MB, GB, TB等就是遵循SI單位而來。KB=千位元組，MB=百萬位元組，這是大家耳熟能詳的。而GB以上的中文名稱是什麼呢？答案是GB=<strong>吉</strong>位元組，TB=<strong>兆</strong>位元組，PB=<strong>拍</strong>位元組，不過一般人似乎很少這樣講呢。<br />
<br />
資料來源：<a href="http://zh.wikipedia.org/wiki/%E5%9C%8B%E9%9A%9B%E5%96%AE%E4%BD%8D%E5%88%B6%E8%A9%9E%E9%A0%AD?variant=zh-tw">維基百科 國際單位制詞頭</a>				]]>
	</content:encoded>
	<link>http://blog.roodo.com/fauztech/archives/7744051.html</link>
	<guid>http://blog.roodo.com/fauztech/archives/7744051.html</guid>
	<category>資訊思考</category>
	<pubDate>Mon, 01 Dec 2008 09:16:07 +0800</pubDate>
</item>
<item>
	<title>Python初寫心得</title>
	<description><![CDATA[
			這兩天寫了一些Python，不得不佩服Java和PHP的文件。Python的文件不能說差，但是不好用、不好查。比如說我想查is這個keyword是什麼意思，最好我會知道他是列在Comparison啦。為什麼is不列在operator，這我不懂，明明==等都是啊。然後是例外處理，最好是我會知道有個sys.exc_info()啦。都查了很久才找到。

Python的官方文件主要分為Tutorial, Library Reference, Language Reference三塊，但他們的Table of Content都只有一個，而且TOC的標題不太能反映想找的內容。像Java、PHP、Ruby的文件都會切成幾個窗格，或至少有sidebar讓你點，我終於知道原因了，就是這樣才好用啊。還有簡單卻實用的示例也是很重要的，這點PHP做得不錯。
		]]>
	</description>
	<content:encoded><![CDATA[
			這兩天寫了一些Python，不得不佩服Java和PHP的文件。Python的文件不能說差，但是不好用、不好查。比如說我想查is這個keyword是什麼意思，最好我會知道他是列在Comparison啦。為什麼is不列在operator，這我不懂，明明==等都是啊。然後是例外處理，最好是我會知道有個sys.exc_info()啦。都查了很久才找到。<br />
<br />
Python的官方文件主要分為Tutorial, Library Reference, Language Reference三塊，但他們的Table of Content都只有一個，而且TOC的標題不太能反映想找的內容。像Java、PHP、Ruby的文件都會切成幾個窗格，或至少有sidebar讓你點，我終於知道原因了，就是這樣才好用啊。還有簡單卻實用的示例也是很重要的，這點PHP做得不錯。				]]>
	</content:encoded>
	<link>http://blog.roodo.com/fauztech/archives/6216579.html</link>
	<guid>http://blog.roodo.com/fauztech/archives/6216579.html</guid>
	<category>資訊思考</category>
	<pubDate>Mon, 23 Jun 2008 05:06:20 +0800</pubDate>
</item>
<item>
	<title>Ruby/Prototype.js 風格的 Array</title>
	<description><![CDATA[
			自從用過Ruby之後，對它的Array唸唸不忘，Array#each是好物啊，有了它，幾乎可以把迴圈for/foreach給丟掉了。看了《Bring some Ruby/Prototype flavour in your PHP array》之後，心想PHP5也能這樣玩，真是讚，不用在PHP/Ruby之間的抉擇天人交戰了，把Ruby的語法移植到PHP來，這樣不就可以同時擁有PHP的廣大群眾，又擁有寫Ruby語法的簡潔／美麗／爽度了嗎？Prototype.js也是這樣做的，雖然《Learning Javascript》書中嚴厲反對Prototype.js破壞了javascript當中Array和for..in的組合技，但是Prototype.js的作者們顯然不在乎這點，照樣蠻幹。另還有《JavaScript “Associative Arrays” Considered Harmful》一文認為JavaScript當中的Array本來就不該當作associative array(hash)來用，所以組合技被破壞不算Prototype.js的錯。我個人的看法：說真的，有了Array.each，誰還需要for..in/foreach呢？

但是現實是殘酷的，由於PHP沒有anonymous function（幹，PHP根本什麼都沒有嘛！），所以callback無法像JavaScript或Ruby寫得那麼漂亮。或許應該說，雖然PHP語言特性貧乏，原本的目的是內嵌在HTML裡，卻能長到這麼大，也代表著PHP切合了初級web開發的需求，打入了一個很大的市場。《Bring》文中class的名稱是ExtendedArrayObject，只實作了部分method，但是我想乾脆把整個Ruby Array class實作好了。為了符合PHP的習慣，可以再定義一個xarray() function，x代表extended，用法類似array()（PHP的array()是language construct，不是function），只是回傳ExtendedArrayObject（factory pattern!?）。

神奇的是，我用Google搜尋xarray，居然找到我想做的東西，已經有人做過了！它是模仿Prototype.js的，也叫做xarray，而且是BSD license。但是不幸的是，事情總是沒有那麼順利，這個phpclasses.org要註冊才能下載東西，我又不想註冊。所以……我想我還是有空的時候來自己實作看看好了，當作練功！
		]]>
	</description>
	<content:encoded><![CDATA[
			自從用過Ruby之後，對它的Array唸唸不忘，Array#each是好物啊，有了它，幾乎可以把迴圈for/foreach給丟掉了。看了《<a href="http://hasin.wordpress.com/2006/10/17/bring-some-rubyprototype-flavour-in-your-php-array/">Bring some Ruby/Prototype flavour in your PHP array</a>》之後，心想PHP5也能這樣玩，真是讚，不用在PHP/Ruby之間的抉擇天人交戰了，把Ruby的語法移植到PHP來，這樣不就可以同時擁有PHP的廣大群眾，又擁有寫Ruby語法的簡潔／美麗／爽度了嗎？Prototype.js也是這樣做的，雖然《Learning Javascript》書中嚴厲反對Prototype.js破壞了javascript當中Array和for..in的組合技，但是Prototype.js的作者們顯然不在乎這點，照樣蠻幹。另還有《<a href="http://andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/">JavaScript “Associative Arrays” Considered Harmful</a>》一文認為JavaScript當中的Array本來就不該當作associative array(hash)來用，所以組合技被破壞不算Prototype.js的錯。我個人的看法：說真的，有了Array.each，誰還需要for..in/foreach呢？<br />
<br />
但是現實是殘酷的，由於PHP沒有anonymous function（幹，PHP根本什麼都沒有嘛！），所以callback無法像JavaScript或Ruby寫得那麼漂亮。或許應該說，雖然PHP語言特性貧乏，原本的目的是內嵌在HTML裡，卻能長到這麼大，也代表著PHP切合了初級web開發的需求，打入了一個很大的市場。《Bring》文中class的名稱是ExtendedArrayObject，只實作了部分method，但是我想乾脆把整個Ruby Array class實作好了。為了符合PHP的習慣，可以再定義一個xarray() function，x代表extended，用法類似array()（PHP的array()是language construct，不是function），只是回傳ExtendedArrayObject（factory pattern!?）。<br />
<br />
神奇的是，我用Google搜尋xarray，居然找到我想做的東西，已經有人做過了！它是模仿Prototype.js的，也叫做<a href="http://www.phpclasses.org/browse/package/3565.html">xarray</a>，而且是BSD license。但是不幸的是，事情總是沒有那麼順利，這個phpclasses.org要註冊才能下載東西，我又不想註冊。所以……我想我還是有空的時候來自己實作看看好了，當作練功！				]]>
	</content:encoded>
	<link>http://blog.roodo.com/fauztech/archives/5635803.html</link>
	<guid>http://blog.roodo.com/fauztech/archives/5635803.html</guid>
	<category>資訊思考</category>
	<pubDate>Tue, 04 Mar 2008 19:31:41 +0800</pubDate>
</item>
<item>
	<title>GFDL與CC-by-sa即將完全相容！</title>
	<description><![CDATA[
			這是我今年聽過最酷的事情！Jimbo，你太了不起了！  

首先要說明的是：在現有的GFDL之下，wikipedia是無法轉用CC的。原因是GFDL要求他的衍生版本也在GFDL授權之下，而FSF（自由軟體基金會）雖然認同CC-by-sa的「精神」和GFDL相同，但是法律條文的細節卻造成了兩者實質上不相容。  CC組織其實在約2005年就注意到這問題，也努力在促進兩者的相容性，但事情一直沒有進展。所謂的Share-alike（相同方式分享），來自於FSF所推動的 'copyleft' 觀念。在早期的CC條款裡，衍生作品必須使用同樣的CC條款，也就是說，CC-by-sa的作品，無法改用GFDL授權。（除非所有原作者同意）  

在CC-by-sa 3.0起，導入了新的相容性機制，CC-by-sa的衍生作品可以更改成CC組織所認可的授權方式。這有什麼影響呢？如果有兩篇文章，一篇是GFDL，另一篇是CC-by-sa；你想把其中一篇的部分文字截取，放到另一篇，可以嗎？在CC 3.0之前這是不行的（除非在合理使用下的引用）。因為GFDL的文字要求合成後需要用GFDL，不可以用CC-by-sa；而CC-by-sa（3.0以前）的文字要求合成後需要用CC-by-sa，不可以用GFDL。CC 3.0版之後，達成了單向相容，你可以把兩篇合成之後，改用GFDL授權。

Jimbo所公佈的這件事情，對我而言最重要的是，FSF的代表出席並同意了修改GFDL，讓GFDL的作品也可以改用CC-by-sa授權——這就代表了「雙向相容」的來臨，兩種最大的文件copyleft授權條款，彼此都可以任何更改成對方的授權方式。  可以說，在某種意義上，這使得作品更加「自由」了，創作者也不用採取像GFDL/CC-by-sa雙授權這種麻煩的方式。  如同Jimbo所說，GFDL的確是一個好的授權條款，但是他當初所設計的目的還是為了應用在程式文件上。「恆常章節」、「透明版本」、「最後修改的5個人」等較為複雜的設計，卻讓使用者在應用時會遭受到一些小麻煩（雖然不是不可解決）。我認為CC-by-sa對於使用者而言是相對方便的，由其是在小量（印出單一條目）的使用情況下。

這是一個很大的進步，受惠的不只Wikipedia，而是所有採用CC-by-sa及GFDL的創作者。
※本文採用CC-by-sa授權條款。 
		]]>
	</description>
	<content:encoded><![CDATA[
			這是我今年聽過最酷的事情！<a href="http://zh.wikipedia.org/w/index.php?title=吉米·威爾士&variant=zh-tw">Jimbo</a>，你太了不起了！  

<br /><br />首先要說明的是：在現有的GFDL之下，wikipedia是無法轉用CC的。原因是GFDL要求他的衍生版本也在GFDL授權之下，而FSF（自由軟體基金會）雖然認同CC-by-sa的「精神」和GFDL相同，但是法律條文的細節卻造成了兩者實質上不相容。  <br /><br />CC組織其實在約2005年就注意到這問題，也努力在促進兩者的相容性，但事情一直沒有進展。所謂的Share-alike（相同方式分享），來自於FSF所推動的 '<a href="http://www.gnu.org/copyleft/">copyleft</a>' 觀念。在早期的CC條款裡，衍生作品必須使用同樣的CC條款，也就是說，CC-by-sa的作品，無法改用GFDL授權。（除非所有原作者同意）  

<br /><br />在CC-by-sa 3.0起，導入了新的相容性機制，CC-by-sa的衍生作品可以更改成CC組織所認可的授權方式。這有什麼影響呢？如果有兩篇文章，一篇是GFDL，另一篇是CC-by-sa；你想把其中一篇的部分文字截取，放到另一篇，可以嗎？在CC 3.0之前這是不行的（除非在合理使用下的引用）。因為GFDL的文字要求合成後需要用GFDL，不可以用CC-by-sa；而CC-by-sa（3.0以前）的文字要求合成後需要用CC-by-sa，不可以用GFDL。CC 3.0版之後，達成了單向相容，你可以把兩篇合成之後，改用GFDL授權。

<br /><br /><a href="http://blog.jamendo.com/index.php/2007/12/01/breaking-news-wikipedia-switches-to-creative-commons/">Jimbo所公佈的這件事情</a>，對我而言最重要的是，FSF的代表出席並同意了修改GFDL，讓GFDL的作品也可以改用CC-by-sa授權——這就代表了「雙向相容」的來臨，兩種最大的文件copyleft授權條款，彼此都可以任何更改成對方的授權方式。  可以說，在某種意義上，這使得作品更加「自由」了，創作者也不用採取像GFDL/CC-by-sa雙授權這種麻煩的方式。  如同Jimbo所說，GFDL的確是一個好的授權條款，但是他當初所設計的目的還是為了應用在程式文件上。「恆常章節」、「透明版本」、「最後修改的5個人」等較為複雜的設計，卻讓使用者在應用時會遭受到一些小麻煩（雖然不是不可解決）。我認為CC-by-sa對於使用者而言是相對方便的，由其是在小量（印出單一條目）的使用情況下。

<br /><br />這是一個很大的進步，受惠的不只Wikipedia，而是所有採用CC-by-sa及GFDL的創作者。
<br /><br />※本文採用CC-by-sa授權條款。 				]]>
	</content:encoded>
	<link>http://blog.roodo.com/fauztech/archives/4575549.html</link>
	<guid>http://blog.roodo.com/fauztech/archives/4575549.html</guid>
	<category>資訊思考</category>
	<pubDate>Mon, 03 Dec 2007 16:59:51 +0800</pubDate>
</item>
<item>
	<title>Ajax時代來臨</title>
	<description><![CDATA[
			時代的改變是很快的。大約十二年前，網際網路開始發展。2004年4月，GMail；2005年2月，Google Maps。同年同月，Jesse James Garrett將某幾項技術取了個簡稱叫AJAX。從此以後，一切就都不同了。《Ajax實戰手冊》這本書1.1.5節的標題是：忘掉Web。忘掉習以為常的一切，為的是重新獲得新能力。網路界常常說一句話：「內容是王」。這句話在Ajax時代仍然適用，只不過有一點不同：瀏覽器不再是內容的容器。「航網」（navigations）皆在單一頁面內完成，這是Ajax的特性。瀏覽器裡的是應用程式。瀏覽器裡的應用程式會愈來愈多，辦公室軟體已經出現，當然，會出現的也包括「瀏覽器」應用程式。這種瀏覽器裡的瀏覽器是特化的，提供讀者更好的網路經驗，或著作某些特定用途。 一般網民認定網頁是內容而反對這種變化，是可以理解的。「網頁是應用程式」這個概念還不在一般人的常識之中。人們終究會採納這個新觀念嗎？時間會告訴我們答案。 
		]]>
	</description>
	<content:encoded><![CDATA[
			<p>時代的改變是很快的。大約十二年前，網際網路開始發展。2004年4月，GMail；2005年2月，Google Maps。同年同月，<a href="http://en.wikipedia.org/wiki/Jesse_James_Garrett">Jesse James Garrett</a>將某幾項技術取了個簡稱叫<strong>AJAX</strong>。從此以後，一切就都不同了。</p><p>《Ajax實戰手冊》這本書1.1.5節的標題是：忘掉Web。忘掉習以為常的一切，為的是重新獲得新能力。網路界常常說一句話：「內容是王」。這句話在Ajax時代仍然適用，只不過有一點不同：瀏覽器不再是內容的容器。</p><p>「航網」（navigations）皆在單一頁面內完成，這是Ajax的特性。瀏覽器裡的是應用程式。瀏覽器裡的應用程式會愈來愈多，辦公室軟體已經出現，當然，會出現的也包括「瀏覽器」應用程式。這種瀏覽器裡的瀏覽器是特化的，提供讀者更好的網路經驗，或著作某些特定用途。 </p><p>一般網民認定網頁是內容而反對這種變化，是可以理解的。「網頁是應用程式」這個概念還不在一般人的常識之中。人們終究會採納這個新觀念嗎？時間會告訴我們答案。 </p>				]]>
	</content:encoded>
	<link>http://blog.roodo.com/fauztech/archives/3994625.html</link>
	<guid>http://blog.roodo.com/fauztech/archives/3994625.html</guid>
	<category>資訊思考</category>
	<pubDate>Fri, 24 Aug 2007 00:26:18 +0800</pubDate>
</item>
</channel>
</rss>