<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:wfw="http://wellformedweb.org/CommentAPI/">
  <id>http://moskyat.pixnet.net/blog</id>
  <title><![CDATA[MOSKY:: 痞客邦 PIXNET ::]]></title>
  <author>
    <name>moskyat</name>
    <email>moskyat@not-valid.com</email>
  </author>
  <updated>2009-11-14T19:13:03+08:00</updated>
  <published>2009-11-14T19:13:03+08:00</published>
  <link rel="self" href="http://moskyat.pixnet.net/blog" hreflang="zh"/>
  <subtitle><![CDATA[My Own SKY，<br>
這裡是屬於我自己的藍天！<br>
<br>
是一個紀錄著一些有關於 Ubuntu、生活瑣事的部落格。]]></subtitle>
  <rights>Copyright 2003-2009 moskyat,Pixnet Digital Media Coporation. All rights reserved.</rights>
  <generator>PIXNET Media Digital Coporation</generator>
  <entry xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <id>http://moskyat.pixnet.net/blog/post/26260613</id>
    <title><![CDATA[apt-add，輕鬆又懶惰的使用 APT！Latest:0.5.3]]></title>
    <updated>2009-11-14T19:13:03+08:00</updated>
    <link rel="alternate" href="http://moskyat.pixnet.net/blog/post/26260613"/>
    <summary><![CDATA[APT-ADD 介紹簡報 (in Karmic Ubuntu Party)：

&nbsp;
APT-ADD 快速導引 (0.5.x 適用)：
　　碎碎唸：因為家裡的一些關係，如果真的那麼倒楣的話，那這次部落格更新應該是到明年五月前的最後一次更新了 ^^"。
　　apt-add 是一個在使用 apt 系統下，可以簡單並懶惰的加入安裝第三方軟體所需的「來源列」以及「金鑰」的 Python 腳本。除了加入/刪除以外，apt-add 在 0.5 版中也支持備份在系統中所有套件的功能，方便在發生問題的時候即刻還原 XD！請按這裡下載最新版！
　　一般要安裝由第三方來源所提供的軟體時，以 Ubuntu 的 GUI 來說，必須從「系統/軟體來源」進行繁複的增加來源列或金鑰的動作，只有一些的時候還不算太麻煩。但如果要同時增加很多的來源列及金鑰，增加來源列或金鑰就是一場惡夢了 XD。 (比方說拿到別人的來源列表，不想動到原有來源列的時候。) 以 CLI 來說，如果不含別名的使用，增加來源列或金鑰則需要下面的指令：
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 12345678 ABCDEF12 ... #金鑰echo 'deb http://a.source.line version section' &gt;&gt; /etc/apt/sources.list #來源列
　　以上的指令都非常的「長」，打起來很累人。雖然說比 GUI 愉快很多，但量多的時候也是很痛苦的一件事情。apt-add 就是為了讓增加第三方來源變得輕鬆愉快而存在的 XD。
　　apt-add 模仿了 apt-* 的指令，執行時通常需要一個副命令 (副命令其實也是可以捨去的，詳請見後面說明。)，目前支援的副命令如下：

key: 以金鑰 ids (8 hex)、long ids (16 hex)、finger prints (40 hex) 從金鑰伺服器匯入金鑰。
source: 以標準的來源列格式匯入來源列，
action: 以標準的 aptitude 安裝/移除/清除命令當作參數，除了更動軟體以外，會在列表中紀錄註記，方便日後還原。([package][+-_]，+ 安裝、- 移除、_徹底移除。) (0.3 以上)
import: 將 apt-add 可解析的備份副本匯入 (一般的 sources.list 即可，金鑰可用註解方式寫入)。
export: 匯出 apt-add 可解析的來源列與金鑰的備份副本。
seek:以一個或多個正規式搜尋所有來源列表。(0.5 以上)
replace: 將來源列表中的某個值取代成為另一個值。(0.5 以上)
backup: 匯出系統中的套件列表。(0.5 以上)
recover: 將系統還原回套件列表記載的狀態。(0.5 以上)

　　基礎用法介紹：
sudo apt-add key 12345678 ABCDEF12 ...sudo apt-add source 'deb http://a.source.line version section' ...sudo apt-add action p7zip-full+ audacious+ pitivi+ [package][+-_] ...sudo apt-add import backup1.list backup2.list ...sudo apt-add export a-backup.list #同時僅能匯出至一個檔案sudo apt-add seek openofficesudo apt-add replace jaunty karmicsudo apt-add backup packages.listsudo apt-add recover packages.list
　　當然，為了讓大家可以更方便的使用，在不輸入副命令的情況，其實 apt-add 也是可以運作的。在不使用副命令的情況，apt-add 會看參數資料自動將參數歸類為 key 、 source 或 action！比方說：
sudo apt-add 12345678&nbsp; 'deb http://a.source.line version section' p7zip-full+ ABCDEF12 ...
　　除了這樣，有時候提供來源列或金鑰的網站不是那麼的友善，要複製到恰好的金鑰 id/long id/fp 不是那麼的容易。為此，apt-add 也可以接受模糊的參數，只要一個參數裡面有含可供輸入的資料就行了。apt-add 會利用內建的正規式條件過濾出正確的資料，比方說：
sudo apt-add 'here is the key of software:1024R/12345678. and here is ...'
　　在 0.3 以後，apt-add 的來源列表管理功能也進化了一級，除了 0.2.4 以後提供的註解解除和加上的功能以外，也提供了 -d 的執行選項，讓您可以移除來源列、金鑰或動作註記。比方說：
sudo apt-add 'here is the key of software:1024R/12345678. ...' -d
　　在 0.5 以後，更提供了 seek、replace 這兩個副命令來讓管理眾多的來源列表更加容易。
sudo apt-add seek openoffice #搜尋含有 openoffice 這個關鍵字的來源列sudo apt-add replace jaunty karmic #將給 9.04 使用的來源列轉換成 9.10 也可以用的來源列
　　最後 apt-add 提供了幾個方便的執行選項可以讓大家在使用時更加方便，-f (--fix) 、-u (--update)、-g (--upgrade)。-f 是啟動修復遺失金鑰的執行選項。啟用後，apt-add 會自動搜索套件庫內沒有金鑰的來源列，並自動完成加入的動作。-u 則是方便使用者不需要再多打指令即可安裝。下完 apt-add 之後就自動更新套件庫，接著就可安裝需要的軟體。-g 是因為 apt-get 要打兩行才能升級系統，真的非常麻煩而生的懶惰選項 XDD。以下是範例：
sudo apt-add -fsudo apt-add 'deb http://a.source.line version section' -usudo apt-add -ug #更新之後升級系統sudo apt-add 'deb http://a.source.line version section' -ug  #增加來源列後更新並升級系統
　　從 -f 可以衍生出一個更懶惰的功能，就是在增加來源列時，後面加上 -f，這樣就不用另外再添加金鑰，apt-add 自動搞定 XD (不過這樣會跑的比較慢)。比方說：
sudo apt-add 'deb http://a.source.line version section' -fu
　　在 0.5 以上如果覺得每次還要加 -f 或 -u 是一件很麻煩的事情，apt-add 也提供了 --auto-add-keys 和 --auto-update 的執行選項。啟動了自動增加金鑰的選項後，如果你給了來源列卻沒有給金鑰，apt-add 就會自動判斷是不是應該要新增金鑰。啟動了自動更新的執行選項後，有來源列和動作註記或更新時，apt-add 就會自動進行套件庫的更新。
　　上面介紹的執行選項很多，如果常常要用，每次都要打也很煩。所以 apt-add 提供了以靜態的方式載入執行選項。只要編輯 ~/apt-add.conf 這個檔案，把它當作 apt-add 的參數列來寫就行了，apt-add 會把換行字元視作一個空白。
　　另外還有一些其他功能，請參考 apt-add --help 來獲得更多資訊 : )。
　　網誌上有另一帖是給剛使用 apt-add 的朋友有可以快速使用的範例，請點選這裡進入。
未來的 APT-ADD (After 0.6)：

0.6 or later 寫出 apt-add 的 GUI！ (尚未展開)

0.5.3 Change Log (091103)：

增加了更詳細的副命令說明。
使用 -g 選項，即使沒有啟動 --auto-update，apt-add 仍會自動更新的問題。
修正了一些其他瑕疵。
-p 過濾器只會影響到使用者輸入的內容。

0.5.3 Download：

請至 Apt-Add Downloads @ Google Code 下載。

0.5.2 Change Log (091027)：

修正了使用 -e 執行選項會發生錯誤的問題。
修正了第一次建立靜態執行選項儲存檔案時會發生錯誤的問題。

0.5.2 Download：

請至 Apt-Add Downloads @ Google Code 下載。

0.5.1 Change Log (091017)：

修正了當沒有參數傳入時會顯示的錯誤訊息。
修正了取代 (replace) 功能的錯誤。

0.5.1 Download：

請至 Apt-Add Downloads @ Google Code 下載。

0.5 Change Log (091017)：

增加副命令 seek、replace、backup 及 recover。
增加執行選項 --auto-add-keys、--auto-update、-c (--convert-codename)。
修改了一些執行選項的名字。
修改了靜態選項的解析方式。現在不強制一行一個選項，而是將換行字元視作空白處理。
修正了在 sourceparse.py 中一個解析 action 的 bug。

0.5 Download：

請至 Apt-Add Downloads @ Google Code 下載。

0.4 Change Log (091003)：

增加 -p (--path-filter) 執行選項，可以從資料夾中過濾出你想要得檔案。使用正規式當作參數，例如 '.*' 代表符合所有字串。
無法使用 &lt;source line&gt; -f 懶惰新增來源列的問題已經排除了。

　　0.3.1 to 0.4 的其他變動：

增加 -m (--from) 及 -t (--to) 執行選項，可以將所有列表的某字串 &lt;-m&gt; 取代為另一個字串 &lt;-t&gt;。
增加 -b (--to-backup) 執行選項，可以指定複數列表進行匯出，以 ',' 隔開。
使用新的底層結構，大幅提昇核對來源列的速度。
暫時移除 -a (--adv-arg-parser) 執行選項。
 修復一些不影響功能的 bug。

0.4 Download：

請至 Apt-Add Downloads @ Google Code 下載。

0.4 beta Change Log (090927)：

增加 -m (--from) 及 -t (--to) 執行選項，可以將所有列表的某字串 &lt;-m&gt; 取代為另一個字串 &lt;-t&gt;。
增加 -b (--to-backup) 執行選項，可以指定複數列表進行匯出，以 ',' 隔開。
使用新的底層結構，大幅提昇核對來源列的速度。
暫時移除 -a (--adv-arg-parser) 執行選項。
 修復一些不影響功能的 bug。

0.4 beta Download：

請至 Apt-Add Downloads @ Google Code 下載。

0.3.1 Change Log (090909)：

修復當 action 套件含有 . 時會無法正確解析的錯誤。
提供 python2.5 上執行的版本，仍為 alpha，如有任何問題還請回報。

0.3.1 Download：

「apt-add&nbsp; 0.3.1」- Dropbox 下載
檔案名稱：apt-add_0.3.1_all.deb (deb 包裹)
檔案大小：11.4 KB
檔案MD5：3106075cd2d4b0475533bbed882680be

0.3.1 lite Download：

「apt-add&nbsp; 0.3.1 lite」- Dropbox 下載
檔案名稱：apt-add_0.3.1~lite_all.deb (deb 包裹)
檔案大小：8.5 KB
檔案MD5：7d84ae2e74401ab0175e7cfdb47bc51f 

0.3.1 python2.5 Download：

「apt-add&nbsp; 0.3.1 python2.5」- Dropbox 下載
檔案名稱：apt-add_0.3.1~python2.5~alpha_all.deb (deb 包裹)
檔案大小：11.4 KB
檔案MD5：26265a6596f2e2a07660c3dec74913a3

0.3 Change Log (090831)：

改了版號 (爆)，0.3 = 0.3 beta。

　　0.2.4-1 to 0.3 的所有更動：

新增 action 副命令，可以在列表中寫入安裝軟體的註記，以便未來快速重建軟體環境！
新增 -r, --record-only 執行選項，僅將動作註記寫檔案，不執行動作註記。
新增 -a, --adv-arg-parser 執行選項，使用極度模糊的解析器。(來源列不用加引號！)
新增 -d, --delete 執行選項，可以移除您輸入的來源、金鑰或動作註記。
新增 -g, --upgrade 執行選項，執行更新命令。
新增 --upgrade-cmd 執行選項，可以自訂升級命令。
執行選項解析器改為使用 optparse 模組，讓執行選項的使用方法標準化。
錯誤訊息群組化，讓顯示的結果更簡潔。
恢復支援自訂來源列表、列表資料夾、寫入用列表。
使用 -q 時，完全不顯示任何訊息。
--help 原有的版本訊息換成使用 --version 觀看。
改由提供 deb 安裝包裹。
提供不包含中文支援的 lite 版本。
修復靜態執行選項 (~/.apt-add.conf) 無法正確解析的問題。
增加 --action-cmd 執行選項，可以自訂安裝指令。
增加 --dont-record 執行選項，可以不紀錄傳入的動作註記。

0.3 Download：

「apt-add&nbsp; 0.3」- Dropbox 下載
檔案名稱：apt-add_0.3_all.deb (deb 包裹)
檔案大小：11.4 KB
檔案MD5：ace94f62792964cea0e3525c2c885eec

0.3 lite Download：

「apt-add&nbsp; 0.3 lite」- Dropbox 下載
檔案名稱：apt-add_0.3~lite_all.deb (deb 包裹)
檔案大小：8.5 KB
檔案MD5：ca3eb7c939d7e627422f8b2d0d5893e1

0.3 beta Change Log (090830)：

修復靜態執行選項 (~/.apt-add.conf) 無法正確解析的問題。
增加 --action-cmd 執行選項，可以自訂安裝指令。
增加 --dont-record 執行選項，可以不紀錄傳入的動作註記。

0.3 beta Download：

(測試版結束測試後恕不提供下載。)

0.3 beta lite Download：



(測試版結束測試後恕不提供下載。)



0.3 alpha3 Change Log (090830)：

新增 action 副命令，可以在列表中寫入安裝軟體的註記，以便未來快速重建軟體環境！
新增 -r, --record-only 執行選項，僅將動作註記寫檔案，不執行動作註記。
新增 -a, --adv-arg-parser 執行選項，使用極度模糊的解析器。(來源列不用加引號！)
新增 -d, --delete 執行選項，可以移除您輸入的來源、金鑰或動作註記。
新增 -g, --upgrade 執行選項，執行更新命令。
新增 --upgrade-cmd 執行選項，可以自訂升級命令。
執行選項解析器改為使用 optparse 模組，讓執行選項的使用方法標準化。
錯誤訊息群組化，讓顯示的結果更簡潔。
恢復支援自訂來源列表、列表資料夾、寫入用列表。
使用 -q 時，完全不顯示任何訊息。
--help 原有的版本訊息換成使用 --version 觀看。
改由提供 deb 安裝包裹。
提供不包含中文支援的 lite 版本。

0.3 alpha3 Download：



(測試版結束測試後恕不提供下載。)



0.3 alpha3 lite Download：

(測試版結束測試後恕不提供下載。)

0.2.4-1 Change Log (090814)：

修復不會自動建立 apt-add.list 的問題。
翻譯檔部份文句修正。

0.2.4-1 Download：

「apt-add&nbsp; 0.2.4-1」- MediaFire 下載
檔案名稱：apt-add-0.2.4-1-installer.tar.bz2 (tar 封裝，bz2 壓縮檔)
檔案大小：壓縮包 11.2 KB，解壓縮後 61.8 KB
檔案MD5：b7dc4abec3d2a734f0648cfe3b9a584a

0.2.4 Change Log (090813)：

由原本 Python 辭典的方式，改為使用 gettext 實現多國文字訊息。
解析檔案的底層替換為重新編寫過的 source parse，以及副函數庫 path ext。
流程控制、新增金鑰、新增來源列及匯出匯入等功能重新建構。
在偵測到來源以含相同來源列，僅被註解時，可以自動解除註解。
可以使用 ~/.apt-add.conf 來自訂靜態執行選項。
將程式訊息修改的更人性化一些。
將可能造成 apt 錯誤，以及累贅的執行選項取消。

0.2.4 Download：

「apt-add&nbsp; 0.2.4」- MediaFire 下載
檔案名稱：apt-add-0.2.4-installer.tar.bz2 (tar 封裝，bz2 壓縮檔)
檔案大小：壓縮包 11.0 KB，解壓縮後 59.8 KB
檔案MD5：4b45d9eaa3dd95d84b38d437b8ff01e1

0.2.3 Change Log (090801)：

修正 -fu 同時使用不會自動更新的問題。

0.2.3 Download：

「apt-add&nbsp; 0.2.3」- MediaFire 下載
檔案名稱：apt-add-0.2.3-installer.tar.bz2 (tar 封裝，bz2 壓縮檔)
檔案大小：壓縮包 7.3 KB，解壓縮後 21.3 KB
檔案MD5：d4b4db1d88783e791895f8c4b408b337

0.2.2 Change Log (090717)：

主要流程重新設計，-f 可以在更新完來源列後補上遺失金鑰。
加入金鑰顯示錯誤時，不會將空白去除。

0.2.2 Download：

「apt-add&nbsp; 0.2.2」- MediaFire 下載
檔案名稱：apt-add-0.2.2-installer.tar.bz2 (tar 封裝，bz2 壓縮檔)
檔案大小：壓縮包 7.3 KB，解壓縮後 21.3 KB
檔案MD5：c23f3e2c829a6882c5f6a7446e07fd7a

0.2.1 Change Log (090715)：

修正來源列檢查機制，允許較長來源列，及允許來源列附帶註解。
增加中文訊息版本及英文安裝腳本。
增強了來源列的過濾機制。
新增副命令 import，可以從多個檔案匯入金鑰指紋及來源列。
新增副命令 export，可以將套件庫內的金鑰指紋和來源列匯出。
副命令 (key | source) 可以搭配 -i= 可以從檔案匯入特定資訊。
使用 -e= 可以在資料新增完畢後再做匯出的動作。
使用 -c 可以關閉 apt-add 的資料過濾器，輸入/出什麼就寫進/入什麼。
增加來源列重複檢查機制，可以利用 -c 關閉。
新增訊息快取功能，可以讓顯示的資料精簡些，可以使用 -d 顯示詳細訊息。
預設關閉一些不重要的訊息，可以透過 -v 顯示所有的訊息。

0.2.1 Download：

「apt-add&nbsp; 0.2.1」- MediaFire 下載
檔案名稱：apt-add-0.2.1-installer.tar.lzma (tar 封裝，lzma 壓縮檔)
檔案大小：壓縮包 6.8 KB，解壓縮後 21.2 KB
檔案MD5：89a92d3afa8edd36034b4e48714c8a20


「apt-add 0.2.1」- MediaFire 下載
檔案名稱：apt-add-0.2.1-installer.tar.bz2 (tar 封裝，bz2 壓縮檔)
檔案大小：壓縮包 7.2 KB，解壓縮後 21.2 KB
檔案MD5：2953c058e71f56e08daf150c89a5926d

0.2 Change Log (090713)：

可以從包含金鑰指紋的字串中擷取出金鑰。
不下副命令 (key | source) 的情況下，會自動分析參數，並呼叫對應功能。
寫入來源列時，會在註解顯示詳細加入時間。
更改預設來源列的寫入檔案為： /etc/apt/sources.list.d/apt-add.list。
增加了許多執行選項，可以用 -h 看到詳細資訊。
使用 -u 執行選項來決定是否在程式執行完畢後更新套件庫。
使用 -f 執行選項可以自動修補套件庫遺失的金鑰。
使用 -q 執行選項可以以靜音模式執行。
使用 -k= 可以設定金鑰伺服器參數，預設 keyserver.ubuntu.com。
使用 -a= 可以設定要寫入的 apt 來源列表檔案，預設 /etc/apt/sources.list.d/apt-add.list。

0.2 Download：

「apt-add&nbsp; 0.2」- MediaFire 下載
檔案名稱：apt-add-0.2-installer.tar.lzma (tar 封裝，lzma 壓縮檔)
檔案大小：壓縮包 3.9 KB，解壓縮後 9.6 KB
檔案MD5：6b82977f312b2817de9c2ce01b891d43


「apt-add 0.2」- MediaFire 下載
檔案名稱：apt-add-0.2-installer.tar.bz2 (tar 封裝，bz2 壓縮檔)
檔案大小：壓縮包 4.2 KB，解壓縮後 9.6 KB
檔案MD5：47515348090925352d697cde9f9343d2

0.1.2 Change Log (090711)：

修正不允許 16 位金鑰指紋的錯誤。

0.1.2 Download：

「apt-add&nbsp; 0.1.2」- MediaFire 下載
檔案名稱：apt-add-0.1.2-installer.tar.lzma (tar 封裝，lzma 壓縮檔)
檔案大小：壓縮包 1.9 KB，解壓縮後 3.9 KB
檔案MD5：eaef3cad84a7c293b16ae1f17db23f94


「apt-add 0.1.2」- MediaFire 下載
檔案名稱：apt-add-0.1.2-installer.tar.bz2 (tar 封裝，bz2 壓縮檔)
檔案大小：壓縮包 2.1 KB，解壓縮後 3.9 KB
檔案MD5：e65e05fc903cfda3a6cf14b7337b1653

0.1.1 Change Log (090710)：

允許 0x12345678 這種格式的金鑰指紋。
不輸入副命令時會顯示 apt-add 的版本。

0.1.1 Download：

「apt-add&nbsp; 0.1.1」- MediaFire 下載
檔案名稱：apt-add-0.1.1-installer.tar.lzma (tar 封裝，lzma 壓縮檔)
檔案大小：壓縮包 1.8 KB，解壓縮後 3.8 KB
檔案MD5：0b138f72529ecae98b35ef2d98b9eb31


「apt-add 0.1.1」- MediaFire 下載
檔案名稱：apt-add-0.1.1-installer.tar.bz2 (tar 封裝，bz2 壓縮檔)
檔案大小：壓縮包 2.1 KB，解壓縮後 3.8 KB
檔案MD5：fbcdf92a4f49f121dfd141d69afeceef

0.1 Download (090709)：

「apt-add-installer 0.1」- MediaFire 下載
檔案名稱：apt-add-installer.tar.lzma (tar 封裝，lzma 壓縮檔)
檔案大小：壓縮包 1.8 KB，解壓縮後 3.8 KB
檔案MD5：e045a5cb08c64ee28b064b76650818bb


「apt-add-installer 0.1」- MediaFire 下載
檔案名稱：apt-add-installer.tar.bz2 (tar 封裝，bz2 壓縮檔)
檔案大小：壓縮包 2.1 KB，解壓縮後 3.8 KB
檔案MD5：81cd675d5956839f21493277721ffce0


]]></summary>
    <content type="html"><![CDATA[<p class="title">APT-ADD 介紹簡報 (in Karmic Ubuntu Party)：</p>
<p><iframe src="http://docs.google.com/present/embed?id=dfm33wc4_6c2jms4cf" width="410" height="342" frameborder="0"></iframe></p>
<p>&nbsp;</p>
<p class="title">APT-ADD 快速導引 (0.5.x 適用)：</p>
<p>　　<span style="color: #888888;">碎碎唸：因為家裡的一些關係，如果真的那麼倒楣的話，那這次部落格更新應該是到明年五月前的最後一次更新了 ^^"。</span></p>
<p>　　apt-add 是一個在使用 apt 系統下，<span style="color: #008000;">可以<strong>簡單</strong>並<strong>懶惰</strong>的加入安裝第三方軟體所需的「來源列」以及「金鑰」的 Python 腳本。除了加入/刪除以外，apt-add 在 0.5 版中也支持備份在系統中所有套件的功能，方便在發生問題的時候即刻還原 XD！</span><a href="http://code.google.com/p/apt-add/downloads/list" target="_blank"><span style="font-size: 12pt;">請按這裡下載最新版！</span></a></p>
<p>　　一般要安裝由第三方來源所提供的軟體時，以 Ubuntu 的 GUI 來說，必須從「系統/軟體來源」進行繁複的增加來源列或金鑰的動作，只有一些的時候還不算太麻煩。<span style="color: #008000;">但如果要同時增加很多的來源列及金鑰，增加來源列或金鑰就是一場惡夢了 XD</span>。<span style="color: #888888;"> (比方說拿到別人的來源列表，不想動到原有來源列的時候。)</span> 以 CLI 來說，如果不含別名的使用，增加來源列或金鑰則需要下面的指令：</p>
<blockquote>sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 12345678 ABCDEF12 ... #金鑰<br />echo 'deb http://a.source.line version section' &gt;&gt; /etc/apt/sources.list #來源列</blockquote>
<p>　　以上的指令都非常的「長」，打起來很累人。<span style="color: #008000;">雖然說比 GUI 愉快很多，但量多的時候也是很痛苦的一件事情。</span><strong><span style="color: #008000;">apt-add 就是為了讓增加第三方來源變得輕鬆愉快而存在的 XD。</span></strong></p>
<p>　　apt-add 模仿了 apt-* 的指令，執行時<span style="color: #008000;">通常需要一個副命令</span> <span style="color: #888888;">(副命令其實也是可以捨去的，詳請見後面說明。)</span>，目前支援的副命令如下：</p>
<ul>
<li><span style="color: #008000;">key</span>: 以金鑰 ids <span style="color: #808080;">(8 hex)</span>、long ids <span style="color: #808080;">(16 hex)</span>、finger prints <span style="color: #808080;">(40 hex)</span> 從金鑰伺服器匯入金鑰。</li>
<li><span style="color: #008000;">source</span>: 以標準的來源列格式匯入來源列，</li>
<li><span style="color: #008000;">action</span>: 以標準的 aptitude 安裝/移除/清除命令當作參數，除了更動軟體以外，會在列表中紀錄註記，方便日後還原。<span style="color: #888888;">([package][+-_]，+ 安裝、- 移除、_徹底移除。)</span> <span style="color: #333399;">(0.3 以上)</span></li>
<li><span style="color: #008000;">import</span>: 將 apt-add 可解析的備份副本匯入<span style="color: #808080;"> (一般的 sources.list 即可，金鑰可用註解方式寫入)</span>。</li>
<li><span style="color: #008000;">export</span>: 匯出 apt-add 可解析的來源列與金鑰的備份副本。</li>
<li><span style="color: #008000;">seek</span>:以一個或多個正規式搜尋所有來源列表。<span style="color: #333399;">(0.5 以上)</span></li>
<li><span style="color: #008000;">replace</span>: 將來源列表中的某個值取代成為另一個值。<span style="color: #333399;">(0.5 以上)</span></li>
<li><span style="color: #008000;">backup</span>: 匯出系統中的套件列表。<span style="color: #333399;">(0.5 以上)</span></li>
<li><span style="color: #008000;">recover</span>: 將系統還原回套件列表記載的狀態。<span style="color: #333399;">(0.5 以上)</span></li>
</ul>
<p>　　基礎用法介紹：</p>
<blockquote><span style="color: #ff6600;">sudo apt-add key 12345678 ABCDEF12 ...<br />sudo apt-add source 'deb http://a.source.line version section' ...<br />sudo apt-add action p7zip-full+ audacious+ pitivi+ [package][+-_] ...<br />sudo apt-add import backup1.list backup2.list ...<br />sudo apt-add export a-backup.list #同時僅能匯出至一個檔案</span><br />sudo apt-add seek openoffice<br />sudo apt-add replace jaunty karmic<br />sudo apt-add backup packages.list<br />sudo apt-add recover packages.list<br /><br /></blockquote>
<p>　　當然，為了讓大家可以更方便的使用，<span style="color: #008000;">在<strong>不輸入副命令</strong>的情況，其實 apt-add 也是可以運作的</span>。在不使用副命令的情況，<span style="color: #008000;">apt-add 會看參數資料自動將參數歸類為 key 、 source 或 action！</span>比方說：</p>
<blockquote>sudo apt-add <strong><span style="color: #800000;">12345678</span>&nbsp; 'deb http://a.source.line version section' <span style="color: #ff6600;">p7zip-full+</span> <span style="color: #800000;">ABCDEF12</span></strong> ...</blockquote>
<p>　　除了這樣，有時候提供來源列或金鑰的網站不是那麼的友善，要複製到恰好的金鑰 id/long id/fp 不是那麼的容易。為此，<span style="color: #008000;">apt-add 也<strong>可以接受模糊的參數</strong></span>，只要一個參數裡面有含可供輸入的資料就行了。apt-add 會利用內建的正規式條件過濾出正確的資料，比方說：</p>
<blockquote>sudo apt-add 'here is the key of software:1024R/<strong>12345678</strong>. and here is ...'</blockquote>
<p>　　在 0.3 以後，apt-add 的來源列表管理功能也進化了一級，除了 0.2.4 以後提供的註解解除和加上的功能以外，也提供了 -d 的執行選項，<span style="color: #008000;">讓您可以移除來源列、金鑰或動作註記</span>。比方說：</p>
<blockquote>sudo apt-add 'here is the key of software:1024R/<strong>12345678</strong>. ...' <strong>-d</strong><br /></blockquote>
<p>　　在 0.5 以後，更提供了 seek、replace 這兩個副命令來讓管理眾多的來源列表更加容易。</p>
<blockquote>sudo apt-add <strong>seek</strong> <span style="color: #008000;">openoffice</span> #搜尋含有 openoffice 這個關鍵字的來源列<br />sudo apt-add <strong>replace</strong> <span style="color: #008000;">jaunty karmic</span> #將給 9.04 使用的來源列轉換成 9.10 也可以用的來源列<br /></blockquote>
<p>　　最後 apt-add 提供了幾個方便的執行選項可以讓大家在使用時更加方便，<span style="color: #008000;">-f (--fix) 、-u (--update)、-g (--upgrade)</span>。<span style="color: #008000;">-f 是啟動<strong>修復遺失金鑰</strong>的執行選項</span>。啟用後，apt-add 會自動搜索套件庫內沒有金鑰的來源列，並自動完成加入的動作。<span style="color: #008000;">-u 則是方便使用者<strong>不需要再多打指令即可安裝</strong>。</span>下完 apt-add 之後就自動更新套件庫，接著就可安裝需要的軟體。<span style="color: #008000;">-g 是因為 apt-get 要打兩行才能升級系統，真的非常麻煩而生的懶惰選項 XDD。</span>以下是範例：</p>
<blockquote>sudo apt-add <strong>-f</strong><br />sudo apt-add 'deb http://a.source.line version section' <strong>-u<br /></strong>sudo apt-add <strong>-ug</strong> <span style="color: #808080;">#更新之後升級系統<br /></span>sudo apt-add 'deb http://a.source.line version section' <strong>-ug </strong> <span style="color: #808080;">#增加來源列後更新並升級系統</span></blockquote>
<p>　　從 -f 可以衍生出一個更懶惰的功能，就是<span style="color: #008000;">在增加來源列時，<strong>後面加上 -f，這樣就不用另外再添加金鑰</strong></span>，apt-add 自動搞定 XD (不過這樣會跑的比較慢)。比方說：</p>
<blockquote>sudo apt-add 'deb http://a.source.line version section' <strong>-fu</strong></blockquote>
<p>　　在 0.5 以上如果覺得每次還要加 -f 或 -u 是一件很麻煩的事情，apt-add 也提供了 --auto-add-keys 和 --auto-update 的執行選項。<span style="color: #008000;">啟動了自動增加金鑰的選項後，如果你給了來源列卻沒有給金鑰，apt-add 就會自動判斷是不是應該要新增金鑰。啟動了自動更新的執行選項後，有來源列和動作註記或更新時，apt-add 就會自動進行套件庫的更新。</span></p>
<p>　　上面介紹的執行選項很多，如果常常要用，每次都要打也很煩。所以 apt-add 提供了以靜態的方式載入執行選項。<span style="color: #008000;">只要編輯 ~/apt-add.conf 這個檔案，把它當作 apt-add 的參數列來寫就行了，apt-add 會把換行字元視作一個空白。</span></p>
<p>　　另外還有一些其他功能，請參考 apt-add --help 來獲得更多資訊 : )。</p>
<p>　　網誌上有另一帖是給剛使用 apt-add 的朋友有可以快速使用的範例，請<a href="http://moskyat.pixnet.net/blog/post/27952279" target="_blank">點選這裡進入</a>。</p>
<p class="title">未來的 APT-ADD (After 0.6)：</p>
<ul>
<li>0.6 or later 寫出 apt-add 的 GUI！ <span style="color: #800000;">(尚未展開)</span></li>
</ul>
<p class="title">0.5.3 Change Log (091103)：</p>
<ul>
<li>增加了更詳細的副命令說明。</li>
<li>使用 -g 選項，即使沒有啟動 --auto-update，apt-add 仍會自動更新的問題。</li>
<li>修正了一些其他瑕疵。</li>
<li>-p 過濾器只會影響到使用者輸入的內容。</li>
</ul>
<p class="title">0.5.3 Download：</p>
<ul>
<li>請至 <a href="http://code.google.com/p/apt-add/downloads/list" target="_blank">Apt-Add Downloads @ Google Code</a> 下載。</li>
</ul>
<p class="title">0.5.2 Change Log (091027)：</p>
<ul>
<li>修正了使用 -e 執行選項會發生錯誤的問題。</li>
<li>修正了第一次建立靜態執行選項儲存檔案時會發生錯誤的問題。</li>
</ul>
<p class="title">0.5.2 Download：</p>
<ul>
<li>請至 <a href="http://code.google.com/p/apt-add/downloads/list" target="_blank">Apt-Add Downloads @ Google Code</a> 下載。</li>
</ul>
<p class="title">0.5.1 Change Log (091017)：</p>
<ul>
<li>修正了當沒有參數傳入時會顯示的錯誤訊息。</li>
<li>修正了取代 (replace) 功能的錯誤。</li>
</ul>
<p class="title">0.5.1 Download：</p>
<ul>
<li>請至 <a href="http://code.google.com/p/apt-add/downloads/list" target="_blank">Apt-Add Downloads @ Google Code</a> 下載。</li>
</ul>
<p class="title">0.5 Change Log (091017)：</p>
<ul>
<li><span style="color: #008000;">增加副命令 seek、replace、backup 及 recover。</span></li>
<li><span style="color: #008000;">增加執行選項 --auto-add-keys、--auto-update、-c (--convert-codename</span><span style="color: #008000;">)。</span></li>
<li>修改了一些執行選項的名字。</li>
<li><span style="color: #008000;">修改了靜態選項的解析方式。現在不強制一行一個選項，而是將換行字元視作空白處理。</span></li>
<li>修正了在 sourceparse.py 中一個解析 action 的 bug。</li>
</ul>
<p class="title">0.5 Download：</p>
<ul>
<li>請至 <a href="http://code.google.com/p/apt-add/downloads/list" target="_blank">Apt-Add Downloads @ Google Code</a> 下載。</li>
</ul>
<p class="title">0.4 Change Log (091003)：</p>
<ul>
<li><span style="color: #008000;">增加 -p (--path-filter) 執行選項，可以從資料夾中過濾出你想要得檔案。使用正規式當作參數，例如 '.*' 代表符合所有字串。</span></li>
<li><span style="color: #008000;">無法使用 &lt;source line&gt; -f 懶惰新增來源列的問題已經排除了。</span></li>
</ul>
<p class="title"><span style="color: #333399;">　　0.3.1 to 0.4 的其他變動：</span></p>
<ul>
<li><span style="color: #008000;">增加 -m (--from) 及 -t (--to) 執行選項，可以將所有列表的某字串 &lt;-m&gt; 取代為另一個字串 &lt;-t&gt;。<br /></span></li>
<li><span style="color: #008000;">增加 -b (--to-backup) 執行選項，可以指定複數列表進行匯出，以 ',' 隔開。</span></li>
<li><span style="color: #008000;">使用新的底層結構，大幅提昇核對來源列的速度。</span></li>
<li><span style="color: #008000;"><span style="color: #993300;">暫時移除 -a (--adv-arg-parser) 執行選項。</span></span></li>
<li><span style="color: #008000;"> </span>修復一些不影響功能的 bug。</li>
</ul>
<p class="title">0.4 Download：</p>
<ul>
<li>請至 <a href="http://code.google.com/p/apt-add/downloads/list" target="_blank">Apt-Add Downloads @ Google Code</a> 下載。</li>
</ul>
<p class="title">0.4 beta Change Log (090927)：</p>
<ul>
<li><span style="color: #008000;">增加 -m (--from) 及 -t (--to) 執行選項，可以將所有列表的某字串 &lt;-m&gt; 取代為另一個字串 &lt;-t&gt;。<br /></span></li>
<li><span style="color: #008000;">增加 -b (--to-backup) 執行選項，可以指定複數列表進行匯出，以 ',' 隔開。</span></li>
<li><span style="color: #008000;">使用新的底層結構，大幅提昇核對來源列的速度。</span></li>
<li><span style="color: #008000;"><span style="color: #993300;">暫時移除 -a (--adv-arg-parser) 執行選項。</span></span></li>
<li><span style="color: #008000;"> </span>修復一些不影響功能的 bug。</li>
</ul>
<p class="title">0.4 beta Download：</p>
<ul>
<li>請至 <a href="http://code.google.com/p/apt-add/downloads/list" target="_blank">Apt-Add Downloads @ Google Code</a> 下載。</li>
</ul>
<p class="title">0.3.1 Change Log (090909)：</p>
<ul>
<li><span style="color: #008000;">修復當 action 套件含有 . 時會無法正確解析的錯誤。</span></li>
<li>提供 python2.5 上執行的版本，仍為 alpha，如有任何問題還請回報。</li>
</ul>
<p class="title">0.3.1 Download：</p>
<ul>
<li>「<a href="http://dl.getdropbox.com/u/1769146/apt-add/apt-add_0.3.1_all.deb" target="_blank">apt-add&nbsp; 0.3.1</a>」- Dropbox 下載</li>
<li>檔案名稱：<span style="color: #ff6600;">apt-add_0.3.1_all.deb</span> <span style="color: #808080;">(deb 包裹)</span></li>
<li>檔案大小：<span style="color: #008000;">11.4 KB</span></li>
<li>檔案MD5：<span style="color: #333399;">3106075cd2d4b0475533bbed882680be</span></li>
</ul>
<p class="title">0.3.1 <strong>lite</strong> Download：</p>
<ul>
<li>「<a href="http://dl.getdropbox.com/u/1769146/apt-add/apt-add_0.3.1%7Elite_all.deb" target="_blank">apt-add&nbsp; 0.3.1 lite</a>」- Dropbox 下載</li>
<li>檔案名稱：<span style="color: #ff6600;">apt-add_0.3.1~lite_all.deb</span> <span style="color: #808080;">(deb 包裹)</span></li>
<li>檔案大小：<span style="color: #008000;">8.5 KB</span></li>
<li>檔案MD5：<span style="color: #333399;">7d84ae2e74401ab0175e7cfdb47bc51f </span></li>
</ul>
<p class="title">0.3.1 <strong>python2.5</strong> Download：</p>
<ul>
<li>「<a href="http://dl.getdropbox.com/u/1769146/apt-add/apt-add_0.3.1%7Epython2.5%7Ealpha_all.deb" target="_blank">apt-add&nbsp; 0.3.1 python2.5</a>」- Dropbox 下載</li>
<li>檔案名稱：<span style="color: #ff6600;">apt-add_0.3.1~python2.5~alpha_all.deb</span> <span style="color: #808080;">(deb 包裹)</span></li>
<li>檔案大小：<span style="color: #008000;">11.4 KB</span></li>
<li>檔案MD5：<span style="color: #333399;">26265a6596f2e2a07660c3dec74913a3</span></li>
</ul>
<p class="title">0.3 Change Log (090831)：</p>
<ul>
<li>改了版號 (爆)，<strong>0.3 = 0.3 beta</strong>。</li>
</ul>
<p>　　<span style="color: #333399;">0.2.4-1 to 0.3 的所有更動：</span></p>
<ul>
<li><strong><span style="color: #008000;">新增 action 副命令，可以在列表中寫入安裝軟體的註記，以便未來快速重建軟體環境！</span></strong></li>
<li>新增 -r, --record-only 執行選項，僅將動作註記寫檔案，不執行動作註記。</li>
<li><span style="color: #008000;">新增 -a, --adv-arg-parser 執行選項，使用極度模糊的解析器</span>。<strong><span style="color: #888888;">(來源列不用加引號！)</span></strong></li>
<li><span style="color: #008000;">新增 -d, --delete 執行選項，可以移除您輸入的來源、金鑰或動作註記。</span></li>
<li>新增 -g, --upgrade 執行選項，執行更新命令。</li>
<li>新增 --upgrade-cmd 執行選項，可以自訂升級命令。</li>
<li><span style="color: #008000;">執行選項解析器改為使用 optparse 模組，讓執行選項的使用方法標準化。</span></li>
<li>錯誤訊息群組化，讓顯示的結果更簡潔。</li>
<li><span style="color: #008000;">恢復支援自訂來源列表、列表資料夾、寫入用列表。</span></li>
<li>使用 -q 時，完全不顯示任何訊息。</li>
<li>--help 原有的版本訊息換成使用 --version 觀看。</li>
<li><span style="color: #008000;">改由提供 deb 安裝包裹。</span></li>
<li><span style="color: #008000;">提供不包含中文支援的 lite 版本。</span></li>
<li><span style="color: #008000;">修復靜態執行選項 (~/.apt-add.conf) 無法正確解析的問題。</span></li>
<li><span style="color: #008000;">增加 --action-cmd 執行選項，可以自訂安裝指令。</span></li>
<li>增加 --dont-record 執行選項，可以不紀錄傳入的動作註記。</li>
</ul>
<p class="title">0.3 Download：</p>
<ul>
<li>「<a href="http://dl.getdropbox.com/u/1769146/apt-add/apt-add_0.3_all.deb" target="_blank">apt-add&nbsp; 0.3</a>」- Dropbox 下載</li>
<li>檔案名稱：<span style="color: #ff6600;">apt-add_0.3_all.deb</span> <span style="color: #808080;">(deb 包裹)</span></li>
<li>檔案大小：<span style="color: #008000;">11.4 KB</span></li>
<li>檔案MD5：<span style="color: #333399;">ace94f62792964cea0e3525c2c885eec</span></li>
</ul>
<p class="title">0.3 <strong>lite</strong> Download：</p>
<ul>
<li>「<a href="http://dl.getdropbox.com/u/1769146/apt-add/apt-add_0.3%7Elite_all.deb" target="_blank">apt-add&nbsp; 0.3 lite</a>」- Dropbox 下載</li>
<li>檔案名稱：<span style="color: #ff6600;">apt-add_0.3~lite_all.deb</span> <span style="color: #808080;">(deb 包裹)</span></li>
<li>檔案大小：<span style="color: #008000;">8.5 KB</span></li>
<li>檔案MD5：<span style="color: #333399;">ca3eb7c939d7e627422f8b2d0d5893e1</span></li>
</ul>
<p class="title">0.3 beta Change Log (090830)：</p>
<ul>
<li><span style="color: #008000;">修復靜態執行選項 (~/.apt-add.conf) 無法正確解析的問題。</span></li>
<li><span style="color: #008000;">增加 --action-cmd 執行選項，可以自訂安裝指令。</span></li>
<li>增加 --dont-record 執行選項，可以不紀錄傳入的動作註記。</li>
</ul>
<p class="title">0.3 beta Download：</p>
<ul>
<li><em>(測試版結束測試後恕不提供下載。)</em></li>
</ul>
<p class="title">0.3 beta <strong>lite</strong> Download：</p>
<ul>
</ul>
<ul>
<li><em>(測試版結束測試後</em><em>恕</em><em>不提供下載。)</em></li>
</ul>
<ul>
</ul>
<p class="title">0.3 alpha3 Change Log (090830)：</p>
<ul>
<li><strong><span style="color: #008000;">新增 action 副命令，可以在列表中寫入安裝軟體的註記，以便未來快速重建軟體環境！</span></strong></li>
<li>新增 -r, --record-only 執行選項，僅將動作註記寫檔案，不執行動作註記。</li>
<li><span style="color: #008000;">新增 -a, --adv-arg-parser 執行選項，使用極度模糊的解析器</span>。<strong><span style="color: #888888;">(來源列不用加引號！)</span></strong></li>
<li><span style="color: #008000;">新增 -d, --delete 執行選項，可以移除您輸入的來源、金鑰或動作註記。</span></li>
<li>新增 -g, --upgrade 執行選項，執行更新命令。</li>
<li>新增 --upgrade-cmd 執行選項，可以自訂升級命令。</li>
<li><span style="color: #008000;">執行選項解析器改為使用 optparse 模組，讓執行選項的使用方法標準化。</span></li>
<li>錯誤訊息群組化，讓顯示的結果更簡潔。</li>
<li><span style="color: #008000;">恢復支援自訂來源列表、列表資料夾、寫入用列表。</span></li>
<li>使用 -q 時，完全不顯示任何訊息。</li>
<li>--help 原有的版本訊息換成使用 --version 觀看。</li>
<li><span style="color: #008000;">改由提供 deb 安裝包裹。</span></li>
<li><span style="color: #008000;">提供不包含中文支援的 lite 版本。</span></li>
</ul>
<p class="title">0.3 alpha3 Download：</p>
<ul>
</ul>
<ul>
<li><em>(測試版結束測試後</em><em>恕</em><em>不提供下載。)</em></li>
</ul>
<ul>
</ul>
<p class="title">0.3 alpha3 <strong>lite</strong> Download：</p>
<ul>
<li><em>(測試版結束測試後</em><em>恕</em><em>不提供下載。)</em></li>
</ul>
<p class="title">0.2.4-1 Change Log (090814)：</p>
<ul>
<li><span style="color: #008000;">修復不會自動建立 apt-add.list 的問題。</span></li>
<li>翻譯檔部份文句修正。</li>
</ul>
<p class="title">0.2.4-1 Download：</p>
<ul>
<li>「<a href="http://www.mediafire.com/download.php?zy0kwvbjm1r" target="_blank">apt-add&nbsp; 0.2.4-1</a>」- MediaFire 下載</li>
<li>檔案名稱：<span style="color: #ff6600;">apt-add-0.2.4-1-installer.tar.bz2</span> <span style="color: #808080;">(tar 封裝，bz2 壓縮檔)</span></li>
<li>檔案大小：<span style="color: #008000;">壓縮包 11.2 KB，解壓縮後 61.8 KB</span></li>
<li>檔案MD5：<span style="color: #333399;">b7dc4abec3d2a734f0648cfe3b9a584a</span></li>
</ul>
<p class="title">0.2.4 Change Log (090813)：</p>
<ul>
<li><span style="color: #008000;">由原本 Python 辭典的方式，改為使用 gettext 實現多國文字訊息。</span></li>
<li>解析檔案的底層替換為重新編寫過的 source parse，以及副函數庫 path ext。</li>
<li>流程控制、新增金鑰、新增來源列及匯出匯入等功能重新建構。</li>
<li>在偵測到來源以含相同來源列，僅被註解時，可以自動解除註解。</li>
<li><span style="color: #008000;">可以使用 ~/.apt-add.conf 來自訂靜態執行選項。</span></li>
<li>將程式訊息修改的更人性化一些。</li>
<li>將可能造成 apt 錯誤，以及累贅的執行選項取消。</li>
</ul>
<p class="title">0.2.4 Download：</p>
<ul>
<li>「<a href="http://www.mediafire.com/download.php?0n2mtnvjwty" target="_blank">apt-add&nbsp; 0.2.4</a>」- MediaFire 下載</li>
<li>檔案名稱：<span style="color: #ff6600;">apt-add-0.2.4-installer.tar.bz2</span> <span style="color: #808080;">(tar 封裝，bz2 壓縮檔)</span></li>
<li>檔案大小：<span style="color: #008000;">壓縮包 11.0 KB，解壓縮後 59.8 KB</span></li>
<li>檔案MD5：<span style="color: #333399;">4b45d9eaa3dd95d84b38d437b8ff01e1</span></li>
</ul>
<p class="title">0.2.3 Change Log (090801)：</p>
<ul>
<li>修正 -fu 同時使用不會自動更新的問題。</li>
</ul>
<p class="title">0.2.3 Download：</p>
<ul>
<li>「<a href="http://www.mediafire.com/download.php?yxmhmjhd2d2" target="_blank">apt-add&nbsp; 0.2.3</a>」- MediaFire 下載</li>
<li>檔案名稱：<span style="color: #ff6600;">apt-add-0.2.3-installer.tar.bz2</span> <span style="color: #808080;">(tar 封裝，bz2 壓縮檔)</span></li>
<li>檔案大小：<span style="color: #008000;">壓縮包 7.3 KB，解壓縮後 21.3 KB</span></li>
<li>檔案MD5：<span style="color: #333399;">d4b4db1d88783e791895f8c4b408b337</span></li>
</ul>
<p class="title">0.2.2 Change Log (090717)：</p>
<ul>
<li>主要流程重新設計，-f 可以在更新完來源列後補上遺失金鑰。</li>
<li>加入金鑰顯示錯誤時，不會將空白去除。</li>
</ul>
<p class="title">0.2.2 Download：</p>
<ul>
<li>「<a href="http://www.mediafire.com/download.php?jjrmmnnhtqd" target="_blank">apt-add&nbsp; 0.2.2</a>」- MediaFire 下載</li>
<li>檔案名稱：<span style="color: #ff6600;">apt-add-0.2.2-installer.tar.bz2</span> <span style="color: #808080;">(tar 封裝，bz2 壓縮檔)</span></li>
<li>檔案大小：<span style="color: #008000;">壓縮包 7.3 KB，解壓縮後 21.3 KB</span></li>
<li>檔案MD5：<span style="color: #333399;">c23f3e2c829a6882c5f6a7446e07fd7a</span></li>
</ul>
<p class="title">0.2.1 Change Log (090715)：</p>
<ul>
<li>修正來源列檢查機制，允許較長來源列，及允許來源列附帶註解。</li>
<li><strong>增加中文訊息版本及英文安裝腳本。</strong></li>
<li>增強了來源列的過濾機制。</li>
<li><strong><span style="color: #008000;">新增副命令 import，可以從多個檔案匯入金鑰指紋及來源列。</span></strong></li>
<li><strong><span style="color: #008000;">新增副命令 export，可以將套件庫內的金鑰指紋和來源列匯出。</span></strong></li>
<li><strong>副命令 (key | source) 可以搭配 -i= 可以從檔案匯入特定資訊。</strong></li>
<li>使用 -e= 可以在資料新增完畢後再做匯出的動作。</li>
<li>使用 -c 可以關閉 apt-add 的資料過濾器，輸入/出什麼就寫進/入什麼。</li>
<li><strong>增加來源列重複檢查機制，可以利用 -c 關閉。</strong></li>
<li>新增訊息快取功能，可以讓顯示的資料精簡些，可以使用 -d 顯示詳細訊息。</li>
<li>預設關閉一些不重要的訊息，可以透過 -v 顯示所有的訊息。</li>
</ul>
<p class="title">0.2.1 Download：</p>
<ul>
<li>「<a href="http://www.mediafire.com/download.php?qgzv2yn2mmz" target="_blank">apt-add&nbsp; 0.2.1</a>」- MediaFire 下載</li>
<li>檔案名稱：<span style="color: #ff6600;">apt-add-0.2.1-installer.tar.lzma</span> <span style="color: #808080;">(tar 封裝，lzma 壓縮檔)</span></li>
<li>檔案大小：<span style="color: #008000;">壓縮包 6.8 KB，解壓縮後 21.2 KB</span></li>
<li>檔案MD5：<span style="color: #333399;">89a92d3afa8edd36034b4e48714c8a20</span></li>
</ul>
<ul>
<li>「<a href="http://www.mediafire.com/download.php?yi0y4jitjiy" target="_blank">apt-add 0.2.1</a>」- MediaFire 下載</li>
<li>檔案名稱：<span style="color: #ff6600;">apt-add-0.2.1-installer.tar.bz2</span> <span style="color: #808080;">(tar 封裝，bz2 壓縮檔)</span></li>
<li>檔案大小：<span style="color: #008000;">壓縮包 7.2 KB，解壓縮後 21.2 KB</span></li>
<li>檔案MD5：<span style="color: #333399;">2953c058e71f56e08daf150c89a5926d</span></li>
</ul>
<p class="title">0.2 Change Log (090713)：</p>
<ul>
<li><strong><span style="color: #008000;">可以從包含金鑰指紋的字串中擷取出金鑰。</span></strong></li>
<li><strong><span style="color: #008000;">不下副命令 (key | source) 的情況下，會自動分析參數，並呼叫對應功能。</span></strong></li>
<li>寫入來源列時，會在註解顯示詳細加入時間。</li>
<li><strong>更改預設來源列的寫入檔案為： /etc/apt/sources.list.d/apt-add.list。</strong></li>
<li>增加了許多執行選項，可以用 -h 看到詳細資訊。</li>
<li>使用 -u 執行選項來決定是否在程式執行完畢後更新套件庫。</li>
<li><strong><span style="color: #008000;">使用 -f 執行選項可以自動修補套件庫遺失的金鑰。</span></strong></li>
<li>使用 -q 執行選項可以以靜音模式執行。</li>
<li>使用 -k= 可以設定金鑰伺服器參數，預設 keyserver.ubuntu.com。</li>
<li>使用 -a= 可以設定要寫入的 apt 來源列表檔案，<br />預設 /etc/apt/sources.list.d/apt-add.list。</li>
</ul>
<p class="title">0.2 Download：</p>
<ul>
<li>「<a href="http://www.mediafire.com/download.php?dykdonzdzzt" target="_blank">apt-add&nbsp; 0.2</a>」- MediaFire 下載</li>
<li>檔案名稱：<span style="color: #ff6600;">apt-add-0.2-installer.tar.lzma</span> <span style="color: #808080;">(tar 封裝，lzma 壓縮檔)</span></li>
<li>檔案大小：<span style="color: #008000;">壓縮包 3.9 KB，解壓縮後 9.6 KB</span></li>
<li>檔案MD5：<span style="color: #333399;">6b82977f312b2817de9c2ce01b891d43</span></li>
</ul>
<ul>
<li>「<a href="http://www.mediafire.com/download.php?zmrmjfzmyim" target="_blank">apt-add 0.2</a>」- MediaFire 下載</li>
<li>檔案名稱：<span style="color: #ff6600;">apt-add-0.2-installer.tar.bz2</span> <span style="color: #808080;">(tar 封裝，bz2 壓縮檔)</span></li>
<li>檔案大小：<span style="color: #008000;">壓縮包 4.2 KB，解壓縮後 9.6 KB</span></li>
<li>檔案MD5：<span style="color: #333399;">47515348090925352d697cde9f9343d2</span></li>
</ul>
<p class="title">0.1.2 Change Log (090711)：</p>
<ul>
<li>修正不允許 16 位金鑰指紋的錯誤。</li>
</ul>
<p class="title">0.1.2 Download：</p>
<ul>
<li>「<a href="http://www.mediafire.com/download.php?tiynu2v2c0k" target="_blank">apt-add&nbsp; 0.1.2</a>」- MediaFire 下載</li>
<li>檔案名稱：<span style="color: #ff6600;">apt-add-0.1.2-installer.tar.lzma</span> <span style="color: #808080;">(tar 封裝，lzma 壓縮檔)</span></li>
<li>檔案大小：<span style="color: #008000;">壓縮包 1.9 KB，解壓縮後 3.9 KB</span></li>
<li>檔案MD5：<span style="color: #333399;">eaef3cad84a7c293b16ae1f17db23f94</span></li>
</ul>
<ul>
<li>「<a href="http://www.mediafire.com/download.php?zmghuyycyi2" target="_blank">apt-add 0.1.2</a>」- MediaFire 下載</li>
<li>檔案名稱：<span style="color: #ff6600;">apt-add-0.1.2-installer.tar.bz2</span> <span style="color: #808080;">(tar 封裝，bz2 壓縮檔)</span></li>
<li>檔案大小：<span style="color: #008000;">壓縮包 2.1 KB，解壓縮後 3.9 KB</span></li>
<li>檔案MD5：<span style="color: #333399;">e65e05fc903cfda3a6cf14b7337b1653</span></li>
</ul>
<p class="title">0.1.1 Change Log (090710)：</p>
<ul>
<li>允許 0x12345678 這種格式的金鑰指紋。</li>
<li>不輸入副命令時會顯示 apt-add 的版本。</li>
</ul>
<p class="title">0.1.1 Download：</p>
<ul>
<li>「<a href="http://www.mediafire.com/download.php?zxzmhz5eygw" target="_blank">apt-add&nbsp; 0.1.1</a>」- MediaFire 下載</li>
<li>檔案名稱：<span style="color: #ff6600;">apt-add-0.1.1-installer.tar.lzma</span> <span style="color: #808080;">(tar 封裝，lzma 壓縮檔)</span></li>
<li>檔案大小：<span style="color: #008000;">壓縮包 1.8 KB，解壓縮後 3.8 KB</span></li>
<li>檔案MD5：<span style="color: #333399;">0b138f72529ecae98b35ef2d98b9eb31</span></li>
</ul>
<ul>
<li>「<a href="http://www.mediafire.com/download.php?mymtyjnyuo3" target="_self">apt-add 0.1.1</a>」- MediaFire 下載</li>
<li>檔案名稱：<span style="color: #ff6600;">apt-add-0.1.1-installer.tar.bz2</span> <span style="color: #808080;">(tar 封裝，bz2 壓縮檔)</span></li>
<li>檔案大小：<span style="color: #008000;">壓縮包 2.1 KB，解壓縮後 3.8 KB</span></li>
<li>檔案MD5：<span style="color: #333399;">fbcdf92a4f49f121dfd141d69afeceef</span></li>
</ul>
<p class="title">0.1 Download (090709)：</p>
<ul>
<li>「<a href="http://www.mediafire.com/download.php?ggv2am3u3mt" target="_blank">apt-add-installer 0.1</a>」- MediaFire 下載</li>
<li>檔案名稱：<span style="color: #ff6600;">apt-add-installer.tar.lzma</span> <span style="color: #808080;">(tar 封裝，lzma 壓縮檔)</span></li>
<li>檔案大小：<span style="color: #008000;">壓縮包 1.8 KB，解壓縮後 3.8 KB</span></li>
<li>檔案MD5：<span style="color: #333399;">e045a5cb08c64ee28b064b76650818bb</span></li>
</ul>
<ul>
<li>「<a href="http://www.mediafire.com/download.php?2mjqyfyztzd" target="_blank">apt-add-installer 0.1</a>」- MediaFire 下載</li>
<li>檔案名稱：<span style="color: #ff6600;">apt-add-installer.tar.bz2</span> <span style="color: #808080;">(tar 封裝，bz2 壓縮檔)</span></li>
<li>檔案大小：<span style="color: #008000;">壓縮包 2.1 KB，解壓縮後 3.8 KB</span></li>
<li>檔案MD5：<span style="color: #333399;">81cd675d5956839f21493277721ffce0</span></li>
</ul>
<ul style="padding-left: 90px;">
</ul>  <div class="more"><a href="http://moskyat.pixnet.net/blog/post/26260613">(Read More...)</a></div>]]></content>
    <category term="Adjust"/>
    <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://moskyat.pixnet.net/blog/post/26260613#comments</wfw:comment>
  </entry>
  <entry xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <id>http://moskyat.pixnet.net/blog/post/28708971</id>
    <title><![CDATA[做了一個簡報的背景]]></title>
    <updated>2009-11-01T11:24:38+08:00</updated>
    <link rel="alternate" href="http://moskyat.pixnet.net/blog/post/28708971"/>
    <summary><![CDATA[(我不該把大圖擺在上面的，汗)
&nbsp;
 
　　因為下禮拜的講習，正在趕簡報 ing (爆)，因為不是很滿意 OpenOffice 內建的簡報佈景，就自己做了一個，我自己覺得滿好看的 XDD。這是用 GIMP 做的喔，我本來想把製作步驟打上來，可是因為我還有三份資料要做，真的是沒什麼時間寫&nbsp; XD"，也許晚點吧。
　　我嚴重覺得這是因為開始瘋 plurk 的結果，每天看噗就可以看掉一兩個小時，加上夜讀，其實就沒什麼時間做別的東西 XD...。每次想想該做什麼事情，總是有一卡車的事情沒做 -口-。而且重點是都無關學業 XDDDD...，希望忙碌到 12 月初為止，真的要專心看書了，因為我發現北科沒資管給我唸 -口-！所以統測已經不是努力就可以了，而是要超努力才行 XD...。遠望遙遠的 650 分 (嘆) ...。
　　不過其實我還滿享受這種回家開機就是看 mail、回 mail，做東西的日子 XDD。不過好像大部分時間還是被噗掉了，囧。]]></summary>
    <content type="html"><![CDATA[<p>(我不該把大圖擺在上面的，汗)</p>
<p>&nbsp;</p>
<p><img title="background-for-slide-01.png" src="http://pic.pimg.tw/moskyat/4aecfd112e246.png" border="0" alt="background-for-slide-01.png" /> </p>
<p>　　因為下禮拜的講習，正在趕簡報 ing (爆)，因為不是很滿意 OpenOffice 內建的簡報佈景，就自己做了一個，我自己覺得滿好看的 XDD。這是用 GIMP 做的喔，我本來想把製作步驟打上來，可是因為我還有三份資料要做，真的是沒什麼時間寫&nbsp; XD"，也許晚點吧。</p>
<p>　　我嚴重覺得這是因為開始瘋 plurk 的結果，每天看噗就可以看掉一兩個小時，加上夜讀，其實就沒什麼時間做別的東西 XD...。每次想想該做什麼事情，總是有一卡車的事情沒做 -口-。<span><span>而且重點是都無關學業 XDDDD...，希望忙碌到 12 月初為止，真的要專心看書了，因為我發現北科沒資管給我唸 -口-！所以統測已經不是努力就可以了，而是要超努力才行 XD...。</span></span>遠望遙遠的 650 分 (嘆) ...。</p>
<p>　　不過其實我還滿享受這種回家開機就是看 mail、回 mail，做東西的日子 XDD。不過好像大部分時間還是被噗掉了，囧。</p>  <div class="more"><a href="http://moskyat.pixnet.net/blog/post/28708971">(Read More...)</a></div>]]></content>
    <category term="Life"/>
    <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://moskyat.pixnet.net/blog/post/28708971#comments</wfw:comment>
  </entry>
  <entry xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <id>http://moskyat.pixnet.net/blog/post/28507383</id>
    <title><![CDATA[用 gedit、term、firefox coding 會太奢侈嗎 XD？]]></title>
    <updated>2009-10-25T09:34:38+08:00</updated>
    <link rel="alternate" href="http://moskyat.pixnet.net/blog/post/28507383"/>
    <summary><![CDATA[ 
&uarr;coding 時通常的桌面
　　好像很多大大 coding 都只有 vim，我用 gedit、gnome-terminal、firefox 一起寫 code 會不會太奢侈啊 XDD。firefox 是拿來看文件的，term 置頂就很方便了 - w -。其實我也很想只用 vim 就好呢，可是 vim 真的用不太慣，沒必要的時候都還是順手就開了 gedit XD"。
　　話說之前跟 walkingice 大學了 git，結果也是因為習慣因素就一直沒有用 XD"。git 每完成一個部份就要 git add、git commit 覺得有點煩 XD...。code 寫到一半要跳到終端機去做這些事情，感覺就不太舒服 (爆)。所以到現在還是包 package 保存每個版本而已 XD"。我想等 0.5.x 告一個段落後再開始用 git 吧。]]></summary>
    <content type="html"><![CDATA[<p><img title="Screenshot.png" src="http://pic.pimg.tw/moskyat/4ae3ab2554dc3.png" border="0" alt="Screenshot.png" /> </p>
<p><span style="color: #808080;">&uarr;coding 時通常的桌面</span></p>
<p>　　好像很多大大 coding 都只有 vim，我用 gedit、gnome-terminal、firefox 一起寫 code 會不會太奢侈啊 XDD。firefox 是拿來看文件的，term 置頂就很方便了 - w -。其實我也很想只用 vim 就好呢，可是 vim 真的用不太慣，沒必要的時候都還是順手就開了 gedit XD"。</p>
<p>　　話說之前跟 walkingice 大學了 git，結果也是因為習慣因素就一直沒有用 XD"。git 每完成一個部份就要 git add、git commit 覺得有點煩 XD...。code 寫到一半要跳到終端機去做這些事情，感覺就不太舒服 (爆)。所以到現在還是包 package 保存每個版本而已 XD"。我想等 0.5.x 告一個段落後再開始用 git 吧。</p>  <div class="more"><a href="http://moskyat.pixnet.net/blog/post/28507383">(Read More...)</a></div>]]></content>
    <category term="Life"/>
    <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://moskyat.pixnet.net/blog/post/28507383#comments</wfw:comment>
  </entry>
  <entry xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <id>http://moskyat.pixnet.net/blog/post/28365772</id>
    <title><![CDATA[Counterdowner 2.0 - Ubuntu Lucid (10.04) & Karmic (9.10) *消除偏移方法更新]]></title>
    <updated>2009-10-14T21:56:22+08:00</updated>
    <link rel="alternate" href="http://moskyat.pixnet.net/blog/post/28365772"/>
    <summary><![CDATA[
Countdowner 2.0！
　　以上兩個是 Countdowner 2.0 的截圖。在 2.0 用了新的底圖設計，看起來比以前版本的有質感多了 XD。除了底圖重新設計以外，程式碼部份也做了許多改進，像舊版的主程式大約 110 行左右，以一個倒數計時來說實在很多。Countdowner 2.0 的主程式修正到只有 20 行 XDD。(說實話，其實是重寫 XD..。原本那個很多東西寫太死，根本沒辦法複用，是個失敗的東西 - w -..)
　　和舊版一樣，可以觀看距離各個測試版釋出的時間，不過這次沒有一次列出的功能了，改成使用倒數數字兩旁的小箭號移動。
How to use：
　　Google Site 的空間似乎會在檔案裡加上 DHTML 的標籤，已知會造成 Windows 系統無法看到這個倒數計時，經由小魁推薦另一個空間：miroko，這個問題應該可以獲得改善，但是語法必須改成下列的樣子：
＜!-- Countdowner 2.0 Mainly--＞＜script src='http://mosky.miroko.tw/countdowner.js'＞＜/script＞＜!-- Countdowner 2.0 Detail Setting --＞＜script src='http://mosky.miroko.tw/karmic-countdowner-new.js'＞＜/script＞
＜script src='http://mosky.miroko.tw/lucid-countdowner.js'＞＜/script＞
＜!-- Countdowner (C) Mosky &lt;mosky9180@gmail.com&gt; 2009 --＞
　　另外這個空間有每日 2G 的流量上限，不過估計每天至少可以承受兩萬多次的 loading，所以應該沒問題。
　　(Google Site 空間) 新版的把主程式抽離成一個 JS 檔，樣板跟日期設定則在另一個 JS 檔案，所以必須要引入兩個 script：
＜!-- Countdowner 2.0 Mainly--＞＜script src='http://sites.google.com/site/itsmosky/files/countdowner.js'＞＜/script＞＜!-- Countdowner 2.0 Detail Setting --＞＜script src='http://sites.google.com/site/itsmosky/files/karmic-countdowner-new.js'＞＜/script＞
＜script src='http://sites.google.com/site/itsmosky/files/lucid-countdowner.js'＞＜/script＞
＜!-- Countdowner (C) Mosky &lt;mosky9180@gmail.com&gt; 2009 --＞
　　同樣的，請將全形角括弧取代為半形角括弧！細節設定的匯入請挑選一個想要的就可以了，想要一次使用兩個也是可以的。
　　如果不喜歡預設顯示最近測試版發布倒數的話，可以在腳本引入的下面多加上這行指令：
＜script＞karmiccd.output(karmiccd.clearOffset)＜/script＞＜script＞lucidcd.output(lucidcd.clearOffset)＜/script＞＜script＞karmiccd.offset = -1; karmiccd.output()＜/script＞＜script＞lucidcd.offset = -1; lucidcd.output()＜/script＞
　　請視使用的倒數計時決定要用那一個指令 (Karmic 為 9.10；Lucid 為 10.04)。加上指令之後可以消除預設的偏移值，讓每次顯示都固定是距離 Final release 的倒數。
　　如果您願意的話，也可以在倒數計時的下面加上連至本文的超連結，讓別人也可以拿的到這個倒數計時：
＜a style="font-size:8pt" href='http://moskyat.pixnet.net/blog/post/28365772'＞Take one!＜/a＞
　　大致上就是這樣！
Report bugs:
　　請原諒我沒有花太多時間測試這次的程式 XD"。所以如果發生任何 bug，請 mail 至我的信箱，或在本篇回覆，我會盡快修復！]]></summary>
    <content type="html"><![CDATA[<p><img src="http://pic.pimg.tw/moskyat/4ad070749afdf.png" alt="" width="384" height="174" /></p>
<p class="title">Countdowner 2.0！</p>
<p>　　以上兩個是 Countdowner 2.0 的截圖。<span style="color: #008000;">在 2.0 用了新的底圖設計</span>，看起來比以前版本的有質感多了 XD。除了底圖重新設計以外，程式碼部份也做了許多改進，像舊版的主程式大約 110 行左右，以一個倒數計時來說實在很多。<span style="color: #008000;">Countdowner 2.0 的主程式修正到只有 20 行 XDD。<span style="color: #888888;">(說實話，其實是重寫 XD..。原本那個很多東西寫太死，根本沒辦法複用，是個失敗的東西 - w -..)</span></span></p>
<p>　　和舊版一樣，<span style="color: #008000;">可以觀看距離各個測試版釋出的時間</span>，不過這次沒有一次列出的功能了，<span style="color: #008000;">改成使用倒數數字兩旁的小箭號移動。</span></p>
<p class="title">How to use：</p>
<p>　　<strong><span style="color: #ff6600;">Google Site 的空間似乎會在檔案裡加上 DHTML 的標籤，已知會造成 Windows 系統無法看到這個倒數計時</span></strong>，經由<a href="http://www.plurk.com/kinabcd" target="_blank">小魁</a>推薦另一個空間：<a href="http://www.miroko.tw/">miroko</a>，這個問題應該可以獲得改善，但是語法必須改成下列的樣子：</p>
<blockquote><span style="font-size: 7pt;">＜!-- Countdowner 2.0 Mainly--＞<br />＜script src='http://mosky.miroko.tw/countdowner.js'＞＜/script＞<br />＜!-- Countdowner 2.0 Detail Setting --＞<br />＜script src='http://mosky.miroko.tw/karmic-countdowner-new.js'＞＜/script＞
<br />＜script src='http://mosky.miroko.tw/lucid-countdowner.js'＞＜/script＞
<br />＜!-- Countdowner (C) Mosky &lt;mosky9180@gmail.com&gt; 2009 --＞</span></blockquote>
<p>　　另外這個空間有每日 2G 的流量上限，不過估計每天至少可以承受兩萬多次的 loading，所以應該沒問題。</p>
<p><span style="color: #808080;">　　(Google Site 空間)</span> 新版的把主程式抽離成一個 JS 檔，樣板跟日期設定則在另一個 JS 檔案，所以<span style="color: #008000;">必須要引入兩個 script</span>：</p>
<blockquote><span style="font-size: 7pt;">＜!-- Countdowner 2.0 Mainly--＞<br />＜script src='http://sites.google.com/site/itsmosky/files/countdowner.js'＞＜/script＞<br />＜!-- Countdowner 2.0 Detail Setting --＞<br />＜script src='http://sites.google.com/site/itsmosky/files/karmic-countdowner-new.js'＞＜/script＞
<br />＜script src='http://sites.google.com/site/itsmosky/files/lucid-countdowner.js'＞＜/script＞
<br />＜!-- Countdowner (C) Mosky &lt;mosky9180@gmail.com&gt; 2009 --＞</span></blockquote>
<p>　　同樣的，<span style="color: #008000;"><strong>請將全形角括弧取代為半形角括弧！</strong>細節設定的匯入請挑選一個想要的就可以了，想要一次使用兩個也是可以的。</span></p>
<p>　　如果<span style="color: #008000;">不喜歡預設顯示最近測試版發布倒數的話</span>，可以在腳本引入的下面多加上這行指令：</p>
<blockquote><span style="font-size: 7pt;"><span style="text-decoration: line-through;">＜script＞karmiccd.output(karmiccd.clearOffset)＜/script＞<br />＜script＞lucidcd.output(lucidcd.clearOffset)＜/script＞</span><br /></span><span style="font-size: 7pt;">＜script＞karmiccd.offset = -1; karmiccd.output()＜/script＞<br />＜script＞</span><span style="font-size: 7pt;">lucidcd.offset = -1; lucidcd.output()</span><span style="font-size: 7pt;">＜/script＞</span></blockquote>
<p>　　請視使用的倒數計時決定要用那一個指令 <span style="color: #808080;">(Karmic 為 9.10；Lucid 為 10.04)</span>。加上指令之後可以消除預設的偏移值，<span style="color: #008000;">讓每次顯示都固定是距離 Final release 的倒數。</span></p>
<p>　　如果您願意的話，<span style="color: #008000;">也可以在倒數計時的下面加上連至本文的超連結，讓別人也可以拿的到這個倒數計時：</span></p>
<blockquote><span style="font-size: 7pt;">＜a style="font-size:8pt" href='http://moskyat.pixnet.net/blog/post/28365772'＞Take one!＜/a＞</span></blockquote>
<p>　　大致上就是這樣！</p>
<p class="title">Report bugs:</p>
<p>　　請原諒我沒有花太多時間測試這次的程式 XD"。<span style="color: #008000;">所以如果發生任何 bug，請 mail 至我的信箱，或在本篇回覆，我會盡快修復！</span></p>  <div class="more"><a href="http://moskyat.pixnet.net/blog/post/28365772">(Read More...)</a></div>]]></content>
    <category term="Info"/>
    <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://moskyat.pixnet.net/blog/post/28365772#comments</wfw:comment>
  </entry>
  <entry xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <id>http://moskyat.pixnet.net/blog/post/28210447</id>
    <title><![CDATA[所有我需要的東西，在 9.10 安裝後]]></title>
    <updated>2009-10-03T20:58:50+08:00</updated>
    <link rel="alternate" href="http://moskyat.pixnet.net/blog/post/28210447"/>
    <summary><![CDATA[只是個小筆記
　　從剛安裝好到讓我快樂的用 Ubuntu，我總共需要下列的東西。其中 97.5% 我可以讓 apt-add 幫我搞定！接著再去筆電裝的時候只要帶 cache 跟 apt-add.list 就行了。我的需求算少的吧，我想 。這篇是拿來當作之後要寫教學跟講習的筆記，標題大概是：「裝完 Ubuntu 到完美使用的路程」 XD。(不過發上來後了才發現一些次常用的東西我忘記裝了 - w -。)
　　我是從裝好 Ubuntu 開始邊裝軟體邊在 text 紀錄下來的，所以是純文字，我也懶的讓他變漂亮了，所以就暫時先這樣 XD。這篇筆記其中 apt-add 的部份僅含可從套件庫系統裝的部份，另外一部分需要 3rd-party source 有很大部份在 9.10 都不需要這些源或這些源沒有提供 karmic 的版本。去去掉後剩下少少得四行，我想說就別放上來佔空間了。
[software from apt system]&nbsp;&nbsp; &nbsp;[Part A - Beautification]&nbsp;&nbsp; &nbsp;1. compiz&nbsp;&nbsp; &nbsp;2. compizconfig-settings-manager&nbsp;&nbsp; &nbsp;3. emerald&nbsp;&nbsp; &nbsp;4. screenlets&nbsp;&nbsp; &nbsp;5. google-gadgets-gtk&nbsp;&nbsp; &nbsp;[Part B - Compression Support]&nbsp;&nbsp; &nbsp;1. p7zip-full&nbsp;&nbsp; &nbsp;2. p7zip-rar&nbsp;&nbsp; &nbsp;[Part C - Multimedia]&nbsp;&nbsp; &nbsp;1. audacious&nbsp;&nbsp; &nbsp;2. k3b&nbsp;&nbsp; &nbsp;3. mplayer&nbsp;&nbsp; &nbsp;4. smplayer&nbsp;&nbsp; &nbsp;5. vlc&nbsp;&nbsp; &nbsp;6. easytag&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;[Part D - Tools]&nbsp;&nbsp; &nbsp;1. checkgmail&nbsp;&nbsp; &nbsp;2. stardic&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;[Part E - Coding]&nbsp;&nbsp; &nbsp;1. poedit[software from deb or file]&nbsp;&nbsp; &nbsp;1. apt-add&nbsp;&nbsp; &nbsp;http://moskyat.pixnet.net/blog/post/26260613&nbsp;&nbsp; &nbsp;2. adobe flash player&nbsp;&nbsp; &nbsp;http://get.adobe.com/flashplayer/thankyou/?installer=Flash_Player_10_for_Linux_%28.deb%29&nbsp;&nbsp; &nbsp;3. dics for stardic&nbsp;&nbsp; &nbsp;http://playubuntu.blogspot.com/2009/09/perfect8debstardictdic.html[settings]&nbsp;&nbsp; &nbsp;1. cht support for pdf&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;'''&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;sudo apt-get install xpdf-chinese-traditional poppler-data&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;'''&nbsp;&nbsp; &nbsp;2. cht fonts&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;'''&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;cd /etc/fonts/conf.d&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;sudo ln -sf ../conf.avail/66-wqy-zenhei-sharp-no13px.conf 66-wqy-zenhei-sharp.conf&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;'''&nbsp;&nbsp; &nbsp;http://linuxdesktop.cn/2009/09/21/two-tweaks-improve-ubuntu-910.html&nbsp;&nbsp; &nbsp;3. [fix] fonts on flash player&nbsp;&nbsp; &nbsp;'''sudo mv /etc/fonts/conf.d/49-sansserif.conf /etc/fonts/conf.d/49-sansserif.conf.bak'''&nbsp;&nbsp; &nbsp;http://wiki.ubuntu-tw.org/index.php?title=%E4%BF%AE%E6%AD%A3Flash%E9%81%B8%E5%96%AE%E4%BA%82%E7%A2%BC&nbsp;&nbsp; &nbsp;4. themes for root&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;'''&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;sudo ln -s ~/.themes/* /usr/share/themes&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;sudo ln -s ~/.icons/* /usr/share/icons&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;'''&nbsp;&nbsp; &nbsp;http://moskyat.pixnet.net/blog/post/24047234&nbsp;&nbsp; &nbsp;[apt-add]&nbsp;&nbsp; &nbsp;[from apt system, the part A to part E]&nbsp;&nbsp; &nbsp;apt-add action compiz+ compizconfig-settings-manager+ emerald+ screenlets+ google-gadgets-gtk+ p7zip-full+ p7zip-rar+ audacious+ k3b+ mplayer+ smplayer+ vlc+ checkgmail+ stardic+ poedit+&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;[settings]&nbsp;&nbsp; &nbsp;apt-add action xpdf-chinese-traditional+ poppler-data+]]></summary>
    <content type="html"><![CDATA[<p class="title">只是個小筆記</p>
<p>　　從剛安裝好到讓我快樂的用 Ubuntu，我總共需要下列的東西。其中<span style="color: #008000;"> 97.5% 我可以讓 <a href="http://moskyat.pixnet.net/blog/post/26260613" target="_blank">apt-add</a> 幫我搞定！</span>接著再去筆電裝的時候只要帶 cache 跟 apt-add.list 就行了。我的需求算少的吧，我想 。這篇是拿來當作之後要寫教學跟講習的筆記，標題大概是：<span style="color: #008000;">「裝完 Ubuntu 到完美使用的路程」</span> XD。<span style="color: #333399;">(不過發上來後了才發現一些次常用的東西我忘記裝了 - w -。)</span></p>
<p>　　我是從裝好 Ubuntu 開始邊裝軟體邊在 text 紀錄下來的，所以是純文字，我也懶的讓他變漂亮了，所以就暫時先這樣 XD。<span style="color: #008000;">這篇筆記其中 apt-add 的部份僅含可從套件庫系統裝的部份</span>，另外一部分需要 3rd-party source 有很大部份在 9.10 都不需要這些源或這些源沒有提供 karmic 的版本。去去掉後剩下少少得四行，我想說就別放上來佔空間了。</p>
<p><strong>[software from apt system]</strong><br /><br />&nbsp;&nbsp; <strong>&nbsp;[Part A - Beautification]</strong><br />&nbsp;&nbsp; &nbsp;1. compiz<br />&nbsp;&nbsp; &nbsp;2. compizconfig-settings-manager<br />&nbsp;&nbsp; &nbsp;3. emerald<br />&nbsp;&nbsp; &nbsp;4. screenlets<br />&nbsp;&nbsp; &nbsp;5. google-gadgets-gtk<br /><br />&nbsp;&nbsp; &nbsp;<strong>[Part B - Compression Support]</strong><br />&nbsp;&nbsp; &nbsp;1. p7zip-full<br />&nbsp;&nbsp; &nbsp;2. p7zip-rar<br /><br />&nbsp;&nbsp; <strong>&nbsp;[Part C - Multimedia]</strong><br />&nbsp;&nbsp; &nbsp;1. audacious<br />&nbsp;&nbsp; &nbsp;2. k3b<br />&nbsp;&nbsp; &nbsp;3. mplayer<br />&nbsp;&nbsp; &nbsp;4. smplayer<br />&nbsp;&nbsp; &nbsp;5. vlc<br />&nbsp;&nbsp; &nbsp;6. easytag<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;<strong>[Part D - Tools]</strong><br />&nbsp;&nbsp; &nbsp;1. checkgmail<br />&nbsp;&nbsp; &nbsp;2. stardic<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; <strong>&nbsp;[Part E - Coding]</strong><br />&nbsp;&nbsp; &nbsp;1. poedit<br /><br /><strong>[software from deb or file]</strong><br />&nbsp;&nbsp; &nbsp;1. apt-add<br />&nbsp;&nbsp; &nbsp;http://moskyat.pixnet.net/blog/post/26260613<br />&nbsp;&nbsp; &nbsp;2. adobe flash player<br />&nbsp;&nbsp; &nbsp;http://get.adobe.com/flashplayer/thankyou/?installer=Flash_Player_10_for_Linux_%28.deb%29<br />&nbsp;&nbsp; &nbsp;3. dics for stardic<br />&nbsp;&nbsp; &nbsp;http://playubuntu.blogspot.com/2009/09/perfect8debstardictdic.html<br /><br /><strong>[settings]</strong><br />&nbsp;&nbsp; &nbsp;1. cht support for pdf<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;'''<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;sudo apt-get install xpdf-chinese-traditional poppler-data<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;'''<br />&nbsp;&nbsp; &nbsp;2. cht fonts<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;'''<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;cd /etc/fonts/conf.d<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;sudo ln -sf ../conf.avail/66-wqy-zenhei-sharp-no13px.conf 66-wqy-zenhei-sharp.conf<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;'''<br />&nbsp;&nbsp; &nbsp;http://linuxdesktop.cn/2009/09/21/two-tweaks-improve-ubuntu-910.html<br />&nbsp;&nbsp; &nbsp;3. [fix] fonts on flash player<br />&nbsp;&nbsp; &nbsp;'''sudo mv /etc/fonts/conf.d/49-sansserif.conf /etc/fonts/conf.d/49-sansserif.conf.bak'''<br />&nbsp;&nbsp; &nbsp;http://wiki.ubuntu-tw.org/index.php?title=%E4%BF%AE%E6%AD%A3Flash%E9%81%B8%E5%96%AE%E4%BA%82%E7%A2%BC<br />&nbsp;&nbsp; &nbsp;4. themes for root<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;'''<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;sudo ln -s ~/.themes/* /usr/share/themes<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;sudo ln -s ~/.icons/* /usr/share/icons<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;'''<br />&nbsp;&nbsp; &nbsp;http://moskyat.pixnet.net/blog/post/24047234<br />&nbsp;&nbsp; &nbsp;<br /><strong>[apt-add]</strong><br /><br />&nbsp;&nbsp; <strong>&nbsp;[from apt system, the part A to part E]</strong><br />&nbsp;&nbsp; &nbsp;apt-add action compiz+ compizconfig-settings-manager+ emerald+ screenlets+ google-gadgets-gtk+ p7zip-full+ p7zip-rar+ audacious+ k3b+ mplayer+ smplayer+ vlc+ checkgmail+ stardic+ poedit+<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp; <strong>&nbsp;[settings]</strong><br />&nbsp;&nbsp; &nbsp;apt-add action xpdf-chinese-traditional+ poppler-data+</p>  <div class="more"><a href="http://moskyat.pixnet.net/blog/post/28210447">(Read More...)</a></div>]]></content>
    <category term="Life"/>
    <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://moskyat.pixnet.net/blog/post/28210447#comments</wfw:comment>
  </entry>
  <entry xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <id>http://moskyat.pixnet.net/blog/post/28192249</id>
    <title><![CDATA[Ubuntu 9.10 Karmic Koala Beta Released!]]></title>
    <updated>2009-10-02T06:47:34+08:00</updated>
    <link rel="alternate" href="http://moskyat.pixnet.net/blog/post/28192249"/>
    <summary><![CDATA[出門前快速的寫一下文章 XD。
首先是載點：

Ubuntu 9.10 Karmic Koala Beta DVD
Ubuntu 9.10 Karmic Koala Beta CD

接著沒東西了 XD。
用 bt 下會比較快的樣子，我這裡約 1MB/s；http 的話只有 3x KB/s 而已 XD"。
然後官方版倒數計時在這裡！
這裡有我自己寫的倒數計時，可以看比較詳細的倒數內容 : )。(091010 updated)]]></summary>
    <content type="html"><![CDATA[<p>出門前快速的寫一下文章 XD。</p>
<p class="title">首先是載點：</p>
<ul>
<li><a href="http://cdimage.ubuntu.com/releases/karmic/beta/">Ubuntu 9.10 Karmic Koala Beta <strong>DVD</strong></a></li>
<li><a href="http://releases.ubuntu.com/karmic/" target="_blank">Ubuntu 9.10 Karmic Koala Beta <strong>CD</strong></a></li>
</ul>
<p>接著沒東西了 XD。</p>
<p>用 bt 下會比較快的樣子，我這裡約 1MB/s；http 的話只有 3x KB/s 而已 XD"。</p>
<p>然後<a href="http://www.ubuntu.com/getubuntu/countdown">官方版倒數計時在這裡</a>！</p>
<p><a href="http://moskyat.pixnet.net/blog/post/28365772" target="_blank">這裡</a>有我自己寫的倒數計時，可以看比較詳細的倒數內容 : )。(091010 updated)</p>  <div class="more"><a href="http://moskyat.pixnet.net/blog/post/28192249">(Read More...)</a></div>]]></content>
    <category term="Info"/>
    <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://moskyat.pixnet.net/blog/post/28192249#comments</wfw:comment>
  </entry>
  <entry xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <id>http://moskyat.pixnet.net/blog/post/28146137</id>
    <title><![CDATA[apt-add 0.4 底層筆記]]></title>
    <updated>2009-09-25T21:23:22+08:00</updated>
    <link rel="alternate" href="http://moskyat.pixnet.net/blog/post/28146137"/>
    <summary><![CDATA[-- Low-Level Structs of apt-add --

　　這是在學校寫的，是關於 apt-add 0.4 底層結構表。因為很怕以後寫新版本就忘記舊版的底層邏輯到底在搞什麼東西，所以趁剛寫好做一下筆記。順便給對 apt-add 程式碼有興趣的朋友參考。(這是尚未發布的 apt-add 0.4 底層結構，所以還沒釋出源碼。)
　　這篇本來應該是昨天要發的文章了，但是因為網路線被收掉了，所以只好等今天才發&nbsp; - x -。
-- seeker.py --
Seeker
　　類如其名，除了會耗用頗多記憶體 (ref*4, str and int per storer) 來儲存參考及索引以外幾乎沒有缺點的高階資料結構。因為以辭典 (雜湊) 的方式實做，它可以用隨機的速度存取儲存在裡面的資訊，另外也建有有序的串列，和辭典映射到相同的儲存器實體 (Seeker.Storer)，所以可以在隨機之餘也不失順序性。如果儲存的實體裡有提供 seek 方法的實體，它也會自動啟動下一層搜尋。可以把複雜的樹狀結構有序且完整的包裝起來 (ex. apt-add 會碰到的巢狀 sources lists)。
Seeker.Storer
　　這是 Seeker 儲存傳入實體的類別，Seeker 裡的辭典與串列都是映射到同一個 Storer，以節省記憶體的使用。Storer 與 Seeker 是雙向連結，Storer 內有映射回母體的參考，也有實做 Seeker 的基本操作，所以可以透過 Storer 自身來操作 Seeker，可以減少需要重複搜索的情況。另 Storer 也存有自身在 Seeker 裡的串列序號及辭典索引。
-- sourceparse.py --
Line
　　為一抽象類別，期待子類別能夠實做操作行的相關方法。比較重要的是 ident (static, 用於識別列是否屬於此類別) 與parse (用於將列解析成類別的儲存格式) 兩個方法。使用正規式來分析資訊，會把列分為 head, body, tail 三個部份來儲存。
Children of Line

Action apt-add 使用的動作註記，它也繼承 Seeker，以便使用單獨的動作註記來搜索列。
Key 從 apt-key 取得，含有完整資料的金鑰。
SimpleKey 僅包含 SID, LID 或 FP 的金鑰。
Source 用於儲存來源列。
Note 會將任何資訊歸類於自己，儲存註解。

List
　　繼承 Seeker，儲存複數行，及提供對於 Line 及檔案輸出入的操作。需要傳入提供 Line 介面的複數類別參考以解析檔案列成為 Seeker 的資訊。
Lists
　　繼承 Seeker，儲存複數表，提供對於 List 的操作。設計上，使用者輸入及檔案輸出入都是使用這個累別來完成。
 Keys
　　繼承 Lists，儲存來自 apt-key 的金鑰，並提供對於 apt-key 的操作。設計上，這個類別僅處理 apt-key 的相關部份。
-- path.py --
Path
　　提供處理 linux 格式路徑的方法。
碎碎唸：
　　昨天買了杯「薄荷蜜茶」，它長這樣：

　　我覺得超噁心的，我喝了幾口之後就倒掉了 XD...。]]></summary>
    <content type="html"><![CDATA[<p class="title">-- Low-Level Structs of apt-add --</p>
<p><img src="http://pic.pimg.tw/moskyat/4abcbe1dccfe5.jpg" alt="" /></p>
<p>　　這是在學校寫的，是<span style="color: #008000;">關於 apt-add 0.4 底層結構表</span>。因為很怕以後寫新版本就忘記舊版的底層邏輯到底在搞什麼東西，所以趁剛寫好做一下筆記。順便給對 apt-add 程式碼有興趣的朋友參考。<span style="color: #808080;">(這是尚未發布的 apt-add 0.4 底層結構，所以還沒釋出源碼。)</span></p>
<p>　　這篇本來應該是昨天要發的文章了，但是因為網路線被收掉了，所以只好等今天才發&nbsp; - x -。</p>
<p class="title">-- seeker.py --</p>
<p><strong>Seeker</strong></p>
<p>　　類如其名，除了會耗用頗多記憶體 <span style="color: #808080;">(ref*4, str and int per storer)</span> 來儲存參考及索引以外幾乎沒有缺點的高階資料結構。<span style="color: #008000;">因為以辭典 (雜湊) 的方式實做，它可以用隨機的速度存取儲存在裡面的資訊，另外也建有有序的串列，和辭典映射到相同的儲存器實體</span> <span style="color: #808080;">(Seeker.Storer)</span><span style="color: #008000;">，所以可以在隨機之餘也不失順序性。</span>如果儲存的實體裡有提供 seek 方法的實體，它也會自動啟動下一層搜尋。可以把複雜的樹狀結構有序且完整的包裝起來 <span style="color: #808080;">(ex. apt-add 會碰到的巢狀 sources lists)</span>。</p>
<p><strong>Seeker.Storer</strong></p>
<p>　　這是 Seeker 儲存傳入實體的類別，Seeker 裡的辭典與串列都是映射到同一個 Storer，以節省記憶體的使用。<span style="color: #008000;">Storer 與 Seeker 是雙向連結，Storer 內有映射回母體的參考，也有實做 Seeker 的基本操作，所以可以透過 Storer 自身來操作 Seeker，可以減少需要重複搜索的情況。</span>另 Storer 也存有自身在 Seeker 裡的串列序號及辭典索引。</p>
<p class="title">-- sourceparse.py --</p>
<p><strong>Line</strong></p>
<p>　　為一抽象類別，<span style="color: #008000;">期待子類別能夠實做操作行的相關方法</span>。比較重要的是 ident <span style="color: #808080;">(static, 用於識別列是否屬於此類別)</span> 與parse <span style="color: #808080;">(用於將列解析成類別的儲存格式)</span> 兩個方法。使用正規式來分析資訊，會把列分為 head, body, tail 三個部份來儲存。</p>
<p><strong>Children of Line</strong></p>
<ul>
<li><strong>Action</strong> apt-add 使用的動作註記，它也繼承 Seeker，以便使用單獨的動作註記來搜索列。</li>
<li><strong>Key</strong> 從 apt-key 取得，含有完整資料的金鑰。</li>
<li><strong>SimpleKey</strong> 僅包含 SID, LID 或 FP 的金鑰。</li>
<li><strong>Source</strong> 用於儲存來源列。</li>
<li><strong>Note</strong> 會將任何資訊歸類於自己，儲存註解。</li>
</ul>
<p><strong>List</strong></p>
<p>　　繼承 Seeker，<span style="color: #008000;">儲存複數行，及提供對於 Line 及檔案輸出入的操作。</span>需要傳入提供 Line 介面的複數類別參考以解析檔案列成為 Seeker 的資訊。</p>
<p><strong>Lists</strong></p>
<p>　　繼承 Seeker，<span style="color: #008000;">儲存複數表，提供對於 List 的操作。</span>設計上，使用者輸入及檔案輸出入都是使用這個累別來完成。</p>
<p> <strong>Keys</strong></p>
<p>　　繼承 Lists，<span style="color: #008000;">儲存來自 apt-key 的金鑰，並提供對於 apt-key 的操作。</span>設計上，這個類別僅處理 apt-key 的相關部份。</p>
<p class="title">-- path.py --</p>
<p><strong>Path</strong></p>
<p>　　提供處理 linux 格式路徑的方法。</p>
<p class="title">碎碎唸：</p>
<p>　　昨天買了杯「<span style="color: #008000;">薄荷蜜茶</span>」，它長這樣：</p>
<p><img src="http://pic.pimg.tw/moskyat/4abcbe22a7466.jpg" alt="" width="401" height="600" /></p>
<p>　　我覺得超噁心的，我喝了幾口之後就倒掉了 XD...。</p>  <div class="more"><a href="http://moskyat.pixnet.net/blog/post/28146137">(Read More...)</a></div>]]></content>
    <category term="Coding"/>
    <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://moskyat.pixnet.net/blog/post/28146137#comments</wfw:comment>
  </entry>
  <entry xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <id>http://moskyat.pixnet.net/blog/post/28106139</id>
    <title><![CDATA[自己學校的 Ubuntu 研習進入籌劃階段！]]></title>
    <updated>2009-09-20T17:20:38+08:00</updated>
    <link rel="alternate" href="http://moskyat.pixnet.net/blog/post/28106139"/>
    <summary><![CDATA[
&uarr;剛剛把宣傳單初稿打出來了 XD。
　　為了在自己的學校推廣 Ubuntu，我和現任資研社社長勾結合作，準備要在學校辦一場講習囉。跟學校互動的事情都交給現在的社長，我自己準備內容就好 XD。因為怕有仇人跑來追殺我，所以把學校名字藏起來了 XD。
　　apt-add 0.3.5 或 0.4 預計在下禮拜前完成。如果釋出 0.3.5，那就是只含底層更新，不包含新功能；0.4 的話就是含新功能囉。GUI 的部份因為還來不及製作，所以 0.4 應該還是不會有 GUI 的版本。另外專案網頁我也會快點建立的 XD..。]]></summary>
    <content type="html"><![CDATA[<p><img src="http://pic.pimg.tw/moskyat/4ab5f0124b1ba.png" alt="" width="600" height="299" /></p>
<p><span style="color: #808080;">&uarr;剛剛把宣傳單初稿打出來了 XD。</span></p>
<p>　　為了在自己的學校推廣 Ubuntu，我和現任資研社社長<span style="text-decoration: line-through;">勾結</span>合作，準備要在學校辦一場講習囉。跟學校互動的事情都交給現在的社長，我自己準備內容就好 XD。因為怕有仇人跑來追殺我，所以把學校名字藏起來了 XD。</p>
<p>　　apt-add 0.3.5 或 0.4 預計在下禮拜前完成。如果釋出 0.3.5，那就是只含底層更新，不包含新功能；0.4 的話就是含新功能囉。GUI 的部份因為還來不及製作，所以 0.4 應該還是不會有 GUI 的版本。另外專案網頁我也會快點建立的 XD..。</p>  <div class="more"><a href="http://moskyat.pixnet.net/blog/post/28106139">(Read More...)</a></div>]]></content>
    <category term="Life"/>
    <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://moskyat.pixnet.net/blog/post/28106139#comments</wfw:comment>
  </entry>
  <entry xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <id>http://moskyat.pixnet.net/blog/post/28098421</id>
    <title><![CDATA[在 Ubuntu 製作 Android 上以 SQLite 儲存的離線地圖！]]></title>
    <updated>2009-09-19T17:16:49+08:00</updated>
    <link rel="alternate" href="http://moskyat.pixnet.net/blog/post/28098421"/>
    <summary><![CDATA[前言：
　　　　&uarr;TrekBuddy Atlas Creator，製作離線地圖用的軟體
　　全世界買 Android 手機不搭 3G 吃到飽的人大概只有我了 (泣)。為了讓我爬爬走的時候也能使用地圖，前幾天終於讓我找到可以製作離線地圖的軟體！看完介紹非常高興，因為這隻程式 (TrekBuddy Atlas Creator) 是用 Java 寫的，所以在 Ubuntu 上也能運作。但下載回來才發現製作 SQLite 地圖所需的 lib，內建只含 for windows 的 - x -。幸好看了回覆，得知可以自己重新編 for linux 的，很高興的就把這個 lib 編好，然後終於可以在 Ubuntu 上完整運作囉 XD。
正文：
　　離線地圖除了給我這種沒得用 3G 吃到飽的可憐人外，去到國外前也可以先自己做一份當地的離線地圖，在國外就也不用擔心迷路囉！Google Map 製作台灣區 level 0 to 15 的地圖大約會需要 230 mb 左右的空間，0 to 16 大約需要 630 mb 的空間。而完整 to 17 的地圖我猜大概沒人有耐心等他做完 XD，比較推薦是製作 0 to 15 的地圖，大約可以在一小時內完成 (視網路速度)，但縮放就沒辦法縮到那麼精細。to 16 的大約會需要三個小時以上，非常久 XD"。
　　要製作離線地圖，首先需要這個軟體，下面提供的是 lib for linux 的版本，要 for win 的可以到這邊下載：

TrekBuddy Atlas Creator 1.5 final for linux

　　在 Ubuntu (Linux) 上的製作步驟 ：

點擊「start.sh」開啟程式。
在左側的地圖區域選取想要製作地圖的範圍。(滑鼠滾輪：放大縮小、滑鼠左鍵：移動視點、滑鼠左鍵：選取範圍)
在「Zoom Levels」勾選要製作的 level 層級 (建議最多到 16 就好了 XD")。
在「Atlas Context」 中的找 「Add selection」按鈕按下。
在「Atlas setting」中選擇要輸出的格式。無論是 BigPlanet 或 RMaps 都可以使用 BigPlanet SQLite DB : ) 。
按下「Create atlas」開始製作地圖。

　　在製作中途隨時可以暫停，圖形會存在硬碟裡，可以等下次再繼續完成。如果下載速度不夠快的話，可以至「Setting/Network」把連接數調高一點，也許會下載的比較快 XD。SQLite 格式的地圖製作完畢後，會儲存在軟體資料夾裡的 atlas 資料夾內，副檔名是 sqlitedb。
　　至於 Android 的地圖軟體，我推薦使用 RMaps，只要把 sqlitedb 複製到 /sdcard/rmaps/maps 中，再進 RMaps/Menu/Setting/User denfined maps 中把自己做好的 map 啟動，再從 Maps 裡挑選自己製作的地圖就行囉。
　　最後祝大家地圖製作順利 XD！
延伸閱讀：

TrekBuddy Atlas Creator 1.5 final (android-map.blogspot.com Version) @ Dr.TYT 的 Android 地圖
RMaps 0.6.2 @  Dr.TYT 的 Android 地圖
Big Planet TW 1.2.4 中文版 @ Dr.TYT 的 Android 地圖



碎碎唸：
　　最近因為被媽媽押著去夜讀，所以玩新東西的時間變得很少，網誌更新速度也跟著慢下來了，真是討厭 - x -。不過我還是會持續更新的 XD。另外關於 ubuntu-tw 論壇的問題，BlueT 站長終於聯絡到我們的主機管理人了，應該會在下禮拜恢復，這段時間真的很抱歉 m(_ _)m。
http://android-map.blogspot.com/2009/09/rmaps-062.html]]></summary>
    <content type="html"><![CDATA[<p class="title">前言：</p>
<p>　　<img src="http://pic.pimg.tw/moskyat/4ab4a56c19327.png" alt="" width="600" height="457" /><br />　　&uarr;<a href="http://android-map.blogspot.com/search/label/TrekBuddy%20Atlas%20Creator" target="_blank">TrekBuddy Atlas Creator</a>，製作離線地圖用的軟體</p>
<p>　　全世界買 Android 手機不搭 3G 吃到飽的人大概只有我了 (泣)。為了讓我爬爬走的時候也能使用地圖，前幾天終於讓我找到可以製作離線地圖的軟體！看完介紹非常高興，因為這隻程式 (<a href="http://android-map.blogspot.com/search/label/TrekBuddy%20Atlas%20Creator" target="_blank">TrekBuddy Atlas Creator</a>) 是用 Java 寫的，<span style="color: #008000;">所以在 Ubuntu 上也能運作。但下載回來才發現製作 SQLite 地圖所需的 lib，內建只含 for windows 的 - x -。</span>幸好看了回覆，得知<span style="color: #008000;">可以自己重新編 for linux 的，很高興的就把這個 lib 編好，然後終於可以在 Ubuntu 上完整運作囉 XD。</span></p>
<p class="title">正文：</p>
<p>　　離線地圖<span style="color: #008000;">除了給我這種沒得用 3G 吃到飽的可憐人外，去到國外前也可以先自己做一份當地的離線地圖</span>，在國外就也不用擔心迷路囉！<span style="color: #008000;">Google Map 製作台灣區 level 0 to 15 的地圖大約會需要 230 mb 左右的空間，0 to 16 大約需要 630 mb 的空間。而完整 to 17 的地圖我猜大概沒人有耐心等他做完 XD</span>，比較推薦是製作 0 to 15 的地圖，大約可以在一小時內完成 (視網路速度)，但縮放就沒辦法縮到那麼精細。to 16 的大約會需要三個小時以上，非常久 XD"。</p>
<p>　　要製作離線地圖，首先需要這個軟體，下面提供的是 lib for linux 的版本，要 for win 的可以到<a href="http://android-map.blogspot.com/2009/08/trekbuddy-atlas-creator-15-final.html" target="_blank">這邊下載</a>：</p>
<ul>
<li><strong><a href="http://dl.getdropbox.com/u/1769146/offline-map-creator/TrekBuddy_Atlas_Creator_1.5_final_for_linux.tar.gz" target="_blank">TrekBuddy Atlas Creator 1.5 final for linux</a></strong></li>
</ul>
<p>　　在 Ubuntu (Linux) 上的製作步驟 ：</p>
<ul>
<li>點擊「start.sh」開啟程式。</li>
<li>在左側的地圖區域選取想要製作地圖的範圍。<span style="color: #808080;">(滑鼠滾輪：放大縮小、滑鼠左鍵：移動視點、滑鼠左鍵：選取範圍)</span></li>
<li>在「Zoom Levels」勾選要製作的 level 層級 <span style="color: #808080;">(<strong>建議最多到 16 就好了</strong> XD")</span>。</li>
<li>在「Atlas Context」 中的找 「Add selection」按鈕按下。</li>
<li>在「Atlas setting」中選擇要輸出的格式。<span style="color: #008000;">無論是 BigPlanet 或 RMaps 都可以使用 BigPlanet SQLite DB </span>: ) 。</li>
<li>按下「Create atlas」開始製作地圖。</li>
</ul>
<p>　　在製作中途隨時可以暫停，圖形會存在硬碟裡，可以等下次再繼續完成。<span style="color: #008000;">如果下載速度不夠快的話，可以至「Setting/Network」把連接數調高一點，也許會下載的比較快 XD</span>。SQLite 格式的地圖製作完畢後，會儲存在軟體資料夾裡的 atlas 資料夾內，副檔名是 sqlitedb。</p>
<p>　　至於 Android 的地圖軟體，<span style="color: #008000;">我推薦使用 RMaps，只要把 sqlitedb 複製到 /sdcard/rmaps/maps 中，再進 RMaps/Menu/Setting/User denfined maps 中把自己做好的 map 啟動，再從 Maps 裡挑選自己製作的地圖就行囉。</span></p>
<p>　　最後祝大家地圖製作順利 XD！<span style="color: #008000;"><br /></span></p>
<p class="title">延伸閱讀：</p>
<ul>
<li><a href="http://android-map.blogspot.com/2009/08/trekbuddy-atlas-creator-15-final.html" target="_blank">TrekBuddy Atlas Creator 1.5 final (android-map.blogspot.com Version) @ Dr.TYT 的 Android 地圖</a></li>
<li><a href="http://android-map.blogspot.com/2009/09/rmaps-062.html" target="_blank">RMaps 0.6.2 @  Dr.TYT 的 Android 地圖</a></li>
<li><a href="http://android-map.blogspot.com/2009/08/big-planet-tw-124.html" target="_blank">Big Planet TW 1.2.4 中文版 @ Dr.TYT 的 Android 地圖</a></li>
</ul>
<ul>
</ul>
<p class="title">碎碎唸：</p>
<p>　　最近因為被媽媽押著去夜讀，所以玩新東西的時間變得很少，網誌更新速度也跟著慢下來了，真是討厭 - x -。不過我還是會持續更新的 XD。<span style="color: #008000;">另外關於 ubuntu-tw 論壇的問題，BlueT 站長終於聯絡到我們的主機管理人了，應該會在下禮拜恢復，這段時間真的很抱歉 m(_ _)m。</span></p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 485px; width: 1px; height: 1px;">http://android-map.blogspot.com/2009/09/rmaps-062.html</div>  <div class="more"><a href="http://moskyat.pixnet.net/blog/post/28098421">(Read More...)</a></div>]]></content>
    <category term="Android"/>
    <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://moskyat.pixnet.net/blog/post/28098421#comments</wfw:comment>
  </entry>
  <entry xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <id>http://moskyat.pixnet.net/blog/post/27952279</id>
    <title><![CDATA[啊咧，怎麼這麼懶？- apt-add 指令複製 & 貼上專區 *09/09/19 updated]]></title>
    <updated>2009-09-19T17:08:00+08:00</updated>
    <link rel="alternate" href="http://moskyat.pixnet.net/blog/post/27952279"/>
    <summary><![CDATA[前言：
　　因為在 ubuntu-tw 上回了兩個用 apt-add 可以輕鬆解決的軟體新增/更新問題，想說如果有 apt-add 的懶惰指令就貼在這裡分享給大家。如果你是用 apt-add 的老手 (比方說我 (爆))，可能早就把常用的列表匯出，每次都只用 apt-add -ug 了 XD。所以這邊的指令只適用於剛玩 apt-add 的朋友噢！記住，action 的內容是儲存在列表裡的，下次只要匯入原有的列表就可以再安裝一遍了，不用每次都來這裡 copy 喔 XD。
正文：
　　目前收錄 5 個指令，適用於 apt-add 0.3 或以上。





Ubuntu Tweak 安裝 - 09/09/19
sudo apt-add 'deb http://ppa.launchpad.net/ubuntu-tweak-testing/ppa/ubuntu jaunty main 'E260F5B0 ubuntu-tweak+ -u


Shutter (螢幕截圖軟體) 安裝 - 09/09/19
sudo apt-add 'deb http://ppa.launchpad.net/shutter/ppa/ubuntu jaunty main' 009ED615 shutter+ -u


Pdgin 升級 - 09/09/19
sudo apt-add 'deb http://ppa.launchpad.net/pidgin-developers/ppa/ubuntu jaunty main' 67265eb522bdd6b1c69e66ed7fb8bee0a1f196a8 -ug


OpenOffice 升級 - 09/09/08
sudo apt-add 'deb http://ppa.launchpad.net/openoffice-pkgs/ppa/ubuntu jaunty main' 247D1CFF -ug


ibus 1.2.* gtk &amp; 酷音快速安裝 - 09/09/08
sudo apt-add 'deb http://ppa.launchpad.net/ibus-dev/ibus-1.2-jaunty/ubuntu jaunty main' 985E0E11 ibus+ ibus-gtk+ ibus-chewing+ -u

deb http://ppa.launchpad.net/pidgin-developers/ppa/ubuntu jaunty main]]></summary>
    <content type="html"><![CDATA[<p class="title">前言：</p>
<p>　　因為在 <a href="http://www.ubuntu-tw.org">ubuntu-tw</a> 上回了兩個用 <a href="http://moskyat.pixnet.net/blog/post/26260613" target="_blank">apt-add</a> 可以輕鬆解決的軟體新增/更新問題，想說如果有 apt-add 的懶惰指令就貼在這裡分享給大家。如果你是用 apt-add 的老手<span style="color: #808080;"> (比方說我 (爆))</span>，可能早就把常用的列表匯出，每次都只用 <span style="color: #333399;">apt-add -ug</span> 了 XD。所以<span style="color: #008000;">這邊的指令只適用於剛玩 apt-add 的朋友</span>噢！<span style="color: #008000;">記住，action 的內容是儲存在列表裡的，下次只要匯入原有的列表就可以再安裝一遍了</span>，不用每次都來這裡 copy 喔 XD。</p>
<p class="title">正文：</p>
<p>　　目前收錄 <strong><span style="color: #333399;">5</span></strong> 個指令，適用於 apt-add <strong><span style="color: #333399;">0.3</span></strong> 或以上。</p>
<ul>
</ul>
<ul>
</ul>
<ul>
<li><strong><span style="color: #ff6600;">Ubuntu Tweak 安裝</span></strong><strong><span style="color: #ff6600;"> - 09/09/19</span></strong></li>
<li><span style="color: #333399;">sudo apt-add 'deb http://ppa.launchpad.net/ubuntu-tweak-testing/ppa/ubuntu jaunty main 'E260F5B0 ubuntu-tweak+ -u</span></li>
</ul>
<ul>
<li><strong><span style="color: #ff6600;">Shutter (螢幕截圖軟體) 安裝</span></strong><strong><span style="color: #ff6600;"> - 09/09/19</span></strong></li>
<li><span style="color: #333399;">sudo apt-add 'deb http://ppa.launchpad.net/shutter/ppa/ubuntu jaunty main' 009ED615 shutter+ -u</span></li>
</ul>
<ul>
<li><strong><span style="color: #ff6600;">Pdgin 升級 </span></strong><strong><span style="color: #ff6600;">- 09/09/19</span></strong></li>
<li><span style="color: #333399;">sudo apt-add 'deb http://ppa.launchpad.net/pidgin-developers/ppa/ubuntu jaunty main' 67265eb522bdd6b1c69e66ed7fb8bee0a1f196a8 -ug</span></li>
</ul>
<ul>
<li><strong><span style="color: #ff6600;">OpenOffice 升級 - 09/09/08<br /></span></strong></li>
<li><span style="color: #333399;">sudo apt-add 'deb http://ppa.launchpad.net/openoffice-pkgs/ppa/ubuntu jaunty main' 247D1CFF -ug</span></li>
</ul>
<ul>
<li><strong><span style="color: #ff6600;">ibus 1.2.* gtk &amp; 酷音快速安裝</span></strong><strong><span style="color: #ff6600;"> - 09/09/08</span></strong></li>
<li><span style="color: #333399;">sudo apt-add 'deb http://ppa.launchpad.net/ibus-dev/ibus-1.2-jaunty/ubuntu jaunty main' 985E0E11 ibus+ ibus-gtk+ ibus-chewing+ -u</span></li>
</ul>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">deb http://ppa.launchpad.net/pidgin-developers/ppa/ubuntu jaunty main</div>  <div class="more"><a href="http://moskyat.pixnet.net/blog/post/27952279">(Read More...)</a></div>]]></content>
    <category term="Info"/>
    <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://moskyat.pixnet.net/blog/post/27952279#comments</wfw:comment>
  </entry>
  <entry xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <id>http://moskyat.pixnet.net/blog/post/27933463</id>
    <title><![CDATA[HTC Hero Got！開箱囉 XD！ (45+圖)]]></title>
    <updated>2009-09-06T19:15:21+08:00</updated>
    <link rel="alternate" href="http://moskyat.pixnet.net/blog/post/27933463"/>
    <summary><![CDATA[Hero 開箱，硬體部份：
&uarr;裝在袋子裡的 Hero
　　其實原本爸媽都不給買 Hero 的，但最後媽媽說，如果買空機不搭網路就讓你買 (當然空機的錢我還是得自己繳 T^T)，雖然知道現在買應該是不會划算，但我還是決定買了 XDD。我買到的空機價是 20,800，說實話，頗貴的 XD"。既然貴，我真的會好好珍惜這隻手機的，絕對不會把它丟到洗衣機裡 XDD"。
　　然後其實機器昨天八點就拿到了，玩了一天才來寫開箱文 XD。難得買那麼貴的東西，所以就寫份開箱文當紀念囉 XDD。這篇開箱文包含「硬體」、「軟體」跟 Hero 的「照相」功能，如果不想看某部份的話，請 ctrl+f 以上關鍵字。
&uarr;Hero -///-
　　偷偷瞄一眼，確定真的是 Hero XD。
&uarr;Hero 外包裝
　　小心翼翼的把 Hero 的盒子拿出來 XD。下面有個金色的貼紙，是說「HTC 首購禮，內含威剛 8GB micro SD 記憶卡乙張，中華電信 mPro 三個月體驗卷 (市價 NT$3,840)。...」。好像綁約機也會送這些的樣子。
&uarr;Hero 出來囉
　　襯板上有「htc INNOVATION」的字樣，內部包裝很簡潔 XD。上面就是包著保護套的棕色 Hero！－本來是打算買白色的，可是看到樣機以後，覺得棕色的有質感多了 XD，就決定換成棕色的了。照片上比較看不出來。
&uarr;正面照
　　請原諒我拍照功力不佳，沒有拍的很好 XD"。螢幕周圍的是棕色金屬框。
&uarr;背面照
　　照片有點糊掉了 (汗)。Hero 背殼的質感很棒喔！摸起來很舒服 XD，有點像是仿皮革的那種塑膠。不過詳細究竟是什麼不太確定 XD"，也許是鐵氟龍塗層的關係。
&uarr;機身右側照
　　右側機身沒有任何按鈕這樣。這張就可以看到 15 度的斜角設計囉。
&uarr;機身左側照
　　左側有沒有標示的音量調節鈕，照片我拍的不好，看不太出來 XD...。也有「htc INNOVATION」字樣
&uarr;機身下方照
　　下方有個 USB 的接孔，充電跟資料傳輸都是走這裡。
&uarr;機身上方照
　　3.5mm 耳機孔 -////-，也沒其他東西。整隻手機很簡潔 XD。
&uarr;沙龍 XD
　　Hero 的沙龍照 XD。這張照片拍的比較好一點 XD。
&uarr;沙龍第二發
　　靠近一點 XD。
&uarr;右側沙龍
　　重新看一下兩側，這邊是右側 XD。
&uarr;左側沙龍
　　重新看一下兩側，這邊是左側 XD。
&uarr;鍵盤特寫
 　　上排是通話、首頁、選單、掛斷這幾個鍵；下排中間的是軌跡球，下排右邊是搜尋跟返回。有點白色的點點是我家的灰塵 (汗)。
&uarr;紙盒內容大集合
&nbsp;　　上面是盒子裡裝的所有配件，包含了：充電器、充電器的插座、8G、2G Micro SD 各一張、SD 轉接卡一張、台製電池一顆、立體聲耳機、耳機護套、耳機夾、傳輸兼充電 USB 線，最後也是最重要的 Hero XD。
&uarr;2G、8G 記憶卡
&nbsp;　　真的是送兩張記憶卡喔 XD。
&uarr;附送的耳機有調整音樂的功能
&nbsp;　　附送的耳機有調音樂的功能喔，還不錯呢 XD。
&uarr;拆掉背殼的右側殼
　　SD 插槽就藏在這裡 XD。
&uarr;拆掉機殼的後測
&nbsp;　　後面有一年保固的貼紙。上面就是 500 萬像素的鏡頭、下面是接 SIM 卡跟電池的地方。相機鏡頭比背殼低些，應該是為了保護鏡頭吧 XD。
Hero 開箱，軟體部份：
&uarr;開機！
 　　Hero 開機跟一般手機比起來真的很慢 XD...。
&uarr;開機之後的一些設定
&nbsp;　　第一次開機之後有一些講解跟設定，有鍵盤矯正、鍵盤使用說明、設定 Google 帳號、社交網路 (Plurk, Twitter, etc) 帳號等等。
&uarr;首頁！
 　開機完的預設首頁 -////-。如果沒有網路的話，很多 widget 的功能是用不了的，包含氣象等等的功能。因為媽媽不給我 3G 網路，所以上面是用 wifi 連上網取得的氣象資訊。另外其實螢幕還滿鮮艷的，會反光是真的，所以鏡頭在拍的時候感覺起來沒那麼鮮艷。
&uarr;程式選單
 　　預設了很多程式可以用，這張照片拍的不好 XD"。不過買 Android 當然就是要擴充啊，絕對不能滿足於現狀的 XDDD。
&uarr;鎖定畫面
 　　很漂亮的鎖定畫面 XD。
&uarr;稍微改改之後的首頁
 　　按住 widget 大約三秒之後就可以移動或移除它。上面是我稍微改過之後的 Hero 首頁 XD。
&uarr;瀏覽信件的 widget
 　　滿漂亮的信件通知 XD。我的信全部都是 plurk 通知 (90%) + 部落格回應通知 (10%)，其實我不介意大家寫信來跟我聊聊啊 -口-，整天看機器送的信會膩呢 - x -。
&uarr;虛擬鍵盤
&nbsp;　　這是 Hero 的英文鍵盤，長壓虛擬按鍵之後可以切換不同字元。雖然按鍵真的滿小的，不過其實滿容易按的。有人說 iPhone 的比較好按，不過其實我按 Hero 也覺得不差呢 XD。
&uarr;Plurk
 　　在 Hero Plurk！好像除了沒法編輯以外，私密噗之類的功能都可以用喔 XD。
&uarr;Plurk 第二發 XD
&nbsp;　　Plurk 照2，應該是我拍的不好，其實 Hero 的字體很清楚的。
&uarr;天氣預報的 widhet
　　天氣預報的 widget XD。
&uarr;上自己的部落格 XD
 　用 Hero 看自己的 blog XD。不知道是不是我家 wifi 的問題，Hero 看網頁不是很順，縮放的話真的是沒 iPhone 那麼靈敏，不過沒有到頓的程度啦 XD"。
&uarr;Ubuntu-TW!
 　看 Ubuntu-TW XD！其實畫面滿漂亮的喔。
&uarr;Ubuntu-TW 文章串!
&nbsp;　　hepha 大大！XD！
&uarr;Youtube
 　　Hero 開 Youtube 會切換到 Hero 自己的 Flash Player，畫質不差 XD。
&uarr;Youtube 第二發
 　　我都看一些腦殘影片 XDDDD。Hero 看 Youtube 其實都滿順暢的喔，跟在電腦上看差不多。
Hero 開箱，照相部份：
&uarr;種花的 Hami 說明書
&nbsp;　　其實看不出來我換成用 Hero 照相了對吧 XD？500 萬像素+AF 真的不是說著玩的 XD。不過 Hero 沒有補光燈，所以光源不足的時候會有點糟糕。這邊的圖片都是用 5MP 的品質拍的，但是為了方便上傳，都更改為原大小的 50%。
&nbsp;
&uarr;水果近拍
　　必須說，相機真的不差 XDD。
&uarr;我家的 AP
　　疑似跟我家 Hero 不合的 AP - X -。朋友說他連 WPA2 沒事，我用 WPA2 就沒事給我斷一下線 -口-。目前最穩是不加密，想說去拿果凍套的時候問一下通訊行。
&uarr;萬能土虱正面
&nbsp;　　幫 pingooo 賣魚 XD，牠是一隻多功能的玩偶喔，嘴巴可以吹氣清鍵盤，腹部有擦電子產品專用的布，尾巴可以用來掃掉灰塵，很棒吧 XD，pingooo 那裡好像還很多可以買喔，詳情請與他接洽 XD。
&uarr;萬能土司左側&nbsp;
 　　土虱照再一張 XD。
&uarr;萬能土虱右側
　　趕快找 pingooo 買一隻自己的土虱吧 XDD。
&uarr;很喜歡的隨身碟
&nbsp;　　我買隨身碟只在意外型而已 XDDD。這隻隨身碟很漂亮噢 XD。
&uarr;Hero 拍自己居住的盒子 XD
&nbsp;　　Hero 的相機真的不錯呢。
&uarr;買了一堆但是都用不完的 CD，還有辛苦照明的檯燈小姐
 　　上面是 CD 山，還有一直幫我照明的檯燈小姐 XD。
&uarr;宅衣徽章
 　　一樣是買了但是不知道該怎麼弄到衣服上的布徽章 XD...。我是家政白痴。這是最後一張照片了 XD。Hero 的相機真的不錯，可惜的是只有 2.8 變焦，也沒有補光燈。
　　開箱文大概就到這裡囉 XD。我對拍照不是很拿手，也第一次寫開箱文，不是很好的地方還請原諒 XD"。]]></summary>
    <content type="html"><![CDATA[<p class="title">Hero 開箱，硬體部份：</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990da7b14.jpg" alt="" width="600" height="450" /><br /><span style="color: #333399;">&uarr;裝在袋子裡的 Hero</span></p>
<p>　　其實原本爸媽都不給買 Hero 的，但最後媽媽說，如果買空機不搭網路就讓你買 <span style="color: #888888;">(當然空機的錢我還是得自己繳 T^T)</span>，雖然知道現在買應該是不會划算，但我還是決定買了 XDD。我買到的空機價是 20,800，說實話，頗貴的 XD"。既然貴，<span style="color: #008000;">我真的會好好珍惜這隻手機的，絕對不會把它丟到洗衣機裡</span> XDD"。</p>
<p>　　然後其實機器昨天八點就拿到了，玩了一天才來寫開箱文 XD。難得買那麼貴的東西，所以就寫份開箱文當紀念囉 XDD。這篇開箱文包含「<span style="color: #008000;">硬體</span>」、「<span style="color: #008000;">軟體</span>」跟 Hero 的「<span style="color: #008000;">照相</span>」功能，如果不想看某部份的話，請 ctrl+f 以上關鍵字。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990da9e3d.jpg" alt="" width="450" height="600" /><br /><span style="color: #333399;">&uarr;Hero -///-</span></p>
<p>　　偷偷瞄一眼，確定真的是 Hero XD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990dac169.jpg" alt="" width="450" height="600" /><br /><span style="color: #333399;">&uarr;Hero 外包裝</span></p>
<p>　　小心翼翼的把 Hero 的盒子拿出來 XD。下面有個金色的貼紙，是說<span style="color: #333399;">「HTC 首購禮，內含威剛 8GB micro SD 記憶卡乙張，中華電信 mPro 三個月體驗卷 (市價 NT$3,840)。...」</span>。好像綁約機也會送這些的樣子。</p>
<p><br /><img src="http://pic.pimg.tw/moskyat/4aa3990dae0aa.jpg" alt="" width="450" height="600" /><br /><span style="color: #333399;">&uarr;Hero 出來囉</span></p>
<p>　　襯板上有「<span style="color: #333399;">htc INNOVATION</span>」的字樣，內部包裝很簡潔 XD。上面就是包著保護套的棕色 Hero！－本來是打算買白色的，可是看到樣機以後，<span style="color: #008000;">覺得棕色的有質感多了</span> XD，就決定換成棕色的了。照片上比較看不出來。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990db03d5.jpg" alt="" width="450" height="600" /><br /><span style="color: #333399;">&uarr;正面照</span></p>
<p>　　請原諒我拍照功力不佳，沒有拍的很好 XD"。螢幕周圍的是棕色金屬框。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990db2706.jpg" alt="" width="450" height="600" /><br /><span style="color: #333399;">&uarr;背面照</span></p>
<p>　　照片有點糊掉了 (汗)。Hero 背殼的質感很棒喔！摸起來很舒服 XD，<span style="color: #008000;">有點像是仿皮革的那種塑膠</span>。不過詳細究竟是什麼不太確定 XD"，也許是鐵氟龍塗層的關係。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990db4a2d.jpg" alt="" /><br /><span style="color: #333399;">&uarr;機身右側照</span></p>
<p>　　右側機身沒有任何按鈕這樣。這張就可以看到<span style="color: #008000;"> 15 度的斜角設計</span>囉。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990db6965.jpg" alt="" /><br /><span style="color: #333399;">&uarr;機身左側照</span></p>
<p>　　左側有沒有標示的<span style="color: #008000;">音量調節鈕</span>，照片我拍的不好，看不太出來 XD...。也有「htc INNOVATION」字樣</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990db88a3.jpg" alt="" /><br /><span style="color: #333399;">&uarr;機身下方照</span></p>
<p>　　下方有個 USB 的接孔，<span style="color: #008000;">充電跟資料傳輸都是走這裡</span>。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990dba7e2.jpg" alt="" /><br /><span style="color: #333399;">&uarr;機身上方照</span></p>
<p>　　<span style="color: #008000;">3.5mm 耳機孔</span> -////-，也沒其他東西。整隻手機很簡潔 XD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990dbcb0d.jpg" alt="" /><br /><span style="color: #333399;">&uarr;沙龍 XD</span></p>
<p>　　Hero 的沙龍照 XD。這張照片拍的比較好一點 XD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990dbee35.jpg" alt="" /><br /><span style="color: #333399;">&uarr;沙龍第二發</span></p>
<p>　　靠近一點 XD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990dc115e.jpg" alt="" /><br /><span style="color: #333399;">&uarr;右側沙龍</span></p>
<p>　　重新看一下兩側，這邊是右側 XD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990dc309c.jpg" alt="" /><br /><span style="color: #333399;">&uarr;左側沙龍</span></p>
<p>　　重新看一下兩側，這邊是左側 XD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990dc4fdf.jpg" alt="" /><br /><span style="color: #333399;">&uarr;鍵盤特寫</span></p>
<p> 　　上排是通話、首頁、選單、掛斷這幾個鍵；下排中間的是軌跡球，下排右邊是搜尋跟返回。有點白色的點點是我家的灰塵 (汗)。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990dc962e.jpg" alt="" /><br /><span style="color: #333399;">&uarr;紙盒內容大集合</span></p>
<p>&nbsp;　　上面是盒子裡裝的所有配件，包含了：<span style="color: #008000;">充電器、充電器的插座、8G、2G Micro SD 各一張、SD 轉接卡一張、台製電池一顆、立體聲耳機、耳機護套、耳機夾、傳輸兼充電 USB 線，最後也是最重要的 Hero</span> XD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990dcb959.jpg" alt="" /><br /><span style="color: #333399;">&uarr;2G、8G </span><span style="color: #333399;">記憶卡</span></p>
<p>&nbsp;　　真的是<span style="color: #008000;">送兩張記憶卡</span>喔 XD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990dcdc7f.jpg" alt="" /><br /><span style="color: #333399;">&uarr;附送的耳機有調整音樂的功能</span></p>
<p>&nbsp;　　附送的耳機有<span style="color: #008000;">調音樂的功能</span>喔，還不錯呢 XD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990dd3a42.jpg" alt="" /><br /><span style="color: #333399;">&uarr;拆掉背殼的右側殼</span></p>
<p>　　SD 插槽就藏在這裡 XD。</p>
<p><span style="color: #333399;"><img src="http://pic.pimg.tw/moskyat/4aa3b86eb22fe.jpg" alt="" width="577" height="576" /><br />&uarr;拆掉機殼的後測</span></p>
<p>&nbsp;　　後面有一年保固的貼紙。上面就是 <span style="color: #008000;">500 萬像素的鏡頭、下面是接 SIM 卡跟電池的地方。相機鏡頭比背殼低些</span>，應該是為了保護鏡頭吧 XD。</p>
<p class="title">Hero 開箱，軟體部份：</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990dd7cad.jpg" alt="" /><br /><span style="color: #333399;">&uarr;開機！</span></p>
<p> 　　Hero 開機跟一般手機比起來真的很慢 XD...。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990dd9fd6.jpg" alt="" /><br /><span style="color: #333399;">&uarr;開機之後的一些設定</span></p>
<p>&nbsp;　　第一次開機之後有一些講解跟設定，有鍵盤矯正、鍵盤使用說明、設定 Google 帳號、社交網路 (Plurk, Twitter, etc) 帳號等等。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990ddc303.jpg" alt="" /><br /><span style="color: #333399;">&uarr;首頁！</span></p>
<p> 　開機完的預設首頁 -////-。如果沒有網路的話，很多 widget 的功能是用不了的，包含氣象等等的功能。因為媽媽不給我 3G 網路，所以上面是用 wifi 連上網取得的氣象資訊。另外其實螢幕還滿鮮艷的，會反光是真的，所以鏡頭在拍的時候感覺起來沒那麼鮮艷。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990dde628.jpg" alt="" /><br /><span style="color: #333399;">&uarr;程式選單</span></p>
<p> 　　預設了很多程式可以用，這張照片拍的不好 XD"。不過買 Android 當然就是要擴充啊，絕對不能滿足於現狀的 XDDD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990de094f.jpg" alt="" /><br /><span style="color: #333399;">&uarr;鎖定畫面</span></p>
<p> 　　很漂亮的鎖定畫面 XD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990de2c78.jpg" alt="" /><br /><span style="color: #333399;">&uarr;稍微改改之後的首頁</span></p>
<p> 　　按住 widget 大約三秒之後就可以移動或移除它。上面是我稍微改過之後的 Hero 首頁 XD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990de4fa3.jpg" alt="" /><br /><span style="color: #333399;">&uarr;瀏覽信件的 widget</span></p>
<p> 　　滿漂亮的信件通知 XD。我的信全部都是 plurk 通知 (90%) + 部落格回應通知 (10%)，其實我不介意大家寫信來跟我聊聊啊 -口-，整天看機器送的信會膩呢 - x -。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990de72c7.jpg" alt="" /><br /><span style="color: #333399;">&uarr;虛擬鍵盤</span></p>
<p>&nbsp;　　這是 Hero 的英文鍵盤，長壓虛擬按鍵之後可以切換不同字元。雖然按鍵真的滿小的，不過其實滿容易按的。有人說 iPhone 的比較好按，不過其實我按 Hero 也覺得不差呢 XD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990deb91c.jpg" alt="" /><br /><span style="color: #333399;">&uarr;Plurk</span></p>
<p> 　　在 Hero Plurk！好像除了沒法編輯以外，私密噗之類的功能都可以用喔 XD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990dedc43.jpg" alt="" /><br /><span style="color: #333399;">&uarr;Plurk 第二發 XD</span></p>
<p>&nbsp;　　Plurk 照2，應該是我拍的不好，其實 Hero 的字體很清楚的。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990deff6b.jpg" alt="" /><br /><span style="color: #333399;">&uarr;天氣預報的 widhet</span></p>
<p>　　天氣預報的 widget XD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990df2a62.jpg" alt="" /><br /><span style="color: #333399;">&uarr;上自己的部落格 XD</span></p>
<p> 　用 Hero 看自己的 blog XD。不知道是不是我家 wifi 的問題，Hero 看網頁不是很順，縮放的話真的是沒 iPhone 那麼靈敏，不過沒有到頓的程度啦 XD"。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990e00765.jpg" alt="" /><br /><span style="color: #333399;">&uarr;Ubuntu-TW!</span></p>
<p> 　看 Ubuntu-TW XD！其實畫面滿漂亮的喔。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990e02e75.jpg" alt="" /><br /><span style="color: #333399;">&uarr;Ubuntu-TW 文章串!</span></p>
<p>&nbsp;　　hepha 大大！XD！</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990e0519d.jpg" alt="" /><br /><span style="color: #333399;">&uarr;Youtube</span></p>
<p> 　　Hero 開 Youtube 會切換到 Hero 自己的 Flash Player，畫質不差 XD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3990e074c8.jpg" alt="" /><br /><span style="color: #333399;">&uarr;</span><span style="color: #333399;">Youtube 第二發<br /></span></p>
<p> 　　我都看一些腦殘影片 XDDDD。Hero 看 Youtube 其實都滿順暢的喔，跟在電腦上看差不多。</p>
<p class="title">Hero 開箱，照相部份：</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa39918048b8.jpg" alt="" /><br /><span style="color: #333399;">&uarr;</span><span style="color: #333399;">種花的 Hami 說明書</span></p>
<p>&nbsp;　　其實看不出來我換成用 Hero 照相了對吧 XD？<span style="color: #008000;">500 萬像素+AF</span> 真的不是說著玩的 XD。不過 Hero 沒有補光燈，所以光源不足的時候會有點糟糕。<span style="color: #008000;">這邊的圖片都是用 5MP 的品質拍的，但是為了方便上傳，都更改為原大小的 50%。</span></p>
<p>&nbsp;</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3991abf35d.jpg" alt="" /><br /><span style="color: #333399;">&uarr;</span><span style="color: #333399;">水果近拍</span></p>
<p>　　必須說，相機真的不差 XDD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3991ee6895.jpg" alt="" /><br /><span style="color: #333399;">&uarr;</span><span style="color: #333399;">我家的 AP</span></p>
<p>　　疑似跟我家 Hero 不合的 AP - X -。朋友說他連 WPA2 沒事，我用 WPA2 就沒事給我斷一下線 -口-。目前最穩是不加密，想說去拿果凍套的時候問一下通訊行。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa39921ecdc6.jpg" alt="" /><br /><span style="color: #333399;">&uarr;</span><span style="color: #333399;">萬能土虱正面<br /></span></p>
<p>&nbsp;　　幫 <a href="http://www.plurk.com/pingooo" target="_blank">pingooo</a> 賣魚 XD，牠是一隻多功能的玩偶喔，嘴巴可以吹氣清鍵盤，腹部有擦電子產品專用的布，尾巴可以用來掃掉灰塵，很棒吧 XD，pingooo 那裡好像還很多可以買喔，詳情請與他接洽 XD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa399244bce0.jpg" alt="" /><br /><span style="color: #333399;">&uarr;萬能土司左側</span><span style="color: #333399;">&nbsp;</span></p>
<p> 　　土虱照再一張 XD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa399275a89c.jpg" alt="" /><br /><span style="color: #333399;">&uarr;萬能土虱右側</span></p>
<p>　　趕快找 <a href="http://www.plurk.com/pingooo" target="_blank">pingooo</a> 買一隻自己的土虱吧 XDD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa399309f417.jpg" alt="" /><br /><span style="color: #333399;">&uarr;很喜歡的隨身碟</span></p>
<p>&nbsp;　　我買隨身碟只在意外型而已 XDDD。這隻隨身碟很漂亮噢 XD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa39933b8bbe.jpg" alt="" /><br /><span style="color: #333399;">&uarr;Hero 拍自己居住的盒子 XD</span></p>
<p>&nbsp;　　Hero 的相機真的不錯呢。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa399362d5b5.jpg" alt="" /><br /><span style="color: #333399;">&uarr;買了一堆但是都用不完的 CD，還有辛苦照明的檯燈小姐</span></p>
<p> 　　上面是 CD 山，還有一直幫我照明的檯燈小姐 XD。</p>
<p><img src="http://pic.pimg.tw/moskyat/4aa3993865f23.jpg" alt="" /><br /><span style="color: #333399;">&uarr;宅衣徽章</span></p>
<p> 　　一樣是買了但是不知道該怎麼弄到衣服上的布徽章 XD...。我是家政白痴。這是最後一張照片了 XD。Hero 的相機真的不錯，可惜的是只有 2.8 變焦，也沒有補光燈。</p>
<p>　　開箱文大概就到這裡囉 XD。我對拍照不是很拿手，也第一次寫開箱文，不是很好的地方還請原諒 XD"。</p>  <div class="more"><a href="http://moskyat.pixnet.net/blog/post/27933463">(Read More...)</a></div>]]></content>
    <category term="Life"/>
    <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://moskyat.pixnet.net/blog/post/27933463#comments</wfw:comment>
  </entry>
  <entry xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <id>http://moskyat.pixnet.net/blog/post/27798590</id>
    <title><![CDATA[自以為有趣的 Seeker 結構 (in Python)]]></title>
    <updated>2009-08-31T20:25:58+08:00</updated>
    <link rel="alternate" href="http://moskyat.pixnet.net/blog/post/27798590"/>
    <summary><![CDATA[前言：
　　最近除了 apt-add 以外，好少更新網誌 XD"。因為寫 code 就寫不完了，沒時間看新東西 - w -"。apt-add 0.3 在剛剛發布了，不過程式碼醜成這樣的碗糕能跑的動，其實我心裡是由衷的佩服 apt-add XD....。因為當初沒規劃要寫那麼大，所以很多地方都是 Just run，後續又加了很額外的功能，造成 apt-add 的程式碼真的很醜，雖然 0.2.4 時有稍微變漂亮了點，但是在加上 action 功能後，真的是慘不忍睹。
介紹：
　　為了讓 apt-add 看起來漂亮點，所以我決定重新規劃 apt-add 的底層函數庫，也就是 sourceparse 和 pathext，目標是高度擴充性和更棒的效能。剛剛完成了一部分的程式，叫做 Seeker，是為了解決目前是循序所有列表的破爛演算法。Seeker 可以以 hash 和 index 進行搜索的動作，套用到 sourceparse，也就是可以以標準化的來源列或檔案行數在列表中進行搜索。應該可以大幅提昇 apt-add 的執行速度。因為我覺得這個東西很有趣，加上網誌也沒文章，所以就擺上來這樣 XD。按這裡拿。
　　Seeker Class

void &lt;Seeker&gt;.update(any index,any value)
void &lt;Seeker&gt;.update(iter|dict data)
SeekerChild &lt;Seeker&gt;.seek(int|any index)
any|int &lt;Seeker&gt;.chgidx(int|any index)
any &lt;Seeker&gt;.getval(int|any index)
void &lt;Seeker&gt;.ruin(int|any index)
int len(&lt;Seeker&gt;)
SeekerChild &lt;Seeker&gt;[int|any index]
SeekerChild[] &lt;Seeker&gt;[int|any index: int|any index]
del &lt;Seeker&gt;[int|any index: int|any index]
[] &lt;Seeker&gt;.keys(void)
[] &lt;Seeker&gt;.values(void)

　　SeekerChild Class

void &lt;SeekerChild&gt;.ruinself() #自我毀滅 (爆)，也會從 Seeker 裡消失
&lt;SeekerChild&gt;.val #存取值
&lt;SeekerChild&gt;.list_idx #在 Seeker 裡頭 list 的索引
&lt;SeekerChild&gt;.dict_idx #在 Seeker 裡頭 dict 的索引

　　如果 index 錯誤，會傳回 ChildNotFound 的錯誤，這個錯誤附屬在 SeekerError 裡，可以用 SeekerError 捕捉。
　　會想放上來是因為這個可愛結構的子實體可以自我毀滅 XDD。這件事讓我 high 好久 XDDDD。實體除了自我毀滅，還可以從存取他的結構上一併消失，好讚 XD。意思是我以後 seek 到 sourceline，不要他了，只要 .ruinself()，他就掰掰了 XDDD，一點痕跡也不剩。
　　Seeker 也支援 iter 介面，所以可以用 for stuff in &lt;Seeker&gt; 來存取裡面的 SeekerChild : )。另外，Seeker 裡面的 list 和 dict 都是映射到同一個 SeekerChild 實體上，只是透過不同的索引而已，所以不用擔心會消耗太多資源的問題。]]></summary>
    <content type="html"><![CDATA[<p class="title">前言：</p>
<p>　　最近除了 apt-add 以外，好少更新網誌 XD"。因為寫 code 就寫不完了，沒時間看新東西 - w -"。<a href="http://moskyat.pixnet.net/blog/post/26260613" target="_blank">apt-add 0.3</a> 在剛剛發布了，不過程式碼醜成這樣的碗糕能跑的動，其實我心裡是由衷的佩服 apt-add XD....。因為當初沒規劃要寫那麼大，所以很多地方都是 Just run，後續又加了很額外的功能，<span style="color: #008000;">造成 apt-add 的程式碼真的很醜</span>，雖然 0.2.4 時有稍微變漂亮了點，<span style="color: #008000;">但是在加上 action 功能後，真的是慘不忍睹。</span></p>
<p class="title">介紹：</p>
<p>　　為了讓 apt-add 看起來漂亮點，所以我決定重新規劃 apt-add 的底層函數庫，也就是 sourceparse 和 pathext，目標是高度擴充性和更棒的效能。剛剛完成了一部分的程式，叫做 Seeker，是為了解決目前是循序所有列表的破爛演算法。<span style="color: #008000;">Seeker 可以以 hash 和 index 進行搜索的動作，套用到 sourceparse，也就是可以以標準化的來源列或檔案行數在列表中進行搜索。應該可以大幅提昇 apt-add 的執行速度。</span>因為我覺得這個東西很有趣，加上網誌也沒文章，所以就擺上來這樣 XD。<a href="http://dl.getdropbox.com/u/1769146/apt-add/seeker.py" target="_blank">按這裡拿。</a></p>
<p>　　<strong>Seeker Class</strong></p>
<ul>
<li>void &lt;Seeker&gt;<strong>.update</strong>(any index,any value)</li>
<li>void &lt;Seeker&gt;.<strong>update</strong>(iter|dict data)</li>
<li>SeekerChild &lt;Seeker&gt;<strong>.seek</strong>(int|any index)</li>
<li>any|int &lt;Seeker&gt;.<strong>chgidx</strong>(int|any index)</li>
<li>any &lt;Seeker&gt;.<strong>getval</strong>(int|any index)</li>
<li>void &lt;Seeker&gt;.<strong>ruin</strong>(int|any index)</li>
<li>int <strong>len</strong>(&lt;Seeker&gt;)</li>
<li>SeekerChild &lt;Seeker&gt;<strong>[int|any index]</strong></li>
<li>SeekerChild[] &lt;Seeker&gt;<strong>[int|any index: int|any index]</strong></li>
<li><strong>del</strong> &lt;Seeker&gt;[int|any index: int|any index]</li>
<li>[] &lt;Seeker&gt;.<strong>keys</strong>(void)</li>
<li>[] &lt;Seeker&gt;.<strong>values</strong>(void)</li>
</ul>
<p>　　<strong>SeekerChild Class</strong></p>
<ul>
<li><span style="color: #008000;">void &lt;SeekerChild&gt;<strong>.ruinself</strong>() #自我毀滅 (爆)，也會從 Seeker 裡消失</span></li>
<li>&lt;SeekerChild&gt;.<strong>val</strong> #存取值</li>
<li>&lt;SeekerChild&gt;.<strong>list_idx</strong> #在 Seeker 裡頭 list 的索引</li>
<li>&lt;SeekerChild&gt;.<strong>dict_idx</strong> #在 Seeker 裡頭 dict 的索引</li>
</ul>
<p>　　如果 index 錯誤，會傳回 ChildNotFound 的錯誤，這個錯誤附屬在 SeekerError 裡，可以用 SeekerError 捕捉。</p>
<p>　　<span style="color: #008000;">會想放上來是因為這個可愛結構的子實體可以自我毀滅 XDD。</span>這件事讓我 high 好久 XDDDD。<span style="color: #008000;">實體除了自我毀滅，還可以從存取他的結構上一併消失</span>，好讚 XD。意思是我以後 seek 到 sourceline，不要他了，只要 .ruinself()，他就掰掰了 XDDD，一點痕跡也不剩。</p>
<p>　　<span style="color: #008000;">Seeker 也支援 iter 介面</span>，所以可以用 for stuff in &lt;Seeker&gt; 來存取裡面的 SeekerChild : )。另外，Seeker 裡面的 list 和 dict 都是映射到同一個 SeekerChild 實體上，只是透過不同的索引而已，所以不用擔心會消耗太多資源的問題。</p>  <div class="more"><a href="http://moskyat.pixnet.net/blog/post/27798590">(Read More...)</a></div>]]></content>
    <category term="Coding"/>
    <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://moskyat.pixnet.net/blog/post/27798590#comments</wfw:comment>
  </entry>
  <entry xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <id>http://moskyat.pixnet.net/blog/post/27781727</id>
    <title><![CDATA[Python 靜態屬性、屬性、靜態方法、方法筆記]]></title>
    <updated>2009-08-30T07:25:08+08:00</updated>
    <link rel="alternate" href="http://moskyat.pixnet.net/blog/post/27781727"/>
    <summary><![CDATA[程式碼：

class A:    name = 'A Class'    class_data = 'I am a A Class'    def __init__(self):        self.name = 'A Object'         self.object_data = 'I am a A Object'        # NameError: global name 'hello' is not defined        # hello()         self.hello()        A.hello()        self.say_hello()    def hello():        print 'Hello World'    def hello(self):        print self.object_data    # this 'hello()' will cover last 'hello(self)'    @staticmethod    def hello():        print A.class_data    def say_hello(self):        print self.object_data

執行結果：

&gt;&gt;&gt; a = A()I am a A Class # from self.hello() # coveredI am a A Class # from A.hello()I am a A Object # from self.say_hello()&gt;&gt;&gt; A.name'A Class'&gt;&gt;&gt; a.name'A Object'
]]></summary>
    <content type="html"><![CDATA[<p class="title">程式碼：</p>
<blockquote>
<pre>class A:<br />    name = 'A Class'<br />    class_data = 'I am a A Class'<br />    def __init__(self):<br />        self.name = 'A Object' <br />        self.object_data = 'I am a A Object'<br />        <strong># NameError: global name 'hello' is not defined<br />        # hello()</strong> <br />        self.hello()<br />        A.hello()<br />        self.say_hello()<br />    def hello():<br />        print 'Hello World'<br />   <span style="text-decoration: line-through;"> def hello(self):</span><br />        <span style="text-decoration: line-through;">print self.object_data</span><br />    <strong># this 'hello()' will cover last 'hello(self)'</strong><br />    @staticmethod<br />    def hello():<br />        print A.class_data<br />    def say_hello(self):<br />        print self.object_data<br /></pre>
</blockquote>
<p class="title">執行結果：</p>
<blockquote>
<pre>&gt;&gt;&gt; a = A()<br /><strong>I am a A Class # from self.hello() # covered<br />I am a A Class # from A.hello()<br />I am a A Object # from self.say_hello()<br /></strong>&gt;&gt;&gt; A.name<br /><strong>'A Class'</strong><br />&gt;&gt;&gt; a.name<br /><strong>'A Object'</strong><br /></pre>
</blockquote>  <div class="more"><a href="http://moskyat.pixnet.net/blog/post/27781727">(Read More...)</a></div>]]></content>
    <category term="Coding"/>
    <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://moskyat.pixnet.net/blog/post/27781727#comments</wfw:comment>
  </entry>
  <entry xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <id>http://moskyat.pixnet.net/blog/post/27659263</id>
    <title><![CDATA[想敗 HTC Hero XD！]]></title>
    <updated>2009-08-23T23:40:35+08:00</updated>
    <link rel="alternate" href="http://moskyat.pixnet.net/blog/post/27659263"/>
    <summary><![CDATA[HTC Hero First Look：







　　整理了一下，下面是這隻手機的參考網址：

規格 @ eprice
開箱 @ engadget
中華電信 HTC Hero 購機方案 @ eprice
HTC Hero 種花電信費率配套試算 @ mosky's google doc

　　其他資訊就 Google 一下吧 XD。
　　好想敗這隻手機哪 XD。除了看起來真的很有質感以外，它用的還是 Android 呢，這代表在硬體限制以內，我想怎麼玩就怎麼玩 XDD。這比普通手機真的還要好太多了！不過考慮到個人的種種因素，要不要買還真的是讓人很難決定 ...。首先是價格問題，我只是個窮苦的高三生哪，那些可怕的費率，雖然還是撐得過去，但是對我來說還是頗大的負擔 XD..。第二是實用問題，Hero 真的很強大，簡直就是一台小筆記型電腦了。不過會需要用到那麼強大的功能嗎，買了以後沒有用到大部分功能，這樣好像還是不值得。如果真的有發揮到 Hero 的所有功能，那錢其實花得還值得，可是萬一沒發揮到，那錢簡直就是捐給種花了 XD..。
　　在 Plurk 噗的時候，有大大說：「等買了就會有需要了」 XDD。這倒是，有時候東西買來就會用到功能了，我想只要自己好好玩這台手機，實用的問題就不用那麼擔心了。不過說到好好玩，我現在疑似是悲慘的高三生，印象中有個統測 (俺是綜高商業學程) 要考，我有那麼多時間顧課業、玩電腦再加一個玩手機嗎？我對自己的自律能力還滿還滿懷疑的 XDD。非常可能有了手機記得電腦，但是忘了課業 (爆)。就算真的能勉強記得還要讀書這回事，那似乎 Hero 的威能也沒辦法玩的盡興，等考完試，我想也出新機了，這樣到時候會不會又來後悔買 Hero 呢 (?)。
　　剛剛計算了一下如果我買了 Hero ，準備考試時間共八個月，只使用通話功能而不使用網路功能的損失。以方案 1349 來說，大約會損失約 6,000 元左右，再考慮到如果後買 Hero 產生的掉價利益及損失折扣，總估計為利益 4,000 的話，晚買利益估計約 10,000 左右。這樣先買 Hero 的損失似乎過大，買暫用機似乎是個選擇。考慮到 8 個月沒辦法用綁約的方式買手機，以及大概使用 289 的資費方案就很夠了，所以扣掉 2,500 的資費，大約有 7,500 左右的預算可以購買暫用機。不知道邏輯上有沒有瑕疵 (汗。
　　比較困擾的地方是估計掉價利益跟損失折扣，如果沒估準的話就糟糕了。暫用機約在 3,500 出頭會比較保守，買越貴損失越多。... 誰來挑出我上面計算的瑕疵啊！告訴我先買 Hero 會比較划算吧 (泣..)。如果上面沒問題的話，可能短時間跟 Hero 無緣了 -x -。
碎碎唸：
　　這兩天都在煩惱新手機怎麼買會比較好 XD..。apt-add 0.3 的開發進度大約是 85%，不過下禮拜整週不在家，大概會完全暫停開發 XD..。關於買新手機，希望有經驗的大大可以指點一下 XD....。]]></summary>
    <content type="html"><![CDATA[<p class="title">HTC Hero First Look：</p>
<p style="text-align: center;">
<object width="448" height="272">
<param name="movie" value="http://www.youtube.com/v/FKTDSfbcbBU&amp;hl=zh_TW&amp;fs=1&amp;" />
<param name="allowfullscreen" value="true" />
<param name="allowscriptaccess" value="always" /><embed type="application/x-shockwave-flash" width="448" height="272" src="http://www.youtube.com/v/FKTDSfbcbBU&amp;hl=zh_TW&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed>
</object>
</p>
<p>　　整理了一下，下面是這隻手機的參考網址：</p>
<ul>
<li><a href="http://www.eprice.com.tw/mobile/phone/?prod_id=3402&amp;type=spec" target="_blank">規格 @ eprice</a></li>
<li><a href="http://chinese.engadget.com/2009/07/17/htc-hero-open-box-video/" target="_blank">開箱 @ engadget</a></li>
<li><a href="http://www.eprice.com.tw/mobile/talk/?prod_id=3402&amp;tid=4210840" target="_blank">中華電信 HTC Hero 購機方案 @ eprice</a></li>
<li><a href="http://spreadsheets.google.com/ccc?key=0Ar_oH9jmnsfEdGJDRm44Vy1IeTlpMGt6S21TYThEQUE&amp;hl=zh_TW" target="_blank">HTC Hero 種花電信費率配套試算 @ mosky's google doc</a></li>
</ul>
<p>　　其他資訊就 Google 一下吧 XD。</p>
<p>　　好想敗這隻手機哪 XD。<span style="color: #008000;">除了看起來真的很有質感以外，它用的還是 Android 呢，這代表在硬體限制以內，我想怎麼玩就怎麼玩 XDD。</span>這比普通手機真的還要好太多了！不過考慮到個人的種種因素，要不要買還真的是讓人很難決定 ...。首先是<strong>價格問題</strong>，我只是個窮苦的高三生哪，那些可怕的費率，雖然還是撐得過去，但是對我來說還是頗大的負擔 XD..。第二是<strong>實用問題</strong>，Hero 真的很強大，簡直就是一台小筆記型電腦了。不過會需要用到那麼強大的功能嗎，買了以後沒有用到大部分功能，這樣好像還是不值得。<span style="color: #008000;">如果真的有發揮到 Hero 的所有功能，那錢其實花得還值得，可是萬一沒發揮到，那錢簡直就是捐給種花了 XD..。</span></p>
<p>　　在 Plurk 噗的時候，有大大說：「<strong><span style="color: #008000;">等買了就會有需要了</span></strong>」 XDD。這倒是，有時候東西買來就會用到功能了，我想只要自己好好玩這台手機，實用的問題就不用那麼擔心了。不過說到好好玩，<strong>我現在疑似是悲慘的高三生</strong>，印象中有個統測 <span style="color: #808080;">(俺是綜高商業學程) </span>要考，<span style="color: #008000;">我有那麼多時間顧課業、玩電腦再加一個玩手機嗎？</span>我對自己的自律能力還滿還滿懷疑的 XDD。<span style="color: #ff0000;">非常可能有了手機記得電腦，但是<strong>忘了課業</strong></span> (爆)。就算真的能勉強記得還要讀書這回事，那似乎 Hero 的威能也沒辦法玩的盡興，等考完試，我想也出新機了，<span style="color: #008000;">這樣到時候會不會又來後悔買 Hero 呢 (?)。</span></p>
<p>　　剛剛計算了一下如果我買了 Hero ，準備考試時間共<strong>八個月</strong>，只使用通話功能而<strong>不使用網路功能的損失</strong>。以方案 1349 來說，大約會損失約 <strong><span style="color: #ff6600;">6,000</span></strong> 元左右，再考慮到如果後買 Hero 產生的掉價利益及損失折扣，總估計為利益 <strong><span style="color: #ff6600;">4,000</span></strong> 的話，晚買利益估計約 <strong><span style="color: #ff6600;">10,000</span></strong> 左右。這樣先買 Hero 的損失似乎過大，買暫用機似乎是個選擇。考慮到 8 個月沒辦法用綁約的方式買手機，以及大概使用 289 的資費方案就很夠了，所以扣掉 2,500 的資費，<span style="color: #008000;">大約有<strong> 7,500</strong> 左右的預算可以購買暫用機。不知道邏輯上有沒有瑕疵</span> (汗。</p>
<p>　　比較困擾的地方是估計掉價利益跟損失折扣，如果沒估準的話就糟糕了。<span style="color: #008000;">暫用機約在 <strong>3,500</strong> 出頭會比較保守，買越貴損失越多</span>。...<strong><span style="color: #008000;"><span style="font-size: 12pt;"> 誰來挑出我上面計算的瑕疵啊</span><span style="font-size: 12pt;">！告訴我先買 Hero 會比較划算吧 (泣..)。</span></span></strong>如果上面沒問題的話，可能短時間跟 Hero 無緣了 -x -。</p>
<p class="title">碎碎唸：</p>
<p>　　這兩天都在煩惱新手機怎麼買會比較好 XD..。apt-add 0.3 的開發進度大約是 85%，不過下禮拜整週不在家，大概會完全暫停開發 XD..。關於買新手機，希望有經驗的大大可以指點一下 XD....。</p>  <div class="more"><a href="http://moskyat.pixnet.net/blog/post/27659263">(Read More...)</a></div>]]></content>
    <category term="Life"/>
    <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://moskyat.pixnet.net/blog/post/27659263#comments</wfw:comment>
  </entry>
  <entry xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <id>http://moskyat.pixnet.net/blog/post/27550711</id>
    <title><![CDATA[COSCUP 09' 精簡心得，COSCUP 萬歲！]]></title>
    <updated>2009-08-17T17:43:39+08:00</updated>
    <link rel="alternate" href="http://moskyat.pixnet.net/blog/post/27550711"/>
    <summary><![CDATA[　　(俺是無圖的純文字心得文，慎入。)
　　星期天回家整理完行李之後就去睡覺了 -口-。本來想分享一篇完整的「COSCUP 2009 遊記 - 工作人員版」，可是我發現有一卡車的事情等著我做，所以不得不放棄這個「萬字」的心得計畫 (被揍)。
　　這次是我玩 Ubuntu 僅一年多來第二次參加社群活動，說 COSCUP 的話是第一次。第一次是參加 Ubuntu 8.10 Release Party，那時候因為剛踏入社群不久，人其實也不認識幾個。而且因為誤入「進階」議程，所以基本上我是霧颯颯的聽完 XDD"""。所以「大大」、「高手」之類的稱謂我實在承受不起，我頂多是個資深的鄉下新手罷了 XD..。這次 COSCUP 活動真的非常的棒，認識/看到了很多「大咖」。有滿多重量級的大人物是光和他們在同個場地就覺得很榮幸的呢 XD。
　　這次的議程其實我幾乎都沒聽到，就是坐 (睡) 櫃台 XDD，跟佈置東西還有收東西這樣，我自己覺得沒幫上什麼忙。不過我有聽到「會前會」！就是週五場佈完大家一起去吃飯，順便討論最後的問題。雖然我完全插不上話，不過看 COSCUP 的頭頭們開會真是一件非常享受的事情，大概是在向心力低落的地方待久了，很久很久沒看到那麼多人對一件事那麼熱心、專注。然後大家開電腦邊紀錄資料編討論的景象真的超棒的，好像在看電影一樣 XDDD。真的非常榮幸能參與這樣的會議。
　　COSCUP 裡接觸最多的就是 Ijs 和 Layla 兩位了。Ijs 姊在發號司令跟分配工作時的樣子真的很有架勢，也很有氣魄，「Ubuntu-tw 活動長」的名號真的不是喊假的呢 XD。Layla 姊雖然是 Ubutnu 孃，這個看起來是個花瓶的角色，可是其實 Layla 姊在處理公關、帳務事宜的時候真的是非常俐落喔，不僅僅是正妹，而且也非常有能力呢。
　　其他大概就是凍仁跟阿怪了，第一、二天幾乎都是跟他們在聊天 XD，凍仁跟阿怪看起來都沒有實際上的年齡呢 XD 。凍仁是個謙虛的人，不像我是個自大狂 (爆)。從說話的樣子就知道其實凍仁的內涵豐富喔 XD。阿怪則是很幽默，很活潑，年齡看起來真的沒有實際上那麼大呢！然後阿怪別再說你可以當我爸爸了啦 XD。
　　第三有印象的大概就是小畢跟 c9s。小畢是第一天晚上 ubuntu-tw 的主持人，雖然一直說自己很緊張，不過其實我覺得他沒有表現出來喔，雖然最後忘記把名牌回收了 XD。不過其實我覺得做的很好！c9s 則是帥哥一枚，大概是這次我知道的人裡面最帥的了 XD，本來有想去聽 c9s 講 vim 的，可是那時候我走不開 XD"，真可惜。
　　其他像是 BlueT、魏藥、Rex、Pingooo (總召大人！)、 ... 還有一些當天一起努力的夥伴們，其實長相我都有記起來囉 (真的真的)！只是因為可能只說了一兩句話，所以沒有把名字完整的記起來，真的很抱歉 XD"。雖然說沒有把名字記起來，不過大家認真幫忙的樣子我都有看到喔，在這次 COSCUP 中，我覺得大家真的都非常努力的在完成自己的工作，最後真的也辦得很棒！能夠在 COSCUP 擔任臨時工，真的非常榮幸！
　　本來想寫更多的，但是因為我真的有好事情得在這個禮拜搞定，所以就分享到這裡。COSCUP 真的是個很棒的活動。今年沒參加到的朋友，明年我們小巨蛋見吧 XDDDD！]]></summary>
    <content type="html"><![CDATA[<p><span style="color: #888888;">　　(俺是無圖的純文字心得文，慎入。)</span></p>
<p>　　星期天回家整理完行李之後就去睡覺了 -口-。本來想分享一篇完整的「COSCUP 2009 遊記 - 工作人員版」，可是我發現有一卡車的事情等著我做，所以不得不放棄這個「萬字」的心得計畫 (被揍)。</p>
<p>　　這次是我玩 Ubuntu 僅一年多來第二次參加社群活動，說 COSCUP 的話是第一次。第一次是參加 Ubuntu 8.10 Release Party，那時候因為剛踏入社群不久，人其實也不認識幾個。而且因為誤入「進階」議程，所以基本上我是霧颯颯的聽完 XDD"""。所以「大大」、「高手」之類的稱謂我實在承受不起，我頂多是個資深的鄉下新手罷了 XD..。這次 COSCUP 活動真的非常的棒，認識/看到了很多「<strong>大咖</strong>」。<span style="color: #008000;">有滿多重量級的大人物是光和他們在同個場地就覺得很榮幸的呢 XD。</span></p>
<p>　　這次的議程其實我幾乎都沒聽到，就是坐 <span style="color: #808080;"><span style="text-decoration: line-through;">(睡)</span></span> 櫃台 XDD，跟佈置東西還有收東西這樣，我自己覺得沒幫上什麼忙。不過我有聽到<span style="color: #0000ff;">「會前會」</span>！就是週五場佈完大家一起去吃飯，順便討論最後的問題。雖然我完全插不上話，不過<strong><span style="color: #ff6600;">看 COSCUP 的頭頭們開會真是一件非常享受的事情</span></strong>，大概是在向心力低落的地方待久了，很久很久沒看到那麼多人對一件事那麼熱心、專注。<span style="color: #ff6600;">然後大家開電腦邊紀錄資料編討論的景象真的超棒的，好像在看電影一樣 XDDD</span>。真的非常榮幸能參與這樣的會議。</p>
<p>　　COSCUP 裡接觸最多的就是 Ijs 和 Layla 兩位了。<span style="color: #008000;">Ijs 姊在發號司令跟分配工作時的樣子真的很有架勢，也很有氣魄</span>，「Ubuntu-tw 活動長」的名號真的不是喊假的呢 XD。Layla 姊雖然是 Ubutnu 孃，這個看起來是個花瓶的角色，可是其實 <span style="color: #008000;">Layla 姊在處理公關、帳務事宜的時候真的是非常俐落喔，不僅僅是正妹，而且也非常有能力呢</span>。</p>
<p>　　其他大概就是凍仁跟阿怪了，第一、二天幾乎都是跟他們在聊天 XD，凍仁跟阿怪看起來都沒有實際上的年齡呢 XD 。<span style="color: #008000;">凍仁是個謙虛的人</span>，不像我是個自大狂 (爆)。<span style="color: #008000;">從說話的樣子就知道其實凍仁的內涵豐富喔 XD</span>。<span style="color: #008000;">阿怪則是很幽默，很活潑，年齡看起來真的沒有實際上那麼大呢！</span>然後阿怪別再說你可以當我爸爸了啦 XD。</p>
<p>　　第三有印象的大概就是小畢跟 c9s。小畢是第一天晚上 ubuntu-tw 的主持人，雖然一直說自己很緊張，不過其實我覺得他沒有表現出來喔，雖然最後忘記把名牌回收了 XD。不過其實我覺得做的很好！c9s 則是帥哥一枚，大概是這次我知道的人裡面最帥的了 XD，本來有想去聽 c9s 講 vim 的，可是那時候我走不開 XD"，真可惜。</p>
<p>　　其他像是 BlueT、魏藥、Rex、<strong>Pingooo</strong> <span style="color: #008000;"><strong>(總召大人！)</strong></span>、 ... 還有一些當天一起努力的夥伴們，其實長相我都有記起來囉 <strong><span style="color: #808080;">(真的真的)</span></strong>！只是因為可能只說了一兩句話，所以沒有把名字完整的記起來，真的很抱歉 XD"。雖然說沒有把名字記起來，不過大家認真幫忙的樣子我都有看到喔，在這次 COSCUP 中，我覺得大家真的都非常努力的在完成自己的工作，最後真的也辦得很棒！能夠在 COSCUP 擔任臨時工，真的非常榮幸！</p>
<p>　　本來想寫更多的，但是因為我真的有好事情得在這個禮拜搞定，所以就分享到這裡。COSCUP 真的是個很棒的活動。今年沒參加到的朋友，明年我們小巨蛋見吧 XDDDD！</p>  <div class="more"><a href="http://moskyat.pixnet.net/blog/post/27550711">(Read More...)</a></div>]]></content>
    <category term="Life"/>
    <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://moskyat.pixnet.net/blog/post/27550711#comments</wfw:comment>
  </entry>
  <entry xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <id>http://moskyat.pixnet.net/blog/post/27349109</id>
    <title><![CDATA[Ubuntu 9.10 Karmic Koala 倒數計時器更新！]]></title>
    <updated>2009-08-09T14:10:02+08:00</updated>
    <link rel="alternate" href="http://moskyat.pixnet.net/blog/post/27349109"/>
    <summary><![CDATA[介紹：

　　關於這個倒數計時可以玩玩旁邊的範本，或者到這帖看詳細介紹。今天跟 hepha 聊天的時候聊到我的倒數計時不能在 blogger 上執行，搞了老半天之後發現 blogger 會自己更動我的原始碼，最後終於修好了。不過 hepha 提到 Google Sites 可以存 JS 檔在上頭，可以用外連的方式執行這個倒數計時。興奮之餘，我就去辦了個 Sites 的帳號，然後把這個東西丟上去。為了讓更多人能用，也修正了和許多瀏覽器的相容性。所以現在大部分的瀏覽器都可以用了喔！
　　091010 update：我已經做了一個更漂亮的版本，有興趣的話可以來這裡拿。
支援瀏覽器：

Firefox 3.5
Chrome 2
Safari 4
Opera 9
Internet Explorer 8

　　如果大家有發現不能用的瀏覽器，我會盡力修復看看。
安裝方法：
　　只要在 Blog 加上以下語法就可以用囉：(請自行轉換全形圓括弧為小括弧)

＜!-- Ubuntu Karmic Countdown, Created By Mosky --＞＜script src='http://sites.google.com/site/itsmosky/files/karmic-countdowner.js'＞＜/script＞＜!-- http://moskyat.pixnet.net/blog --＞

　　如果有哪個 Blog 系統沒辦法用的話，再來跟我說，我可以盡力修好 XD。

091001: 圖片顯示問題，已修復。

延伸閱讀：

Ubuntu 9.10 Alpha 3 釋出特色介紹！@ Mosky
Ubuntu 9.10 Karmic Koala 釋出倒數、釋出時間表、特色摘要！@ Mosky
]]></summary>
    <content type="html"><![CDATA[<p class="title">介紹：</p>
<p><img src="http://pic.pimg.tw/moskyat/4a06203bce026.png" alt="" width="233" height="207" /></p>
<p>　　關於這個倒數計時<span style="color: #008000;">可以玩玩旁邊的範本，或者到<a href="http://moskyat.pixnet.net/blog/post/24288779" target="_blank">這帖</a>看詳細介紹</span>。今天跟 hepha 聊天的時候聊到我的倒數計時不能在 blogger 上執行，搞了老半天之後發現 blogger 會自己更動我的原始碼，最後終於修好了。不過 hepha 提到 Google Sites 可以存 JS 檔在上頭，可以用外連的方式執行這個倒數計時。興奮之餘，我就去辦了個 Sites 的帳號，然後把這個東西丟上去。為了讓更多人能用，也<span style="color: #008000;">修正了和許多瀏覽器的相容性。所以現在大部分的瀏覽器都可以用了喔！</span></p>
<p><span style="color: #008000;">　　091010 update：我已經做了一個更漂亮的版本，有興趣的話可以<a href="http://moskyat.pixnet.net/blog/post/28365772" target="_blank">來這裡拿</a>。<br /></span></p>
<p class="title">支援瀏覽器：</p>
<ul>
<li><span style="color: #ff6600;">Firefox 3.5</span></li>
<li><span style="color: #3366ff;">Chrome 2</span></li>
<li><span style="color: #008000;">Safari 4</span></li>
<li><span style="color: #ff0000;">Opera 9</span></li>
<li><span style="color: #000080;">Internet Explorer 8</span></li>
</ul>
<p>　　如果大家有發現不能用的瀏覽器，我會盡力修復看看。</p>
<p class="title">安裝方法：</p>
<p>　　只要在 Blog 加上以下語法就可以用囉：<span style="color: #008000;">(請自行轉換全形圓括弧為小括弧)</span></p>
<blockquote>
<span style="font-size: 8pt;">＜!-- Ubuntu Karmic Countdown, Created By Mosky --＞<br />＜script src='http://sites.google.com/site/itsmosky/files/karmic-countdowner.js'＞＜/script＞<br />＜!-- http://moskyat.pixnet.net/blog --＞</span>
</blockquote>
<p>　　如果有哪個 Blog 系統沒辦法用的話，再來跟我說，我可以盡力修好 XD。</p>
<ul>
<li><span style="color: #800000;">091001: 圖片顯示問題，已修復。</span></li>
</ul>
<p class="title">延伸閱讀：</p>
<ul>
<li><a href="http://moskyat.pixnet.net/blog/post/26853647" target="_blank">Ubuntu 9.10 Alpha 3 釋出特色介紹！@ Mosky</a></li>
<li><a href="http://moskyat.pixnet.net/blog/post/24288779" target="_blank">Ubuntu 9.10 Karmic Koala 釋出倒數、釋出時間表、特色摘要！@ Mosky</a></li>
</ul>  <div class="more"><a href="http://moskyat.pixnet.net/blog/post/27349109">(Read More...)</a></div>]]></content>
    <category term="Info"/>
    <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://moskyat.pixnet.net/blog/post/27349109#comments</wfw:comment>
  </entry>
  <entry xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <id>http://moskyat.pixnet.net/blog/post/27334110</id>
    <title><![CDATA[中文在資料傳輸上劣於英文？]]></title>
    <updated>2009-08-08T11:37:46+08:00</updated>
    <link rel="alternate" href="http://moskyat.pixnet.net/blog/post/27334110"/>
    <summary><![CDATA[前言：
　　不知道大家有沒有聽過一種說法：「英文在 big5、utf8 都只佔用 1 byte，而中文則分別佔用 2 bytes 和 3 bytes，所以中文在資料傳輸上是劣於英文的。」。乍看之下好像正確，但卻沒有考慮到許多英文詞組需要的字元數遠超過中文詞組需要的字元數。因為最近閒閒沒事 (其實是不想做正事 XD)，我就做了個小實驗，來測試是不是真的是這樣。實驗中節錄了網路上描述 KDE 4.3 的一段話，我自己將這段話翻成中文，比較存成各種不同編碼形式所需佔用的資料，下面是實驗結果：
實驗對象：
On the 4th of August, 2009, the KDE community released KDE 4.3.0,
delivering its user base the first iteration of this next-generation
KDE desktop environment. It boasts a modern and beautiful desktop, with
over 10,000 bugs fixed and close to 2,000 features implemented over the
older versions, such as the more buggy KDE 4.2.
在2009年八月四號，KDE社群釋出了KDE 4.3.0，為它的用戶們發布了建立在第一個次世代KDE桌面環境的更新版。比舊版本，比如說充滿錯誤的KDE 4.2，它修復了超過10,000個問題及增加了2,000個應用特色後，它以它是時髦又美麗的桌面環境而自豪。
實驗結果：
　　大家可以從這裡下載實驗所用的檔案：

「Comparsion of Cht &amp; En Encoding」- Media Fire 下載
檔案名稱：cht&amp;en.tar.gz (tar 封裝，gz 壓縮檔)
檔案大小：2.1 KB
檔案md5：f0148d5e553c73f5ab05288e737ddb55

　　
　　以上是實驗結果的報表，每個項目的減號前面是說中文或英文，後面是所使用的編碼。除了單純的英文和中文外，也測試了兩種語言合在一起檔案大小。從測試中可以很明顯的發現，無論是 big5、uft8、utf16，使用中文書寫的資料量都比英文來的少。所以中文在資料傳輸上其實不一定會輸給英文，相反地，有時候可能更會勝過單字元是中文 1/2 或 1/3 的英文。
　　繼續看測試結果，中文在資料量方面，big5 &lt; utf16 &lt; utf8；英文則是 big5 = utf8 &lt; utf16；兩種都有的話則是 big5 &lt; utf8 &lt; utf16。要不是 big5 有些比不上 utf* 的缺點，否則 big5 也算是很節省資料量的編碼呢。
結論：
　　若不計較 big5 所含的中文字元有點少，也沒辦法表示所有國家的字元，big5 是一個還不錯的編碼系統；其次，在中文上表現優良的則是 utf16，因為它部份單一字元僅佔用 2 個 byte。不過 uft16 並不相容於 ascii，使用的時候也許要注意一下這點。而且就英文來說，uft16 不算非常適合純英文的編碼；最後就是 utf8，因為它大部分的複雜字元都使用 3 bytes，所以在中文方面比較處於劣勢，但它在混合中英文時表現僅次於 big5，所以應該算是最適合混合情況的編碼了。
延伸閱讀：

big5 @ wiki
utf8 @ wiki
utf16 @ wiki

碎碎唸：
　　上個禮拜網誌有點荒廢，所以想說趁著放颱風假，逃掉一天正課、一天補修，把有趣的東西寫一寫。免得網誌就這樣荒廢了，下個禮拜可能就會很忙囉 XD。]]></summary>
    <content type="html"><![CDATA[<p class="title">前言：</p>
<p>　　不知道大家有沒有聽過一種說法：「<span style="color: #008000;">英文在 big5、utf8 都只佔用 1 byte，而中文則分別佔用 2 bytes 和 3 bytes，所以中文在資料傳輸上是劣於英文的。</span>」。乍看之下好像正確，但<span style="color: #008000;">卻沒有考慮到許多英文詞組需要的字元數遠超過中文詞組需要的字元數</span>。因為最近閒閒沒事<span style="color: #808080;"> (其實是不想做正事 XD)</span>，我就做了個小實驗，來測試是不是真的是這樣。實驗中節錄了網路上描述 KDE 4.3 的一段話，我自己將這段話翻成中文，比較存成各種不同編碼形式所需佔用的資料，下面是實驗結果：</p>
<h3>實驗對象：</h3>
<blockquote><em><span style="font-size: 8pt;">On the 4th of August, 2009, the KDE community released KDE 4.3.0,
delivering its user base the first iteration of this next-generation
KDE desktop environment. It boasts a modern and beautiful desktop, with
over 10,000 bugs fixed and close to 2,000 features implemented over the
older versions, such as the more buggy KDE 4.2.</span></em></blockquote>
<blockquote><em><span style="font-size: 8pt;">在2009年八月四號，KDE社群釋出了KDE 4.3.0，為它的用戶們發布了建立在第一個次世代KDE桌面環境的更新版。比舊版本，比如說充滿錯誤的KDE 4.2，它修復了超過10,000個問題及增加了2,000個應用特色後，它以它是時髦又美麗的桌面環境而自豪。</span></em></blockquote>
<h3>實驗結果：</h3>
<p>　　大家可以從這裡下載實驗所用的檔案：</p>
<ul>
<li>「<a href="http://www.mediafire.com/download.php?z0jmm3momqt" target="_blank">Comparsion of Cht &amp; En Encoding</a>」- Media Fire 下載</li>
<li>檔案名稱：<span style="color: #333399;">cht&amp;en.tar.gz</span> <span style="color: #808080;">(tar 封裝，gz 壓縮檔)</span></li>
<li>檔案大小：<span style="color: #ff6600;">2.1 KB</span></li>
<li>檔案md5：<span style="color: #008000;">f0148d5e553c73f5ab05288e737ddb55</span></li>
</ul>
<p>　　<img src="http://pic.pimg.tw/moskyat/4a7cf52eaf3b3.jpg" alt="" width="445" height="407" /></p>
<p>　　以上是實驗結果的報表，每個項目的減號前面是說中文或英文，後面是所使用的編碼。除了單純的英文和中文外，也測試了兩種語言合在一起檔案大小。從測試中可以很明顯的發現，無論是 big5、uft8、utf16，使用中文書寫的資料量都比英文來的少。所以<span style="color: #008000;">中文在資料傳輸上其實不一定會輸給英文，相反地，有時候可能更會勝過單字元是中文 1/2 或 1/3 的英文。</span></p>
<p>　　繼續看測試結果，<span style="color: #008000;">中文在資料量方面，big5 &lt; utf16 &lt; utf8</span>；<span style="color: #008000;">英文則是 big5 = utf8 &lt; utf16</span>；<span style="color: #008000;">兩種都有的話則是 big5 &lt; utf8 &lt; utf16</span>。要不是 big5 有些比不上 utf* 的缺點，否則 big5 也算是很節省資料量的編碼呢。</p>
<h3>結論：</h3>
<p>　　若不計較 big5 所含的中文字元有點少，也沒辦法表示所有國家的字元，big5 是一個還不錯的編碼系統；其次，在中文上表現優良的則是 utf16，因為它部份單一字元僅佔用 2 個 byte。不過<span style="color: #008000;"> uft16 並不相容於 ascii</span>，使用的時候也許要注意一下這點。而且就英文來說，uft16 不算非常適合純英文的編碼；最後就是 utf8，因為它大部分的複雜字元都使用 3 bytes，所以在中文方面比較處於劣勢，<span style="color: #008000;">但它在混合中英文時表現僅次於 big5，所以應該算是最適合混合情況的編碼了</span>。</p>
<h3>延伸閱讀：</h3>
<ul>
<li><a href="http://zh.wikipedia.org/wiki/%E5%A4%A7%E4%BA%94%E7%A2%BC" target="_blank">big5 @ wiki</a></li>
<li><a href="http://zh.wikipedia.org/w/index.php?title=UTF8&amp;variant=zh-tw" target="_blank">utf8 @ wiki</a></li>
<li><a href="http://zh.wikipedia.org/w/index.php?title=UTF-16&amp;variant=zh-tw" target="_blank">utf16 @ wiki</a></li>
</ul>
<h3>碎碎唸：</h3>
<p>　　上個禮拜網誌有點荒廢，所以想說趁著放颱風假，逃掉一天正課、一天補修，把有趣的東西寫一寫。免得網誌就這樣荒廢了，下個禮拜可能就會很忙囉 XD。</p>  <div class="more"><a href="http://moskyat.pixnet.net/blog/post/27334110">(Read More...)</a></div>]]></content>
    <category term="Info"/>
    <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://moskyat.pixnet.net/blog/post/27334110#comments</wfw:comment>
  </entry>
  <entry xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <id>http://moskyat.pixnet.net/blog/post/27327231</id>
    <title><![CDATA[Ubuntu-TW Party in Coscup '09 BoF]]></title>
    <updated>2009-08-07T22:11:39+08:00</updated>
    <link rel="alternate" href="http://moskyat.pixnet.net/blog/post/27327231"/>
    <summary><![CDATA[介紹：
　　Ubuntu-TW Party，Ubuntu-TW 幾乎每年都會有兩次像是網聚的活動，這就是今年的第一次囉！平常在論壇上跟其他也用 Ubuntu 的朋友互動，總是隔了一道螢幕，是不是覺得大家還是有點生疏呢？趕快報名參加 Bof 來更加認識用 Ubuntu 的朋友們吧 XD！
　　BoF 除了可以跟大家打屁哈啦以外，大家也可以提供平常使用 Ubuntu 中摸索出來的校調密技，在當天展示給大家看喔！即使你是才剛加入 Ubuntu 的朋友，也可以從 Bof 的講題分享或和其他比較資深的朋友互動中獲得更多關於 Ubuntu 的知識喔！這次的 BoF 不管是沒報到 COSCUP，或只是剛剛加入的朋友可以參加喔！而且全程免費呢！別怔在那了，快去報名 XDD！
詳細資訊：

日期：09/08/15 (六)
時間：06:30 PM
地點：國立台灣大學，應用力學研究所 (這是哪？)

　　會場有準備網路，大家可以自備電源線帶筆電來一起玩喔！
　　更完整的消息：

Ubuntu 平行議程展：分享你知道的 Ubuntu！ @ Ubuntu-TW News 
Ubuntu 平行議程展：分享你知道的 Ubuntu！ (討論串) @ Ubuntu-TW 

報名方式：
　　到這個網站編輯 wiki 頁面，加上自己的名字就行囉。
　　也就是到那個網站之後把畫面往下拉，看到 [edit] 點下去，接著在 Ubuntu Party 下面那邊加上自己的名字 : )。在 12 號以前報名會有名牌喔。]]></summary>
    <content type="html"><![CDATA[<p class="title">介紹：</p>
<p>　　<span style="color: #008000;"><strong>Ubuntu-TW Party，</strong></span><span style="color: #008000;"></span>Ubuntu-TW 幾乎每年都會有兩次像是網聚的活動，這就是今年的第一次囉！平常在論壇上跟其他也用 Ubuntu 的朋友互動，總是隔了一道螢幕，是不是覺得大家還是有點生疏呢？趕快<a href="http://wiki.coscup.org/bof-2009" target="_blank">報名</a>參加 Bof 來更加認識用 Ubuntu 的朋友們吧 XD！</p>
<p>　　BoF 除了可以跟大家打屁哈啦以外，<span style="color: #008000;">大家也可以提供平常使用 Ubuntu 中摸索出來的校調密技，在當天展示給大家看喔！</span>即使你是才剛加入 Ubuntu 的朋友，也可以從 Bof 的講題分享或和其他比較資深的朋友互動中獲得更多關於 Ubuntu 的知識喔！<span style="color: #008000;">這次的 BoF 不管是沒報到 COSCUP，或只是剛剛加入的朋友可以參加喔！</span>而且全程<strong><span style="color: #008000;">免費</span></strong>呢！別怔在那了，快去<a href="http://wiki.coscup.org/bof-2009" target="_blank">報名</a> XDD！</p>
<h3><br />詳細資訊：</h3>
<ul>
<li><span style="color: #ff6600;">日期：<strong>09/08/15 (六)<br /></strong></span></li>
<li><span style="color: #008000;">時間：<strong>06:30 PM</strong></span></li>
<li><span style="color: #0000ff;">地點：<strong>國立台灣大學，應用力學研究所</strong></span><strong> (<a href="http://maps.google.com.tw/maps?q=%E5%8F%B0%E7%81%A3%E5%8F%B0%E5%8C%97%20%E5%9C%8B%E7%AB%8B%E5%8F%B0%E7%81%A3%E5%A4%A7%E5%AD%B8%20%E6%87%89%E7%94%A8%E5%8A%9B%E5%AD%B8%E7%A0%94%E7%A9%B6%E6%89%80" target="_blank">這是哪？</a>)</strong></li>
</ul>
<p>　　會場<span style="color: #008000;">有準備網路</span>，大家可以自備電源線帶筆電來一起玩喔！</p>
<p>　　更完整的消息：</p>
<ul>
<li><a href="http://www.ubuntu-tw.org/modules/news/article.php?storyid=126" target="_blank">Ubuntu 平行議程展：分享你知道的 Ubuntu！ @ Ubuntu-TW News <br /></a></li>
<li><a href="http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?viewmode=flat&amp;type=&amp;topic_id=17371&amp;forum=30" target="_blank">Ubuntu 平行議程展：分享你知道的 Ubuntu！ (討論串) @ Ubuntu-TW </a></li>
</ul>
<h3>報名方式：</h3>
<p>　　<span style="color: #008000;">到<a href="http://wiki.coscup.org/bof-2009" target="_blank">這個網站</a>編輯 wiki 頁面，加上自己的名字就行囉。</span></p>
<p>　　也就是到那個網站之後把畫面往下拉，看到 [edit] 點下去，接著在 Ubuntu Party 下面那邊加上自己的名字 : )。在 12 號以前報名會有名牌喔。</p>  <div class="more"><a href="http://moskyat.pixnet.net/blog/post/27327231">(Read More...)</a></div>]]></content>
    <category term="Info"/>
    <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://moskyat.pixnet.net/blog/post/27327231#comments</wfw:comment>
  </entry>
  <entry xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <id>http://moskyat.pixnet.net/blog/post/27319625</id>
    <title><![CDATA[追著人跑，好酷的相機 XD]]></title>
    <updated>2009-08-07T14:41:19+08:00</updated>
    <link rel="alternate" href="http://moskyat.pixnet.net/blog/post/27319625"/>
    <summary><![CDATA[






　　今天閒晃網路的時候看到的，這相機真有趣。如果有錢的話真想買一套玩看看 XDDD。可惜的是沒錢 (爆)。
　　詳細介紹可以看這個網站的介紹：緊盯著你不放的智慧雲台：Sony Party-shot IPT-DS1。]]></summary>
    <content type="html"><![CDATA[<p>
<object width="425" height="344">
<param name="movie" value="http://www.youtube.com/v/5I_mYOPKV04&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=zh_TW&amp;feature=player_embedded&amp;fs=1" />
<param name="allowfullscreen" value="true" />
<param name="allowscriptaccess" value="always" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/5I_mYOPKV04&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=zh_TW&amp;feature=player_embedded&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed>
</object>
</p>
<p>　　今天閒晃網路的時候看到的，這相機真有趣。如果有錢的話真想買一套玩看看 XDDD。可惜的是沒錢 (爆)。</p>
<p>　　詳細介紹可以看這個網站的介紹：<a href="http://taiwan.cnet.com/crave/0,2000088746,20140001,00.htm" target="_blank">緊盯著你不放的智慧雲台：Sony Party-shot IPT-DS1</a>。</p>  <div class="more"><a href="http://moskyat.pixnet.net/blog/post/27319625">(Read More...)</a></div>]]></content>
    <category term="Life"/>
    <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://moskyat.pixnet.net/blog/post/27319625#comments</wfw:comment>
  </entry>
  <entry xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    <id>http://moskyat.pixnet.net/blog/post/27122257</id>
    <title><![CDATA[從側門蹺課之後繞到正門 = 白痴]]></title>
    <updated>2009-07-31T14:20:16+08:00</updated>
    <link rel="alternate" href="http://moskyat.pixnet.net/blog/post/27122257"/>
    <summary><![CDATA[　　我就是標題說的白痴 XDDD。
　　怎麼會從側門蹺課之後繞到正門啊，蠢死了，噗哈哈哈。我雖然有到家，但是我們好像被警衛直接抓包，雖然因為我走的快，走在很前面，所以沒注意後面發生什麼事。接到星期一去教官室報到的電話，聽說要填自訴表然後記個小過，剛好處理這件事的是跟唯二不太熟教官的其中一個，剛好又是最白 x 的那個，看起來還是逃不過這個小過了。
　　不過某種程度來說，也滿 high 的呢。生平第一次蹺課就給抓包，某些傢伙暑輔翹不知道幾次都沒事，不過也只能說我實在太蠢了。不過看在我今天一整早都想睡覺的份上就饒了我吧 XD"。其實蹺課的初衷只是想回家睡個覺而已 - w -。今天早上四節課都非常想睡，看到一堆人都跑了，想說就回家睡覺吧，沒想到腦筋不清楚的繞路之後還走正門，真是夠蠢的了 XDD。
　　和我一起走的有另外兩個，兩個男生，本來想說他們應該會有經驗的，在只有我跑掉的情形看來，應該跟我一樣而已。在壞心情的驅使下，在電話裡我有玩了一下那個教官，說：「你有沒有覺得另外兩個人怪怪的？」那教官說：「有，他們是有點怪怪的。」然後我就東扯西扯，教官就一直很想知道「秘密」，噗哈哈哈哈。這個教官程度真的很差。
　　從這次事件我得到的教訓是：蹺課不要走正門 (爆)。]]></summary>
    <content type="html"><![CDATA[<p>　　我就是標題說的白痴 XDDD。</p>
<p>　　怎麼會<strong><span style="color: #008000;">從側門蹺課之後繞到正門</span></strong>啊，蠢死了，噗哈哈哈。我雖然有到家，但是我們好像被警衛直接抓包，雖然因為我走的快，走在很前面，所以沒注意後面發生什麼事。接到星期一去教官室報到的電話，聽說要填自訴表然後記個小過，剛好處理這件事的是跟唯二不太熟教官的其中一個，剛好又是最白 x 的那個，看起來還是逃不過這個小過了。</p>
<p>　　不過某種程度來說，也滿 high 的呢。生平第一次蹺課就給抓包，某些傢伙暑輔翹不知道幾次都沒事，不過也只能說我<strong>實在太蠢</strong>了。不過看在我今天一整早都想睡覺的份上就饒了我吧 XD"。其實蹺課的初衷只是想回家睡個覺而已 - w -。今天早上四節課都非常想睡，看到一堆人都跑了，想說就回家睡覺吧，沒想到腦筋不清楚的繞路之後還走正門，真是夠蠢的了 XDD。</p>
<p>　　和我一起走的有另外兩個，兩個男生，本來想說他們應該會有經驗的，在只有我跑掉的情形看來，應該跟我一樣而已。在壞心情的驅使下，在電話裡我有玩了一下那個教官，說：<span style="color: #008000;">「你有沒有覺得<strong>另外兩個人怪怪的</strong>？」</span>那教官說：「<strong>有，他們是有點怪怪的。</strong>」然後我就東扯西扯，<span style="color: #008000;">教官就一直很想知道「<strong>秘密</strong>」</span>，噗哈哈哈哈。這個教官程度真的很差。</p>
<p>　　從這次事件我得到的教訓是：<strong><span style="color: #008000;">蹺課不要走正門 (爆)</span></strong>。</p>  <div class="more"><a href="http://moskyat.pixnet.net/blog/post/27122257">(Read More...)</a></div>]]></content>
    <category term="Life"/>
    <wfw:comment xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://moskyat.pixnet.net/blog/post/27122257#comments</wfw:comment>
  </entry>
</feed>
