2009年9月18日 星期五

研發替代役 - 軍事基礎訓練之受訓記

清晨,在中隊集合場,可眺望山腳下烏日鄉迷霧的景色,夜晚,則可看到烏日鄉閃爍的燈景,在紀律嚴謹的部隊中,莫名形成一種偷閒的心境。經過三週的基本軍事訓練、數堂專業講座,在結訓完後,正式新增三種身份:公司成員、研發人員和替代役役男。


研發替代役,別於以前的國防役,為了符合憲法法令又不用動憲法,採用的是替代役役男身份,結訓時並領有一張研發替代役役男身分證。


事前準備,除了那張日常生活必需品清單,整體上在軍中大概會花到的額外金錢:



  • 剪髮,一次 20 元,共有兩次,40 元

  • 洗衣,大概 100 元可搞定

  • 搭車,搭到彰化火車站 70 元,台中跟高鐵站 60 元

  • 拍照,團體照一張最低消費 150 元


日常生活必需品清單中,建議衛生紙可在成功嶺的合作社購買,進成功嶺會帶去合作社一次,也是唯一一次吧,買一包平版跟一包抽取式的即可,平板用於檢查,抽取式的才是真正使用的,而到成功嶺再買衛生紙的好處,可讓衛生紙比較好看,畢竟是用在檢查的,另外,可以在多買兩件內衣,若連續兩天晨跑,可以換來穿,一件約一百。因此,金錢上大概七百元差不多可搞定,剩下的是要回家的車錢。強烈建議購買的額外品:涼性爽身粉,請買嬌娃牌(不是嬌生牌),若找不到也可以考慮買優生牌,因為優生是請嬌娃代工的。據說在光南買得到嬌娃牌,我是在全聯買優生牌。千萬不要買嬌生牌,因為它僅是爽身粉,不涼。


回想起來,第一天搭市公所專車,上車沒多久,辦事人員就強烈建議戴上口罩,車子輾轉到了古坑,最後在斗南火車站下車幾分鐘,收了某縣長送的 40 元電話卡,聽專員講講幾句話,便又搭車往目的地。覺得市公所送的小皮夾還滿夠用的,擺上幾張鈔票、證件,十足符合當兵所要帶的東西。


到成功嶺後,發現場景的白矮牆高椰子樹,曾經做夢夢到過,挺奇妙的。隨後則等待同區隊伍,拿一些兵役資料、體檢表,先做了簡單的體檢,披上不知幾萬人披過的藍袍,檢查結束後就開始剃髮。直到這一刻,比較有感覺像似被打回原形--猴子。接著,在餐廳吃飯、回隊上宿舍收發東西、處理瑣事,最後再換上運動裝,算是正式開始吧。運動裝只是短袖內衣、運動褲和運動鞋,說真的還算清涼。


在這之前,我覺得自己是作息規律的,應該對於當兵的事沒什麼好不適應的,但事實證明,不是生活規律就夠了,因為當兵的生活時間很趕,一開始最不適應,要處理的事特別多,而帶隊的隊長有團體時間的壓力,就像趕鴨子般地,慶幸的,在最後一個禮拜,經過反應會後,隊長若有空時,會告訴大家特定時間,例如待會幾點幾分要集合,讓大家清楚知道時間間隔,這大概稱得上給大夥一丁點的對時間掌控吧。


說到職位部分,我稍微觀察到,假使某團體的團長是 A 先生,次要一級的管理者是 B 先生,那整體上訓練團體的會是 B 先生而非 A 先生。這是我在軍中發現的現象。依權位的高低,依序:



  1. 署長

  2. 副署長

  3. 執行秘書

  4. 副執行秘書

  5. 大隊長

  6. 副大隊長

  7. 中隊長

  8. 副中隊長

  9. 區隊長

  10. 分對長


以一個中隊來說,整體上訓練團體的是區隊長跟分隊長。若以整個替代役訓練營,在開訓和結訓典禮上,就會是中隊長來排演,但頭頭應該稱得上是大隊長。我覺得這樣的分配跟我想像中不一樣,我以為一個團體的頭頭會是常常操練團體的,算是新的體會。至於軍隊中的訓練,秉持著人是習慣性動作,做不好就不斷重做,如此而已,但也滿有效的。


在成功嶺上,替代役跟研發替代役共 4 大隊,每一大隊有 4 中隊,每一個中隊約 180 人。一個中隊又會以 16 人來分隊,所以約 11 分隊。研發替代役會佔一個大隊,每梯大概約七百多人(180 x 4)。


除了當兵常唸的經外,我覺得額外的收穫就屬人啦,以下是我印象中深刻的人物:



  • 中隊長

    • 第一次要站哨時,正好在交接時,碰到中隊長,跟我們稍微閒聊,發現他才七十一年次,他說他每天一兩點睡,早上一樣跟我們去晨跑,要我們顧好身體。沒想到年紀輕輕就能有所為,開訓典禮就是由他訓練的,我覺得他做得很好,賞罰分明,不像結訓典禮的中隊長,純粹只會一直兇人。這也讓我有所思考,在這個年紀上是不是該有明確的目標去達成。



  • 區隊長

    • 一個中隊,區隊長共有三人在輪,我發現有一位較兇,一位中等,另一位較和藹。有一次我們隊的中隊長在公開場合跟大家說,一個隊伍裡勢必有黑臉白臉,我覺得很貼切,而這些區隊長,在夜晚站哨時,卸下職務時,就很跟我們很切近。



  • 同袍

    • 由於研發都是碩士以上,所以,並不難相處。但一個團體中,還是可以看到有些人很容易打入團體,像睡我旁邊的就用一罐涼膏跟大家打成一片,並非刻意,我覺得挺厲害的,其他的則是有公差的,可投飲料時跟大家分享,也挺不賴。



  • 消防講座

    • 這是週末的兩堂課,這位公務員在課後跟大家分享人生規劃,講了不少自己的故事,也分析股票給我們參考,雖然我對股票的態度還是一樣,但也讓我學習到一些新東西。記得他說過,第一次幫人做 CPR 時,沒救活,十年後在夢中還是會一直救那位,有一種難述的心情,但至少我看到他現在很快樂,到處講講課程,分享自己的故事。或許他閒聊著薪資收入,但我發現他的另一項收入,其實是助人。讓我想到自己的處境,儘管薪資沒有很耀眼,但我擁有技術環境及更富有的時間,應該有更好的目標等著我探索的!




除此之外,同袍中恰好碰到兩位 33 屆的高中學弟,其中一位還跟我閒聊 32 屆有哪三大美女,說真的我還不知道。碰到高中學弟也感到很新鮮,偶爾閒聊幾句都挺不錯,另外,他們恰好也唸過新竹大學,隨便一扯,又扯到同實驗室的大學同學,可真是有緣份。


除了以上一些體驗外,最多的收穫是透過講座課程,以下是一些順手記下的資訊,其餘如役政署單位來的,我就沒記了。主體上落在管理階層的心態培訓,以及志願服務的概念,請了兩位中正大學的教授來分享經驗,大概是社工系的。除此之外,還有一些醫學資訊,讓我回想起修近代生物的點滴。


講師資料



  • 想贏,去贏

    • 呂翔

    • 舒爽生物科技策略長



  • 經貿全球化之趨勢與挑戰

    • 林灼榮

    • 東海大學國際貿易



  • 知識管理

    • 陳聰仁

    • 華立企業股份有限公司



  • 客戶機密維護

    • 楊惠芬



  • 智慧財產權法概論

    • 黃大洲



  • 科技人文新思維

    • 陳明惠

    • 中興大學科技管理研究所



  • 立竿見影的管理模式

    • 莊銘國

    • 健生股份有限公司



  • 認識勞動基準法

    • 陳月娥

    • 大葉大學



  • 職業道德與專業倫理, 改造自我迎向未來

    • 呂子瑜



  • 職場的健康管理

    • 楊莛歡




2009年8月30日 星期日

[電影] 急速醜聞 / 超速醜聞 / Speeding Scandal








今天在第四台看到,第二次看到了。車太鉉主演的電影,記得2002年的「我的野蠻女友/My Sassy Girl」嗎,當時也風迷一陣子。據說這部電影在韓國票房不錯喔!而女主角在韓劇「王與我」飾演少年尹素華/尹素花,當時也吸引不少人了。這部電影還滿搞笑的囉!
















更多敘述請參考:







以上圖片來源:PhotoWant.com http://photowant.com


三週的體驗營

昨天還忙著寫程式,盡可能把包袱弄小一點,總覺得把程式丟給別人還挺不負責的,這樣的缺憾也是人生的一途嗎?隨著 MSN 同學的敲打,發現他對軍旅的不安,或許,這才是正常的現象。


記得剛上大學時,我帶著高中同學送我的"溫一壺月光下酒"和高中成年禮送的檯燈,就這樣在新的環境裡渡過一夜。我記得那時還有傳簡訊給幾位學長姐,
一位是高中 BBS
站的站長,那時他唸完碩班正要畢業,另一位則是繼續唸博班的學長,最後則是在高中碰到的外文學姐,只是一切止於簡訊,可能是自己行動力不佳,不像大學室友
他們,一進大學就往其他寢找高中同學,就這樣人情散。


沒想到一下就要進入新的旅程,並沒什麼好擔心,只是經過這短短三個禮拜後,便正式轉職成社會人士,想啊想,大概有點眷戀現在的環境。


未來啊,似乎資源將越來越豐富,得趕快找好目標,追求與達成。


2009年8月23日 星期日

[PHP] GD with JPEG / imagejpeg @ FreeBSD

前幾天使用 Tarball 方式安裝完 PHP ,沒想到 GD 裡頭一些東西不正常,舉例來說:imagejpeg not found!


仔細看了一下,一直搞不懂為什麼編 PHP 時還需要給定 --with-jpeg-dir 、 --with-png-dir 等位置,於是,我順一遍假想的流程,終於搞定了。



  1. 在 /usr/ports/graphics/jpeg 發現 libjpeg 的蹤影,尾隨 Makefile 找到一些可以下載 source code 的地方

    • http://www.ijg.org/files/

    • ftp://ftp.uu.net/graphics/jpeg/

    • 下載 jpegsrc.v6b.tar.gz 並解壓縮與編譯

      • # tar -xvf jpegsrc.v6b.tar.gz

      • # cd jpeg-6b/ ; make



    • 在 jpeg-6b/.lib 中得到 libjpeg.a 檔



  2. 重編 PHP 並且指定 --with-jpeg-dir 位置,即 libjpeg.a 位置(最好統一拉出來建目錄管理)

  3. 搞定


因此,若有其他相關的,如 png 等,可以順勢到 /usr/ports/graphics 逛逛囉!此為 Tarbll 安裝方式所碰到的問題,使用 /usr/ports 可在 /usr/ports/lang/php5-extensions/ 安裝 GD 得到處理。


[PHP] gdb php.core

沒有想過,原來自己寫的 PHP 也會產生這個檔案。這個原因是出自於我架的 Apache HTTPD 運行 PHP 所產生的,透過 HTTPD 類似執行 shell_exec( "/path/bin/php /tmp/test.php > /dev/null & " );


如果產生 php.core 檔案,可以到官網參考解決方式:



我自己的情況是透過以下方式看訊息的:



  • # gdb /path/bin/php php.core

    • (gdb) bt ;

    • 會蹦出一堆訊息讓你參考

      • #0  0x88b9194d in calloc () from /lib/libc.so.7
        #1  0x88b91b7e in free () from /lib/libc.so.7
        #2  0x082cbf9a in destroy_zend_class (pce=0x88e3e76c) at /path/php-5.2.10/Zend/zend_opcode.c:202
        #3  0x082de386 in zend_hash_destroy (ht=0x10) at /path/php-5.2.10/Zend/zend_hash.c:526
        #4  0x082d48b8 in zend_shutdown () at /path/php-5.2.10/Zend/zend.c:736
        #5  0x08293f3f in php_module_shutdown () at /path/php-5.2.10/main/main.c:1908
        #6  0x083500a0 in main (argc=4, argv=0xbfbfe71c) at /path/php-5.2.10/sapi/cli/php_cli.c:1357





  • # gdb /path/bin/php

    • (gdb) run /tmp/test.php arg1 arg2 arg3;

    • 沒多久看到訊息

      • ...

      • Fatal error: Call to undefined function imagecreatefromstring() in /tmp/test.php on line xxx

      • ...

      • Program received signal SIGSEGV, Segmentation fault

      • 0x88b9194d in calloc () from /lib/libc.so.7






因此,至少知道點方向了 :-) 但這主因並不是缺少 library 啦,經多次測試後,發現用 5.2.10 使用 imap_search 後產生的問題,改用 5.2.9 就不會出現 Segmentation fault 啦。


# [ @ php-5.2.10 ] ./configure --with-apxs2=/path/httpd/bin/apxs --prefix=/path/php --without-pear --with-openssl --with-imap --with-imap-ssl


使用 imap_open -> imap_search -> imap_close 則會出現 Segmentation fault ,但改用 php-5.2.9 就不會發生。


另外一聊,在開發移植的環境上,最好先弄個 lib_test.php 的檔案,用來測試必要的 function 是否存在:



  • <?php
    $test_func = array(
            'imagecreatefromstring' ,
            'imagesx' ,
            'imagesy' ,
            'imagecopyresized' ,
            'imagejpeg' ,
            'imagedestroy'
    );
    foreach( $test_func as $v )
            if( !function_exists( $v ) )
                    echo "'$v' not found!\n";
    ?>

  • # /path/bin/php lib_test.php