2007年11月28日

今年也許該去逛逛資訊展才是

可能是因為已經遠離那個對任何資訊產品都有興趣的年紀,仔細想想,似乎已有 5 年沒去參加資訊月大拜拜了。

不過在看了 JeremY 的 為什麼要去資訊月?給你10個理由! 後開始懷疑起如果今年再不去逛一下展場的話就會造成以下後果:

  1. 拼不到經濟
  2. 找不到方向
  3. 學不會談判
  4. 搶不到贈品
  5. 撐不過考驗:除了一忍再忍外,還是只能忍。
  6. 拍不到照片:呃,其實我比較需要一個放在家裡能長久欣賞的真實 Show… woman (擺個一年後還會 Show me a child )
  7. 玩不到電動
  8. 享用不到咖啡、可樂、爆米花
  9. 聞不到香噴噴的美口鬆餅:呃,其實我對這玩意沒興趣。如果改成蔥油餅的話就.....
  10. ......

2007年11月26日

那個念念不忘的人

人啊,總會有個念念不忘的人,可能是舊情人,也可能是舊同事;可能曾經相處過,也可能只是數面之緣。

到目前為止最令我念念不忘的人是個已畢業的同事,通常我敬稱她是學姐,約 2 年前離職畢業後即不知去向而失聯至今,如有能人異士能知道其下落者,煩請透過畫面左下角與我聯繫...

基本上,我是在這傢伙要離職時才發現她的諧星天份與搞笑能力,那個印象完全與其工作中表現出來的精明幹練形象形成強烈且明顯的衝擊,這使我除了訝異外還多了點莫名的情愫,不過這絲絲的情愫也隨著她的失聯而無奈的終止....

你有沒有念念不忘的人呢?你是否知道這個人目前的狀況呢?給他一個訊息,或者來組成 Blog 尋人聯盟,一起加入尋人的行列吧!

2007年11月20日

好孩子不要學:SSH Reverse Tunnel

有時候不得以還是得在下班時間處理公務,最麻煩的一點莫過於多數的操作行為必須仰賴於公司所提供的網路環境設定。如果公司有提供寬頻 VPN 環境時倒也罷了,不過通常而言公司不會特地費心去建置一個可能很少使用的 VPN 環境。

沒得接觸內部網路就無法處理公務,在此狀況下就會有三種不同應變作為:

  1. 特地回公司一趟:長時間的作業倒也罷了,如果只是為了重新啟動一個 service 而特地跑回公司則顯的愚蠢和浪費時間。
  2. 裝死,上班後再說:是的,即然覺得為了按下一個 enter 鍵而特地回公司是件愚蠢的行為,那麼就裝死吧。
  3. 自行建立專屬 VPN 環境:通常這會違反公司網路使用規定的,但… 您知道的,網管部門不一定會特地去追蹤偶一為之的非法連線,再者透過多段轉接方式也可以避免對目標主機建立一個長期連線而被網管捕捉到。本篇將針對此法進行簡要說明。
自行建立專屬 VPN 環境的方式應該有很多種,此篇以透過 SSH Server 方式簡單加以介紹。

SSH 提供了 Port Forwarding 功能而得以建立連線通道,分別是:

  1. Dynamic SOCKS-based port forwarding:簡單而言就是一個 Sockets 5 proxy。連線方向為 本機:portSSH Server任意遠端主機
  2. Forward local port to remote address:將本機上的某個 port 對應到遠端主機所在的某個 port。連線方向為 本機:portSSH Server指定遠端主機:port
  3. Forward remote port to local address:將 SSH Server 上的某個 port 對應到遠端主機上的某個 port 。連線方向為 SSH Server:port本機指定遠端主機:port
通常為了突破網管部門所設的防火牆限制,透過 Sockets 5 proxy 是最簡單的方式,以下範例說明如何在本機的 port 1080 上建立一個 Sockets 5 proxy:
# Linux/Unix 平台
$ ssh -N -D 1080 user@SSH_SERVER

% Windows 平台,使用 plink 
C:\> plink -N -D 1080 user@SSH_SERVER

建立起 Tunnel 後可檢查 port 1080 是否進入 LISTENING 狀態:

% Windows 平台之 netstat -a 輸出段落
TCP    WS405:1080             WS405.*.*.*:0   LISTENING

如果想在本機假裝提供某項服務,那就可以採用 Forward local port to remote address 模式將遠端主機的指定 port 對應到本機上,製造出本機有提供某某服務的假象。以下範例可以達到將 Google 查詢服務搬到本機上來的錯覺:

# Linux/Unix 平台
$ ssh -L 80:www.google.com.tw:80 user@SSH_SERVER

% Windows 平台
C:\> plink -L 80:www.google.com.tw:80 user@SSH_SERVER
成果如下:

最後是重頭戲,也是本文原本的重點:如果想要建立由家裡連結到公司電腦的網路連線,那麼 Forward remote port to local address 模式可以符合這樣的需求,此方式為 SSH Tunnel 的特例,通稱為 SSH Reverse Tunnel 。

假設企業內部某主機 svn.mycompany.com 提供了 Subversion 服務,而員工 A 希望在假期時仍然可以由家裡透過 port 36900 存取到 svn.mycompany.com 主機上的 SVN 檔案庫(在 port 3690 上)時,他可以在公司的個人電腦上建立一個 SSH Reverse Tunnel,如下例:

## Linux/Unix 平台
$ ssh -R 36900:svn.mycompany.com:3690 user@SSH_SERVER
% Windows 平台
C:\> plink -R 36900:svn.mycompany.com:3690 user@SSH_SERVER
完成以上設定後員工 A 即可由家裡透過以下指令連接上 svn.mycompany.com 上的 SVN 檔案庫:
$ svn log svn://localhost:36900/projects/myProject1

最後簡單整理各種狀態的使用時機:

  1. 透過 SSH Server 連接到不定對象的遠端主機上:請使用 Dynamic SOCKS-based port forwarding 方式在本機與 SSH Server 間建立 Sockets 5 proxy 通道。
  2. 透過 SSH Server 把遠端的服務移轉到本機上:請使用 Forward local port to remote address 方式。這裡可以把 -L 的意思想成希望在 local host 上進行連線,所以 -L 後接的 port 編號指的是要在本機的哪個 port 上提供連線服務。
  3. 希望在 SSH Server 上透過 SSH 連線連接到遠端主機上:請使用 Forward remote port to local address 方式。這裡可以把 -R 的意思想成希望在 remote host (也就是 SSH Server)進行連線,因此 -R 後所接的 port 編號指的是在 remote host 上的某個 port 提供連線服務。
  4. 通常而言為了安全起見,SSH Reverse Tunnel 不應該建立在 SSH Server 的 public ip 上,所以前述的指令可以將 listening port 掛在 127.0.0.1 這個 private IP 下,如:
    ssh -R 127.0.0.1:36900:svn.mycompany.com:3690 user@SSH_SERVER
    其實經多次實驗確認,我的 OpenSSH_4.7p1 只接受在 127.0.0.1 上建立 Reverse Tunnel ,即使我想指定到 public ip 上都不行…

2007年11月19日

謝長廷兩岸政策太開放 獨派學者不挺謝?

新聞: 看法:
  1. 照目前藍綠兩派對投資中國政策的說法,我想明年總統大選時只能含淚選擇投廢票。然而可悲的是台灣的選罷法中無法對不滿意的候選人進行某種程度的制裁,不管廢票數多寡都能由相對得票數高者當選。
  2. 現今檯面上的各級政客幾乎都以大財團利益為優先考慮事項,完全不在乎平民老百姓生活所需。
  3. 目前對中國投資的最大迷思在於『經濟競爭力』被誤解為大企業的賺錢能力。他們認為只要大企業賺錢就可以拉拔台灣經濟的成長。
  4. 假設某商品單價為 50 元,在台灣製作組裝的人力成本為 15 元,其他成本為 30 元;在中國的人力成本為 5 元,其他成本為 20 元。則每賣一件 MIT 商品只能賺 5 元,但賣一件 MIC 商品卻能賺 25 元,換句話說只要能到中國設廠製作,那麼單一商品的獲利馬上就能成長 5 倍。這大概就是企業之所以前仆後繼轉往大陸設廠的主因。
  5. 表面上台灣如能開放到中國設廠似乎可以增加國際競爭力,但問題是台灣勞工的生計又如何呢?當企業都往中國設廠後留下來的台灣勞工該怎麼辦?有誰能提供他們工作讓他們得以溫飽?當勞工沒有工作、無法溫飽時怎麼可能去進行各項經濟活動?當經濟活動次數逾來前少時又怎能奢談經濟競爭力呢?
  6. 在上述問題沒能獲得答覆前,個人對於開放大陸投資問題都持嚴正反對態度。同樣的,對於謝長庭的兩岸政策除非有解決台灣勞工失業問題的配套方案,否則對於謝的 2008 總統之路也只能兩手一攤,說聲:『真抱歉,我無法支持您了!』
  7. 其實就算是台灣勞工的失業問題解決了,但一想到只要中國學習到台商的各項經營/製造經驗後,台灣還能剩下什麼足以和世界競爭的項目?

2007年11月13日

兩岸和平共處法

昨天有個半版廣告出現在各大報紙內,該廣告之所以為人注目的主因在於廣告主是聯電榮譽董事長曹興誠,廣告標題則是『 敬請 馬英九先生、謝長廷先生(以姓氏筆劃序)合作推動制定「兩岸和平共處法」,以徹底解決兩岸問題,終止國內之政治惡鬥。

看法:

  1. 就大眾的認知而言,曹董很難被歸屬在小民之類,所以該文的目的也難逃以商逼政之嫌。
  2. 想問曹董的是:『為什麼把兩岸的紛擾問題單獨丟給台灣的總統候選人去承擔』?還是說曹董也同時有一份向中共領導人的『敬請 胡景濤先生制定「兩岸和平共處法」』的公開說帖?
  3. 為什麼每次提到兩岸問題都是台灣的責任?是奴民性格對上大中原思想下的結果嗎?
  4. 至於現今台灣的主流民意是否仍然是「保持現狀」則很有爭議,甚且個人以為在整個民主意識的選項中可能根本不存在所謂『保持現狀』這種選擇。
  5. 個人傾向認為兩岸問題在排除『統』、『獨』選擇之後,剩下的選項中應以『沒有意見』為其主流。
  6. 『沒有意見』並不等於『維持現狀』,兩者的差別在於是否做出了『選擇』。『維持現狀』是 一種選擇 ,但『沒有意見』則 無法做出選擇
  7. 不知道為什麼曹董認為台灣的前途會需要由大陸人民來公投決定?況且和艦投資案應該沒有經過竹科廠商公投同意;再說我也不相信曹董要嫁娶前會先經過里民大會公投同意後才開始進行相關準備。
衍生思考:
  1. 總統候選人應以提振經濟為政見主軸而非在統獨問題上瞎攪和。要扯上統、獨議題亦無不可,但請列出對經濟成長幫助之理由。
  2. 總統候選人的政見內容應列舉執行綱要,如果口頭宣示而無實際規畫作為是無法獲得經濟成長的保障的。
  3. 台灣經濟成長並不需大量倚賴中國,個人也反對政府開放對大陸投資。請把工作機會留給台灣。
  4. 外勞開放政策也應逐步限縮,一樣將工作機會留給台灣。
  5. 似乎有些人認為台灣應朝向服務業轉型,讓製造業等得以轉而到大陸設廠。針對此點尚請開示轉型方向及可提供的工作機會數量。如果無法確認工作機會足以滿足勞方所需就別再提什麼開放大陸設廠的建議了。
  6. 至於那些偷跑到大陸投資的商人們,到大陸投資的風險請自行承擔,別老是出事後才跟政府『哭爸哭母』的。錢賺到了是你的能力,賠錢甚至賠了命則是你的運氣。

2007年11月8日

IPMF 2007 雜想

11/02 ~ 04 這三天是 GPAC ( Greater China Project Management Advancement Committee, 大中華項目管理促進會 ) 輪流在兩岸三地舉行的常態性的專案管理活動,全名為 International Project Management Forum ( IPMF, 國際專案管理論壇 ) 。

因為可以補到 PDU 學分之故,再加上 官方網站 聲稱 不必擔心可能的語言障礙 ,所以我就莫名其妙的報名參加了...

因為第一天是上班日,所以只參加第二、三天的論壇部份。以下針對這兩天的感覺進行雜亂、未整理之簡易報告:

  1. 時間的安排不佳:這其實包含兩個部份,一部份責任在主辦單位,另一部份的責任則在講者本身。
    1. 報告與報告間沒有安排短暫空檔:後果就是只要每個講者耽擱個 5 分鐘,半天下來就可以差距到 30 分鐘。事實上第一天的午餐就整整慢了 30 分鐘才開始入座、用餐。
    2. 講者沒有確認過講稿/幻燈片的報告時間:其實這才是耽誤的主因,不過前述主辦單位的小遺漏則是讓這延遲問題加重的主因。
    3. 有些講者就很厲害,我猜想他們不只是先確認過報告所需時間,甚至還可以依所餘時間長短而有不同版本的報告內容。
  2. 放飯方式不佳:這不是指第一天餓到發昏的用餐問題,畢竟還是同時開動。這裡所不滿的是第二天因為分場差異的關係導至我參加的那個講場結束進餐聽時,菜色都已上了一半了。我想你應該可以感受到那種半路加入人家已掃過好幾輪的用餐團體就好像去撿菜尾的感覺一樣,如果說能有什麼不同的話,就只有那菜尾是晶華飯店煮的而以。對於第二天的用餐感受,我只有『不受重視,不被在乎』這八個字回敬給晶華飯店及主辦單位而以。
  3. 總是有工作人員在旁邊閒晃:閒晃不是重點,重點是她們穿的硬底鞋根會在堅硬的地板上會產生 ko ko ko 的聲響,嚴重干擾聽講的情緒。
  4. 對於時間的掌控方式:通常講場上會有專人負責舉牌提醒時間將屆,但一來人員走動可能干擾到聽者的注意力;再者人員在更換提醒牌的時間總是超過預定的時間(先舉 5 分鐘牌子一分鐘,回去休息 2 分鐘,再拿 3 分鐘牌子出來舉一分鐘,再回去休息 3 分鐘,最後拿 時間到 的牌子直到報告結束,實際上的時間至少是 1+2+1+3=7 分鐘)。總覺得此作法即不能精確協助講者進行時程管控,也經常干擾到聽者的情緒。個人是建議要不要考慮以後直接在講場後方擺上兩台倒數計時器,一方面給講者明確的時間資訊,另方面又免於有人總是一臉尷尬的拿著牌子在會場上移動。
  5. 參加 Focus Group 會議:這主要是 PMI 針對 PMP/PgMP 行銷活動需求所做的一個小小的聚會,除了對文宣的看法外主要是詢問現任 PMP 對 PDU 的一些看法。以下是可能有記錯的問題:
    1. PMP 認證對所屬企業的重要性:嗯,所有人一致通過『不重要』!個人認為這應該是這梯次的與會者都已工作一段時間,對所謂的證照已不再存有幻想的結論。至於其他梯次是否有所差異就不得而知了。
    2. PDU 取得的難易看法(即 CCR 持續認證要求計畫):基本上不難,但是希望 PMI-TW 能在官網上公告可以取得 PDU 的各項課程資訊。這個問題後來衍生一個疑問:對於資深 PMP 在取得 PDU 上會不會有什麼困難之處呢?我覺得會有,但 PMI 官方大概會以 PDU 取得方式多元,理當不會有何窒礙難行之處作為回應。另外,我會後又跑去找主持人(來自 PMI Asia Pacific Service Centre)提議 CCR 對其他專案管理認證轉成 PDU 的可能性,畢竟重點是持續性的學習,若能給點甜頭理當更容易激勵整個學習活動。
    3. 會不會在乎 / 持續維持 PMP 資格:有人似乎不怎麼在乎,不過我很在乎!為什麼?因為我懶的去解釋為什麼是前任 PMP 而不是現任 PMP 這種問題。
  6. PMP 企業標竿獎:記得已有人對此獎的評分方式提出過意見,我則是在現場時才後知後覺的感受到問題。
    1. 此獎項是以企業內部具 PMP 資格的人數為評量依據,但是我會更想知道有多少 PMP 是真正從事專案管理工作呢?個人悲觀的認為在台灣的 PMP 中真正從事專案管理工作的人數可能只有一半而以,剩下的就像我這種想轉型但沒人要的苦命小工程師。個人是覺得這個獎項至少要再增加一個『 企業內專案經理中取得 PMP 認證的比例 』的評量依據進行加權計算後會比較具有代表性。
    2. 以 PMP 人數為評量依據的另一個問題是『 企業真的有依據 PMBOK(不限 PMI 版本,其他如 IPMA 版、Project+ 版等都可)進行專案管理嗎? 』頒獎會上沒有提到,所以我也不知道。
  7. PMBOK 的念法:在兩天的論壇活動中聽過以下的唸法,似乎沒有統一讀法?另外國內各專案管理組織應該儘速向眼睛博士之類的線上翻譯字典提出收納本字的申請才對。
    1. P.M.bok
    2. P.M.bʌk
    3. pim.bok:其實把 PM 念快點、圓滑點就是 pim 了!
    4. pim.bʌk
  8. 沒有 IPMF 永久官網:聽說今年的 IPMF 2007 是第三年舉行了,但是從 Google 上去找卻發現並沒有一個官方的、專屬的、永久的網域名稱。希望 GPAC 能決議出一個官方網域出來,不要每年改一個新名字出來混淆視聽。專案管理不是一直在講要 Lessions Learn 嗎?為什麼這些例年來的論壇記錄都沒有保存下來哩?回頭看看 ipmf2007.org 到了 2008-06-15 後也會失效,總有一種主辦單位似乎並不想讓這些活動記錄被長久保存的感覺。
  9. 有股練習英聽的衝動:即時翻譯只限於主場活動時才提供,分組報告時沒有。雖然不致於統統聽不懂,但對於學習的成果必然有所影響。也許看影集該改成看英文字幕比較好?
  10. 這個論壇畢竟是 GPAC 所主辦,參予對象應該也是以華人為主。但是除了 VIP 外似乎還有許多的自力與會的外國朋友。不知道他們大後年還會不會跑來台北參加 IPMF 2010 論壇?
※即然網域名稱會過期,我只好把提到的頁面存一份下來備查。

後記:

  1. 這次的大會我使用了 Ada Hsu 作為名牌上的識別名稱,後來發現這樣很容易在網路與現實之間產生連結,與個人低調的態度不符(怕幹壞事被捉到?)
  2. 日後再參加的各項會議應該會掰另一個名字出來吧,讓網路的歸網路,現實的還給現實。

2007年11月5日

台北車站前的混亂交通

昨天參加完 IPMF 2007 後搭捷運由中山站回到台北車站前打算轉公車回三重,每次到台北車站忠孝西路這邊時總有同樣的感覺:這是個最不受台北市政府重視,卻又是台北市交通問題最嚴重的地方。

昨天最經典的畫面是 外車道被空計程車佔據,公車被迫在內線車道處放乘客下車

這算是特例嗎?

不!如果我每次想在那邊轉乘時都會發現空計程車努力卡死在外車道上攬客;公車都得進行大角度進站、離站動作的話,這必然是種常態而不是特例,即然如此,也不曾見過台北市政府針對此問題進行回應,一樣放任空計程車在公車站牌前違停,一樣忽視公車找不到車位造成乘客上、下車的不便,要說台北市這幾年有什麼改善的具體政績,似乎… 想不出來吧?

麻煩台北市政府好好想想怎麼處理台北站前忠孝西路的交通問題,讓公車乘客有個更良好的上、下車空間(其實市民大道那邊也一樣一堆計程車在卡位,同樣是亂啦)。

問題分三方面:

  1. 計程車違停:台北市交通局要不要考慮把公車專用道改成計程車專用道,並且限制計程車只能走該車道呢?
  2. 私人轎車違停
  3. 公車找不到地方給乘客上、下車:是不是調整一下站牌位置,在站牌兩側之任一邊設置一個私人轎車接送區呢?

厚,黑心網頁!

今天一如往常,慣例的在 HiNET 線上繳費頁面上重覆確認繳費動作是否完成,沒想到出現了一個以前沒看過的訊息:『本公司帳務資料庫目前無此輸入資料組合( 022xxxxxxx、Pxxxxxxxxx )的相關欠費資料。』

咦?以前都只會顯示『目前無欠費記錄』的訊息啊,怎會改成這種莫名其妙的回應訊息啊?

一時手賤給他輸入門號但刻意將證號部份留白,然後系統竟然回覆 請輸入『用戶證號』。

喂,這明明和你們網頁上的說明不符啊?

我一定來到了黑心網頁了....

2007年11月2日

Javascript 中正規表示式的小問題

前兩天為了實作關鍵字濾除的需要,所以又把正規表示式搬出來用。

一開始的想法是建立一個關鍵字表示式陣列,然後在實際檢測時丟進這個陣列中整個 test() 一遍即可,這樣做似乎沒有問題,但實際使用時會發現除了第一次的檢測一定正確外,之後的檢測動作卻會時有時無,讓人疑惑。

於是懷疑可能是一個正規表示式物件一定進行過 test() 之後就會處於某種失效的狀態,只要在這種狀態內的各種比對動作都會不正常。

所以,解決的方式就是每次比對後都要記得重置表示式物件,如下例:

var keywords = { '關鍵字1', '關鍵字2' };
var re = new RegExp();

function hasKeywords( content ) {

for( i = 0; i < keywords.length; i++ ) { // 重置表示式物件 re.compile( keywords[i], 'ig' ); // 測試是否符合 if( re.test( content ) ) { return true; } }

return false; }