自從有了facebook,我們前所未有地關心自己的生活細節,並且主動貼上每一個自以為有意義的瞬間,然後像上了癮一樣靜候一衆“朋友”的回應,即使別人僅給我們一個“讚”,我們都會覺得這就是無比的認同,於是我們會把平時不會宣之於口的觀點和情緖,例如“我好憎你”、“xxx快點去死吧”、“我老闆眞賤”等毫無保留地貼上facebook。
當然也有人生活平淡無奇,但卻希望在facebook的生活可以多姿多采,他們以為用數量可以彌補質量,於是無時無刻都在報道自己的情況,不停貼上“食早餐中”、“現在很飽”、“巴士好多人”、“患了感冒,非常辛苦”、“今日吃了兩隻荷包蛋”、“剛才的士司機居然肯找錢比我”、“做了一日奴隸,累極了”,全無節制,眞情流露,看來要把自我無限放大,又似乎想引來更廣泛的關注。
還有一種留言連生活報道也欠奉,僅能描述一些自然現象,例如“好大雨呀”、“猛烈的陽光令人心情很好”、“天寒地凍,宅在家中”、“窗外的霧令我如置身仙境”,印證了把一個事實重複講一次,即可加強其影響力或殺傷力的奇妙想法,但我們都不會探究這些留言的意義。
也許,在這個人人都用網絡把生活切割成許多個瞬間的年代,沒有意義才是眞正的意義所在。
在開始用facebook的時候(留意我是說“用”,不是說“玩”),我曾經考慮過像經營專欄或網誌一般,認眞選擇題材,確保文章具有可讀性,我甚至嘗試把那個以“寂然”命名的facebook戶口經營成文學交流的平台,可是不久之後,某些跟我在現實中認識的“讀者”就跑來問我:你為什麼總是把 facebook的動態寫得那麼長/認眞/嚴肅呢?我們都沒有心思看這些東西,你總是寫一大段會令我們看得很“辛苦”。
我向來尊重別人的意見,也明白在網上一旦認眞你就輸的眞理,所以早已停止試驗,並且跟大家一樣會不時貼出一些很“生活化”的留言,但身為一名專欄作者,我總是不明白這個年代那些在facebook上勤力書寫的人們究竟希望得到些什麼?
也許,這情況只能套用一句網上的經典留言套語來形容:哥留的不是言,是寂寞啊!
只係供需關係
完美撮合左炫耀者與偷窺者
轉自:http://forum6.hkgolden.com/view.aspx?type=BW&message=2860680
2011年2月20日星期日
2011年2月18日星期五
Windows 7 SP1可以下載了!
今天在MSDN Subscriptions已經可以Download,不過我自己會等待Visual Studio 2010 SP1和IE9 正式版出了之後才一起安裝。
貼一下相關資料 :
多國語系Service Pack (更新程式) (包括英文/香港中文版/台灣中文/簡體中文 + 32Bit/64Bit)
Windows 7 and Window Server 2008 R2 Service Pack 1 (x86 and x64) - DVD (Multilanguage)
File Name: mu_windows_7_and_windows_server_2008_r2_sp1_x86_x64_dvd_619642.iso
Date Published (UTC): 2/16/2011 9:14:42 AM Last Updated (UTC): 2/16/2011 9:14:42 AM
SHA1: F2ABA1102E18EAD08C78527AB422C09AB7D1F54C ISO/CRC: B07748AE
香港/台灣/簡單中文未見有Windows 7 SP1整合版...
英文版:
Windows 7 Enterprise N with Service Pack 1 (x64) - DVD (English)
File Name: en_windows_7_enterprise_n_with_sp1_x64_dvd_620165.iso
Date Published (UTC): 2/16/2011 8:52:41 AM Last Updated (UTC): 2/16/2011 8:52:41 AM
SHA1: CF70CABACE3E14D68C5A6EAC9A4F024E54DD7864 ISO/CRC: F0694A1B
Windows 7 Enterprise N with Service Pack 1 (x86) - DVD (English)
File Name: en_windows_7_enterprise_n_with_sp1_x86_dvd_620372.iso
Date Published (UTC): 2/16/2011 8:52:41 AM Last Updated (UTC): 2/16/2011 8:52:41 AM
SHA1: 2503686DC539E5C1DCEED3A1736BE5D154131155 ISO/CRC: 56633EBE
Windows 7 Ultimate with Service Pack 1 (x64) - DVD (English)
File Name: en_windows_7_ultimate_with_sp1_x64_dvd_618240.iso
Date Published (UTC): 2/16/2011 8:50:21 AM Last Updated (UTC): 2/16/2011 8:50:21 AM
SHA1: 1693B6CB50B90D96FC3C04E4329604FEBA88CD51 ISO/CRC: 8589EE18
Windows 7 Ultimate with Service Pack 1 (x86) - DVD (English)
File Name: en_windows_7_ultimate_with_sp1_x86_dvd_619077.iso
Date Published (UTC): 2/16/2011 8:50:22 AM Last Updated (UTC): 2/16/2011 8:50:22 AM
SHA1: 92C1ADA4FF09C76EC2F1974940624CAB7F822F62 ISO/CRC: C2966895
貼一下相關資料 :
多國語系Service Pack (更新程式) (包括英文/香港中文版/台灣中文/簡體中文 + 32Bit/64Bit)
Windows 7 and Window Server 2008 R2 Service Pack 1 (x86 and x64) - DVD (Multilanguage)
File Name: mu_windows_7_and_windows_server_2008_r2_sp1_x86_x64_dvd_619642.iso
Date Published (UTC): 2/16/2011 9:14:42 AM Last Updated (UTC): 2/16/2011 9:14:42 AM
SHA1: F2ABA1102E18EAD08C78527AB422C09AB7D1F54C ISO/CRC: B07748AE
香港/台灣/簡單中文未見有Windows 7 SP1整合版...
英文版:
Windows 7 Enterprise N with Service Pack 1 (x64) - DVD (English)
File Name: en_windows_7_enterprise_n_with_sp1_x64_dvd_620165.iso
Date Published (UTC): 2/16/2011 8:52:41 AM Last Updated (UTC): 2/16/2011 8:52:41 AM
SHA1: CF70CABACE3E14D68C5A6EAC9A4F024E54DD7864 ISO/CRC: F0694A1B
Windows 7 Enterprise N with Service Pack 1 (x86) - DVD (English)
File Name: en_windows_7_enterprise_n_with_sp1_x86_dvd_620372.iso
Date Published (UTC): 2/16/2011 8:52:41 AM Last Updated (UTC): 2/16/2011 8:52:41 AM
SHA1: 2503686DC539E5C1DCEED3A1736BE5D154131155 ISO/CRC: 56633EBE
Windows 7 Ultimate with Service Pack 1 (x64) - DVD (English)
File Name: en_windows_7_ultimate_with_sp1_x64_dvd_618240.iso
Date Published (UTC): 2/16/2011 8:50:21 AM Last Updated (UTC): 2/16/2011 8:50:21 AM
SHA1: 1693B6CB50B90D96FC3C04E4329604FEBA88CD51 ISO/CRC: 8589EE18
Windows 7 Ultimate with Service Pack 1 (x86) - DVD (English)
File Name: en_windows_7_ultimate_with_sp1_x86_dvd_619077.iso
Date Published (UTC): 2/16/2011 8:50:22 AM Last Updated (UTC): 2/16/2011 8:50:22 AM
SHA1: 92C1ADA4FF09C76EC2F1974940624CAB7F822F62 ISO/CRC: C2966895
2011年2月15日星期二
Rapidshare/HotFile/FileServe/Megaupload下載檔案不用等
近期由於玩Wii模擬器關係要找很多"Wii檔案",而"Wii檔案"閒閒地都4GB,很多都要經免費空間下載,但大家都知免費空間很多限制,所以用JDownloader都無補於事。
如下圖,MegaUpload每天只可以限制同一IP下載三個檔案,用JDownloader的已經全軍覆沒,但用這些Generator就可以下載了。
所以上網找到幾個Premium Generator,我自己試過100%Work,操作大同小異,貼上連結,等一會就可以下載。
rapid8.com
這個支援最多空間,但要按一次強制性廣告。
LinkToPremium
這個每60分鐘可以下載1GB檔案,但下載速度最快,一般可以達200kb/s。
Megaupload Premium Link Generator
Rapidshare Premium Link Generator
這兩個用是沒問題,但可惜下載速度很慢,當做是後備而已。
如下圖,MegaUpload每天只可以限制同一IP下載三個檔案,用JDownloader的已經全軍覆沒,但用這些Generator就可以下載了。
所以上網找到幾個Premium Generator,我自己試過100%Work,操作大同小異,貼上連結,等一會就可以下載。
rapid8.com
這個支援最多空間,但要按一次強制性廣告。
LinkToPremium
這個每60分鐘可以下載1GB檔案,但下載速度最快,一般可以達200kb/s。
Megaupload Premium Link Generator
Rapidshare Premium Link Generator
這兩個用是沒問題,但可惜下載速度很慢,當做是後備而已。
2011年2月10日星期四
2011年2月4日星期五
Sony Ericsson Xperia X8 Android 2.1 Root機+App2SD教學
用了X8接近4個月,由1.6至2.1我一直都沒有Root機,因為未有需要,但今天見到這個Android VNC Server程式(可以在Windows用VNC Client控制Android),我決定都是Root機了。
整個Root機過程實在很容易,不到一分鐘。我Step-By-Step寫出來吧。
必須條件:
1. .NET Framework 2.0
Windows 7使用者一定有,其他Windows版本可以在這裡檢查 "C:\Windows\Microsoft.NET\Framework" ,看看有沒有"v2.0.50727"資料夾,有的話即是已安裝。
2. Sony Ericsson PC Companion 2.0
安裝這個軟件是因為需要用上它的USB Driver,安裝後,不用理它,關閉它也可以。
3. 修改版SuperOneClick
一個Root機程式,最原始出處於xda-developers.com,你可以下載這個,怕要註冊麻煩的話就用我上傳給你至DropBox的。
事前準備:
1. 在手機進入 : 設定->應用程式->開發->開啟USB除錯
2. SD卡不用拔出,Root機不會搞到你的資料。
Root機開始:
1.插上USB線,Windows應該會安裝Driver,等待完成。
2.手機上會出現三個選項,你選第三個"充電模式"
3.開啟下載回來的SuperOneClick,Unzip後打開SuperOneClick.exe,你會見到如下圖。
4. 按Root按鈕,程式會自動運行,直到程式問你做不做一次Test的時候,按Yes,等一下,搞定!
5. Reboot你的手機,看看你手機是不是多了一個叫Superuser的程式,是的話,大功告成。
至於App2SD的教學可以看看台灣網友的X8 2.1 Root(已有一鍵Root) + APP2SD,Step-by-Step 你也會
整個Root機過程實在很容易,不到一分鐘。我Step-By-Step寫出來吧。
必須條件:
1. .NET Framework 2.0
Windows 7使用者一定有,其他Windows版本可以在這裡檢查 "C:\Windows\Microsoft.NET\Framework" ,看看有沒有"v2.0.50727"資料夾,有的話即是已安裝。
2. Sony Ericsson PC Companion 2.0
安裝這個軟件是因為需要用上它的USB Driver,安裝後,不用理它,關閉它也可以。
3. 修改版SuperOneClick
一個Root機程式,最原始出處於xda-developers.com,你可以下載這個,怕要註冊麻煩的話就用我上傳給你至DropBox的。
事前準備:
1. 在手機進入 : 設定->應用程式->開發->開啟USB除錯
2. SD卡不用拔出,Root機不會搞到你的資料。
Root機開始:
1.插上USB線,Windows應該會安裝Driver,等待完成。
2.手機上會出現三個選項,你選第三個"充電模式"
3.開啟下載回來的SuperOneClick,Unzip後打開SuperOneClick.exe,你會見到如下圖。
4. 按Root按鈕,程式會自動運行,直到程式問你做不做一次Test的時候,按Yes,等一下,搞定!
5. Reboot你的手機,看看你手機是不是多了一個叫Superuser的程式,是的話,大功告成。
至於App2SD的教學可以看看台灣網友的X8 2.1 Root(已有一鍵Root) + APP2SD,Step-by-Step 你也會
2011年2月2日星期三
Dynamic CheckBox Control 取值技巧
正所謂"人類不斷犯重覆的錯誤",今天我工作上在搞一些Dynamic Control就剛好可以套用給自己。
自問對如何把玩Dynamic Web Control,Page Life Cycle是怎樣,如何重構Controls和ViewState都很了解。
但奈何今天敗在一個CheckBox Control下,花了我半天才搞定,所以在Blog上做一個記錄和分享。
而遇到的問題就是,
在同一個Form內,PostBack後,所有動態Control都存取都正常,唯獨是任何CheckBox Controls的Checked屬性一直都是False。
搞了一段時間後,我決定由最原始的方式 Request.Form 的方式,去找出問題在那裡。
或者這樣說太抽象,先看看Source Code和Screen Shot。
Markup 方面很簡單,一個Button,一個PlaceHolder。
得出來的結果如下圖 :
使用((CheckBox)ctl).Checked.ToString()輸出是False,但Request.Form找取Value卻是"on",最奇怪就是用IE的Deveper Tool看一看文件,明明真的有CHECKED="checked",換句話說,ASP.NET的CheckBox Control在勾選或取消勾選雖然會變更Client-Side Value和Checked屬性,但不會更改Control States的Checked的屬性,這就是問題的根源,於是我立即想起沒有PostBack的原故。
那如何解決呢? 很簡單,就是把CheckBox的AutoPostBack設成True,再在CheckedChanged的Event加上Event Handler就可以了。
整理後的Source :
自問對如何把玩Dynamic Web Control,Page Life Cycle是怎樣,如何重構Controls和ViewState都很了解。
但奈何今天敗在一個CheckBox Control下,花了我半天才搞定,所以在Blog上做一個記錄和分享。
而遇到的問題就是,
在同一個Form內,PostBack後,所有動態Control都存取都正常,唯獨是任何CheckBox Controls的Checked屬性一直都是False。
搞了一段時間後,我決定由最原始的方式 Request.Form 的方式,去找出問題在那裡。
或者這樣說太抽象,先看看Source Code和Screen Shot。
Markup 方面很簡單,一個Button,一個PlaceHolder。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title></title> </head> <body style="font-family: Tahoma; font-size: 11px;"> <form id="form1" runat="server"> <div> <asp:Button ID="btnAdd" runat="server" Text="Add CheckBox" OnClick="btnAdd_Click" /> <asp:PlaceHolder ID="PlaceHolder1" runat="server" /> </div> </form> </body> </html>再來是Source部份,留意Line:62 & 63 :
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class test : System.Web.UI.Page { protected int NumberOfControls { get { return (int)ViewState["ControlCount"]; } set { ViewState["ControlCount"] = value; } } protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) NumberOfControls = 0; else RecreateControls(); } protected void btnAdd_Click(object sender, EventArgs e) { CreateControls(this.NumberOfControls); this.NumberOfControls++; } private void CreateControls(int i) { CheckBox chk = new CheckBox(); chk.ID = "chk" + i.ToString(); Label lbl = new Label { ID = "lbl" + i.ToString(), Text = " Index : " + i.ToString() }; PlaceHolder1.Controls.Add(lbl); PlaceHolder1.Controls.Add(chk); PlaceHolder1.Controls.Add(new Literal { Text = " " }); } private void RecreateControls() { int count = this.NumberOfControls; for (int i = 0; i < count; i++) CreateControls(i); int idx = 0; for (int x = 0; x < PlaceHolder1.Controls.Count; x++) { Control ctl = PlaceHolder1.Controls[x]; if (ctl is Label) { Response.Write(((Label)ctl).Text); } else if (ctl is CheckBox) { Response.Write(" Checked : " + ((CheckBox)ctl).Checked.ToString() + " | " + Request.Form["chk" + idx.ToString()] + " "); idx++; } } } }
得出來的結果如下圖 :
使用((CheckBox)ctl).Checked.ToString()輸出是False,但Request.Form找取Value卻是"on",最奇怪就是用IE的Deveper Tool看一看文件,明明真的有CHECKED="checked",換句話說,ASP.NET的CheckBox Control在勾選或取消勾選雖然會變更Client-Side Value和Checked屬性,但不會更改Control States的Checked的屬性,這就是問題的根源,於是我立即想起沒有PostBack的原故。
那如何解決呢? 很簡單,就是把CheckBox的AutoPostBack設成True,再在CheckedChanged的Event加上Event Handler就可以了。
整理後的Source :
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class test : System.Web.UI.Page { protected int NumberOfControls { get { return (int)ViewState["ControlCount"]; } set { ViewState["ControlCount"] = value; } } protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) NumberOfControls = 0; else RecreateControls(); } protected void btnAdd_Click(object sender, EventArgs e) { CreateControls(this.NumberOfControls); this.NumberOfControls++; } private void CreateControls(int i) { CheckBox chk = new CheckBox(); chk.ID = "chk" + i.ToString(); chk.AutoPostBack = true; chk.CheckedChanged += CheckedChanged; Label lbl = new Label { ID = "lbl" + i.ToString(), Text = " Index : " + i.ToString() }; PlaceHolder1.Controls.Add(lbl); PlaceHolder1.Controls.Add(chk); PlaceHolder1.Controls.Add(new Literal { Text = " " }); } private void CheckedChanged(Object sender, EventArgs e) { } private void RecreateControls() { int count = this.NumberOfControls; for (int i = 0; i < count; i++) CreateControls(i); int idx = 0; for (int x = 0; x < PlaceHolder1.Controls.Count; x++) { Control ctl = PlaceHolder1.Controls[x]; if (ctl is Label) { Response.Write(((Label)ctl).Text); } else if (ctl is CheckBox) { Response.Write(" Checked : " + ((CheckBox)ctl).Checked.ToString() + " | " + Request.Form["chk" + idx.ToString()] + " "); idx++; } } } }
訂閱:
文章 (Atom)