2009年7月21日 星期二

Mediawiki 的錯誤應用方式

Mediawiki 的錯誤應用方式

我對 Mediawiki 的認知:
Mediawiki 眾所周知就是共筆系統 ,  是大家可以一起分工寫一篇文章(或是很多很多篇文章)
這樣的系統提供的是一個"活的"文件系統

什 麼是活的文件系統
就是一份文件可以不斷的成長(它可以是某甲創造出來  , 某乙編修 , 某丙審核)
同時它也提供了整個的歷程檢視跟版 本控管 ,
每個修改歷程都被紀錄下來



對於公司來說 , 如果要把Mediawiki 用在系統開發上 ,
就 是可以把手冊(使用者手冊 , 安裝手冊 , XXX手冊)
都透過 Mediawiki 撰寫 ,

甚至於可以是一個主編把某份 文件的大綱訂出來後 ,
讓多個人同時分工去編輯大綱下的某個小節的內容
Mediawiki 也提供針對內容進行全文檢索功能


OK , 接下來 , 要來講錯誤的Mediawiki 應用方式
聽過某間公司的某個單位 , 他們是這樣用Mediawiki的 ,
他們只 是把 Mediawiki 當作一個擺文件的Portal ,
所有的文件都是WORD , PDF 等等 , (一堆專案文件的檔案)
然 後只把  Wiki 本身只是拿來作這些文件的LINK 入口 ...

Oh...天啊 , 真的錯很大 ,... ,
如果要 這樣用 , 不如搞個檔案管理系統 , 例如 MS Share Point Portal Server
這種用法根本就沒有發揮 Mediawiki 的效用 ,...,
真正專案的內容都藏在附件檔案(WORD , EXCEL , PROJECT)檔案中 , 這樣子要 Wiki 做什麼?

共筆系統就是頁面內容就是文件 , 就是你要賦予它生命的地方 , 它可以被很多人擴充 , 被討論 , 被修改 ,
所 以當你要寫專案範圍或是需求範圍時 , 甚至可以請 User 上去寫屬於他們的部份 ,
然後你們這方可以在 User 寫完的同時 , 也針對審閱的看法 , 直接進行修改或是說明審閱的意見 ,
因為它有版本歷程 , 所以每一次修改 , 都像是活的 ,(因為每一頁內容  , 都可以加上一串討論 , 所以線上討論的結果 , 搭配內容 , 就像是每一次會議紀錄 加上 最後的產出)
也因此 , 它可以是最佳的線上即時專案內容的匯總區 , + 討論區 , + 即時的專案規格區...

想想 , 每次當你使用 WORD 寫了第 1 版的專案文件 , 然後 User 看過 , 大家就可以指指點點 , 然後再加上你的主管 , User 的主管 , 主管的主管 , 甚至開發商 , 到最後 WORD 檔可能是第 n 版 , 但是討論的過程不見了 , 被修改的某個條文 , 出自於某個人的要求變更 , 也沒人知道...

最 重要的是文件最好不要同時散給多個人過目 , 否則修改的地方有衝突就糟了 ,
反之 ,  使用 Wiki 就是讓每個人都發表意見 , 但是同時 , 每個人修改的地方 , 也都留下歷程 ,
不論是改的好或是改的不好 , 也都可以讓後來者有跡可循

再說 , 很多公司或是企業最喜歡導標準化文件 , 但是常常第一關 ,
同類的文件 , 結構大不相同 , 或者是同一份WORD文件光是要調整結構 , 就要能搞得不是很聽話的WORD
使用 WIKI 則不需要 , 因為它的段落結構就是哪樣 , 只要訂出一個範例的段落結構 ,(或是樣板模板)
其 他人就很容易共用


拜託 , 不要再拿 Mediawiki 來當垃圾掩埋場 ,
(專案文件檔案一大堆 , 當作 link 附件 , 埋進去 , 你會重新找的到 , 然後拿出來用才有鬼  )

每種軟體必有其適用之處 , 有其強項所在 , 也有其弱項所在 ,
拜託別亂用 , 用完之後 , 就說某某軟體很難用...

碰到這種開著數頓吊車吊一盒雞蛋上 5 樓 , 然後還要怪吊車很難用 , 這種人還蠻多的....
也不要開著跑車 , 硬是想要當作送菜大卡車 , 要把 幾十簍的高麗菜運來運去的


冷 完了....
拜託 , Mediawiki 不是垃圾掩埋場 , 不要再亂埋文件了....
(這不是肯得雞....很老掉牙的廣告台詞 了.....)

2009年7月19日 星期日

在UBUNTU 上玩 COBOL -使用備忘錄

在UBUNTU 上玩 COBOL -使用備忘錄
UBUNTU 8.10 , Eclipse 3.4 , Cobol IDE , Open COBOL ,

注意事項:
以下的 COBOL範例(Hello.cob , Hello3.cob)是我參照
Teach Yourself COBOL in 21 days Second Edition
上面的 入門範例 , 所改寫出來的 , 僅供測試使用


(1)下載安裝 Cobol IDE
Download Cobol IDE
http://www.eclipse.org/downloads/download.php?file=/cobol/downloads/cobol_plugins_3.4.0_linux32.zip
解 壓縮 cobol_plugins_3.4.0_linux32.zip
然後把解開之後 features & plugins 複製到你的 Eclipse 目錄下

(2)安裝 OpenCobol
Synaptic套件安 裝程式 , 輸入 Open-Cobol 然後就可安裝

(3) fujitsu cobol 手動建立連結 (可忽略此步驟)
ln -s /usr/bin/cobc /opt/FJSVcbl/bin/cobol
cobc  是open-cobol 的執行檔 ,
cobol 是 fujitsu cobol (net cobol) 的執行檔
在這裡是為了欺騙 Cobol IDE 的自動建置(build.xml) - 詳情後述

(4)執行 Eclipse

(4.1) 建立cobol專案
File -> New -> Other -> COBOL -> COBOL Project(圖片 COBOL-001.jpg)
p1



Project name:輸入 MyLabCOBOL001(圖片 COBOL-002.jpg)按下Next
p2

Target name:輸入 MyLabCOBOL001(圖片 COBOL-003.jpg)按下Finish
p3

(4.2)建立cobol source - Hello.cob
在專案下的Source Files按下滑鼠右鍵 ,出現功能表
New -> COBOL Source(圖片 COBOL-004.jpg)
File name: 輸入 Hello
PROGRAM-ID: 會自動同上面的名稱也是 Hello
按下Finish
p4

(4.3)修改 Hello.cob 的內容
COBOL IDE 會自動建立 Hello.cob 預設內容如下(圖片 COBOL-005.jpg)
p5

修改Hello.cob 為以下內容(圖片 COBOL-006.jpg)
====Hello.cob START=====
*Hello.cob
 IDENTIFICATION DIVISION.
 PROGRAM-ID.   Hello.
 ENVIRONMENT    DIVISION.
 CONFIGURATION  SECTION.
 DATA DIVISION.
 WORKING-STORAGE SECTION.
 PROCEDURE DIVISION.    
 PROGRAM-BEGIN.  
     DISPLAY "你說中文也會通".
 PROGRAM-EXIT.
     EXIT PROGRAM.

 PROGRAM-DONE.
     STOP RUN.

END PROGRAM Hello.
====Hello.cob END=====
p6

(4.4)手動編譯 Hello.cob 這隻COBOL
開啟終端機視窗(要切換到你的專案所在目錄) ,
輸入以下指令
cobc -o Hello -x Hello.cob

命令說明如下:
告訴它輸出的執行檔的名稱是 Hello(-o Hello) ,
要編譯 Hello.cob 為執行檔(-x Hello.cob)
編譯的時候如果有警告可以暫時不理會 , 只要它會過就可以


如果沒有問題 , 我們的第一隻 Cobol 程式已經完成編譯 , 可以執行
開啟終端機視窗 , 輸入以下指令
./Hello
程式執行結果顯示 "你說中文也會通"(圖片 COBOL-007.jpg)
p7

(5)解說為何要設定在 (3) fujitsu cobol 手動建立連結
回過頭來看專案目錄下有一個 build.xml (圖片 COBOL-008.jpg)
p8

其中的COBOL編譯器設定是 /opt/FJSVcbl/bin/cobol
但是 UBUNTU 上面並沒有  fujitsu cobol  , 所以我們只好手動的建立連結去欺騙 COBOL IDE的動作
事實上 , (3)不做 , 也不會有問題,(只是會在IDE的CONSOLE出現編譯錯誤訊息)
因為我們是要手動編譯(4.4)

注意:
不要嘗試著 去修改build.xml , 因為COBOL IDE 會在你修改或是新增 COBOL SOURCE 之後
重新產生 build.xml , 等於你修改的統統無效 , 而且它會在你每次按下 Ctrl + S存檔之後
就去執行 build.xml
這個是沒有甚麼效用的 , 當然你可以去拿 COBOL IDE 的 SOURCE 重新修改跟調整之後變成你要的
但是在這邊 , 我只要要玩玩COBOL, 只是利用 COBOL IDE去顯示COBOL語法的標記
所以我只用最快速的方法 , 讓它可以執行
有興趣要改build.xml 請參閱附錄2 , 但是沒什麼效果


(6)新增 COBOL SOURCE - Hello3.cob
內 容如下
====Hello3.cob START====
*Hello3.cob
 IDENTIFICATION DIVISION.
 PROGRAM-ID.   Hello3.
 ENVIRONMENT    DIVISION.
 CONFIGURATION  SECTION.
 DATA DIVISION.
 WORKING-STORAGE SECTION.
 01  FIRST-NUMBER      PICTURE IS 99.
 01  SECOND-NUMBER     PICTURE IS 99.
 01  THE-RESULT        PICTURE IS 999.
 01  THE-NAME          PICTURE IS XXXXXXXXXX.
 01  THE-MESSAGE       PIC X(20).
 01  THE-NUMBER        PIC 99(2).

 PROCEDURE DIVISION.    
 PROGRAM-BEGIN.
     DISPLAY "Enter the first number:(0-99)".
     ACCEPT FIRST-NUMBER.
     DISPLAY "Enter the second number:(0-99)".
     ACCEPT SECOND-NUMBER.
     COMPUTE THE-RESULT = FIRST-NUMBER + SECOND-NUMBER.
     DISPLAY "The result is:" THE-RESULT.
     
     MOVE "HELLO " TO THE-MESSAGE.
     DISPLAY "Enter someone's name.".
     ACCEPT THE-NAME.
     DISPLAY THE-MESSAGE THE-NAME.
     
     MOVE 12 TO THE-NUMBER.
     COMPUTE THE-RESULT = THE-NUMBER + 99.
     DISPLAY THE-NUMBER "+ 99 = " THE-RESULT.     
     CALL "Hello".
  PROGRAM-DONE.
     STOP RUN.   
 END PROGRAM Hello3.
====Hello3.cob END====

(7)編譯及執行 Hello3.cob(圖片 COBOL-010.jpg)
開 啟終端機視窗(要切換到你的專案所在目錄) ,
輸入以下指令
cobc -o Hello3 -x Hello3.cob

如果沒有問題 , 我們的第2隻 Cobol 程式已經完成編譯 , 可以執行
開啟終 端機視窗 , 輸入以下指令
./Hello3
它要你輸入數字(first number): 請隨便輸入0~99的數字 , 按下Enter
它要你輸入數字(second number): 請隨便輸入0~99的數字 , 按下Enter
畫面會顯示兩個數字加總的結果

然後要你輸入命名(someone's name): 請隨便輸入 , 按下 Enter
畫面會顯示 HELLO %你輸入的姓名%

然後畫面最後一行會出現
libcob: Cannot find module 'Hello'

這個是我們的程式中有呼叫Hello的外部Module , 但是它找不到對應的 Hello.so

所以我們重新編譯 Hello
開啟 終端機視窗(要切換到你的專案所在目錄) ,
輸入以下指令: 注意這次不要加額外的參數
cobc Hello.cob
p9

然 後重新執行 Hello3 (Hello3不需要重新編譯)
./Hello3
最後你可以看到 Hello3成功的呼叫  Hello並且顯示 Hello的內容在畫面上
(圖片 COBOL-011.jpg)

p10


cobol 呼叫外部 MODULE的成功關鍵點在於 XXX.so是否可以存取的到
p11

如果你有按照我上面的步驟 進行
那麼 , 那麼你應該在  60 分鐘以內可以完成上面的動作

包 含建立 COBOL SOURCE , 編譯 , 執行
還包含了 CALL 外部的 MODULE ,
就是這麼簡單 ,
備忘錄 就是備忘 ,


附錄1:
Open-COBOL可以檢查語法的相容性 ,如果是要檢查是否符合IBM的COBOL
加上 -std=ibm ,
範例:
cobc -std=ibm -o Hello -x Hello.cob

附錄2: (如果你不會 Java就不要理會這段了 , 這段有玩Java的會知道在做什麼)
自 建立ANT build2.xml (為何不建立 build.xml , 因為會被COBOL IDE給蓋掉)








   



   




執行的時候
ant -f build2.xml

run-cobol.sh 內容如下
cobc -std=ibm -o $1 -x $2

也因此我才不建議直接去修改 build.xml>


附錄3:
COBOL範例程式電子書 , 這本內容夠淺顯(請自己上網路上找 , 有WEB版)
Teach Yourself COBOL in 21 days Second_Edition

在UBUNTU上玩COBOL到此結束 

2009年5月18日 星期一

帶著台灣過了八年苦日子的前執政黨出來挺扁了

帶著台灣過了八年苦日子的前執政黨出來挺扁了


曾經有某執政黨說 大家要有心理準備過苦日子...
一過 8 年過去了,...

民眾過的是苦日子,....,
但是某執政黨的高層幹部 , 個個肥水滿滿 ,

不知道這個黨還有臉出來說別人?

另外拜託一下 , 這個黨的支持者能不能有點水準 ,
不要以為加入這個黨就可為所欲為 ,

看到的是 , 在台北捷運電扶梯 , 把左邊的通道統統堵住 , 原本可以讓人通行的 , 也統統堵住
然後呢在捷運上 , 嗓門特大 , 好像怕人不知道他們是某政黨來挺扁的...


還有那種 , 橫越快車道的....<你當作是某些政黨執政的縣市嗎 ? 可以不用看紅綠燈 , 可以不用理會交通法規?  想怎麼過馬路 就怎麼過馬路嗎 ? >

拜託 , 某某政黨 , 不要老是以為天大地大你們政黨最大....
(甚麼時候私人政黨的糾察隊還可以行使警察權去侵害過路人的自由權? 過路人就不能去說話?)


挺貪腐的黨至今依然挺貪腐...

2009年5月8日 星期五

讓小學生加法可以進步的撲克牌遊戲 - 99 點


讓小學生加法可以進步的撲克牌遊戲 - 99 點

讓小學生加法可以進步的撲克牌遊戲 - 99 點

這個是上週妹妹為了我生日請我吃飯的事 ,

到妹妹家 , 教妹妹的女兒玩的撲克牌遊戲 - 99 點

這個遊戲一玩 , 馬上就會知道小朋友的加法有沒有問題

當然小朋友要玩的高興 , 就會發現如果加法很差 , 算的很慢 , 就不好玩了

遊戲規則:
(1)撲克牌 52 張 ,
     K: 直接跳到 99點
     Q: + - 20點
     J:  Pass
    10: + - 10點
     4: 反轉遊戲出牌方向
    其他都是按牌面點數去加
(2) 3 ~4 人 (2 人也可以)
    洗好牌後 , 每人先發 5張牌 , 剩下的牌放中間 ,
   順時針方向出牌 (碰到有人出 4 的牌 , 就變成反方向)
(3)輪到出牌的人 , 要出一張牌 , 並且喊出出牌後最後的點數 ,
   例如: 目前已經是 87點 , 輪到你 , 你出了 紅心8 , 則要喊出 95 ,
  其他的牌 , 如規則(1)

(4) 如果手上的牌 , 一出出來就會超過 99 點 , 則輸 , 該人出局 , 剩下的人繼續玩...

因為在玩的時候 , 要喊出加到幾點了 , 所以碰到小朋友加法有問題的 ,
馬上就會察覺 ,
而小朋友 , 在玩的高興的時候 , 如果碰到自己出牌就要加法加很久才有答案 ,
小朋友自己也會知道自己的加法不好 ,
不過沒關係 , 99 多玩個幾輪 ,
至少加法應該會進步...


(大人欺負小孩啦...)


<其實 99 點小朋友也可以彼此練習>

2009年5月7日 星期四

幫EXCEL XLS檔瘦身

幫EXCEL XLS檔瘦身

在 EXCEL 如果有不斷的複製剪下或是修改
有時候資料一多 , EXCEL 檔就會不斷膨脹
有時候在EXCEL檔就會變得太大 在透過eMail傳送時
可能會送不出去

這時候Open Office 就派上用場了

方法簡單到一個不行 ,
打開 Open Ofiice 的 Open Office Calc ,
用它開啟你的 Excel xls 檔案 ,然後 另存新檔 , 確定它是存成 Office 2000格式


這樣就完成了

前幾天幫同事的 Excel 檔案瘦身 , 從 10.5 MB 左右 , 變成 3 MB大小

就這麼簡單 , 沒有甚麼絕招 , 只要 開啟 , 另存新檔 就幫 Excel 檔案瘦身了....


===============================================
補續: 後來用 Google 查了一下 excel 瘦身
發現有大陸人寫的文章 ,
裡面巨細靡遺的說明了 , EXCEL要作多少注意事項才能避免 EXCEL 檔案越來越肥大

如果你碰到一般的User , 要把這些注意事項跟他們講完 , 可能天都黑了
如果你很勤勞  , 可以去看看那篇大陸人寫的文章(大陸網站相同的文章四處都會出現)

如果你很懶 , 那麼用用我上面介紹的 Open Office Calc ,
開檔 , 另存新檔 , 兩個動作 就可以幫 EXCEL 檔案瘦身了...

2009年3月21日 星期六

什麼是專業倫理道德?

什麼是專業倫理道德?
在 CISA / CISSP / PMP 等等專業證照考試中都有包含專業倫理道德

不過看看最近國內放到新聞台面上的某些專業人士的作為還真稱不上專業

(1)法律專業人士
被告律師將偵查中案件的證人的偵訊光碟內容公告給新聞媒體/社會大眾;
不論這是刑事案件或是民事案件 , 這種作法難道不違法嗎?
如果違法 , 律師仍然這樣作就是知法犯法 , 是專業人士還是訟棍 ?

不要說是甚麼政治迫害案件...
是不是只要加入某某政黨就可以為所欲為?

(2)法律專業人士
聽說某法律系畢業的台大高材生 , 要為人提供法律諮詢服務
專不專業 , 誰知道?

連自己的所作所為是不是洗錢都裝不知道 ? 說自己不知道某些行為算洗錢?
法律的規範是甚麼?
<洗不洗錢 , 國內或許尚未結案 , 但是國外的洗錢防治中心都行文過來了 , 還想要掰說不是洗錢嗎?>

自己都犯法或是對於法條裝不清楚的人 , 要提供甚麼樣的法律諮詢?

(3)醫界人士
在某次縣市長選舉中 , 數位醫界人士 ,
在不是某位當事人的主治醫生的情況下 ;
非法取得 , 並且公開了某位當事人的病歷 ,

<別告訴我那是合法取得, 你的病歷 , 如果不是你本人 , 又不是你的主治醫生 , 然後一狗票阿貓阿狗的醫生都能複製一份出去 ,  然後公開給媒體 , 還要硬掰那是合法的 ?>


(4)教育界人士
這幾天的案例 , n位校長疑似將學生與家長的個人資訊提供給補習班

<就某種程度上來說 , 台灣可能有上千萬人的個資都是透明的 , 因為早就不知道被賣了多少手了...>


這些案例都只不過顯示出台灣在不同的專業領域中有不少老鼠屎敗壞了各個不同專業領域的專業倫理....


有些是基本概念 ,
例如廠商約你在公司以外的咖啡廳談事情 ,
雖然只是一杯不到一百元的咖啡 , 也千萬別讓廠商買單....

古人說:  拿人手短 , 吃人嘴軟

 專業倫理需要專業人士自己去堅守
誰是專業人士 , 你我他各行各業的人都是專業 ;
(誰是食神 , 人人都可以是食神...很冷的補充語)

2009年3月5日 星期四

Yes Man 的四首歌不錯聽


Yes Man 的四首歌不錯聽

又是金楷瑞主演的電影 , Yes Man 是喜劇

那個不是重點 , 重點是電影中女主角唱的四首歌 , 不錯聽

<懶得寫電影介紹 , 反正很多人都寫過了>

金楷瑞的喜劇對半帶有童話意味 , 但是又帶有一點成人特有的無奈
好人不一定有好報 , 是一開始的串場 , 老實本分當宅男也不好 ,
所以一定要給他點打擊 , 打擊再打擊 , ....
(一個頭兩個大 , 他演警察 , 然後結婚不久 , 老婆竟然跟開他們結婚禮車的侏儒出牆而且跑了 , 更慘的事 , 明明是白人夫妻 , 老婆幫他帶綠帽子 , 還幫他生了黑人娃娃 , 然後就跑了)
(這一片 , 他是銀行放款審核人員 , 沒想到老婆也跟他離婚了 , 然後要升官 , 也沒有他的分 , 他只好上婚友網站去四處尋找對象)


然後讓宅男有點機會放開一點 , 再放開一點 , 但是放放放....放過頭了 , 就會有危險 , 
(這一片則是 , 他聽了演講奉行 Yes 主義 , 事事 Yes , 讓自己放開點 , 去學了韓語 , 開小飛機 , 彈吉他 , 對大家都說 Yes , 救助了流浪漢 , 然後.....好事來了 , 他認識了有點無裡頭的女主角 ,
(發現金楷瑞電影中的女主角偏好可愛又有點羞澀 , 但是又很外的女孩子<--有點矛盾的形容詞) ,
用韓語跟裝賽臉的婚紗店員溝通 , 讓婚紗店員可以樂意協助他幫助他朋友的未婚妻辦理婚前對 ,
然後他用吉他救了要跳樓男子的一命 ,
然後 , 又跟女主角無計畫式的到機場 , 看看命運會安排他們搭乘那一個航班到那一個城市去 , 他們就去哪裡玩
 , 他們竟然也玩的高高興興的 , 一切的進展都很美好 , 女主角也愛上男主角想跟男主角同居 ....男主角當然回答 Yes )
再敲回來 ,
(但是女主角發現男主角事事說 Yes , 讓她以為 , 男主角其實沒有那麼在乎她 , 只是不得不說 Yes , 所以很生氣  , .....)

當然最終還是要來個好人有好報的結尾
最後當然是男女主角快快樂樂的在一起

(人生真的能夠有這種單純的快樂嗎? 如果有 , 為什麼這麼多怨偶 , 這麼多離婚的 , 這麼多婚外情....)


不過 Yes Man 的片尾不錯看 , 片尾曲也不錯