:::

職業:程式設計師

布丁布丁吃布丁

職業:程式設計師

你好,我是任職於政治大學圖書資訊與檔案所的頂尖大學台灣百年圖書館史暨數位圖書館先導計畫的系統&程式設計師;平時也擔任電腦設備的雜工,從架設伺服器、拉線、操作百萬價位的掃描機到設計實驗室看版跟打掃實驗室,都在我業務範圍之內;喔,除此之外,我的副業是學生,特長是遲到、報告遲繳甚至缺繳,還好同學與學長姐個個皆強者,小組報告我還勉強交的出來。

最後,我還是有給薪的,只是只有我在大學時候薪水的2/3。


大家好,我是布丁。上次的近況報告好像已經隔了幾個月沒有寫了,趁著今晚又失眠,來寫寫Blog看能不能幫助睡眠。

上面第一段的敘述,絕對不是在開玩笑或說反話,而是真正的事實。

從九月中開學到現在,已經過了兩個月,這個學期也過了一半。雖然我們沒有期中考,但是在這個月卻也有幾個大型的報告,班上同學的MSN上個個呈現出水深火熱的慘狀。加上本所正在挑戰數位課程認證,每個老師的教法大幅度變動,不論是對老師或是對學生的負擔都比以往加重數倍。之前認證單位的空中大學前來講習,眾老師似乎受到不小打擊,課業壓力更是呈指數般地成長,學長私下怨聲載道,儘管如此,他們還是成功地把報告繳了出去,讓我深感佩服(問題語句)。

我個人的狀況就好說了。本學期修4門課,共12學分。以下來講講對於各課程的感想:

陳志銘老師,數位圖書館

介紹數位圖書館的歷史、架構、技術、以及各種議題。由於我也是正在做數位圖書館計畫的一份子,所以這堂課讓我結合實務經驗、獲益良多,每每皆有啟發。報告作起來也相當快樂,特別是觀摩其他成功的數位圖書館建置(例如這個American Memories),更是讓我興奮。

楊美華老師,讀者服務研討

這是一門相當靈活的課程。除了課堂英文授課之外,時常還有觀賞影片、邀請演講、參與研討會、甚至是展覽記者會的活動。儘管此時政大交通不便有點麻煩,但是參加這些活動總是讓人有感而發、不虛此行。

讀者服務的議題可說是相當廣泛,大學時期我們多有修過該課程、有些基礎,老師不照本宣科的授課方式,反而覺得能獲得比書本更多的廣大知識。

陳志銘老師,資訊儲存與檢索

教導資訊檢索的由來、歷史,使用技術以及應用。課程大部份介紹都會講到網路,對我而言,就是接觸到更多檢索應用的新玩意兒(我不認識的都是新玩意兒),擴展自己對於系統架設的認知。

整體而言這門課較偏技術走向,剛好也很對我的胃口。偶爾越學越覺得感嘆,這些技術說來容易,但是要把它實作出來,卻又是另一個大工程了呢。

蔡明月老師,圖書資訊學研討

圖資學的歷史、理論、人物、事蹟詳細介紹,教材文件數量彷彿反映了老師在圖資經歷的深遠,下課都要怨嘆每週三小時根本就講不完,課程壓力也是最大的一門課。

上蔡老師的課,就會讓我不禁聯想起大一的圖導,那時不懂事,上課都在睡覺,但那堂課所學到的知識,卻是在圖資領域一輩子都受用無窮的。


有時候會有人會抱怨課業壓力過重,在我看來,先不說這負擔到底有沒有過重,研究所的課程真的是比大學時期更為有趣的多。

一班的授課人數,多則14人,少則2人,教師能投注在各學生的關注頗多,每個人皆有發言的時間與機會。我特別喜歡報告講評的時間,對著自己或是其他人做的報告,提出各種疑問,回答或補充問題,再由老師講評,這是大學上課難以做到的教學方式。

報告方面,時常要閱讀期刊論文(當然,是英文的),這讓我對於電子期刊資料庫的熟練度又更上了一層。報告也會要求有引用文獻,有的就是文獻探討的報告,這種訓練方式提昇了做報告的充實性,也為之後的畢業論文寫作奠下了不少基礎。

儘管個人作業也不少,但團體作業更是三不五時就來一次。團體報告通常都會由一人領導,分組分工作業。就如我在第一段所說的,學長姐跟同學們的實力與效率都是我遠遠不及的程度,有一次當我前一晚要準備寫團體報告時,卻已經在Gmail收到不需要我了、請改做其他工作的訊息,真不知道該說是值得依賴還是自己應該反省。

說到反省,接下來就來講些該反省的事情。

從11月初以「訪談人數:2人」的團體報告為開端,我開始呈現出報告遲繳,到最後甚至直接放棄的慘狀。目前為止某堂課已經累積了兩個禮拜的報告未繳交,而明天再不繳就會變成三週未繳。就如前面所說,因為數位課程認證導致課業壓力呈指數上升,有段時間我甚至是看到沒興趣或太過龐大的報告,腦袋直覺想到「放棄」這兩個字。老師會問我說:「你這個做不做得完?」我的回答是:「我盡量試試看。」實際上卻是前一天晚上才開始動工,所以當然做不完。

吾友某誠聽了我的狀況,感想是「你不是天才,就是神經病」。實際上,我真的覺得神經病比較適合形容我現在的狀況。


副業講完了,接下來談談我的正業。

從2007年一月開始,政大圖檔所執行了一年為期的「頂尖大學計劃:台灣百年圖書館史暨數位圖書館先導計畫」,而我當時正逢推甄上榜,計畫開始不久就進入陳老師實驗室,之後也成為計畫的一份子。該計畫中有三位老師、數十位學長姐,以及我一位連政大學籍都沒有的小子,而計畫當中真正負責系統的,當時只有陳老師實驗室的一個資科所的學長。

在大學畢業、定所安置之後,我正式接手學長的工作,開始大幅度地修改數位圖書館的功能。至今看來,這個Dspace數位典藏系統,從開放原始碼開始被我改到現在,已經是面目全非(其實是好的形容詞喔)。

大三我在作英文導讀網站時,儘管是與電腦一竅不通的英文老師合作,卻因為僅有兩個人、而且是自己熟悉的PHP語言,個人威能開下去最後也是安全過關。但這計畫投入了將近所上一半的人力,加上對於JAVA與JSP十分陌生,我到十月才算是能夠勉強掌握該系統的運作,卻還不能說算是完全掌握,在今晚又發現了一個棘手的問題要解決。

好,能不能上手是一回事,更慘的是又演出「程式設計師兼任系統分析師」的鬧劇。原本以為頗有數位圖書館建置經驗的老師們,實際上幾乎是全部交給學生去處理。系統還沒摸熟,不僅有許多指定呈現的功能,還要我自己去設計!套句某人的感言:「我連他們想做什麼都不知道,叫我怎麼做得出來?」開會都是例行慣事:「你這功能怎麼還沒做出來?」「你的文件呢?下次要補交喔。」「沒時間?你要想想辦法啊。」而我的回答也很固定:「我盡量。」

我得不承認,上面描述的報告缺繳,也是對於老師們的一種無聲的報怨。儘管某友人YY直勸我這樣不行,我還是抱持著「作多少算多少」的心態去做,做不到的話,只好擺爛給老師看,我也很無奈。

抱怨歸抱怨,但是另一方面,寫程式還是十分有趣的。在能夠操縱Dspace的物件之後,整個寫程式的樂趣都來了,這個樂趣名為「物件導向的魅力」。以往碰觸的PHP都是用流程導向的方式撰寫,但這次的Dspace可是貨真價實的複雜系統,其物件導向架構也是十分明確。包括之前改寫XOOPS這物件導向系統的經驗,這些對我的程式概念有了相當大的影響,總有一天得要自己來挑戰看看才是。

之後又研究了幾個新的技術,像是之前Blog寫到的Zoomify,或是ThickBox這個JavaScript技術,都讓我興奮不已,寫起來樂趣十足。學習到新的技術,並且能夠立刻把它呈現、實作出來,這種過程就如馬兒追著紅蘿蔔般地,讓我沉溺在寫程式的趣味之中。

不知不覺中,非上課期間我就是過著寫程式、吃飯、睡覺的三拍子生活。外人給我好一點的評語就是「好辛苦喔」,差一點就是「跟廢人沒什麼兩樣」,我卻覺得能夠全心全力做著自己喜歡的事情,這是有人一輩子都追求不到的人生,那麼我何來辛苦?何來枯燥乏味之有?

那邊在可憐我的傢伙,給我開心起來啊!這個世界有這麼多有趣的事情,而我正在接觸、學習、擴大著自己的世界,這有什麼好難過的?只是最近頗有忘東忘西、不問世事、甚至是荒廢學業的傾向,那就有點過頭了。


聽說我這篇已經寫了一個半小時了

聽說現在是凌晨三點半

聽說我在今天中午還要開頂尖大學的會

聽說開會時要繳的文件我到現在一個字都還沒寫,但是程式又是問題重重

然後聽說如果積欠兩週的報告還不開始寫,那麼老師們的數位課程認證恐怕不保

人生真是充實,你說是吧?

(more...)

忘東忘西的日子

布丁布丁吃布丁

0 Comments

忘東忘西的日子

程式寫完,打開網頁,一片空白。

 

......

啊,對了,剛剛忘記設變數了,難怪會變成這樣。

 


 

「鈴鈴鈴~!」

手機的鬧鐘響了,還好,沒忘記洗衣機的衣服已經洗好了。

 

不過曬完衣服才發現,書桌旁還有兩件要洗的衣服。

 


 

累了......肚子餓了......

吃飯吃飯~

今天要吃麵好呢?吃自助餐好呢?吃鐵板飯好呢?

 

吃到一半,忽然想到

嗯,我忘記帶鑰匙就出門了。

 

 

沒關係,我也忘記鎖門了。

1118_185313

(more...)

1.5吋迷你數位相框

布丁布丁吃布丁

1.5吋迷你數位相框

AHAB0G-A13649410000
圖片取自於PChome購物

很早以前我就從Mobile01知道數位相框的存在了,顧名思義的,就是擺照片觀賞用。只是因為高單價與功能性不足,一直讓人難以覺得實用。之後推出了這款主打隨身數位相框的1.5吋,PChome購物開價690元,屬於眾多數位相框當中的低價位群,但是目前看來應該快要退出市場了(遠目)。

先說特色,PChome購物的廣告借我引用一下吧:

  • 最多可存放約80張相片:並不是記憶容量很大,而是圖片會被轉換成相當小的格式
  • 可瀏覽JPEG與BMP格式圖片:透過驅動程式來轉換,最終在數位相框上播放的格式是BMP。
  • USB介面充電,快速又方便:介面是用常見的miniUSB,線材便宜又通用。
    1117_203922
  • 可當鑰匙圈或是吊飾:其實這隻比我想像中的還要大了點,請看後面的介紹。

接著加上幾個缺點:

  • 圖片傳輸要透過驅動程式轉換:不能當做隨身碟般的自由存取。
  • 呈現圖片並不清楚:PChome的照片是加工過的廣告手法。

因此,要買的人建議三思!那麼接下來,我們就來看看這個玩意兒的實體吧!


實物照片

1117_144519 

盒子,都是英文耶!

1117_144655

全部配件有:1.5吋數位相框本體、miniUSB傳輸線、驅動程式光碟(8公分的小CD)、說明書中英各一張紙。

1117_144722 1117_145117

本體加上10元的體積比較,對於我這個不用吊飾的人來說稍微大了點,不過也不是我要用的就是。

1117_144731  1117_144824

背面,有RESET、UP、MENU(兼確定按鈕)、DOWN。

1117_144741 

從右方看。

1117_144750

從下方看。

1117_144812

從左方看,miniUSB接孔在這邊喔。

1117_144759

上方就是鑰匙圈囉。

1117_144906

長按MENU就可以開機,除了顯示圖片之外,右下角還有時間顯示喔。

1117_144922

切換圖片的時候還有特效!這是我最驚訝的一點!

1117_144929

按下MENU鍵之後跑出功能選單,用UP跟DOWN移動,用MENU做確定。功能都很普通,沒什麼好講的。

硬體介紹就到此為止,接下來是軟體篇!


軟體介紹

接上miniUSB之後,他很靈敏地跳出選單。可以選擇「USB Charge」一邊充電一邊播放,也可以選擇「USB Update」來傳輸照片。

1117_205925

選擇USB Update之後,電腦很快地就抓到這個裝置,並且當做一個隨身碟來顯示。

2007-11-17_210607

2007-11-17_210939 

(因為我電腦問題,所抓到的隨身碟都會叫做2GSD,別在意。)但是這個數位相框不能存東西,系統會把它當作未格式化的磁碟機看待。要傳輸圖片,得靠驅動程式才行!

驅動程式安裝

說是安裝,其實也只是複製貼上而已,似乎不用特別的安裝程序。

2007-11-17_211444

照著說明書的方法,把驅動程式安裝光碟裡面的Picture Conversion Tool資料夾複製到桌面上。

 2007-11-17_211529

打開PhotoViewer.exe。

 2007-11-17_211713

就可以看到驅動程式的本體!

左半邊是本機端操作,左下角是選擇圖片的簡單編修視窗,右半邊則是數位相框內部的照片,具備簡單的管理功能。

傳輸照片到數位相框

2007-11-17_212353

  1. 選擇圖片:可選擇JPEG格式與BMP格式,但是似乎有些情況會讀不出圖片。
  2. 選擇要顯示的範圍:有沒有注意到照片上有紅色的虛線框?因為數位相框只有正方形的顯示範圍,如果尺寸不正確的話就會無法顯示。
  3. 2007-11-17_213246 藍色箭頭POST確定傳輸。
  4. 出現在右邊的視窗。
  5. 按下2007-11-17_213218 同步按鈕Synchrnoize更新數位相框內部空間。

下載數位相框的照片到電腦

2007-11-17_213017

按下儲存鈕2007-11-17_213041 就可以儲存檔案。

2007-11-17_213135

儲存格式是BMP,一個檔案大約為64KB。如果可以存放80張圖片的話,意思是容量大約為5MB。其中一張圖片如下(上傳過程中有被Blogger轉檔過):

1

PhotoTransfer_V1.0.16.exe到底是......?

明眼人一定注意到剛剛驅動程式光碟裡面還有一個PhotoTransfer_V1.0.16.exe吧。實際上安裝之後跑出了一個程式,但是既抓不到數位相框,也沒辦法看圖片,UserManual顯示的功能全部看不到。儼然是個失敗品,應該可以不必理會。

接上mini-USB之後的數位相框在幹麻?

1117_213609

他播放著一張圖片,不能切換,也沒有時間顯示。拔掉mini-USB之後就恢復正常了。


好,介紹到此為止。對了,我剛剛有提到這不是我要用的嗎?其實這是給老師的生日禮物,只是送人之前要先搞懂怎麼玩才行,該來找幾張照片裝進去了。

(more...)

大型圖片瀏覽器Zoomify使用教學

布丁布丁吃布丁

大型圖片瀏覽器Zoomify使用教學

有沒有看到上面那個網頁的圖片瀏覽器啊?很棒的瀏覽界面喔!具備以下特色:

  • 放大、縮小功能,可按導覽列的+-或是拖曳▲調整縮放比例
  • 拖曳圖片即可移動觀賞,十分方便
  • 提供縮圖導覽
  • 無差段縮放,而且具備類似串流的功能,讀取速度快
  • 網頁直接播放,不需要另外安裝ActiveX

大型圖片瀏覽器!Zoomify!儘管是商業公司,卻也有提供免費的Zoomify EZ可使用,沒有版權限制、自由使用!這對我正在研究的數位典藏展示畫面可是增加了不少等級,既然都搞懂怎麼弄了,那就趁機會介紹一下吧!


製作Zoomify過程介紹

Zoomifyer EZ的資料可以在該頁面的Download Win!Download Mac!直接下載。我下載了Win版本解壓縮之後,可以看到有一些網頁跟文件。在Quick Start教學裡面三步驟就讓你可以製作出來了,這邊也用中文版的教學,讓你認識一下這到底有多簡單吧。

1. 製作出要播放的圖片

把你要轉換的圖片拖曳到2007-11-17_112834 Zoomifyer EZ v3.0.exe上,例如隨便一張叫做image.jpg的圖片,程式就會自動把圖片轉換好,並擺在image的資料夾內。

2007-11-17_115042

目前我所測試過可以轉換的圖片格式有:JPEGPNGGIFBMP、甚至是TIFF,可惜不能轉換PDF檔案。

這次教學使用的圖片來自於UT Library Online台灣地圖,備份圖片如下面:

image

2. 調整Flash參數

用網頁編輯器修改Template.htm,搜尋zoomifyImagePath=,在後面加上參數image/,便成為

zoomifyImagePath=image/

有兩個地方要修改喔,詳情請看下圖。

2007-11-17_113345

3. 打開Template.htm,看到成品

2007-11-17_115205

如何?是不是不是非常簡單呢?當然,這太簡單了,簡單到無法滿足系統自動化的需求啊!

關鍵在於「自動化轉檔」,要能夠透過命令列(command line)來批次執行,才能跟系統整合,而不是要用手動拖曳啟動程式來轉,而且要在Linux或是其他的伺服器也能執行才行啊。所以接下來,就來介紹一下另一種轉檔的程式:ZoomifyImage


ZoomifyImage執行環境與使用教學

詳細的作法我是參考justin.henryBatch converting for Zoomify with ZoomifyImage而來的,不過有點複雜,我用簡單一點的方式來說明好了。

要執行ZoomifyImage的環境有兩個要點:

1. Python

一種直譯式的的跨平台程式語言。Linux已經安裝了,Windows則是要另外安裝,可以到Python的網站去下載,我就不另外說明了。

2. PIL,Python imaging library

Python的圖形函式庫。在網站裡面可以看到Windows的exe安裝檔,安裝步驟省略。倒是Linux裡面安裝比較麻煩,要從Source Kit去安裝,多下幾個指令。

一步一步來看吧:

  1. 下載Python Imaging Library 1.1.6 Source Kit (all platforms) (440k TAR GZ) (December 3, 2006),並擺到伺服器裡面。檔名是Imaging-1.1.6.tar.gz,這會與下面解壓縮時的檔名有關,有點Linux基礎的話應該不會搞混吧。
  2. 進入Linux命令列,找到該檔案的位置,解壓縮、進入資料夾、安裝: $ tar -zxvf Imaging-1.1.6.tar.gz
    $ cd Imaging-1.1.6
    $ python setup.py install --home=/要安裝的目錄/
    重點在於要安裝的目錄,這會與下面修改Zoomify的參數有關,請務必注意到。

有時候會因為python的path沒有設好導致作業系統不知道python指令是什麼意思,那就得去找出python的位置(例如利用locate python指令),並改成完整的執行指令:

$ /python安裝目錄的完整路徑/python setup.py install --home=/要安裝的目錄/

修改ZoomifyImage參數

先下載ZoomifyImage,目前最新版本是ZoomifyImage1_31.tar.gz。擺到你要的位置,解壓縮(語法是tar -zxvf 檔名喔),進入檔案資料夾,看到一堆的程式。

先冷靜,不要慌!整個程式當中我們其實只需要ZoomifyBase.pyZoomifyFileProcessor.py而已。重點來了!現在要修改程式讓他好順利執行。

編輯ZoomifyFileProcessor.py,找到

import os, sys, shutil
import PIL.Image

在中間加入指令,讓它能順利找到PIL Library。於是變成:

import os, sys, shutil
sys.path.append("/要安裝的目錄/lib/python")
import PIL.Image

要注意的是要安裝的目錄得跟上面步驟相同才行喔!

執行ZoomifyImage

指令很簡單:

$ python ZoomifyFileProcessor.py 要執行的檔案

然後程式就會自動在要執行的檔案旁建立一個檔名_data的資料夾,把轉好的資料都擺在裡面。舉例來說,要執行的檔案為image.jpg,轉換完成之後就會出現image_data資料夾。

如果發生錯誤的話,則要注意是否跟python的path或ZoomifyFileProcessor.py的位置有關。

批次執行ZoomifyImage

製作命令列批次執行檔的方式很多,以PHP來說,簡單的語法是:

<?php
$image = "圖片的位置";
$exec = "python ZoomiftImage/ZoomifyFileProcessor.py ".$image;
@exec($exec, $exec_output, $exec_retval);
?>

你可以用迴圈的方式來批次執行,詳細請去研究PHP教學文件吧。

PHP檔案可以直接在Linux的命令列裡面執行,假如檔名是filter.php:

$php filter.php

當然,可能要注意一下這支PHP程式的權限,還有相對位置或絕對位置才行。

你可以在你的系統當中需要轉檔的時候使用這支程式,或是用系統排程執行,讓伺服器在特定時刻自動轉好檔案,這樣就大功告成了。


展示成果

都已經教到這邊了,你還不知道要怎麼顯示轉好的檔案嗎?

回頭看看製作Zoomify過程介紹吧。把轉好檔案的目錄位置擺到zoomifyImagePath參數裡面,這樣就行啦。


呼...終於寫完了...頭好暈...

Zoomify非常好用,可是國內使用的情形好像不多。之前看過交通大學的雲門舞集數位典藏使用了這個技術,還在首頁列為賣點之一。本來以為這是花錢才能買到的專利技術,居然是公開免費就可以拿到了,那當然是分享出來給大家用啦!

Zoomify還有很多參數可以設定,搭配JavaScript也可以做到自動伸縮視窗大小的動態效果,甚至可以動態改變zoomifyImagePath參數,以達到換頁的效果,應該是可以做到的。

入門就到此為止啦,接下來繼續努力!

(more...)

橫濱購物日記

布丁布丁吃布丁

0 Comments

橫濱購物日記

伸個懶腰,我還是解不了PDF轉JPEG的問題。

接下來不想寫程式了呢,找其他事情做吧。

 

「Wryyyyyyyy 下川みくに跟川田まみ要來台Live!!!」MSN傳來友人的訊息。

我想了一下,在鍵盤上敲下了一句帶有問號的肯定句:

 

「你在家啊?那我晚餐過去你那邊吃喔。」
 

在吃晚餐之前,還有幾件事情要作。

騎著摩托車,穿梭在下班車潮之間,我來到了光華。

兩個任務,一個是生日禮物的1.5吋數位相框,一個是友人託買的後掛式耳麥。

 

逛著逛著,我走下樓梯,進入光華的地下商場。

地下兩層,又是不同的世界。

沒有找到滿意的耳麥,卻發現到光華的另外一面。

 

回程時,去買了一開始詢價的數位相框。

逛了逛街,就降了50元,真是幸運。


吃完友人煮的麵,又吃了幾顆橘子。

躺在床上,看了幾本橫濱購物紀行。

看著友人拿著剛買的耳麥,在跟WOW裡面社團另一個朋友講話,越來越想睡覺了。

 

小憩一下吧。


KOKIA清爽的嗓音,讓騎車回程的氣氛變得很舒服。

9點多的木柵路,車子稀稀落落,我也用40km/hr的速度,跟大家一起回家。

 

有點餓,吃個大腸麵線吧。

太鹹了,買個珍珠奶茶吧。

 

唉呀,一定會變胖的吧,不過管它的呢~

1116_220547

(more...)

布丁的自我簡介

布丁布丁吃布丁

0 Comments

布丁的自我簡介

pudding 基本資料

學歷

經歷

研究領域

  • 數位圖書館與數位典藏 

還在加油中

著作

程式

最後更新日期:2007年11月14日
(more...)

Blog增加部分功能

布丁布丁吃布丁

0 Comments

Blog增加部分功能

之前從電腦玩物那邊看到了Relation Link的功能,覺得很有趣,找著找著找到了Abin's Tech Note,裡面有許多Blogger Hack,一時興起就試著把它了裝起來。

套用上並沒有什麼問題,主要是ABIN寫的有時候有點複雜,常常會裝錯而已。這次使用的功能列於下表,也推薦使用Blogger的玩家裝裝看:

(more...)