歡迎跟我連絡

本頁最下方有Web MSN可以直接跟我交談喔!
免安裝程式...哈哈 歡迎聊天

2008年12月31日 星期三

This Year

12/31,一年的最後一天...
這一天通常用來檢討過去的一年,以及對來年的期許...
今年,算是我蠻充實又驚險的一年...
全球的不景氣,帶來的衝擊,沒想到我也能有如此的強烈感受...
荷包的失血,差點被裁...
好在經由同窗好友Tim,認識Kawasaki-San...
開始了另一種忙碌的生活,讓以往生活中虛度的光陰...
用程式碼取代之...
加上Embedded的學習,也認識網路不少朋友,彼此交流知識...
也買了摺疊車,閒暇之于,能夠享受另外一種運動方式...

來年呢?
第一季的無薪假,確認要實施了...
但是還是希望景氣的快點反轉...
有個10年的朋友一月份要結婚了,希望他倆永遠幸福快樂...
剩下的就是希望來年也順順利利,那些我認識的與不認識的地球居民,都健康快樂...
然後以巴停火吧... That's all.

2008年12月29日 星期一

騎車去...

上上週六,兩個日本客戶直接由日本飛過來找我追加新的Function.
幾乎天天下班後就窩在飯店,他們當場提需求...
討論後,我就當場改程式,宛如聯考考試一般...
每天都要搞到晚上將近12點,才肯罷休...
昨天星期天,他倆終於滿意的離開回日本去了...

下午就騎著我的小折由新市住處騎到台南高鐵站,來回約35公里...
或許是太久沒騎,還是逆風...
覺得今天騎起來,感覺身旁的阿伯,一個個不斷超越我...-_-''



回程,看到這美美的夕陽,順手拍了下來...

2008年12月23日 星期二

等待...

一直不喜歡"等待"的感覺...
"等待"是一種耗光精力花費時間的玩意...
而我又是那種不會利用破碎時間的人...
知道事情會發生,在發生之前我不會想去做其他的事...
所以我不喜歡等待,因為會讓我的時間更少而已...

2008年12月19日 星期五

Who is next ?

今天是公司第二波的裁員日子...
雖然有過第一波的經驗,但是還是鼻酸...
心情還是在谷底...

也衷心的希望,這些昔日的好夥伴,逆著風飛吧!!!
也許逆著風,可以飛的更高更遠...

2008年12月1日 星期一

如果有一件事是重要的


如果有一件事是重要的
詞曲:陳珊妮

你想要不變心的情人 還是永遠不老的青春
你想要更偉大更不朽 還是一個瞬間成永恆

你在期待明後世事人非 還是堅持憂鬱不服輸
回憶再完美都有極限 未來多完美並未可知

what if what if 誰都是自己問題的答案
what if what if 誰都是自己答案的問題
誰都要一輩子 害怕想清楚

妳想先得到一個祝福 還是先給予你一個感謝
美麗再完美都有極限 思想多珍貴並未可知

what if what if 誰都是自己問題的答案
what if what if 誰都是自己答案的問題
誰都有一輩子 好好想清楚

如果有一件事是重要的,那就是對錯的總合


雨季說:
如果有一件事是重要的,我想漫漫的人生中,這是一個一直再不斷更改的答案.
但是也就像,一陣漣漪一樣,不著痕跡的消失在岸邊,永遠沒有真正的答案.
宛如最後的歌詞,[誰都是自己問題的答案,誰都是自己答案的問題]

才女陳珊妮的好歌

2008年11月28日 星期五

天冷,心也寒

今年的冬天氣溫驟降,實在不若以往慢慢的下降.
在幾波的寒流下,玉山也降雪了...
國際的大環境,經濟問題也層出不窮,致使全球經濟下滑...
國內外的消費也隨著收入的減少而緊縮...
處在消費電子製造業的我,也看到工廠的產能利用率,由去年高峰的120%跌到下個月的25%...
這樣的情況下,"裁員",就是最近讓整個工作環境氣紛低迷的主因...
今天就是那些資遣員工的最後上班日,不時可以收到"珍重再見"的電子郵件...
也再廁所轉角處,看到線上作業員,依依不捨的抱在一起流淚...
看了好不難過...
心情比外面14度C的凜冽空氣還冷...
或許企業要生存下去,勢必得如此做...
但是,真的沒有其他方法嗎?
尤其在這種寒冷的天空下...

2008年11月25日 星期二

你佔的是什麼缺?

動物園新來了一隻獅子。
在餵食的時候,其他的獅子都吃牛排,這隻新獅子只分配到一根香蕉,
起初這隻新來的獅子以為自己資淺,不以為意。
但隔了幾天,牠實在受不了,就開口問了其中一隻獅子: 「為什麼你們每天都在吃牛排,而我只能吃香蕉?」
資深的獅子回答說: 「因為我們這個動物園,獅子的人事凍結,你佔的是猴子的缺。」 .... 這是什麼狀況?

這隻新來的獅子再問了其中一隻獅子:
「為什麼隔壁那隻土狗子也在吃牛排,而我還是只能吃香蕉?不能換個缺嗎?」
「因為你佔的是猴子的缺。他佔的是老虎的缺,最重要的是 - 那隻狗是園長介紹來的。」



雨季說:
這是我最近看到轉寄信件中最好笑的笑話,現實的社會也是如此吧...
不過就像這封轉寄信開頭這樣寫道:
"在不景氣中,沒有強有力的後台,不管佔到什麼缺,只要有缺可佔,都算幸福啦! "

2008年11月22日 星期六

幸福是什麼呢?

其實幸福就是為自己關心的人忙碌著...
為自己愛的人擔憂著...
為自己的興趣熬夜著...

"如果下雨了,請放心,我已經在去接你的路上!"
我想"接"與"被接",都是幸福.
幸福真的很簡單,只要你真的多一點的付出...

終於告一段落

忙了將近兩個半月,CASE終於完成所有主體架構.
雖然仍有一些地方要修改,但是也是動小刀而已.
CASE主要是將User于UI中設定好的東西,轉輸出為PDF檔案.
沒想到最關鍵竟然是CJK Font 輸出 及 RGB與CMYK的色彩轉換.
光是這兩部分就耗掉的我將近一個月的時間,找尋解決的方式.
我想要在外面接CASE混飯吃,還真是他媽的不簡單....
哈哈哈...

2008年10月18日 星期六

放下也是一種選擇

經過書局,看到書架上有這個一本書"我們都忘了,其實放下也是一種選擇"...
說的真是好,其實很多事是我們都用直覺的角度去思考,
或說是用蒂固於腦袋中"被教育出來"的方式去判斷,
往往"放下" "放棄" "被甩" "失敗" 這些看似略帶負面的名詞,
事實上也是一種選擇與被選擇.
其實退一步試想,另外一條 "路" 另外一種"方式" 另外一個"人",正等著你你發現...
不是嗎?

2008年10月2日 星期四

秋來了...

幾天前Google換了這個楓葉版的Logo...好漂亮喔
接連幾了颱風加上東北季風,這幾天頗有秋天的氣息,不若往年的10月初...

好久沒有Update Blog了,有時候為了賺錢,也得將興趣暫時擱置...

2008年9月14日 星期日

今天的Google很中秋...

2008年8月29日 星期五

IPSEC Services 無法啟動

昨天因為要使用VPN,突然發現IPSEC Services 無法啟動,使得撥接程式無法撥接...
仔細查了一下,發現Winsock掛了...-_-"
解決方式:開始-執行,輸入"CMD",跳出Console視窗,在DOS提示符號後輸入"netsh winsock reset"執行,然後重新開機就解決了...

順便介紹一下IPSEC Services (IP 安全性服務):
微軟: 管理 IP 安全性原則並啟動 ISAKMP/Oakley (IKE) 及 IP 安全性驅動程式。
補充: 協助保護經由網路傳輸的資料。IPSec 為一重要環節,為虛擬私人網路 (VPN) 中提供安全性,而 VPN 容許群群組織經由因特網安全地傳輸資料。在某些網域上也許需要,但是一般使用者大部分是不太需要的
依存: IPSEC driver、Remote Procedure Call (RPC)、TCP/IP Protocol Driver
建議: 手動

2008年8月28日 星期四

赤崁樓 武廟 天后宮

8/23午后四時,陽光大的可以...
來到堪稱全台灣最多古蹟的台南市五年多都沒去逛過,所以決定頂著大太陽,要要去看看走走
於是騎著我的豪邁125,豪邁上路...
第一站到了赤崁樓,竟然每人要索票50元,既然來了,就給吧...


赤崁樓全景


紅毛人輸了,鄭成功受降...


赤崁樓KANBAN


鄭成功畫像


其他...




有名的冬瓜茶店...


武廟...




關老爺的大刀...


往天后宮小巷路上的另一家冬瓜茶店...



老婆與冬瓜小童合照...


天后宮...



雨季說:
有空的時候,可以出去走走調適一下一周來工作的壓力與緊張...

2008年8月19日 星期二

如何讓你的程式只能啟動一次 in C#

有時候,因為某些緣故(例如:搶同一個TCP/IP Port Listen),同一隻程式不可以啟動兩次(含)以上...
可以這樣處理,打開Program.cs

加入以下程式碼(粗體自部分),就OK了
static class Program
{
///


/// The main entry point for the application.
///

static Mutex appMutex;

[STAThread]
static void Main()
{
bool createNew;
appMutex = new Mutex(true, "xxxxx", out createNew); // xxxxx 是自己取的名稱
if (!createNew)
{ // 表示已經有同名的 Mutex
appMutex.Close();
appMutex = null;
MessageBox.Show("Another xxxxxx already Startup !","Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}

Application.ApplicationExit += OnApplicationExit;
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FormMain());
}

static void OnApplicationExit(object sender, EventArgs e)
{
if (appMutex != null)
{
appMutex.ReleaseMutex();
appMutex.Close();
}
}

}

或是在Form Load Event中這樣寫

using System.Threading;
....

private void FormMain_Load(object sender, EventArgs e)
{
bool IsExist;
Mutex MyMutex = new Mutex(true, "MyApplication", out IsExist);
//其中MyApplicationd可以是任意字眼...
if(IsExist)
{
Dispose();//關閉
}
}


菲爾普斯奪得8金以後 [轉載]

菲爾普斯奪得8金以後:
各國對游泳比賽蛙泳、仰泳、蝶泳、自由泳×100、200、400、1500導致金牌過多感到非常不滿,
紛紛要求增加自己優勢專案的金牌數目。

巴西提出:
足球應該分為3人、5人、7人、11人×沙灘、室內、草地。

中國提出:
乒乓球應該分為直板、橫板、直板雙打、直板單打、直板橫板混雙。
跳水應該分為1m 2m 3m 4m 5m 6m 7m 8m 9m 10m

英國提出:
馬術應該分成黑馬馬術、白馬馬術、紅馬馬術、褐馬馬術、皇馬馬術、斑馬馬術。

肯亞提出:
長跑應該分為10000米、11000米、12000米、13000米。。。

日本提出:
所有男女混合項目應該增加3p、4p、5p、6p、7p。。。群p。。。500p。

泰國提出:
除了男子和女子項目外,所有應該加上人妖組。

唯獨韓國在這方面沒有要求,他們大聲喊到:
菲爾普斯是韓國人 !! ...-_-"

2008年8月14日 星期四

梁詠琪 魔幻季節


魔幻季節
作曲:李偲菘 填詞:易家揚

生活像懸疑的小說 下一頁劇情是什麼
我相信沒有人曉得 世界究竟怎麼了
也許是我也悶得太久 也許是我今天著了魔 好想失蹤幾秒鐘

孩子似的閉上眼 向前走
回到自己那一國 那個好久忘了去夢的入口

我喜歡孤單冒險追蹤夢的線索 我的註冊商標是自由
再也不想做 無聊的那個我
我走向魔幻季節原來那麼快樂 我連呼吸都是幸福的
換一個角度 去看另一個地球

愛情的範圍誰畫得出呢 我愛的人剩下了幾個
我翻閱記憶的底片 美的醜的我通通記得
也許是我也悶得太久 也許是我今天著了魔 我好想失蹤幾秒鐘

孩子似的閉上眼 向前走 回到自己那一國
那個好久忘了去夢的入口

我喜歡孤單冒險追蹤夢的線索 我的註冊商標是自由
再也不想做 無聊的那個我
我走向魔幻季節原來那麼快樂 我連呼吸都是幸福的
換一個角度 去看另一個地球

屋頂上的我 鏡子裡的我 Da La La La
留短髮的我 最膽小的我 (都是我)

我喜歡孤單冒險追蹤夢的線索 我的註冊商標是自由
再也不想做 無聊的那個我
我走向魔幻季節原來那麼快樂 我連呼吸都是幸福的
換一個角度 去看另一個地球

不回頭的我 不回頭的我

雨季說:
生活像懸疑的小說 下一頁劇情是什麼,特別喜歡這句...
被動的人生,或許無法知道...
但是主動的人生,我想我們可以去安排吧,學習,認真努力,盡責...
你現在在做的,就是你未來的劇情...

等火車...


雨季說:
上下班都會經過的平交道...
幾乎10次會遇上2~4次,火車經過...
萬一南下北上都有車經過,那就得等的更久了...
一直想拍下火車經過的畫面,無奈都騎摩托車,不方便...
前天上班下著小雨,所以就開車上班,下班剛好遇到...

被嚇到!


雨季說:
最近常被它嚇到!總是出現在客廳竄逃,垃圾桶邊,地上,牆上...
它有一次也是被彼此嚇到,它就斷尾逃走了,我則驚魂甫定後拾起尾巴放入垃圾桶...
因為它會幫我吃蚊子,所以就放任不管它了,家裡就多了一個不用繳租的房客...

2008年8月13日 星期三

檢查電腦是否連結網路 [Check Network Connection Status]

今天因為在寫一隻後門程式,需要檢查電腦是否連上網路
網路上找了半天的資料,都免不了要Open Secket Listen,不然就是去Ping xx主機....
但是都無法做到近乎Real Time
突然想起日前介紹的Using the VB.net My namespace或許有提供某些東西給幸福的VB.NET使用者使用.於是真的發現了這玩意
using Microsoft.VisualBasic.Devices;
...
Microsoft.VisualBasic.Devices.Computer myComputer;
...

if( !myComputer.Network.IsAvailable ) //如果網路斷訊就傳回true
{
...
}
將它搭配個Timer,interval設個0.1秒,保證好用...

2008年8月9日 星期六

使用WebBrower透過Google自動查詢

今天來利用.Net Framework提供的WebBrower,來玩點小遊戲
開啟一個新專案,拉一個webBrowser1佈建到你的Form中,在加一個Button在你的Form中

然後在public partial class Form1加入這段程式碼:

private bool ButtonClick=false; //避免程式一直查詢檢查用變數
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Url = new Uri("http://www.google.com"); //設定Google網址
ButtonClick = true;
}

//網也完全載入後觸發此DocumentCompleted Event
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (ButtonClick)
{
HtmlDocument myDoc = webBrowser1.Document;

//關鍵所在,必須知道Search textbox的name是"q"(利用IE->檢視-> 原始檔可以慢慢找到)
HtmlElement myTextBox = myDoc.GetElementById("q"); //找到Search textbox
//關鍵所在,必須知道Google搜尋 Button的name是"btnG"(利用IE->檢視-> 原始檔可以慢慢找到)
HtmlElement myButton = myDoc.GetElementById("btnG"); //找到Google搜尋 Button

object myObj = "Embedded";
myTextBox.InnerText = "Embedded"; //在Search textbox填入查詢字眼
myButton.InvokeMember("click", null); //按下Google搜尋 Button
ButtonClick = false;
}
}


這樣就可以做到自動查詢了...


延伸想法:
如此一來,是不是可以透過這個方式直接登錄一些網站,不用自己keyin帳號密碼呢?...哈哈

Regular Expression

所謂的 Regular Expression (正規表示式,經常被簡寫為 Regex) 的最主要目的,在於使用一組特定的符號,來驗證一段字串是否符合某個特定的樣式(Pattern).
舉例來說,當你希望使用者輸入他的 Email 位址時,你要使用什麼方法讓程式來判斷使用者確實輸入正確的格式,而沒有輸入亂七八糟的東西呢?如果你要撰寫程式來過濾以上的問題,恐怕要下不少判斷式,而且不見得能把所有的錯誤情況全部掌握。但是如果使用 Regular Expression ,再配合 Validators,就可以輕鬆的解決。

那麼 Regular Expression 是如何表示的呢?請看下面的 Notation 列表:
字元 代表該字元
^ 限制字串必須出現於行首
$ 限制字串必須出現於行末
\ 將特殊字元還原成字面意義的字元
^ 某字元以外的任何字元
- 字元集合中可使用 - 來指定字元的區間

+ 其前的字元或字元集合出現一次或一次以上
? 其前的字元或字元集合可出現一次或不出現
* 其前的字元或字元集合可出現任何次數或不出現
(...) 用以括住一群字元,且將之視成一個集合
{n} 重複 n 次
{n,m} 重複 n 到 m 次
{n,} 至少重複 n 次
[] 其中之一字元可出現可不出現,例如 [abc] 表示不論出現 a 或 b 或 c 都算符合
| 代表「或」, 例如 (Sun|Mon|Tue|Wed|Thu|Fri|Sat), (日|一|二|三|四|五|六) 以左右括號括住

. (句點符號) 代表除了換行符號 (\n) 以外的任一字元。如果要包括換行符號,請使用 [\s\S]
\w (\W) 代表任何英文(以外的) 字元
\s (\S) 代表空白 (以外的) 字元
\d (\D) 代表數字 (以外的) 字元
\b (\B) 代表位於文字邊界的 (以外的) 字元。(在英文中)你可以把 \b 視作空白或 TAB 字元, 例如 \bBB 可符合 "ABB CBB" 中的 CBB 但非 ABB, 因為 ABB 位於行首, 不算是文字邊界; 這是容易混淆的地方。
\r 代表換行字元
\n 代表換行字元 (通常和 \r 一同出現, 所以一般以 \r\n 代表換行)
\t 代表 TAB 字元
\( 代表左括號
\) 代表右括號
\X 以十六進位字元碼代表某個字元; 例如 [\x21-\x7E] 可代表所有看得到的字元 ([\x20-\x7E] 則包括空白字元)

關於詳細的用法,你可以使用 Google 搜尋以找到更多的相關資料。
如果你想要練習 Regex 的話,你可以在 RegExLib.com 練習。先進入網頁,把畫面往下捲一點,在 Source 方塊中打進測試文字(例如 abc),然後在稍下方的 Pattern 方塊中打進你自己定的 Regex 樣式(例如 \w{3}),按 Submit 按鈕,再稍等一下子,在畫面的最下面就會出現 Match 或是 No match,表示正確或是錯誤。

用C#來個範例:
using System.Text.RegularExpressions;

string 檢查條件=@"\w*@\w*\.\w*(\.\w*){0,1}";
string myEmail = "nelsonliu92@gmail.com";

if (Regex.IsMatch(myEmail,檢查條件)
Console.WriteLine("Input matches regular expression.");
else
Console.WriteLine("Input DOES NOT match regular expression.");

答案會是Input matches regular expression.
"\w*@\w*\.\w*(\.\w*){0,1}",這段文字大概翻譯一下
\w*,不管多少個字母
@,接著"@"
\w*,不管多少個字母
\.接著"."
\w*,不管多少個字母
(\.\w*){0,1},最後有可能會有"."及不管多少個字母
因為有可能是nelson@gmail.com.tw,所以加上(\.\w*){0,1}這一段....

蠻好用的東西,介紹給大家

找到了...

羊在騎單車...

2008年8月5日 星期二

死亡 vs 愛情

有人說過"死亡與愛情一樣霸道!"
閻王要人三更死,不得留人到四更...
情人眼裡容不下一顆砂子...
所以死亡跟愛情一樣霸道...


Ping in C#

有時候需要知道另一部電腦是否還"活著",可以這樣做...
private void btn_Click(object sender, EventArgs e)
{
try
{
Ping ping = new Ping();
PingReply pingreply = ping.Send("xxx.xxx.xxx.xxx");//IP Address
MessageBox.Show(pingreply.Status.ToString());
}
catch (Exception err)
{
MessageBox.Show(err.Message);
}
}
記得要using System.Net.NetworkInformation 這個NameSpace

2008年7月31日 星期四

生命中不能承受之輕

這句話常聽到或看到,大概的意義是說,"生命中有很多事,看似輕如鴻毛,卻讓人難以承受."

記得這是多年前米蘭.昆德拉在"生命中不能承受之輕"一書,揭示的這個問題,但是它也是凡人跟我們一樣,無力去解決著個問題.
生命有著"一次"的特性,過了就無法重新來過,沒有彩排沒有預演更沒有草稿,任何的選擇有就變的毫無意義.因為每次的選擇,除了媚俗我們還有其他選擇嗎?怎知,在抵抗媚俗的另一個選擇,卻是更加的媚俗,選也不是,不選也不是,進退維谷...
生命中有很多的不能承受之重,像是工作,生活,親情,愛情,人際關係,因人而異.因為這些的重,往往會忽略了那些生命之中的輕,而這些輕有時候是更讓人無法承受之...

2008年7月30日 星期三

老闆~我要剪成跟照片的一模一樣




南拳媽媽 下雨天 <轉載>



南拳媽媽 - 下雨天
作詞:梁心頤(Lara) / 作曲:張傑
下雨天了 怎麼辦 我好想你
我不敢打給你 我找不到原因
為什麼失眠的聲音 變得好熟悉
沈默的場景 做你的代替 陪我等雨停

期待讓人越來越沉溺(疲憊)
誰和我一樣 等不到他的誰
愛上你我總在學會 寂寞的滋味
一個人撐傘 一個人擦淚 一個人好累

怎樣的雨 怎樣的夜 怎樣的我 能讓你更想念
雨要多大 天要多黑 才能夠有你的體貼
其實沒有我你分不出哪些差別
結局那還能多明顯
別說你會難過 別說你想改變
被愛的人不用道歉



雨季說:
愛上那句"其實沒有我你分不出哪些差別"...
好好聽...

2008年7月27日 星期日

Using the VB.net My namespace in C#

首先Add a New Reference


然後Add a using clause
using Microsoft.VisualBasic.Devices;

最後程式中引用
Computer myComputer = new Computer();
myComputer.Audio.Play(@"c:\WINDOWS\Media\chimes.wav");

該NameSpace提供了下列類別:
Audio
Clipboard
Clock
FileSystem
Info
Keyboard
Mouse
Name
Network
Ports
Registry
Screen

VB.NET替Programmer提供的很方便的類別,透過上述的方式也方便C#的使用者快速建立程式

MSN狀態(我在線上時,可以跟我交談喔)