耀賢's profilePhotosBlogListsMore Tools Help

Blog


    April 30

    Daemon程式設計綱要

    參考了一份文件[1], 說明daemon程式設計要點:
    0. Daemon是在背景執行的程序.
    1. 使用fork()讓程序daemon化: 從普通程序產生子程序, 並立刻結束父程序, 使脫離父程序的孤兒程序成為init程序的子程序, 為背景運作的程序.
    2. 讓子程序獨立: 一般程序都被當作同一群 (group). 現在必須讓我們的daemon變成獨自一群. 使用setsid()或setpgrp()可取得新的群代碼.
    3. 關閉descriptors: 程序會繼承許多descriptors, 譬如stdin, stdout, 與stderr等等. 要在fork()之前或是子程序開始前, 將descriptors關閉.
    4. 控制檔案權限: 用umask(027)讓daemon建立的檔案都是750模式.
    5. 設定路徑: 用chdir()切換到daemon的基本路徑, 方便讓程序由正確路徑讀到檔案.
    6. 控制單執行實體: daemon必須只執行一份實體. 控制執行實體數目, 可以藉由檔案鎖定做互斥.
    7. 讀取訊號: 有些訊號必須避開 (譬如終止子程序訊號), 有些訊號要處理 (譬如強制終止訊號). 要用signal()處理各種訊號.
    8. 記錄: daemon要留下許多記錄, 讓寫程式的人或網路管理員檢查狀態. 記錄方式有管線轉向, 寫檔, 或使用log服務.

    [1] Unix daemon server programming, http://www.enderunix.org/docs/eng/daemon.php.
    April 29

    主觀看法的謬誤

    看到藤田和日郎 (畫過潮與虎與傀儡馬戲團二部漫畫) 的新作品, 題目是 "在月下飛舞的邪眼". 是說有隻殺人貓頭鷹, 擁有一種妖異的能力, 只要用眼睛看人, 人就會死掉. 因此在故事中, 日本因一隻貓頭鷹陷入滅亡危機.
     
    這個故事給我一種恐怖的感覺, 恰好跟我的不愉快經驗結合. 再怎麼強的傷害, 只要躲就能避開. 但是, 若是你連呼吸都可能遭受到某種傷害呢? 我指的是那種你根本無從躲起的傷害.
     
    我這人就是看起來不會吵不會鬧, 看起來像小孩子, 又看起來總是很悠閒. 但是當我覺得我很忙的時候, 別人只因為他主觀看法, 不把我的忙當一回事. 當我生氣的時候, 別人也因為他主觀看法, 只知道阻擋我生氣的舉動, 卻不願意關心我生氣的動機.
     
    你覺得你認識我嗎? 或許, 你以為我走路慢慢的, 看起來很閒, 那就充份證明你不完全認識我. 我走路慢是一回事, 忙不忙是另一回事. 忙與走路對我來說是獨立事件. 我覺得, 再忙, 也不要搞到要走路都焦急, 所以我會為自己準備充份的時間慢慢走到我該忙碌的地點. 因此我走在路上都是有目標的. 我覺得, 任何人, 即使是朋友, 也不可以在路上碰面就想要聊個5到10分鐘, 那會害我遲到, 因為我走路慢, 我為自己量了夠長的一段準備時間好能夠慢慢走.
     
    所以, 我是那種慢慢走路, 卻跟你說我趕時間的人.
     
    這跟傷害有什麼關係呢? 有關的地方就在於, 我常覺得別人不懂得我的需要. 你可能覺得你看到我的舉動就知道我在想什麼, 但是別忘了, 我老是說我自己是跳躍思考的, 一次跳了好幾步的思考方式, 而且對於一些我早就知道的事情, 我不會花時間想它. 所以, 通常你以為你知道我在想的那個 "什麼", 根本不是我在想的事情. 因此, 別人常為因為他主觀看法, 對我做一些評價, 或者對我施與一些對待, 那些都是我不想要的, 而且許多時候是傷害. 最少是一種精神壓力.
     
    我是娃娃臉, 我看起來是22歲到24歲左右的人. 但你有沒有想過, 我擁有30歲衰退中的體力, 而這種體力狀況正好與我的年紀相符? 我覺得我周遭的人都沒這樣想過, 因為他們年紀太小了, 他們拿他們自己的感受當作我的感受, 覺得任意熬夜無所謂啊, 有急迫的功課本來就是要熬夜付出很多時間去完成, 或者是遲到就是自己想翹課/不想來/爽到的意思. 對我來說, 前述幾項年輕人的想法全是胡扯. 我不能熬夜了 (我強調 "", 表示我不是不想熬夜, 是曾經熬過很多夜), 因為熬夜的時候我身體會.而遲到是因為我體力耗盡, 實在沒睡夠, 或是雖然時間夠但走路慢. 遲到對我自己來說也是一項虧損, 因為我被扣分, 也沒聽到課程內容. 但是一些小孩子的想法, 老是覺得遲到是蓄意的, 這真是笑死人的鬼扯. (我承認我遲到是錯的, 但是你把我遲到跟一些負面的行為動機做連結, 譬如故意翹課, 我敢說我絕對沒有這樣子想過!)
     
    有人說, "功課好的人不見得能力強/品行好." 這話是什麼意思? 意思就是, 功課不太好的人, 卻比較有能力/有品行嗎? 正確答案是: 你不要把功課與能力/品行互相連結, 二者明明是獨立事件, 你卻彷彿視它們為有因果關係, 就全都答錯. (統計請重修.)
     
    於是, 那些認為我遲到是有負面動機的年輕人, 其實自己平常就是想翹課就主動翹課的人. 會有這樣的想法, 因為自己是這樣的人. (於是, 蘇東坡看佛印像蟲或是大便, 那是因為自己內心裝滿了同樣性質的東西.)
     
    這些負面的事情於我何干呢? 我在工作場合並不敲MSN訊息, 也不聽音樂; 我上課的時候也不打開筆記型電腦偷玩自己的東西. 這樣的我, 你指控我是會翹課耍小技倆的人, 你想要講這種話給誰聽? 我承認遲到, 但我可沒有故意遲到. 我也不覺得遲到很爽, 遲到這事對我來說是一種壓力. 我遲到也沒有害到你, 麻煩到你, 或傷害到你!
     
    但即使自覺得清白, 別人卻整天要用他自己扭曲的見解來解讀我的行為, 我雖然覺得那很無聊, 卻一直累積著精神壓力.
     
    精神壓力就是, 你雖然沒有具體傷害我, 卻給我一種壓迫, 讓我無法呼吸的東西. 人們在感情中常常談這種無法呼吸, 也很容易理解這種缺氧的感受, 但是在感情之外的世界, 卻一點也沒想到自己的行為會以同樣的模式傷害人.
     
    我大學三年級曾在圖書館的期刊區尋找資料, 那是一個開放空間, 有學術期刊也有雜誌, 而我來回巡行只是想找學術期刊的資料. 一位偶然路過的熟人打擾我, 除了打斷我的思緒讓我無法定睛在各期刊的封面之外, 還在講話中提到一句: "沒事在這邊晃嗎?" 我總是覺得納悶, 我當時看起來是晃的感覺嗎? 我明明滿心焦燥想找到可用的資料, 也許面容疲累, 但我絕對沒有想要閒晃. 我不管那是開玩笑還是怎樣的, 我覺得你們都把別人的行為模式看得太隨便了. 後來我在信件中對那位熟人提到 "打擾到我", "說我閒晃" 等等有關我的感受, 他的回應卻是: "沒有人覺得你在閒晃, 沒有人打擾到你." 哦? 原來disturbers不太曉得自己是多麼地disturbing啊!
     
    後來在工作場合也是, 一些disturbers被指責了他disturbing的行為, 卻會惱羞成怒. 我覺得我真是沒輒.
     
    不過, 是我自己招惹你們來disturbe me嗎? 我覺得不是耶! 一開始都是因為你們disturbers在任意場合看到了我, 然後不管我是多麼地忙, 你們就偏要跟我打招呼就是了.
     
    一直到了現在, 我碩士班唸不出什麼成績, 基本上也是受了disturbers的害. 我在碩二上學期去找了教會弟兄姊妹相聚, 卻發現弟兄之家竟然是個disturbers的大本營. 太可怕了, 作為研究生, 被打擾到連課堂作業都作不完. 這時候才發現, 原來在這所學校想要積極進取, 該對抗的不是自己, 而是這個讀書風氣不盛的大環境.
     
    有人說, 你不懂得時間管理. 那你就說錯了. 首先你要搞清楚, 時間管理並不會讓你的時間從24小時變成25小時. 再者, 如果我不懂得管理時間, 我怎麼可能在唸大學一年級的時候, 就過著每學期都在數著自己拿到多少個九十幾分的生活. 我上課認真上課, 放學之後認真復習功課, 而且我大一, 大二都沒有個人電腦, 學程式設計卻幾乎接近滿分. 如果我已經如此努力卻不懂得時間管理, 那麼我不曉得我該再花多少的努力才叫做懂得時間管理. 而為了認真聽課, 在大學時期我的身體也搞壞掉了, 現在連呼吸都有一些症狀.
     
    以上時間管理的對話, 真的有人跟我這麼說過. 我只覺得, 哎, 你真的認識我嗎, 你真的好好想過我的處境嗎? 對方是基督徒, 是我的弟兄, 所以我更發現, 許多基督徒講弟兄相愛, 但問題是你所做的事情, 到底是以愛為出發點, 或者是你從知識道理上, 強迫自己 "以愛為出發點" 呢? 我相信你是後者, 所以請你們基督徒在做決斷之前, 先多禱告認罪吧, 不要講一些其實你不照著做的知識道理.
     
    基督徒朋友還有最大的麻煩點, 就是真的犯了錯, 可能會以 "不可定罪" 為藉口掩蓋錯處, 而不誠心誠意面對錯誤. (我已經因為這一點而離開召會了. 我知道真理上是對的, 但你們, 尤其是住在我們學校附近的, 生活上許多錯上加錯的地方, 你們不肯面對, 不肯認錯. 那就掰掰了. 你們雖然會成熟, 但在走向成熟的過程中, 你們踐踏了多少人的心, 我信主不會虛偽地略過這些事情.)
     
    回頭來說, 主觀看法的確很重要, 能夠成就你自己這個人. 但是, 你以為你的主觀看法能夠直接套到別人身上嗎? 你如果從來沒有想過別人的感受, 就以自己所認知的去解讀他, 那就像是你以自己為別人的救贖者. 這樣是行不通的.
     
    對我來說, 這是會累積在我精神上的壓力. 有一天, 我會崩潰, 但是你可能不曉得這是你造成了. 就是因為你的閒聊, 你的不體諒, 你的不聽我講話, 還有你的該死的宗教觀念.
     
    我從來沒有招惹你來跟我閒聊, 你過來閒聊反而是打擾到我, 我不回應你, 你卻覺得吃了閉門羹惱羞成怒, 自以為我不懂得交際. 很抱歉, 我一點也不打算在專心之餘同時處理各種外務. 我早就客氣告訴過你, 我專心的時候不會分心跟你講話, 也沒辦法分心回應你. (好笑的是, 有位蠢蛋回答我說: "(你不能分心的話) 你可以講啊" ...... 我已經不能分心了, 我怎麼講?)
     
    可怕的是, 這些壓力我躲不掉. 也許因為你恰好路上碰到我, 我雖然沒看見你, 硬要跟我打招呼, 壓力就丟到我的身上了. 我只求即使隱居山林, 或者犯自閉症, 都沒關係, 只要不必應付有些人的自我中心心態即可. 作為路人, 請你善盡路人的責任, 不要路上巧遇就想耽誤我半小時, 我出門都是有事要忙.
    April 27

    跳躍思考: 我的弱點

    我老是講自己是跳躍思考的人, 今天發現原來這是個缺點. 因為一下子處理跳了好幾步的思路, 反而做不到那些只走一步的思考.
     
    今天討論evaluating/reducing的細節, 就發現自己這個毛病. 我一下子就去想beta-reducing二次的結果, 思路就亂了. 原來數學家證題目是要一步一步細緻地檢驗清楚才行.

    Tunak Tunak Tun

    網路上盛傳的 "印度F4" 歌曲 "嘟嚕嚕嘟嚕嚕嘟嚕嚕打打打", 原版見這段影片: Tunak Tunak Tun. (唱者: Daler Mehndi) 翻跳(舞)版見這段影片: Caucasion-ish edition. 聽到這首歌心情會很好.
    April 26

    寫函數程式的感覺

    寫函數程式真是個奇怪的感覺, 它顯然比命令程式簡單, 但如何讓函數程式執行得正確, 要更想得透徹點. 除錯的過程是重新讀出每個符號, 確認它們的排列與想法相符. 不像命令語言只是簡單地確認程式前一行跟下一行順序對不對. 當想通的時候, 程式也完成了, 會驚覺原來這麼簡單. 但建構完善的函數定義過程卻不簡單. 總之, 這是一件鍛練腦力的奇妙遊戲.

    連隨身碟都不用, 就能帶著走

    我發現Google Docs真是個方便的東西, 寫點論文都可以用它存在網路上, 這樣子文件就不怕哪一天忘了存到隨身碟帶在身上了. 也不用應付有時候因自己操作手誤, 突然冒出麻煩問題的Word.

    我在live.com稱讚Google, 這也是很猛的事. 文會被刪吧! :D

    為錢煩惱

    今天又被吵醒了, 而且一早就聽到有爆點的消息. 這種爆點可不可以少一點. 家裏有個小時候沉迷網路遊戲的妹妹, 剛開始搞離家, 同居那一套. (母親為了她不曉得花多少錢燒香, 點光明燈.) 結果那個男人真的是個廢材, 個性惡劣, 吵了就打人, 還不定時來招惹我家全家. (那時候我唸大學, 常常期考的時候半夜要應付那個男人的騷擾.) 後來知道那個男人已婚, 但與妻子不經法定手續離異, 曾有傷害罪前科, 坐牢過. 年紀比我大一點, 有一個小孩在家裏讓他父母親帶. 有一次來鬧我家是晚上11點, 家人很累的時候, 那時候我妹才歸家半年左右, 他喝了一點酒就來吵, 說要找我妹, 我家人都不讓他進我家了, 我媽對他根本就是獅子吼的態度, 氣起來開門甩他一巴掌. 162左右的老婦甩178高的漢子一巴掌, 有什麼關係呢? 我爸還杵在門外跟他好好講, 結果那個孬種說: "阿伯歹勢了." 就掄拳向我爸. "恁某給我這樣打, 我就這樣還你." (嗤笑) 下三濫的東西! 後來在警察面前哭說, 我們全家人把他打傷. 笑死了, 我家人對他最嚴重的傷害也只不過我母親的一巴掌, 老婦人可以把年輕壯漢打傷, 這真是新聞頭條啊! 剛開始果然沒看錯, 一眼就看出他是個小混蛋. 母親割瘤手術的時候, 他們還在醫院坐輪椅玩樂, 一點都沒想到我們多麼擔心.

    我大學的導師跟我說, 妹妹這樣, 我這做哥哥的要盡一點溝通的責任. 但我跟我妹的確溝通不良, 早就沒辦法講話了. 這不是問題. 我實在很不想跟負面的社會階層有什麼瓜葛. 並不是心裏高傲, 而是我定位自己是不作姦犯科的人, 我想要清清白白的人生. 欠點卡債沒關係, 但是吃喝玩樂欠到幾十萬多年還不完, 就很過份.

    這次是我妹在春假期間失業, 不能怪她, 她是被惡性的品管小姐氣走的. 那時候就想說, 春假妳就先休息, 人家開工了你再去努力找工作. 結果, 那時候著急, 後來找工作的步調反而一點都不急, 找不到工作還是回家繼續玩樂. 我妹的網路遊戲癮可真沒停過. 今天早上要跟我爸講的事情, 就是三個月的電話錢交不出來. 看樣子是因為如果不交出來, 網路遊戲的生命線就會斷掉吧!

    講了半天還沒講爆點的事. 爆點就是, 這幾天我爸天天出錢接濟, 她聲稱自己找到工作, 還說工作待遇如何. 結果今天承認, 前幾天找不到工作就去逛逛. 原來在最糟的情況時, 還要拿比較不糟的情況來稱謊.

    真是腦袋不知道在裝什麼. 學了網路, 卻不知道上網可以查一點工作. 讀了二專國貿系畢業, 卻不知道整理自己的專長. 結果現在人卡在二, 三個縣轄市的小區域, 只找工廠作業員的職業. 找工作還要考慮若到士林區坐車就太遠了, 只鎖定台北市週邊鄉鎮.

    我的母親, 15歲從宜蘭到台北做女工, 開始過著寄宿工廠的生活. 這是多大的膽識!

    我的家人花這一點錢供我唸書, 雖然不比留學, 也算是極限了. (留學起碼開始有一筆旅費, 但我家連機票錢都拿不出來.) 早上被吵醒之後, 想一想, 覺得經濟壓力頗大的, 我實在有責任趕快畢業, 每個月賺二到三萬元之間, 幾乎全數拿出來交給家人. (扣除定期存款留待償還50萬左右的就學貸款.) 這就是我的責任, 我的家庭.

    三件事...

    1. 巧遇去年所教程式設計的學生, 談到目前所有的抱負. 他們正在分工發展自己的專長興趣, 有的讀web, 有的讀資料庫, 有的讀資訊安全認證, 而且認真研究資訊系統應用的趨勢, 也有洽談商機的膽識. 也許不多久資管系會再出現一支好團隊了.

    2. 實習課學生讓我覺得好生氣, 也好無奈. 盡量避免吼你們, 是因為你們想不想學, 有沒有興趣, 其實不干我的事, 而你們的螢幕中擺些什麼, 也都尊重你們. 但是, 如果作到想聊天就隨意開口聊, 那就太過份了. 卡丁, 卡丁, [1] 因此荒廢課業, 毫無抱負, 真是你們自找的. 有些學生會去找系主任說老師都沒教什麼, 但請問你們學習態度又如何? 你們不喜歡被人吼, 那請問自己有沒有想想, 自己所做出來的行為舉動多麼傷害別人啊!

    3. 考試有一題矩陣乘法用dynamic programming求最佳計算過程, 當時忘了怎麼解答, 晚上11點, 隨意思考dynamic programming的精神, 才想到解答. 哎, 分數不過是這麼回事, 臨時努力看點資料, 數字就會變得較多. 只求分數是沒有意義的.

    [1] 跑跑卡丁車 (卡陰車): 在大學生上電腦課時, 使人日趨腦殘的一款熱門電腦遊戲.
    April 24

    我的思路 v.s. 別人的思路

    我一直都是離經判道的人. 思考比較不按照常理, 因為我覺得, 老是在想那些早就知道的事情很無聊. 我的思考是跳躍的, 早就先想到後面的事了.
     
    所以這讓我的生活變得很麻煩. 舉例來說, 之前剛上研究所, 遇到的人全都是問: "你找誰當老師." 可是我覺得這根本不是問題. 那時候我只想趕快多看點書, 因為我覺得我所知的真的有限. 於是, 別人煩惱找老師的時候, 我在想我該研究哪個領域的題目; 別人煩惱要做哪個題目的時候, 我在唸一些我喜歡的研究領域的參考文獻. 別人在趕著按時間打出一份研究計劃文件好交差的時候, 我在想著我想解決的難題仍未確定的某個解題關鍵方法.
     
    我現在研究計劃還沒提案, 別人會因此誤解我都不唸書; 但這不代表我都不唸書. 相反地, 我一直在唸書, 在讀一些我研究中可能需要的相關知識.
     
    別人可能覺得, 我這研究生很混啊, 到現在研究計劃都還沒提, 不打算畢業是嗎? 但我覺得, 研究計劃提不提是我家的事, 因為這份研究是我的! 雖然沒有按著校定進度執行, 但不代表我沒在做研究! 這也不代表一些相關的行政人員可以指責我, 我做不做研究, 交不交畢業文件, 並不是要對他們那些人負責. 我要負責的對象是我的人生與我的家庭! 而不是做出一個讓你點頭的辦事效率! (因此我很懷疑, 是不是很多研究生謊報研究進度以表現出辦事效率.) 我覺得, 我達不到效率 (因體力超限), 但起碼我誠實.
     
    再講其他層面: 別人覺得跟老師打好關係很重要, 我只想跟老師當好朋友; 別人覺得遲到背後有某種故意, 蓄意翹課的心態, 我只不過是體力超過限度了, 無法達成準時的要求, 而遲到只是遲到而已; 別人覺得成績高, 不愛講話的人必定高傲, 但我覺得成績只是臨時加強唸書的結果 (特別是以台灣教學環境而言), 而成績好只是成績好, 並不應該與品德方面的負面性質互相連結.
     
    所以, 有些人會沒腦袋地說: "成績好不見得能力強/品德好," 這是一種錯誤的連結, 因為成績, 能力, 品德的好壞, 明明是獨立事件, 而不是相依事件. (講這種話的人, 我們不知道你能力好不好, 但是起碼你統計的基礎就沒打好.)
     
    我常在發呆或皺眉, 這不代表我困惑於目前所討論的事物. 這種行為在別人身上, 可能代表著不懂. 但當我聽課或思考到發呆出神時, 意味著目前所談論的主題我早就懂了, 我在想的是之後的事情. 這表現可能讓別人誤以為我不懂而解釋得更多, 但他們通常不太曉得, 重覆講著早就知道的事情, 只是徒然消耗我的精力.

    藝術學院年度大戲: 鳶家路窄

    今天中午在學校大樓前廣場看到藝術學院年度大戲的宣傳, 看到學國劇的瑋甯多人身著古裝唱著傳統戲曲, 加上現代舞蹈, 覺得非常感動. 十幾分鐘的宣傳表演, 所感受到的是公開演出 (poor theater) 的臨場震撼.
     
    不過, 許瑋甯的戲服好像短了一點, 也許是她高吧!

    Sleep or not: it's a question!

    我如果來個大熬夜, 早上精神會異常亢奮, 想努力的衝勁與閱讀力, 思考力都變強, 爆發力十足. 但相對地, 身體承受的負擔非常大, 會喘氣, 盜汗, 心悸, 胸痛, 耳咽脹氣等等.
     
    而如果我按時作息, 心滿意足之餘, 就沒有任何抱負. 即使有想法, 也懶洋洋無力付諸實行.
     
    假如我都不睡覺, 大概很有成就吧! 但我年歲已高, 體力作不來, 無可奈何.
    April 23

    Maximum weight perfect matching?

    問題: 有多張板子, 板子上劃分為 n x n 矩陣, 每格可標示為1或0. 求多張板子的兩兩配對, 使每對板子皆為1的疊合區域最多.

    我的想法: 可用下述動態規劃方法處理.

    將所有的板子做成配對計分矩陣, 每一格儲存non-match數目:

     0123456789
    0 052110251618 52
    1 032914 11917 523
    2  0 10918820351
    3   0...

    這個矩陣會對稱, 因為(i,j)的non-match與(j,i)的一樣.
    於是搜尋空間可縮小於右上半邊, 或左下半邊.
    問題也轉化為在搜尋空間中, 做 n/2 rook quiz的解決.
    (若選擇了(0,6), 則(0,_)列, (_,0)行, (_,6)行, 與(6,_)列都不能選擇.)

    曾經看過用backtracking技巧解決 8 queen quiz,
    用類似的方法,可以讓n/2 rook quiz做得快.
    April 22

    美國校園槍擊 v.s. bully

    2007年4月16日美國維吉尼亞理工大學的槍擊案, 兇手是一名韓裔趙姓年輕人 (23歲). 死者共32人, 包含兇手在大學英文系的同學.

    對於這起事件, 我的感想是, 你們這些高中時跟兇手同班的美國人都該死. 人好好的, 不喜歡講話, 你們就喜歡欺負他, 揶揄他, 視他為鄙視的對象. 你們做出那些傷害人的行為, 美國法律根本管不到你們. 但是現在你們的心底, 只是更惡劣地想著: "厚, 那個我們老是在笑的姓趙的, 他殺了那麼多人, 難怪他是這種人!" 可是你知不知道, 今天死那麼多人, 是因為你們當初做那麼多bully的舉動啊! 你們知不知道無端地bully是精神暴力? 你們知不知道bully是精神上全然枉顧人權的事情? 你們誰要不要出來跪下道歉?

    算了, 一點都不希罕! 會bully的人都沒種認錯. 你們就茍活吧!

    Link: many dead in Virginia Tech shooting.

    無厘頭騙術式兜售法

    這個禮拜碰到二次, 共計三起, 騙術式兜售法. 雖不能說是騙術 (因為他們都賣東西), 但是賣出的手法就是用騙的.

    星期五下午從中央研究院坐車到台大醫院附近吃飯, 然後要趕去學校教課. 走近捷運台大醫院站的時候, 先是一個高中小鬼遞一件東西過來, 開口就說: "謝謝!" 我心裏OS: "謝你個頭."

    因為接下那件東西之後會發生什麼事, 我在PTT早就見過傳言了. 那件東西是三個包裝好的小圓標章. 你只要誤以為那像是一般路上發傳單的, 一接到手裏, 他就會跟你說那個東西要錢, 然後說他們是某校學生 (通常就是我們學校), 學長或同學做出那些東西做義賣, 酌收一百元到二百元不等. 如果你願意掏一百元, 他就會再以 "前一位客人樂捐到二百元, 請你是否也能..." 這類話語勸你再多給到二百元.

    反正我很冷漠地對待他, 因為我不是人來瘋的人. 走上階梯, 另一個小鬼靠上來, 也伸出那件東西大聲說: "謝謝!" 我心裏還是想: "你謝個屁啊!" 我右手抱書, 左手拿著衛生紙球, 趕路本來就很辛苦了, 還要應付這種事. 那時候, 我捏著衛生紙球的左手是往下垂下來的, 他伸過來的那件東西就試著靠近我下垂的左手, 想要讓我直接反應地去接. 很可惜, 我還是不想理你, 小朋友. 賣東西不是用騙的, 好嗎?

    星期六下午在台北車站等車, 又看到有人在玩這種謝謝騙賣術. 真搞笑, 這是誰想出來的啊? 不要東西塞到人手上就想要錢好嗎!
    April 21

    真實選路方法與最短路徑演算法的差別

    今天在讀一本頁數不算少的survey, 題名是 "Walking, crossing streets, and choosing pedestrian routes: a survey of recent insights from the social/behavioral sciences", 作者Michael R. Hill, 1984年University of Nebraska出版系列之一. 裏面提到許多由人因, 心理學層面討論的選路行為研究. 其中choosing pedestrian routes一節提到了許多選路行為並不是由客觀的地圖等系統主導, 而是由人類的心智或認知地圖主導.
     
     在第40頁有句話:
    Complexity (i.e., having more choice points and/or turns along a path) tends to increase the amount of information available along a given path.
    讀到這裏, 心裏有些想法, 在一般的選路問題解法, 是採權重式規劃較佳的選路. 不過, 從E. Dijkstra開始, 很多選路問題都在看二點之間的那條弧, arc or edge上, 有多少的權重或阻礙因素. 但是有多少人想過存在於點, node上, 也應該有權重可言. 在真實路網中, 紅綠燈路口就是個queuing system. 不曉得有沒有人把這方面整合到路網研究中.

    live.com的學術搜尋

    在live.com看到有個 "學術搜尋" 服務, 是beta版. 試了一下, 覺得查到的資料會讓我覺得 "Wow!" 我第一個查的資料是cellular automata, 第一篇主旨是說明CA如何引介到教室課程中. 第二個查cellular automata periodic, 第一篇就是討論CA式的道路交通模型, 恰好是我很想要的資料.

    當然, 我的意思並不是恰好它找到我想要的資料, 而是介面上我所感受到的就是方便, 方便, 方便. 查詢結果整理成EndNote等書目格式, 就是一種很細心並貼心的設計了. 就這一項, 我為live.com加分.

    認真使用Spaces之後, 開始欣賞live.com的好幾種服務.
    April 18

    fuzzy set methods for qualitative and natural language oriented simulation

    文題: Fuzzy set methods for qualitative and natural language oriented simulation
    刊名: Proceedings of the 1990 Winter Simulation Conference
    年: 1990
    頁: 513-519

    重要字眼: qualitative simulation, fuzzy number, fuzzy set

    摘要:

    本文使用fuzzy number處理模擬系統的非量性變數, 並藉由C/C++ SimPack程式庫實作參數的模糊處理. 藉由fuzzy set幫助模擬系統針對非量性變數轉換為數字來處理, 使系統能夠產生輸出, 輸出也透過fuzzy number處理轉換為非量性詞彙, 以文字描述模擬結果. 模擬系統還可能產生系統的有限狀態機, 或自動產生假說以供與專家知識核對檢驗.

    模擬系統模式使用到一組方塊, 彈簧與施力機制連結的狀置, 環境由四類元件組成:

    * 輸入: 由轉軸產生週期性的推力或拉力, 主要由振幅a表示.
    * 狀態: 系統狀態由位置與速度代表, 表示為一組向量 <x1, x2>.
    * 輸出: 方塊的水平位置x1表示系統輸出.
    * 參數: 有彈力, 平面阻力與質量等, 分別是k, c, m

    以上變數包含a, x1, x2, k, c, m皆由幾項口語值對應到fuzzy number, 轉換為系統參數, 使模擬系統能夠執行.

    模擬系統的數學模式由下式表達:

    x1' = x2
    x2' = -(c/m) * x2 - (k/m) * x1 + (f/m) * cos(a * x3)
    x3' = 1.0

    x3'是對時間獨立的變數, 用以調整模擬系統的數學模式.

    執行結果是量性的輸出, 可透過fuzzy number轉換成非量性輸出.

    討論:

    模擬用以象徵與真實系統的邏輯關係, 其中存在許多不確定性. Fuzzy set很容易處理不確定性, 與模擬是二樣很搭配的工具.

    April 17

    讀英文變快

    最近我發現, 我讀英文論文的速度變快了! 也許是去中央研究院打工, 被那裏的學人影響了吧!

    讀得快, 想得快, 領悟得也快. 但是現在我很缺乏記憶力, 特別是短期記憶力.

    小時候記性好, 專注力差; 老了能專心了, 卻開始缺記性了. 真麻煩...
    April 16

    HappySlip: Christine

    我一直很喜歡看這個video blog: Happy Slip, Christine的vlog一登場就充滿了多樣變化, 自拍連續劇與家庭對話是一絕. 她是菲律賓裔, 北美人. 人家說她有女演員的調調, 她曾經應徵過lonelygirl15 (見這篇), 那是個不愉快的經驗. 其實她是個多才多藝的平凡人, 偶爾有鋼琴或吉他的自行彈唱表演, 或是營造夢幻的作品 (見這篇), 或是真實面的呈現 (見這篇).

    後來看到一位小妹妹模倣她的自拍家庭對話: Re: Peelings, 媽媽的角色一笑, 我也跟著大笑.
    April 15

    HPC平行程式 - 傳送derived-type資料

    目前確認過HPC, 可以不靠LSF, 只用自己SSH傳送命令執行程式. 真好玩, 本來被job queue所管理的nodes, 只要是alloc狀態都不能碰, 現在起碼可以動alloc與idle狀態的nodes.

    接下來是找找看要怎麼傳資料. 很麻煩的是, 我一開始就要傳送class instances, 而且要從很多nodes同時傳資料到一個node.

    看了看文件, 覺得MPI_Gather()是最主要的傳送方法. MPI_Gather()是一式兩用的函式, 在sender與receiver都用這個. 之前沒認清楚, 還在想怎麼只有接收的方法 (gather嘛), 沒有發送的方法. (人家單點對傳有MPI_Send()與MPI_Recv()呢!)

    傳送的資料要描述它的資料形態, 我的資料形態是某某class, 覺得應該是MPI_PACKED形態, 因為 "MPI: the complete reference" 書上範例是用某某struct舉例. 如果直覺沒錯, class的成員函式應該不佔儲存空間吧!?  定義所傳送的資料型態, 只要把class當做struct那樣, 把資料欄位列進去就行了. 先這麼試試看再說.