<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/main.xsl"?>
<b:blog xmlns="http://www.w3.org/1999/xhtml" xmlns:b="http://blog.othree.net"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://blog.othree.net http://blog.othree.net/blooog.xsd">
	<b:blogTitle>O3noBLOG</b:blogTitle>
	<b:blogDescription></b:blogDescription>
	<b:entries>
		<b:entriesMeta>
			<b:listType>m</b:listType>
			<b:listData listID="2008-03">March 2008</b:listData>

			<b:previous>
				<b:mTitle>February 2008</b:mTitle>
				<b:mDate>2008/02</b:mDate>
			</b:previous>


			<b:next>
				<b:mTitle>April 2008</b:mTitle>
				<b:mDate>2008/04</b:mDate>				
			</b:next>

		</b:entriesMeta>

		<b:entry entryID="000503" baseName="accident-always-happens">
			<b:author>
				<b:authorName>othree</b:authorName>
				<b:authorEmail>othree@gmail.com</b:authorEmail>
				<b:authorUrl></b:authorUrl>
			</b:author>
			<b:datetime>
				<b:date>2008-03-30</b:date>
				<b:time>21:36:27</b:time>
			</b:datetime>
			<b:category>diary</b:category>
			<b:title>行程總是充滿變數</b:title>
			<b:content>
				<b:summary> 昨天去新竹參加HappyDesigner第三次聚會，是我遇到最多意外的一次行程。本來的計畫是早上做高鐵在搭轉乘車和公車到城隍廟那買點土產，接著搭公車回清大附近參加活動，晚上再搭轉乘車到高鐵車站。實在沒想到，從一開始救出意外了，高鐵竟然因為延誤所以停賣車票，我實在無法想像列車延誤怎麼會做出停賣車票的動作，還好我只是到新竹，要去高雄的人遇到這狀況不會慌了手腳才怪，我後來就改搭台鐵的火車下新竹，大概花了一個半小時，原來搭高鐵的話雖然只要半小時就到竹北，不過搭轉乘車到新竹火車站也要二三十分，整體而言是慢了半小時，因此買土產的部份就要加速進行才行。 到了新竹之後，我才發現我之前印的地圖忘了帶，而這是因為我早上找不到我原來要用的背包，最後就忘了把地圖帶出門，結果只好到便利商店隨便買一本，然後用走的到城隍廟附近，本來還想去拍幾張照片的，因為時間緊迫就放棄，連買土產的店家都和於來計畫的不一樣，買完土產後就要去找公車站牌了，目標是1路，沒想到我竟然找不到&lt;O&gt;，最後是走回火車站那等，不過我懷疑我是不是等錯地方，我的對向是有1路站牌，但是我這邊卻看不到，眼看對面都跑了四五輛過去，我這邊還是一台都沒有，活動也快開始了，只好搭了新竹名產的百元起跳小黃。 到清大附近之後，沒先把地圖準備好的惡報真正的襲來了，其實因為沒網路又帶地圖，我只記得那條路和復興路平行，假設是XX一路的話，有條和他垂直的就叫XX路，然後，我就困在建功路和建功一路的無限輪迴地獄之中...orz。在那邊困了半小時我只好花了300買了wifly到85度C上網查，一開始查了兩三次都還沒發現我根本找錯路，後來才終於發現金牛頓是在建中一路，才一路辛苦的走到正確的方向，最後到會場已經遲到快一個小時，tcc的第一場完全都錯過了，只好苦等影片了。...</b:summary>
				<b:mainContent><p><a href="http://www.flickr.com/photos/jwbai/2372351857/" title="Flickr 上 jwbai 的 RIMG0052-1"><img src="http://farm3.static.flickr.com/2201/2372351857_965fb8504a_m.jpg" width="180" height="240" alt="RIMG0052-1" /></a></p>

<p>昨天去新竹參加<a href="http://blog.happydesigner.org/2008/03/happydesigner_30.html">HappyDesigner第三次聚會</a>，是我遇到最多意外的一次行程。本來的計畫是早上做高鐵在搭轉乘車和公車到城隍廟那買點土產，接著搭公車回清大附近參加活動，晚上再搭轉乘車到高鐵車站。實在沒想到，從一開始救出意外了，高鐵竟然因為延誤所以停賣車票，我實在無法想像列車延誤怎麼會做出停賣車票的動作，還好我只是到新竹，要去高雄的人遇到這狀況不會慌了手腳才怪，我後來就改搭台鐵的火車下新竹，大概花了一個半小時，原來搭高鐵的話雖然只要半小時就到竹北，不過搭轉乘車到新竹火車站也要二三十分，整體而言是慢了半小時，因此買土產的部份就要加速進行才行。</p>

<p>到了新竹之後，我才發現我之前印的地圖忘了帶，而這是因為我早上找不到我原來要用的背包，最後就忘了把地圖帶出門，結果只好到便利商店隨便買一本，然後用走的到城隍廟附近，本來還想去拍幾張照片的，因為時間緊迫就放棄，連買土產的店家都和於來計畫的不一樣，買完土產後就要去找公車站牌了，目標是1路，沒想到我竟然找不到&lt;O&gt;，最後是走回火車站那等，不過我懷疑我是不是等錯地方，我的對向是有1路站牌，但是我這邊卻看不到，眼看對面都跑了四五輛過去，我這邊還是一台都沒有，活動也快開始了，只好搭了新竹名產的百元起跳小黃。</p>

<p>到清大附近之後，沒先把地圖準備好的惡報真正的襲來了，其實因為沒網路又帶地圖，我只記得那條路和復興路平行，假設是XX一路的話，有條和他垂直的就叫XX路，然後，我就困在建功路和建功一路的無限輪迴地獄之中...orz。在那邊困了半小時我只好花了300買了wifly到85度C上網查，一開始查了兩三次都還沒發現我根本找錯路，後來才終於發現金牛頓是在建<strong>中</strong>一路，才一路辛苦的走到正確的方向，最後到會場已經遲到快一個小時，tcc的第一場完全都錯過了，只好苦等影片了。</p></b:mainContent>
				<b:extendContent></b:extendContent>
			</b:content>

			<b:comments commentCount="2"></b:comments>


			<b:trackbacks trackbackCount="0"></b:trackbacks>

		</b:entry>

		<b:entry entryID="000502" baseName="happy-designer-meetup-3-slides">
			<b:author>
				<b:authorName>othree</b:authorName>
				<b:authorEmail>othree@gmail.com</b:authorEmail>
				<b:authorUrl></b:authorUrl>
			</b:author>
			<b:datetime>
				<b:date>2008-03-30</b:date>
				<b:time>01:08:07</b:time>
			</b:datetime>
			<b:category>web</b:category>
			<b:title>HappyDesigner 第三次聚會 投影片</b:title>
			<b:content>
				<b:summary> 題目是「五分鐘講五十張投影片」，有需要的請自取:P，其他講者的投影片可以在HappyDesigner新的Google Site裡找到。 今天發生很多計畫之外的事，不過我現在很累了，明後天還有想到再說吧，不過要先特別感謝ihoower回程送我到高鐵站。...</b:summary>
				<b:mainContent><p><div style="width:425px;text-align:left" id="__ss_326751"><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=base2-1206796721916840-3"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=base2-1206796721916840-3" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div></p>

<p>題目是「五分鐘講五十張投影片」，有需要的請<a href="http://blog.othree.net/log/2008/03/30/happy-designer-meetup-3-slides/base2.pdf">自取</a>:P，其他講者的投影片可以在<a href="http://sites.google.com/a/happydesigner.org/happydesigner-meetup/Home/HappyDesigner-Meetup-No-3">HappyDesigner新的Google Site</a>裡找到。</p>

<p>今天發生很多計畫之外的事，不過我現在很累了，明後天還有想到再說吧，不過要先特別感謝<a href="http://ihower.idv.tw/blog/">ihoower</a>回程送我到高鐵站。</p></b:mainContent>
				<b:extendContent></b:extendContent>
			</b:content>

			<b:comments commentCount="0"></b:comments>


			<b:trackbacks trackbackCount="0"></b:trackbacks>

		</b:entry>

		<b:entry entryID="000501" baseName="opera-passes-acid3-first">
			<b:author>
				<b:authorName>othree</b:authorName>
				<b:authorEmail>othree@gmail.com</b:authorEmail>
				<b:authorUrl></b:authorUrl>
			</b:author>
			<b:datetime>
				<b:date>2008-03-27</b:date>
				<b:time>10:54:19</b:time>
			</b:datetime>
			<b:category>web</b:category>
			<b:title>Opera成為第一個通過Acid 3測試的瀏覽器</b:title>
			<b:content>
				<b:summary>繼前幾天的Safari 95分和昨天的Opera 98分後，今天一起床就看到Opera最新的build通過Acid 3，達到一百分的消息，時間是當地時間26日下午四點，各相關網路媒體也都爭相報導，其實Safari也在同一天下午六點（不過時區差幾小時我不知道）達到100分了，不過相關新聞看得到Safari這個字的都是在說這場勝負是Opera勝出，並不是報導Safari也同樣通過Acid 3測試了。 hlb長輩說的好：「真像軍備競賽。」我想接下來WaSP就要趕快推出Acid 4，然後W3C要趕快發展更多新標準才不會被瀏覽器方追上了（誤）。...</b:summary>
				<b:mainContent><p>繼前幾天的<a href="http://webkit.org/blog/167/webkit-gets-an-a-on-acid3/">Safari 95分</a>和昨天的<a href="http://annevankesteren.nl/2008/03/acid3-opera-98">Opera 98分</a>後，今天一起床就看到Opera最新的build通過<a href="http://acid3.acidtests.org/">Acid 3</a>，<a href="http://operawatch.com/news/2008/03/opera-first-browser-to-pass-acid3-test.html">達到一百分</a>的消息，時間是當地時間26日下午四點，各相關網路媒體也都爭相報導，其實Safari也在同一天下午六點（不過時區差幾小時我不知道）<a href="http://webkit.org/blog/173/webkit-achieves-acid3-100100-in-public-build/">達到100分</a>了，不過相關新聞看得到Safari這個字的都是在說<a href="http://www.neowin.net/news/main/08/03/26/battle-for-full-acid3-compliance-won-by-opera">這場勝負是Opera勝出</a>，並不是報導Safari也同樣通過Acid 3測試了。 hlb長輩說的好：「真像軍備競賽。」我想接下來<a href="http://www.webstandards.org/">WaSP</a>就要趕快推出Acid 4，然後<a href="http://www.w3.org"><span class="caps">W3C</span></a>要趕快發展更多新標準才不會被瀏覽器方追上了（誤）。</p></b:mainContent>
				<b:extendContent></b:extendContent>
			</b:content>

			<b:comments commentCount="0"></b:comments>


			<b:trackbacks trackbackCount="0"></b:trackbacks>

		</b:entry>

		<b:entry entryID="000500" baseName="auto-complete-on-vim">
			<b:author>
				<b:authorName>othree</b:authorName>
				<b:authorEmail>othree@gmail.com</b:authorEmail>
				<b:authorUrl></b:authorUrl>
			</b:author>
			<b:datetime>
				<b:date>2008-03-23</b:date>
				<b:time>00:01:58</b:time>
			</b:datetime>
			<b:category>vim</b:category>
			<b:title>vim的自動完成</b:title>
			<b:content>
				<b:summary>我食言了，上一篇文章發完後，我還是一直在搞vim的設定，基本上都是在弄自動完成的部份，我是很希望弄到像Visual Studio新版那樣，邊打字選項就會邊過濾，物件的結構程式也都會知道，要拿物件的屬性時，自動完成也能正確顯示選擇，就這樣弄了好一陣子，昨天晚上我終於成功了，不過又遇到syntax complete在windows會出錯的奇怪現象，一直搞到凌晨四點，連CLANNAD都忘了看還是沒有解決，一直到今天才成功迴避這個錯誤。 現在我vim關於自動完成相關的plugin有四個：supertab、snippetsEmu、OmniCppCompletion、autocomplpop。supertab是用Tab鍵觸發自動完成功能用的，本來要使用Omni Auto Completion要先按Ctrl+X再按Ctrl+O，很不方便。snippetsEmu則是用關鍵字完成一段預先設定的內容，舉例來說，我只要輸入"doc4s"，再按Tab就可以插入完整的HTML 4 Strict文件宣告，這功能可以減少很多重複的工作，像是if迴圈、for迴圈都可以用這個功能來快速完成。這兩個我之前都有介紹過，而剩下的兩個剛好就一個完成我的一個需求，OmniCppCompletion讓我可以在編寫物件導向程式時有更完整的自動完成功能，autocomplpop讓自動完成的選項在你輸入時就自動出現，並且隨著你輸入的內容不斷過濾選項。...</b:summary>
				<b:mainContent><p>我食言了，<a href="http://blog.othree.net/log/2008/02/29/vim-1/">上一篇文章</a>發完後，我還是一直在搞vim的設定，基本上都是在弄自動完成的部份，我是很希望弄到像Visual Studio新版那樣，邊打字選項就會邊過濾，物件的結構程式也都會知道，要拿物件的屬性時，自動完成也能正確顯示選擇，就這樣弄了好一陣子，昨天晚上我終於成功了，不過又遇到syntax complete在windows會出錯的奇怪現象，一直搞到凌晨四點，連CLANNAD都忘了看還是沒有解決，一直到今天才成功迴避這個錯誤。</p>

<p>現在我vim關於自動完成相關的plugin有四個：<a href="http://www.vim.org/scripts/script.php?script_id=182">supertab</a>、<a href="http://www.vim.org/scripts/script.php?script_id=1318">snippetsEmu</a>、<a href="http://www.vim.org/scripts/script.php?script_id=1520">OmniCppCompletion</a>、<a href="http://www.vim.org/scripts/script.php?script_id=1879">autocomplpop</a>。supertab是用Tab鍵觸發自動完成功能用的，本來要使用Omni Auto Completion要先按Ctrl+X再按Ctrl+O，很不方便。snippetsEmu則是用關鍵字完成一段預先設定的內容，舉例來說，我只要輸入"doc4s"，再按Tab就可以插入完整的HTML 4 Strict文件宣告，這功能可以減少很多重複的工作，像是if迴圈、for迴圈都可以用這個功能來快速完成。這兩個我之前都有介紹過，而剩下的兩個剛好就一個完成我的一個需求，OmniCppCompletion讓我可以在編寫物件導向程式時有更完整的自動完成功能，autocomplpop讓自動完成的選項在你輸入時就自動出現，並且隨著你輸入的內容不斷過濾選項。</p></b:mainContent>
				<b:extendContent><p>OmniCppCompletion雖然功能強大，不過還沒辦法做到和Visual Studio那樣即時反應，必須要藉由<a href="http://ctags.sourceforge.net/">ctags</a>來建立tags檔案紀錄資訊才可以用，說明文件有提到透過keybinding來建立tags檔案的方法，是讓方便性提昇不少，每寫完一個class的介面按一下就可以了，不過我還是希望能做到更即時的效果，之後還會繼續找相關的文件。OmniCppCompletion在安裝和使用上比較沒什麼問題，只是檔案多了點，又沒有用vimball封裝，在linux上要用命令列裝比較麻煩。</p>

<p>至於autocomplpop這個套件在安裝和使用上我就遇到比較多問題了，原本我除了特定幾個檔案類型有設定對應的omnifunc外，其他的都是設定用syntax complete，要使用syntax檔案的定義來做自動完成，不過這個function在windows不知道為什麼一直會出錯，加上這功能是自動觸發的，所以我在安裝測試的時後就不斷的看到錯誤訊息，如果我不設定omnifunc的話，也會一直看到omnifunc不存在的訊息，最後我只好自己寫一個nullcomplete.vim放在autoload目錄裡面。</p>

<pre><code>function! nullcomplete#Complete(findstart, base)
    if a:findstart
        return -1
    else
        return []
    endif
endfunc</code></pre>

<p>這個nullcomplete是直接回傳沒有相符的資料，接著把沒有檔案類型的omnifunc設成它，vimrc裡看起來像這樣：</p>

<pre><code>setl omnifunc=nullcomplete#Complete
autocmd FileType * setl omnifunc=nullcomplete#Complete
autocmd FileType python setl omnifunc=pythoncomplete#Complete
autocmd FileType javascript setl omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html setl omnifunc=htmlcomplete#CompleteTags noci
autocmd FileType css setl omnifunc=csscomplete#CompleteCSS noci
autocmd FileType xml setl omnifunc=xmlcomplete#CompleteTags
autocmd FileType php setl omnifunc=phpcomplete#CompletePHP
autocmd FileType c setl omnifunc=ccomplete#Complete</code></pre>

<p>除了這個問題之外，autocomplpop其實也是有看你輸入的東西來決定要不要執行自動完成，不過預設支援的只有ruby、scheme、(x)html這幾種檔案格式，其他的只會做檔案內的關鍵字自動完成（自動完成出現過的字），於是我做了一分給CSS用的設定，一樣放在vimrc裡就可以了：</p>

<pre><code>let g:AutoComplPop_Behavior = {
      \   'css' : [
      \     {
      \       'command'  : &quot;\&amp;lt;C-n&amp;gt;&quot;,
      \       'pattern'  : '\k\k$',
      \       'excluded' : '{|}|^$',
      \       'repeat'   : 0,
      \     },
      \     {
      \       'command'  : &quot;\&amp;lt;C-x&gt;\&amp;lt;C-f&amp;gt;&quot;,
      \       'pattern'  : (has('win32') || has('win64') ? '\f[/\\]\f*$' : '\f[/]\f*$'),
      \       'excluded' : '[*/\\][/\\]\f*$\|[^[:print:]]\f*$',
      \       'repeat'   : 1,
      \     },
      \     {
      \       'command'  : &quot;\&amp;lt;C-x&amp;gt;\&amp;lt;C-o&amp;gt;&quot;,
      \       'pattern'  : '\k$',
      \       'excluded' : '^$',
      \       'repeat'   : 1,
      \     },
      \     {
      \       'command'  : &quot;\&amp;lt;C-x&amp;gt;\&amp;lt;C-o&amp;gt;&quot;,
      \       'pattern'  : '\k*\: ',
      \       'excluded' : '^$',
      \       'repeat'   : 1,
      \     },
      \   ],
      \ }</code></pre>

<p>這樣是處理完我遇到的幾個問題，不過我要給遠端的linux主機套用時卻又遇到不一樣的問題，沒想到autocomplpop要vim 7.1才支援，7.0還不行，結果為了這個問題折騰一下午，最後晚上用ssh遠端把ubuntu從7.04升級，說實在的還蠻刺激的，只不過我不知道現在是變7.10還是8.04就是XD。</p>

<p>現在雖然可以用，不過其實系統還有點神秘，首先是根據autocomplpop.vim檔案內的預設，其實除了上面四種檔案以外，應該只有實體檔案名稱自動完成和關鍵字自動完成，但是我每次測試它都會執行omni auto completion，不然就是我搞錯ctrl+n的功能設定了。另外就是syntax completion在windows上搞不定的錯誤訊息，實在非常惱人，它錯就算了，最讓人搞不懂的是，有時候它丟出一堆錯誤後就正常運作了。另外我的nullcomplete雖然是回傳沒符合的，但實際上總是會跑出一個。</p>

<p class="update">補充：autocomplpop新版已經對CSS和HTML檔案的行為有新的預設了。</p></b:extendContent>
			</b:content>

			<b:comments commentCount="4"></b:comments>


			<b:trackbacks trackbackCount="0"></b:trackbacks>

		</b:entry>

		<b:entry entryID="000499" baseName="hello-windows">
			<b:author>
				<b:authorName>othree</b:authorName>
				<b:authorEmail>othree@gmail.com</b:authorEmail>
				<b:authorUrl></b:authorUrl>
			</b:author>
			<b:datetime>
				<b:date>2008-03-21</b:date>
				<b:time>17:45:43</b:time>
			</b:datetime>
			<b:category>diary</b:category>
			<b:title>Hello Windows</b:title>
			<b:content>
				<b:summary>ニコニコ真是讓日本創作人提供了很棒的發表平台，各種讓人驚艷的創作不斷的冒出，今天我要特別介紹的是Hello Windows。 【ニコニコ動画】Hello Windows Hello Windows是用Windows是用內建的各種音效編曲而成的一首音樂，之後也有人再改編，甚至寫詞來唱，而今天halyosy（森晴義）也發表了他改編後填詞自唱的版本： 【ニコニコ動画】「Hello Windows」にオリジナル曲「Window」を混ぜてみた 一聽真是驚為天人，一下午就repeat好幾遍，之後特別看了歌詞內容，實在是很符合Windows音效做的歌曲這點特色。...</b:summary>
				<b:mainContent><p>ニコニコ真是讓日本創作人提供了很棒的發表平台，各種讓人驚艷的創作不斷的冒出，今天我要特別介紹的是Hello Windows。</p>

<p><iframe width="312" height="176" title="【ニコニコ動画】Hello Windows" src="http://www.nicovideo.jp/thumb/sm2322242" scrolling="no" style="border:solid 1px #CCC;" frameborder="0"><a href="http://www.nicovideo.jp/watch/sm2322242">【ニコニコ動画】Hello Windows</a></iframe></p>

<p>Hello Windows是用Windows是用內建的各種音效編曲而成的一首音樂，之後也有人再改編，甚至寫詞來唱，而今天halyosy（森晴義）也發表了他改編後填詞自唱的版本：</p>

<p><iframe width="312" height="176" title="【ニコニコ動画】「Hello Windows」にオリジナル曲「Window」を混ぜてみた" src="http://www.nicovideo.jp/thumb/sm2721967" scrolling="no" style="border:solid 1px #CCC;" frameborder="0"><a href="http://www.nicovideo.jp/watch/sm2721967">【ニコニコ動画】「Hello Windows」にオリジナル曲「Window」を混ぜてみた</a></iframe></p>

<p>一聽真是驚為天人，一下午就repeat好幾遍，之後特別看了歌詞內容，實在是很符合Windows音效做的歌曲這點特色。</p></b:mainContent>
				<b:extendContent><blockquote cite="http://www.halyosy.com/2008/03/hello-windowswindow.php#more">

<p>Window / halyosy</p>

<p>　・歌　：that, is, halyosy<br />
　・作詞作曲　：halyosy<br />
　・アレンジ　：halyosy &amp; is<br />
　・映像編集　：halyosy</p>

<p>Wake up 生きとし生けるもの芽吹き出す<br />
Power on 窓の外で僕を呼ぶ声<br />
Log in 指先で打つ心のRhythm<br />
Online 本当は誰かに気付いて欲しい</p>

<p>まだ見ぬ世界で君が待ってる<br />
0と1の海を越え探しに行こう</p>

<p>本当の名前も<br />
本当の顔さえ<br />
本当の言葉も<br />
本当の声さえ<br />
どれが君かなんて<br />
どうでも僕はいいんだ<br />
ただただ逢いたくて<br />
はなはだ恋してんだ<br />
Movin' on ... 'Cause I love you<br />
Movin' on ... 'Cause I love you<br />
Face to face 君と僕の心を</p>

<p>開け放て Window</p>

<p>Browser 立ち上げ Brother 教えて Game の裏技<br />
立て続けて新着マイミク即許可しなきゃ日記が読めません<br />
すぐ Wiki Wiki to Chat<br />
調べたうんちく今にも誰かに知らせちゃう<br />
さぁニコニコ My Space UpLoad 待ちです<br />
独りじゃ心が保ちません作業用BGM</p>

<p>Virtual な世界くまなく隅々探てきた<br />
もうそろそろ Future の伴侶見つかる頃でもいいじゃないの？<br />
そうところで父ちゃん How to 母ちゃん口説いたん<br />
あーだこーだあっちゃこっちゃいっちゃ<br />
はちゃめちゃむっちゃしてやんちゃ</p>

<p>開け放て Window</p>

<p>まだ見ぬ世界で君が待ってる<br />
0と1の海を越え探しに行こう</p>

<p>本当の名前も<br />
本当の顔さえ<br />
本当の言葉も<br />
本当の声さえ<br />
どれが君かなんて<br />
どうでも僕はいいんだ<br />
ただただ逢いたくて<br />
はなはだ恋してんだ<br />
Movin' on ... All 'cause of you<br />
Movin' on ... 'Cause I love you<br />
Face to face 君と僕の心を</p>

<p>開け放て Window</p>

<p>Power off 二人の手で窓を閉じたら<br />
Let it go 君と僕の旅に出掛けよう</p>

</blockquote>

<p>其實halyosy是職業的音樂人，2001年組成<strong>absorb</strong>這個團體，之前就已經在ニコニコ上發表幾首評價很高的作品，這次則是連我都被震撼到了。</p>


<ul>
<li><a href="http://www.absorbweb.com/">absorb</a></li>
<li><a href="http://www.halyosy.com/">halyosy</a></li>
</ul>

</b:extendContent>
			</b:content>

			<b:comments commentCount="0"></b:comments>


			<b:trackbacks trackbackCount="0"></b:trackbacks>

		</b:entry>

		<b:entry entryID="000498" baseName="addevent">
			<b:author>
				<b:authorName>othree</b:authorName>
				<b:authorEmail>othree@gmail.com</b:authorEmail>
				<b:authorUrl></b:authorUrl>
			</b:author>
			<b:datetime>
				<b:date>2008-03-20</b:date>
				<b:time>23:27:21</b:time>
			</b:datetime>
			<b:category>script</b:category>
			<b:title>addEvent()</b:title>
			<b:content>
				<b:summary>Dean Edwards寫的這個函式一直是我愛用的檔案，可以在各種瀏覽器上都正常的處理事件的指派，一般而言，事件的指派除了IE的attachEvent和W3C的addEventListenr外，還有一個最傳統的方法就是直接設定該elementNode的屬性，要指派click事件就可以寫成elem.onclick = func;，不過這個方法有個缺點是一個element的同一種事件只能指定一個function，因此一般而言都還是會使用attachEvent和addEventListener。...</b:summary>
				<b:mainContent><p><a href="http://dean.edwards.name/">Dean Edwards</a>寫的這個函式一直是我愛用的檔案，可以在各種瀏覽器上都正常的處理事件的指派，一般而言，事件的指派除了IE的attachEvent和W3C的addEventListenr外，還有一個最傳統的方法就是直接設定該elementNode的屬性，要指派click事件就可以寫成<code>elem.onclick = func;</code>，不過這個方法有個缺點是一個element的同一種事件只能指定一個function，因此一般而言都還是會使用attachEvent和addEventListener。</p></b:mainContent>
				<b:extendContent><p>不過在2005年八月的時候Peter-Paul Koch發現attachEvent的兩個問題，發表在<a href="http://www.quirksmode.org/blog/archives/2005/08/addevent_consid.html">addEvent() considered harmful</a>這篇文章裡，他發現的兩個問題分別是可能會造成記憶體缺漏和<code>this</code>這個關鍵字的錯誤定義，正常來說this應該是指事件指派的element，但是attachEvent卻會讓他變成window這個物件，而在這篇文章之後，他就舉辦了一次比賽希望有人能解決這個問題。</p>

<p>Dean Edwards就是在這時候寫了<a href="
http://dean.edwards.name/my/events.js">events.js</a>這個檔案的，其實我一直以為Dean Edwards就是這次比賽的勝者了，直到昨天我才發現勝者其實是John Resig，jQuery的開發者，同時也是Pro Javascript Technique的作者，他寫出來的code非常精簡，只有15行，不過有些小缺憾，Koch還有簡單修改過，放在<a href="http://www.quirksmode.org/blog/archives/2005/10/_and_the_winner_1.html">... and the winner is ...</a>這篇文章裡，他的script可以解決上面提到的問題，但是他至少要瀏覽器支援addEventListener或attachEvent其中一個function，像是Mac版的IE5就剛好兩邊都不支援，用這個script就會沒反應，因此我還是比較喜歡Dean Edwards的版本，他的版本則是addEventListener和傳統方法擇一，因此即使兩個function都不支援，還是可以正常運作，根據測試，連IE4和NN4都可以用，唯一的問題是還有多少人會用這兩款瀏覽器了XD。</p>

<p>其他補充一下：IE7正式版還是沒支援addEventListener。</p></b:extendContent>
			</b:content>

			<b:comments commentCount="0"></b:comments>


			<b:trackbacks trackbackCount="0"></b:trackbacks>

		</b:entry>

		<b:entry entryID="000497" baseName="tfoot">
			<b:author>
				<b:authorName>othree</b:authorName>
				<b:authorEmail>othree@gmail.com</b:authorEmail>
				<b:authorUrl></b:authorUrl>
			</b:author>
			<b:datetime>
				<b:date>2008-03-17</b:date>
				<b:time>00:25:41</b:time>
			</b:datetime>
			<b:category>css-html</b:category>
			<b:title>tfoot</b:title>
			<b:content>
				<b:summary>tfoot是table裡面用來把表格列群組化用的標籤之一，專門用在表格底端的表格列，不過要注意的是他不能放在tbody之後，而是要用thead、tfoot、tbody這樣的順序才對。...</b:summary>
				<b:mainContent><p><a href="http://www.w3.org/TR/html401/struct/tables.html#h-11.2.3">tfoot</a>是table裡面用來把表格列群組化用的標籤之一，專門用在表格底端的表格列，不過要注意的是他不能放在tbody之後，而是要用thead、tfoot、tbody這樣的順序才對。</p></b:mainContent>
				<b:extendContent></b:extendContent>
			</b:content>

			<b:comments commentCount="3"></b:comments>


			<b:trackbacks trackbackCount="0"></b:trackbacks>

		</b:entry>

		<b:entry entryID="000496" baseName="happydesigner-event-3">
			<b:author>
				<b:authorName>othree</b:authorName>
				<b:authorEmail>othree@gmail.com</b:authorEmail>
				<b:authorUrl></b:authorUrl>
			</b:author>
			<b:datetime>
				<b:date>2008-03-15</b:date>
				<b:time>01:49:33</b:time>
			</b:datetime>
			<b:category>web</b:category>
			<b:title>HappyDesigner 第三次聚會</b:title>
			<b:content>
				<b:summary>距離上次已經不知道多久了，HappyDesigner終於要辦第三次聚會了，時間在3/29，地點還是在新竹，目前議程還在招募中，不過已經有以下幾個題目了： ericsk: jQuery &amp; UI tcc: 眾軟成頁 gugod: SPA網頁設計、pQuery與JavaScript ihower: Rails2's template 可以怎麼玩 (Rails2's respond_to method) EvenWu: 網頁識別與彈性...</b:summary>
				<b:mainContent><p>距離上次已經不知道多久了，<a href="http://happydesigner.org/blog/">HappyDesigner</a>終於要辦<a href="http://happydesigner.org/blog/2008/03/13/32">第三次聚會</a>了，時間在3/29，地點還是在新竹，目前議程還在招募中，不過已經有以下幾個題目了：</p>

<ul>
<li><a href="http://blog.ericsk.org/">ericsk</a>: jQuery &amp; UI</li>
<li><a href="http://blog.tcchou.org/">tcc</a>: 眾軟成頁</li>
<li><a href="http://blog.gugod.org/">gugod</a>: <span class="caps">SPA</span>網頁設計、pQuery與JavaScript</li>
<li><a href="http://ihower.idv.tw/blog/">ihower</a>: Rails2's template 可以怎麼玩 (Rails2's respond_to method)</li>
<li><a href="http://1pxcare.com/">EvenWu</a>: 網頁識別與彈性</li>
</ul></b:mainContent>
				<b:extendContent></b:extendContent>
			</b:content>

			<b:comments commentCount="0"></b:comments>


			<b:trackbacks trackbackCount="0"></b:trackbacks>

		</b:entry>

		<b:entry entryID="000495" baseName="old-cat-and-publish">
			<b:author>
				<b:authorName>othree</b:authorName>
				<b:authorEmail>othree@gmail.com</b:authorEmail>
				<b:authorUrl></b:authorUrl>
			</b:author>
			<b:datetime>
				<b:date>2008-03-14</b:date>
				<b:time>23:39:29</b:time>
			</b:datetime>
			<b:category>books</b:category>
			<b:title>老貓學出版</b:title>
			<b:content>
				<b:summary> 本書評由othree評論於2008/03/14，評分為5分（滿分5分），採創用 CC 姓名標示-相同方式分享 授權條款釋出。 現在我在Bloglines裡面訂閱的消息來源已經超過三百個了，不過很多的文章我都只是快速掃過，不少文章連標題都還沒看清楚就被我略過了，而老貓學出版是在這三百多個消息來源中，我少數會每篇新文章都從頭到尾看完的部落格，不過即使如此，我卻還是懶得回去看他之前的舊文章，數百篇的文章要在線上看完，那真是會讓我受不了，對於那些一直沒看過的好文，也只能怨歎相見恨晚了，不過就在今年，老貓把部落格上的精華文章整理出書了，我自然沒錯過這個好機會，從博客來訂了一本。 書的厚度是我本來預計的1.5倍厚，所以看起來花了不少時間，內容大概分為四大類，從編輯的入門、心得到果國內外市場分析都有，要我說我對這本書有什麼感想的話，其實沒有什麼特別的感想，只不過這些文章的內容我都很有興趣，在看完這本書之後，我試著思考為什麼我會對出版工作、市場一直有些興趣，或許和我收藏不少漫畫有關係，任何東西只要接觸多了，自然會對他越來越熟悉，即使只是漫畫，漸漸的也會在意起書籍的紙質、價錢定位、翻譯品質等等，如果有人問我國內漫畫哪家出板社的品質比較好，我不但可以馬上回答對方，還可以多講上一堆相關的東西。而最近一次我認真的想了解出版相關業務的其實就是在去年，也是因為漫畫的關係，因為aNobii網路書櫃的關係，我發現到尖端和長鴻兩間出版社出版的漫畫都沒有申請ISBN，我覺得這根本就是瞧不起漫畫的行為，即使尖端出版的書籍品質還不錯，甚至是早期品質最好的。寫信過去詢問，結果都沒的到正面的回應，尖端直接沒回信，長鴻則是有發公告說會在內部討論（因為當時不只我寫信去關切，不過時至今日，長鴻出版的漫畫依然沒ISBN），當時我就有去了解相關的作業流程，於是深切的瞭解到，申請ISBN一點也不難... 除了我對出版的工作事務有些興趣外，看完這本書後我明確的瞭解到編輯到底是幹什麼用的，不知道可不可以算是意外的收穫，這種感覺和我看交響情人夢一樣，看交響情人夢之前，我一直都不知道指揮到底是做什麼用的，看過之後，或許不能明確的講出來，但是我確實知道指揮在樂團中的地位為何。所以，編輯還真是辛苦，需要負責的東西實在比我原來所能想像到的東西多太多了。 最後我要回應一下老貓部落格上的調查，關於紙本和網路版本的閱讀經驗比較，我一直是比較喜歡紙本閱讀的，我實在無法想像要用電腦來看整本都是文字的書，所以即使很多原文書網路上都抓的到，我要看的話還是會用買的，而不考慮已經有書的狀況，即使文長都不長，像是老貓學出版那樣，我也不會有動力去翻過往的文章來看，對我來說太花時間了，進入網路時代後，除非是看小說看的很投入，我看書也會看一陣子就會看看網路上有沒有新文章，甚至網路上的文章看到一半跑去看有沒有其他地方有新文章，過陣子再回來看（有時候是幾天後，像我現在瀏覽器分頁裡就有兩三篇文章還沒看完），如果老貓沒出書的話，這些文章我大概一輩子都不會看到吧，而書中大概不到10篇是我在網上有看過的，不過網路版不是完全沒用，最新的文章依然只有網路上才有，當然如果紙本能像網路這樣方便迅速的就得到最新的內容的話，我大概還是會選紙本吧，這有點像我對電子書的期望，我的期望是目前技術還做不到的程度，我期望的理想電子書只要能開PDF就好，畫面不閃爍、解析度夠高（現在有些電子墨水的技術可以做出不閃爍的效果），輕薄，但是不用很短小，當然能折疊攜帶更好。 其他：寫這篇文章我才想到oc是怎麼來的XD。...</b:summary>
				<b:mainContent><div class="hreview" id="hreview-Pro-JavaScript-Techniques">
  <p class="item">
    <a class="fn url" href="http://jspro.org/"><img alt="老貓學出版" src="http://blog.othree.net/log/2008/03/14/old-cat-and-publish/oc.gif" class="photo"  width="150" height="210"/></a>
  </p>
  <p class="entry-info">
  本書評由<span class="reviewer vcard"><span class="fn nickname">othree</span></span>評論於<abbr class="dtreviewed" title="20080221">2008/03/14</abbr>，評分為<abbr title="5" class="rating">5分（滿分5分）</abbr>，採<a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/tw/deed.zh_TW">創用 CC 姓名標示-相同方式分享 授權條款</a>釋出。
  </p>
  <div class="description">
    <p>現在我在Bloglines裡面訂閱的消息來源已經超過三百個了，不過很多的文章我都只是快速掃過，不少文章連標題都還沒看清楚就被我略過了，而<a href="http://b-oo-k.net/blog/">老貓學出版</a>是在這三百多個消息來源中，我少數會每篇新文章都從頭到尾看完的部落格，不過即使如此，我卻還是懶得回去看他之前的舊文章，數百篇的文章要在線上看完，那真是會讓我受不了，對於那些一直沒看過的好文，也只能怨歎相見恨晚了，不過就在今年，老貓把部落格上的精華文章整理出書了，我自然沒錯過這個好機會，從博客來訂了一本。</p>
    <p>書的厚度是我本來預計的1.5倍厚，所以看起來花了不少時間，內容大概分為四大類，從編輯的入門、心得到果國內外市場分析都有，要我說我對這本書有什麼感想的話，其實沒有什麼特別的感想，只不過這些文章的內容我都很有興趣，在看完這本書之後，我試著思考為什麼我會對出版工作、市場一直有些興趣，或許和我收藏不少漫畫有關係，任何東西只要接觸多了，自然會對他越來越熟悉，即使只是漫畫，漸漸的也會在意起書籍的紙質、價錢定位、翻譯品質等等，如果有人問我國內漫畫哪家出板社的品質比較好，我不但可以馬上回答對方，還可以多講上一堆相關的東西。而最近一次我認真的想了解出版相關業務的其實就是在去年，也是因為漫畫的關係，因為<a href="http://www.anobii.com/">aNobii網路書櫃</a>的關係，我發現到尖端和長鴻兩間出版社出版的漫畫都沒有申請ISBN，我覺得這根本就是瞧不起漫畫的行為，即使尖端出版的書籍品質還不錯，甚至是早期品質最好的。寫信過去詢問，結果都沒的到正面的回應，尖端直接沒回信，長鴻則是有發公告說會在內部討論（因為當時不只我寫信去關切，不過時至今日，長鴻出版的漫畫依然沒ISBN），當時我就有去了解相關的作業流程，於是深切的瞭解到，申請ISBN一點也不難...</p>
    <p>除了我對出版的工作事務有些興趣外，看完這本書後我明確的瞭解到編輯到底是幹什麼用的，不知道可不可以算是意外的收穫，這種感覺和我看交響情人夢一樣，看交響情人夢之前，我一直都不知道指揮到底是做什麼用的，看過之後，或許不能明確的講出來，但是我確實知道指揮在樂團中的地位為何。所以，編輯還真是辛苦，需要負責的東西實在比我原來所能想像到的東西多太多了。</p>
    <p>最後我要回應一下老貓部落格上的調查，關於紙本和網路版本的閱讀經驗比較，我一直是比較喜歡紙本閱讀的，我實在無法想像要用電腦來看整本都是文字的書，所以即使很多原文書網路上都抓的到，我要看的話還是會用買的，而不考慮已經有書的狀況，即使文長都不長，像是老貓學出版那樣，我也不會有動力去翻過往的文章來看，對我來說太花時間了，進入網路時代後，除非是看小說看的很投入，我看書也會看一陣子就會看看網路上有沒有新文章，甚至網路上的文章看到一半跑去看有沒有其他地方有新文章，過陣子再回來看（有時候是幾天後，像我現在瀏覽器分頁裡就有兩三篇文章還沒看完），如果老貓沒出書的話，這些文章我大概一輩子都不會看到吧，而書中大概不到10篇是我在網上有看過的，不過網路版不是完全沒用，最新的文章依然只有網路上才有，當然如果紙本能像網路這樣方便迅速的就得到最新的內容的話，我大概還是會選紙本吧，這有點像我對電子書的期望，我的期望是目前技術還做不到的程度，我期望的理想電子書只要能開PDF就好，畫面不閃爍、解析度夠高（現在有些電子墨水的技術可以做出不閃爍的效果），輕薄，但是不用很短小，當然能折疊攜帶更好。</p>
    <p>其他：寫這篇文章我才想到oc是怎麼來的XD。</p>
  </div>
</div></b:mainContent>
				<b:extendContent></b:extendContent>
			</b:content>

			<b:comments commentCount="2"></b:comments>


			<b:trackbacks trackbackCount="0"></b:trackbacks>

		</b:entry>

		<b:entry entryID="000494" baseName="firefox-3-memory-usage">
			<b:author>
				<b:authorName>othree</b:authorName>
				<b:authorEmail>othree@gmail.com</b:authorEmail>
				<b:authorUrl></b:authorUrl>
			</b:author>
			<b:datetime>
				<b:date>2008-03-12</b:date>
				<b:time>23:35:18</b:time>
			</b:datetime>
			<b:category>software</b:category>
			<b:title>Firefox 3的記憶體管理</b:title>
			<b:content>
				<b:summary>Firefox 3是我第一次作為一個網路使用者期待的瀏覽器，其中很大的因素是它在效能和記憶體管理上有很大的改善，在我之前翻譯的Firefox 3 終極特色：效能這篇文章就有提到相關資訊，而Pavlov今天則發表了一篇Firefox 3 Memory Usage，專門介紹Firefox 3中記憶體管理相關的改進，以下簡要說一下文章內容。...</b:summary>
				<b:mainContent><p>Firefox 3是我第一次作為一個網路使用者期待的瀏覽器，其中很大的因素是它在效能和記憶體管理上有很大的改善，在我之前翻譯的<a href="http://mozlinks-zh.blogspot.com/2008/03/firefox-3.html">Firefox 3 終極特色：效能</a>這篇文章就有提到相關資訊，而<a href="http://blog.pavlov.net/">Pavlov</a>今天則發表了一篇<a href="http://blog.pavlov.net/2008/03/11/firefox-3-memory-usage/">Firefox 3 Memory Usage</a>，專門介紹Firefox 3中記憶體管理相關的改進，以下簡要說一下文章內容。</p></b:mainContent>
				<b:extendContent><h4>減少破碎記憶體</h4>

<p>除了減少產生破碎的記憶體空位，現在的版本記憶體用量只有之前的2/3。</p>

<h4>Fixed cycles with the Cycle collector</h4>

<p>Cycle我不知道該怎樣翻，不過它指的是兩個物件互有對方的指標（或參考）這種情形，要人工正確的判斷何時該刪除這些cycle並不容易，現在工作團隊建立了一個cycle collector可以自動收集並管理cycle的記憶體狀況，並在需要時自動刪除他們。</p>

<h4>暫存機制的調整</h4>

<p>現在程式會判斷使用者的使用狀況來管理暫存的網頁和圖片，以網頁本身來說，上一頁的內容通常都會放在暫存記憶體內，不過要是超過30分沒有動到，這些內容就會清除掉。而圖片則不再暫存未壓縮的圖檔，本來的話，圖片會以未壓縮的形式放進記憶體內暫存，未壓縮的圖片大小有多大相信大家都知道。</p>

<h4>找出記憶體遺漏（Memory leak）</h4>

<p>現在才發現Memory leak好像沒個比較通用的譯名。工作團隊已經修正了400多個關於記憶體遺漏的錯誤回報了，這要多虧了新發展的偵測工具。</p>

<h4>測試結果</h4>

<p>Pavlov設計了一套測試流程，最後顯示記憶體用量比Firefox 2和IE 7都要低上許多。</p></b:extendContent>
			</b:content>

			<b:comments commentCount="0"></b:comments>


			<b:trackbacks trackbackCount="0"></b:trackbacks>

		</b:entry>

		<b:entry entryID="000493" baseName="acid3_test">
			<b:author>
				<b:authorName>othree</b:authorName>
				<b:authorEmail>othree@gmail.com</b:authorEmail>
				<b:authorUrl></b:authorUrl>
			</b:author>
			<b:datetime>
				<b:date>2008-03-06</b:date>
				<b:time>01:50:38</b:time>
			</b:datetime>
			<b:category>web</b:category>
			<b:title>Acid3 Test</b:title>
			<b:content>
				<b:summary>Acid3 Test前兩天正式出來了，不過相關文章似乎不多，所以我就來報一下了。這次測試的內容很多，除了CSS、HTML外，還有HTTP、ECMAScript、DOM等，我拿了Windows上幾個瀏覽器測試了一下，Safari 3 Beta表現最好，Opera 9.2和Firefox 2分數差不多，還沒測過其他瀏覽器（IE懶得測，反正知道不會過），基本上分數都還很慘就是，如果通過所有測試項目，應該會看到網頁上顯示100分的樣子，現在測過的三個瀏覽器只有Safari看得到所有的方塊，不過顏色還不正確，另外兩個就更不用說了，不過不知道Firefox 3可以拿到幾分，目前最期待的新版瀏覽器就是Firefox 3了，效能的大幅增進很吸引人，之前Firefox的效能抑制為人所詬病，沒想到現在一舉成為目前速度最快的瀏覽器，表現超越了Opera 9.5，不過我相信Opera一定不會認輸的，下一次還是能推出檔案更小、速度更快、功能更多的新版本的。 對Acid3做了哪些測試有興趣的人，可以看WaSP的Acid3 Browser Test這篇文章。...</b:summary>
				<b:mainContent><p><a href="http://acid3.acidtests.org/">Acid3 Test</a>前兩天正式出來了，不過相關文章似乎不多，所以我就來報一下了。這次測試的內容很多，除了CSS、HTML外，還有HTTP、ECMAScript、DOM等，我拿了Windows上幾個瀏覽器測試了一下，Safari 3 Beta表現最好，Opera 9.2和Firefox 2分數差不多，還沒測過其他瀏覽器（IE懶得測，反正知道不會過），基本上分數都還很慘就是，如果通過所有測試項目，應該會看到網頁上顯示<a href="http://acid3.acidtests.org/reference.html">100分的樣子</a>，現在測過的三個瀏覽器只有Safari看得到所有的方塊，不過顏色還不正確，另外兩個就更不用說了，不過不知道Firefox 3可以拿到幾分，目前最期待的新版瀏覽器就是Firefox 3了，效能的大幅增進很吸引人，之前Firefox的效能抑制為人所詬病，沒想到現在一舉成為目前速度最快的瀏覽器，表現超越了Opera 9.5，不過我相信Opera一定不會認輸的，下一次還是能推出檔案更小、速度更快、功能更多的新版本的。</p>

<p>對Acid3做了哪些測試有興趣的人，可以看WaSP的<a href="http://www.webstandards.org/action/acid3">Acid3 Browser Test</a>這篇文章。</p></b:mainContent>
				<b:extendContent></b:extendContent>
			</b:content>

			<b:comments commentCount="2"></b:comments>


			<b:trackbacks trackbackCount="0"></b:trackbacks>

		</b:entry>

	</b:entries>
</b:blog>
