Silverlight 1.0 有些什麼東西都還沒弄清楚, 1.1 又跟著冒出來, 兩者間的差異是什麼呢? 剛好看到官方網站上的簡介, 趕快記起來! http://silverlight.net/GetStarted/overview.aspx
2007-08-18
2007-08-09
嫁給我好嗎?
今天看到黃品源在康熙來了節目上自彈自唱了一首並未發表的歌, 歌名好像叫做 嫁給我好嗎, 聽說他在婚禮上有唱這首歌, 真得很適合那種情境!! 因為覺得很好聽, 一時技癢就拿起吉他跟著抓了一下, 順便記錄下來! 不知道有沒有 mp3 可以抓得到??
詞/曲: 黃品源 D 調 D #Ddim Em A D 嫁給我 好嗎 我的心早已經屬於妳 D #Ddim Em A D 嫁給我 好嗎 今生今世妳是我的唯一 D #Ddim Em A D 嫁給你 好嗎 我要的不只這些甜言蜜語 D #Ddim Em A D 嫁給你 好嗎 妳是否永遠記得說過的話 Bm #Fm G A D 期待已久的緣分 即將要變成永恆 G A D 編織著美麗的夢 是否能愛我到永遠 Bm #Fm G A D 請相信我對妳的真誠 決定要伴妳一生 Bm G 別說是天長地久 只要真心愛我 G A D 只要妳輕輕點個頭 我們就長相廝守 D #Ddim Em A D 嫁給我 好嗎 不會再讓妳孤單讓妳受傷 D #Ddim Em A D 嫁給我 好嗎 寂寞的心將會有一個家----- #Ddim 怎麼按, 附張圖好了, 以免要用的時候突然忘記!!
2007-08-08
遠端桌面到 Vista Home Premium 版
Vista Home Premium 版本預設是不支援遠端桌面的, 雖說它可能有什麼商業上的考量, 但是對於習慣使用遠端桌面的人來說, 實在是太不方便了, 當然也可以裝個 vnc 之類的 server 來遠端搖控, 但是總覺得效能上還是差了一點, 最好是能把隱藏在 Home Premium 版內的功能重新打開來比較好. Google 一下, 果然已經有人提出解決的辦法了, 親自實驗之後證實是可以的, 而且步驟還超簡單, 只要 [下載] -> [解壓] -> [以 Administrator 的身份執行 命令提示字元] -> [執行 premium.bat 檔] 就搞定了!!
參考: http://portal.tonychan.org/Default.aspx?tabid=58&EntryID=123
C# 3.0 筆記: Automatic Properties, Object Initializers, Collection Initializers
1. Automatic Properties 2. Object Initializers 3. Collection Initializers 1. Automatic Properties
//=== BEFORE === public class Person { private string _name; private int _age; public string Name { get { return _name; } set { _name = value; } } public int Age { get { return _age; } set { _age = value; } } }
//=== AFTER === public class Person { public string Name { get; set; } public int Age { get; set; } }2. Object Initializers
//=== BEFORE === Person p = new Person(); p.Name = "John"; p.Age = 30;
//=== AFTER === Person p = new Person { Name = "John", Age = 30 };3. Collection Initializers
//=== Way 1 === Listps = new List (); ps.Add(new Person { Name = "John", Age = 30 }); ps.Add(new Person { Name = "Mary", Age = 25 });
//=== Way 2 === Listps = new List { new Person { Name = "John", Age = 30 }, new Person { Name = "Mary", Age = 25 };
2007-08-04
支援 rdesktop -x 功能的 gnome-rdp
在 Ubuntu 的遠端連線工具裡, 預設的是 tsclient, 功能相當不錯, 但是在管理上稍有不足, 所以我都是使用 gnome-rdp 這個套件來管理常用的一些連線, 但是不管是原來的 tsclient 或是 gnome-rdp 都沒有開放設定 rdesktop 的 -x 參數, 可是我又希望連線時能夠看到遠端的桌面背景, 於是就自己下載 source 稍稍改了一下, 做了一個新的版本!! 修改的功能有:
- 新增 RDP5 Experience 選項(modem,broadband,lan), 配合 rdesktop 的 -x 選項, 使遠端連線時可顯示桌面背景.
- 關閉主視窗大小改變時, 會自動置中造成視窗跳動的問題.
想自己動手做的話, 可以照著以下步驟進行:
$ apt-get source gnome-rdp $ cd gnome-rdp-0.2.2 $ dpkg-buildpackage -rfakeroot -uc -b這時候會先做一個小 patch (把原來的 xvncviewer 換成 xtightvncviewer), 再開始進行編譯程式, 然後會看到一個很笨的錯誤, 先不要理它, 這裡我們只是要產生一些 make file 的配置檔!(表示這個源碼之前沒有被編譯過, 否則應該不會有這種錯誤)
./OptionsDialog.cs(58,93): error CS0023: The `+' operator cannot be applied to operand of type `string'
如果編譯中出現缺少開發套件的話, 可以先執行 $ sudo apt-get build-dep gnome-rdp $ sudo apt-get install fakeroot # 以非 root 身份進行編譯時所需的套件 這樣會安裝所有建置 gnome-rdp 所需要的套件庫, 和 fakeroot 套件接下來下載 gnome-rdp-changedfiles.tgz, 解壓並覆蓋掉原來的檔案(包含上面那個錯誤的修正)!
$ cd .. $ wget http://bigsan.chen.googlepages.com/gnome-rdp-changedfiles.tgz $ tar zxvf gnome-rdp-changedfiles.tar.gz $ cd gnome-rdp-0.2.2 $ dpkg-buildpackage -rfakeroot -uc -b這時候會產生一個 ../gnome-rdp_0.2.2-0ubuntu2_i386.deb 檔案, 可以自行安裝囉! $ cd .. && dpkg -i gnome-rdp_0.2.2-0ubuntu2_i386.deb
附帶一提的是 gnome-rdp 的資料是用 Sqlite 來管理的, 因為有改到資料庫的結構, 所以如果原來有建立站台資料的話, 就必須先刪除 ~/.gnome-rdp.db, 然後再執行 gnome-rdp 的時候, 資料庫就會重新建立了! 如果不想讓原來的資料消失的話, 就得自行更改資料庫的結構及資料, 指令如下:
$ sqlite ~/.gnome-rdp.db # for sqlite version 2 $ sqlite3 ~/.gnome-rdp.db # for sqlite version 3 sqlite> .tables #如果看到 session 和 version 兩張 table 的話, 表示沒問題, 否則就是 sqlite 版本不對 sqlite> ALTER TABLE session ADD COLUMN rdp5experience INTEGER; sqlite> UPDATE session SET rdp5experience = 0; sqlite> .quit
2007-08-02
Visual Studio 2008 Debugger Visualizer
看到一些很棒的 debugger visualizer, 以後一定會用到, 先記起來! WPF Tree Debugger Visualizer LINQ to SQL Debug Visualizer from ScottGu's Blog 相關文章: Create a Debugger Visualizer in 10 Lines of Code By Tomer Noy Useful add-ons (plugins) for Visual Studio 2005
2007-08-01
新版 Web Development Helper
這次發佈的 0.8.5.0 版, 修正了在 Vista 中的一個小問題, 而且還多加入一個 Script Class Browsing 工具(如下圖), 不過這個小工具僅支援遵循 Microsoft ASP.NET AJAX Pattern 所開發的 JavaScript, 雖然如此, 還是很不錯!! 參考: nikhilk.net
設定 IMEX=1 透過 OleDb 讀取 Excel 仍然出現 null 值的問題
之前在使用 OleDb 讀取 Excel 時, 發生有些欄位雖然有值, 但是讀出來卻是 Null 的問題, 上網查了一下, 說是在連線字串中加入 Extended Properties, 將 IMEX 設為 1, 就可以強迫 OleDb 的 driver 將內容當成文字讀取, 以避免發生型別錯誤而回傳 null. 如下
Provider=Microsoft.Jet.OLEDB.4.0;Data Source="C:\Data.xls";Extended Properties="Excel 8.0;HDR=Yes;IMEX=1;但是後來發現有些資料可以成功, 有些不行, 但是如果把資料列的順序作一下改變的話(把非數字的資料放到比較前面的幾列), 就又可以順利讀取, 真是怪到極點, 於是再去問了一下 Google, 終於找到問題的源頭... 原來是 OleDb Driver 的問題, 在機碼 HKLM\Software\Microsoft\Jet\4.0\Engines\Excel 有一個 TypeGuessRows 值, 預設是 8, 表示會先讀取前 8 列來決定每一個欄位的型態, 所以如果前 8 列的資料都是數字, 到了第 9 列以後出現的文字資料都會變成 null, 真是聰明得令人哭笑不得..... 所以如果要解決這個問題, 只要把 TypeGuessRows 機碼值改成 0, 就可以解這個問題了!