顯示具有 電腦 標籤的文章。 顯示所有文章
顯示具有 電腦 標籤的文章。 顯示所有文章

2009-06-29

魔獸世界 UI (World of Warcraft Addons)

魔獸世界允許使用者安裝某些模組,對遊戲方式進行或顯示方式進行某種程度的修改。這些模組是由 Lua 與 xml 寫成,一般稱為 UI。大部份的 UI 是以單體的方式發行,有些人/單位則會將某些 UI 選輯發布,常稱為 UI 包。之前多數 UI 的 l10n 做得不太好,因此需要四處尋找中文化過的版本,使用 UI 包因此能結省很多時間。然而現在多數 UI (至少使用者多的那些) 皆支援多種語系,或包含多語系介面 (有些 UI 雖然是英文介面,但對中文版本遊戲亦適用),因此改使用單體 UI 堆砌,能使得更新更容易。

常用的 UI 自動更新網站有 Curse 與 WowMatrix,然而後者之前因盜連等的問題 (請自行 google,名聲不佳的網頁我就不加 link 了),在社群中的名聲變得很差;某些被盜連的網站似乎也把他們的程式擋住,使得些 UI 無法由他們的程式進行更新。因此我還是會推薦使用 Curse 進行 UI 的維護與更新。關於 Curse Client 的安裝與使用方式我就不多提了,請自行閱讀說明 lol

底下是我的遊戲截圖,對其中的 UI 稍作介紹。UI 都能在 Curse 找到連結,我就不再拉了

  • 頭像 UI: Pitbull。以前我是用 X-Perl,3D 頭像比較酷 ! 不過還是簡單的條狀比較容易遍識。另外,Pitbull 的 Buff/Debuff 過濾需要一些調效,才能讓它符合需求
  • 團隊 UI: Grid。比起 X-Perl 的團隊 UI,能自訂顯示訊息更多。可以搭配 Clique 使用,讓補血更容易
  • 施法條 Quartz
  • 對話介面增強 chatter + chatlink
  • 快捷列 Bartender4: 彈性超高的快捷 UI,不過需要稍加設定,否則上載具會很慘 lol 畫面右邊有兩組快捷列被設定為淡出狀態,讓畫面看起來比較簡潔
  • 仇恨/DPS 統計 Skada: 我之前使用 Omen3 + Recount ,不過 Skada 資源消耗比 Recount 低很多。最近有可能會再換回去,Recount 統計的項目還是比 Skada 稍微多些
  • 冷卻時間/Buff 時間: Cooldown Timers 3 加上 Elkano's Buffbars ! 超強力
  • 小地圖 Chinchilla Minimap: 調成方型 + 隱藏不用的按鈕,畫面較簡潔
  • 任務 FastQuest Classic
  • 資訊列 FuBar,能整理各種資訊,也是個隱藏按鈕的好地方;強力推薦使用 InstanceInfoFu 與 WintrGraspFu;另外要裝 Broker2FuBar,讓某些為 Broker 寫的 UI ,也能顯示在 Fubar 上
  • 地圖加強 Cartographer : 這系列有很多模組可以裝,自己多試試吧 lol
  • 副本地圖 Atals
  • 副本掉落 AtlasLoot Enhanced
  • 交易 Auctioneer 全套,好用啊 ! 提供的數據很多,如果不想看那麼多東西的話,可以裝 AuctionMaster 比較簡單
  • 事件提醒 EventAlert,在某些機率性 Buff 出現時,發出聲音 + 圖像提醒
  • 採集助手 GatherMate, 認真種田的時候可以再裝 GatherHUD
  • 物品拾取/分配: XLoot
  • 背包 ArkInventory
  • 自動販賣 AutoProfitX
  • 介面管理 Addon Control Panel (ACP)
  • 錯誤處理 !Buggrabber + BugSack
  • 團隊 Buff 檢查 BigBrother
  • 死因記錄 Acheron : 比 Recount 的資料更齊全
  • 首領警告 Deadly Boss Mods,或者也可以裝 BigWigs
  • 解魔 Decursive,不過現在 dec 沒有以前那麼簡單使用了 XD 據說是被暴雪摸頭的關係
  • 馬里狗斯 (永恆之眼,EOE) MalygosStacks
  • 快捷按鈕倒數 OmniCC
  • 換裝 Outfitter
  • 戰鬥浮動文字 ScrollingCombatText + SCTD
  • 施法警告 SpellAlerter
  • 裝備評等 TankPoints, RatingBuster
  • 圖騰計時 TotemTimers
  • 交易技能查詢 TradeSkillInfo
  • 訓練師技能查詢 TrainerSkills3:如果升級學到的技能都不常用,就等下次升級再回去學吧 !
  • 飾品管理 TrinketMenu
  • 密語管理 WIM (WoW Instant Messenger)
  • 玩家管理 Karma : 可以為每個玩家設定天賦、分數等等,比好友名單更方便喔

在配置畫面的時候,我把螢幕分成幾個區塊:
  • 上方
    • 左上:任務追蹤
    • 正上:文字類型警告
    • 右上:數位電視 !!!!!!! 練等的時候順便看棒球,讚啦
  • 中間
    • 左側遠方:Buff 剩餘時間
    • 中間:主要區塊,又被分成 X 型,其中左下角為玩家血量,右下角是目標血條,左上角是玩家 cast timer,右上角則是目標與 Focus 的 cast timer
    • 右側:上方為 Focus 血條,下方為 Grid 團隊血量
  • 下方則依序為對話框、小地圖、Skada、主要快捷列
坦怪與輸出時,主要是把注意力放在中央 X 區塊,觀察場上狀況以及自己、目標、Focus 血量及 Debuff;因此在 X 區與左右兩側,都避免放置過多視窗,干擾視線。DBM 倒數快到時,會跳到中間血條區顯示,因此坦怪時眼睛幾乎不必移動 (除非要點怪當前目標阻擾)。

補血的時候則把注意力放在右邊的 GRID 區,偶而看看中間偏左的 CD Timer 看自己的大技 CD 剩多久;自己的血量與 mp 則改看 GRID 顯示。

如果有人有興趣的話,我再把自己用的 UI 放出來吧@@ 好累

2009-06-28

資料同步!

前陣子一直在煩惱要怎麼把資料在很多台電腦間同步的問題,也做過不少相關調查 ˇˇ 然而我對不同目錄的同步有不同要求,而且試過的幾套軟體又各有限制或缺限,實際用起來總是覺得少了某些功能。就在我差點要忍不住自己來寫的時候,Google 到某套神妙軟體,硬是補上了這個三不管地帶 XD 心情愉快之餘,把踹過的幾套軟體做個記錄。

  1. Syncback (可參考 阿德觀點 的這篇):
    • 檔案小 (1.7mb)
    • 有免費版本 Syncback Freeware
    • 僅支援 Windows 系統
    • 不會在要同步的資料夾中新增存放資料,因此 "刪除檔案/目錄" 後,程式會誤判成新增
    • 有中文介面,雖然翻譯有點慘 ˇˇ
    • 中文目錄名 ok !
    • 能透過 FTP 同步,但中文目錄常常會爛掉
    • 同步的一端可以是 zip 壓縮檔
    • 能做 One-way (backup) 與 Two-way (sync)
    • 以日期 (mtime) 與大小來判斷檔案是否修改過
    • 可透過此程式排程,或手動執行同步
  2. Subversion:
    • Freeware
    • 跟本就是套版本控制系統,拿來同步只能說是惡搞 !
    • 主從架構,所以要自己架 server (好在不難)
    • 需透過特殊介面 /軟體/指令 新增/刪除檔案與目錄
    • 協定跨平台,各平台 (Linux/FreeBSD/Windows/MacOS) 都有相對應的軟體可用
    • 妥善設定後,能以瀏覽器從伺服器直接下載檔案
    • 會在同步的資料夾 (遞迴) 下,放置 .svn 目錄存資料;以兩種以上的軟體對同一個目錄同步時,會有一些困擾
    • 功能強大,可以自己排程 (利用 crontab / at) 或手動 submit / update
    • 中文目錄名 ok !
    • 佔用較多硬碟空間 (版本控制系統,不意外 !)
  3. DirSyncPro:
    • FreeWare (GPL)
    • GUI 由 Java 寫成,啟動略慢,但有多平台版本
    • 能做 One-way (backup) 或 Two-way (Sync)
    • 以同步本地端資料夾為主,例如透過網路磁碟或隨身碟進行同步
    • 中文目錄名 ok !
    • 不會在要同步的資料夾中新增存放資料,因此 "刪除檔案/目錄" 後,程式會誤判成新增
    • 需手動執行軟體以進行同步作業
  4. Windows Live Sync:
    • 今天搜到的就是這傢伙 ˇˇ Microsoft 本家出品 !
    • 目前未收費,但限於 Windows 平台使用
    • 透過網路,自動對不同電腦上的資料夾進行同步,無需排程或手動執行
    • 若誤刪或改錯某個檔案,其它電腦上的對應檔案也會自動修改,科科
    • 妥善設定 (自己開後門 lol) 後,能從任意一台電腦以 live ID 登入,設定其它電腦間的資料夾同步
所以現在我以 Subversion 處理工作目錄,避免把檔案搞爛,並利用版本控制的優點方便隨時rollback;以 Live Sync 同步遊戲與娛樂相關目錄,加快處理速度,並避免我在切換電腦時,要花一狗票時間重設定;SyncBack Freeware 則用於將資料在電腦的內建與外接磁碟機同步。

2009-03-26

裝顯卡 driver

我現在有兩台工作用桌機,一台是 AMD Athlon64x2 5000+ 黑盒配 ATI 4670,另一台則是 Intel C2D 5300 搭配 nVidia 8800GT (512mb)。由於兩台顯卡驅動程式恰好都舊了,所以最近分別做過更新。

ATI 的流程相當簡單 (8.8->9.1 ?, Vista x64) ,就抓新版執行,然後等螢幕閃個幾次,收工。

nVidia 就麻煩得多 ˇˇ (? for vista x64 -> ? for Win7 x64) 執行安裝程式後,首先因為有舊版 driver,所以要先移除,然後重開機(#1);開機後 Windows 抓到顯卡,能夠運作,但執行 nVidia installer 後又跟我說有“需要重開機的變動”,所以也不給裝,我只好又重開機(#2)來套用這項變動,即使當時 Windows 的顯卡驅動程式已經正確作用,至少能辨識出顯卡的型號,而且桌面的 Aero 也乖乖動作。然後我終於能執行安裝程式,裝好以後毫不意外的,又被要求重開機 (#3) T_T

當然啦,作業系統不同 (Vista x64 vs. Windows 7 x64),兩邊更新方式不同 (ATI: 8.8->9.1 都是 vista 版;nVidia 是從 vista x64 版本跳到 Windows 7 x64 版本),所以這樣直接比較也未必公允,不過碎碎念是不必合於邏輯的啊!!

2009-02-28

Windows7 x64 Beta 使用小感想

微軟放出 Windows 7 Beta 讓大家測試有好一陣子了,
我比較怕死,所以今年才裝來玩 XD
相關連結隨便 Google 就有,我也懶得去查囉 lol

底下是隨便用用隨便寫寫的感想

  1. 軟體支援度
    這應該是重點項目吧 ! 我常用的軟體支援都不錯,目前只試到 RealVNC 4.4.3 Viewer (目前最新 release) 會出現 " setReflection() error"。官網有 RealVNC 4.4.3.2 Public Beta for Windows7 x64 ,似乎能解決這個問題。
    WoW 玩一玩會當機,原因不明,可能是 Fubar 系列 UI 出 Memory Leak,或者是顯卡 + Driver (ATI 4670 + Driver v9.1) 出錯;目前把另一張 8800GT 換上來測試,如果還是出現一樣的錯誤,應該就是 UI 的問題了 ˇ
  2. 硬體支援度
    和 vista x64 類似,該有的限制仍然存在著 XD
    智慧卡讀卡機驅動程式 WHQL 問題還是一樣的令人討厭。
  3. 操作介面
    我喜歡現在的工作列,雖然沒有 Mac 的 Docks 炫麗,但辨識度 (特別是滑鼠移上去時,出現視窗縮圖 -- 與 KDE 類似) 還算不錯。
    但在桌面上秀出視窗外框這點,感覺沒啥意義;如果沒卡專利的話,學 mac 的 Expose 將視窗位置分離 + 顯示內容,操作上會比較直觀。
    抖抖視窗將其它程式最小化,或者是將視窗移到螢幕頂端最大化,這兩點感覺沒啥用處。當顯示器多半是 22 吋起跳時,介面應該要改以 "不將工作中的視窗最大化" 去設計;最大化視窗還是以在標題列 dblclk 最快速,將其它視窗最小化則不實用。工具列右下角的 "顯示桌面" 按鈕感覺有點多餘,常使用這項功能的人,多半早就學會 winkey-D 這個快速鍵了。
    Aero ? 不覺得有多神妙就是了 XD
  4. 系統效能
    Vista 及之前的 Win OS 若在開機後過早登入的話,會因為磁碟頻繁讀取,使得作業速度相當慢,甚至有些程式會出錯 (timeout ?)。Win7 略有改進,至少不會因為系統程式的載入,嚴重影響使用者的操作 (雖然開一些吃 i/o 的程式還是會卡住,但最起碼電腦這時候還算堪用)。要解決這樣的問題,恐怕還是要依賴 ready boost 一類的技術吧 XD
    似乎對程式記憶體用量有改良,不過我裝 vista / win7 的電腦都含 4gb Ram,所以感覺不太出來 @@
總結:Win7 與 vista 感覺差異不大,但如果在記憶體不足的主機會有明顯差異的話 (有測試報告說 Win7 的系統需求與 WindowsXP 相仿),比起 vista 會是較值得購買/使用的 OS。作出這樣結論的主因並非它有什麼偉大的改進,而是 vista 太遜。

2008-11-19

ipfilter 隨手亂記

ipfilter 可以從這邊下載,vista 下的放置點:

  • emule: %APPDATA%\emule\config (吧,忘了裝 XD)
  • uTorrent: %APPDATA%\uTorrent

2008-11-13

SQLite + Python ?

前陣子想說,在 PHP 以外,應該學點其它的 Script 來用,所以選擇了 "There's only one way to do one thing" 的 Python ,而非 "There's MORE THAN one way to do one thing" 的 Perl。這是個人喜好問題,所以沒什麼好談的。

至於會想把重心偏離 PHP 的原因,是因為我堅信 "好的語言要基於良好的架構,以及寫得夠好的 manual (進入障礙低)"。十年前,PHP 的 Manual 相當易查易用,主頁面顯示兩層的內容,其中第二層便是函數名稱,且包含函數簡短說明。因此我在一夜之前 K 完其中的大半。幾個月前我又瞄了一下 Online Manual,發現整個架構變得難讀了。主頁面現在只顯示第一層分級,並且沒有說明;各函式的說明又跑到了第四層,而且在 1-3 層都沒有說明。也就是說,我必需要 Click 兩次才看得到函數名稱與說明;或者是,才知道我有沒有走錯分類。除了 Manual 變差以外,在 PHP 涵蓋越來越多功能以後,遲不引入 namespace (或 module) 的概念,會使得多人合作開發系統,或者是程式的引用越來越容易造成麻煩。

至於 SQLite 的故事就更簡單了。我一直有在摸 MySQL (雖然也只在爛使用者的水平),然後之前聽到 Izero 長輩說 KKBox 是用 SQLite 儲存資料,就對這個 Embedded DBMS 有點興趣啦。

然後幾週前,我想說既然平常都是用 PHP + MySQL 來寫東西,何不試試 Python + SQLite 呢 ? 網路上雖然有 Python 2.5 以後內建支援 SQLite3 的說法,不過我試的結果似乎不是如此 XD

  • Windows 版的 Python 2.6 內建 pysqlite2,所以支援 SQLite3。那個 "2" 是 pysqlite 的版本號。另外,我家 AMD AthlonX2 5000+ 跑 vista x64 裝 Python 2.6 AMD64 會當掉,真不知道這是給哪一家的 AMD64 裝用的 XD
  • FreeBSD 用 Ports 裝的 2.5 有包含 sqlite3 這個 lib 的目錄,不過似乎沒有加上 pysqlite2 的 dep。所以要再裝 /usr/ports/databases/py-sqlite3 這個 port
  • Ubuntu 裝太快了,我忘記當時有沒有點 py-sqlite 這個套件,下週應該會再組一台,到時候再看看;Mac 不在手邊沒得試 XD

2008-11-12

從 SQLite 看 SQL (2) :: 隨隨便便的資料庫說明

現在的 RDBMS (關聯性資料庫系統) 多半是長這個樣子:

  • Database 1
  • Database 2
    • Table 1
      • Column 1
      • Column 2
      • Column 3
      • * Index 1
      • * Index 2
    • Table 2
也就是說,資料庫系統底下有好幾個資料庫 (Database),每個資料庫底下有好幾個表格 (Table)。每個表格可以包含有好幾個欄位 (Column),然後每個欄位各自要設定名稱,資料型態,能不能為空值,等等的屬性。資料則是以列為型態在存表格內,稱為資料錄 (Record Set) 或是資料列 (Data Row)。為了加速搜尋,可以將表格的某些欄位設為索引 (Index),那麼在對這些欄位檢索資料時,速度就可能可以加快 (特別是對複雜的查詢)。

有些 DBMS 要求使用者先行登入,並且包含某種型態的權限系統;有些 DBMS (例如 SQLite) 就沒有這樣的設計。另外,有些 DBMS 會設計各種內建函式或語法,使查詢的方式變得更多樣化 (如果能透過下 Query 解決的問題,就不要把資料收到 Script / APP 裡用程式自己算),效能也更高;有些 DBMS 則因某種原因,而不提供某些語法。所以在使用時還是要 K 相關使用手冊。

另外在設計資料庫架構的時候,常有許多考量。這點就自己去 K Google 或翻書吧 XD 比較熱門的大概有正規化,還有寫程式碼時要避免 SQL Injection 等等。

SQLite 具有一些相當有趣的特性,大致上包含:
  • 無需設定
    SQLite 本身是嵌入式資料庫系統,因此無需繁瑣的安裝或維護資料庫系統本身的程序。其它資料庫系統雖然運作得也不錯,但光安裝就可以搞死人了。
  • 非主從式架構
    對大部份資料庫系統來說,你必需要先把它們裝起來,然後透過網路 (即使是連到 localhost) 登入進行作業。使用 SQLite 時,只要能有在硬碟讀寫檔案的權限就夠了。雖然如此,這也使得若程式有蟲,可能會影響到資料庫的正確性 (因為沒有 Server 來管理維護);並且資料庫檔本身的安全性也較差 (少了 Server 的權限控管)。
  • 資料庫只有一個檔案,而且可以跨平台
    SQLite 的資料庫是直接存在檔案裡的,而且檔案可以攜至各種平台使用。這樣備份,搬檔都很方便。
  • 精簡
    SQLite 在編譯後僅佔極小的空間,所以使用它的程式不會變得太過肥大。
  • Manifest Typing
    大多數 DBMS 讓 Column 指定型別,然後只允許符合型別的資料被儲存;SQLite 則讓每個值擁有自己的型別,因此你可以把字串塞進型別為 int 的欄位中。有人覺得這是 bug,不過 SQLite 堅持這是一項 feature。如果能被轉型的話,SQLite 還是會把資料轉成設定的型態的。唯一的例外是當碰上表格的 Primary Key 時,SQLite 會強制將值轉為 int。
    因為有這項特性,我在寫 SQLite 時都不太設欄位型別了 XD
  • 可變長度的欄位
  • 高級原始碼 -- 保證可以由人類看懂
  • 將 SQL 編成虛擬機器碼
    SQLite 會將丟進去的 SQL 指令先編成虛擬機器碼,再真正的去執行搜尋。使用 EXPLAIN 指令將能看到這些碼,有助於除錯等等。
  • 程式碼完全屬於公領域
    SQLite 是完全自由,不受著作權法干預的。(甚至不是 GPL,或是 CC !) 任何人可以將 SQLite 應用在他想要的地方。 (不過著作人格權應該還是受到保障吧,我亂猜的)
  • 對 SQL 的擴充性
    SQLite 提供一些提升效率的工具,例如前面提到的 EXPLAIN 與 Manifest typing。此外 SQLite 還提供了一些標準之外的語法,如 REPLACE, ON CONFLICT, ATTACH, DETACH 等。SQLite 甚至還有 API 讓你可以在 SQL 裡安插自定函數及 Collating Sequences (我不清楚這是啥 @@ 等 K 到這邊再說)

從 SQLite 看 SQL (1) :: 起頭

最近因為某種原因 (不是上次的幫 SPORE 蓋房子了),又回來碰了一下資料庫。隨手翻了一下,發現 SQLite 的官網文件中,關於 SQL 指令的說明相當淺顯易懂,因此打算沒系統的亂翻一下,順便給自己當個備忘。當然,網路上關於 SQLite 的特性與推廣已經夠多了,不需要在這複製貼上 XD

這系列文章的翻譯沒有時間表,更沒有行程表 ! 嚴禁摧稿 (OS: 其實跟本沒人要看吧,哭哭~) 預定之後會分別對 SQL 裡的指令,藉由翻譯 SQLite 文件中的對應項目來做說明。暫定可能照 CREATE, ALTER & DROP, INSERT, DELETE, UPDATE, SELECT, function, TRANSACTION 這樣的順序亂講吧。至於 JOIN, Sub-Query, EXPLAIN, VIEW 就看我能不能在寫到那邊之前,把它們弄熟了 XD

除了 SQLite 的官網之外 (那個指令結構圖還挺好用的),還可以念 MySQL 文件長知識 (2549 頁的知識啊 ~~~),或者看這邊的文章先有點概念。SQL 的歷史及說明可以翻 Wikipedia。

另外,由於 SQL 標準允許各資料庫系統在某些地方自由發揮,並且 SQLite 也未必遵守 SQL 的所有標準,不同的 SQL 版本標準也可能有異,因此這系列的文章必然無法涵蓋所有版本的資料庫系統。

WinXP 使用跨距磁碟區的小心得

這幾天因為氣場不順的關係,把手上的幾台電腦都弄到需要重灌 (kukuku~)
其中有台 P4 2.8G 裝的是 WinXP,就順手拿它來玩玩 Windows XP 內建的磁碟管理模式。
(主力桌機 AMD AthlonX2 5000+ 則是在 vista 之外,還裝了 Ubuntu, 目前使用 Kubuntu 8.10 搭配 KDE 4.1 桌面,有空再來聊這個 XD)

為了避免造成混淆,先將以下的幾個名詞加上定義。下列定義僅適用於本文,與業界或各軟體的說明不保證相同 ! (事實上,MS Windows 對於 "磁碟機" 和 "磁碟" 的用法恰好和我相反,哭哭 T_T)

  • 硬碟機 (HDD):實體的硬碟,或者是硬碟的實體
  • 磁區 (Partition) :是在磁碟機中,由如 fdisk 等軟體劃分出的區塊
  • 磁碟 (Drive):指的是由單一或數個區塊組成的邏輯單位,能夠直接被掛載 (Mount) 到一個磁碟代號 (MS),或者是掛載成為另一個磁碟機的某個目錄 (Un*x, 或使用 NTFS 的 MS)
一般情況下,硬碟機最多能分割出四個磁區,包含主要磁區 (Primary Partition) 或至多僅有一個的延伸磁區 (Extended Partition);每個延伸磁區可以再被割出數個邏輯磁區 (Logical Partition)。其中的主要與邏輯磁區,可以當作 Drive 被掛載。平常的 Drive 都只包含一個 Partition。

但在某些情況下,一個 Drive 會包含多個 Partition,例如 RAID 。簡略的說,RAID 就是把數個硬碟機或磁區,經由軟體或硬體的方式,變成一個 Drive 的技術。透過不同的設定,RAID 能夠提高資料的可靠性 (自動的備份與錯誤較正)、加大硬碟容量且資料讀取速度、將 RAID 整體或其中的部份硬碟機取下或更換 (熱插拔、抽換) 等等--這些特性未必同時存在。

Microsoft Windows 從 2000 之後 (含 Server 2003, 2008, 特定版本的 WinXP, Vista ),內建支援某些軟體 RAID 模式,其中使用的名詞大略意義如下:(註:微軟口中的磁碟,指的其實是我的磁碟機,反之亦然)
  • 簡單磁碟:單純的,古典的硬碟使用方式,能夠被轉換成動態磁碟,以支援其它格式
  • 動態磁碟:轉換過的簡單磁碟,支援下列各種特性。無法被轉回簡單磁碟 !
  • 跨距:Spanned Volume,應該算是 RAID 中 JBOD 的一種實作吧 XD (兩邊都有 RFC 或 IEEE 標準啦,不過我懶得看) 注意:RAID JBOD 裡只要有任何一顆磁碟損壞或被拔除,可能會搞爛整個 RAID 的資料;MS Windows 沒有提供任何從跨距磁碟中取出資料的工具程式。系統碟似乎無法建立成跨距磁區。
  • 鏡像:對磁區的 RAID1 (Mirror),因此若其中任一磁區損壞,資料仍然能夠讀取。
接著是要如何在 WinXP or Vista 上建立跨距或鏡像磁碟的步驟簡述:
  1. 電腦上安裝正確的作業系統。Windows XP Home 已知無法建立動態磁碟,Vista 的各版本我不確定 XD 另外,要確定至少有某顆磁碟有足夠且未分割的空間。若是要對某磁碟機 (而非磁區) 建立鏡像的話,可能會需要有兩顆同樣型號的硬碟機;如果要對某磁區建立鏡像的話,需要有大於或等於該磁區大小的未分割空間。
  2. 進入控制台 -> 系統管理 -> 電腦管理 -> 磁碟管理。
  3. 將牽連的所有磁碟機 (包含有未分割空間的那顆) 都轉換成動態磁碟 (右擊 "磁碟#" 的區塊就會有這個選項)。只有動態磁碟機上的磁區,才能夠成為鏡像或跨距磁區。如果轉換的磁碟機包含系統碟的話,需要重開機。
  4. 在要建立鏡像的磁碟機或磁區,或是要轉換成跨距的磁區上按右鍵,點選想要的選項
  5. Windows 會幫你帶出可能使用的磁碟,點選後便完成。
重點在於要有未分割的空間,並且使用的磁碟 (包含原本與要擴充的部份) 都先轉成動態磁碟。否則選項可是會灰給你看喔 XD

2008-10-31

Matlab 的編碼與中文顯示

雖然 Matlab 官方宣稱字串在變數 (Workspace) 與二進位儲存檔 (.mat) 是使用 Unicode 編碼,據稱為 UTF16be,不過使用 Editor 編輯儲存時,似乎沒這麼回事 T_T

在 Vista 底下,預設使用 C950 (Big5) 編中文就算了,在 Mac OSX 上 (明確設定 LANG, LC = zh_TW.UTF-8) 還是給我存成 Big5 就有點過份了。更糟的是,餵 Unicode 給它 (UTF8, UTF16, UTF16be) 通通看不懂 !!!!!

也就是說,預設 Matlab 的主程式基於 Unicode 運作,自帶的 Editor 只看得懂 Big5 編碼。有空再試試這樣的限制是來自於 Editor 還是 JRE 。

另外,在網路上也看到了一些關於 Matlab 使用中文發生問題的解決方式,簡單整理如下。Matlab 7.x (2006 以後的版本) 確定支援中文 (只是編碼很笨而已 XD),若無法正確顯示,多半是字型設定的問題 (Windows / Un*x 都是)。只要更換為包含中文的顯示字型便可以正常輸入顯示。順便推薦網路上爬到的 雅黑 + Consolas Hybrid 字型,畢竟寫程式用的字型,一定要能清楚區別 "I,l,1", "0,o,O", "i,j" 這幾個不同的字元。該字型中文部份使用微軟雅黑,為了避免授權的問題,請需要的人自行 Google 吧 XD (認識的當然可以直接要啦 :p)

2008-10-29

安裝網路印表機簡易說明

底下是寫給實驗室的同學與學弟妹看的東西,可說是相當基礎,但好像也很多人不會 @@

要在 Windows 平台下,透過網路上的芳鄰安裝印表機,可以遵循以下步驟:

  1. 確定 Client (MS Windows) 有裝通訊協定 (File & Printer Sharing for Microsoft Network),並且 Server 端的防火牆允許 LAN 對網芳進行連線 (在 Linux / FBSD 上就是 Sambad)
  2. 從 Client 端執行 "\\電腦名稱" 或 "\\電腦IP",連線到 Server。有些情況下在 Server 會需要以特定帳號登入以取得權限。
  3. 在想要安裝的印表機上 DblClick
  4. 有些時候,Server 所提供的列表機驅動程式無法為 Client 所用 (例如 Windows -> Linux,或是 WinXP -> Vista),就需要手動選擇印表機的型號。舉例來說,我們實驗室的 HP LaserJet 3380 在我家 WinXP 上找不到,但使用 HP LaserJet 的驅動程式便能正常運作。

如果要除錯的話,也是從這個流程往下跑,先看網路協定有沒裝好,之後是連線有無被擋掉,驅動程式是否安裝正確,最後看 Server 端使用者權限是否足夠。

2008-10-27

羅技滑鼠送修記實~


早先就聽過羅技產品送修換新絕不馬虎,一般是良品或新品替換,已停產的產品則會更換成同定位的新產品。不過用他們的產品 (滑鼠和 WebCam) 到現在,還是第一次享受到這樣的快感 XD

放在實驗室的 MX518 滑鼠從兩週前開始,觸鍵偶而會變得很怪異,像是除了 0 與 1 之外,多了一個 0.5 的 state。按下按鍵時會有 "喀喀" 兩聲,第二聲時才會真正觸發按鍵。從按鍵的基部按下,會比較容易誘發這種狀況。

之前寫了客服信去跟他們碎碎念,回信說滑鼠仍在保固期內,可以寄回去或帶到維修中心去處理。原本想說送到維修中心,應該還是需要幾天拆解除錯,想不到他直接就進去變了盒 MX518 出來 XD 雖然今天帶滑鼠過去時,並沒有發生有問題的狀況,但客服人員直接換新的處置,讓我相當的佩服呀。

即使產品的價格是其它公司的 1.5 倍,但考慮到保固期,客服人員的訓練,以及產品的保障 (直接換良品/新品,能避免客戶待料或備料的不便;從產線出來的產品,感覺上也比維修回來的東西 MTBF 更長 XD),我是覺得花錢買羅技的東西相當值得啦 XD

所以現在桌上就有新的 MX 518 可用啦 XD (背包裡還有準備頂著用的兩隻滑鼠 @@ 超囧)

順道一提,之前買某除溼罐碰到瑕疵品,到他們公司客服信箱去碎碎念一週多了,到現在什麼回應都沒有 -_-# 雖然說傳統產業很難像羅技一樣,將流程高度電子網路化;可是既然在公司網頁上留了客服信箱,又不理不採,感覺就很爛。

2008-10-18

KKBox (Win) 4.0 Bug 小補充

前面這篇提到的 Bug 主要是關於在 KKBox (Win) 4.0 裡,匯入歌單 (無論是 .kbl 檔或是從網路取回備份 <-- 我想機制其實應該是同一個) 時,歌單中的歌曲可能會消失,變成只能由 "全部歌曲" 找到。但匯入完畢後,重新開啟 KKBox 時,歌單的內容不會有任何改變。

然後前天其實還有碰到另一隻 Bug ,上篇忘了寫 XD

新增歌單,搜尋 "陶喆" 的所有歌曲,然後 [用滑鼠把歌拖到歌單裡 | 在任何一首曲子上按右鍵,選全部新增到 [前面新增的歌單 | 新歌單 ]],之後重新啟動 KKBox。
Boom ! 恭喜所有歌單錯亂,情況與前面那篇類似 XD

我不確定這樣的情況是否只會發生在新增陶喆的歌曲,亦或所有歌手皆如此。所以在新增或編輯歌單前,建議還是要先備份喔 XD (拷貝整個目錄喔,匯出的檔案會在匯入時再度踩中 Bug)

2008-10-17

KKBox 4.0 有 Bug

真的,我真的應該去做軟體 QA 的 XD

發現 KKBox (Win) 4.0 在歌單匯入匯出方面的 Bug。
當以 "匯入歌單" (從另一台電腦匯出的 .kbl 檔) 或是 "取回線上備份" 取得歌單時,會把 KKBox 的歌單整個抖亂。匯入的歌曲都會出現在 "全部歌曲" 歌單中,但其它所有歌曲或歌單都可能會亂掉,包含下列各種情型:

  1. 歌曲所屬歌單被吃掉,因此只能從 "全部歌曲" 抓到那首歌
  2. 歌曲所屬歌單被改掉,出現在不正確的歌單裡
  3. 歌單內裝的歌曲亂七八糟,包含有原本屬於與不屬於此歌單的曲子
  4. 歌單消失不見
KKBox 沒付錢給我,所以我也懶得去抓是怎麼回事 XD
不過我會建議所有人 "不要升級至 KKBox Win 4.0 版",並且避免使用匯入匯出等方式在主機間傳送歌單。如果真要同步的話,將使用者家目錄下的 Music\KKBox\systemu.dat 複製到新主機去就 ok 了 (至少整個目錄 cp 過去對我有效)。

KKBox Mac 版本匯入及取回線上備份均正常....

2008-09-16

SQLite + Visual Studio 2005

SQLite 是一套 Embedded RDBMS,很適合加進 App 裡頭跟著跑,並且資料庫檔能輕鬆跨平台。關於其它 SQLite 的優點,可以拜 Google 大神或查 Wikipedia 取得。或許效能與支援度未能與其它 DBMS 相比,但你總不會想為了暫存 Spore 裡的建築方式,去安裝這些巨獸吧 XD


參考這篇討論串的作法,我下載了 SQLite for ADO.Net 2.0,目前使用正常 XD

底下簡述安裝及使用方式,作個記錄備查:
  1. 下載並解壓縮前面的 SQLite for ADO.Net 2.0 檔案
  2. 安裝 bin\Designer\install.exe,以提供設計階段的 VS.Net IDE支援
  3. 在方案中,加入對 bin\System.Data.SQLite.DLL 的參考
  4. 可以用了 !
下面是簡單的使用範例,語言為 Visual Basic.Net


Imports System.Data.SQLite

' ADO.Net 標準 Reader 三物件
Dim slconn As SQLiteConnection
Dim slcmd As SQLiteCommand
Dim slrdr As SQLiteDataReader

'建立 connection,給定檔名即可。注意讀寫權限 !
slconn = New SQLiteConnection("Data Source=c:\backup\Test.db3")
slconn.Open()
slcmd = slconn.CreateCommand() '建立 command 物件

'取得目前該檔案已有之 Table 名稱
Dim found as Boolean = False
slcmd.CommandText = "SELECT name FROM sqlite_master WHERE type='table';"
slrdr = slcmd.ExecuteReader() '建立 reader 物件
If slrdr.HasRows Then
While slrdr.Read()
MsgBox(If slrdr.GetString(0))
If slrdr.GetString(0).Equals("test") then found = True

End While
slrdr.Close() 'Reader 要關閉才能再利用

End If

If Not found Then
'建立 Table
slcmd.CommandText = "CREATE TABLE test (name);"
slcmd.ExecuteNonQuery()

End If

'INSERT, UPDATE, DELETE 用法均類似
slcmd.CommandText = "INSERT INTO test(name) VALUES ('clifflu');"
slcmd.ExecuteNonQuery()

'SELECT 需要用 cmd.ExecuteReader 抓結果
slcmd.CommandText = "SELECT name FROM test ;"
slrdr = slcmd.ExecuteReader()
If slrdr.HasRows() Then
While slrdr.Read()
Msgbox(slrdr.GetString(0))
End While
slrdr.Close()

End If

slconn.Close() 'Connection 用完要關

2008-09-06

KKBox on Mac 秘密流出版亂用感想

三個多月前,因為某些不很複雜的原因,我刷卡買了半年期的 KKBox,現今仍感到相當值得 XD 7xx 元拿去買專輯的話,了不起就是兩三張吧 :p

KKBox 好用歸好用,可是我平常出門帶的都是 MBA,醬就算有網路也聽不了音樂啦 T_T 若要帶 Dell 出門的話,主機變壓器滑鼠背包隨便算都是 5-10kg 起跳,對快要步入中年的大叔來說負擔也不算輕。這次恰好在 ptt 的 Mac 版上看見 Izero 大大發佈測試版 KKBox on Mac 的消息,當然是寫信過去毛遂自薦一下了 XD 這邊是發表在 blog 上的版本。基本上目前 bug 還算有一些,選單的中文化也尚未完成,再加上我也沒有取得 Izero 大大的同意,所以想要檔案的人還是去找他要吧 XD  KKBox 可以在這邊註冊試用,喜歡的話再花錢購買^^; 


雖然台灣的 Mac 使用者數量一直是穩定、緩慢、微量的增加,不過 Izero 大大在 KKBox 裡推動對不同平台的支援,其心可鑑!反觀有些服務業的網站把自己綁死某些系統底下,連帶限制使用者只能用那些系統連入;這樣的服務品質真的應該要抓起來打屁股~~

然後這份軟體是測試版,有 Bug 在所難免,請不要寫信去跟 KKBox 說要延長 60 天的服務喔 XD

註:所有的選單和名詞都是我亂掰的,看不懂的人請升級幽默套件到 4.7 版。

主操作介面:

左邊是  Mac 的介面,然後右邊是 Win 版本的 XD 兩邊看起來其實差不太多,對轉換平台的使用者應該不會造成混淆。不過仔細看還是會發現一些差別 @@ Win 版本右下角可供切換的選項比較多,對我影響最大的功能,應該是歌詞動態顯示吧。Win 版本的 KKBox 可以在下面的播放區塊顯示歌詞,而 Mac 版本的不行。Mac 版本只能在主要播放視窗點選 "歌詞" 顯示,其它模式通通叫不出來 T_T 人家說風雨生信心,台北這兩天大風大雨的,我想應該下一版就會有了吧 XD


歌曲選單介面:

↑ Win 標準介面 ↑

↑ Mac 標準介面 ↑

↑ Mac 專輯檢視介面 ↑

↑ Mac CoverFlow 介面 ↑

↑ Mac 無敵全螢幕 CoverFlow !!! ↑

Windows 版的 KKBox 只有一種檢視介面,Mac 有四種 XD 聽說只有 Leopard 以上才能用 CoverFlow 喔。休息的時候開全螢幕 CoverFlow 還挺有音樂播放機的樣子 :p


偏好選項:
現在的多媒體播放軟體好像都會去設定 IM 的即時狀態了 (抖),大家在看片子的時候千萬要小心喔 XD 我覺得 Win 版的偏好設定有些東西寫得太雜了,適當的播放品質和傳輸埠應該是軟體自己就可以測試出來的啊 :p


控制選單:
兩邊的選項差不多 (OS: 廢話嘛,難不成要寫什麼 "失去控制" 或 "左翼的彈幕太薄了 !!!" 這種東西嗎),不過我覺得 Mac 版用 CheckBox 做 Shuffle 選項比較直觀。在快速鍵方面,由於我平常離線聽音樂還是以用 Winamp 為主,所以還是比較習慣用 zxcvb 去控制 XD 


播放器介面大變身:


點下去以後變這樣:

上面是精省化過的 KKBox,底下則是被擠成蘋果汁的 iTunes。我只能說還是小蘋果的介面比較好看 XD 把播放器縮小的主要目的應該是想看到播放資訊,同時又能從事工作;如何壓縮所使用的桌面空間,並把需要的資訊呈現出來,其實是相當困難的課題。我沒寫過 Cocoa,不過如果能把上面標題列的空間縮減,按扭縮小擠到左邊,字型縮減,把播放時間放到視窗底下當作 progress bar,然後在主要區塊顯示歌名、歌手及歌詞的話,應該會相當實用 XD



這兩種 Windows 版本的迷你播放器介面都有歌詞可以看啊 T_T 



然後比較麻煩的是,mac 版的 KKBox 無論是 cpu 的使用量 (Win: 0-2% on T7500 2.2GHz / Mac: 10-12% on Pxxxx 1.6GHz),或是記憶體使用量,都比 Win 版本吃得更兇 T_T

目前我玩到的 Bug 有:
  1. Mac 版 KKBox 狂暴 seek progress bar 可以把播放器搞當 XD
  2. 把所有歌單 (除了刪不掉的 "全部歌曲" 以及 "我的最愛") 都刪掉,會把歌單資料庫弄爆炸
上述 KKBox 的版本是 Mac: 0.8.34 / Win: 3.2.0076 (0136),新版推出以後全都說不得準啦 XD

[ 延伸閱讀 ] :這邊是老地方冰果室對 KKBox on Mac 的看法

2008-09-05

Google Chrome 感想超速報

  1. 啟動執行都很快;
  2. 吃記憶體兇;
  3. 據說安全且穩定;
  4. 介面簡單,但設定自由度偏低;
  5. 畫面可用區塊大,甚至還能以 "應用程式" 的方式開啟網頁,完全省略瀏覽器的 UI;
  6. 操作滑鼠滾輪、TouchPad、觸控版時會有蟲子,對我影響頗大 (躺在床上與泡澡時,我習慣以 TouchPad 作為主要操作介面);
  7. 目前沒有 extension 可用 (對,沒有 Adblock !),聽說一週內會有新消息;
  8. 我希望它能整合 Google Browser Sync 的功能,在不同電腦間同步書籤;我同樣希望它能整合我在同一台電腦上,不同瀏覽器的書籤;
  9. 有沒有可能比照目前執行 plug-in (如 Flash) 的方式,讓 ActiveX 也能在 Chrome 內運作呢 ? 架構上看來是有可能的;
  10. 書籤編輯與管理功能薄弱,該不會之後又出個 Google Bookmark 網站,讓 Chrome 透過它同步,並且可由其它瀏覽器連入,甚至是公開自己的書籤集吧 (書籤網站該小心囉);
  11. 希望網址列能像 Firefox3 的 Ubiquity 一樣,能以特定或自定語法開啟網站;
  12. 在 Vista 的 Aero 介面下,標題列有點太高;

2008-09-03

哭哭 Chrome 踩到蟲

剛玩 Crome 時發現滑鼠和 TouchPad 在捲動頁面時會怪怪的,跑去 bug report system 發現兩個小時前就有人踩過這隻蟲了 XD


我發現如果在控制台把滑鼠捲動設定為 n 行的話,滾輪上下捲不會有問題,但是用 TouchPad 的虛擬捲動無法上捲,而且虛擬下捲會變成差不多兩倍快;如果是設定成捲動一頁的話,滾輪上下捲會相反而且變慢,然後 TouchPad 還是不能上捲,虛擬下捲則是會被反相 (向上捲)。

我在 Dell 1520 跑 vista business x64 SP1 搭配內建觸控版 (Synaptics V6.3) ,以及兩隻外接滑鼠 -- Microsoft Bluetooth Mouse 5000 和另一隻 Logitech 的小滑鼠 -- 能夠完整的重製這個問題。大部份回報這個問題的人使用 vista,不過其中也有看到用 windows XP SP3 的。

總之 Web 2.0 時代的精神就是 always Beta ,G 社會這樣也不令人意外啦 XD

Google Chrome 出來囉!!

從 Google Chrome 昨天發佈風聲之後,我就把他們的首頁加到 FireFox 3 SpeedDial 裡頭監視。剛玩 DMC4 想說休息一下回來看個網頁,就發現 Chrome Beta 正式野放囉。


關於 Chrome 的特性 (官方說詞),其實 Google 有先放出一份漫畫稿。大致整理一下,就是說 Google 看其它 Browser 不爽,所以拿 Safari 的引擎 WebKit,兜上自己寫的 Javascript 核心 V8,決定自己做瀏覽器。這隻瀏覽器的特點有:
  • 開發程式碼時,在 Google 總部內有許多猴子能幫忙比對現有網頁的呈現效果是否正確。
  • 多行程 (Multi-process),所以 tab 裡的每個頁面當掉,對其它頁面不會有影響。除了穩定性以外,對安全性也有幫助。
  • V8 加強對 javascript 中型別的控制,以將 js 編譯成 machine code 執行,也加強了記憶體回收 (Garbage Collection) 的效能。V8 對龐大的 js 架構做最佳化,因此在執行 Web Application 時效能更佳。
  • 內建 Phishing / Mal-ware 防堵清單 (這個幾乎所有 browser 都有)。
  • 更佳的權限控制,將瀏覽器與網頁本體分離 -- 包括內嵌的 Plugin (猜想如 Flash 一類) 
  • 上述為我以很糟的記憶力、貧乏的專業知識、以及唯恐天下不亂的個性亂整理的重點。

實際使用 45 分鐘後的感想如下:

優點:
  1. 執行速度真的不錯,然後頁面真的很有 Safari 的感覺 XD (之前做怪怪的電子報,測試測到看內容就分得出是 IE 7, FF 3, 還是 Safari T_T)。跑 Google 的 js 怪獸軟體更是有感覺,例如 Gmail 與 Google Docs。
  2. 可以亂拖的 tab 相當方便,特別是在查詢一些需要交互參照的資料時。
  3. 介面簡潔直觀,雖然我還是不太習慣看沒有 status bar 的視窗。
  4. 對既有網頁 (Flash,Java,Silverlight) 的支援度還算 ok,然後很明顯的不可能支援 ActiveX XD
缺點:
  1. 我一直覺得 Google Browser Sync 會在 Chrome 上重現 T_T
  2. 雖然能自其它瀏覽器 Import 設定應該算目前趨勢,但對 Google 的期許較高也是很正常的事。除了能與 Server 同步以外,整合本地端的其它瀏覽器也是很實用的啊!!!! 
  3. Config 可以改的設定真是少到可以 XD 或許以後會有人寫/發現某些 tweak 
  4. 沒有 Extension !!!! 我指的是 "連要從哪邊裝都找不到" 的沒有,而不是 "主機上沒幾套可以用的 Extension" 的沒有 囧rz~
  5. 書籤管理有點弱,當 FF3 可以輸入名稱、網址、描述與標籤的時候,Chrome 只給打名稱和網址,似乎是回到 IE4.0 之前的邏輯去了 (免責 !! 我的記憶力不好 !!!)
  6. 啟始畫面很明顯是向 Opera 與 FF3 :: SpeedDial 的模式致敬,不過供選擇的視窗只能由 Google 決定有點虛。當電腦會由多人共用時,這樣的推薦跟本就沒啥效用。
  7. 當有些網站使用 ActiveX,然後這些網站其實又挺重要時 (例如 Windows Update 或多數銀行線上 ATM 網頁),我還以為 Google 會內建類似 IE Tab 的功能,只是由 Server 來維護這份 IE-only 網頁清單呢。或是更邪惡的,把 ActiveX 也套上其它 plugin 的架構,然後讓 Chrome 成為第一個能讓 ActiveX 正確顯示的 non-MS browser :p
** 補充 1 **
在視窗中按 shift-Esc 可以叫出工作管理員,能看到各頁面及 plugin 佔用的 cpu 資源與記憶體,感覺不錯。

官方有提到所謂的無痕模式,將不會記錄該 Process 的所有行為,除了新增 Bookmark 與下載檔案以外。大概只有準備送禮物給人,還有偷逛不好的網站有用吧 XD 相比之下,Sandbox 自動轉為 Jail(而非禁止執行)的這項功能還比較讓我有興趣,至少逛一些壞壞的網站時能放心點。

網址列聽說可以用各種引擎搜尋,不過我還試不出按法。FF3 Ubiquity 一整個比較好用。

Chrome 內建檢視原始碼 (Ctrl-U) 與 "檢查元素" 功能雖然比不上 Firefox 的 Web Developer,不過也算是各瀏覽器內建中最好用的。

2008-09-02

當 Google Browser Sync 碰上 Google Chrome

Google Browser Sync 是一個我之前還滿喜歡的 Firefox 2 Addon,由 Google 出品,功能是將 Firefox 2 的書籤、History、Cookies、Stored Password、Tabs 透過網路加以同步。雖然也有聽說它把書籤搞爛的故事 (Foxmarks 比較穩),不過整體功能還是相當強大。雖然如此,當 Firefox 3 推出之後,Google Browser Sync 卻沒有跟上 -- 當時在某 blog 上看到的原因是 "程式員被抓去做其它 Project 了"。當然,Mozilla Labs 做了一個帶類似功能的 Weave ,不過當時它同步時,整台電腦都會變的相當 Lag (Weave 1.00.1),然後我就把它砍啦。

總之 Google 即將推出 Chrome,聽說是個 Mozilla-based天哪,我一定是白天被動吵醒超級火大亂打,明明就是 Safari 的 WebKit 引擎 T_T。看來把 Google Browser Sync 搞死的 Project 是啥,大家應該心裡有數了吧 XD (不過話說回來,Google Browser Sync 能 Access 到的資訊主要還是 History 與 Bookmark,偏偏這兩者靠 Google Toolbar 就能取得。從這樣的角度出發,Google Browser Sync 對 G 社產出的邊際效不高,會停止發展也是意料中事)