2008年8月30日星期六

Internet Explorer 8 Beta 2 Is Out

前天IE終於出了IE8的Beta 2,照以往MS的進程,應該RC版/Release版可望年底出現。新功能其實對於Firefox3用家來說似乎沒有太大吸引力。
ie8_accelerators_on.jpgie8_compatibility_on.jpgie8_inprivatebrowsing_on.jpgie8_searchsuggestion_on.jpgie8_smartscreen_on.jpgie8_webslices_on.jpg

Internet Explorer 8 Home
http://www.microsoft.com/ie8
Download Internet Explorer 8 Beta 2
http://www.microsoft.com/windows/internet-explorer/beta/worldwide-sites.aspx

2008年8月25日星期一

DVBViewer不需安裝PowerDVD硬解高清

因為原來TotalMedia 冇得行Vista指定的EVR Renderer,所以前幾天終於迫住上網買DVBViewer,都幾好用。
不過我見好多人都話硬解要安裝PowerDVD,用佢既Filter。我就極不願意安裝一個根本唔會用既軟件。

於是上網搵到一個叫PureCodec既o野。其實同K-Lite果個一樣都係Codec包,
不過佢就多出PowerDVD 8既H.264同MPEG-2 Filter ,亦即係DVBViewer硬解需要既Filter,
雖然係恐怖的Made in China,不過到目前為止都冇乜問題,似乎沒有自行安裝什麼廣告程式...

而且亦包含RMVB同QuickTime Codec,可以用來取代K-Lite Mega喇~
開左硬解後,我用P35+E8400+9600GSO+2GB Ram,睇高清翡翠台一般CPU使用率都唔會超過15%。

Pure Codec :
http://jm.wmzhe.com/

點樣Set DVBViewer硬解可以去呢條Link :
HKEPC
DVBViewer心得+教學(多台同預錄、畫中畫、網上串聯、MHEG5互動)

2008年8月12日星期二

Visual Studio 2008 Service Pack 1 and .NET Framework 3.5 Service Pack 1

等了半年有多的時間了~為什麼我很期待這版Service Pack,因為對我來說重要的更新是
- 修正WebForm Designer的效能
- 增加ADO.NET Entity Designer
- ASP.NET Data Scaffolding Support (ASP.NET Dynamic Data) For GridView, ListView etc..
- ASP.NET AJAX Back/Forward Button History Support
- WPF Performance Improvements

安裝時,要注意,剛從Readme看到:
啟用 Windows Vista 資訊看板時,Visual Studio 2008 SP1 安裝失敗。
若要解決這個問題:
1. 以滑鼠右鍵按一下通知區域中的 [資訊看板] 圖示,位於工作列的最右邊。
2. 按一下 [結束]。

雖然不知錯誤原因,但都是乖乖地先關閉Vista的資訊看板吧。

Introduction
Visual Studio 2008 and the .NET Framework 3.5 enable developers to rapidly create connected applications that deliver high quality and rich user experiences. Visual Studio 2008 enables organizations of every size to rapidly create secure, manageable, and reliable applications that are optimized for Windows Vista™, SQL Server, the Microsoft 2007 Office system and the Web.

Visual Studio 2008 Service Pack 1 (SP1) and .NET Framework 3.5 SP1 continue Microsoft’s investment in market leading development tools and developer platform. SP1 addresses issues that were found through a combination of customer and partner feedback, as well as internal testing. These service packs offer customers improvements in responsiveness, stability and performance.

Overview
http://msdn.microsoft.com/en-us/vstudio/products/cc533447.aspx
Download Microsoft Visual Studio 2008 Service Pack 1 (EXE Version) (含中文版本)
http://www.microsoft.com/downloads/details.aspx?FamilyId=FBEE1648-7106-44A7-9649-6D9F6D58056E&displaylang=en
Download Microsoft Visual Studio 2008 Service Pack 1 (ISO Version) (含中文版本)
http://www.microsoft.com/downloads/details.aspx?FamilyID=27673c47-b3b5-4c67-bd99-84e525b5ce61&DisplayLang=en
Visual Studio 2008 SP1 readme
Fixes included in this Service Packs (KB945140)
Visual Studio 2008 SP1 Express Editions

2008年8月4日星期一

LINQ : Using Lambda Expression to AddRange()

在LINQ中使用Lambda Expression,我們可以有效地extract出Anonymous Types中的values.

Example :
public List<string> GetList()
{
List<string> pList = new List<string>();
DataClasses_Store DataContext = new DataClasses_Store();
//Select the customer where live in "HongKong" and Take 100 records
var select = (from c in DataContext.customer_info
where c.customer_location.Equals("HongKong")
orderby c.reg_date descending
select new { c.customer_id , c.customer_name } ).Take(100);
//Fill the List
foreach (var s in select)
{
pList.Add(c.customer_id + " " + c.customer_name);
}
return pList;
}

使用Foreach方法都是一般網上Example做法,但是我們可以使用Lambda Expression並轉換成IEnumerable達至AddRange的要求。

public List<string> GetList()
{
List<string> pList = new List<string>();
DataClasses_Store DataContext = new DataClasses_Store();
//Select the customer where live in "HongKong" and Take 100 records
var select = (from c in DataContext.customer_info
where c.customer_location.Equals("HongKong")
orderby c.reg_date descending
select new { c.customer_id , c.customer_name } ).Take(100);
//Fill the List
pList.AddRange(select.Select(p => p.customer_id + " " + p.customer_name).AsEnumerable());
return pList;
}

COLOURlovers - Color Trends + Palettes

很多Color Pattern供參考的網站。
http://www.colourlovers.com/

2008年8月3日星期日

Firefox Extension : Better Gmail - 讓Gmail更漂亮

我本人三大Free Mail (Yahoo,Hotmail,Gmail) 都有使用,Gmail差不多是最常用的一個,今天試了一個Firefox Extension叫Better Gmail,它會改變你Gmail的改觀,變成更漂亮的介面。
Firefox Add-ons Better Gmail 2
http://addons.mozilla.org/en-US/firefox/addon/6076

2008年8月2日星期六

Facebook API 初試

前排香港好像好興玩一隻叫"古惑仔"的Facebook Application,我都玩左10分鐘左右,覺得太過無聊,所以就Remove了...不過就玩過下Facebook API,原因是想知道這API的商業價值。因為FB的Application是很多,但是真正Third Party的Application好像真的很少呢。

Facebook的API跟PayPal / eBay / Google的都很相似,都是可以經"REST"的介面,把Parameter放上URL去跟Web Service溝通。但Facebook比較特別的是,除REST外,還有"FQL","FBML","XFBML"和"FBJS"的方法。我全部都小試一下,當中FQL比較特別,做個小介紹 :

FQL:
你可以理解為直接在Facebook DB上,於SQL Syntax去Query。(當然有很多限制)而執行FQL依然要引用API中的"fql.query"方法,不是真的給你連接去Database。
FQL Table : http://wiki.developers.facebook.com/index.php/User_(FQL)
Example :
SELECT name FROM user WHERE uid=753087004

return values就會是 :
<?xml version="1.0" encoding="UTF-8"?>
<fql_query_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" list="true">
<user>
<name>Cheung Ming Ming</name>
</user>
</fql_query_response>

你可以用FQL查詢到很多資料,例如group 的資料, group中有什麼member , album 中有什麼photo , photo 中的image source , user的資料。

或者大家會和我一樣都想到,可以自己做一個facebook user search engine,但事實上做不到的。
原因是使用FQL查詢,先決條件就是你要知道userid , groupid, albumid 等等。
你可能會想到用
SELECT name FROM user WHERE timezone = '8' //取得GMT+0800 (香港)的用戶
/*或*/
SELECT name FROM user WHERE uid > 0 

等等Query去取得User List,但Facebook只會return 一句 errormsg : Your statement is not indexable
因為Facebook文件已經寫明 , uid 和 name是Indexable column ,必須輸入,而且exactly要用"="的operator,因為FQL不支援"LIKE"。當然用REST方法同樣做不到。
參考FQL Functions and Operators :
http://wiki.developers.facebook.com/index.php/Functions_and_Operators

試玩了幾小時,我覺得Facebook API真的很容易使用,幾乎不用看任何Document就可以立即使用。
而且透過FBML,即時Output HTML,令到寫FB App真的很方便。使用FBJS又可以呈現出Facebook的Web 2.0效果。

做Facebook Application十分容易,但如果用VB,C#寫呢?我個人覺得基於上述的理由,擴展性實在不高,所以想靠Facebook API賺錢的人,要認真想一想。

題外話,Facebook好像今天改版了,Home的介面不同了,網址都變成"http://www.new.facebook.com/home.php"