1. Vista 初體驗 - (DISK篇)...

    Vista 試了兩天, 果然是有隱藏很多驚喜在裡頭. Microsoft 真是家不簡單的公司... 小地方我就不寫了, 我只寫對我比較特別的部份:

    [Volume Shadow Copy]

    因為我是把原本 file server 的工作都移到 desktop 上, 因此 vista 終於把 vss 納入, 真是福音一件啊 [:D], 原本我的 server 放照片的那區, 有雙重保護 ( RAID-1 + Volume Shadow Copy ), 換到 XP 時心裡很不安, 保護都沒有了. RAID 可以用主機版上面的取代, 不過可以預防不小心被吳小皮 or 老婆大人砍掉照片的 VSS 就沒有了. 昨天發現 Vista 有提供 VSS 真是感動啊... ( Microsoft 你什麼時後才要把 RAID-1 加進來...? 用主機板內建的 RAID 很可怕啊... )

     

    [Windows Complete PC]

    另一個驚喜, 是老早就知道的, 就是 vista 開始內建 disk image 的工具 ( windows complete pc, ultima 版限定, 像 ghost 那樣的東西 ), 這沒什麼特別的, 不過試用一下的發現才發現, 做出來的檔案格式, 就是 VHD ( virtual hard disk ).

    頓時覺的, Microsoft 真是間可怕的公司, 難怪他老是立於不敗之地. VHD 是 Microsoft 在 virtual machine 上面推廣的 virtuah hard disk 格式. Virtual PC / Virtual Server 都是以這個格式為 vm 的 disk. 一年多前才公開了 vhd 的 spec, 廣邀各方拿去使用, Virtual Server 2005 R2 SP1 也將會提供 VHD mount 的工具. 這樣佈局下來, ghost 早已不是對手了, 我還沒試過, 不過未來 vista pc 要移到 virtual machine 內應該就更簡單了, 只要做好 disk image, 再用 vm 掛起來, 搞定收工. 這麼讚的事一定要找時間來試一試.

     

    [Microsoft iSCSI Initiator]

    另一個驚喜, 是 vista 竟然已經內建 Microsoft iSCSI initiator... 這個倒沒什麼特別的, Microsoft 老早就 free download 了. 不過我覺的它背後的意義, 是不是代表 client 已經做好 iSCSI client 的準備, 未來 windows server 就會內建 iSCSI target ? 會的話, 格式就會直接用 .vhd ? Virtual PC / Virtual Server 就有進一步的機會直接從 iSCSI target mount disk 來 boot vm ? 哇哈哈, 之前我找半天才湊起來的 solution, 看來以後有望內建了 [Y]

     

    Microsoft 真是個不簡單的公司, 它總是很能利用 software 要 reuse 才有價值的理念, 打贏過去的每一場仗. 從當年的 office, 到 netscape, 到現在的 visualization solution, 還有 .net technology 都是... Microsoft 要跟 netscape 對打, 不是做出更好的 IE 內建而以. 它既然花了心力去打造 IE 這瀏覽器, Microsoft 一定會有 SDK, 讓到處都可以用的到 IE. 從 HTML Help, 檔案總管, windows 桌面, 到每一個小軟體都可以開網頁 (像 msn messenger 裡玩 game 就是), 還有一堆 Microsoft 的管理工具都看的到 IE 的影子, 除非你不用 Microsoft 的軟體了, 不然就算你用 FireFox, 你還是甩不掉 IE...

    其實這樣的例子很多, Microsoft 每一場重要的戰爭都是這樣贏的吧, 不知道 vista 裡還有什麼驚奇, 我再來研究看看... [:D]

    2007/03/28 Tips 技術隨筆 有的沒的

  2. 升級 Vista ...

    家裡的 PC 決定改裝 vista 了. 原本的機器是跑 windows 2003 x64, 機器很閒, web site + file server 跟本用不到 5% 的 loading, 就決定改為桌機...

    計劃中這台 pc 要能處理這些事:

    1. 最基本的 network service, 包括 RRAS, IIS, Media Service, SQL express, DNS, DHCP, SMTP.
    2. File Server, 原本用了 windows 內建的 RAID-1, 還有 Volume Shadow Copy, 保護自己的檔案, 如照片, DV拍的影片, 還有一些個人檔案等...
    3. MCE, 看電視, 錄電視, 節目表... etc
    4. Batch job, 如 weekly backup, video encoding... etc
    5. 桌機, 不外呼上上網, 玩玩 game 之類的需求

    最麻煩的部份就是 (1) 跟 (3), 跟本是互斥的 option ... [:'(], 兩者跟本沒機會湊在同一套 os 裡... 最後我決定用很兩光的作法, 把 (1) 移到 virtual pc 的 guest os, 其它 (2) (3) (4) (5) 則留在 host os 上.

    Host OS 就用 Vista Ultimate, 果然年紀大了, 之前被 MCE 的上網啟動問題搞半天, 這次不想花這種時間了, 剛好有優惠價, 就去買了套正版的來用 [:$], 不過換機真的是大工程, 之前為了把 (1) 的部份移到 vpc 就搞了半天. 到最後, 發現原本提供的服務用了 E6300 + 3GB ram, 換到 vpc 只開 256mb (vpc 不支援 SMP, 因此 cpu 只用到半顆), 問了一堆人都不覺的有變慢 [:|], 果然換機是對的... 以前太奢侈了... 現在是 vpc + 512mb 在跑..

    Vista 已經到手了, 裡面有附 32 / 64 位元版, 不過正式換裝又是另一個大工程, 這個禮拜就先灌到 vpc 裡玩看看吧 [:D]

    2007/03/27 技術隨筆 有的沒的

  3. 如何透過命令列, 從手機搬檔案到電腦?

    這年頭了, 還有誰需要這種東西? 要搬檔案, 不就 active sync 連好, 檔案總管一開就好了?

    不過問題沒這麼簡單... 先列一下我的需求跟問題:

    1. 要能自動化, 能寫在批次檔內
    2. 要能搭配 DigitalCameraFiler 自動歸檔手機的相片

    本來想的很簡單, 看看檔案總管的路逕, 寫在 xcopy 後面就好, 沒想到 ActiveSync 提供的 browse device 竟然只是個 shell extension, 只是讓你 "用起來" 像是 local 的檔案而以 [:'(]

    看來不修改 DigitalCameraFiler 直接讀手機的相片是不可能了, 最快的方式是找到能用命令列工具, 把檔案搬出來, 再接著用 DigitalCameraFiler 接手... 順手 google 了一下, 找到了這兩種 solution:

    1. http://www.codeproject.com/ce/rcmd.asp
      透過 Microsoft 提供的 RAPI, 寫了一個 command line 的 tools 可以辦到
    2. http://www.microsoft.com/taiwan/msdn/library/2004/...
      MSDN 的文章, 介紹如何用 .net 開發像 (1) 這樣的 tools ...

    懶人我當然是先試 (1), 可以耶!! :D, 批次檔裡動點手腳, 先把手機裡的照片檔搬到暫存目錄, 再丟給 DigitalCameraFiler 處理就好, 批次檔只要這樣寫:


    ' 用亂數取得暫存目錄名
    set RND=%RANDOM%

    ' 建立暫存目錄
    md %TEMP%\%RND%

    ' 照片 copy 到暫存目錄
    D:\WinAPP\MobileTools\rcmd.exe copy "\Storage Card\My Documents\My Pictures\*.jpg" %TEMP%\%RND%

    ' 砍掉手機上的照片
    D:\WinAPP\MobileTools\rcmd.exe del "\Storage Card\My Documents\My Pictures\*.jpg"

    ' 相片歸檔
    D:\WinAPP\Tools\DigitalCameraFiler\ChickenHouse.Tools.DigitalCameraFiler.exe %TEMP%\%RND% %1

    ' 砍掉暫存目錄
    rd /s /q %TEMP%\%RND%

    ' 清掉環境變數
    set RND=

    不過即使如此, 還是花了點時間看了 MSDN 那篇文章, 原來 Microsoft 官方都沒有把 ActiveSync 提供的 Remote API 包成 .net 版的 class library, open source 的組織就已經做好了, 連 MSDN 官方文件都引用它來試範... 哈哈, 提供一下 link:

    OpenNETCF 網站

    這個 wrapper 包裝的 API, 功能一點都不少, 只要手機用 active sync 連線後, 除了搬檔案等動作之外, 還可以取得手機的詳細資訊, registry, 甚至遠端叫手機執行指定的程式等等...

    看起來真不錯, 下次來寫看看... [:D]

    2007/03/13 .NET Tips 技術隨筆 有的沒的

  4. 換新版面了 :D

    沒事沒事, 只是貼一下, 讓那些都只用 RSS 看文章的人知道一下而以 [H]

    新年新氣象, 除舊佈新一下, 祝大家新春愉快 [:D]

    2007/03/02 有的沒的

  5. Spam Comments And CAPTCHA...

    也許該值得高興吧, 本站都用 robots.txt 擋掉 google 等 search engine, 只因為目標只是放在給認識的人看的 blog, 不想太公開, 所以一直以來都相安無事. 一直到最近, 大概看的人變多了, 也被外面一堆不知名的 bot 盯上, 開始一直有一堆廣告的 comments 貼到 blog 上... [:@]

    試了 community server 內建的 spam rule, 是檔掉了一些, 不過仍然有一堆漏網之魚... 想想還是跟各大網站一樣, 找個 CAPTCHA 的元件來用用. 在 community server 官方網站提供了一套, 在 msn 問了 darkthread 前輩, 他也提供了兩個網址, 也研究了一下...

     

    每次看到這種怪名字 (CAPTCHA), 就很想查一下它到底是啥字的縮寫, 查了 wiki, 原來是 "Completely Automated Public Turing test to tell Computers and Humans Apart" ... 比較有趣的是 turing test, 唸資工的大概都記得啥是 turing machine, 而 turing test 也是 Alan Turing 提出來的, 大意是在探討機器怎樣才算是有 "智慧" 的程度? 如果讓一個人 (測試者) 跟另一個真人及機器對話, 而測試者如果沒有辦法從對話內容中猜出誰是真人, 誰是機器, 就代表這個機器已經通過 turing test, 就算是具有某種程度的 "智慧", 而不只是會運算的計算機了...

    即使到現在, 連 IBM 深藍都打敗棋王了, 不過終究也只是運用高速的運算加上龐大的儲存空間, 超越人類對邏輯深度及廣度的挑戰而以. 這種比賽人類遲早會輸的... 像我打牌幾回合以前出過的牌都忘光光了... 哈哈... 不過這種還算不上是 "智慧". Microsoft 有兩個 msn bot 還蠻有趣的, 雖然一看就知道是 robot, 不過還能跟你聊上一兩句... 問問題也只要直接用白話打進去就好. 要跟它聊天很簡單, 只要把這兩個 account 加到你 msn messanger 的聯絡人...

    1. Encarta 百科全書: encarta@botmetro.net
    2. 會講中文的 "聰明小孩" (只會簡體 :@): smarterchinesechild@hotmail.com

    近來網站很流行讓你看一張圖, 然後要你把裡面的字 key 進表格內, 目的就是要判定填資料的是 "真人", 而不是 "機器"... 不過這樣就要套上 CAPTCHA, 就有點過頭了, 現在 CAPTCHA 已經變成這種作法的代名詞了, 這個字也被註冊過, 不能亂用... 不過人跟機器的辨識, 真的只靠這種圖片就可以解決了嗎? spammer 開使採用 OCR 的技術來反擊, 辨識率約有 80%, 但是剩下的 20%, 不知道有多少比例是連真人都認不出來的圖?

    辯別人跟機器的戰爭, 不應該只靠肉眼跟OCR做區隔, 人腦對資訊的 "理解" 能力是另一個關鍵... 如果有些問題是目前的 bot 回答不出來的, 那麼這就是個有效的辯別方式... 扯遠了, 我只不過是要講一下 CAPTCHA 的由來而以 [:P]... 不過老實說, 我還真不喜歡網站加這些東西, 毫無意義的文字, 有些已扭曲到我真的看不懂 [:|]  連 I 跟 1, 0 跟 O 也都分不出來, 還要試好幾次才過, 嘖嘖... 為了防 spammer 苦了人... 但是為了保障我自己家的 blog 不受 spammer 侵襲, 還是得試一試. 上面提到的那幾套, 都很盡責的能正常的運作, 不過看了就是不大爽...

    "如果有些問題是目前的 bot 回答不出來的, 那麼這就是個有效的辯別方式... "

    想想也沒幾行 code, 就自己寫了一個簡單的. 反正暫時還不會有 spammer 針對我的 blog 寫破解的程式吧 [H], 我採用的方式是隨機產生一些問題, 要 user 輸入正確的答案, 答對才判定你不是 robot ... 當然這些問題都不難... 目前做的問題有三大類:

    1. 簡單的數學問題, 就兩個個位數字的運算.
    2. Echo. 題目只是很簡單要你跟著打一段字而以...
    3. 靜態的題庫, 另外在 xml 檔裡先建好題目 & 答案的配對, 隨機挑一題出來...

    Code 本身倒是很簡單, 完全沒有什麼特別的, 我就不講了. 為了 deployment 方便, 我連 code 都藏到 .ascx 裡了... 沒有其它的 .cs 跟 .dll 要安裝, 純脆以方便為原則.

    這方法只是簡單的題庫測驗的簡化版而以. 它跟真正的 turing test 仍然有好大一段差距. 因為 tester 也是機器, 不是人, 而且要簡化到單一問題的回答, 不是一連串的對話. 要由機器來判定對方是不是真人, 真的不是簡單的課題.... 我只能實際一點, 做到夠用就好..

    效果如何? 大家捲到底下試看看就知道了, 網頁 refresh 一下就可以隨機換一題..., 靜態題目我目前都放腦筋急轉彎類的, 當然我都有附解答, 免的大家答不出來, 掛在那邊不能留言... Echo 型態則只是要大家無腦一點, 跟著打一些口號而以, 像 "叭樂雞萬歲" 之類的 [H] .....

    果然這樣看起來爽多了, 也比較有趣一點, 反正目的達到就好 [:D], 如果大家有啥有趣的腦筋急轉彎也提供一下, 看看這樣 page view 跟 comment 數會不會衝高一點 [H]

    2007/03/02 .NET 作品集 技術隨筆 有的沒的