耀賢's profilePhotosBlogListsMore Tools Help

Blog


    May 31

    中研院的工讀

    今天被中研院的人與事氣到了, 我必須強調, 我的工作並不是定時坐在辦公室. 我的老闆沒有規定我必須什麼時間待在什麼位子上. 可是為什麼拿一些工作時間的限制來定義我的工作情況呢?

    是領日薪沒錯, 但並不是我沒在辦公室待了六小時就算不上稱職! 為了處理工作, 我大半夜都在努力啊! 對, 外表看起來我是混混的, 下午三點才出現, 但是我可先熬了很多夜在做這些事情啊! 這不值那八百塊日薪嗎?


    另一點是針對那個辦公室. 雖然我只是個工讀生, 寄居在那個辦公室, 而且這個月恰好因為一些事情, 幾個禮拜沒進過辦公室, 但今天去發現一個令人尷尬的事情, 他們因為有新人來, 沒有足夠的空間, 就分配到我原所在的位置. 有沒有位置雖然是小事啦, 但基於以下幾點:

    1. 那個位子是由我老闆向你們實驗室老闆確認過, 而安排的位子; 從你們不曉得這事的反應, 表示你們找位子是沒跟老闆討論過的.
    2. 位子所擺設的電腦是我老闆的機器, 似乎被隨意移走了; 別人的機器不打招呼而隨意挪動, 這是正確的做事態度嗎? (我可不想把老闆的電腦搞丟)
    3. 原來不常出現就構成位子隨意撤銷的理由啊!? 可是我是工讀生, 沒有辦法經常到辦公室, 而且我的工作性質也不是定時坐在那個位子上. (當初請老闆安排位子, 是想到老闆可能有幾位工讀生, 每一位都可能要一個空間, 就先安排一下.)
    4. 就位子本身來說, 是你們自己需要的時候, 就隨意把借出去的位子撤回來, 卻沒跟我老闆打聲招呼嗎? 此外, 也沒跟你們老闆打過招呼.

    由此可見, 雖然你們是正職的, 經常待在辦公室的人, 做事態度也很普通嘛!

    May 30

    最後一場課堂報告

    把課堂報告當作學術報告有沒有搞頭? 至少我試著這樣做.
     
    今天作完或許是一生中最後一場課堂報告, 將我比較熟悉的cellular automata拿出來講. 因為聽眾都是陌生的, 就要從 "那是什麼" 講起.
     
    講完之後, 覺得很可惜, 因為平常都在看, 也許看一半就偷懶休息. 在課業壓力的驅使下, 看過的一些東西才會稍微收斂, 臨時收斂出來的東西品質並不好.
     
    希望將來在這方面研究能持續下去, 而不是在課堂放放煙火就算了.
     
    May 28

    令人暈眩的Linux程式設計馬拉松

    在Linux寫C++程式真累死人了, 字串處理最麻煩, 並不只是資料型態轉換的問題, 而大都是程式所需參數餵錯了, 使除錯都覺得在混淆中奮鬥. 今天忙了12個小時, 中途頂著很熱的太陽去買魚湯跟便當, 只想在忙碌的思考中找點幸福感.

    意外地找到一些資料, 發現系統資訊的讀取, 可能不只要查檔案, 還要做一些系統呼叫.
    May 27

    雜七雜八的Ubuntu軟體管理程式

    安裝了作業系統總會想裝一些軟體工具, 像是影片/音訊的解碼工具. 不同的程式庫衝突是相當麻煩的事. Ubuntu也有簡單的軟體管理工具, 可以讓你當個幸福的dummy使用者.
    http://easyubuntu.freecontrib.org/
    http://www.getautomatix.com/

    May 22

    北京女孩嘉戀模仿14位歌手唱 "千里之外"

    北京女孩嘉戀模仿14位歌手唱 "千里之外"
    http://news.wenxuecity.com/messages/200704/news-big5-389930.html

    http://www.youtube.com/watch?v=HbA6GI2Pz6c

    天哪! 太像了, 太像了! 孫燕姿, 莫文蔚, Selina (任家萱), 李玟, 王菲, 李宇春, 許茹芸, 劉德華, 張學友, 蔡琴, 王傑, 張宇, 宋祖英 (她是誰啊? 我以為是夏禕), 張惠妹.
    May 21

    程式設計之道 7.3

    * 象牙塔的魔術師帶著他的最新發明去見大師, 他推了一個大黑盒子走進大師的辦公室, 大師正在靜靜的等著.

    * "這是一套整合性, 分散式, 一般用途 [1] 的工作站", 魔術師如是說, "還有一套專屬的作業系統 [2], 第六代語言 [3], 多項最先進的使用人界面, 再加上人體工學的設計; 這花了我的助手們好幾百人年 [4] 才造出來的, 不是很了不起嗎?"

    * 大師抬了下眼珠子, "的確了不起." 大師說.

    * 魔術師繼續說: "公司總部已經下令每個人都要用這台工作站做發展新軟體的基石, 您同意嗎?"

    * "當然." 大師答道: "我馬上會把它放到資訊中心去." 於是魔術師高高興興的回到象牙塔去.

    * 幾天後, 一個生手在大師的辦公室裡團團轉, 說: "我找不到新程式的報表,您知道會在那兒嗎?"

    * "當然", 大師答道, "報表就堆在資訊中心裡頭的基石上!"

    --- 洗鏡光, 程式設計之道. [5] 7.3節


    這段文字展示了軟體生態的三種角色. 象牙塔的魔術師是架構設計者, 他所提出的解決方案是純粹而理想的, 甚至具有全面的完整性. 大師是實務角色, 可能是高級軟硬體經理, 在技術, 實務與管理方面都有充足的經驗. 因此, 當大師聽到魔術師這樣的架構, 他的神色顯示出並不感覺到新奇驚訝 --- 他可能早就知道有這種事物了. 但大師口頭所說: "的確了不起." 顯示他對於系統實作不易的認知.

    生手象徵的是普遍的資訊使用者角色. 魔術師可能創作出一種先進的, 無實體報表的系統, 但是生手所需要的仍離不開報表, 紙張等等. 大師了解上下層次的差異, 是科技創新中, 重要的中介, 銜接, 並推廣的角色.


    [1] 整合, 分散式, 一般性是電腦產品或資訊系統架構的三種主流走向, 大多數產品並不是三者兼俱.
    [2] 專屬的作業系統, 意味有自己的程序管理, 儲存管理等等軟體程式. 意義不同於Linux不同的發行版本, Linux發行版本多來自於相同的系統核心.
    [3] 程式語言發展過程分為許多代: 第一代是機器原生語言, 第二代是指符號化, 譬如組合語言, 第三代是讓程序文句變得更像人們的口語, 第四代是組成豐富的模組與物件導向單元. 第五代語言在90年代發展, 主要著眼在程式的程序控制部份與資料部份分離, 例如日本試圖以Prolog為基礎發展5GL (the 5th Generation Language).
    [4] 人年 (man-year), 指參與工作的人數, 與工作執行年數, 二者乘積作為評估軟體開發成本的單位.
    [5] 洗鏡光的 "程式設計之道", 是民國96到97年刊載於 "微電腦時代" 雜誌的逸文. 後轉錄於下列網址:  http://mis.ndhu.edu.tw/docu/The_DAO_of_programming.htm

    May 19

    成功與驕傲沒有聯結

    很多人會將別人的成功, 與驕態作直接連結. 因此, 成功的他人若不小心顯露出自己不喜歡的神情, 僅管是自己眼睛瞧見, 而你自己並不認識他, 你都會把他人認定為驕傲的人.

    也有很多另一面的見解, 將失敗的自己與謙態作錯誤的直接連結. 所以有人會講說: "會唸書的人不一定有能力." 隱含的意思是: 1. 我不會唸書, 2. 雖然我不會唸書, 但我很有能力. 這根本是另一種程度的澎風 (吹噓)!

    有些人喜歡花很多精神描繪自己人生的框架, 卻沒有醒悟到在這框架中也許是空然的; 框架中也許塞著許多吃喝玩樂. 當他有一份貼上 "豁達" 標籤的人生框架, 也許只是名義上貶低別人的人生框架, 使自己的人生框架看起來比較美. 但請注意, 別人也許身陷於庸碌中, 卻不是花了許多時間在搞名利. 他們大多時候根本沒在想著你所想的那些污穢事情, 而是用心並專心在思考著目前想要解決之難題, 有哪些解決辦法.

    拿我的學校當例子. 我的學校是私立大學, 在這學校中, 人都是不努力則被擊敗的. 因為的確沒努力, 沒成績也沒實力. 但是別人的好學校則沒有如此校風! 你也許根本沒體會過, 很努力且實力也不少, 卻因為別人更努力, 而被擊敗. 那是一種好現象, 因為大家都在成長, 社群整體都往前進. 相較之下, 本校就有許多搞笑的風氣, 大家都是比爛的, 稍微不爛的會浮上檯面, 並接到許多人的噓聲. 而噓聲的產生, 是因為發出噓聲者的自卑情結.

    停止你的負面想法! 停止你的測度!

    你覺得別人逢迎好利, 那表示你的內心有非常逢迎好利的一面.

    你覺得別人幼稚, 那是因為你自己不願意承認自己的幼稚面.

    你覺得全世界男人都好色, 那是因為你自己太好色了! 嘲笑你自己就夠了, 別把他人拖下水!

    你之所以看得見別人的背面, 那是因為你遠遠落在別人的後面. 別人也許背後暴露在你面前, 但別人只要眼目專一朝著目標望, 他就是會不斷改進自己邁向成功的人. 而你今天也許看得見別人所暴露的背, 但你有沒有想到你暴露了更多自己的背呢? 去忙著遮掩吧! 用你許多的精力去遮掩自己的背, 忙著與別人較量, 你的眼目就沒有專一看著目標了!
    May 18

    寫application終於有點進展

    今天很高興, 把App Expr Expr的lazy evaluation寫出來了. 把Mu, SC與Launchbury的semantics自己推導一遍, 慢慢抓到感覺. 真折騰人, 想了兩個小時呢. 寫完了才發現: "啊, 原來是這樣!" 本來是簡單的東西, 因不相信它那麼簡單, 而繞了一大圈多想了很多東西.
    May 16

    HP叢集電腦的平行程式... 大問題

    對別人來說, 在HP所整合[1]的叢集電腦上寫平行程式很簡單. 他們只要照規矩寫了程式, 送到job queue即可. 接下來是排隊等執行.

    但我很可憐, 所面對的不是這樣! 我不能把程式丟進queue排隊, 而是要自己試試向各節點發送命令. 於是發現了讓程式開始執行有多麼困難! 因為平行程式雖然編譯成功, 卻不能用mpirun正確執行. 我老是得到以下的結果.

    MPI Application rank 1 killed before MPI_Finalize() with signal 11

    後來想一想, 如果我能夠不靠HP-MPI函式庫來做, 似乎也可以. 半夜三點, 我就想到了這樣的事, 寫程式方向作了大改變. 因為重點是將網格計算監控模型實作出來, 我實作不見得要靠shared memory的MPI標準. 在HP叢集電腦上, 因為網路硬碟是個共用的資源, 我可以在硬碟做資料匯整, 這也是一種實作方式. 雖然不算好, 但沒辦法, 我又不是專寫最棒的軟體產品; 我只是在寫一個證實可行的模式驗證而已.

    當然, 用硬碟做, 不是長久之計. 這只是暫時的中介實作, 為了邁向更好的實作的跳板.

    [1] Red Hat Linux, LSF, SLURM, 與HP MPICH implementation.

    寫程式 v.s. 處理系統問題

    我現在覺得非常慘淡, 因為最終仍面對MPIRUN_HOST的問題!

    簡單說, 就是寫了程式, 本以為執行很簡單, 卻發現最難的是讓程式執行起來. 因為我們要的執行方式與系統架構不符. 但並不是要與架構相符才算數, 事實上我就是要在架構不符的情況下把程式跑起來!

    問題是要讓程式執行起來的時候, 就遇到一些系統環境參數未定義的問題. (Can't find MPIRUN_HOST) 在Google中的確也找到相關的討論, 卻沒有明確的答案. 而HP系統手冊也讀不到相關資訊, 因為我跑程式與系統架構不符嘛!

    目前我還在反覆測試一個小程式能不能跑起來. 小程式跑不起來, 我的完整程式就確定不能執行. 我已經花了幾十個小時在測試這個小程式了, 繞了一圈仍遇到最初的MPIRUN_HOST找不到的問題. 我不知道要再花多少個月才能夠做完這一組程式...
    May 14

    Ubuntu特權模式的用法

    我使用Ubuntu從來沒用root登入過, 甚至感覺不到root的存在. 因為想要使用特權的時候, 只要用sudo命令即可.

    $ sudo su -
    Password:
    #

    以上在su - 命令之前冠上sudo, 接著要輸入自己帳號的密碼, 就可執行su - 命令. 同理, 要用特權模式編輯/etc/apt/sources.list時, 要使用下列命令.

    $ sudo vi /etc/apt/sources.list
    Password:
    {進入vi編輯器}

    修改sources.list之後, 你可以存檔了, 而不會被權限擋到.

    有人覺得用視窗程式編輯檔案比較自然. 雖然可以編修視窗選單, 加入一個新的程式啟動圖示能以特權模式執行, 但你發現最終仍要在其中輸入正確的程式啟動命令. 正確的命令就是sudo. 先看看在console中該怎麼下指令.

    $ sudo mousepad
    Password:
    {開啟mousepad編輯器, 而游標停在此處}

    這樣console跟mousepad有緊密的連結, 因為mousepad是console呼叫的子程序. 呼叫了mousepad之後, 你可以使用mousepad, 卻暫時不能使用console, 因為console身為父程序, 正在等待mousepad子程序執行完畢並返回.

    為了讓console可自由使用, 可善用背景執行的功能.

    方法#1:

    {未執行過特權模式指令的console}
    $ sudo mousepad &
    [1] 7651
    $ Password: {游標返回卻向你要密碼}

    可能會出現上述的情況, 用 & 符號把程序推到背景執行, 跟你要密碼, 卻無法以密文方式輸入密碼.

    方法#2:

    $ sudo -S mousepad &
    [1] 7651
    $ mousepad
    [1]+  Done                    sudo -S mousepad

    或者:

    $ sudo -S mousepad &
    [1] 7651
    $ Password: {游標返回卻向你要密碼}

    用 -S 選項讓程式輸入由終端改成標準輸入, 顯然不是我們所想的.

    方法#3:

    $ sudo -b mousepad
    Password:
    $ {開啟mousepad編輯器, 游標返回}

    -b 選項可讓mousepad在背景執行. 這種方法呼叫mousepad之後, 不會印出工作代號與程序代號, 也沒辦法用jobs觀察mousepad程序的情況了. 關掉console之後, mousepad也不會跟著終止程序.

    但不曉得不必輸入密碼可使程式於背景執行, 會不會是個問題. 

    迷上異塵餘生 (fallout, 又譯作輻射)

    最近相當迷上一款叫異塵餘生的電腦遊戲, 由Dragon & Dungeon遊戲衍生, 修改了一些規則, 背景換為核彈戰爭之後的世界. 遊玩方式很自由, 主要的趣味在與人物對話, 可由所選對話風格中發現原來自己扮演的角色表現出這種個性, 可能是輕浮的, 正經的, 或是喜好挑釁的. 當然, 挑釁的對話容易挑起戰鬥, 一旦開戰大都拼到你死我活; 動手打人或偷竊被抓到的結果可能是屠村屠城. 當然, 遊戲的基調是刀槍與煽情, 遊戲的時間與真實時間過得一樣快, 這些特性使它成為非常符合人性的遊戲. 接近真實是它迷人的地方.
    May 13

    數學軟體mathomatic

    想找找看Linux有沒有類似MathematicaTM的軟體, 用apt查一查, 發現有個軟體叫mathomatic. 看到名字我笑出來.

    $ apt-cache search mathematica
    mathomatic - Portable Computer Algebra System (CAS)

    把它安裝起來.

    $ sudo apt-get install mathomatic

    從console執行.

    $ mathomatic
    Mathomatic version 12.6.7 (www.mathomatic.org)
    Copyright (C) 1987-2006 George Gesslein II.
    50 equation spaces available, 960KB per equation space.

    1-> a*x^2+b*x+c=0

    #1: (a*(x^2)) + (b*x) + c = 0

    1-> x
    Equation was quadratic.

                                 1
            (((((b^2) - (4*a*c))^-)*sign1) - b)
                                 2
    #1: x = -----------------------------------
                           (2*a)

    1-> calculate
    Enter a: 1
    Enter b: 1
    Enter c: 1
    Solution #1 with sign1 = 1:
     x = (0.86602540378444*i#) - 0.5

    Solution #2 with sign1 = -1:
     x = (-0.86602540378444*i#) - 0.5

    1->

    很好的簡單數學計算軟體.

    May 11

    聽歌聽心緒

    去聽資管系同學們比賽唱歌. 有些已經認識的, 聽她們唱所選的歌曲, 想想她們所遭遇的, 發現選歌都是想對誰講些話呢! 每個人都有心緒, 歌曲唱出了真感情.
    May 10

    惡搞嗎? 學校視學生為什麼?

    接到昨天下午寄來的信件, 說要在今天下午開班會. 這要找誰去開會呢? 看起來似乎沒問題, 但並不是每個當學生的都是每天都能夠到學校. 學生也不是把任何白天的時間全給學校.

    然後是下週三從學生中調人去參加本系某老師所辦的研討會, 這事一看就覺得怪, 當天早上我們的課已經期末報告了, 弄到那堂課只留報告的人留在班上, 其他人都要移到會場(學校的分部)?  有意思. 更有意思的是, 另一位老師調課剛好調到同一天上午,  上課地點是學校本部. 也就是說, 如果沒有研討會這事, 我也會遭遇到要分身同時上二堂課的窘境. 有趣的是這位老師主導的研討會, 舉行當天調我們這些學生出席, 另一位老師決定調課也挑中同一天, 看起來幾乎沒把那研討會當作一回事.

    反正二件事我都不能參加. 下週的研討會嘛, 當日我有重要的程式實習課要教課, 教育比填人數重要多了, 我必須留在學校本部. 今天的班會嘛, 說是擴大召開, 但決定與通知方式都很隨便, 時間臨時調不出來, 難以配合.

    交通模擬模型 (密)

    好不容易有個時間與指導老師Wang, MT碰面, 順便聊聊碩士論文內容, 在普通的談論中, 意外切入核心, 並把模擬數學模式定義出來了! 最近所學的知識全用上了, 包括在Lee, CY老師所教 "生物資訊與演算法" 課程學到的動態規劃法, 與跟中央研究院資訊科學所Mu, SC學到的lazy evaluation, 以及一些sementics的型式語言表達.

    簡單說, 是將最短路徑演算法的動態規劃式修改了一番. 但不確定是不是別人做過的, 所以暫不公開.
    May 08

    mpiCC ... statement is unreachable in "mpiCC/comm_inln.h"

    學校的HP HPC真奇怪, 一個簡單的平行程式, 用mpiCC編譯, 過都過不了! "mpiCC/comm_inln.h" header老是提出某行statement is unreachable的訊息, 然後ld要連結library當然連結不進去了! 夠了沒有!? 編譯器是HP你自家準備的, 只准人編譯C程式成功, 不許編譯C++程式! 這有多麻煩你知道嗎? 一些動態資料結構要自己維護多可怕!

    又浪費了一天了, 今天照樣找資料看資料, 卻無法排除問題!

    安裝chiTeX環境竟然一天都不夠!

    這真是可怕的事情. chiTeX強調不像cwTeX多了中文控制語碼, 這是個很吸引人的重點, 但滿懷期待之下, 竟然花了整天試著安裝chiTeX, 並讀許多文件解決安裝過程的問題, 最候卻仍然無法解決!

    這入門門檻未免太高了吧!

    明明按照簡單的安裝指示跑完安裝流程了, 最後測試轉換文件卻得到一個錯誤:

    ! LaTeX Error: File `article.cls' not found.

    有錯誤沒關係, 但是網路上卻缺乏chiTeX這類問題的討論! 而開發者網站並沒有這方面錯誤的諮詢文件, 他們只有完全順利無誤的文件, 開頭是不重要的沿襲TeX歷史, 接後則是假設你已經安裝成功之後, 編寫文件的細節. 但中間的問題是, 相關模組的路徑呢? 環境變數呢? 一點提示訊息都沒有! 甚至安裝檔本身執行過程, 也沒有應該預先安裝哪些軟體的資訊!

    試到最後, 我覺得瘋了, 深深覺得這真是欺負人, 把一個複雜的東西講得那麼簡單, 先給人那麼美的期待之後再狠狠地敲他一下讓理想落空! LaTeX語碼不好學, 我應該先有個能正常運作的環境來證明我所寫LaTeX語碼正確不正確, 但在這之前, 卻卡在LaTeX環境可能也是無法正確執行的! 而可笑的是, 我若有能力解決LaTeX環境的問題, 代表我對LaTeX的架構很熟, 但其實我是LaTeX新手! 好啦! 一個死鎖的僵局, 好笑吧!

    不要覺得你是geek就很自豪, 也許你根本不知道你的蠢處在那裏!
    May 06

    鳶家路窄觀後感

    "許瑋甯超美!" 如果你以為我要講這種話, 我考慮刪掉這篇文章.

    她無可置疑地很美, 名模光環也醒人眼目. 但今天現場觀賞了她所參與學校年度劇作 "鳶家路窄" 戲曲歌舞劇, 覺得值得討論的是一位年輕科班戲子的學習成果.

    看到的是生旦淨末丑對劇情的深刻詮飾, 以她來講, 女主角如何單戀情郎, 扮鬼巧救, 並捨身擋刀等等, 扮演主動追求愛情的女性角色. 劇情一層一層, 漸入佳境, 心情隨著劇中人事起伏, 思緒隨著男女主角感情翻飛. 在這齣戲中, 她的名模光環是看不見的. 值得讚賞的是他們的演出. 每位搭配的角色, 表現都十分鮮亮.

    謝幕時發現台上站了滿滿一個班級的人數啊!

    相關網頁: 2007中國文化大學藝術學院展演 ─ 「鳶」家路窄