<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CUQFQH87fCp7ImA9WxBbE08.&quot;"><id>tag:blogger.com,1999:blog-32049795</id><updated>2010-03-12T00:01:51.104+08:00</updated><title>Scribe's N.E.W. Studio://Blogger</title><subtitle type="html">～ 為了有日後 ACG 敗家的本錢，還是先把足以生存的工具學好吧……</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.new-studio.org/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.new-studio.org/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>186</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/scribe/blogger" /><feedburner:info uri="scribe/blogger" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CUQFQH86eyp7ImA9WxBbE08.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-9089841121871782231</id><published>2010-03-11T21:59:00.007+08:00</published><updated>2010-03-12T00:01:51.113+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-12T00:01:51.113+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WL-520GU Hack" /><category scheme="http://www.blogger.com/atom/ns#" term="PC" /><title>Asus WL-520GU 刷 Oleg-Lly 韌體</title><content type="html">有了前次刷韌體的經驗，已經對這些操作熟悉不少。因為之前 DD-WRT 狂斷，只好先刷回原廠韌體看看是否有問題，過了一週後恢復了原有的穩定性，猜想 DD-WRT 可能對我這台 RAM 只有 16MB的 AP&lt;s&gt;貧乳娘&lt;/s&gt;來說，負擔過大了吧。其實剛要決定刷韌體時就已經知道除了 DD-WRT 外，還有 Tomato 跟 Oleg 等韌體，尤其是 Oleg 這個韌體很特別：它是基於華碩釋出的原廠韌體原始碼修改而成的，也就是說以什麼功能都沒有，僅有的就只有穩定的原廠韌體為基礎，加上得以自訂嵌入式系統的 Telnet/SSH 後端，我們就可以作更多利用。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;Oleg 韌體簡介&lt;/h2&gt;Oleg 版韌體網頁: &lt;a href="http://oleg.wl500g.info/"&gt;http://oleg.wl500g.info/&lt;/a&gt;&lt;br /&gt;
Lly 維護版: &lt;a href="http://code.google.com/p/wl500g/"&gt;http://code.google.com/p/wl500g/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
由於 Oleg 版是基於 ASUS 原廠韌體，目前只有 ASUS WL-500 系列 AP 可以安裝，其他型號和廠牌可就抱歉了。而又由於 Oleg 版距離最後釋出的日子已有很長一段時間，有很長的時間這個韌體無人維護，好在有後繼人 Lly 成立了另一專案，並繼承了 Oleg 的修改。由於 Oleg 已久未更新的緣故，我推薦直接取得 Lly 版的。除了還有繼續修正問題外，也有逐步支援其他機器的意圖，是個有前途的版本。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;進行韌體更新&lt;/h2&gt;直接從 Lly 維護版的 Google Code 取得對應機器的 trx 檔後，以瀏覽器登入原版 AP 管理介面，直接到韌體更新的地方上傳這個 trx 檔就可以了，超簡單！等系統進度顯示完成後會重新啟動，再重新進入管理介面，如果可以進入的話就表示成功了。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;開啟 Telnet/SSH&lt;/h2&gt;安裝完成之後可以發現大部分的設定皆有保存，這是因為 Oleg 版的核心正是華碩的，只不過介面是舊版的。要來解放 AP 靠這個 Web 介面絕對不夠，我們要把內建的 Telnet/SSH 給開啟，這才是此類韌體的精華。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/_YTQXzGpyark/S5jlqAwgPJI/AAAAAAAAA4k/yM2Sf5fCN-g/s1600-h/oleg-setting-01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="226" src="http://1.bp.blogspot.com/_YTQXzGpyark/S5jlqAwgPJI/AAAAAAAAA4k/yM2Sf5fCN-g/s320/oleg-setting-01.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
首先到選單的 System Setup → Service 頁面，如圖。可以看到 Telnet/SSH 的設定，擇一開啟即可。由於我偏好 SSH，於是我選擇關閉 Telnet，開啟 SSH 並僅限定區網內使用，以免有心人連入亂改。Telnet 和 SSH 都是命令列，但是 Telnet 過程沒有加密，SSH 過程有加密。一般管理機器時網管都會選用安全的 SSH，所以我因為習慣因素也選了這個。利用 &lt;a href="http://www.csie.ntu.edu.tw/%7Epiaip/pietty/"&gt;PieTTY&lt;/a&gt; 連線 SSH 也很便利，難度不會很高。&lt;br /&gt;
&lt;br /&gt;
選擇完畢後按下 Finish，並於接下來的畫面繼續確認，以將設定寫入 nvram 並重新開機、啟動服務。&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;登入 Telnet/SSH&lt;/h2&gt;不管是 Telnet 或是 SSH，登入方式都是利用連線軟體連入。輸入 AP 的 LAN IP 後按下連線就可以連到管理介面，值得注意的是 SSH 第一次連線會要你確認 RSA Key，安心接受就是了。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/_YTQXzGpyark/S5jpkgkg-gI/AAAAAAAAA4s/MwPHnHMu0E4/s1600-h/oleg-setting-02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="207" src="http://4.bp.blogspot.com/_YTQXzGpyark/S5jpkgkg-gI/AAAAAAAAA4s/MwPHnHMu0E4/s320/oleg-setting-02.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
連線成功後依序輸入 AP 管理介面的帳號密碼後 (看你當初設定是什麼，預設是 admin/admin)，就可以登入內建的 Linux 作業系統。要玩韌體絕大多數的動作都要在這個文字交談視窗下進行，而不是圖像介面，如果不熟一些指令的玩家可以藉這種機會小練習一下。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;安裝、設定外接 USB 磁碟&lt;/h2&gt;&lt;br /&gt;
因為自訂韌體最大的好處就是能安裝一些有的沒的來玩，你有想過你的 AP 會幫你自動養畜生或是開農場嗎？或是架設 NAS、網路芳鄰、FTP存取檔案，甚至是架設 VPN, HTTP, VoIP 伺服器。這些都是使用原廠韌體所做不到的。當然，額外運作這些程式會吃掉 AP 珍貴的資源，一般來說這種嵌入式系統的硬體都強不到哪裡去，所以請不要把它當成超級電腦猛跑其他程式，反而讓 AP 原本的任務跑的亂七八糟不穩定了。&lt;br /&gt;
&lt;br /&gt;
而要安裝自訂程式需要有空間，一般來說都是建議用一支隨身碟來擴充空間。我&lt;a href="/2010/02/asus-wl-520gu-dd-wrt.html"&gt;之前在玩 DD-WRT&lt;/a&gt; 的時候是用當初申請 ADSL 的贈品 64MB USB 碟，現在則是改用最近幾天買到的特價 NT$99 &lt;a href="/2010/03/tdk-trans-it-mini-usb-drive-1gb.html"&gt;TDK 1G 隨身碟&lt;/a&gt;。一般來說如果只是要構築一個系統 64MB 算勉強夠用了，如果還有養畜生的需求不是要外接硬碟，就是要靠網路芳鄰連接另一台電腦了吧。強烈不建議用隨身碟養，因為隨身碟讀寫速度沒有硬碟快之外，壽命還會大幅縮短。&lt;br /&gt;
&lt;br /&gt;
首先請弄到一支不會再用到、內容為空的隨身碟，因為它可能會插在 AP 後面直到它壞掉為止。把它插在 AP 的 USB 槽上以讓系統自動辨識。我們要對這隻隨身碟作重新切割並格式化的動作，就像處理一顆全新的硬碟一樣。我們的目標是要分割成兩個磁區 (資料區和 SWAP 區) 並對這兩個磁區作格式化。&lt;br /&gt;
&lt;br /&gt;
(FYI: &lt;a href="http://abintech.twidv.com/2007/01/wl-500g.html"&gt;Abin's Tech Note: Wl-500g 韌體更新和磁碟分割&lt;/a&gt;)&lt;br /&gt;
我在此直接引用改機前輩 Abin 的文章，他的一系列文章不知幫助了多少想要玩改機的人。分割硬碟的部分請參看他的文件。經過 fdisk 重新分割成兩塊區域後 (例: 989MB 空間分 957MB, 32MB 兩個) 再分別指定類型編號 (83 Linux, 82 Linux Swap)，再以 mke2fs 和 mkswap 兩個指令分別格式化空間成 ext3 和 swap。這邊與 DD-WRT 最大的不同是 &lt;b&gt;fdisk, mke2fs, mkswap 這些指令在 Oleg 全部都是內建&lt;/b&gt;，而 DD-WRT 這些指令卻都閹割掉了，必須尋求第三方軟體來達成，我先前就是用 Ubuntu Desktop Live CD 來分割的。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/_YTQXzGpyark/S5jyj3w8oKI/AAAAAAAAA40/BGyYPAPM0mo/s1600-h/oleg-setting-03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="207" src="http://4.bp.blogspot.com/_YTQXzGpyark/S5jyj3w8oKI/AAAAAAAAA40/BGyYPAPM0mo/s320/oleg-setting-03.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
處理完後的分割表，可以「fdisk -l」指令來查看是否正確。&lt;br /&gt;
&lt;br /&gt;
(FYI: &lt;a href="http://abintech.twidv.com/2007/01/ipkg-post-boot.html"&gt;Abin's Tech Note: 基本環境的設定 - ipkg &amp;amp; post-boot&lt;/a&gt;)&lt;br /&gt;
最後將掛載設定寫入到 /usr/local/sbin/post-boot 這個檔案裡面，以後啟動的時候就會自動掛載這些磁區了。這個檔案預設並不存在，你可以用「vi /usr/local/sbin/post-boot」來產生 (vi 的使用教學參見&lt;a href="http://linux.vbird.org/linux_basic/0310vi.php"&gt;鳥哥&lt;/a&gt;)，順著 Abin 那一頁提供的內容複製貼上後存檔就可以了。最後記得「chmod +x /usr/local/sbin/post-boot」給予這個腳本檔執行權限。&lt;br /&gt;
&lt;blockquote&gt;vi /usr/local/sbin/post-boot&lt;br /&gt;
chmod +x /usr/local/sbin/post-boot&lt;/blockquote&gt;&lt;br /&gt;
最後別忘記要執行下面這段指令，以將 /usr/local/sbin/post-boot 寫入 flashfs。&lt;br /&gt;
&lt;blockquote&gt;flashfs save &amp;amp;&amp;amp; flashfs commit &amp;amp;&amp;amp; flashfs enable&lt;/blockquote&gt;由於預設系統資料夾的檔案都是存放在一塊 Flash 裡面，這個 Flash 讀寫需要特別下指令才能同步，以後會碰到更多這樣的狀況。如果有修改到系統檔案別忘了作一下 flashfs 更新。不然重開機後修改被還原可是要重新來過的。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;重新開機&lt;/h2&gt;&lt;br /&gt;
做完了 USB 碟的擴充和掛載設定之後 (記得要下指令儲存到 flashfs)，最後需要作的事便是重新開機讓這些設定生效，重新開機只要下一行指令便可：&lt;br /&gt;
&lt;blockquote&gt;reboot&lt;/blockquote&gt;&lt;br /&gt;
按下Enter後，AP 便會重新開機，並按照 /usr/local/sbin/post-boot 的設定掛載磁區。要檢查有沒有自動掛載，可以利用「mount」和「free」指令查看：&lt;br /&gt;
&lt;blockquote&gt;$ mount&lt;br /&gt;
&lt;pre&gt;rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
none on /dev type devfs (rw)
proc on /proc type proc (rw)
tmpfs on /tmp type tmpfs (rw,noatime)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/scsi/host0/bus0/target0/lun0/part1 on /opt type ext3 (rw)&lt;/pre&gt;&lt;br /&gt;
$ free&lt;br /&gt;
&lt;pre&gt;              total         used         free       shared      buffers
  Mem:        13752        13112          640            0          728
 Swap:        31736         3620        28116
Total:        45488        16732        28756&lt;/pre&gt;&lt;/blockquote&gt;如文字所示，/dev/scsi/host0/bus0/target0/lun0/part1 成功掛到 /opt 上，而 Swap空間也有 32MB。&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;安裝 Optware&lt;/h2&gt;是的，Oleg 也像 DD-WRT 一樣，有著 Optware 的支援，所以 DD-WRT 能玩的，Oleg 也大多能玩。礙於篇幅下次介紹如何安裝 ipkg 套件及設定環境。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-9089841121871782231?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/jGBobi7BcLI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/9089841121871782231/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=9089841121871782231" title="1 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/9089841121871782231?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/9089841121871782231?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/jGBobi7BcLI/asus-wl-520gu-oleg-lly.html" title="Asus WL-520GU 刷 Oleg-Lly 韌體" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_YTQXzGpyark/S5jlqAwgPJI/AAAAAAAAA4k/yM2Sf5fCN-g/s72-c/oleg-setting-01.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blog.new-studio.org/2010/03/asus-wl-520gu-oleg-lly.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQHQn49fCp7ImA9WxBUF0Q.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-7955951826050035918</id><published>2010-03-05T20:45:00.004+08:00</published><updated>2010-03-05T21:05:33.064+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-05T21:05:33.064+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PC" /><title>TDK Trans-it Mini USB 隨身碟 1GB</title><content type="html">前幾天在 PTT Storage_Zone 版看到有人貼出 PChome 24Hr 線上購物大特價，TDK Trans-it Mini 隨身碟 1GB 一支只要 NT$99 (&lt;a href="http://ppt.cc/%21MAP"&gt;頁面連結&lt;/a&gt;)，等我看的時候已經賣光了，幸好還有持續補貨的樣子，所以我也守在電腦前並成功定到兩支，不過要加運費 NT$80。我要買的目的主要有二：1. ASUS WL-520gU 無線 AP 刷機後用來當作系統主硬碟 2. 可以拿來量產。&lt;br /&gt;
&lt;br /&gt;
很快的，下午 5 點匯款成功隔天中午 11 點就收到了，果然快。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/_YTQXzGpyark/S5D6iyg78-I/AAAAAAAAA4U/zlCHmMyiSiQ/s1600-h/TDK1G_01.jpg" imageanchor="1" style="margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/_YTQXzGpyark/S5D6iyg78-I/AAAAAAAAA4U/zlCHmMyiSiQ/s320/TDK1G_01.jpg" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
目前AP上面插的是一支當初申請 ADSL 的 64MB 贈品隨身碟，這一支無論是速度或者容量都不是新的能比的，趁這個特價把它換了。首先免不了來個 FDBENCH 測試：&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/_YTQXzGpyark/S5DycOZ3sSI/AAAAAAAAA4M/XHE0EFbA1ZQ/s1600-h/trans-it-mini-1gb.png" imageanchor="1" style="margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/_YTQXzGpyark/S5DycOZ3sSI/AAAAAAAAA4M/XHE0EFbA1ZQ/s400/trans-it-mini-1gb.png" width="400" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
速度還算可以接受，雖然沒有讀30寫20的高速紀錄，但再怎麼爛應該都比 64MB 這支好，改天來測一下。&lt;br /&gt;
&lt;br /&gt;
再來是研究一下量產。所謂的量產不是說一支隨身碟可以變成很多支，或是一次買好幾支然後改成一樣的內容。簡單來說就是大量初始化隨身碟的工具，可以設定產品的序號、調整晶片的運作模式 (Mode 3, 4, 7, 8, 14, 21 等等不同模式)，更能重新低階格式化磁區，讓壞掉的磁區有機會修復。總之它還是量產用的工具，只是流入一般人手裡就變成了解放 USB 隨身碟的工具。&lt;br /&gt;
&lt;br /&gt;
量產工具視隨身碟晶片而有不同種類的工具，所以要量產第一步驟一定要先確認隨身碟所使用的控制晶片。這部分有軟體 &lt;a href="http://www.mydigit.cn/chipgenius.htm"&gt;ChipGenius&lt;/a&gt; 可以根據內建的資料庫來猜測。但不幸的是這一支 TDK Trans-it Mini USB Drive 1GB 竟然掃不到正確的晶片編號，於是只能使用最後手段：開殼看。開殼需要一字起子跟鐵鎚輔助，從旁邊的縫隙敲開整個塑膠殼，可以說是破壞。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/_YTQXzGpyark/S5D638_5oXI/AAAAAAAAA4Y/XG4cMnNmK_E/s1600-h/TDK1G_02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/_YTQXzGpyark/S5D638_5oXI/AAAAAAAAA4Y/XG4cMnNmK_E/s320/TDK1G_02.jpg" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
這是開殼前的最後完好模樣，做個紀念。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/_YTQXzGpyark/S5D64HkhYyI/AAAAAAAAA4c/Z0vh3s0i4WY/s1600-h/TDK1G_03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_YTQXzGpyark/S5D64HkhYyI/AAAAAAAAA4c/Z0vh3s0i4WY/s320/TDK1G_03.jpg" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
費了九牛二虎之力總算拔開了殼，可以看到 PHISON 字樣的控制晶片，下面還有寫著 PS2232BD-F，這就是我要的答案了。&lt;br /&gt;
&lt;br /&gt;
確定了之後，拿瞬間接著劑再度把兩片塑膠殼黏起來，以恢復一般模樣。至於量產工具的使用等我下次再試吧，目前還沒有打算使用量產工具。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-7955951826050035918?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/uqplpSypGwM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/7955951826050035918/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=7955951826050035918" title="4 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/7955951826050035918?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/7955951826050035918?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/uqplpSypGwM/tdk-trans-it-mini-usb-drive-1gb.html" title="TDK Trans-it Mini USB 隨身碟 1GB" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_YTQXzGpyark/S5D6iyg78-I/AAAAAAAAA4U/zlCHmMyiSiQ/s72-c/TDK1G_01.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://blog.new-studio.org/2010/03/tdk-trans-it-mini-usb-drive-1gb.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMNR3g4fSp7ImA9WxBUE0s.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-823543022919483642</id><published>2010-02-28T21:08:00.000+08:00</published><updated>2010-02-28T21:08:16.635+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-28T21:08:16.635+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Blogger" /><title>Blogger Offically Continue reading</title><content type="html">我試著修改自訂範本以實作官方的繼續閱讀功能，希望一切順利&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
舊的功能仍然會存在，但以後會以新的為主吧。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-823543022919483642?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/0jHHog973oc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/823543022919483642/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=823543022919483642" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/823543022919483642?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/823543022919483642?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/0jHHog973oc/blogger-offically-continue-reading.html" title="Blogger Offically Continue reading" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.new-studio.org/2010/02/blogger-offically-continue-reading.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8NRH06eyp7ImA9WxBVGE4.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-6078302972265229761</id><published>2010-02-22T18:34:00.001+08:00</published><updated>2010-02-22T18:34:55.313+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-22T18:34:55.313+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="Blogger" /><title>版面 Script 更新‧Ⅷ</title><content type="html">看了看紀錄，距離上次修改部落格的核心，已經是好幾年前了。一直放話說要重寫不過似乎都沒有動手過，Blogger這幾年強化了不少，值得提的就屬「&lt;a href="http://bloggerindraft.blogspot.com/2009/09/you-might-as-well-jump.html"&gt;繼續閱讀&lt;/a&gt;」功能了，這功能當初推出的時候官方提供的樣板都還沒全部支援咧，現在應該都已經支援了吧。&lt;br /&gt;
&lt;br /&gt;
可惜這個功能我已經利用官方以前的hack:&lt;a href="http://www.google.com/support/blogger/bin/answer.py?hl=zh-TW&amp;answer=42215"&gt;隱藏部分文章&lt;/a&gt;的方式來達成了，萬一我現在追尋官方的架構，那舊的文章要一篇篇改動。我太懶了所以暫時還是維持原狀好了。如果可以維持舊的繼續使用隱藏法；新的使用官方提供的功能的話，那就更好了，我還要研究看看。&lt;br /&gt;
&lt;br /&gt;
總之我先把部落格使用到的JavaScript檔案給更新一下好了&lt;span class="content"&gt;：jQuery從1.2.6也升級到了1.4.2，有一些語法變了 (最大的變動就是屬性前面不用再加 @，ex: div[@id='test'] → div[id='test'])。JavaScript設計師最愛用的工具 &lt;a href="http://www.jslint.com/"&gt;JSLint&lt;/a&gt; 也是越變越嚴格了 (這玩意兒竟可以一直保持更新到現在，真厲害)，之前寫的東西已經有些過不去了，經過幾番修改後才又符合了 JSLint 的規範。印象比較深刻的是正規表達式 (RegExp) 的 "." 不精確的問題，這真是切重要點啊，反正我就是要任意文字所以就用了 .，但通常你可能只需要 \S (除了換行等特殊符號以外的字元) 之類的。&lt;br /&gt;
&lt;br /&gt;
最後將程式碼用 Google 釋出的 &lt;a href="http://closure-compiler.appspot.com/home"&gt;Closure Compiler Service&lt;/a&gt; 壓縮。以前很多人喜歡用 Dean 的 &lt;a href="http://dean.edwards.name/packer/"&gt;Packer&lt;/a&gt; 來壓縮，雖然壓出來的檔案確實很小，但執行解壓的程式碼所需的時間反而拖長，現在已經沒什麼人在用的樣子。以前也有很多像是 &lt;a href="http://www.crockford.com/javascript/jsmin.html"&gt;JSMin&lt;/a&gt;, &lt;a href="http://developer.yahoo.com/yui/compressor/"&gt;YUI Compressor&lt;/a&gt; 之類的......總之，經過壓縮之後縮小了37%以上。光這些十幾KB的程式檔一個月就能吃掉30MB的流量，縮小一點除了減少流量以外，瀏覽器端的讀取速度也會快一點，總之是有正向幫助的。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-6078302972265229761?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/ns-xtFXkzy8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/6078302972265229761/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=6078302972265229761" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/6078302972265229761?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/6078302972265229761?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/ns-xtFXkzy8/blogger-script-updated-part-8.html" title="版面 Script 更新‧Ⅷ" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.new-studio.org/2010/02/blogger-script-updated-part-8.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4CR3s_cCp7ImA9WxBWGE0.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-6876721319902613549</id><published>2010-02-10T19:29:00.015+08:00</published><updated>2010-02-10T20:12:46.548+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-10T20:12:46.548+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="JavaScript" /><category scheme="http://www.blogger.com/atom/ns#" term="PC" /><category scheme="http://www.blogger.com/atom/ns#" term="report" /><title>Auto follow Echofon on Twitter?</title><content type="html">English summary:&lt;br /&gt;
&lt;br /&gt;
Echofon since version 1.9.5 has a bug that will ask for following @echofon on Twitter at your &lt;b&gt;next time&lt;/b&gt; running Firefox. When you choose No, it'll let your Twitter account auto follow echofon account. That makes users feel inconvenient or impolite.&lt;br /&gt;
&lt;br /&gt;
Reproduction step:&lt;br /&gt;
&lt;br /&gt;
1. Type "about:config" in Address bar&lt;br /&gt;
2. Filter: twitternotifier&lt;br /&gt;
3. Set extensions.twitternotifier.checkFollow to 1&lt;br /&gt;
4. Restart Firefox&lt;br /&gt;
&lt;br /&gt;
When you open Firefox, the prompting will popup again.&lt;br /&gt;
&lt;hr /&gt;在Firefox很好用的一個擴充套件 &lt;a href="http://echofon.com/twitter/firefox/"&gt;EchoFon&lt;/a&gt; (舊稱 TwitterFox) 是知名微網誌推特 (&lt;a href="http://twitter.com/"&gt;Twitter&lt;/a&gt;) 的 Notifier。一直以來使用它來收發 Tweets 都非常方便，不過這篇不打算對它作介紹，而是要來紀錄一個在 1.9.5 版本會遇到的問題。(1.9.5.1 版確認此問題仍舊存在)&lt;br /&gt;
&lt;br /&gt;
1.9.5 版本中，新增了一個可以讓使用者自動追蹤官方帳號的功能，這個功能在你第一次安裝或更新到此版本的時候並不會有所反應。而是在你&lt;b&gt;下一次&lt;/b&gt;重新啟動 Firefox 時才會啟動，它會跳出視窗詢問你：&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/_YTQXzGpyark/S3KY00eYkzI/AAAAAAAAA3Y/v2L64iPxQ7I/s1600-h/twit_prompt.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="144" src="http://2.bp.blogspot.com/_YTQXzGpyark/S3KY00eYkzI/AAAAAAAAA3Y/v2L64iPxQ7I/s320/twit_prompt.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class="content"&gt;&lt;br /&gt;
看起來很友善，不過一般人通常都會按否吧？所以我的第一反應也是按下了否。但使用著，發現奇怪，我的 following 為什麼多了 echofon? 我剛才按的是否沒錯吧？&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/_YTQXzGpyark/S3KYaKmyUxI/AAAAAAAAA3Q/88qvwIfWiZc/s1600-h/twit_fw.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="237" src="http://4.bp.blogspot.com/_YTQXzGpyark/S3KYaKmyUxI/AAAAAAAAA3Q/88qvwIfWiZc/s320/twit_fw.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
數度想再次重現這個機制，不過設定視窗內並沒有明顯的選項可以重新啟動，只好把腦筋動到了程式碼內。發現了這個問題的重現方法。&lt;br /&gt;
&lt;br /&gt;
重現步驟：&lt;br /&gt;
&lt;br /&gt;
1. Firefox 瀏覽器網址列鍵入 about:config&lt;br /&gt;
2. 篩選條件打 twitternotifier&lt;br /&gt;
3. extensions.twitternotifier.checkFollow 改成 1&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/_YTQXzGpyark/S3KYkDGYcZI/AAAAAAAAA3U/M6L9zfX3QLg/s1600-h/twit_config.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="69" src="http://3.bp.blogspot.com/_YTQXzGpyark/S3KYkDGYcZI/AAAAAAAAA3U/M6L9zfX3QLg/s320/twit_config.png" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
4. 重新啟動 Firefox&lt;br /&gt;
&lt;br /&gt;
這麼一來，我們就可以看看剛才是不是誤按了......確實不是，明明按了否但是 following 卻自動增加了官方帳號，難怪官方帳號的 &lt;a href="http://twitter.com/echofon/followers"&gt;followers&lt;/a&gt; 那麼多，我覺得這是很不尊重使用者的 Bug，希望下一版能夠改掉這個問題。順便做個紀錄。&lt;br /&gt;
&lt;br /&gt;
發生原因 / Cause：&lt;br /&gt;
&lt;br /&gt;
Echofon.jar/content/twitterfox.js:&lt;br /&gt;
&lt;textarea name="code" class="js"&gt;&lt;br /&gt;
  askToFollowEchofon: function() {&lt;br /&gt;
    var prompt = this.Cc["@mozilla.org/embedcomp/prompt-service;1"].getService(this.Ci.nsIPromptService);&lt;br /&gt;
    var out = {};&lt;br /&gt;
    var ret = prompt.confirmEx(window, "Echofon", this.getString("FollowEchofon"),&lt;br /&gt;
                               1027, null, null, null, null, out);&lt;br /&gt;
    if (ret) {&lt;br /&gt;
      this._util.notify("followEchofon");&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
&lt;/textarea&gt;&lt;br /&gt;
According to &lt;a href="https://developer.mozilla.org/en/nsIPromptService#confirmEx%28%29"&gt;MDC&lt;/a&gt;, confirmEx always returns index of the button pressed (like 0, 1, 2). No is 1, so followEchofon will be run. Instead, press Yes (index 0) won't run it.&lt;br /&gt;
&lt;br /&gt;
根據 MDC 說明，confirmEx 回傳按下按鈕的索引值。由於 No 應屬索引 1，所以按下後 followEchofon 會被執行，按下 Yes (index 0) 反而不會執行。&lt;br /&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-6876721319902613549?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/Z4hM8v9p_VA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/6876721319902613549/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=6876721319902613549" title="1 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/6876721319902613549?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/6876721319902613549?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/Z4hM8v9p_VA/auto-follow-echofon-on-twitter.html" title="Auto follow Echofon on Twitter?" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_YTQXzGpyark/S3KY00eYkzI/AAAAAAAAA3Y/v2L64iPxQ7I/s72-c/twit_prompt.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blog.new-studio.org/2010/02/auto-follow-echofon-on-twitter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ICRXozeip7ImA9WxBbE00.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-1068694284100721020</id><published>2010-02-09T22:19:00.003+08:00</published><updated>2010-03-11T20:12:44.482+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-11T20:12:44.482+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WL-520GU Hack" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="PC" /><title>DD-WRT: 使用 Optware</title><content type="html">上一篇提到的 can't resolve symbol 問題，我終於看到了類似的案例：&lt;a href="http://digiland.tw/viewtopic.php?id=478"&gt;ASUS WL-500gP的library是否支援fstat64函式追蹤&lt;/a&gt;。這位使用者試圖嘗試使用 fstat64 這個方法，但這個方法需要新的函式庫 libuClibc-0.9.28.so 才有支援，於是他放到 /jffs/opt/lib 內，取代原有檔案。執行測試程式後，卻發生 can't resolve symbol 的問題。幾經查證之下，原來 /lib 裡就有同名函式庫，系統依照 LD_LIBRARY_PATH 環境變數定義的順序，先找到了 /lib 內的檔案，但這個檔案或許是為了嵌入式系統而特化的而導致沒有這個方法，於是發生錯誤。&lt;br /&gt;
&lt;br /&gt;
這位使用者提出了解套法：修改 LD_LIBRARY_PATH 的搜尋順序，雖然問題解決了，但換 wget 這個程式出問題了，wget 這個指令其實是由內建的 &lt;a href="http://busybox.net/"&gt;BusyBox&lt;/a&gt; 來提供支援的，可能由於載入的函式庫已經不是原本那個特化過的版本，因而發生錯誤。DD-WRT 官方論壇也有人發文 (&lt;a href="https://forum.openwrt.org/viewtopic.php?id=11974"&gt;wget: Segmentation fault&lt;/a&gt;)，得到的回應是使用套件版的 wget 來解決問題，問題真正的核心依舊沒有解決。&lt;br /&gt;
&lt;br /&gt;
結合上一篇我的「can't resolve symbol 'setlocale'」問題，我們推理一下：由於 DD-WRT 內建的 ipkg 是來自於功能較強大的 OpenWRT，所以它提供的套件所需要的函式庫自然也不同於特化過的 DD-WRT。因此我透過 ipkg 安裝的套件，預設使用的函式庫應該要是 OpenWRT 的 (功能完整的)，但現在環境是 DD-WRT (嵌入式特化精簡的)。&lt;br /&gt;
&lt;br /&gt;
又因為執行程式時，環境變數 LD_LIBRARY_PATH 所設定的函式庫載入順序，DD-WRT版的函式庫 (/lib) 一定會比Open-WRT版的 (/jffs/opt/lib) 要來的早載入，因此發生類似的問題。也就是說如果我也採用修改環境變數的方式，讓它讀取到 OpenWRT 版本的函式庫，就可以正常執行，但是這麼一來內建的一些程式就會發生問題 (如 wget)。&lt;br /&gt;
&lt;br /&gt;
這時候我要介紹另一個套件庫&lt;span class="content"&gt;：&lt;a href="http://www.dd-wrt.com/wiki/index.php/Optware"&gt;Optware&lt;/a&gt;。這套函式庫最大的特點在於，它的所有套件在編譯的時候，就已經先定義好了 &lt;a href="http://en.wikipedia.org/wiki/Rpath_%28linking%29"&gt;RPATH&lt;/a&gt; (一種指定搜尋函式庫目標的變數) 到 /opt/lib，這個目錄是 Optware 自己的，且 RPATH 的搜尋優先權遠大於環境變數 LD_LIBRARY_PATH。因此我若使用了 Optware 的套件包，它的套件會自己根據內建的 RPATH 搜尋到 Optware 自己的函式庫目錄 /opt/lib，與環境變數毫不衝突。使用它我就不必再為了相容系統跟套件的問題傷透腦筋，因為實際上它們兩個是互不相干的。&lt;br /&gt;
&lt;br /&gt;
另外，Optware 有針對 DD-WRT 作特化。DD-WRT 內建的 ipkg 是直接使用 OpenWRT 的套件，而實際上是有很多套件不能相容的，無法執行。而 Optware 提供的 ipkg-opt 套件卻針對 DD-WRT 進行維護，雖然套件數量遠不及前者，但都是可以正常執行的。&lt;br /&gt;
&lt;br /&gt;
知道了解套法後，我們馬上來安裝看看 Optware。由於並沒有內建的關係，需要執行一些步驟才可以。&lt;br /&gt;
&lt;br /&gt;
前置準備：&lt;br /&gt;
&lt;br /&gt;
先確定系統的 /opt 資料夾可讀寫，並是 ext2/3 檔案系統。因為Optware使用這個目錄，而預設值 DD-WRT 的 /opt 是空的無法操作，所以你必須借助 USB 隨身碟、外接碟甚至是有支援 MMC/SD 卡的機種來加以掛載擴充。檔案系統必須為 ext2/3 就比較麻煩，要先借助 Linux 來格式化，這邊我就先略過不提。&lt;br /&gt;
&lt;br /&gt;
有了空間，還必須掛載。你可以參照第一篇 (&lt;a href="/2010/02/asus-wl-520gu-dd-wrt.html"&gt;Asus WL-520GU 刷 DD-WRT 韌體&lt;/a&gt;) 下方 USB 掛載的說明，使用 Automatic Drive Mount 功能來掛載到 /opt。又或者你的 USB 有分區，需要手動掛載特定分區 (修改地方為 系統管理→指令→儲存啟動指令)：&lt;br /&gt;
&lt;blockquote&gt;mount /dev/scsi/host0/bus0/target0/lun0/part1 /opt&lt;/blockquote&gt;&lt;br /&gt;
另外，也可能需要開啟 JFFS 功能，儘管 Optware 的套件不會用到。(不確定)&lt;br /&gt;
&lt;br /&gt;
開始安裝：&lt;br /&gt;
&lt;br /&gt;
接著就是安裝 ipkg-opt，Optware的套件管理程式，這需要執行一些程式：&lt;br /&gt;
&lt;blockquote&gt;# wget http://www.3iii.dk/linux/optware/optware-install-ddwrt.sh -O - | tr -d '\r' &gt; /tmp/optware-install.sh&lt;br /&gt;
# sh /tmp/optware-install.sh&lt;/blockquote&gt;第一行直接貼到 Telnet/SSH 去執行，完成就可以取得安裝的程式檔案 /tmp/optware-install.sh。然後第二行才是執行這個安裝程式，你會見到類似的畫面輸出：&lt;br /&gt;
&lt;blockquote&gt;Checking system config ...&lt;br /&gt;
Using 192.168.1.1 as default gateway.&lt;br /&gt;
Using the following nameserver(s):&lt;br /&gt;
nameserver 192.168.1.30&lt;br /&gt;
Warning: local nameserver is different than gateway!&lt;br /&gt;
Check config or enter:&lt;br /&gt;
sed -i s/192.168.*/192.168.1.1/ /tmp/resolv.conf&lt;br /&gt;
to correct this.&lt;br /&gt;
Installing package uclibc-opt_0.9.28-13_mipsel.ipk ...&lt;br /&gt;
Connecting to ipkg.nslu2-linux.org[140.211.166.82]:80&lt;br /&gt;
uclibc-opt_0.9.28-12 100% |***********************************************|   832 KB 00:00:00 ETA&lt;br /&gt;
Updating /opt/etc/ld.so.cache&lt;br /&gt;
......&lt;/blockquote&gt;如果沒有錯誤發生，它應該會在 /opt 目錄下建立 Optware 的結構，並且安裝執行環境跟最重要的 ipkg-opt 套件管理程式，以後就可以使用 ipkg-opt 來取代 DD-WRT 內建的 ipkg 指令。&lt;br /&gt;
&lt;br /&gt;
執行以下指令查看 Optware 的&lt;a href="http://www.dd-wrt.com/wiki/index.php/Quick_list_of_Optware_packages"&gt;套件庫一覽表&lt;/a&gt;，雖然沒有 OpenWRT 的 ipkg 多，卻也是十分豐富了：&lt;br /&gt;
&lt;blockquote&gt;# ipkg-opt list|more&lt;br /&gt;
abook - 0.5.6-2 - Abook is a text-based addressbook program designed to use with mutt mail client.&lt;br /&gt;
ack - 1.90-1 - grep-like text finder&lt;br /&gt;
adduser - 1.10.3-1 - a multi-call binary for login and user account administration&lt;br /&gt;
adns - 1.4-2 - Asynchronous resolver library and DNS resolver utilities.&lt;br /&gt;
aget - 0.4.1-1 - Aget is a multithreaded HTTP download accelerator.&lt;br /&gt;
aiccu - 20070115-2 - Automatic IPv6 Connectivity Client Utility.&lt;br /&gt;
alac-decoder - 0.1.0-2 - A decoder for the apple lossless file format&lt;br /&gt;
......&lt;br /&gt;
&lt;/blockquote&gt;&lt;hr /&gt;最後，要解決我要使用 swapon 的問題，安裝 util-linux-ng 這個擴充工具套件就可以了，裡面就有 swapon 跟 fdisk 等原本系統應備的工具指令，當然也有許多跟內建的重疊到，但按照環境變數 PATH 的設定，內建的指令會優先執行，因此不必擔心相容問題。&lt;br /&gt;
&lt;blockquote&gt;# ipkg-opt update&lt;br /&gt;
# ipkg-opt install util-linux-ng&lt;br /&gt;
# swapon&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
swapon -a [-e] [-v] [-f]             enable all swaps from /etc/fstab&lt;br /&gt;
swapon [-p priority] [-v] [-f] &lt;special&gt;  enable given swap&lt;br /&gt;
swapon -s                            display swap usage summary&lt;br /&gt;
swapon -h                            display help&lt;br /&gt;
swapon -V                            display version&lt;br /&gt;
......&lt;br /&gt;
&lt;/blockquote&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-1068694284100721020?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/qbXvmhg4bw8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/1068694284100721020/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=1068694284100721020" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/1068694284100721020?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/1068694284100721020?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/qbXvmhg4bw8/dd-wrt-uses-optware.html" title="DD-WRT: 使用 Optware" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.new-studio.org/2010/02/dd-wrt-uses-optware.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0IAQHY9fyp7ImA9WxBbE00.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-985456312086081321</id><published>2010-02-09T01:32:00.008+08:00</published><updated>2010-03-11T20:12:21.867+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-11T20:12:21.867+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WL-520GU Hack" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="PC" /><title>DD-WRT: 無故斷線？AP水土不服問題</title><content type="html">才刷了一天 DD-WRT，馬上發現一些問題：&lt;br /&gt;
&lt;br /&gt;
老哥回報說AP有一定機率在啟動不久後斷線，也就是重新開機之類的。實際使用時還真的發現掛PTT BBS會斷，表示內部的PPPoE一定有斷過，查詢網頁管理介面的資料也確實有跡象。趕緊上各大網站看看有沒有類似的例子。首先是 PTT，有使用者刷了 WL-520GC 後，也是發生斷線的問題，但這位使用者說是掛 PTT 才會斷，其他沒問題。另一位使用者則是更新了韌體之後才解決了問題。&lt;br /&gt;
&lt;br /&gt;
因為案例相當少，所以資料也相當少，初步整理發現可能是韌體的問題。大家都說更新了就沒事，是否是這樣呢？又找到一個&lt;a href="http://im953091.pixnet.net/blog/post/30217993"&gt;Blog苦主&lt;/a&gt;的AP跟我一樣深受斷線之苦，而他也是使用v24-sp2 revision 13064版本，是目前官方釋出最新版，不過他文內提到裝了更新韌體之後就解決了，於是我開始尋找新韌體。&lt;br /&gt;
&lt;br /&gt;
原來DD-WRT還有其他人編譯的版本&lt;span class="content"&gt;，像這個Eko版本更新的就很多 (&lt;a href="http://www.dd-wrt.com/dd-wrtv2/down.php?path=downloads%2Fothers%2Feko%2FV24_TNG/"&gt;位置&lt;/a&gt;)，可以看到 13064 以下還有其他新版，隨便拿一個版本試看看，我拿 rev.13577 版。利用網頁介面指定新韌體檔上傳刷機後，等待五分鐘，無痛升級完成，剩下就待時間考驗了。希望能解決斷線問題。&lt;br /&gt;
&lt;br /&gt;
我還遇到另外的問題，是關於 DD-WRT 試圖相容 OpenWRT 套件的 ipkg 套件管理程式。要啟用套件管理首先 /jffs 要有空間，因為我掛載了 USB 所以不是問題。輸入：&lt;br /&gt;
&lt;blockquote&gt;# ipkg update&lt;/blockquote&gt;可以更新套件庫資料，這邊都還OK。等要裝套件了，例如裝個 swap-utils 好了：&lt;br /&gt;
&lt;blockquote&gt;# ipkg install swap-utils&lt;/blockquote&gt;出現下載套件檔案的進度指示，也提示安裝完成，我可以下指令看看囉？&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;# swapon&lt;br /&gt;
swapon: can't resolve symbol 'setlocale'&lt;/blockquote&gt;WTF? 查了一下setlocale似乎是C的語系相關函式，怎了用都無法解決，網路上也沒有適當的解答。有人說是 library 的問題，那到底是哪個也沒說清楚。總之這部分卡很大，目前只能放著。看網路上其他同好都操作順利，我的 DD-WRT 之路怎麼這麼艱辛，要換成 Oleg 版比較好嗎？orz&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-985456312086081321?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/vHXVadz_E5A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/985456312086081321/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=985456312086081321" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/985456312086081321?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/985456312086081321?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/vHXVadz_E5A/dd-wrt-network-problem.html" title="DD-WRT: 無故斷線？AP水土不服問題" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.new-studio.org/2010/02/dd-wrt-network-problem.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0IER3Y_eSp7ImA9WxBbE00.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-912546100203940461</id><published>2010-02-06T22:04:00.009+08:00</published><updated>2010-03-11T20:11:46.841+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-11T20:11:46.841+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WL-520GU Hack" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="PC" /><title>Asus WL-520GU 刷 DD-WRT 韌體</title><content type="html">家裡有一台&lt;a href="http://tw.asus.com/product.aspx?P_ID=cOWUB0XOSysr4sBM"&gt;Asus製的WL-520GU無線AP&lt;/a&gt;，很多ptt鄉民推薦這台，尤其是刷過DD-WRT、Tomato的，還說要是沒刷過就沒有意義了。真的有這麼離譜嗎？使用原廠的韌體也有一段時間了，設定簡單、介面漂亮是他最大的特色，除此之外就沒有了。到底第三方的韌體有什麼吸引力可以讓一堆人冒著喪失保固的風險也要刷呢？&lt;br /&gt;
&lt;br /&gt;
DD-WRT至少多出以下特色：&lt;br /&gt;
- USB 隨身碟支援 / FTP&lt;br /&gt;
- VPN 連線&lt;br /&gt;
- 網路統計圖表&lt;br /&gt;
- VoIP&lt;br /&gt;
- XLink Kai&lt;br /&gt;
- 網路橋接及防火牆設定&lt;br /&gt;
- Telnet / SSH 管理介面&lt;br /&gt;
&lt;br /&gt;
更重要的，它根本就是一個小型的Linux嵌入式系統，甚至提供Telnet/SSH可以連進去管理，強大之餘可以做出更多應用。例如說網友&lt;a href="http://abintech.twidv.com/search/label/WL-500g%20HACK"&gt;Abin&lt;/a&gt;就把它改成網頁伺服器。&lt;br /&gt;
&lt;span class="content"&gt;&lt;br /&gt;
1. DD-WRT在&lt;a href="http://dd-wrt.com/site/support/router-database"&gt;下載頁面&lt;/a&gt;有非常多的版本，這是因為每一台AP的Flash RAM大小不一樣，可以容納的檔案不同之故，檔案越大的功能越全面，比如說Mega版的就是涵蓋所有功能的版本，但是要確定有8MB才可以刷。一般AP用Standard或者Mini版的就可以，有的RAM太小的就只能刷Micro版了，維基百科有&lt;a href="http://en.wikipedia.org/wiki/DD-WRT#cite_ref-feature_list_2-0"&gt;各版本的介紹&lt;/a&gt;，DD-WRT Wiki有&lt;a href="http://www.dd-wrt.com/wiki/index.php/What_is_DD-WRT%3F#File_Versions"&gt;更複雜的列表&lt;/a&gt;。&lt;br /&gt;
&lt;br /&gt;
像我選擇了 Standard + USB (mini-usb-ftp) 的版本，因為WL-520GU有一個USB孔。原本是作為列印伺服器之用的，刷了支援USB的版本之後搖身一變成為了檔案伺服器了。這樣十分方便，這是原廠韌體所無法支援的。&lt;br /&gt;
&lt;br /&gt;
2. 下載了韌體 bin 檔之後，我們還需要韌體的上傳工具，標準的 TFTP 工具就可以了，像 DD-WRT 官方提供的 &lt;a href="http://www.dd-wrt.com/dd-wrtv2/downloads/others/tornado/Windows-TFTP/tftp2.exe"&gt;tftp2.exe&lt;/a&gt; 就夠用了。&lt;br /&gt;
&lt;br /&gt;
3. 確定了版本之後，首先將網路環境簡化到只剩 WL-520GU 跟電腦兩台即可，電腦的網路設定改成手動指定 192.168.1.2，WL-520GU則是自訂值或預設 192.168.1.1。&lt;br /&gt;
&lt;br /&gt;
4. 先把 WL-520GU 的電源拔掉，在天線旁邊有兩顆按鈕，其中一顆黑的是Restore重置鈕，按住不放再插上電源，等約三秒電源指示燈在閃爍的時候放開按鈕，代表我們開啟了維護模式，可以準備上傳韌體。&lt;br /&gt;
&lt;br /&gt;
5. 電腦端開啟 TFTP 工具，Server填AP的IP位置 (如圖我的是 192.168.1.101，預設是 192.168.1.1)，Password留空，File選取剛才下載的韌體檔。按下Upgrade鍵等進度列跑完。跑完後程式提示完成後再等個兩三分鐘讓AP進行安裝，直到電源指示燈不閃了就代表更新完成了。&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/_YTQXzGpyark/S21lGkxxMdI/AAAAAAAAA2U/uFv3qy6nisw/s1600-h/dd-wrt_tftp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_YTQXzGpyark/S21lGkxxMdI/AAAAAAAAA2U/uFv3qy6nisw/s320/dd-wrt_tftp.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
6. 先以拔電源的方式讓 AP 重新啟動，再用電腦開啟瀏覽器，瀏覽 http://(AP設定的IP) 來開啟設定畫面，如果出現提示輸入帳號密碼的視窗則以root / admin的組合輸入，就代表大功告成啦。&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/_YTQXzGpyark/S21nRGaLkLI/AAAAAAAAA2g/Hf2MOZPyMEA/s1600-h/dd-wrt_webgui.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_YTQXzGpyark/S21nRGaLkLI/AAAAAAAAA2g/Hf2MOZPyMEA/s320/dd-wrt_webgui.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;hr /&gt;刷韌體是很容易，但是要把之前所作的設定調回來可就不太容易，DD-WRT的設定項目非常的多，跟原廠韌體絕對是不能比。&lt;br /&gt;
&lt;br /&gt;
另外要附掛USB隨身碟也十分容易：&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;準備一個格式化好的隨身碟 (檔案系統應該是 FAT)&lt;/li&gt;
&lt;li&gt;插到 WL-520GU 的USB插槽&lt;/li&gt;
&lt;li&gt;設定介面的 伺服器→USB 就是相關設定，把「USB 驅動核心」打開之後會有更多選項跳出，選取所有的USB1.1跟2.0支援，然後把「USB 儲存裝置驅動」跟相關檔案系統支援也打開。&lt;/li&gt;
&lt;li&gt;最後別忘了也把 Automatic Drive Mount 打開，可以開機後自動掛載隨身碟。Disk Mount Point則隨喜好，我設定在 /jffs 上。儲存重開後就可以看到相關資訊。&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/_YTQXzGpyark/S21p34cbHgI/AAAAAAAAA2s/BJoY5ZhMXpo/s1600-h/dd-wrt_usb.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_YTQXzGpyark/S21p34cbHgI/AAAAAAAAA2s/BJoY5ZhMXpo/s320/dd-wrt_usb.png" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;系統管理→基本管理的jffs支援也可以打開。這個是刷完韌體後 Flash 剩下的空間可供使用，有512KB多可以用。如果上面的 USB 已經夠大了這邊開不開都無所謂了，這是給沒有 USB 可擴充的 AP 一個可以儲存資料的地方。&lt;br /&gt;
&lt;a href="http://1.bp.blogspot.com/_YTQXzGpyark/S21p4l03zVI/AAAAAAAAA20/ihVuPIyADks/s1600-h/dd-wrt_jffs.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_YTQXzGpyark/S21p4l03zVI/AAAAAAAAA20/ihVuPIyADks/s320/dd-wrt_jffs.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;br /&gt;
最後有一個我十分注意的功能，專有名詞叫做 PPPoE-Relay，用途是讓使用NAT虛擬IP上網的電腦，也可以透過分享器撥號取得實體IP。用例子說的話就是無線AP設定自動撥號取得動態IP，平常一開機所有電腦都可以NAT上網。但偶爾也想透過撥號取得實體IP來對外。這個功能在原廠的韌體裡是有的，在設定PPPoE的時候就有項目可勾選 (但我現在忘了名稱)，但刷到 DD-WRT 卻找不到類似的功能，除非你在「基本設定」把WAN連接類型關閉，下面才會多一個「將 WAN 端指定給交換器」的選項，但這樣一來NAT就沒有作用了，每台電腦都必須透過撥接才能上網，真的沒有兩全的方案嗎？&lt;br /&gt;
&lt;br /&gt;
原來 PPPoE-Relay 功能預設是在付費的 DD-WRT 韌體才有，但有人提出變通方案：利用姊妹品 OpenWRT 的套件 rp-pppoe-relay 來達成。簡單來說在AP啟動時執行這個小程式就可以達成這項任務，但是這個小程式要放在AP裡面很困難，因為AP裡面沒有很便利的讀寫區，有的只是燒錄的ROM跟RAMDISK，前者無法寫入後者重開機就消失了。如果有開啟額外 Flash 空間建立 JFFS2 的話就可以拿它來用，或者也可以靠外部 USB 來達成。&lt;br /&gt;
&lt;br /&gt;
1. 先取得 pppoe-relay 檔案 URL 位置。參考&lt;a href="http://blog.devnu11.net/2009/12/dd-wrt-pppoe-passthrough/"&gt;DD-WRT PPPoE Passthrough (on WRT54G)&lt;/a&gt;這篇我們可以知道 OpenWRT 網站有 pppoe-relay 檔案可以下載 (&lt;a href="http://kamikaze.openwrt.org/8.09.2/brcm-2.4/packages/rp-pppoe-relay_3.10-1_mipsel.ipk"&gt;這裡&lt;/a&gt;)。複製URL位置備用。&lt;br /&gt;
&lt;br /&gt;
2. telnet 192.168.1.1&lt;br /&gt;
登入AP，帳號固定是root，密碼看你的設定。&lt;br /&gt;
&lt;br /&gt;
3. cd /tmp&lt;br /&gt;
切換到RAMDISK下，我們要做些解壓的動作。&lt;br /&gt;
&lt;br /&gt;
4. wget (剛才那個套件的網址)&lt;br /&gt;
可以下載到套件包。&lt;br /&gt;
&lt;br /&gt;
5. tar -xzf rp-pppoe-relay_3.10-1_mipsel.ipk&lt;br /&gt;
解壓套件。&lt;br /&gt;
&lt;br /&gt;
6. tar -xzf data.tar.gz&lt;br /&gt;
再解一層。&lt;br /&gt;
&lt;br /&gt;
7. cp usr/sbin/pppoe-relay /jffs&lt;br /&gt;
複製檔案到 JFFS 下，如果你剛才有開啟JFFS2或是擴充USB隨身碟並掛到/jffs下應該會有空間可放&lt;br /&gt;
&lt;br /&gt;
8. 到網頁介面的系統管理→指令新增一行&lt;br /&gt;
sleep 10 &amp;amp;&amp;amp; /jffs/pppoe-relay -S vlan1 -C br0&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/_YTQXzGpyark/S212Zu2aZII/AAAAAAAAA3A/hqenfZAcjrQ/s1600-h/dd-wrt_pppoe.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_YTQXzGpyark/S212Zu2aZII/AAAAAAAAA3A/hqenfZAcjrQ/s320/dd-wrt_pppoe.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
並儲存啟動指令，這樣啟動時就會執行這個小程式。&lt;br /&gt;
&lt;br /&gt;
至此全部的設定大功告成，還有很多地方沒有提到如 VPN 的就請自行摸索囉，我也是才剛會而已。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-912546100203940461?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/y6063mY175Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/912546100203940461/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=912546100203940461" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/912546100203940461?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/912546100203940461?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/y6063mY175Q/asus-wl-520gu-dd-wrt.html" title="Asus WL-520GU 刷 DD-WRT 韌體" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_YTQXzGpyark/S21lGkxxMdI/AAAAAAAAA2U/uFv3qy6nisw/s72-c/dd-wrt_tftp.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.new-studio.org/2010/02/asus-wl-520gu-dd-wrt.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUAQnw5fCp7ImA9WxBQFk8.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-1735557187597904757</id><published>2010-01-16T15:33:00.001+08:00</published><updated>2010-01-16T15:34:03.224+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-16T15:34:03.224+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Talk" /><title>2010 Winter Vacation</title><content type="html">好久沒寫Blog了，人的惰性使然。如果太久沒寫，要再重新養成習慣一周至少一篇的速度，是很困難的。&lt;br /&gt;
&lt;br /&gt;
碩士研究所推甄搞定了，BOSS也找好了，大學時期只剩下最後的半年多。接續的一連串事情：拍個人照、團體照、畢業學士照等等是必經的過程，拍攝的過程中一直沒有即將畢業的感覺，果然是因為研究所還是繼續留下來的關係嗎？&lt;br /&gt;
&lt;br /&gt;
而大學中最艱難的關卡，畢業專題，也在去年底畫下了句點了。我們的專題從暑假就開始每天到研究室報到，過著有如上班的生活，每天解決一點問題，結果我也有PO上另一個部落格：&lt;a href="http://rfid-fantasy.blogspot.com/"&gt;RFID Fantasy&lt;/a&gt;。一直以為進度控管是順利的，沒想到11月才爆出程式方面根本沒有整合，剩下一個月原本是要專心寫文件，變成兩個人趕程式、兩個人趕文件的分工局面，我敢說這一個月絕對是專題最充實、最認真的時刻。根本是火箭發射，一個月當一年用&lt;s&gt;，超英趕美&lt;/s&gt;。還好最後導入了 Subversion 版本控管，著實少了很多程式碼衝突跟協調所浪費的時間，SVN 真是個好工具啊！&lt;br /&gt;
&lt;span class="content"&gt;&lt;br /&gt;
成果發表會當天，整組接受著教授們無情的批評跟質疑，也總算是成功過關了。專題被婊在專題展上絕對是不可或缺的，只差在程度的大小。看著許多組的半成品，那樣會被婊也是無可厚非的吧。&lt;br /&gt;
&lt;br /&gt;
很快的，西元2010年到了。這次跨年因為水樹奈々的關係首次看了NHK世界台的第60屆紅白歌合戰，結果越看越起勁，從開場看到結尾，也認識了不少日本團體 (比方說 AKB48？ XD)。聽了之後感覺演歌十分具有感染力，台灣早期不少歌曲都是翻唱，使得我比較熟悉這些風格吧。唯一感到不滿的大概是奈々姫演出時間只有兩分鐘吧，太短了，不過這是一個了不起的指標了，希望下次能有機會看到其他人登台表演。&lt;br /&gt;
&lt;br /&gt;
1月中，各大學校都開始放寒假了吧。長達一個月的寒假，有想去學開車的念頭，當然有一些原因是因為父母的催促啦。但資料都還沒有收集，不知道有哪些駕訓班是大家比較推薦且離我家又近的，得快點去找找資料囉。而未來BOSS也已經寄信來要我下學期跨系修習他開設的組合語言，因為未來可能要我當助教的關係，要開始接觸新的東西了。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-1735557187597904757?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/vg78MJjEMzU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/1735557187597904757/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=1735557187597904757" title="2 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/1735557187597904757?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/1735557187597904757?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/vg78MJjEMzU/2010-winter-vacation.html" title="2010 Winter Vacation" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://blog.new-studio.org/2010/01/2010-winter-vacation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUINRnoyeip7ImA9WxBSFUg.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-1447312636538203955</id><published>2009-10-17T16:16:00.024+08:00</published><updated>2009-12-23T16:39:57.492+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-23T16:39:57.492+08:00</app:edited><title>99 學年度碩士班推甄</title><content type="html">本篇預計收錄我大學四年級的碩士班推甄甘苦經驗談。由於現在還在進行中，所以無法更新。&lt;br /&gt;
&lt;br /&gt;
目前撒網科系： [錄取數/報名人數 = 錄取率]&lt;br /&gt;
&lt;br /&gt;
&lt;s&gt;交大資工聯招&lt;/s&gt; [77/417 = 18.47%]&lt;br /&gt;
　　資工甲 備取73 (正取44人)&lt;br /&gt;
　　資工乙 備取31 (正取13人)&lt;br /&gt;
　　網路工程 備取48 (正取21人)&lt;br /&gt;
&lt;s&gt;交大資工丁組(系統網路管理組) [6/27 = 22.22%]&lt;/s&gt; (第一階段被刷)&lt;br /&gt;
&lt;s&gt;交大資管 [15/110 = 13.64%] (進入第二階段 [15/45 = 33.33%] 11/13 =&gt;&lt;/s&gt; 結果:連備取都沒有)&lt;br /&gt;
&lt;s&gt;成大資管&lt;/s&gt; (因研究計畫書難產而放棄)&lt;br /&gt;
&lt;s&gt;中央資工&lt;/s&gt; (被告知資格不符)&lt;br /&gt;
中興資工 [20/146 = 13.70%] (直接錄取！讚)&lt;br /&gt;
中興資管 [13/78 = 16.67%] (進入第二階段 [13/41 = 31.71%] 11/13 =&gt; 結果: 正取2)&lt;br /&gt;
&lt;br /&gt;
成績：中興資管累計全班第3 (5.88%)，87.18&lt;br /&gt;
特殊經歷：無&lt;br /&gt;
推甄前一言：別人都修涼課衝成績啦 \_/&lt;br /&gt;
&lt;span class="content"&gt;&lt;br /&gt;
10月初，得知碩士班推甄簡章已經開始發售了！？因為在校成績還算能看，原本是沒打算要念研究所的，但是這個分數不推可惜，而且同學說要推成大有機會，所以姑且抱著一試的心情。大概決定好推甄的學校之後，發現交大10/17就是收件的期限了，換句話說只剩兩週可以搞定所有事情，我的推甄之路，至此有如火箭發射一般緊急升空。&lt;br /&gt;
&lt;br /&gt;
我只花了一週的時間(事實上我也只有一週orz)就把所有資料包括簡歷、自傳、讀書計畫、獎狀紀錄等連夜趕工完成，竟然還能累積到30頁真是超乎想像。大學時期完全沒有社團跟幹部經驗，單憑著班排第三就衝了，這樣能推到什麼學校呢？我自己也很懷疑。&lt;br /&gt;
&lt;br /&gt;
過程中比較難的任務反而是推薦信，要提早把自傳寫完後給教授看，這樣教授才知道如何下筆。有的教授只有一面之緣，通常也寫不出什麼正向的推薦信，甚至會拒絕請託。通常只剩導師跟專題指導教授可以幫你寫推薦信了。但是要注意教授也要應付其他人的請託，沒有太多的時間幫你寫，務必以誠懇的態度請託教授能幫你寫，還要抱持著不一定會有的心態。不過導師跟專題指導教授比較不可能拒絕你，畢竟連他都不幫你寫，還有誰能幫你寫呢？前述的「被拒絕」指的是專任教授，這種要看教授對你有沒有印象。&lt;br /&gt;
&lt;br /&gt;
再來就是自傳的送印，找間影印輸出店作輸出，最後再膠裝成冊，大概耗時半天。黑白一頁2元，彩色有4元或6元的，一本印下來包含裝訂通常都要百來元。&lt;br /&gt;
&lt;br /&gt;
最後趕在送件最後一天衝郵局，把所有資料用牛皮紙袋裝好，限時掛號52元送出去，終於可以鬆一口氣......怎麼可能，下一家學校在等著你重複以上步驟咧，通常這樣耗下去一個月就過去了，根本沒有辦法把心力投注在準備推甄以外的部分，就像是魔法師詠唱咒文時毫無防備的時間一樣。&lt;br /&gt;
&lt;br /&gt;
(10/20 更新) 成大忍痛放棄。原因無他，該死的「研究計畫」就是碩士論文前三章啊啊啊！！光是文獻探討就要找遍國家圖書館及各大期刊發表文章，需時一個月以上。我只剩4天，怎麼可能寫的出來啊？基於此理由，我想成大已經離我遠去，再見了成大。&lt;br /&gt;
&lt;br /&gt;
(10/22 更新) 交大釋出報名人數資訊，意外的丁組只有27人。也就是說，剩下的26人，咱們勢不兩立。資訊聯招不意外人很多，我想有人要哭了XD&lt;br /&gt;
&lt;br /&gt;
(10/23 更新) 驚悚！國立中央大學打電話來家裡，當然不是恭喜錄取。而是說我「資格不符」...啥？因為中興大學的資管系是列在社會科學與管理學院，不是理、工、資訊科系，再見啦orz&lt;br /&gt;
&lt;br /&gt;
(10/30 更新) 今天是交大資工丁組的放榜日，結果一查發現昨天就公告了orz 更慘的是，我竟然被刷了，唉唉......果然只認證照不認其他東西啊。&lt;br /&gt;
&lt;br /&gt;
(11/04 更新) 交大資管所放榜，確定進入第一階段！同榜的還有我系第一名跟他校的認識朋友。口試日期是11/13 上午 08:30。不必準備其他資料，專心準備會被問的備審內容及資訊知識、就讀動機即可(？)&lt;br /&gt;
&lt;br /&gt;
(11/09 更新) 中興資管如預想中的進入第二階段。而原訂明日公告的交大聯招榜單，朋友 MSN 告知已經偷跑！這年頭遊戲、CD偷跑以外，連榜單也來這套喔？看了一下死傷慘重，全部都備取，應該是沒有機會了。&lt;br /&gt;
&lt;br /&gt;
(11/10 更新) 中興資工公布名單，我直接錄取！看來後路已經確鑿。如果交大資管沒有上，我就讀中興資工吧。&lt;br /&gt;
&lt;br /&gt;
(11/13 更新) 今天是交大資管跟中興資管的口試日，前一天我就先行北上到新竹親戚家借住一晚，順便拿泰山仙草蜜拜交大土地公，隔天前往交大管理二館接受口試。八點一到已經很多人在那邊等了，穿的也都是西裝打領帶的正式服裝。我去報到的時候已經是22順位了。再來就是漫長的等待，每一關面試時間幾乎都超過5分鐘，而交大資管有兩關。第一關的時候有四個教授在裡面，問我這些：&lt;br /&gt;
&lt;br /&gt;
- 先簡單自我介紹。&lt;br /&gt;
- 為何選交大資管？&lt;br /&gt;
- 如果五年皆順利，想達到什麼目標階級？&lt;br /&gt;
- 挑一個資訊理論說明。&lt;br /&gt;
- (因為我的資結、演算法成績高) 舉一個印象深刻的演算法，並說明 Best / Worst Case 的意義，還有O(n^2)的n的意義。&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;
- 想將資訊和管理應用於何種工作？怎麼運用？&lt;br /&gt;
- 覺得自己的系上資管是偏資，還是管？&lt;br /&gt;
&lt;br /&gt;
這一關我感覺是比較容易，似乎五分鐘之內就結束了，不知是好是壞。&lt;br /&gt;
&lt;br /&gt;
交大資管結束後，馬上回來參加中興資管的口試，報到時看到不少系上同學。然後應我要求，我的口試是最後一位。口試一樣有兩關，第一關是書面審查口試，第二關是專業能力口試。第一關有三位教授，因為這些教授都知道我去交大資管面試，和興大資工逕行錄取，都不問書面，直接哈拉起來XD&lt;br /&gt;
&lt;br /&gt;
第二關一樣有三位教授，這次可就沒那麼好混。先劈頭叫我用英文介紹一下專題實作內容，和問我專題負責層面。我根本沒準備，只好隨便用破爛英文對談讓他理解，感覺表現很差。最後另一位問我專題有何致命缺點(可以用中文了)，但他似乎不是很滿意我的回答，叫我回去想看看。&lt;br /&gt;
&lt;br /&gt;
口試到此全部結束了。再來，就是等成績發表了。&lt;br /&gt;
&lt;br /&gt;
(11/19 更新) 很好交大落榜了，連備取都沒有，我的成績大概沒做過所以也不好看吧 (又或者是口試部份難以讓教授深刻，Who fucking cares)。所以大家記得大學四年的目標就是修爽課讓整體分數提高，而不是想著要修什麼充實自己的有用課程......至少這在推甄會捅你很大一刀。如果是要考試的，那就當我沒說。&lt;br /&gt;
&lt;br /&gt;
回顧我就讀研究所的動機，就是為了學歷跟錢而已。要作什麼研究，我也不知道。大概是太現實了所以被教授看不起吧，不論如何，這也是人生中的難得體驗，所以我又留興大囉orz&lt;br /&gt;
&lt;br /&gt;
(11/26 更新) 興大第二階段放榜，不意外的資管跟資工都正取。我突然有點動搖了，要留在熟悉的資管所呢？還是前往我心目中的資工所呢？該去訪實驗室找教授了。&lt;br /&gt;
&lt;br /&gt;
(12/-- 更新) 忘記更新，最後我當然是選了興大資工去了，一些朋友也都是雙雙入取，而選資工。我也已經找到教授了，可能會朝網路方面來做研究。&lt;br /&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-1447312636538203955?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/mESK2nQMbCk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/1447312636538203955/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=1447312636538203955" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/1447312636538203955?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/1447312636538203955?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/mESK2nQMbCk/ms-admission.html" title="99 學年度碩士班推甄" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.new-studio.org/2009/10/ms-admission.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUADSH4_eCp7ImA9WxNWFU8.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-6280171411214175366</id><published>2009-10-01T23:45:00.009+08:00</published><updated>2009-10-14T21:42:59.040+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-14T21:42:59.040+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Talk" /><title>中華郵政推出 VISA 金融卡服務</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_YTQXzGpyark/SsTajfZh5oI/AAAAAAAAAzk/SSYt6AwtccY/s1600-h/post_visadebit.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 200px;" src="http://1.bp.blogspot.com/_YTQXzGpyark/SsTajfZh5oI/AAAAAAAAAzk/SSYt6AwtccY/s320/post_visadebit.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5387671357500810882" /&gt;&lt;/a&gt;今天在報紙上看到的消息。&lt;br /&gt;
&lt;br /&gt;
中華郵政跟 VISA 簽約，即日起免費接受郵局儲戶將手中的提款卡轉為 VISA 金融卡。VISA 金融卡跟一般的信用卡最大的不同是它必須連結一個帳戶，簽帳後立刻扣款而沒有預支的功能。VISA 金融卡在台灣的使用率只有4%，由於一般人已經習慣了預支的功能了，要轉用一個功能比信用卡還少，卻得承擔盜刷風險的 VISA 金融卡，想必有難度。&lt;br /&gt;
&lt;br /&gt;
但我認為這對沒有財力證明，或不想/沒辦法申辦信用卡的人來說，是很棒的東西。國際網路購物越來越多，刷一下已經變成了家常便飯。沒有卡，在網路上消費就變的很困難。好在有這種申請門檻低、比信用卡功能還要少的 VISA 金融卡，可以讓學生族群也能享受到刷卡的便利性。&lt;br /&gt;
&lt;span class="content"&gt;&lt;br /&gt;
不過根據郵局的頁面說明 (&lt;a href="http://www.post.gov.tw/post/internet/b_saving/index.jsp?ID=1253498951090"&gt;這裡&lt;/a&gt;)，刷卡消費範圍：限實體商店消費使用 實用性就大打折扣了。通常申辦這種卡的用意都是要來進行網路交易，結果卻沒辦法。我想對學生來說，用在網路交易應該比在實體商店刷卡還要來的多吧。至少我自己跟我朋友是這樣。&lt;br /&gt;
&lt;br /&gt;
因為才剛上路，沒有人知道是不是真的沒辦法網路交易。但目前已推出 VISA 金融卡的幾家金融機構，也只有聽說中國信託、台新銀行&lt;strike&gt;、台灣中小企業銀行、華南銀行、合作金庫&lt;/strike&gt;這幾家有支援線上交易 (這是我一年前調查的名單，現在不知道有沒有更動)。因為有確實無法接受線上刷卡的 VISA 金融卡的先例，郵局此言恐怕不是隨便寫寫吧。畢竟網路交易常常出現詐騙，滋生糾紛，郵局也不想處理太多糾紛吧。&lt;br /&gt;
&lt;br /&gt;
其他：&lt;br /&gt;
&lt;br /&gt;
綁郵局帳戶，可提款&lt;br /&gt;
刷卡金額上限: 每日不得超過NT$30,000，每月不得超過NT$60,000&lt;br /&gt;
國際手續費: 依 VISA 標準加收 1.85%&lt;br /&gt;
卡片有效期限: 5年，期滿需換卡&lt;br /&gt;
掛失補發手續費: NT$100&lt;br /&gt;
&lt;hr /&gt;&lt;br /&gt;
對比&lt;a href="/2009/06/bank-sinopac-gift-card.html"&gt;上次介紹&lt;/a&gt;的&lt;a href="http://www.sinocard.com.tw/as/product/giftcard/index01.jsp"&gt;永豐 Gift Card&lt;/a&gt; (MasterCard陣營)，不但申請便利 (臨櫃購買/網路訂購)門檻超低，而且近期測試發現網路刷卡權限很大，原本刷不過的 Paypal 現在已經可以過了，這還是某些 VISA 金融卡所無法達成的喔，列出來比較：&lt;br /&gt;
&lt;br /&gt;
無綁帳戶 (或說此帳戶無法直接使用)，不可提款&lt;br /&gt;
刷卡金額上限: NT$10,000&lt;br /&gt;
國際手續費: 依 MasterCard 標準加收 2%&lt;br /&gt;
卡片有效期限: 5年，期滿需贖回&lt;br /&gt;
贖回手續費: $100&lt;br /&gt;
記名享有掛失資格，掛失補發手續費: NT$200&lt;br /&gt;
毀損更換手續費: NT$50&lt;br /&gt;
支援網路交易 &lt;a href="http://www.mastercard.com/securecode/"&gt;MasterCard SecureCode&lt;/a&gt; 驗證 (預設密碼 8888 可更改)&lt;br /&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-6280171411214175366?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/B-D7QlhHbwU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/6280171411214175366/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=6280171411214175366" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/6280171411214175366?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/6280171411214175366?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/B-D7QlhHbwU/post-office-visa-debit-card.html" title="中華郵政推出 VISA 金融卡服務" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_YTQXzGpyark/SsTajfZh5oI/AAAAAAAAAzk/SSYt6AwtccY/s72-c/post_visadebit.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.new-studio.org/2009/10/post-office-visa-debit-card.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EDRHw-eip7ImA9WxBVGE4.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-136105581499325450</id><published>2009-07-31T21:54:00.010+08:00</published><updated>2010-02-22T17:41:15.252+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-22T17:41:15.252+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="FancyFrontier" /><category scheme="http://www.blogger.com/atom/ns#" term="Doujin" /><category scheme="http://www.blogger.com/atom/ns#" term="report" /><title>Fancy Frontier 14 活動實錄</title><content type="html">這次的 FF 行感覺一整個很趕，大概因為平日都待在學校的研究室趕專題，無暇處理 FF 行事務，不知不覺 7/24 就到了 (FF 前一天)。按照慣例我們前一天就到台北睡足，這樣第一天才能早點排隊進場。不過跟朋友商量後他說統聯週五 12:00 前有優惠價 NT$100，原價 NT$210，足足省 110，希望能提前前往，我想了想有省錢機會也不錯，一早就出發前往台中火車站了。&lt;br /&gt;
&lt;br /&gt;
到了統聯發現前往台北的人潮超長的，買票後加入排隊也等了不少時間，等到輪到我們上車也差不多過正午了，原本終於輪到我們上車時卻被告知車位算錯了請等下一班時真是囧啊，不過也終於順利前往台北了。大概到了桃園段車速開始變慢，好像塞車了，往窗外看到一台統聯停在路上，還有工程車跟載鋼筋的拖車 (新聞連結：&lt;a href="http://tw.news.yahoo.com/article/url/d/a/090724/8/1np1v.html"&gt;為撿輪胎被撞！　2國道工程員枉死&lt;/a&gt;)，拖車的駕駛座都被鋼筋刺穿了，我還以為在看絕命終結站咧。當時我還以為駕駛被刺穿咧，後來看到新聞才知道不是這麼一回事。&lt;br /&gt;
&lt;br /&gt;
大概三點多到了台北，先到 7-11 買點吃的，因為為了趕中午前搭車，我只有吃早餐而已，一路餓到台北。吃飽後就到地下街逛逛，看模型、電玩、PVC 之類的，也沒有什麼有興趣的。途中也看到了新開不久的夢幻餐車女僕餐廳，只有半間大小真的有夠迷你。一時無聊拿起 PDA 接收無線網路訊號，卻只發現 WIFLY，連了才知道這是要付錢的。另外又搜到 TPE 這大概是政府提供的，朋友當場 Plurk 起來了，我則因為連線太慢乾脆不玩了。一直到六點多吃飽後，前往台北國軍英雄館。&lt;br /&gt;
&lt;span class="content"&gt;&lt;br /&gt;
到了台北國軍英雄館見到一群朋友，付了兩天房錢後就到了房間。我跟朋友一起住三人房，明天才大家一起住10人房。晚間也沒什麼娛樂就跑到西門町逛一下，有了 GPS 的加持比較不會迷路，跑到 95 跟 Animate 看看，順便到可思客...的門口而已XD 有女僕在那邊，好像是今天有活動吧。看一看也沒多花錢，因為明天才是關鍵啊，回到房間吃泡麵看電視就趕緊睡覺了。&lt;hr /&gt;&lt;br /&gt;
終於是 FF14 第一天，早上五點就起來準備了。感覺沒睡很飽精神還有點恍惚，突然覺得肚子不太對勁，一早就跑好幾次廁所，正巧朋友也是，難不成吃了什麼奇怪的東西嗎？這一拖拖到七點多才出發到達。八點多一到會場當然就是排隊，不過感覺排隊的長度好像沒有去年長，是大家都習慣晚到了嗎？去年才六點多就排到不知哪邊去了說。&lt;br /&gt;
&lt;br /&gt;
跟去年一樣，差不多 11 點多人龍才開始動，前方也有維他露公司的飲料補給 (舒跑綠茶滿不錯的啊)，進入一樓後就跟朋友道別開始殺了。很快的會場都是人了，我前往最擠的辰區，這邊幾乎動彈不得，有夠可怕，先到 CSY Revolution 買了新刊。然後陸陸續續買了其他攤位的東西，才終於從辰區出來。要紀錄已購買物的時候發現放在口袋的筆怎麼不見了，想想該不會是剛才在  CSY Revolution 攤位從口袋拿皮包時掉出來了吧？望向水洩不通的辰區，我還是要去找看看，畢竟那枝筆是在&lt;a href="/2008/11/gears-of-war-2.html"&gt;戰爭機器2首買會&lt;/a&gt;時送的啊！&lt;br /&gt;
&lt;br /&gt;
又去擠了一次，果然發現那枝筆的芳蹤，沒被踩扁真是太好了，費了我一番力氣才終於拿回來。但是要全身而退還真困難，人實在太多了。&lt;br /&gt;
&lt;br /&gt;
做完紀錄後，不小心排入一條購買人潮，看了一下牌子寫「馬皇」本排隊，因為我是要繼續移動的，我就離開了。事後才知道原來這是網路正夯的「馬皇降臨」本，開場幾小時 1400 本全數售罄，不過我到的時候才11點多，要買還是買的到的，只能怪我情報不靈通吧。朋友看來也十分後悔啊，現在正在找誠品舖貨，聽說是未來數位的助力？&lt;br /&gt;
&lt;br /&gt;
全部買完後差不多過中午了，到了四樓找個位置準備看女僕，順便通知朋友有位置可休息了。等朋友也到後我開始檢查戰利品，同時計算金額。發現 CSY Revolution 的套組，資料夾怎麼有三個？原本我以為就這樣，朋友說你那是多的啦，我才發現原來是多給的。正打算一個收藏一個使用的時候，朋友叫我拿去還，嘖嘖，好吧。於是又回到人很多的辰區，看到 CSY 新刊已經沒了，我跟其中一位說明情況後，她們還驚訝了一下，大概覺得這種人少有了吧。&lt;br /&gt;
&lt;br /&gt;
回到四樓休息區，大阪萌萌大使出現了，接著是女僕表演。又唱又跳，每個人都有才藝，炒熱會場氣氛。不過我覺得舞台前面那一塊人感覺好像沒很投入，坐在那都沒啥反應？不久雷聲大作，電燈也暗了幾盞，聽說是跳電。表演結束後是聲優簽名版抽獎，我想剛才那群人等的是這一刻吧，不少中獎者都在那一區。抽完後也沒啥活動了，我們就回去了。&lt;br /&gt;
&lt;br /&gt;
外面雨超大，雖然有雨傘但鞋子還是濕掉了，還好戰利品沒事。這大概是我參加 FF 幾年以來離場下最大的雨吧，這對大家來說可是莫大的考驗啊，很多人都拼死保護戰利品呢。回到英雄館先把鞋子塞滿報紙除濕後，打開 PDA Twitter 一下。&lt;hr /&gt;&lt;br /&gt;
第二天我們一行人索性睡到早上十點多，接近退房時間才起來。畢竟該買的第一天都買完了，第二天主要是要看訪談的，中午後入場通常都不用排隊。但是才起來沒多久，肚子又出問題，跑了好幾次廁所。折騰好久總算於十一點離開了國軍英雄館，而大家都有各自的目標於是就在門口散會了。&lt;br /&gt;
&lt;br /&gt;
到了台大體育館，果然不必排隊，先喝一杯維他露提供的每朝健康綠茶再上樓。我們直接到四樓找位置坐，才中午12點已經很多人在舞台區前等了。在此之前有七瀨葵台來的訪問簽名會，要抽簽名資格，結果抽獎過程中有一位一直重複抽中，連工作人員都忍不住問他到底投了幾張，答案是21張，而且抽中三次。不過那張券是要消費滿300才有的，看來他也花了不少啊。然後就是七瀨葵出場的時候了，不過老師本人不知道跑到哪裡去導致活動延期十分鐘。總算出場後一睹廬山真面目還有講話聲音...跟想像中有距離XD&lt;br /&gt;
&lt;br /&gt;
然後就是大家等超久的大小清水 (清水愛、小清水亞美) 的訪談了，看到她們兩位穿著浴衣出場，全場呼聲不斷。接著就是訪問，我只記得下面有一團會拉白布條做些動作，然後林君和(沒錯吧？)就會甘願的中招，還被說是蘿莉控，更被小清水亞美大喊「お兄ちゃん」(這句超值得啊！)，現場爆笑不斷。&lt;br /&gt;
&lt;br /&gt;
然後到了下午三點多，天氣越來越不妙，我還是跟朋友說我們早點回去，不但可以避開人潮，也可以趁沒下雨時快走，他也同意了。不過我們一出去沒多久就下雨了囧，這時候感覺最遙遠的距離不是你跟我，是台大體育館到公館捷運站的路途啊。好不容易成功保護重要敗家物資，到達捷運站，已經有點人了，看來許多人跟我們有相同的想法。最後就是慢慢歸鄉路，沒啥好提的。到台中時竟然也開始下雨了，穿雨衣騎機車回家吧。&lt;br /&gt;
&lt;br /&gt;
事後才知道我們離開後，清水愛有唱一首「恋する旅行少女」，沒聽到就算了，聽說四點活動結束後台北雨就停了是怎樣啊。然後當我們到了台中後，才開始下雨，真是衰到了。&lt;hr /&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;[C.S.Y Revolution] Whisper + 紙袋 : NT$100&lt;/li&gt;
&lt;li&gt;[C.S.Y Revolution] CIOCCOLATO : NT$200&lt;/li&gt;
&lt;li&gt;[MIRUKO HOUSE] 東方雛夏夜 : NT$80&lt;/li&gt;
&lt;li&gt;[MIRUKO HOUSE] Daisy Girls : NT$150&lt;/li&gt;
&lt;li&gt;[SATOMI with MASAKI] 東方櫻詠夢 : NT$100&lt;/li&gt;
&lt;li&gt;[Trick or Chick!?] 少女不限定 SET : NT$150&lt;/li&gt;
&lt;li&gt;[Trick or Chick!?] 高度易燃3 : NT$100&lt;/li&gt;
&lt;li&gt;[DCPSY] KYOU MANIA 2 : NT$150&lt;/li&gt;
&lt;li&gt;[DCPSY] NODOKA : NT$150&lt;/li&gt;
&lt;li&gt;[DCPSY] Mi-On! : NT$100&lt;/li&gt;
&lt;li&gt;[Twin Box] 夏色ファンタジー : NT$180&lt;/li&gt;
&lt;li&gt;[魚貓☆部屋] Moca☆Chocolate + Strawberry♡Cake : NT$150&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
TTL: NT$1610&lt;br /&gt;
算起來比 FF12 少很多，原本我有將C、さ攤都算進去，不過價格讓多數人卻步，最後就沒買。然後我還是一樣秉持有拆賣就只買本，盡量不要週邊，但聽說週邊賣的比本子好，搞的有些人已經只想出週邊不想畫本子了，別本末倒置啊囧&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-136105581499325450?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/gQHUE3A6CWA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/136105581499325450/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=136105581499325450" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/136105581499325450?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/136105581499325450?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/gQHUE3A6CWA/fancy-frontier-14-report.html" title="Fancy Frontier 14 活動實錄" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.new-studio.org/2009/07/fancy-frontier-14-report.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEAFQH08eip7ImA9WxJUGUQ.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-4690809988718956739</id><published>2009-07-19T15:59:00.004+08:00</published><updated>2009-07-19T16:38:31.372+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-19T16:38:31.372+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Talk" /><title>近況</title><content type="html">日幣再這樣漲下去，大家的日子會越來越難過啊...&lt;br /&gt;&lt;br /&gt;這是最近的心得。雖然近幾個月來比較少買日本的玩意了，但是還是有常常在注意匯率的變動 (Widget 和 Sidebar 真方便)。還記得 2008 年暑假的時候只有 0.28，現在已經超過 0.34 而且絲毫沒有往下掉的趨勢 (上週還飆到 0.35)，買一片 CD 現在 1000 元都快要不夠了。最近日本那邊還因為影響現今動漫界的兒童法案吵的沸沸揚揚，雖然暫時是不會通過了，但是難保日後為了選舉又拿出來炒作。&lt;br /&gt;&lt;br /&gt;大學最後一年，目前暑假仍舊天天往研究室報到，天天寫程式，雖然寫不出什麼東西。一個專題規模明明也不會說很大，但是一跟教授 Meeting 後就會突然加一些新東西，搞的組員人仰馬翻，查資料跟實作的時間耗了大部分的時間。結果耗了時間好像也生不出什麼東西，很快的一週又過去了，跟教授的 Meeting 該怎麼辦呢？我開始可以感受到截稿的那種壓力了。&lt;br /&gt;&lt;br /&gt;最近花比較多心力在專題，也寫了許多跟專題有關的文章&lt;span class="content"&gt; (C# 程式設計心得、RFID 操作、機架式伺服器管理等)，這些東西比較沒什麼好看的，所以我另外開了一個部落格來存放。又為了能讓後來遇到相同問題的人能有解決方案，我沒有設定私人不公開的狀態，所有文章都可以在網路上查的到。如果你想看看我的大學畢業專題到底在搞什麼玩意，或者資管系學生到底在學什麼，你可以看看這個部落格：&lt;a href="http://rfid-fantasy.blogspot.com/"&gt;http://rfid-fantasy.blogspot.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;有關於遊戲方面，我好久沒有用過 PC 玩過遊戲了，エロゲ什麼的好像一兩年沒玩過了吧，玩的都是一些 Flash Game (K 島 Flash 板不錯) 或者是 Console Game，比方說 Xbox 360 的遊戲，我國、高中的時候沒有 PS2 只能看別人玩遊戲乾瞪眼，所以我大學買 Xbox 360 玩讓別人乾瞪眼。最近把 FROM SOFTWARE 的名作 Armored Core 機戰傭兵系列出在 360 的兩款：4 代和 for Answer 單機部份全部玩完了，All Mission SS。機戰傭兵系列可以讓你自己組合出自己的機器人，然後擊敗指定目標的遊戲。要在多種零件中組合出平衡的機體，是很有趣的一件事情，有了速度但能源供給可能不夠，攻擊力強大卻續戰力不足，等等此類的。for Answer 中又新增了超巨大的 Arms Fort 可以攻打，在 Normal 中沒什麼挑戰性，但在 Hard 卻往往有瞬殺的挑戰法：自殺般的加速衝去，找到弱點快速給予強力一擊，成功通關。也因此每個任務都很短，一分鐘內都可以搞定，更快的可能只要三秒 (前提是技術要夠好達成瞬殺)。一對多的 NEXT 戰也很刺激，對方的能力都跟你相當，如何快速全部解決就靠玩家的實力了。&lt;br /&gt;&lt;br /&gt;最後嘛...Fancy Frontier 14 即將在 2009/07/25, 26 開始了，我也要開始規劃，準備一年一場的祭典了。因為我寒假不會去，所以是一年一次。不知道今年的開銷會不會比去年多，不確定要素果然還是企業攤的東西吧？不過像我們這種手腳慢的，大概進場就沒了吧。在同人攤位列表看到幾個熟悉的名字，越來越多日本社團來參加了，看來有場苦仗要打。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-4690809988718956739?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/BP42xGW0PUI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/4690809988718956739/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=4690809988718956739" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/4690809988718956739?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/4690809988718956739?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/BP42xGW0PUI/blog-post.html" title="近況" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.new-studio.org/2009/07/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMHQ34-fyp7ImA9WxNWFU8.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-5826801023263460209</id><published>2009-06-23T11:39:00.012+08:00</published><updated>2009-10-14T21:37:12.057+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-14T21:37:12.057+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="review" /><title>永豐 Gift 卡 (酷幣卡) 使用心得</title><content type="html">這是&lt;a href="http://www.sinocard.com.tw/as/product/giftcard/index01.jsp"&gt;永豐Gift卡&lt;/a&gt;的使用心得文。&lt;br /&gt;
&lt;br /&gt;
網路上很多購物常常需要信用卡，而一般學生族群根本不可能辦信用卡，或者是怕繳年費、刷爆卡等等。所以VISA就推出了一種叫做VISA金融卡(VISA Debit Card)的玩意，以傳統的信用卡相比，不但不再需要薪資證明等信用審核而可以直接以開戶的方式獲得此卡，刷卡的時候更是直接從帳戶裡扣除，有多少刷多少，沒有預借功能。不過這還是需要在銀行開個戶才能取得，而銀行開戶有的也是有限制 (最低開戶金額、年齡限制等)，所以Master Card這邊發行了一種Gift Card的服務，比VISA金融卡的門檻要低，只要臨櫃購買便可擁有，沒有年齡或身分的限制，而且還具有信用卡的部分功能，以下就是我的申辦心得。&lt;br /&gt;
&lt;span class="content"&gt;&lt;br /&gt;
一開始得知Gift Card，是在&lt;a href="http://funiphone.pixnet.net/blog/post/27553644"&gt;無信用卡，仍可購買iTunes付費遊戲的方法 - 永豐Gift Card(酷幣卡)圖文教學&lt;/a&gt;無意間發現的，原本我只知道VISA金融卡，卻不知道有更便利的Gift Card，一看之後就想著也來買一張吧，正好台中市區有一間永豐銀行。&lt;br /&gt;
&lt;br /&gt;
臨櫃購買也很簡單，抽號碼牌到櫃檯向行員告知要購買永豐Gift卡，他會問你要哪種款式(桌面上有參考圖)，然後就填一張基本資料，就可以以NT$100入手此卡，不過預設裡面是沒有儲值金額的。正好最近有臨櫃儲值NT$1000送NT$100的活動，所以我等於儲值NT$1100在免錢的卡上。順便要求辦了記名的服務，這需要身分證跟已簽名過的Gift Card，所以我當場就簽名啟用了。記名不用錢，特點是可以辦掛失補發和線上申請MasterCard SecureCode購物安全認證碼&lt;s&gt;，不過到現在我都還不能申請，真是奇怪&lt;/s&gt;。(10/14 追記: 似乎MasterCard SecureCode有預設值，&lt;a href="http://www.sinocard.com.tw/as/product/giftcard/index04.jsp"&gt;這裡&lt;/a&gt;提到是 8888，建議拿到卡後立刻更改)&lt;br /&gt;
&lt;br /&gt;
總之，這張卡跟i-Cash一樣，儲值金額於卡內，再消費，入手方式也是非常簡單。&lt;br /&gt;
&lt;br /&gt;
再來當然要試看看它的能力，永豐Gift卡標榜可以在全世界接受MasterCard的實體店家刷卡，所以如果是實體商店的話應該可以走遍天下不是問題。但是我關心的其實是這張卡在網路購物上的實用性。VISA金融卡有許多家銀行都關閉網路刷卡了，只剩下台新、中國信託&lt;s&gt;跟合作金庫&lt;/s&gt;還有權限，那這張Gift卡到底怎麼樣呢？來試試吧。(10/14 追記：終於連合作金庫也不支援網路刷卡了，&lt;a href="http://tw.myblog.yahoo.com/jw!H0yGgI2LBRZnnqD_g3JoVsLJ/article?mid=13227&amp;prev=13228&amp;next=13226"&gt;來源&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
１首先到一個國外的網域註冊商eNom購買一年網域，US$9.33，以英文輸入帳單地址、持卡人姓名、卡號跟認證碼後，成功扣款。因為是外幣消費所以加收手續費2%，變成US$9.5166，按照當日台幣掛牌匯率為NT$308元。&lt;br /&gt;
&lt;br /&gt;
２再來我試用Google Checkout，一個類似Paypal的服務，註冊信用卡。它酌收US$1作為驗證卡的有效性，成功後會退回。這邊也同樣成功，不過帳戶的US$1是被扣留住的，聽說要一段時間才會歸還。&lt;br /&gt;
&lt;br /&gt;
３雅虎奇摩拍賣有個信用卡認證功能，經實驗永豐Gift卡無法通過認證，或許是官方事前說明不接受信用卡以外的認證的關係吧。但有聽說過台新VISA金融卡仍然過關的例子。&lt;br /&gt;
&lt;br /&gt;
４來對連VISA金融卡也未必能過關的Paypal作挑戰吧，&lt;s&gt;果然無法通過認證啊，連US$1.95認證都失敗。&lt;/s&gt;可以順利通過認證，但認證碼一樣要等好幾天才會有。但在未認證前已經可以正常扣款，大成功。 (09/16更新，感謝 x 網友告知)&lt;br /&gt;
&lt;br /&gt;
09/19已經可以從線上帳單看到代碼了，輸入後可以解鎖帳號的金額限制，Paypal支援大成功。&lt;br /&gt;
&lt;br /&gt;
５試試Play-Asia購物網站，輸入信用卡資訊一切正常，等要扣款的時候才告知發卡銀行拒絕交易，到底是什麼情形，這只能問銀行了。遺憾的這部分也是失敗。&lt;br /&gt;
&lt;br /&gt;
我在想既然Paypal都支援了，Play-asia也許可以再次支援？下次有用到再說吧。&lt;br /&gt;
&lt;br /&gt;
６試在 Xbox Live 上購買微軟點數，輸入卡號、驗證碼跟個人資訊之後，毫不刁難馬上購買完成。&lt;br /&gt;
&lt;br /&gt;
看起來失敗的比成功的多，果然還是有其限制。而且同樣是國外購物網站，刷網域就能過，刷遊戲卻不給過？這真是奇怪啊。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-5826801023263460209?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/YogCOuKlG18" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/5826801023263460209/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=5826801023263460209" title="10 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/5826801023263460209?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/5826801023263460209?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/YogCOuKlG18/bank-sinopac-gift-card.html" title="永豐 Gift 卡 (酷幣卡) 使用心得" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">10</thr:total><feedburner:origLink>http://blog.new-studio.org/2009/06/bank-sinopac-gift-card.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0AERnwzeyp7ImA9WxJQF0o.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-2747331597591469220</id><published>2009-05-30T19:30:00.009+08:00</published><updated>2009-05-31T20:08:27.283+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-31T20:08:27.283+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="FancyFrontier" /><category scheme="http://www.blogger.com/atom/ns#" term="music" /><category scheme="http://www.blogger.com/atom/ns#" term="report" /><category scheme="http://www.blogger.com/atom/ns#" term="Concert" /><category scheme="http://www.blogger.com/atom/ns#" term="anime" /><title>JAM Project Hurricane Tour 2009 in Taipei～Gate of the Future 首場 回報</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_YTQXzGpyark/SiI7IGJ-kqI/AAAAAAAAAsk/RJewnz3J-l8/s1600-h/JAM2009.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_YTQXzGpyark/SiI7IGJ-kqI/AAAAAAAAAsk/RJewnz3J-l8/s320/JAM2009.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5341897118292284066" /&gt;&lt;/a&gt;(註:本照片於開演前所拍攝，不在演唱會進行中所拍攝)&lt;br /&gt;還記得去年 JAM Project 演唱會的那份熱血與感動嗎？今年，他們回來了！&lt;br /&gt;&lt;br /&gt;05/30 當天有許多演唱會在台北舉行 (包括天團 X JAPAN 於板橋體育館、陳奕迅在台北小巨蛋，和 JAM Project 的台灣大學體育館)，也因為這樣許多A區的位置紛紛退票，造成A區有個小洞，活像是隕石坑啊XD 真是不巧碰到 X JAPAN 天團，不然看去年的票房應該是很棒的才對，但我不認為棒到可以賣兩天就是了。&lt;br /&gt;&lt;br /&gt;中午吃飽飯後就騎車前往台中火車站，大家都知道綠川附近不好停車，於是我繞了20分鐘都找不到半個位置，真是生氣。最後 12:40 才終於停妥，接到朋友氣吁吁的打電話過來罵，真是抱歉啊。總算也是順利的搭上客運，前往台北了。&lt;br /&gt;&lt;br /&gt;到達台北之後差不多是下午三點半，時間很充裕，就到台北地下街撿便宜。本來是想看看有沒有心儀且價格低的二手遊戲，不過都沒有啊。倒是朋友對最近壽屋出的電腦戰機鐵木真模型很有興趣，在我從旁推坑後他終於跳了XD 可喜可賀。算算時間也快到了，趕快去吃個飯，準備前往會場。&lt;br /&gt;&lt;br /&gt;搭乘前往會場的捷運後，感覺人潮很多，仔細一想才恍然大悟因為今天還有 X JAPAN 演唱會，可是是在這條綠線上嗎？(後來查了發現是在藍線) 總之到了公館站後下車，人潮沒有 Fancy Frontier 多，一路走到台大的體育館去，準備排隊進場。到了後也才 18:40，廣場有幾群人但是沒有去年的人龍跟精品販賣人潮，我們覺得奇怪，都開放進場了為什麼沒有人潮？連個工作人員都沒看到，後來繞了許久發現快七點了還沒動靜，這不太對勁。好不容易在體育館內看到一位保全跟工作人員在談話，才問他入口在哪裡。他告訴我們要往外繞半圈才能看到，我們當場囧掉。所以外面沒半位工作人員及排隊人龍就是這個意思嗎？連告示也沒看到，正常來說參加過FF或去年演唱會的朋友，應該都會認為正門是入口吧，結果竟然是那個不起眼的地方才是入口，光動線引導都沒做好，先扣個20分再說。走到之後果然看到販賣區跟一些人，因為已經開放入場了所以不必排隊就可以進去了，感覺比去年還好。&lt;br /&gt;&lt;br /&gt;找到我們的位置後，再來就是拿出預先購買的螢光棒，折一下搖一搖讓螢光發生效用。其實外頭精品攤就有買一隻 NT$50 的螢光棒了，我買雖然一隻才 25 (雖然比較短)，但運費分攤要再加 50 啊，等同一隻 75！以後我看就直接跟 FF 買好了。等開演的時間總是很無聊，還好我們七點多才進場所以等待時間相對短了不少，但是等到 19:30 卻又聽到延後開演的廣播，最後是 19:40 左右才正式關閉燈光，一起來享受吧！&lt;br /&gt;&lt;span class="content"&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;1. Crest of "Z's"&lt;/span&gt;&lt;br /&gt;隨著鐘聲響起，兩旁的螢幕播放著一段詭異的開場短片，最後影片中的門打開了，「喔喔拉啪…」演唱會揭開序幕啦，Call "Z's"！Call "Z's"！&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2. ハリケーンLOVE&lt;/span&gt;&lt;br /&gt;本次巡迴演唱會的主題曲，Hurricane Love，作為炒熱氣氛的第一彈&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;3. Legend of Heroes&lt;/span&gt;&lt;br /&gt;炒熱氣氛第二彈，雖然對大家來說這首相對陌生，但是我想熱血是可以馬上傳達到的。副歌部分雖然事前有K過，但是最後還是忘東忘西，只好隨便跟著唱&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;4. ハローダーウィン! ～好奇心オンデマンド～&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;5. Space Roller Coaster GO GO!&lt;/span&gt;&lt;br /&gt;連兩首KERORO，沒什麼接觸只有聽過的程度&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;6. 牙狼～SAVIOR IN THE DARK～&lt;/span&gt;&lt;br /&gt;牙狼要變成定番了嗎？這首開始可以感受到熱力快速加溫，不少人都開始一起唱了&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;7. メドレー (Break Out → 迷宮のプリズナー → 限界バトル → 紅の牙)&lt;/span&gt;&lt;br /&gt;組曲，隨著 Break Out 大家的機戰魂都燃起啦！&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;8. GONG&lt;/span&gt;&lt;br /&gt;應該是壓軸的GONG竟然在前半場就出來了，沒問題吧？當然是大家跟著一起唱，一起HIGH啊&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;9. 未来への咆哮&lt;/span&gt;&lt;br /&gt;快成為定番的第二曲&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2008 年世界巡迴映像&lt;/span&gt;&lt;br /&gt;到這邊可以稍事休息，觀賞自台灣首站到達世界各地的巡迴演唱會映像，所到之處都有熱情的歌迷，這也是 No Border 演唱會的主題吧&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;10. Get over the Border&lt;/span&gt;&lt;br /&gt;接在 No Border 之後當然就是 Get over the Border。這首初聽實覺得曲風很特殊，實在是沒見過 JAM Project 唱過這種感覺的歌曲&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;11. Cosmic Dance&lt;/span&gt;&lt;br /&gt;又是緩和用曲，迎接後來的熱血曲目&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;12. BEAUTIFUL PEOPLE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;13. JAMがもってった! セーラーふく&lt;/span&gt;&lt;br /&gt;又到了 Acoustic 時間，只見成員們手持著樂器，忙著準備。第一首 BEAUTIFUL PEOPLE 是我感覺 JAM 熱血歌外另有一番樂趣的曲風。第二首當初看過日本巡迴歌單就知道會有此驚喜，團員們也強調這是一首「元氣」的曲子，應該有人覺得能聽到這首演出真是滿足吧&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;14. レスキューファイアー&lt;/span&gt;&lt;br /&gt;在唱之前，團員介紹這是一首新歌，用在今年四月的特攝的主題曲。所以大家有聽過「レスキューファイアー」嗎？全場都是はい，我想團員也知道網路的力量吧XD 小型的もっと もっと在這首歌中登場，為後面的大もっと もっと作準備&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;15. Sempre Sohando～夢追人～&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;16. NEW GENERATION! ～KOBE to the WORLD～&lt;/span&gt;&lt;br /&gt;新動作，毛巾舞！因為很多人沒有毛巾所以只好改甩螢光棒代替，這首會不會成為日後的定番呢？&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;17. VICTORY&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;18. 鋼の救世主&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;19. SOULTAKER&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;20. Rocks&lt;/span&gt;&lt;br /&gt;熱血系列！什麼都不要想了，用心去感受吧&lt;br /&gt;&lt;br /&gt;安可一&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;21. HERO&lt;/span&gt;&lt;br /&gt;在唱這首之前，團員先問了我們喜歡的英雄人物是誰，是鐵金剛Z呢，還是假面騎士呢，還是超人力霸王呢？許多的答案紛紛出爐。團員表示他們寫了一首這樣的歌，所以下一首就是 HERO 這首歌，就當做本番前的休憩吧&lt;br /&gt;&lt;br /&gt;安可二&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;22. Only One&lt;/span&gt;&lt;br /&gt;團員說這是一個挑戰，挑戰唱中文歌。結果唱出來我還是不知道這首是什麼，就姑且當成原創曲來聽也不錯&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;23. SKILL&lt;/span&gt;&lt;br /&gt;JAM Project 演唱會的定番，這次會場在一樓就表示主辦單位也要我們跳個爽啦！Can you fly? Yes! 這次終於能享受10分鐘的もっと もっと，真是太爽啦！&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;活動結束後 JAM Project 還出來致意，明年再度相見！出場時大家擠成一團搶著換海報，可惜我們晚了一點，變成只有Lantis文宣，真是可惜。一路走出會場感覺有不少海報消失了，雖然本來也有這種念頭最後還是作罷。步出大門時看到有一台攝影機跟寫著"請把想說的話告訴JAM Project吧"紙張，於是我就簡單的比了大拇指，說：「明年再來！」，但是事後覺得講中文 JAM Project 應該聽不懂吧XDD  回到已關門的台北地下街，拖著沉重的步伐走到國道客運，搭上客運時已經是 23:40 了，果不其然回到台中時已經深夜兩點多啦，總結就是爽跟累。&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-2747331597591469220?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/MWQcUTEiu8k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/2747331597591469220/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=2747331597591469220" title="2 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/2747331597591469220?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/2747331597591469220?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/MWQcUTEiu8k/jam-project-hurricane-tour-2009-in.html" title="JAM Project Hurricane Tour 2009 in Taipei～Gate of the Future 首場 回報" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_YTQXzGpyark/SiI7IGJ-kqI/AAAAAAAAAsk/RJewnz3J-l8/s72-c/JAM2009.JPG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://blog.new-studio.org/2009/05/jam-project-hurricane-tour-2009-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEYGQng_fCp7ImA9WxJUEU4.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-379211336454020543</id><published>2009-04-11T16:23:00.006+08:00</published><updated>2009-07-09T17:35:23.644+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-09T17:35:23.644+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><title>Google App Engine supports Java</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_YTQXzGpyark/SeBUuIfogEI/AAAAAAAAAsE/NQgBCd1RkaM/s1600-h/ae_gwt_java.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 160px; height: 123px;" src="http://3.bp.blogspot.com/_YTQXzGpyark/SeBUuIfogEI/AAAAAAAAAsE/NQgBCd1RkaM/s160/ae_gwt_java.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5323347911082803266" /&gt;&lt;/a&gt;雲端運算平台 &lt;a href="http://appengine.google.com/"&gt;Google App Engine&lt;/a&gt; 幾天前推出最新的預覽版本，支援 Java。我原本因為不熟 Python 而遲遲沒有加入，但是終於支援了一個熟悉的語言，還不進來玩看看？第一波的測試名額開放 10000 名使用者加入測試，我有幸能在消息公開兩天後還能申請到，現在不知道還有沒有？(&lt;a href="http://appengine.google.com/promo/java_runtime"&gt;申請網址&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;申請單送出之後，大概是需要人工審核，我等了一個上午才收到一封確認信，確認開通了 Java 支援。下載官方提供的 App Engine for Java SDK 套件之後，解壓放好後，開始看說明文件。不愧是 Google，推出時一併釋出寫好的文件，讓我在稍後的時間一直窩在這找尋資料。SDK 隨附的另外有 GuestBook 範例，看起來很簡單，後端儲存是採用 JDO (Java Data Objects) 的方式將物件存起來，不同於傳統關聯式資料庫。而 App Engine 除了支援 Servlet 外也支援 JSP (Java Servlet Pages)，後者我在「網際網路程式設計」這堂課學過了，故寫起來算是輕鬆。&lt;br /&gt;&lt;span class="content"&gt;&lt;br /&gt;隨著這次支援 Java，很多透過 JVM 實作的語言支援紛紛可以放入這個平台上使用 (官方討論群組提供的&lt;a href="http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine"&gt;列表&lt;/a&gt;)：JRuby、Groovy、Jython (不過已經有 Python 了何必多此一舉)、Quercus (PHP) 之類的，可說是開了一扇大門啊。不過 App Engine 本身是運作在一個砂盒 Sandbox 環境，許多功能都有受限。像是伺服器只能讀取不能寫入檔案、檔案要儲存只能透過提供的 DataStore 方法儲存到資料庫中。JDBC 這次也沒有支援，所以想要使用其他資料庫應該也是不太可能？&lt;br /&gt;&lt;br /&gt;官方推薦使用 eclipse IDE 加上 Google Plug-in 來輕鬆測試、部署，不過我選擇傳統的指令列，還好 Google 也推薦我使用 &lt;a href="http://ant.apache.org/"&gt;Apache Ant&lt;/a&gt; 方便下指令來部署測試。只要寫一個 Ant 看的懂的 build.xml 放在資料夾，以後只要在那個資料夾下 ant (動作) 它就會自己按照寫好的動作來執行，非常方便。&lt;a href="http://code.google.com/intl/zh-TW/appengine/docs/java/tools/ant.html"&gt;官方文件&lt;/a&gt;也教你如何利用 Ant 來建立一個應用程式結構和寫 build.xml 來運用 SDK 提供的工具來測試及部署。&lt;br /&gt;&lt;br /&gt;我也利用了這次機會寫了一些簡單的玩意兒放在平台上，看起來也是運作正常。一開始遇到的問題是上傳後的資料無法暫存的問題 (很多上傳元件都是先寫入暫存檔再來操作，無奈沙盒環境不允許寫入)，查了 Knowledge Base 後發現可以使用 Apache Commons FileUpload 物件提供的 &lt;a href="http://commons.apache.org/fileupload/streaming.html"&gt;The Streaming API&lt;/a&gt; 方式直接讀取，不需寫入暫存檔，這樣就沒有問題了。&lt;br /&gt;---&lt;br /&gt;&lt;a href="http://xmlvalidator.new-studio.org/"&gt;http://xmlvalidator.new-studio.org/&lt;/a&gt; 這是我學習 XML 標記語言課程的期末專題，可以用來檢查 XML 檔案是否符合定義，並可以即時嘗試 XPath 的結果。&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-379211336454020543?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/lYYPfD-5MJI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/379211336454020543/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=379211336454020543" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/379211336454020543?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/379211336454020543?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/lYYPfD-5MJI/google-app-engine-supports-java.html" title="Google App Engine supports Java" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_YTQXzGpyark/SeBUuIfogEI/AAAAAAAAAsE/NQgBCd1RkaM/s72-c/ae_gwt_java.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.new-studio.org/2009/04/google-app-engine-supports-java.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkICQX05eCp7ImA9WxJWGE4.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-1987343233040350199</id><published>2009-03-23T22:08:00.012+08:00</published><updated>2009-06-24T18:16:00.320+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-24T18:16:00.320+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Software" /><category scheme="http://www.blogger.com/atom/ns#" term="PC" /><title>穿透 NAT - 遠端桌面連線軟體 TeamViewer</title><content type="html">前面介紹使用 PacketiX VPN 服務讓兩台電腦連成一個區網藉以穿透 NAT 來遠端桌面連線，其實這太慢了。殺雞焉用牛刀，我推薦一款本身就具備穿透防火牆及 NAT 的遠端桌面軟體：&lt;a href="http://www.teamviewer.com/"&gt;TeamViewer&lt;/a&gt;。此軟體是一家德國公司製作的，本身有商業授權及一般非商用授權，商業授權6個月就要US$249，而非商用授權是免費的！(當然會有些限制，但是不影響使用，後面會提到)&lt;br /&gt;&lt;br /&gt;此軟體跟其他 VNC 軟體最大的不同是，他不是單純的點對點連線 (遙控端 - 被控端)，為了要達成穿透防火牆和 NAT 環境，它採用了中介伺服器的架構。所以一開始連線時會先連到他的中央伺服器，藉由中央伺服器幫你連到對方。因為 NAT 對外連線多無問題，有問題的多是對內，故連接到中央伺服器，由它代為牽線。&lt;br /&gt;&lt;br /&gt;可能會有人疑慮：這樣我的操作不是會被看光？官方的說法是傳輸過程採用類似 RSA 的公開金鑰加密機制，中央伺服器僅代為牽線，兩端都達成協議後即開始以 UDP 傳輸，中央伺服器不予介入，所以很安全。不管你相不相信，這個軟體如果有問題應該會被大肆撻罰，畢竟商業版收費高昂，如果對企業來說都不安全了，個人用戶當然更不敢使用。但是這個軟體已經發展到 4.0 版本了，也沒聽說過安全問題，以此推論安全性方面應該是不必擔心 － 畢竟企業會比你更擔心安全問題。&lt;span class="content"&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;1. 下載及安裝&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;官方提供安裝版跟USB免安裝版，我的建議是被控端下載安裝版並安裝，可以得到最大的便利性 (可以使用 Ctrl + Alt + Delete、可開機自動啟動、&lt;span style="font-weight:bold;"&gt;在登入畫面就可以被遙控&lt;/span&gt;)。遙控端直接使用USB免安裝版，連線完畢直接刪除即可，不留任何垃圾。之所以建議被控端安裝是因為安裝之後可以安裝為系統服務，這樣一開機便會常駐，方便連線，而且它可以在登入畫面就接受連線。也可以接受 Ctrl + Alt + Delete 指令跟重新開機 (一般/安全模式) 動作。如果是免安裝版上面的功能都沒辦法做到。&lt;br /&gt;&lt;br /&gt;安裝版：&lt;a href="http://www.teamviewer.com/download/"&gt;下載頁面&lt;/a&gt; (下載 TeamViewer (full version))&lt;br /&gt;免安裝版：&lt;a href="http://www.teamviewer.com/download/portable.aspx"&gt;下載頁面&lt;/a&gt; (TeamViewer Portable)&lt;br /&gt;&lt;br /&gt;安裝時請&lt;span style="font-style:italic;"&gt;注意選取授權&lt;/span&gt;，不要選到 Commercial 商業授權去了。一旦選到此項只能連線五分鐘之外，還有天數的限制。除非你真的使用於商業用途，不然就乖乖選 Non-Commercial / Free 吧。&lt;br /&gt;&lt;br /&gt;免安裝版直接解壓即可，剩下的動作不必我解釋了吧。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2. 連線&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://3.bp.blogspot.com/_YTQXzGpyark/ScegPnaPRoI/AAAAAAAAArc/4JEU5CENOJk/s1600/tv_main.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5316394075271677570" /&gt;&lt;br /&gt;&lt;br /&gt;啟動 TeamViewer，就可以看到主畫面。左邊是中央伺服器發給你的一組編號跟密碼，其中編號就是用來連線之用，取代IP的用途。此編號應該是綁 MAC Address 的，所以每個電腦應該都是固定的。密碼則是連線時認證用的一組密碼，免得有心人士亂連控制。預設情況這個值是每次隨機都不同的，但是稍後可以在設定內自行指定，回來後就發現變成如圖的「Predefind」(已定義)。&lt;br /&gt;&lt;br /&gt;只要雙方都開啟 TeamViewer，被控端告訴遙控端 ID 編號跟連線密碼，遙控端只要輸入這些資訊就能輕鬆連線到對方的電腦，完全不必多加設定，還可直接穿透防火牆 / NAT，真可說是傻人救星！&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;3. 設定&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Extra → Option 有更多細部設定可以調整，其中不乏安全性設定。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_YTQXzGpyark/Sceht4_pGpI/AAAAAAAAArk/M6x61a1xvrM/s1600-h/tv_option.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 229px;" src="http://2.bp.blogspot.com/_YTQXzGpyark/Sceht4_pGpI/AAAAAAAAArk/M6x61a1xvrM/s320/tv_option.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5316395694899665554" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;General - Your display name: 顯示名稱，對方連線後可以看到&lt;br /&gt;Startup - Password: 預先定義密碼，設定完成後密碼就不會再是隨機的，方便定時遠端連線&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_YTQXzGpyark/ScejGdetbNI/AAAAAAAAArs/HjFrt5UlKTc/s1600-h/tv_security.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 229px;" src="http://4.bp.blogspot.com/_YTQXzGpyark/ScejGdetbNI/AAAAAAAAArs/HjFrt5UlKTc/s320/tv_security.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5316397216522136786" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Security 頁籤的設定可以讓你限定接受連線的對象，「Configure black- or whitelist」可以設定黑/白名單，阻擋所有人，除了特定ID的連線，這樣安全性就能大大提升。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_YTQXzGpyark/ScekHjQLdgI/AAAAAAAAAr0/uraaMmeJ2vQ/s1600-h/tv_adv.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 229px;" src="http://3.bp.blogspot.com/_YTQXzGpyark/ScekHjQLdgI/AAAAAAAAAr0/uraaMmeJ2vQ/s320/tv_adv.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5316398334763300354" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Advanced 頁籤則能設定更多進階項目：&lt;br /&gt;&lt;br /&gt;General - Temporarity save connection passwords... :&lt;br /&gt;僅暫時記憶密碼。如果此項沒有勾選，下次重開程式連線時會發現密碼會記住，這很不安全&lt;br /&gt;&lt;br /&gt;Network - LAN connections only:&lt;br /&gt;不連接到中央伺服器，等於一般的VNC，只能靠IP互相連線，再也沒有穿透功能&lt;br /&gt;&lt;br /&gt;DirectIn - Enable DirectIn Performance optimization:&lt;br /&gt;打開監聽 Port 以加速。開啟一段時間可以發現會有大量 TCP 連線連入，研判這是一種每個人都能當中央伺服器的一種 P2P 機制，當然你也會連到別人的電腦 (我就有連到 SEEDNET, 亞太電訊, HiNet 過，這不可能是官方中央伺服器吧？)。開不開見仁見智，但我不喜歡別人連我電腦，所以關掉之外還加了防火牆規則通通擋掉，連線依然正常。&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;VNC 操作沒什麼好解釋的，玩了就會。值得一提的是 TeamViewer 支援「控制權交換」的動作，也就是角色互換，使用遙控的一瞬間變成被控的，這還滿有趣的。就遠端遙控功能來說，我甚至覺得 TeamViewer 比 UltraVNC 還要快速好用，當然後者是自由軟體且設定眾多 (加上有專屬加速 Video Driver) 仍是 TeamViewer 比不上的。如果還要加上 TeamViewer 的穿牆能力跟超傻瓜操作的話，TeamViewer 一定穩贏的嘛！&lt;br /&gt;&lt;br /&gt;前面有提到免費版存在一個限制，那就是類似廣告的視窗 (Sponsored session)：&lt;br /&gt;&lt;br /&gt;&lt;img src="http://4.bp.blogspot.com/_YTQXzGpyark/SceoNEb2kBI/AAAAAAAAAr8/woGUY5H-5Q8/s1600/tv_free.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5316402827616489490" /&gt;&lt;br /&gt;&lt;br /&gt;這個視窗在使用一段時間後會出現，可能是遙控端出現、可能是被控端出現，或兩邊都同時出現。反正就是要你知道非商業授權不要用於商業行為這樣，順便打個廣告。基本上不影響使用，也不會像舊版一樣偵測到你是商業使用強迫斷你線的情況，仍可繼續使用。看在 TeamViewer 方便又免費的代價，偶爾出現幾次倒是無妨啦。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-1987343233040350199?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/ru2B3QwnrUc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/1987343233040350199/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=1987343233040350199" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/1987343233040350199?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/1987343233040350199?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/ru2B3QwnrUc/remote-desktop-control-vs-nat.html" title="穿透 NAT - 遠端桌面連線軟體 TeamViewer" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_YTQXzGpyark/ScegPnaPRoI/AAAAAAAAArc/4JEU5CENOJk/s72-c/tv_main.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.new-studio.org/2009/03/remote-desktop-control-vs-nat.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08DSXo9fip7ImA9WxJTFUU.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-1664292918863396360</id><published>2009-03-23T19:09:00.016+08:00</published><updated>2009-04-24T23:11:18.466+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-24T23:11:18.466+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Software" /><category scheme="http://www.blogger.com/atom/ns#" term="PC" /><title>穿透 NAT - 使用 PacketiX VPN 服務</title><content type="html">畢業專題總算有個大概的方向了。之前有稍微提過我們打算作跟 RFID 或 Sensor Network 有關的系統，但是卻一直沒有頭緒，整個組就這樣當在那邊快一個月。好在有一位組員提出了他的構想，而指導教授也認為這個點子滿有趣的，這樣子總算有個底了。&lt;br /&gt;&lt;br /&gt;也在最近完成了研究室的交接，我接收了一台 Pentium 4 2.8GHz 的老電腦，顯卡還是內建的，不過我 A 了一台 24 吋螢幕 (ViewSonic Q241wb)，大雖大，可是一來顯卡只支援最大 1600x1200 解析度，二來這螢幕有很多亮點...Hmm...系上大概是看便宜才買的吧。接收後第一件事馬上先砍掉重練，不用說上一個人的系統一定被搞的亂七八糟。重灌過程也滿順利的，馬上就灌好了 Windows XP Professional SP3。因為我以後要常常學校家裡兩邊跑，所以想來搞個遠端連線，無奈經過測試，實驗室對外只有兩個 IP，而內部有六台電腦插上 Switch Hub 來達成共用，每一台電腦都沒有分配到 Public IP，簡單說是屬於 NAT 的網路環境。沒有Public IP就沒有辦法連到指定的電腦了，Port forwarding 我也沒有權限碰到機器去做調整，只好尋求解決方案。經過一番搜尋，我找到了最佳解：&lt;a href="http://www.packetix.net/jp/vpn/"&gt;ASP 型 PacketiX VPN 服務&lt;/a&gt;。&lt;br /&gt;&lt;span class="content"&gt;&lt;br /&gt;PacketiX VPN，前身是幾年前很有名的 SoftEther 軟體，在免費版停止公開後推出了 2.0 版本並改名叫做 PacketiX。VPN 即是虛擬個人網路，可以藉由虛擬網卡和虛擬 Hub 把兩台異地電腦給連結在一起，組合成一個新的區域網路。架設 PacketiX VPN 的軟體是要收費的，但是 PacketiX 同時也提供了免費的 PacketiX.NET ASP (Application Service Provider，應用服務提供者) 型 VPN 服務供申請，讓你可以直接使用公開伺服器來產生虛擬 Hub，不必花費購買軟體自行架設。你只需要下載免費的 Client 端來產生虛擬網卡來接上這個虛擬 Hub，就能建構出一個虛擬LAN，聽起來很簡單吧。&lt;br /&gt;&lt;br /&gt;&lt;img src="http://2.bp.blogspot.com/_YTQXzGpyark/Scd1H9ExiqI/AAAAAAAAAqU/B8vgYooyzlQ/s1600/top_network.jpg" alt="" id="BLOGGER_PHOTO_ID_5316346664648280738" border="0" /&gt;&lt;br /&gt;(官網提供的介紹圖，跟你實際上建一個區域網路一樣，差別在於 VPN 全部都是虛擬的東西)&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;1. 申請帳號建立虛擬 Hub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;連到 &lt;a href="http://www.packetix.net/jp/vpn/"&gt;http://www.packetix.net/jp/vpn/&lt;/a&gt; 頁面，點選「仮想 HUB の新規作成」就可以依照網頁指示申請一個虛擬 Hub 來管理，日後也可以點選「仮想 HUB 管理ログイン」來進行登入管理。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2. 登入建立連線使用者&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;建立好虛擬 Hub 後，就如同你新購買了一組 Hub 一樣，接下來的動作便是控管，不能讓隨便的人都能進入你的網路，所以藉由帳號密碼來管理。登入後可以看到各項管理功能。&lt;br /&gt;&lt;br /&gt;&lt;img src="http://2.bp.blogspot.com/_YTQXzGpyark/Scd383TtgaI/AAAAAAAAAqc/FxxeOg6CaNU/s1600/vpn_admin.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5316349772656640418" /&gt;&lt;br /&gt;&lt;br /&gt;其中我們先要點選「ユーザーの管理」(使用者管理)來新增可以使用此 VPN 的使用者。&lt;br /&gt;&lt;br /&gt;&lt;img src="http://3.bp.blogspot.com/_YTQXzGpyark/Scd48BQpOaI/AAAAAAAAAqk/He81evAPqvo/s1600/vpn_user_add.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5316350857659890082" /&gt;&lt;br /&gt;&lt;br /&gt;要填的資料從上至下分別是使用者帳號、本名、說明跟所屬群組、使用者有效期限，其中只有第一個是最重要的，其他可以不必填。&lt;br /&gt;&lt;br /&gt;&lt;img src="http://3.bp.blogspot.com/_YTQXzGpyark/Scd5smK31PI/AAAAAAAAAqs/nC4ZMyeBJPc/s1600/vpn_user_add_pwd.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5316351692201514226" /&gt;&lt;br /&gt;&lt;br /&gt;密碼設定的話，直接使用「標準パスワード認証」(標準密碼認證)即可，下方連續輸入兩次密碼確認後，便可以點選「OK」建立新使用者。這個步驟依需求重複數遍，直到每個要加入 VPN 的電腦都有一個帳號。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;3. 設定虛擬 DHCP 伺服器&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;點選左邊的「仮想 DHCP サーバー機能設定」(虛擬 DHCP 伺服器功能設定)進行調整，把 DCHP 打開，這是為了讓每個登入的電腦都能分配到一個虛擬 IP。&lt;br /&gt;&lt;br /&gt;&lt;img src="http://3.bp.blogspot.com/_YTQXzGpyark/Scd7EBsdr2I/AAAAAAAAAq0/bS4lxYg1KOI/s1600/vpn_dchp.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5316353194238783330" /&gt;&lt;br /&gt;&lt;br /&gt;基本上勾選「仮想 DHCP サーバー機能を使用する」(使用虛擬 DHCP 伺服器功能)，下面的設定保持如圖中的預設值便可，這樣日後登入的電腦便會獲得 192.168.30.10 等的 Private IP，這些在 VPN 的電腦要相互通信便可以直接使用這個 IP 來聯絡，無形中將數台在不同地方的電腦給串起來了。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;4. 安裝 PacketiX VPN Client 軟體&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;這裡有兩個方法，一個是透過 IE ActiveX 控制項自動設定並安裝，一個是手動下載軟體安裝。我推薦手動安裝，但是前者卻可以自動設定，更為傻瓜。請點選管理畫面左邊選項「VPN クライアントソフトウェアのインストールと設定」(VPN Client Software 安裝與設定)，就會有兩種方法讓您選擇，並列出手動設定項目跟設定檔案。&lt;br /&gt;&lt;br /&gt;第一種方法 (ActiveX)：畫面中有個文字輸入框，裡面的網址就是 ActiveX 自動設定的網址，只要使用 IE 瀏覽器連入，若您有系統管理員權限，便能全自動下載安裝設定，根據指示完成即可。&lt;br /&gt;&lt;br /&gt;第二種方法 (手動)：請到下載頁面: &lt;a href="https://www.softether.com/jp/download/"&gt;https://www.softether.com/jp/download/&lt;/a&gt; 找尋「PacketiX VPN Client 2.0」，依照你的作業系統版本來下載，通常都是「Windows 32 bit (x86) インストーラ」(Win32 安裝程式) 吧。&lt;br /&gt;&lt;br /&gt;下載下來的程式可能需要切換日本語系、刪除 AppLocale 以完成安裝程序，但我在另一台全新安裝完成的電腦上卻什麼事也不必做就安裝完成了。如果安裝過程失敗，請考慮刪 AppLocale 並轉日區再嘗試。轉日區只有安裝時需要，&lt;span style="font-weight:bold;"&gt;安裝完成後正式使用是不需要轉語系的&lt;/span&gt;。&lt;br /&gt;&lt;br /&gt;安裝完成後請回到「VPN クライアントソフトウェアのインストールと設定」頁面下方，下載設定檔案，這樣便可以點兩下來執行設定程序，方便快速。&lt;br /&gt;&lt;br /&gt;&lt;img src="http://3.bp.blogspot.com/_YTQXzGpyark/SceAfz56qCI/AAAAAAAAAq8/i61vAwGftEs/s1600/vpn_import.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5316359169131587618" /&gt;&lt;br /&gt;&lt;br /&gt;只要按下是便可以匯入設定，免除手動設定的繁複。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;5. 設定登入 VPN 使用者&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_YTQXzGpyark/SceBXuQzJKI/AAAAAAAAArE/KI_seyjtFLI/s1600-h/vpn_client.png"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_YTQXzGpyark/SceBXuQzJKI/AAAAAAAAArE/KI_seyjtFLI/s320/vpn_client.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5316360129689625762" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;打開「PacketiX VPN クライアント接続マネージャ」(我想桌面上、程式集，甚至是右下方工作列都可以找到吧)，你可以看到已經加入了我們之前新增的虛擬 Hub 連線資料，對著項目按右鍵，選擇プロパティ(屬性)來設定登入使用者：&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_YTQXzGpyark/SceDX9OO-mI/AAAAAAAAArM/qi0LuUKCKi0/s1600-h/vpn_hub_setting.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 238px;" src="http://3.bp.blogspot.com/_YTQXzGpyark/SceDX9OO-mI/AAAAAAAAArM/qi0LuUKCKi0/s320/vpn_hub_setting.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5316362332728654434" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;右邊的「ユーザー認証」填寫之前登入的使用者帳號跟密碼，每台電腦各使用不同的使用者，這樣才能分別，按下OK儲存設定。&lt;br /&gt;&lt;br /&gt;回到程式主畫面，如果你的下方並沒有出現如圖中的仮想 LAN カード(虛擬網卡)而是空無一物，可以在下方框格按右鍵選擇「新規仮想 LAN カードの作成」(產生新虛擬網卡)，當然這是需要系統管理者權限的，按螢幕指示完成新增動作。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;6. 連到 VPN 的虛擬 Hub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;終於到最後的步驟，想互相連接的每一台電腦應該都完成安裝 VPN Client跟設定，只要對著程式上框格的接續設定點兩下，便可以連線到 PacketiX 提供的伺服器去。如果想要開機後就自動連線到 VPN，同樣在接續設定上按滑鼠右鍵，選擇「スタートアップ接続に設定」(設定啟動時連接)，日後開機登入後便會自動連接。每一台電腦都依照上面的指示，便可以完成 VPN 的架構。&lt;br /&gt;&lt;br /&gt;連線完成後，右下工作列應該會出現一個新的網路連線，提示你已經連上，可以查看分發的 IP 位置。你可以試看看ping 192.168.30.10 或是瀏覽網路上的芳鄰 (\\192.168.30.10)，如果防火牆、系統權限等設定正確，應該會有所反應。更快確認的方法是到虛擬Hub管理頁面的「VPN セッション管理」(VPN Session 管理)查看已連接電腦，下方「IP アドレステーブル」(IP Address Table) 更能直接看出每台電腦分配到的 Private IP。&lt;br /&gt;&lt;br /&gt;&lt;img src="http://1.bp.blogspot.com/_YTQXzGpyark/SceINQ1GnFI/AAAAAAAAArU/l22vhlzo8Jw/s1600/vpn_ip_table.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5316367646571535442" /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;經過 PacketiX VPN 牽線後，我終於得到一個區網 IP 192.168.30.11，這就是我實驗室那台電腦在 VPN 代表的位置，要遠端連線，打 192.168.30.11 能正常連線；要共享檔案，\\192.168.30.11 能正常存取 (還能共用印表機，換句話說執行列印後我實驗室的印表機會動起來，不知道裡面的人會不會嚇死XD) 實驗幾天後，發現服務穩定且速度可接受，加上又是免費的 (Server 版授權金額很高，加上還要自己架，免費的 ASP 不用可惜)，就這樣繼續用下去了。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-1664292918863396360?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/sA5-kCP-Xzo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/1664292918863396360/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=1664292918863396360" title="5 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/1664292918863396360?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/1664292918863396360?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/sA5-kCP-Xzo/connect-to-another-computer-behind-nat.html" title="穿透 NAT - 使用 PacketiX VPN 服務" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_YTQXzGpyark/Scd1H9ExiqI/AAAAAAAAAqU/B8vgYooyzlQ/s72-c/top_network.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total><feedburner:origLink>http://blog.new-studio.org/2009/03/connect-to-another-computer-behind-nat.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ECSX0_eSp7ImA9WxVQGEQ.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-3874391656944772080</id><published>2009-02-05T20:02:00.010+08:00</published><updated>2009-02-06T11:41:08.341+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-06T11:41:08.341+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="PC" /><category scheme="http://www.blogger.com/atom/ns#" term="Python" /><title>用 Python 跑 Multi-threading 版 PNG 最佳化</title><content type="html">我一直有收大圖的習慣，每次看到有人貼的高解析度的圖，雖然檔案很大，也幾乎沒辦法光以 22 吋螢幕就能一覽全圖而必須拖曳觀看或者以螢幕最適大小縮放觀看，但是這些圖幾乎都是直接以掃描器掃描下來的圖，沒有經過太多破壞 (頂多去紋理、去字、去摺痕、連接空白等等)，十分不錯。前幾個月前偶然發現 PNG 檔可以經由再一次的最佳化運算來縮小檔案尺寸而不破壞原圖 (其他軟體如 pngnq, pngquant 是真的會針對原圖進行減色的最佳化方式，我使用的只針對壓縮流最佳化，應無此種問題)，這對於硬碟中有許多張超大體積的 PNG 檔可真是福音，為它們減個肥日後也才能塞更多XD&lt;br /&gt;&lt;br /&gt;首先我發現的是 &lt;a href="http://optipng.sourceforge.net/"&gt;OptiPNG&lt;/a&gt; 這套軟體，能夠將 PNG 檔的壓縮流給重新整理後最佳化，需要的是 CPU 的運算能力，非常耗時間。原本以為一套就夠了，誰知道找下去又發現還有 &lt;a href="http://www.advsys.net/ken/util/pngout.htm"&gt;PNGOUT&lt;/a&gt;，這玩意兒我在 IrfanView 看圖軟體裡面有見過，在另存 png 時可以選擇啟用它以進行最佳化。這套軟體強在它可以進行非常多次的暴力極限運算，一次次的降低檔案大小。只要你給它時間，它就能給你不斷縮小的檔案大小。不過這耗費時間真是非常可觀，只能以龜速形容。更何況我相信這絕對會有個極限的，不過是逐步逼近，看著這一次的長久運算只省下了 1024 bytes 的空間，你確定還要繼續下去？&lt;br /&gt;&lt;br /&gt;好吧，有這兩套應該就完美了吧，你錯了。經過我深入研究，其實還有許多發展空間&lt;span class="content"&gt;，其中 RT 對這方面的研究似乎還滿透徹的，無意間在 MozTW.org 被我發現相關討論串，還在外國的&lt;a href="http://encode.ru/forums/index.php?action=vthread&amp;forum=1&amp;topic=499&amp;page=1"&gt;某交流論壇&lt;/a&gt;發現 RT hack 過的 OptiPNG，可以進行更好的最佳化。似乎沒發現有其他人有這樣作，看起來 RT 這方面還挺行的。離題了，他在&lt;a href="http://forum.moztw.org/viewtopic.php?t=24471"&gt;這篇討論串&lt;/a&gt;提到他都是使用多套軟體交互運算以取得最佳結果，其中許多套都套用 hack 過 zlib 函式庫或其他地方，加了更多更好的算法，比起原官方程式來說更能得出好結果。他也提供自己所編的檔案跟使用的批次檔，非常有價值。&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="bat"&gt;@ECHO OFF&lt;br /&gt;FOR %1 %%i IN (*.png) DO (&lt;br /&gt;  touch.exe -r "%%~i" "%%~i.time"&lt;br /&gt;  optipng.exe -zw32k -zc9 -zm9 -zs0,3 -f0,5 -i0 "%%~i"&lt;br /&gt;  advdef.exe -z -4 "%%~i"&lt;br /&gt;  deflopt.exe -b "%%~i"&lt;br /&gt;  pngout /y /b0 "%%~i"&lt;br /&gt;  IF NOT ERRORLEVEL 2 (&lt;br /&gt;    advdef.exe -z -4 "%%~i"&lt;br /&gt;    deflopt.exe -b "%%~i"&lt;br /&gt;  )&lt;br /&gt;  touch.exe -r "%%~i.time" "%%~i"&lt;br /&gt;  IF EXIST "%%~i.time" del "%%~i.time"&lt;br /&gt;)&lt;/textarea&gt;&lt;br /&gt;我對他作了修正，以讓我能夠不僅處理相同目錄下的 PNG 檔，更可以指定單一 PNG 或是目錄來進行處理，這樣就非常方便了。&lt;br /&gt;&lt;textarea name="code" class="bat"&gt;@ECHO OFF&lt;br /&gt;SETLOCAL&lt;br /&gt;SET BASE=%~dp0&lt;br /&gt;IF /I "%~x1" == ".PNG" (&lt;br /&gt;  REM Specified File&lt;br /&gt;  SET PATN="%~f1"&lt;br /&gt;) ELSE (&lt;br /&gt;  REM Folder&lt;br /&gt;  CD /D %~f1&lt;br /&gt;  SET PATN="*.png"&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;FOR %%i IN (%PATN%) DO (&lt;br /&gt;  %BASE%\touch -r "%%~i" "%%~i.time"&lt;br /&gt;&lt;br /&gt;  REM OptiPNG Optimized&lt;br /&gt;  %BASE%\optipng_c2d -zw32k -zc9 -zm9 -zs0,3 -f0,5 -i0 "%%~i"&lt;br /&gt;  %BASE%\advdef_rthack -z -4 "%%~i"&lt;br /&gt;  %BASE%\deflopt -b "%%~i"&lt;br /&gt;&lt;br /&gt;  REM PNGOut Optimized&lt;br /&gt;  %BASE%\pngout /y /b0 "%%~i"&lt;br /&gt;  IF NOT ERRORLEVEL 2 (&lt;br /&gt;    %BASE%\advdef_rthack -z -4 "%%~i"&lt;br /&gt;    %BASE%\deflopt -b "%%~i"&lt;br /&gt;  )&lt;br /&gt;&lt;br /&gt;  %BASE%\touch -r "%%~i.time" "%%~i"&lt;br /&gt;  IF EXIST "%%~i.time" del "%%~i.time"&lt;br /&gt;)&lt;br /&gt;ENDLOCAL&lt;br /&gt;PAUSE&lt;/textarea&gt;&lt;br /&gt;這樣還不夠。雖然已經是非常方便了，但是前面提到這些軟體所進行的運算是非常耗費 CPU 資源的一項工作，所以要是有許多超高解析 PNG 大檔，不算個幾小時可能不會全部完成。打開工作管理員你會吐血：這些最佳化程式沒有一個是原生支援多核心處理的！換言之以我的 Core2 Duo E6300 來說，常常都是跑在 50% 的地方，剩下的 50% 永遠吃不到，這是不支援多執行緒程式的一大弱點。雖然多執行緒可以很有效的加快速度，但是這些演算法是否有針對多核心的處理方式？搞的不好還會發生非同步化問題讓速度有減無增，資源都耗在結果的同步上了，這樣也不是好選擇。總之不管為什麼 WinRAR, 7-Zip 等軟體的壓縮演算法都支援多執行緒，而此 PNG 最佳化竟然沒有，有沒有其他方法呢？&lt;br /&gt;&lt;br /&gt;當然有，如果沒有我還要繼續打嗎？不知道你有沒有用過 foobar2000 轉過音樂的經驗？LAME 這一套 MP3 編碼器同樣不具備原生支援多執行緒功能 (好像有其他非官方 hack 實作出來，不管他)，但是當你的 CPU 支援，foobar2000 可以一次執行多個 LAME 實體分別轉換不同首音軌，以達成多核心運用的最佳方式。反正每一個 LAME 實體只要負責自己分配到的那首音軌就好，就沒有非同步化的問題，看起來就像多了好幾位工人分別處理不同事務一樣，不互相影響。&lt;br /&gt;&lt;br /&gt;所以我的想法出來了，之前都是一個 Batch 批次檔在進行處理，我可不可以以類似的想法，同時自動產生多個處理行程？這樣我的 CPU 多核心就能發揮最大效用。昨天剛學會的 Python 似乎已經有原生 Multi-Threading 支援 (Java 也有，以前好像是 Green threads 現在不知改原生了沒；Ruby 則還是 Green threads)，讓我們學會寫多執行緒程式來榨乾 CPU 效能吧！&lt;br /&gt;&lt;br /&gt;在 Google 搜尋「Python threading」可以找到前人的成果，我看了&lt;a href="http://hungic.blogspot.com/2008/08/pythonthreading.html"&gt;快樂過活@資料無限大，能力無限大: [Python]Threading&lt;/a&gt;這篇網誌的介紹跟引用，了解了基本的觀念。簡單來說 Python 採用 Queue 佇列跟 Threading 的配合來解決同步問題，你只要在一開始將要處理的東西推進佇列裡面，接下來隨意開幾個執行緒，這些工人們就會自己去抓來處理，無須你煩心囉。我直接先把我的成果貼上來：&lt;br /&gt;&lt;textarea name="code" class="py"&gt;#!/usr/bin/env python&lt;br /&gt;import Queue&lt;br /&gt;import threading&lt;br /&gt;import os, sys, glob&lt;br /&gt;&lt;br /&gt;queue = Queue.Queue()&lt;br /&gt;&lt;br /&gt;def Processlet():&lt;br /&gt;    while True:&lt;br /&gt;        file = queue.get()&lt;br /&gt;        print 'Processing: ' + file + "\n"&lt;br /&gt;        os.system('opti-one.bat "%s"' % file)&lt;br /&gt;        queue.task_done()&lt;br /&gt;&lt;br /&gt;def main():&lt;br /&gt;    for i in range(2):&lt;br /&gt;        t = threading.Thread(target=Processlet)&lt;br /&gt;        t.setDaemon(True)&lt;br /&gt;        t.start()&lt;br /&gt;&lt;br /&gt;    if len(sys.argv) == 1:&lt;br /&gt;        print """OptiPNG Suite (Milti-Threading Implementation)&lt;br /&gt;Usage: mt.py [Folder]&lt;br /&gt;"""&lt;br /&gt;        sys.exit(0)&lt;br /&gt;&lt;br /&gt;    dir = glob.glob(sys.argv[1] + '\\*.png')&lt;br /&gt;    for f in dir:&lt;br /&gt;        queue.put(f)&lt;br /&gt;&lt;br /&gt;    queue.join()&lt;br /&gt;&lt;br /&gt;if __name__ == '__main__':&lt;br /&gt;    main()&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;這個簡單的 Python 程式使用了 threading, Queue 來達成多執行緒架構，然後我為了其他的需求而引了其他函式庫。os 用來呼叫外部程式用的，sys 用來抓命令列參數，glob 則是方便我簡單的下萬用字元就能搜尋符合的 PNG 檔案。&lt;br /&gt;&lt;br /&gt;首先我建立了一個叫做 Processlet 的函式 (#8-14)，這個就是我的執行緒要執行的內容 (工人)，他會不斷的執行我指定的要求 (有個 while 迴圈包住了)。然後是 main 程式進入點 (#15-32)，我在這邊使用 for 迴圈產生了兩個執行緒 (因為我的 CPU 是雙核心)，這邊使用委任的方式直接呼叫 threading.Thread 包住我的 Processlet 函式，產生一個執行緒。網路上有些人是用繼承的方式繼承一個執行緒類別再撰寫內容，但我的程式簡單，使用此種委任方式也很直覺。&lt;br /&gt;&lt;br /&gt;#21-26 是處理沒有輸入參數的情況，顯示的預設說明訊息。此訊息清楚的說明我的程式是這樣呼叫的：mt.py [資料夾路徑]，比方說 mt.py "B:\"。當我取得了目錄位置後我使用 glob 來下查詢，得到此目錄下的所有 png 檔案絕對位置 (#27-30)。這下子終於可以把它們推到佇列，準備進行我們的工作囉。&lt;br /&gt;&lt;br /&gt;#31 要做的事只有一個，把佇列關起來。同時告訴執行緒工作開始了！這跟搭乘遊樂區的雲霄飛車設施一樣，人都就座了服務員就會關門，不讓其他人進入搗亂，同時代表刺激的旅程要開始了。&lt;br /&gt;&lt;br /&gt;讓我們再回到 #10-13，Processlet 的核心。當佇列關閉同時代表可以開始的同時，剛才產生的數個執行緒就會爭先恐後的開始工作，誰也不會等誰，因此工作的分配使用佇列來管理是十分妥善的。這邊主要要做的是取出處理檔案名稱、執行外部程式和告知此工作完成三個，剛好一人一行。從 Queue 中 get 出檔案位置後，我利用 os 提供的 system 函式來呼叫剛才寫好的 bat 檔案，為何不寫在 py 檔案的原因是我已經有寫好的 bat 了，一來套用方便，二來可以分開維護 (py 負責多執行緒，bat 負責最佳化 PNG；跟 foobar2000 負責多執行緒，LAME 負責轉檔相同)。等漫長的 BAT 執行完成後，要告訴執行緒我們已經完成一項工作，以便再取得新的工作內容，有 task_done() 這個函式可以用。&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;以上就是全部的架構，當我執行 mt.py 同時在命令列參數指定目錄時，Python 就會產生兩個執行緒，以外部批次檔去處理我的 PNG 檔案了。這時候再打開工作管理員 (或者功能更強的 Process Explorer) 你就可以看到 CPU 被吃滿的情況了 (Process Explorer 更能看到 python.exe 有兩個 cmd.exe 子行程，呼叫一堆 exe 在處理檔案)。速度是變快了，但是這樣就不能邊轉換邊上網了，很頓啊 XDDD&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-3874391656944772080?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/umXNQVtHxmM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/3874391656944772080/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=3874391656944772080" title="3 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/3874391656944772080?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/3874391656944772080?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/umXNQVtHxmM/python-multi-threading-png-optimize.html" title="用 Python 跑 Multi-threading 版 PNG 最佳化" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://blog.new-studio.org/2009/02/python-multi-threading-png-optimize.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MGQHk_fip7ImA9WxVQGEw.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-6595184788588159382</id><published>2009-02-04T20:13:00.014+08:00</published><updated>2009-02-05T14:30:21.746+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-05T14:30:21.746+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="PC" /><category scheme="http://www.blogger.com/atom/ns#" term="Python" /><title>初學 Python - 寫一個 BT 熱烈度偵測器</title><content type="html">我發現要學習程式語言，一定得有個目標作為動力(或是推力)，學的才會快。比如說我的同學學習 Java，是為了修過物件導向程式設計這門課，無不努力的加以學習，就怕被當XD 前次學習 Ruby 我個人認為成效非常不彰，到現在還沒摸過 RoR 程式，也只會雕蟲小技罷了。不過倒是為了修改 HoneyComing (&lt;a href="/2007/07/ruby-programming.html"&gt;HERE&lt;/a&gt;) 而勉強學了一些。&lt;br /&gt;&lt;br /&gt;這一次又學了 Python 其實跟兩件事有關：Google App Engine 跟 BitTorrent，我就慢慢說明。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://code.google.com/appengine/"&gt;Google App Engine&lt;/a&gt; (GAE) 已經公開申請一段時間了，Google 提供各種資源讓你在上面開發網路應用程式，而且目前是免費的！只可惜支援的程式語言目前僅有 Python (因為 Python 之父 Guido van Rossum 在 Google 工作的關係吧)。雖然計畫未來會支援更多語言 (也許會有 Ruby, PHP, Java？) 但是在那一刻還沒到來之前，這麼爽的東西竟然因為我不會 Python 而不能痛快遊玩感到可惜。一方面前幾個月 Pixmicat! 開發討論版上面有個人做了一個 Python 版的移植 (雖然看起來是移植 futaba 祭典版)，感覺很有趣，我想該是接觸新知識的時候了，於是就去下載了 GAE 的 SDK 和安裝 Python 環境。&lt;br /&gt;&lt;br /&gt;看了一下 GAE 還是有些限制的，SDK 提供了一個範例，我看了一下似乎提供了一些整合 Framework，但是我連基本的都不會了，要我用什麼 Framework 呢？剛好又看到 &lt;a href="http://doc.gaeo.org/"&gt;GAEO&lt;/a&gt; 這個專門為 GAE 撰寫的 Framework，這還是台灣人 &lt;a href="http://blog.ericsk.org/"&gt;ericsk&lt;/a&gt; 主導的。當然要玩這些的大前提就是先會懂 Python。&lt;br /&gt;&lt;br /&gt;另一個竟然是 BitTorrent，有沒有搞錯？&lt;span class="content"&gt;沒搞錯，BitTorrent 原本就是使用 Python 開發的 (在還沒併購 μTorrent 之前，現在的已經是用 C++)。我記得以前有一個 &lt;a href="http://torrentspy.sourceforge.net/"&gt;TorrentSpy&lt;/a&gt; 軟體，可以幫助使用者在新增下載之前，先查看熱烈度 (Seeder/Leecher 人數)，不然萬一早就沒人了豈不是白搭 (尤其是挖了很久以前的 torrent 檔更需要)。但是隨著時代的改變，BT 的通訊協定改變越來越大，2004 年後即停止開發的軟體早就跟不上時代，現在都已經支援多個 Tracker 查詢了，但是此軟體仍只能針對一組作查詢不太便利 (根據&lt;a href="http://bittorrent.org/beps/bep_0012.html"&gt;這篇修訂紀錄&lt;/a&gt;來看也是2008年才成為標準，不能怪他)，目前好像也沒看到其他什麼可以取代的軟體，不如自己寫吧。&lt;br /&gt;&lt;br /&gt;簡單了解一下我如果要做到一樣的效果，必須要先解析 *.torrent 檔案的結構。這不難，已經有&lt;a href="http://wiki.theory.org/BitTorrentSpecification"&gt;完整的 Spec Wiki&lt;/a&gt; 可以看。首先要面對的是 BT 最常用到的 Bencode 編碼法 (念作 Bee encode)。&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;dt&gt;一般字串: (n:XXXX)&lt;/dt&gt;&lt;dd&gt;範例: 10:HelloWorld。冒號前面是字串長度，後面則是字串本身&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;數字: (iNNNNe)&lt;/dt&gt;&lt;dd&gt;範例: i10e。使用i(integer)...e來包住&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;列表: (lAAABBBe)&lt;/dt&gt;&lt;dd&gt;範例: l&lt;span style="color: rgb(51, 51, 255);"&gt;10:HelloWorld&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;i10e&lt;/span&gt;e。使用l(list)...e來包住。&lt;br /&gt;以虛擬碼來說是 ["HelloWorld", 10]&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;字典: (dXXXAAAYYYBBBe)&lt;/dt&gt;&lt;dd&gt;範例: d&lt;span style="color: rgb(51, 51, 255);"&gt;10:HelloWorld&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;i10e&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;4:test&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;4:true&lt;/span&gt;e。使用d(dictionary)...e來包住。&lt;br /&gt;以虛擬碼來說是 {"HelloWorld": 10, "test": "true"}，注意數字不能做索引鍵，必須使用字串&lt;/dd&gt;&lt;br /&gt;所以像是&lt;br /&gt;&lt;blockquote&gt;{"info":&lt;br /&gt;　{&lt;br /&gt;　　"1" : {"date": 20090204203645, "file": ["A", "B", "C"]},&lt;br /&gt;　　"2" : {"date": 20090203123559, "file": ["01.jpg", "2.png", "3333.txt"]}&lt;br /&gt;　}&lt;br /&gt;}&lt;/blockquote&gt;&lt;br /&gt;這種結構也能輕易的變成Bencode:&lt;br /&gt;&lt;blockquote&gt;d4:infod1:1d4:datei20090204203645e4:filel1:A1:B1:Cee1:2d4:datei20090203123559e4:filel6:01.jpg5:2.png8:3333.txteeee&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;藉由官方的&lt;a href="http://pypi.python.org/pypi/BitTorrent-bencode/"&gt;Bencode&lt;/a&gt;套件我們馬上就可以省去這些繁複的動作，剩下的便是看 Spec 取出適當的資訊組合之後向 Tracker 要求目前的熱烈度如何即可。&lt;br /&gt;&lt;br /&gt;又，Tracker得知熱烈度的方法是 GET /scrape?info_hash=XXX 的方法，info_hash是啥碗糕？其實就是 Torrent 檔案內 info 項目的 Bencode 資料經過 SHA-1 後的 20 bytes 資料。這邊利用 Python 提供的 hashlib 函式庫 sha1 方法來達成，至於要抓 info 的原始 bencode 資料也不會很難，我是直接再把解析完的 info 再 bencode 一次，不過照理說直接從檔案中抓效率可能比較好。&lt;br /&gt;&lt;br /&gt;Tracker 回傳的格式一樣是 bencode，結構簡單多了。我們需要的正是 complete, incomplete 這兩項。downloaded 是已下載完成的人次，可作為一種熱門參考，但前面兩個值對下載比較重要。&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="python"&gt;import sys # Command line arguments&lt;br /&gt;from bencode import * # BitTorrent Bencode/decode&lt;br /&gt;from hashlib import sha1 # SHA1&lt;br /&gt;from urllib import * # HTTP GET&lt;br /&gt;&lt;br /&gt;# 開啟命令列指定 Torrent 檔解 Bencode，如果沒有指定就顯示使用說明&lt;br /&gt;if len(sys.argv) == 1:&lt;br /&gt;    print "Usage: ", sys.argv[0], "file"&lt;br /&gt;    sys.exit(2)&lt;br /&gt;&lt;br /&gt;data = open(sys.argv[1], "rb").read()&lt;br /&gt;torrent = bdecode(data)&lt;br /&gt;&lt;br /&gt;# 計算 info_hash SHA-1 值 (自 info Bencode 計算) 並經過 urlencode 編碼以便於要求&lt;br /&gt;info_hash = sha1(bencode(torrent['info'])).digest()&lt;br /&gt;query = '?' + urlencode({'info_hash': info_hash})&lt;br /&gt;&lt;br /&gt;# 'announce-list' 是 Tracker 列表，逐一取出要求&lt;br /&gt;for a_url in torrent['announce-list']:&lt;br /&gt;    try:&lt;br /&gt;        #print a_url[0].replace('announce', 'scrape') + query&lt;br /&gt;        print 'link to', a_url[0]&lt;br /&gt;        # urlopen 送出 HTTP GET，讀取內容後解 Bencode 碼&lt;br /&gt;        scraped = bdecode(urlopen(a_url[0].replace('announce', 'scrape') + query).read())&lt;br /&gt;        # 確保回傳內容是可用的 (dict 型態)&lt;br /&gt;        if type(scraped) == dict:&lt;br /&gt;            torrinfo = scraped['files'][info_hash]&lt;br /&gt;            # 列印熱烈度資料&lt;br /&gt;            print "- Seeder: %d\tLeecher: %d\tDownloaded: %d" % (torrinfo['complete'], torrinfo['incomplete'], torrinfo['downloaded'])&lt;br /&gt;        else:&lt;br /&gt;            print '- No data'&lt;br /&gt;    except (IOError, SyntaxError):&lt;br /&gt;        # HTTP Connection Error / Bdecode Error&lt;br /&gt;        print '- No data'&lt;br /&gt;&lt;/textarea&gt;&lt;br /&gt;&lt;br /&gt;經過解析後的 torrent 檔案，我們需要 announce-list 列表中的 Tracker 作查詢，另外 info 需要被作成 SHA-1 hash 來和 Tracker 聯繫。剩下的便是一一向 Tracker "Scrape" 目前的下載情形 (/announce 改成 scrape 就可以了)，將 HTTP GET 的內容給解碼後，就可以抓 'complete', 'incomplete', 'downloaded' 三個有用資料。如此向每一個 Tracker 要求之後就可以得知熱烈度，藉以決定值不值得一試。&lt;br /&gt;&lt;br /&gt;最後感謝網際網路的便利性，讓我很快地找到需要的資料：&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.freebsd.org.hk/html/python/tut_tw/tut.html"&gt;Python 教學文件&lt;/a&gt;&lt;br /&gt;中文翻譯版的教學，將我不懂的語言語法直接列出來可以看，很不錯&lt;/li&gt;&lt;li&gt;&lt;a href="http://wiki.theory.org/BitTorrentSpecification"&gt;BitTorrentSpecification - TheoryOrg&lt;/a&gt;&lt;br /&gt;Torrent 檔案解析、Bencode、scrape 呼叫法跟回傳的內容都介紹的很清楚&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.csdn.net/xkou/archive/2007/06/20/1659945.aspx"&gt;[bittorrent] 从http tracker 获取peers - 倚天龍記 - CSDNBlog&lt;/a&gt;&lt;br /&gt;搜尋得來有關 info_hash 如何產生的說明及程式碼範例&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;---&lt;br /&gt;02/05: 修正程式碼中有關 scrape 回傳的 Bencode 偵測問題，有的 Tracker 只回傳 i0e (0) 會導致原本的判斷錯誤，現改用判斷型態為 dict 才作處理。&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-6595184788588159382?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/mf4tfDgtedU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/6595184788588159382/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=6595184788588159382" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/6595184788588159382?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/6595184788588159382?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/mf4tfDgtedU/learn-python.html" title="初學 Python - 寫一個 BT 熱烈度偵測器" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.new-studio.org/2009/02/learn-python.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUAHRn47fip7ImA9WxVRF08.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-5467364478909910000</id><published>2009-01-24T00:09:00.004+08:00</published><updated>2009-01-24T00:22:17.006+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-24T00:22:17.006+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="music" /><category scheme="http://www.blogger.com/atom/ns#" term="Concert" /><title>島宮榮子亞洲演唱會取消</title><content type="html">&lt;blockquote&gt;原訂2月8日舉行之「EIKO SHIMAMIYA First Asia Tour 2009 in TAIWAN」演唱會，因臨時與島宮小姐2009年在日本的藝能活動檔期有所衝突，經向日方經紀公司協調後，於日前確定短期之內暫時無法安排海外活動，因此我們必須忍痛取消本此演唱會。島宮小姐本人也對於無法如期來到台灣感到非常地遺憾，近期之內將會透過官方以某種形式向台灣歌迷致歉。&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;～摘錄自官方網站公告 (&lt;a href="http://www.sre-music.com/info/info.cgi?mode=entry&amp;ym=200901&amp;no=31"&gt;http://www.sre-music.com/info/info.cgi?mode=entry&amp;ym=200901&amp;no=31&lt;/a&gt;)&lt;br /&gt;&lt;span class="content"&gt;&lt;br /&gt;想不到在演出前夕傳出這個消息。雖然我不致於失去理智到公司抗議 (話說公司網站連地址、電話、電子郵件都沒有耶) ，但是這個事件已經讓我對此公司的信任度降低了。下次如有類似的活動，我還要考慮再三才行。&lt;br /&gt;&lt;br /&gt;雖然我也知道票房賣不好是必然的，台灣就是這麼大而已。但是第一次辦延期就算了 (理由還很怪，事後在島宮老師官方留言版還被套出真相)，再來一次以取消的手法澆熄這些剩餘熱情等待的歌迷們，這樣好嗎？&lt;br /&gt;&lt;br /&gt;算了，退票退票啦。&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;請歌迷於&lt;span style="font-weight:bold;"&gt;2月2日至3月13日&lt;/span&gt;期間，攜帶購買的票卷親至或郵寄到以下三個年代服務中心辦理退票。&lt;br /&gt;&lt;br /&gt;台北年代服務中心→台北市內湖區瑞湖街39號9樓&lt;br /&gt;Tel：02-2341-9898&lt;br /&gt;服務時間: 週一到週五am9:00-pm8:30&lt;br /&gt;&lt;br /&gt;台中年代服務中心→台中市北區大雅路337號17樓&lt;br /&gt;Tel：04-2292-5321&lt;br /&gt;服務時間: 週一到週五 am9:00-pm5:30&lt;br /&gt;&lt;br /&gt;高雄年代服務中心→高雄市苓雅區中正二路141號7樓之2&lt;br /&gt;Tel：07-225-6360&lt;br /&gt;服務時間: 週一到週五 am9:00-pm5:30&lt;br /&gt;&lt;br /&gt;我想 JAM Project 演唱會的票錢有著落了 (笑，雖然還不夠)，F社應該不致於拆自己招牌吧？&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-5467364478909910000?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/jTvGP9kWixY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/5467364478909910000/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=5467364478909910000" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/5467364478909910000?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/5467364478909910000?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/jTvGP9kWixY/shimamiyacancelled.html" title="島宮榮子亞洲演唱會取消" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.new-studio.org/2009/01/shimamiyacancelled.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYERXw8eyp7ImA9WxVRFkU.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-6335304825417939945</id><published>2009-01-22T17:24:00.007+08:00</published><updated>2009-01-23T11:08:24.273+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-23T11:08:24.273+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="music" /><category scheme="http://www.blogger.com/atom/ns#" term="Concert" /><title>JAM Project Hurricane Tour 2009 Gate of the Future</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_YTQXzGpyark/SXg9hKEwRbI/AAAAAAAAAp4/VuTB7NBskJ0/s1600-h/jam2009.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 160px; height: 126px;" src="http://3.bp.blogspot.com/_YTQXzGpyark/SXg9hKEwRbI/AAAAAAAAAp4/VuTB7NBskJ0/s160/jam2009.jpg" alt="" id="BLOGGER_PHOTO_ID_5294049001823290802" border="0" /&gt;&lt;/a&gt;暴風圈即將登陸台灣！&lt;br /&gt;&lt;br /&gt;JAM Project 在最近公開了新一次的巡迴演唱會行程表，其中台灣赫然入列！而且還是兩天！天啊，台灣的市場已經這麼大了嗎？根據 FF 釋出的情報，樂團也會一起到台演出，而且兩天的曲目略有不同，天啊這叫我該如何選擇呢？總之不太可能兩天都去的，這太傷身體了。&lt;br /&gt;&lt;br /&gt;&lt;s&gt;詳細座位表等資訊尚待日後公開，&lt;/s&gt;目前官方已經釋出場地及票價資訊：&lt;br /&gt;&lt;span class="content"&gt;&lt;br /&gt;JAM Project Hurricane Tour 2009 in Taipei ～Gate of the Future&lt;br /&gt;&lt;ul&gt;&lt;li&gt;時間：2009年5月30日、31日（週六、日） 下午6點30分(開場) 下午7點30分(開演)&lt;/li&gt;&lt;li&gt;地點：台北台大巨蛋體育館一樓&lt;/li&gt;&lt;li&gt;票價：3600、3200、2800、2200、1600、1200、800&lt;/li&gt;&lt;li&gt;購票時間：大年初五1月30日（週五）中午12:00整於年代售票系統開放售票&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_YTQXzGpyark/SXk0PcjCKXI/AAAAAAAAAqA/Y1jgvUa-kk0/s1600-h/jam2009_seat.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 195px;" src="http://3.bp.blogspot.com/_YTQXzGpyark/SXk0PcjCKXI/AAAAAAAAAqA/Y1jgvUa-kk0/s320/jam2009_seat.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5294320276916545906" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;日本 JAM Project 特設頁面：&lt;br /&gt;&lt;a href="http://jamjamsite.com/gateofthefuture.html"&gt;http://jamjamsite.com/gateofthefuture.html&lt;/a&gt;&lt;br /&gt;台灣協辦方 Fancy Frontier資訊頁面：&lt;br /&gt;&lt;a href="http://www.f-2.com.tw/?page_id=481"&gt;http://www.f-2.com.tw/?page_id=481&lt;/a&gt;&lt;br /&gt;年代購票頁面：&lt;br /&gt;&lt;a href="http://www.ticket.com.tw/dm.asp?P1=0000009407"&gt;http://www.ticket.com.tw/dm.asp?P1=0000009407&lt;/a&gt;&lt;br /&gt;---&lt;br /&gt;01/23 更新: 年代購票網頁出來了，還有座位表。&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-6335304825417939945?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/H5ylK0tMVQU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/6335304825417939945/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=6335304825417939945" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/6335304825417939945?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/6335304825417939945?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/H5ylK0tMVQU/jam-project-hurricane-tour-2009-gate-of.html" title="JAM Project Hurricane Tour 2009 Gate of the Future" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_YTQXzGpyark/SXg9hKEwRbI/AAAAAAAAAp4/VuTB7NBskJ0/s72-c/jam2009.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.new-studio.org/2009/01/jam-project-hurricane-tour-2009-gate-of.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0IEQXY_eSp7ImA9WxNXFkk.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-5317925153571847260</id><published>2008-12-13T17:24:00.006+08:00</published><updated>2009-10-04T16:38:20.841+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-04T16:38:20.841+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="PC" /><category scheme="http://www.blogger.com/atom/ns#" term="game" /><title>開始接觸畢業專題所需工具</title><content type="html">久違的更新，最近都沒什麼值得書寫的，平均一個月一篇啊XD&lt;br /&gt;&lt;br /&gt;轉眼過去我也已經快要大學畢業了，前陣子期中考忙完之後當然就是狂玩遊戲，Xbox 360真是買對了，劫了我不少小朋友。相繼買了異塵餘生3 (Fallout 3)、戰爭機器2 (Gears of War 2)跟波斯王子 (Prince of Persia)，12/05 日本地區開放下載惡靈古堡5 (Biohazard 5)試玩版又是另一個驚喜，好在有朋友的協助得以下載同樂，一起連線合作打斧男跟電鋸男，很刺激。&lt;br /&gt;&lt;br /&gt;而上週也找好團隊成員，向教授申請了畢業專題的指導，我也開始有畢業專題壓力了。專題的內容是運用主動式 RFID 射頻識別跟 Sensor Network 感測網路來製作一個系統，不過上的課程很多都跟這兩樣沒什麼關係，也不會特別教這兩樣東西，連教授都說了他也沒玩過，叫我們去借器材自己回家玩，雖然這也是我們要求的專輯方向啦。總之得花一點時間來習慣這些工具。&lt;br /&gt;&lt;span class="content"&gt;&lt;br /&gt;趁著週五時跟系上申請了這些工具組，有 AMIC Technolohy 生產的 A9281-A RFID Reader，是 CF 卡插槽式，可以插在 PDA 上，據此又借了一台 HP iPAQ hx2490b Pocket PC。另外一個則是 Jennic 公司生產的 JN-5139-EK010 ZigBee 套件，這個就給其他組員玩好了。因為 PDA 好像比較好玩的樣子www&lt;br /&gt;&lt;br /&gt;把工具分一分大家各自搬回家後，當然先把 PDA 接上充電座充上4個小時，然後在電腦端安裝 ActiveSync 軟體，最後將 PDA 跟電腦連結，就可以為其進行軟體安裝或傳輸檔案。重置過 PDA 內容洗白白後，開始安裝一些環境工具。&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Microsoft .NET Compact Framework 3.5 Redistributable&lt;/li&gt;&lt;li&gt;elSerial Driver&lt;/li&gt;&lt;li&gt;Adobe Reader for Pocket PC 2.0&lt;/li&gt;&lt;li&gt;PocketPutty&lt;/li&gt;&lt;li&gt;MobTerm&lt;/li&gt;&lt;li&gt;Google Maps&lt;/li&gt;&lt;li&gt;CorePlayer 1.3.0&lt;/li&gt;&lt;li&gt;YouTubePlay&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;前面兩個是開發所必須的，後面是一些工具軟體 (越後面越無關XD) 用 PDA 看 H.264 感覺真新鮮。有些比較麻煩的軟體需要安裝到電腦上，開啟 ActiveSync 才會有檔案傳過去，讓沒有關聯的電腦也裝了一份沒啥用的東西。其他軟體幾乎只要將 *.cab 丟過去打開就可以安裝，更甚者直接丟 *.exe 執行就可以。&lt;br /&gt;&lt;br /&gt;終於大致上搞定了，插上那張 CF 讀取器，開啟廠商附贈光碟的幾個 Demo 程式看看有沒有正常，沒想到其中一個偵測 RFID Reader 的程式一直說我沒有插，我明明就裝上去了，燈也有亮啊。不管先去跑另外一個Demo，初始化正常 (設備位置: COM6:)，也試驗一下拿台北捷運悠遊卡讀看看，是讀的到的，就不知道那個偵測程式是哪根筋不對勁。不過我就只會讀取 RFID Tag 的類型跟 Unified ID 而已，其他讀寫資料什麼的根本都還不會。只好先摸到這樣。&lt;br /&gt;&lt;br /&gt;另一邊的應用嘛，就容易多了。CorePlayer 真是好物啊，比內建的 WMP 10 好太多了，連 FLAC 都直接支援。可惜內建的 YouTube 瀏覽似乎因為 Google 有意攔阻而變動程式碼，目前是看不到的，真是可惜。不過另一套程式 YouTubePlay 就仍可以看，可說是專為此而設計的。雖然這套程式有個 Save 功能，不過試驗儲存後總會發生 NullReferenceException，所以不能存，但就觀看而言算是及格啦。另外 CorePlayer 不支援 On2 VP6 格式的 FLV4，害我從 Nico 弄下來的動畫都不能看。另外 RMVB 格式在 PDA 似乎吃不開，到現在還沒有很好的解決方案，官方的軟體也沒繼續在發展。&lt;br /&gt;&lt;br /&gt;然後試試 MobTerm 連自己系上的 BBS，感覺好有趣，上 B 新體驗。還有 PocketPutty 連上遠端的 SSH 作管理，也算是滿實用的應用吧。&lt;br /&gt;&lt;br /&gt;聽說 Pocket PC 上有強者移植改寫的 PC 遊戲引擎在上面，這樣一來就可以在手機上玩一些日本AVG，不過目前還沒有得到什麼結果。有這方面的專家嗎？&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-5317925153571847260?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/LUzn3xJKUmw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/5317925153571847260/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=5317925153571847260" title="2 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/5317925153571847260?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/5317925153571847260?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/LUzn3xJKUmw/graduate-project.html" title="開始接觸畢業專題所需工具" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://blog.new-studio.org/2008/12/graduate-project.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAGSX0-eyp7ImA9WxRWGUU.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-3159626788163252035</id><published>2008-11-06T23:19:00.005+08:00</published><updated>2008-11-06T23:52:08.353+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-06T23:52:08.353+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Xbox360" /><category scheme="http://www.blogger.com/atom/ns#" term="report" /><category scheme="http://www.blogger.com/atom/ns#" term="game" /><title>Gears of War 2 台中首賣會</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_YTQXzGpyark/SRMLbIvNF_I/AAAAAAAAAm0/36sAmhp5C3E/s1600-h/gow2tc_1.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_YTQXzGpyark/SRMLbIvNF_I/AAAAAAAAAm0/36sAmhp5C3E/s320/gow2tc_1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5265564950156089330" /&gt;&lt;/a&gt;2008/11/06晚間20:00，台灣將於北中南同步舉辦Xbox 360遊戲戰爭機器 (Gears of War) 2代的首賣會，同時也是全世界最早發售的。台灣微軟在一週前公開了這個限量500套的首賣會，會場販賣戰爭機器2珍藏版 (售價NT$1490)，除了遊戲片以外另有一片幕後花絮DVD，以鐵盒包裝，另附精美畫冊設定集。會場特典還有齒輪兵籍牌項鍊和勇士齒輪，另外也有舉辦精品抽獎，跟一把1:1的騎兵電鋸步槍摸彩。&lt;br /&gt;&lt;br /&gt;我到達台中NOVA約16:20，排入隊伍時人還不多，應該只有4、50個。就定後開始聽音樂解悶，過了一段時間都沒人來排隊，我整整當了最後尾30分鐘以上，後來才有人陸續過來排，連我朋友都被我叫來才排，來的時候竟也只有在我後面十位而已。因為排隊時間是16:00，而開賣時間是20:00，所以基本上我以為一到就可以領號碼牌，然後就可以先去逛逛等吃飽飯再來。結果我錯了，隊伍雖然不時有工作人員控管和拍照，但是都沒有發號碼牌的跡象，看來也不可能提前開賣的模樣，這下子只好枯等4個小時了。&lt;br /&gt;&lt;span class="content"&gt;&lt;br /&gt;等啊等，也跟旁邊的同好聊了起來 (相信我，排隊過程真的很無聊)，就這樣虛度了三個小時的光陰，中途還有SHOW GIRL主持美女過來關心我們一下，也有一些人要求跟她共照，我是沒有啦。終於到了19:00，由SHOW GIRL主持美女開始舉辦活動，開始發放號碼牌了，同時也要繳交1490元才可以獲得發票、電鋸步槍抽獎券跟號碼牌。發到我的時候看了一下剛好是50號，也就是說下午4點前來的差不多就50人，剩下的50人是慢慢才滿的，後面不乏下班後跑來排隊的中年男子，看來戰爭機器的影響力十足啊。&lt;br /&gt;&lt;br /&gt;等到100張號碼牌全部發放完之後，主持小姐說為了體諒我們的辛勞，現在就開始賣了！這個時候才不過七點半而已，真高興可以早點買到閃人。每個人都可以獲得一套戰爭機器2珍藏版、齒輪兵籍牌項鍊跟微軟特別發的贈品原子筆、泡麵，另外可以試試手氣抽個獎品回家。主持小姐都會在抽獎前問他最想要什麼，獎品則有無線手把、面板、畫冊、藍龍公仔跟識別證吊帶。看其他人都抽中無線手把跟畫冊，要說的話我也覺得這兩種東西比較好，偏偏手氣不佳抽到個什麼公仔，真是orz，不過抽到識別證吊帶的人想必更囧吧，這啥玩意啊。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_YTQXzGpyark/SRMLbGetqzI/AAAAAAAAAm8/0nqmNRxTXOE/s1600-h/gow2tc_2.JPG"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_YTQXzGpyark/SRMLbGetqzI/AAAAAAAAAm8/0nqmNRxTXOE/s320/gow2tc_2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5265564949550050098" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;現場的盛況還算不錯，整體上辦得還算成功，回到家當然是馬上放入Xbox 360廝殺一下囉。我也有其他好友去排首賣的樣子，現在一定正在狂拼線上合作吧XD。可惜下週是期中考，不然我一定天天報到維安政府軍隊的 Delta 小隊，狂殺獸族維護人類的家園的。不過其實我比較想繼續玩 Fallout 3 XDDD 另外本來要配套購買一年 Xbox Live 金會員，可惜經濟吃緊看來又要延幾個月以後了，不能玩線上合作瘋狂難度真可惜啊。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-3159626788163252035?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/Sa47npkQgig" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/3159626788163252035/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=3159626788163252035" title="3 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/3159626788163252035?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/3159626788163252035?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/Sa47npkQgig/gears-of-war-2.html" title="Gears of War 2 台中首賣會" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_YTQXzGpyark/SRMLbIvNF_I/AAAAAAAAAm0/36sAmhp5C3E/s72-c/gow2tc_1.JPG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://blog.new-studio.org/2008/11/gears-of-war-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcBRno7eSp7ImA9WxJQFkg.&quot;"><id>tag:blogger.com,1999:blog-32049795.post-675077923825543197</id><published>2008-10-15T19:35:00.013+08:00</published><updated>2009-05-30T10:20:57.401+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-30T10:20:57.401+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="music" /><category scheme="http://www.blogger.com/atom/ns#" term="I've" /><category scheme="http://www.blogger.com/atom/ns#" term="review" /><title>Review: master groove circle</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_YTQXzGpyark/SPXXERKQgLI/AAAAAAAAAfs/aONLEcPqShQ/s1600-h/ive_mgc_01.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor:pointer; cursor:hand; float: left;" src="http://1.bp.blogspot.com/_YTQXzGpyark/SPXXERKQgLI/AAAAAAAAAfs/aONLEcPqShQ/s160/ive_mgc_01.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5257344608350798002" /&gt;&lt;/a&gt;入手這片專輯已經有一段時間了，不過卻找不出時間評析它。事前我還特別寫了一篇介紹文章來推薦這一片，現在要由我來親自證實這片是不是真的有我當初說的購買價值。還記得當初 CLUB JAPAN 通知此片已出貨的時候，我還沒有足夠的資金去領回它，所以就把它丟在指定的便利商店達四天之久，中間提醒我的簡訊也發了兩次，但是沒辦法啊，最近開學買原文書就花了不少錢，要等補充還要一段時間啊。終於等到有錢才去把它贖回來，沒想到得到的是一大包牛皮紙袋，著實讓我嚇到了。拆開牛皮紙袋發現裡面裝的是用著氣泡袋保護的紙盒子 (就是 CJ 平常用的那一種)，怎麼這麼工夫呢？拆開盒子又發現被氣泡袋包住的 CD，雙重保護，CJ 你們太有心了吧？雖然現在酌收了運費但是包裝上反而升級，真是意外。&lt;br /&gt;&lt;br /&gt;費了一番力總算把 CD 本體給拿出來了，按照慣例為它做點介紹。&lt;br /&gt;&lt;span class="content"&gt;&lt;br /&gt;&lt;hr style="clear: both;" /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_YTQXzGpyark/SPXXETZCAII/AAAAAAAAAf0/qFFxRALBzjQ/s1600-h/ive_mgc_02.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_YTQXzGpyark/SPXXETZCAII/AAAAAAAAAf0/qFFxRALBzjQ/s320/ive_mgc_02.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5257344608949633154" /&gt;&lt;/a&gt;&lt;br /&gt;看這鐵盒到底藏了什麼玄機？&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_YTQXzGpyark/SPXXEjBmpcI/AAAAAAAAAf8/Z5rVYn4d8hI/s1600-h/ive_mgc_03.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_YTQXzGpyark/SPXXEjBmpcI/AAAAAAAAAf8/Z5rVYn4d8hI/s320/ive_mgc_03.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5257344613146338754" /&gt;&lt;/a&gt;&lt;br /&gt;鐵盒內部模樣。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_YTQXzGpyark/SPXXE82uInI/AAAAAAAAAgE/pP5gaCFU96Y/s1600-h/ive_mgc_04.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_YTQXzGpyark/SPXXE82uInI/AAAAAAAAAgE/pP5gaCFU96Y/s320/ive_mgc_04.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5257344620080013938" /&gt;&lt;/a&gt;&lt;br /&gt;這就是 Booklet，喔 還有回函。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_YTQXzGpyark/SPXXExt1i0I/AAAAAAAAAgM/RzAmdzo_9bc/s1600-h/ive_mgc_05.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_YTQXzGpyark/SPXXExt1i0I/AAAAAAAAAgM/RzAmdzo_9bc/s320/ive_mgc_05.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5257344617089960770" /&gt;&lt;/a&gt;&lt;br /&gt;這片 CD 就這樣放在特製的鐵盒子內，用這個紙做的 CD 套裝起來。還附一張棉紙以防刮傷......&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_YTQXzGpyark/SPXXXxPZWrI/AAAAAAAAAgU/R5iPLlKXovM/s1600-h/ive_mgc_06.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_YTQXzGpyark/SPXXXxPZWrI/AAAAAAAAAgU/R5iPLlKXovM/s320/ive_mgc_06.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5257344943379798706" /&gt;&lt;/a&gt;&lt;br /&gt;展開圖。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_YTQXzGpyark/SPXXX402GrI/AAAAAAAAAgc/YMa5F8eYARE/s1600-h/ive_mgc_07.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_YTQXzGpyark/SPXXX402GrI/AAAAAAAAAgc/YMa5F8eYARE/s320/ive_mgc_07.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5257344945415920306" /&gt;&lt;/a&gt;&lt;br /&gt;兩片裝照片。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_YTQXzGpyark/SPXXYJ000EI/AAAAAAAAAgk/quQb6TK2rNQ/s1600-h/ive_mgc_08.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_YTQXzGpyark/SPXXYJ000EI/AAAAAAAAAgk/quQb6TK2rNQ/s320/ive_mgc_08.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5257344949979238466" /&gt;&lt;/a&gt;&lt;br /&gt;Booklet 真面目，一張寫滿了 Remixer 介紹的紙罷了。&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/32049795-675077923825543197?l=blog.new-studio.org' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/scribe/blogger/~4/zgxoDQYIgHw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.new-studio.org/feeds/675077923825543197/comments/default" title="張貼意見" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=32049795&amp;postID=675077923825543197" title="0 個意見" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/675077923825543197?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/32049795/posts/default/675077923825543197?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/scribe/blogger/~3/zgxoDQYIgHw/review-master-groove-circle.html" title="Review: master groove circle" /><author><name>scribe</name><uri>http://www.blogger.com/profile/05127342542869247723</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10719101864585975614" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_YTQXzGpyark/SPXXERKQgLI/AAAAAAAAAfs/aONLEcPqShQ/s72-c/ive_mgc_01.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blog.new-studio.org/2008/10/review-master-groove-circle.html</feedburner:origLink></entry></feed>
