Pages

2010-12-18

Mono 2.8.1源碼編譯Script

Mono 2.8.1預設平台總是suse,若你要運用到ubuntu或fedora
最快方法就是從源碼src來編譯:
http://www.mono-project.com/Release_Notes_Mono_2.8.1
但照官方這樣打,肯定會遇到相依性而失敗的
linux環境就是這樣令人不討喜。

所幸有網友分享了mono 2.8.1 script for ubuntu and fedora
從script內容也能得知大概程序要裝啥
我在ubuntu 10.10 desktop預設安裝環境下測試都ok

URL:
http://tinyurl.com/2a4zhvl

可下載Xuite.WebHd資源的FreeGrab軟件

Xuite硬碟是中華電信Xuite網站的一項功能,只要你是中華電信ADSL用戶,就可申請一個2GB的網頁硬碟空間,隨著你對該網站的參與度,它會一直增加空間量。你可以把資源分享給別人,下載畫面需點擊廣告才能下載。
image

網路上類似這樣的硬碟多不勝舉,但重點是若同為中華電信網站,下載速度都是1.1MB/sec以上(如10M光纖),假如用來分享一些大檔,由於都是屬於中華內網,官方通常都爭隻眼閉著眼,即使站長都呼籲不要如此做。官方也常常改變下載程序來防止一些軟件的批次下載,其中就以FreeGrab這下載軟件最出色,只要具有最新可行的Xuite WebHd Plugin,就可快速下載。
 image
FreeGrab軟件很多新舊版本,但重點在於其Xuite WebHd Module是否能正常下載 (目前網上找到的95%不行)。
image

會寫這分享文章,是因為歷經無數次嘗試,終於被我找到可正常下載的模組!! 
FreeGrab 1.2.3.4.5 v080518 with Xuite.WebHd (4.16MB)  
免安裝,2010/12/18測試Okay!

2010-11-19

NOD32防毒版本的區分

NOD32防毒分為3種版本:
1. Home Edition:  裝在win7/xp下,不能裝在server等系統。官網提供試用版下載。(安裝檔名: eav_n32_enu.exe)
2. Business Edition: 功能跟home版一樣,但更能裝在server(2003/2008)系統下。官網不提供試用下載,通常得購買正版才能下載該版本。(安裝檔名: eavbe_n32_enu.exe)
3. Enterprise Edition: 除了跟business edition一樣外,另外提供一些企業上大量佈署的機制,適合企業聯合防毒更新。

以上三種版本,第二種business edition對單機使用就很夠用,安裝完都需要輸入id/pw,才能作病毒庫的更新,儘管如此,所有授權序號都有時間限制。

NOD32每種版本又有區分(有x32/x64之別):
1. NOD32 Antivirus: 基本防毒及系統偵測,防範木馬。
2. Smart Security: 除了Antivirus功能外,再加上一個防火牆。

個人認為單機使用若裝得太嚴謹,折損系統效能太過,有違比例原則。因此以適用性而言,會建議Business Edition之Antivirus版本。

2010-02-24

Base64編碼

Base64編碼原理很簡單,常用於email的內容編碼內,最近註冊個論壇啟動信竟無法解碼
因此手動寫了這小程式來解決:
SNAGHTML36c7eb38

參考URL: http://blog.wahahajk.com/2008/06/base64.html

2010-01-12

虛擬串列埠

現在Notebook電腦為了體積小而美,大部分沒有串列埠(Serial Port, 通稱COM埠)
外面賣的USB轉COM線材轉換晶片常常是假貨,驅動程式良莠不齊。
為了能在NB上模擬Serial Port的讀寫動作,我從完全陌生->僅會讀寫->了解COM通訊理論
也發現市面上有虛擬SerialPort的商業軟體,有提供ActiveX的控制虛擬埠的元件。

我也把網路Socket傳輸通訊的Queue/Checksum應用到串列埠的讀取上
最後,當發現有免費的com0com虛擬串列的Driver支援
我也興起自己寫作虛擬串列埠的念頭,畢竟這是掌握虛擬埠應用的技術重點。

首先,要先了解com0com的Driver控制方式,用C#寫出能簡易控制虛擬埠的管理程式:
SNAGHTML706fad6

透過管理物件Manager能快速新增虛擬埠,User不需了解com0com的內部管理機制及例外狀況:
VirtualSerialPortManager.Setup.ComAddAsync(start, count);

查看「裝置管理員」,可看到這些虛擬埠的裝置: (這得研究Driver安裝上的認證佈署方式)
SNAGHTML709f07a

接下來是最主要的重點,就是如何透過Event方式來Programmer監控經過這些虛擬埠的資料。
只要透過下面的OnRxCharRead事件,即可監控虛擬埠的資料,再作其他的Mapping輸出應用:
SNAGHTML706260b

Manager也提供對這些虛擬埠的寫入函式(Write()),也提供貼心切片傳送(WriteSlice())機制。
最後,擬擬埠的流量控制與速度調整,則有待實務應用時再作測試與調整。

本想等有案子才把這虛擬技術實作出來,沒想到天氣冷一衝動,
就…油然而生出來了。

2010-01-08

SQL-LIMIT分頁查詢語法轉換

以前使用SQL Server,要實現分頁語法很麻煩,總不如MySQL中的LIMIT語法來得直覺:
SELECT * FROM Table1 LIMIT 10, 20     // index, count, 取出第11-30筆資料

微軟到了SQL Server 2005之後,有了ROW_NUMBER()來實現分頁,但SQL語法只是更加複雜
很奇怪微軟為何不支援LIMIT語法(可google,但找不到中肯的答案),
為了維持資料庫MySQL切換SQL Server的分頁語法一致性,
只好自己來寫SQL分頁LIMIT語法的字串轉換函式:
SNAGHTMLa26b713

此轉換函式範例:
string sql;
string sql2 = “SELECT * FROM Table1 ORDER BY Date1 LIMIT 10, 20”;
cmd.CommandText = SqlLimitConvert(sql);

// SQLServer分頁函式需要OrderBy欄位,原文若無則要自訂加入,否則會產生例外。
sql = “SELECT * FROM Table1 LIMIT 10, 20”;
cmd.CommandText = SqlLimitConvert(sql, “Date1 ASC”);