Tuesday, April 26, 2005

MSN攻防戰

公司最近才又開始封鎖MSN Messenger,其實我上班時間很少用MSN Messenger,原因是我想準時下班(上班就做上班該做得事情嚕)。但是一知道公司這麼愛封鎖,又說:「如果私自使用MSN Messenger,被抓到對話記錄,要以對話內容當作考績的參考。」,讓我手癢癢,更想試試看。
在MS Windows平台上可以用的解決方法有:
  1. 用web版的登入介面:
  2. 如果公司沒有刻意要依照網域封鎖提供web登入的網站,可以考慮使用這個解決方法。不過使用web版方式,對於訊息的加密必須要注意。無聊的主管會命令 MIS去抓訊息來看。怎麼會有主管這麼閒,不去作自己應該負責任的事情,喜歡找些小事作,然後沾沾自喜呢。
  3. 利用proxy:
  4. 最簡單就是利用proxy,像是proxy.hinet.net:80,只要MIS部門不嫌到抓封包型態比對,應該都可以利用這個方法解決。使用這個方 法,你所傳遞的訊息,仍然是明碼(plaintext),無聊的人還是會想去抓你的訊息來看,不過沒關係,如果懶得加密,可以用「手寫功能」,先暫時擋一下。
  5. 建立tunnel:
  6. 這可以建立一個安全的tunnel,只需要利用ssh建立起tunnel,就可以讓你的訊息可以暫時的安全不被無聊人抓出來看,就算抓出來看也是密文(ciphertext)。缺點就是必須要有機器可以讓你建立ssh連線。
  7. ?
    其他還有很多方法,我沒有一一去試。比如,使用軟體,讓你在公司的電腦可以利用遠端的機器,將建立連線的需求轉移過去,像是Hopster(不過聽說有木馬啦)。
MSN Messenger真是大家愛用的軟體。不過我們公司Skype沒封鎖,但是還是沒人想用啊。

Monday, April 25, 2005

淡水半日遊

前幾個禮拜想去淡水逛逛,阿鋒曾經在淡江唸過書,請他當導遊應該是再好不過的選擇。在他的帶領下,小逛了一下淡水的校園,並且見識他跟鋒嫂在校園裡的秘密 約會地點(大學時期,總會~嘿嘿~)。到淡水的時候過了嚮午,請大導遊帶我去吃那種一跟淡江學生提起,他們都會知道的店。於是我們前往一家有名的臭豆腐 店,這家臭豆腐店的主力產品是臭豆腐+麻辣湯頭+麵、米粉跟米苔目,在學區的店好處就是會讓學生吃到飽,你可以無限制的家麵(不限種類)跟湯,還不錯吃 喔。
解決了民生問題,就開始參觀之旅。首先到了淡江大學,淡江大學有個海事博物館,裡面擺滿多關於船舶的東西,有船艦模型、船錨、馬達……等。聽說很少有人會 去參觀這個地點,去淡江大學附近逛的人可以去看看。去淡水,那就一定要去漁人碼頭,漁人碼頭靠近出海口,風吹的滿大的,不過天氣還算晴朗,所以不會覺得寒 冷。車子進漁人碼頭停車場是要收費的,但是摩托車不用。因為是假日,人超級多啊。這趟淡水之行還滿好玩的,阿鋒是各滿盡責的導遊,鋒嫂看起來也乖乖的,大 概很快就會聽到他們的喜訊吧。

Sunday, April 17, 2005

詭異的卡通

我看電視的習慣小差,就是會一直切換頻道,瘋狂切換(除非看HBO那種沒廣告的)。最近看到一個很奇怪的卡通,裡面的主角叫做筋肉萬太郎,其他的配角很怪 異,還有什麼馬桶超人、無障礙超人(跟老人合體,目的是為了老人家創造無障礙空間)、海象人等。反正不管什麼東西都可以是超人就對了。實在是沒看過馬桶造 型的超人,超怪。

Wednesday, April 13, 2005

抱怨一下

測試測試,這幾天老是在測試產品。想以前打工的日子,就是當各測試員。
前幾天meeting,team leader小小抱怨一下我的工作進度太慢。唉~要快也是可以啊,我更希望公司福利能夠改善一下,至少加班有個便當,主管不要把員工當小偷看待。
莫非我要等近視度數破千,等著去12天的快樂營嗎?

Monday, April 11, 2005

MSN 傷心程式?

一直覺得這個MSN延伸程式名字很聳動,不就是讓你知道與某聯絡人間是否互相有加入帳號。有人覺得發現對方沒把你加入帳號,是很傷心的事情,對我來說,卻 是減輕聯絡人清單的負累。這個查詢程式要額外安裝,所以我也一直沒用過。後來在別人的blog看到原來MSN就可以知道對方是不是有把你加入聯絡人清單, 於是就小小試了一下,真可惜沒刪掉幾個~(我msn都亂給低)

想試的人請打開msn Messenger-->工具-->選項-->隱私-->在聯絡人上按下滑鼠右鍵,如果「刪除」是enable,代表對方沒把你加入清單,或者是這個帳號根本死了。

會傷心嗎?

Tuesday, April 05, 2005

怪異的一天

早上八點多就起床,附近真是沒什麼吃的,只好騎摩托車到最近的麥當勞吃早餐。拿到我的餐點,做好位置,拿份報紙閱讀。就在拿報紙的同時,有位先生也衝去跟我搶報紙,還好我有拿到想看的。這位搶報紙怪怪的仁兄,就站在某張桌子站著看報紙,吃完東西不走的怪人。
今 天就是我這一季最後的假期,真是可憐啊。剛上班的上班族,遇到福利普通的公司,連個特休也不肯給個一、兩天,非得等到真正滿一年,才會有特休。正當還沈 浸於過於悲觀的想法時,剛剛在排在我前面點餐的小兄弟上來了,小弟弟找不到他剛剛上來放置在桌上的玩具,旁邊的婆婆突然說:「剛剛那個男生拿走了!」
哇!原來那個看報紙的男生,是假裝的啊,他把報紙放在有玩具的桌面蓋住,接著假裝翻閱,之後收起報紙,另一手抄起玩具。連小朋友的玩具都要偷,真是個沒品的傢伙。

吃完早餐,把一些衣服以及枕頭拿出去曬。沒有陽台的住處,真不好啊!不然我真想曬曬棉被。之後跟同學去游泳,好久沒游泳,游個三百多公尺腳就沒力了。還是慢跑好,可以跑久一點,可惜附近400公尺的操場實在太遠了。

下午去找租屋,遇到人超好的房東,對我「諄諄教誨」,雖然房租很便宜,可是有點小怕淹水。我的房租行,可能還要繼續。

Monday, April 04, 2005

垃圾信

垃圾信真是煩人啊,瘋狂的寄到某個e-mail信箱。只好動手裝一下弄垃圾信的軟體。不過*BSD系列的我是超不熟,任何一種mail server我都不熟,弄起來格外痛苦。
爬了一下google,大概就是裝
  • p5-Mail-SpamAssassin
  • spamass-milter
  • clamav(掃毒用的)
  • sendmail(mail server)
唉~*BSD的指令一點都不熟啊,基礎的操作都得邊查文件。丟臉啊~

Tuesday, March 29, 2005

勇氣

早上又下起雨,對騎摩托車上班的人而言,真不方便。即便穿著雨衣,還是會有幾個地方濕透,譬如腳跟脖子。偏偏我生活的地方又是各天氣預報下雨就一定下雨的「好地方」,全身濕淋淋的戲碼,就不停的上演。

早上一如往常,穿著雨衣,戴安全帽,低頭看看自己的鞋子,雖然是「濕答答的老戲碼」,但,我還是想改善一下,於是就回房間改穿藍白脫鞋,把褲管捲起,就這樣上班。到了公司,再把藍白脫鞋換成球鞋。

我很有勇氣吧!

Monday, March 21, 2005

My MP3

除了自己常聽的小野麗莎以及唯一會反覆聽的巴哈大提琴無伴奏,有些歌曲,是這幾年,都沒換過的。
介紹一下我常聽的音樂吧~
流行樂(流行?):

莫文蔚:的[i]這張專輯超好聽的,每一首,都很好聽。最特別的應該是「如果你是李白」,第一次覺得很怪,後來有機會再聽,卻覺得還滿順耳的。

萬芳:
不換(熊天平有唱男生版)、多事的秋、斷線、猜心、從前和試著瞭解。萬芳詮釋我選的這幾首歌,詮釋的很好:「不換」裡面的幸福女人;「多事的秋」的淡淡愁緒;「斷線」裡牽掛;「猜心」渴望瞭解的心碎;「從前」裡的想念;「試著瞭解」的等待。

槙原敬之(Noriyuki Makihara):
這個曾經因為爆發疑似吸毒事件而被唱片公司全面下架的歌手,做出來的歌,真的很讓人感動,第一首聽到他唱的歌就是「素直」(當時庾澄慶的某隻MV拍攝手法還抄襲他的,拿布偶在一個圓的舞台上轉呀轉)。推薦曲當然就是「素直」。

陳奕迅:
差點忘了介紹這位歌手,他的歌曲也是滿讚的,不過滿八辣的~應該很多人都聽過他的「K歌之王」吧。不過我還是偏愛Lonely Xmax、Last order、Shall we talk、要你的、像一句廣告、謝謝。

古典樂:
接觸的很少,上研究所才真的開始聽,沒錢買設備,認識有些同學是箇中高手。奏鳴曲我總覺得太吵,偶爾寫程式的時候會聽奏鳴曲,不過常常因為精神都聚集在code裡,會被音樂嚇一跳。

爵士樂:
會聽爵士樂純粹是無聊,主要是被路易斯 阿姆斯壯(Louis Armstrong)的聲音所吸引,他的爵士樂都很好聽,像Give me your kisses、What A Wonderful World(超級普遍的一首歌),也因為聽爵士樂,不小心就開始聽Basa Nova。

Saturday, March 19, 2005

軍歌

bow今天從快樂營回來了,勾起我軍歌的回憶.........
大家來懷念一下。

永遠的英雄 黃瑩 作詞作曲

黃埔的心 熱血溶溶 黃埔的愛 肝膽弟兄
如虎添翼 如龍騰空 鐵血鑄成 光榮傳統
北伐奏凱 抗戰建功 古寧頭大捷 八二三神勇
輝煌的歷史 永遠的英雄 心昭日月 氣貫長虹
國旗飛舞 軍麾迎風 青天白日 滿地紅

Friday, March 11, 2005

SNMP

SNMP(Simple Network Management Protocol)設計成為管理網路上眾多設備的協定。網路上的設備這麼多,那麼怎樣把設備上的資訊分門別類呢?SNMP使用MIB (Management Information Base)定義所要蒐集資訊的類別,MIB將這些資源類別定義成一個樹狀結構的形式。藉著MIB所定義的架構,可以依照物件的「識別碼」 (Identifier)來找到該物件,進一步擷取他的值。舉例來說:系統的描述的識別碼是:1.3.6.1.2.1.1.1,以下指令就是取得此 identifier的值:
%snmpget –v 1 –c public localhost 1.3.6.1.2.1.1.1.0
SNMPv2-MIB::sysDescr.0 = STRING: Linux Juses 2.2.14-6.0lp #1 Tue May 16 10:51:38 CST 2000 i686

-v指定要使用的snmp版本
-c 指定community name,類似密碼的意義
後面附加.0代表這個識別碼的值

SMI(Structure of Management Information)用來定義MIB的結構,SMI使用ASN.1(Abstract Syntax Notation One)語法,簡單來說,SMI規範了如何寫MIB。

目 前比較廣為人知的SNMP Open Source工具是NetSNMP。NetSNMP提供SNMP函式庫以及管理工具(管理端稱為Manager,被管理的設備端稱為Agent),讓有心 使用SNMP的人可以一窺究竟。將管理工具包裝好,方便使用者管理的軟體稱為NMS(Network Management Server),這類軟體大多要錢,有些是以賣Packages的方式再收費,比如說你想要管路由器(Router),收錢;管印表機 (Printer),再收錢。真是嚇人的費用啊!

IPython

受夠了難用的Python interactive environment嗎?我老是記不起來那個modules裡有什麼東西(學了快三各月,還是記不起來),常常要開兩個視窗,一邊寫,一邊查,真是很不方便。試試看IPython,他有Tab-completion的功能,可以自動把你打沒完成的字,變的完整。在Windows環境下,除了先安裝Python以外,還要安裝CType以及readline這兩個模組(在Linux下不必額外安裝這兩個模組)。
IPython還提供一些「%magic」功能,例如說可以快速離開python interactive、在interactive env下切換工作目錄以及將某個函數放到背景執行……等,真是太方便了!

Monday, March 07, 2005

Gmail POP3 ?

今天逛了別人的blog才知道gmail有pop3的功能,真是汗顏啊!小試了一下,在收信軟體收中文附檔終於沒有問題了。Gmail提供smtp以及pop3,讓你可以隨 時隨地的收以及發信而不用上web喔~我嚇到的是他有提供outgoing smtp server(幫你寄信的伺服器),於是我在netscape mail & newsgroups填好他提供的outgoing server後,滿心期待的寄了一封信,呃,結果很怪,我用web 登入可以看到那封信件到了,但是用netscape mail & newsgroups收,都收不到,這真是傷腦筋啊。
喔,需要gmail的可以跟隨便一個已經有gmail的人要喔(邀請函多的跟什麼一樣)

相關網站:
教你怎麼設定client端
教你怎麼打開gmail裡的pop3

Friday, February 25, 2005

除濕機

我住的地方非常的潮濕,不得以的情況下(衣櫃發黴,我像是在水箱裡生活),省吃儉用買除濕機。買除濕機前在網路上找了一些資料,有需要的人看一下吧~
除濕機分為A式與B式,A式為適用於室溫18至35℃之機種,B式則適用於室溫5至35℃之機種,現在市面上大多是B式,也就是我們要買的型。
  • 你所需要買的每日除濕能力
(請看除濕機在27℃,相對濕度60%,舊的標準比較寬鬆,他是在30℃,相對濕度80%)
這個公式就是:坪數×3.3×0.24
坪數×3.3是將坪數轉換成平方公尺,而0.24是指每平方公尺的每日除濕公升數。
所以囉,像是8坪的房間,他所需要的日除濕公升數就是:
8×3.3×0.24=6.336(公升)
我的房間很小是3.8坪(跟別人家的玄關一樣大:’),所以需要的除濕公升數是3.0069(公升)

  • 除霜功能:
如果你住的地方會讓機器冷到結霜(會下雪的玉山),記得買有除霜功能的,不然除濕機會無法運作喔。

  • 消耗電力:
電器用品都會寫消耗電力,注意看一下單位是W(瓦)還是KW(瓩)。電費是看幾度電的錢,我租的地方,房東都固定算一度電3.3,滿貴的,因為台電 是分級計費,如果你家的電是在110度以下,每度電才二點多元。(非夏季都是二點多,最多2.7)那瓦怎麼轉換成度?就是一千瓦等於一度。除濕機上面 寫的xxxW就是他在運轉壓縮機一個小時,所必須要消耗的電力,那麼買到230W的除濕機,每天運轉5小時,一個月要花多少錢呢?
[(230×5)÷1000]×30×3.3=113.85(NTD)
這樣還算是粗略的計算,因為壓縮機運轉時,才需要吃這麼多電。

這樣說有沒有比較瞭解啊?
相關網站:
台電電費計算
環保標章

Tuesday, February 22, 2005

Pydoc

寫文件註解在團對開發專案有很大的助益。對於開發團隊所提供的API,如果可以透過html或是其他方式的呈現,在使用API會有幫助。如Python在 互動模式(active mode)提供help([method, class, module])查詢相關使用方式,以純文字的方式展現,當然,也可以前往Python的官方網站去下載HTML版本的Libraries索引。雖然這些都是相當方便,但是,java的開發者應該不會忘記提供查詢API資訊的Javadoc。透過javadoc,在程式中的註解項目(如methodA要傳入什麼參數,傳回什麼參數,會引發什麼Exception……等)可以轉換成HTML的呈現模式,利用瀏覽器的點選,方便使用。

Python當然也有這麼好用的東西,就是epydoc。epydoc提供的fields跟javadoc差不多,但是因為語言的特性不同,如變數的型別方便,epydoc有”@type param”的描述,可以建議使用者傳入或傳出的參數,應該是什麼型別。更詳細的內容,可以參考epydoc的文件。

除了epydoc,Python安裝完後,會提供pydoc。這個Py檔,執行時在本機開一個port,讓用者透過瀏覽器的方式看內建以及你自訂安裝的 py套件(文字模式的使用者,可以用lynx)。如果作業平台是windows,這個連結會在"Modules Doc",其實就是去呼叫pydoc.gui(),而文字模式的是去呼叫pydoc.cli()。內定的port是7464,可以透過-p port這個參數修改。呈現出來的內容就是使用help({modules,class,method,variable})指令看到的那些囉。

Wednesday, February 16, 2005

Python:Variables in Class

Python可以動態的增減一個class的attribute,這點跟他語言的特性有關係。對於Python,在class裡宣告一個變數,即便是告訴 使用者,這個變數已經存在(instance產生),利用這個class產生的instance,在更改class宣告的變數值之前,所有的 instance都共同擁有同一份變數(all instance share one copy)。
-------------file name:att1.py-------------

class OneAttribute:
iA=1

--------------end file------------------------
在互動式環境下:

>>>from att1 import *
>>>OneAttribute.iA
1
>>> id(OneAttribute.iA)
7951280
>>>oaInstance1=OneAttribute()
>>>oaInstance2=OneAttribute()
>>> oaInstance1.iA, oaInstance2.iA
(1,1)
>>> id(oaInstance1.iA),id(oaInstance2.iA)
(7951280, 7951280)
>>> oaInstance1.iA=2
>>> oaInstance1.iA, oaInstance2.iA
(2,1)
>>>OneAttribute.iA=3
>>> oaInstance1.iA, oaInstance2.iA
(2,3)
>>> id(oaInstance1.iA),id(oaInstance2.iA)
(7951268, 7951280)

Monday, February 14, 2005

Java Python

在別的網站上看到兩篇文章,還滿適合我這種從Java跳到Python的人。
  1. Python is not Java by PJE
  2. Java and Jelly by Gerald Bauer
第一篇是一個看了用wxPython當作GUI library寫的應用程式的原始碼很無奈的人。其實我覺得不管是什麼語言,善用他的特性就好啦!
第二篇是講Python與Java實作上的差異,不過他的範例是用Jython,跟CPython有些不一樣。
有興趣的人可以參考一下嚕。

Thursday, February 03, 2005

複習多重開機

很久沒有在同一顆硬碟上灌Linux以及windows,這次要使用windows NT的boot loader來管理,步驟如下:
1.安裝好windows
順續是:

(a) Win9x
(b) WinNT

在一連串的下一步,windows就安裝好了。
2.安裝Linux
這跟一般安裝差不多,要注意的地方是在分割好空間安裝後,會有選擇要把開機磁區安裝到何處,這時後請把他選在你/boot的掛載點(mount point),西哩呼嚕裝完囉。請把/boot是掛在那個partation記下來。如果忘了,可以去看/etc/lilo.conf或是/etc/grub.conf。
3.安裝完成,用光碟開機
把第一片安裝CD放進去,出現boot:的時後打
linux rescue
接著,會有一連串的問題,類似叫你選擇語言,叫你選擇鍵盤規格……等.之後會搜尋你安裝好的系統在那,然後問你要怎麼mount,只須要一直回答OK跟continue即可。成功的mount到安裝好的系統,會跳到文字模式,請依照以下指令:
#chroot /mnt/sysimage
#dd if=/dev/hdb3 of=bLinux.img bs=512 count=1
1+0 records in
1+0 records out
#

(/dev/hdb3是我安裝開機磁區的地方,要改成你剛剛記下來boot磁區代號)
這樣bLinux.img就是開機的映像檔囉!把這個檔存下來.。
4.處理boot.ini
開機回windowsNT,把剛剛存好的映像檔放在與boot.ini同地方(通常是在c:\),打開boot.ini,加入以下的敘述:
C:\bLinux.img="Linux"

存檔,這樣就完成了。簡單吧!其實直接用Linux的開機程式管理比較快喔:P

Wednesday, February 02, 2005

Python初體驗

Python是script language,提供你把程式寫在一個檔案(.py檔),之後讓直譯器執行。當然,他提供命令列互動模式(interactive mode)讓你執行Python指令。Python的內建語言型別有數值型別、字串型別跟物件型別(function、Instance、code都是一 種物件型別)。你可以在想使用變數的時候在宣告(呃!好恐怖,有些人會變的寫出很恐怖的coding style)。
怎麼叫起python呢?只要在命令列打python,就會進入python的互動模式。

Python 2.3.4 (#53, May 25 2004, 21:17:02) [MSC v.1200 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>strA="3 times"
>>>strA * 3
'3 times3 times3 times'
>>>strB="""I can't know that"""
>>>strB
“I can’t know that”

現在來寫看你第一個Python程式吧!
第一個Python:
目標:寫一個method,可以接受Inerger或是string的引數
-----------------------easy.py----------------
import types
def poly(argv):
if type(argv)==types.IntType:
print "This is Int"
elif type(argv)==types.StringType:
print "This is String"
else:
print "I can't recognize"
if __name__=="__main__":#如果使用命令列模式啟動,會到這裡執行
inputdata=raw_input("Please Input something:")
poly(inputdata)
inputdata=input("Please input a integer:")
poly(inputdata)
--------------end easy.py--------------
將虛線中間的內容存成easy.py檔(要照著縮排,python用縮排來辨識區塊),接著執行python easy.py,執行畫面會如下:
E:\>python easy.py
Please Input something:KKlldki""afds
This is String
Please input a integer:892019
This is Int

Install Python

Python學了兩個禮拜,覺得Python是有趣的語言,我就先介紹一下Python的安裝。


安裝:

根據你使用的平台,可以去Python下載適合的版本。

Windows平台:

那就不用說了,直接按兩下就可以安裝完成。裝完以後,記得把Python的目錄加進Path裡,這樣才能在命令列模式執行唷!

Linux平台:

比 較麻煩,因為有些tk/tcl libraries的關係(tk用來GUI設計,也有別的GUI替代方案啦,像是wxPython和QT -Python等各式各樣的modules)。如 果你需要tk/tcl libraries,在./configure完之後會在python source目錄產生modules,在modules裡面會有Setup檔,在這個檔裡面找到下面幾行,把註解符號拿掉,並且將’X’的部分改成你系統 安裝的版本號碼:

# -L/usr/local/lib

# -I/usr/local/include

# -I/usr11R6/include

# -ltk8.X 0ltc/8.X

# -L/usr/X11R6/lib

注 意一下,如果你系統預設安裝的tcl/tk太舊(如8.2以下),要自己安裝新版的tcl/tk,裝完新版的tcl/tk,記得檢查/usr/lib有 沒有你裝好的新版本tcl/tk(用source code裝的tcl/tk沒有指定安裝目錄時,會將.so檔裝到/usr/local/lib)

通通搞定之後,就可以make ; make test; make install

Source code 預設安裝到/usr/loca/bin,記得把/usr/bin/python的符號連結改到新版的python唷!

python透過PVM執行python bytecode,他會去PYTHONPATH所設定的路徑找模組,所以可以額外設定PYTHONPATH。
linux:
bash:
export PYTHONPATH=.:PYTHON_INSTALLED_HOME/lib:PYTHON_INSTALLED_HOME/lib/lib-tk
csh:
setenv pythonpath=(. PYTHON_INSTALLED_HOME{lib lib/lib-tk})

這樣應該就 OK囉!