2005-10-28

以前寫的程式 : 照片貼 (PicNote)

這個程式是今年年初寫的.
不過我只有丟到藍色小舖的程式上傳區而已!


原本在玩.Net的透明表單的功能(adamnote)還有圖形處理
所以就想到將這兩個結合在一起...
目前功能:
1.設定圖片
2.設定鬧鐘
3.設定鈴聲(鬧鐘鈴聲,可以即時錄製聲音檔)
4.設定字型
5.設定透明度
6.儲存為圖檔(將圖片與文字另存成單一的照片檔)
7.儲存開啟照片貼(照片貼的檔案是xml,內容是圖片與一些設定值,但不包含聲音與鬧鐘設定)

執行檔下載 : picnote.zip (211kb)

如果有人想要原始碼的話,在回應一下吧!!
ps.此程式是用.Net所撰寫,所以要執行的話,請安裝.Net Framework


執行的畫面,
會在桌面上有個照相機的浮動視窗!


照片貼畫面,
點兩下照相機或是按新增照片貼,
就會開啟此畫面!
在照片下方的文字點兩下即可編輯文字訊息!


可以設定照片貼的透明度...
也可以讓它置於最上層.


可以將相機縮小到任務列裡面...
ps.因為沒有其他的圖,所以就用荷包蛋的...

2005-10-26

2003年3月16日 我在陽明山

這已經是兩年多以前所紀錄的了,
只是當初所弄得網站已經關了,所以就轉貼在這...
好歹也是花了時間所紀錄的...



十六日的早上 天氣陰陰的
雖然早上很早就起床了
但還是一直賴在床上
我也不知道我到底在等待什麼
或許只是在等待時間的流逝吧
Flickr Photo

下午一點多
坐在前往陽明山的花季公車上
外面的雨漸漸地小了
突然想起第一次來台北找房子的時候
也是這樣的天氣  只是那時是晚上

Flickr Photo

原本是打算做到公車總站的
可是到了文化時卻跟著大家一起下了車
站在麥當勞旁的菁山路口
回憶回到了四年多以前
初次來到台北

Flickr Photo

沿著菁山路走上去  不到五分鐘的路程
有塊被野草淹沒的平地
兩三年前這還是許多婚紗照的絕佳拍攝地點
只是時過境遷
那顆淒美的枯樹倒了 空地也滿佈雜草了

Flickr Photo

或許比較好的就是
道路比較寬了
相對的 人也越來越多了

Flickr Photo

再沿著菁山路往上走個十來分鐘 轉兩個彎
就看到了我大一大二住的地方了
一個奇怪的地方
一個讓我從此對台北人失望的地方

Flickr Photo

現在的門換了 換的更奇怪了
可能是已經沒有人在租了吧
我一直這樣希望著
因為這地方根本不適合住人
現在回來就當是在憑弔吧



不知為了什麼
人總是喜歡舊地重遊
尤其是曾經跌倒或吃過苦的地方
或許是一種憑弔吧

Flickr Photo

掉頭從菁山路往回走
想到的是大一用走路上學的時光
有點悠閒 有點健康的感覺

Flickr Photo

走出菁山路後
突然想去看看以前曾經住過的地方
而搬出菁山路後的第一個住處就是這了
在仰德大道旁 唯一的記憶就是房子很小
但冬天時卻一點也不會覺得有寒意

Flickr Photo

再順著仰德大道走
就可以看到人稱"奪命彎道"大轉彎處
而第四個住處也就是在這附近

Flickr Photo

站在第四個住處的路口 剛好正對"奪命彎道"
曾看電視有"大師"說旁邊的電線桿上有"那個"
但走了那麼多次也沒見過半次
應該只是電視的噱頭吧

Flickr Photo

鳥牌
第一個想到的就是
"要去玩時約在鳥牌等"
或許這就是鳥牌比較顯著的功能吧

Flickr Photo

走向文化的校園
第一個看到的就是一堆機車
小小的山頭
卻有越來越多的人
與越來越多的機車



如果時間可以重來
我會希望從大學開始
但我不會想再去過同樣的生活

Flickr Photo

從下公車到右走回公車站
看看也走了快兩個小時
除了偶爾的駐足留念外
幾乎都是在走路
目的只是為了回憶

Flickr Photo

下了山
有種失落感 有點無依的感覺
不知目的在哪地閒晃著
轉個身為劍潭站為留念一下吧

Flickr Photo

捷運軌道下的樹開花了
而捷運步道旁的石椅
成了情人雅座
而情人們忘我的表演著
完全無視於旁人的眼光

Flickr Photo

第一次來台北就是被這種景觀所吸引
橋與橋相疊著
在鄉下地方很難的一見的景象

Flickr Photo

了橋 回頭看一下圓山飯店
不知路過了幾次 就是未曾進去過
改天吧!!
今天就先這樣了!!

2002年3月16日 我一個人對陽明山回憶的憑弔

[心情] 陰雨天

已經忘了這個這幾天有沒有放晴過,
因為不是在辦公室的電腦前就是在家裡的電腦前,
能知道現在是陰雨天,只是因為洗的衣服乾不了...

我喜歡南部的雨天,
南部的生活步調慢,
在雨天,我可以很悠閒的在家看著門外的雨滴落在樹上與魚池裏,
在夜裡更可以聽到帶有節奏的雨滴聲.
這一切只有悠閒.

我不喜歡台北的雨天,(除了一種情況[註一])
台北的生活節奏快,
凡事都是趕時間,早上起來趕著上班,上班趕著case,趕完case趕著下班,
趕路回家後又繼續趕著case或是未完成的工作,
下雨,只會讓心情更糟,除了略帶酸味又有點潮濕的衣服外,
還要在雨中的車陣裡與各種車輛廝殺一番...
這一切的一切,除了"糟透了"可以形容外,已經沒有什麼可以說的了!

註一:
夏季午夜兩三點,雨後的陽明山上,
少了白晝的暑氣,多的是夜晚的涼風,
在風中,依稀可以嗅出雨後的一絲清新,
這時的空氣,會讓人誤以為離開了台北.
對於剛趕完程式的我們,這一刻,一切都變的美好,
路上看不著幾個人,感覺匆忙的台北頓時停止了下來,
周圍寧靜無聲,依稀可以聽見遠處的蟲鳴.
一路走回宿舍,靜靜的享受著這短暫的悠閒時光!

2005-10-25

用Flock發的blog

Flock 的blog editor介面

Flickr Photo

Flock的blog editor 介面,上方是Flickr的圖片列...很方便,只是似乎不太靈光,按了Get Photos後,有時抓不到剛上傳的...

Flickr Photo

2005-10-24

我的童年回憶 - 兩支電火條

我的童年真的有很多的東西可以回憶跟懷念,
如果要我一次講完,那肯定是要花上好幾天!
每次一提到童年,我總是會想到”兩支電火條”,
我想,現在的小孩子應該都不知道這是什麼東西了吧!
如果,你也有跟我同樣的記憶,那就跟我一起來回憶吧!!
還記得小時後每次吃完晚飯都會跟鄰居在我們那條巷子玩這遊戲!
先猜拳分成兩隊人馬!各自選擇一跟電線桿,
然後遊戲就開始了,
只要你可以偷偷的摸到對方的電線桿,那就是贏了,
不過,要是被對方抓到,就必須在對方的電線桿前等待隊友來營救,
而等待的時候,你必須一手摸著對方的電線桿,另一隻手則伸直的等隊友來碰觸你,
當隊友碰觸到你的時候,你就要快點閃人,不然的話,要是在被對方的人碰到,那又得回去等待了!!
那時總是想盡辦法的繞路,爬牆,偷偷摸摸的從對方的後面去摸他們的電線桿!
我為什麼喜歡玩這遊戲呢!?為什麼會對這有深刻的印象呢!!
當然是因為我總是勝利的一方...哈哈哈!!

2005-10-21

一個不錯的保護javascript的方法

今天看到一個網站上的東西蠻有意思的,
所以想說看能不能copy下來慢慢玩,
結果看了一下程式碼發覺,似乎沒有這麼容易,
他的程式碼如下(我只截取我覺得重要的部份)

<script type="text/javascript">
<!--
function init()
{
r = new ActiveXObject("Microsoft.XMLHTTP");
r.open("GET","/virfolder/init/0",false);
r.send(null);
r2 = new ActiveXObject("Microsoft.XMLHTTP");
r2.onreadystatechange = asyncHandler;
r2.open("GET",r.responseText,true);
r2.send(null);
}
function asyncHandler()
{
if( r2.readyState==4 && r2.status==200 )
{
i = document.createElement("script");
i.text = r2.responseText;
document.body.appendChild(i);
}
}
//-->
</script>
</head>
<body onLoad="init();">

我稍微說一下我所理解的運作方式,
他將要保護的javascript藏在另一個路徑裡,
但問題是,這個路徑他是透過

r = new ActiveXObject("Microsoft.XMLHTTP");
r.open("GET","/virfolder/init/0",false);
r.send(null);

去取得,然後再丟到r2去取得script的內容

r2 = new ActiveXObject("Microsoft.XMLHTTP");
r2.onreadystatechange = asyncHandler;
r2.open("GET",r.responseText,true);
r2.send(null);

然後再將r2所接收到的資料丟到新建立的script的element中

i = document.createElement("script");
i.text = r2.responseText;
document.body.appendChild(i);

以上大致上是他的運作方式.

這時當然就會想說既然這樣的話,直接瀏覽 r 的連結,看一下 r2 是連到哪,
所以我就先用瀏覽器直接將路徑連接了一下後瀏覽,
不過卻傳回空資料...並不是無此網頁,也不是錯誤,是完全沒有內容的網頁,
所以,這時就想說應該是有判斷referer,
所以就改用它的程式再加上一段setRequestHeader,用javascript去接收看看.

r.setRequestHeader('REFERER', "http://000.000.000.000/virfolder/test/xxxx/");

結果,傳回來的依然是空資料...
所以也開始懷疑他到底是不是判斷referer...
因此到現在我還不知道他的主要的script是寫些什麼...

不過,畢竟javascript是在client端跑的,
所以資料勢必是要都load到client端才行,
本想說用Fiddler來抓抓看,
只是,現在用的電腦怪怪的,一些軟體都不是很正常,Fiddler也沒反應,所以等明天再試吧!!

ps.實際的連結路徑與資料夾等等的資訊我有稍微修改了一下,直覺上改一下這些資訊比較恰當...
如果有人對哪網頁有興趣的,想要自己研究看看的,就回應一下或與我聯絡.

2005-10-19

面對程式漏洞

上禮拜為了準備一份學習程式設計的心得分享的簡報,
因為裡面主要提到的是一些程式設計學習中常見的問題與狀況,
而這些問題與狀況所影響的就是程式的安全性問題!!
而在蒐集資料的時候,
發現外面很多網站都有這樣的漏洞,
而且透過google,一切都無所遁形!!

其中我覺得比較有趣的是一個下載的程式,
所以我後來又再用google搜尋了一下,
發現在台灣還有不少網站有這樣的問題,(或許應該說是程式設計師有這樣的問題)
本來想說要再blog說明一下這個問題是怎樣的情形,
但覺得還是先通知一下網站的管理者,讓他們先補好漏洞再說,
所以昨天也好心的將這資訊寄給了網站的管理者!
不過不知道是怎樣,到現在似乎都還沒有人做處理!
所以我現在也不知道是不是要po之前所做的簡報了...

我在想,到底是大家比較沒有危機意識,
還是網站上留的信箱都是觀看用的...
網友即使寄了,也不見得有人會看...
而這其中不乏知名的網站(雖然程式有做了檢查,不過還不夠嚴謹...),
當然一些.gov的網站就更不用說了...

其中還有一家應該是專門再接網站case的公司(很像有很多公司或工作室都是這樣...),
而程式應該也是複製貼上的!!所以有的漏洞也是一樣...

在過幾天我在將之前做的簡報分享出來好了!!
我想這樣應該是已經盡到告知的義務了!!

2005-10-18

玩玩.Net Remoting


最近在玩.Net Remoting,
所以就試著用小舖網頁空間來玩玩remoting.
先po個架構圖(圖一),
下次再陸續將一些資料傳上來!!

圖一 Chatting Service 架構圖

大致說明一下這個架構,
因為我是打算讓使用者可以同時使用應用程式(win form)或透過網頁(web form)來使用這個聊天功能,
所以會有一個Chat client(AP)跟一個web client,
當然要同時讓AP與web都可以用的話,使用web service寫也是可以,
不過因為要玩玩看remoting,所以在這是使用remoting的架構(謎之音 : 文章標題不是說了!!).

而IChatObject只是Chat Service所使用的ChatObject的interface,
client必須透過IChatObject所提供介面來與Remoting Server(Chat Service)溝通,
這樣的做法是為了保護ChatObject的內容,
因為Chat Service是要掛在IIS下的,
所以Remoting的通道只能使用httpchannel.

而使用httpchannel也有個好處,就是因為有些公司會鎖port,
所以如果使用httpchannel的話,就不用擔心port被鎖了...除非公司連網頁也不讓員工看...

上面這張架構圖不知道大家是不是看的懂,我也不確定我這樣表達是不是很容易讓人了解!!

如果對remoting有興趣或對這東西有什麼疑問的,歡迎回應!
另外,因為工作上需求的環境不同,所以也畫了另外一張架構圖(圖二),

有興趣的就先看看,下次在說明!!



圖二.Remoting 架構圖

ps.Chatting Service 架構圖中有個地方表示錯了,明天在改...

2005-10-13

寫程式不就是為了讓生活更便利?

這應該從何說起呢!
自從10月10後,朋友就陸續轉貼網址給我,
問我是不是我引起的...說實在的,我也不知道該說些什麼!!

我是覺得,寫程式本來就是為了減少工作量,或者說是減少機械式的動作,
如同在網頁上訂不到票的時候,就是回上頁再訂一次,如果再訂不到就在重覆一次!
既然這樣的動作可以用程式來取代,那為什麼不能寫之程式來處理呢?
所以寫程式來自動訂票的話,在合理的使用下應該是被允許的...
或許這時有人會說這樣對於不會寫程式或者沒再用這程式的人不公平,
我想,這世界本來就沒有什麼是公平的,
就如同現在都用網路訂票,而直接到火車站排隊買票的,反而可能買不到...
而家裡沒網路的,那就不用訂票的(雖然說還有語音訂票)...
這一切能說有什麼公平嗎?

記得當初考大學時,要放榜的時候,說在網路上可以查榜單,
但問題是.還沒上大學的我,根本不知道電腦跟網路是怎麼回事...更別說上網查放榜了!!
而這,對於沒有網路的我又有什麼公平可言呢!!

我想寫程式本來就是為了讓生活更便利,當然也是要在合理的使用下...
我想台鐵現在要加的應該是驗證碼的功能吧...
到時,應該有更多人覺得訂票很麻煩...

PS.下面這些標題是不是下的太嚴重了啊!!不過,反正跟我沒關係...

偷票駭客就逮,台鐵不打算求償
http://www.bcc.com.tw/news/newsview.asp?cde=79481

台鐵網路訂票系統疑遭駭客搞鬼
http://www.takungpao.com/news/2005-10-11/TM-468644.htm

黑手台鐵網路訂票塞爆 學生搞鬼?
http://www.ttv.com.tw/news/html/094/10/0941007/09410074510102L.htm

台鐵網路訂票塞爆 追網路黑手
木馬程式作怪 學生癱瘓台鐵?
http://www.ttv.com.tw/news/html/094/10/0941007/09410074510101I.htm

中秋火車網路訂票1小時搶光 撰寫搶票系統工程師投案
http://www.ettoday.com/2005/10/11/91-1855175.htm

Google以後可以查祖譜嗎?

今天看到一篇INDISE的文章 : 比爾蓋茲和賈伯斯,他們的孩子都是 14 歲才能用手機 想說比爾蓋茲不是有點年紀了嗎? 他的小孩應該也都不小了. 他們14歲時應該還沒有甚麼智慧手機吧… 說不定還是在BB call的年代. 所以就好奇的用google查一下有沒...