星期一, 11月 18, 2013

Virtual Box Shared Folder for Ubuntu as Guest

當 Windows 作為 VirtualBox Guest 時,要設定 Host 上的一個目錄可在 Guest 共享是很容易的,但到 Linux 做為 Guest 時則有點麻煩,原因是多了一個「掛載」的觀念,而且權限也要注意,在此稍微摘要一下(以 VirtualBox 4.2.18 + Ubuntu 12.04 為例):
  • Guest 當然還是要 Install Guest Additions
  • Shared Folder 當然還是要設,下例是命名為 shared
  • 建立一個目錄準備用來對應 Host 分享出來的目錄,下例是在一位普通使用者 user1 桌面上的 SharedByHost 目錄
  • 掛載共享目錄:sudo -t vboxsf shared /home/user1/Desktop/SharedByHost
如此一來還只做了一半,因為 SharedByHost 只能由 root 存取,若想讓 user1 共享就還要:
  • id user1 -> 取得 user1 的 uid,下例是 1000
  • sudo -t vboxsf -o uid=1000 shared /home/user1/Desktop/SharedByHost
以上即可讓 user1 存取到 Host 分享出來的目錄,不過 Guest 重啟之後還是要再掛載才有效,否則 SharedByHost 會是個空目錄。

後記:VirtualBox 4.3.2 + Ubuntu 13.10 略有改善,共享目錄會自動掛載於 /media,並加 sf_ 前綴,而在權限方面是賦予 root 使用者與 vboxsf 群組,所以更簡單的方法是將 user1 加入 vboxsf:
  • usermod -a -G vboxsf user1

星期五, 11月 15, 2013

首度測通非 Windows 平台經瀏覽器存取 SmartCard 憑證卡

以下的順序非常重要,顛倒了就會困難重重:
  • Ubuntu 12.04 (32bit)
  • PC/SC
  • EZ100PU driver
  • /etc/rc.local: /usr/sbin/pcscd&
  • reboot
  • card reader (with any? smart card) testing ok
  • JRE
  • libHicos_p11v1.so: [JRE_HOME]/lib/i386
  • view html with signed java applet
[2014/02/06 補充]
由於上個月 Java 7u51 推出,不得不更新,否則瀏覽器(還是 Java 本身?)會抱怨版本太舊。而更新會有一些連帶要求:
  • 標示所需的 Permissions 與 Codebase,可參考這個連結。
  • 若是自簽憑證,請在 Java 的控制面板「安全」頁籤,管理憑證、匯入簽署用的憑證到「Signer CA」。千萬注意,不是「Trusted Certificates」!

星期四, 10月 17, 2013

自修手錶

手錶快沒電了,一次走兩秒。昨天換了電池與防水墊圈之後,碼錶歸零歪得更嚴重,修錶的老闆說沒辦法,心裏很鬱悶。本想送原廠修的,所以上官網,無意中發現說明書上就有教怎麼調回來,感覺撿回一隻新錶的高興。

星期五, 10月 04, 2013

星期一, 9月 30, 2013

Mac Contacts 匯入中文亂碼

由於姓名地址都是中文的關係,過去一直無法將其他軟體的通訊錄匯入到 Mac Contacts(中文變亂碼),今天終於找到解法:要事先將準備匯入的文字檔轉碼為 UTF-16。

星期五, 9月 27, 2013

What's SOAP?

在今年台灣微軟大拜拜的某一場中,講者指著一張肥皂的圖問台下「這是什麼技術?」,有人回答 WebServices,竟然被打槍?我正猜著他有什麼更高明的答案,果然台下再也沒人答對,講者最後公佈了是「WCF」,差點當場吐血。這是 MVP 的水準嗎?

Spring.NET Extensible XML authoring

基本上照著官方文件附錄 C 做,沒什麼太大問題,看人家的文件多好!有些地方我想補充一下:
  1. XSD 很希望只有一份,但目前要有兩份一模一樣的,這個比較遺憾。一份放在組件內且必須設為「Embedded Resource」,另一份放在網站上公佈。
  2. 依據 XSD 在組件專案的位置決定 MyNamespaceParser 的 SchemaLocation 值,以我的例子,專案預設命名空間是 com.abc,目錄為 spring/webflow/config,檔名為 spring-webflow-config-1.0.xsd,所以我的 SchemaLocation = "/com.abc.spring.webflow.config/spring-webflow-config-1.0.xsd"。
  3. 我自訂的 xml namespace 叫 webflow,所以在 Spring 的設定像是
    • <objects xmlns="http://www.springframework.net"
    •          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    •          xmlns:webflow="http://www.springframework.net/schema/webflow-config"
    •          xsi:schemaLocation="
    •          http://www.springframework.net
    •          http://www.springframework.net/schema/objects/spring-objects-1.1.xsd
    •          http://www.springframework.net/schema/webflow-config
    •          http://10.0.2.2/spring-webflow-config-1.0.xsd
    •          ">
  4. 前述設定倒數第二行就是所謂「放在網站上公佈」的複本位置,如果不放,在 Visual Studio 開發環境看來會有些不足,但不至於影響正常執行。另外,由於實際上發現在 IIS 的網站上可能會有 Mime-type 設定等等問題,最後我用的是 Apache httpd。
  5. 前述設定第三行要與 MyNamespaceParser 的 Namespace 值匹配。