2009年4月27日 星期一
歲月靜好
歲月靜好典故,網路上隨手可得,倒是我還無聊的想知道胡蘭成和張愛玲後續發展,結果是結婚三年就以離婚收場(1944-1947),今後就別再祝福新人歲月靜好才是^_^ ,http://zh.wikipedia.org/wiki/胡兰成
台大男十三宿舍要拆掉??
想來唏噓,在台大讀書時在這住過一年,非常非常喜歡這,雖然說建築物年代久遠,但從這張照片就可以看出,http://news.pchome.com.tw/newsdata/society/libertytimes/20090320/12375002246360125002.jpg,,這裡有挑高,又涼爽,超大空間分配四個人住,我室友始終只有二人,一人忘記名子讀食品營養常常留實驗室或陪女朋友較少出現,另一人也忘記名子,但記得綽號是怪龜,花蓮人,讀國企.
男十三舍還有個好處,出門就是醉月湖,單車上下課都是經過湖畔,尤其晚上回宿舍看湖濱樹影,球場照明燈反射,很愉快.
畢業至今過十年,雖然大半工作時間都在北市,也沒什麼機會到台大晃晃,更別說男十三舍了,只有幾次開車經辛亥路口看到男十三舍影子,但它附近同型宿舍一棟接一棟消失,換成現代化大樓,本來就狹小的男十三舍顯得不合時宜起來.
2009年4月23日 星期四
[技術]JAVA筆記
WORD2PDF
測試版的jofficeconvert會有廠商浮水印,改採用aspose-words,19.3版本(連結)。javac -classpath C:\tool\medical-portal\apache-tomcat-6.0.0\apache-tomcat-6.0.0\lib\servlet-api.jar;commons-fileupload-1.2.jar;commons-io-2.2.jar;aspose-words-19.3-jdk17.jar FileUploadServlet.java。轉換過程有些許版面"跑位"情形,浮水印並不是每頁都有。
修改JAR方式
- JByteMod瀏覽和修改JAR內容(有分析過jofficeconvert),但只要擾亂程度太高就無用。
- ECLIPSE下以MOCK方式(透過JAVAASSIST)覆蓋兩個函式,執行後產生新class,更新JAR中對應class刪除簽名檔以及準備license.xml,依照範例即可掠過license。(另19.1版本連結錯誤,缺少MOCK程序)。
2009年4月20日 星期一
村上春樹與海賊王
為什麼提到這個呢?當然是因為我覺得我也想完成些什麼,自然也有迷惘時,第二個人的想法很積極,很適合年青人.裡面有一段話,很有見地.拍案叫絕.
你的問題,我也經常在演講的時候聽到觀眾提起.很多高中生會問我,如果我想要追逐的夢想不能夠賺錢怎麼辦?我想要當漫畫家,父母卻告訴我這個領域賺不了錢,將來不能夠養活自己,我該怎麼辦?我的答案一樣很簡單.誰不想要一邊追逐夢想,一邊又可以賺到錢,過著人人稱羨的穩定生活?但是,如果你的目標只是這樣而已,那你追求的並不是夢想.你追求的是一個幸運的人生.每個人都有夢想,但是幸運的人卻很少.每個人都有理想,但是能夠讓現實跟理想一樣的人卻很少.
只是年歲漸長,我較欣賞第一個人說法,這樣比較自然更純粹也更有樂趣.以最近看到兩個網站為例,休息一夏 http://qk.gokimo.com/ 真是個好網站.技術純熟內容豐富很有想法,硬要說缺點或許太工程師導向,像生硬旅遊手冊.這麼好網站,在台灣排名居然八千名之後.還有一個walkscore也很有趣 http://www.walkscore.com/ ,但流量同樣低.我相信這些負責人是想要做出什麼也很努力,只可惜不成功.
2009年4月19日 星期日
香山海邊健行
從台中回新竹途中,天氣佳,JEAN提議到海邊,高美溼地或香山都不錯,不過時間上香山比較適合.
香山範圍很大,這次來到海天一線南邊的南港區,上次在這放風箏十分成功,手一鬆風箏筆直飛天,完全沒有挑戰性可言,這次沒提風箏,一家三口往海邊前進,或許因為退潮,已經前進很遠很遠了,還看不見大海蹤影.我們邊走邊抓螃蟹,亂看,走了將盡兩公里也只能看到大海邊緣,西部海岸就是這麼空曠,小時候不能體會這種空曠感,最近每次到海邊空曠感越來越強烈,或許是新竹建築比台北少,或許是年紀.
水裡長出一些不知名管子,大約小指長度,吸管粗細,好像沒有根,很詭異.JEAN還抓了十幾個寄居蟹(兩個帶回幼稚園炫耀,被我養死),小螃蟹.最後回家前還沒漲潮,天色漸暗,一些大螃蟹爬出洞穴,JEAN抓到二隻,幾乎有TING手心大,大家驚呼不已.我就幻想著整片海岸都是這種大螃蟹群起攻擊我們怎麼辦呢?
對了,今天人煙稀少,我還大叫了一陣子.
麵包(饅頭)DIY
趁經過市區,到培英國中附近烘培專賣店買奶油,高筋麵粉,乾酵母粉,晚上接近九點開始進行,媽媽以為我們有萬全準備也被騙來一起行動.首先遇到問題就是材料份量無法掌握,麵粉300克,究竟是多少呢?水1/2杯,是多少呢?一切只好因陋就簡,且戰且走.左手拿著100cc的水,右手如果差不多重量就是100克,最後水量也是憑感覺.也因此心中始終有揮不去陰影.TING揉搓麵粉倒是很帶勁,連拍打都用上,麵粉在TING,爸爸,媽媽三個人輪番上陣虐待後,居然也神奇的像是團狀.
這時大家也累了,還好也到了將麵糰靜置發酵階段,爸爸媽媽紛紛休息,TING則看起故事書,可憐麵糰只能獨自膨脹啦.四十分鐘後,麵糰果然膨脹兩倍大,我們也依照書本指示繼續進行.媽媽和TING負責型塑,陸續完成了老鼠,羊頭,熊頭,蝸牛,兔子,棒子,葡萄,魚,烏龜,圓球,爸爸負責用家裡陽春無法設定溫度,空間狹小,每次只能烤三個的烤麵包機烘烤.
第一次成品吃起來感覺很像饅頭,賣相也不佳,之後雖然有嘗試塗抹蛋黃,以及用雙層錫箔避免焦黑,看起來美味,吃起來還是很像饅頭.只能說比上次經驗好多啦.
[技術]GWT
GWT是GOOGLE AJAX套件,一般提到AJAX普遍缺點就是呈現速度慢,優點則是畫面生動.我使用GWT原因很簡單:1比照SWING用JAVA開發,人家說老狗學不了新把戲,真是說對了,只要不再和無聊JSP,SPRING WORK奮戰,我都願意.2GWT會持續更新.3GWT和地圖整合很方便.
地圖功能 原先學習CALMAP採用一個地圖套件,不過這個套件不更新就改用google元件(現在覺得版本更新真是很重要)
- 元件位置http://code.google.com/docreader/#p=gwt-google-apis&s=gwt-google-apis&t=Maps
- 下載位置http://code.google.com/p/gwt-google-apis/的download
- 09年四月,有幾天maps出不來,升級成gwt-maps-1.0.3.zip繼續使用
- 未來考慮使用OPENLAYERS http://geoserver.org/display/GEOSDOC/Google+Web+Toolkit+(GWT),+OpenLayers+and+GeoServer
- 可參考PROJECT calmaps,結構上CalMap啟動所有的SERVICE,啟動CMF物件,而CMF安排畫面各個元件,以及基本的print,email等功能,之後就是各個元件彼此聯繫rpgmap,簡單好參考
- 可參考PROJECT onebusaway,牽涉較多資料庫運作,但元件使用很熟練
資料庫功能 以前嘗試SPRING聯結DAO,最近看到個專案rpgmap很容易了解.目前沒有使用資料庫.
autocomplete功能 資料太多後,就參考http://development.lombardi.com/?cat=7&paged=2 http://development.lombardi.com/?p=39 改從後端TRIE結構拿資料
DRAG功能 曾參考http://code.google.com/p/gwt-dnd/使用一陣子(gwt-dnd-2.5.6.jar,搭配gwt1.5.3),目前拿掉,為了WISHLIST可能會加回來.
一些範例
- http://examples.roughian.com/index.htm
- http://code.google.com/p/gwt-gooroo/ 看不太出來在做什麼
- 資訊來源 http://www.gwtsite.com/ 應該是最佳資訊來源,可惜2008年底後不更新
筆記
projectCreator -eclipse MyProject
applicationCreator -eclipse MyProject com.mycompany.client.MyApplication
File -> Import menu. Choose "Existing Projects into Workspace"
產生出來的是Application
com.google.gwt.dev.GWTShell
-out www com.mycompany.MyApplication/MyApplication.html
-Xmx256M
這個找不到com.google.gwt.dev.GWTShell
class path 要加入gwt-dev-windows.jar 這個應該是在GWT下面
並沒有放入RUN的環境中,可是為了不要佔用太多SVN空間,直接連結單機位置
com.google.gwt.dev.GWTShell
-out www tw.idv.kayjean.waggle.gwt.Maps/Maps.html -whitelist ^http[:][/][/]maps[.]google[.]com 後面這幾個的原因忘記了
-Xmx256M -Xmx800m
另外classpath要加入advanced -> folder -> src [重要] 要記得加入
2009年4月17日 星期五
生養小孩
靜下心,TING體弱多病,並不是致命嚴重疾病,如今醫學這麼進步,健保普及,能夠有醫治管道誠屬不易,慶幸都來不及,怎麼還不滿足呢?
小孩自然需要大人陪伴,到我年老回想,這段時間是唯一她還願意我陪伴時期,要再求也不可得,何況和她玩也有許多樂趣,怎麼還不滿足呢?何況,在爺爺奶奶家長大的經驗不也讓我困擾父母是否真正愛護我?我希望TING也複製如此經驗嗎?如果我希望事情有轉變,就得付出.自己不理性思量前因後果,不能排定生活重心和確定未來狀況和安排時間,一昧要求.也不能解決問題啊.
和體弱多病,和有無兄弟姊妹無關.
2009年4月9日 星期四
[技術]Chinese Segmentation
英語系可直接使用opennlp(http://opennlp.sourceforge.net/projects.html)或MIT WordNet,中文部份因為文字連結特性,比較封閉,但長期經驗是大陸比台灣進步且開放.列出一些專案.
- Stanford NLP Chinese Parser,JAVA,Open Source,能分析詞性,但RAM需求驚人,字典資料是簡體且舊阻礙使用.
- 中研院ckip系統,C,要錢所以找不到,應該能分析詞性,RAM不清楚,繁體.
- 竹子系統 http://code.google.com/p/nlpbamboo/ ,C,Open Source,能分析詞性,RAM不清楚,簡體,因為使用C語言關係不想使
用. - http://blog.jianingy.com/index.php?q=content/bamboo
- 大陸國家科學院,C 不過有各種語言接口,算Open吧,能分析詞性,RAM不清楚,簡體,因為使用C語言關係不想使用.
退而求其次,使用簡單長詞優先法則,這就有很多
- HIWALL:裡面包括人名辨識和提取,目前是以這個為主
- PAODING:結構清楚
未來如果要抽取出規則或是意義,不太能指望現有軟體,其實語言的演化很難精確掌握,例如究竟是斷詞還是斷辭呢,都有人用,大家也越來越不在乎,新的語法不斷出現,特定規則只能當作參考,況且我需要功能也不用太精確,只要加入部分規則即可,例如
- 規則引擎SRL http://code.google.com/p/srl-editor/
- colibri http://code.google.com/p/colibri-java/,是種很大的架構,目前還不太清楚用法
另一個主題是ENTRY辨識,這個太專業啦
- STANFORD NLP有個專案 有CODE
- http://code.google.com/p/thebeast/ 有CODE
- http://code.google.com/p/whatswrong/ 有CODE
- http://yooname.wordpress.com/ 沒有CODE
SRL,筆記.
- 文件 文件分成文句,文句經過LUCENE的分詞方式存入LUCENE系統
- 規則及文字 Word lists,利如月份包括了一月 二月 三月 四月 等等,季節包括了春 夏 秋 冬 目前是寫在檔案中,會讀入記憶體 現有設計是放入LUCENE中 Rules 有一條是[季節][月份],看看是不是符合 getMatch(SrlDocument,boolean) 其實這和以往程式很類似,只是規則部分變成固定的TEMPLATE. 很像MIT open mind程式
- 整個組合由PROJECT合併進行,文句透過PROCESS向RULES重複詢問是否符合
- 用肉眼觀察範例,就可辨識出常見規則 (來去)(相約)去[地方][做什麼] ex 去[十八尖山][玩] 去[十八尖山][登山] 去[十八尖山][外拍] 到[地方][做什麼] [地方][做什麼](記) [地方](之)[設施或活動] ex [十八尖山][步道] [十八尖山][賞花月] [十八尖山][花季] [地方]素有[其他名稱]之稱 ex [十八尖山]素有[新竹陽明山]之稱 (介紹)[地方]的[特性] ex [十八尖山]的[自然生態]
碰上[地方]有[活動]活動 ex 碰上[十八尖山]有[賞花月]活動 [活動]活動在[地方] ex [看海月]活動首場在[南十八尖山] 好久沒到十八尖山了 十八尖山賞花去 美麗的十八尖山 十八尖山 這裡真的很漂亮 香蕉灣裡的童話故事 我愛香蕉灣 決定至水社碼頭附近用餐可是分析出規則之後呢?例如知道十八尖山可以[登山][健行]..,裡面有[步道][賞花月]...不過這些是我們想知道的嗎?要先想一想
2009年4月8日 星期三
也無風雨也無晴..工作碎碎念
繼上次年年有今日後不到一個月,工作就有了調整.首先是我們部門被規劃移出目前事業群改直屬總經理.我上司很震驚,或許覺得不受尊重被擺道,或許不想幫新主管抬轎,總之他不接受這個調整案,頻找大家開會想改變情勢(那週是我進公司後開會最頻繁一週).我自己看不出組織調整對現況會有什麼改變,不過目前已經是第二糟糕狀況了(第一糟糕狀況是裁掉整個部門),有調整似乎好一些啦.倒是能藉這次機會反覆對上司陳述憂心產品無法銷售困境,心情較獲得宣洩.最後在愚人節這天,組織調整生效,上司終究還是接受了調整案,細算有什麼改變嗎?目前看來什麼都沒變.
另一件事是公司開始裁員啦,雖然幅度很小很小,但一些資深同事說成立十幾年從來沒這等大事啊,大家惶惶不知所以紛紛用MSN傳遞各單位傷亡人數,就差沒有一個統計表顯示即時資訊以安撫人心.公司也很有趣,除棒子外,還拿出胡蘿蔔,裁員當天也撥出去年績效獎金以示賞罰分明,只可惜這個獎金幅度也是很小很小.幾天過去,似乎也沒見人再提起了.
嗯,如果不管未來只用養家活口標準來看現狀,可算優渥.只是不免疑惑,怎麼自己老進到類似公司,落入類似情境呢?
阿公
紀錄些事項,有機會補充內文 生於民國三年江蘇省吳縣,未滿四個月父親(顧立堂)便過世,成為獨子,連同姐姐一人,由母親(葉氏)辛苦撫養長大。
及長到上海當腳踏車店學徒。以往我總疑惑著,江蘇魚米之鄉,為什麼會到上海當學徒呢?長大後有機會回到阿公出生地才有了概念,老家現在行政區是江蘇省蘇州市吳中區碧螺村新紫金庵附近,雖然在太湖旁,但實際上卻是丘陵地形,以種植楊梅和茶葉為主,很辛苦。
三槍牌腳踏車是當時很名貴物品.同時間開始有摩托車,順應時勢進入摩托車店舖(同昌車行),販賣德國重型機車.接近民國二十年,國民黨南京部隊成立機械化學校,增添24台摩托車,爺爺以隨車修護學徒身分進入當時南京部隊服務,同行的還有師父及同僚(沈權生??黔寶湘寶父親),服務期滿後,考量部隊月薪五十元(當時摩托車維修每月二十元)較高留在國民黨部隊,並入黨.工作以大卡車,裝甲車等後勤事項為主. 之後回江蘇老家,和附近村莊施宛如成婚,繼續回南京部隊,中日戰爭加劇,部隊撤離,阿公是留守人員,直至南京淪陷時,穿便服偷偷渡江到湖南,再回江蘇(淪陷區)接阿婆一起前往湖南和部隊會合.民30年,部隊駐守湖南洪江,生大伯父洪生,33年生洪馨,之後中日戰爭接近尾聲,隨部隊撤退四川,抗戰結束後,經寶雞生寶珍,回鄉,算結束軍人身分. 一年後抵江蘇,老爸那時還小,還曾讀過私塾,民38年過年阿公,阿婆,老爸和大姑媽到上海,碰到部隊同袍,大家說共產黨要來了,快快隨他們走吧,或許以為戰事很快就會結束,或許是想留個小孩與母親有個照應,他們沒再回東山,就這麼上了船,抵達基隆.此後與大伯父兩地分離五十年. 既然到台灣,也就成了軍人,先到台中干城附近,大姑媽生重病,賣了好些金子換盤尼西林治好,接著隨部隊各處遷移,民39年到斗六,有台生(已隨國民黨轉進台灣,可能以為很快會回大陸吧,只用[台]這個字),到永康,有永生,民43年到潭子,有台珍,民43到49住潭子.老爸也十多歲,初高中就在台中復興路上裝甲兵子弟學校宜寧就學,同時家中開始養雞.這時阿公一個人在湖口,直到調往台中干城,以裝一師少校聯絡官(??)退伍.退伍時考慮一大家子人沒辦法用月薪過生活,領足退修金繼續養雞,養鵪鶉.之後搬到台中北屯三光巷,後來賣一些地改買二分埔(北平路和柳川邊)地由小叔叔繼續養雞,重劃後又由小叔叔移往新社月眉. 總括起來,雖處動盪時代且從軍,但因為從事後勤,不太面對第一線戰爭,相反的當時流傳[馬達一響,黃金萬兩],頗能藉著後勤運輸之便取些小國難財,抗戰勝利後立刻回鄉,也沒經過慘烈的國共內戰,金門砲戰.不過即使如此,大江南北總是跑遍的,從小孩子名子就可看出足跡,那時候的人似乎也都是哪邊生就用那個名子. 我出生時阿公已經六十歲,在三光巷養雞,除養雞外,曾因賣出養雞土地賺了些錢,大半卻虛擲於苗栗煤礦挖掘計畫.兩岸開通後,立刻回江蘇老家省親,也到中國各地旅遊,幾年後阿婆去世,遂長期住在大陸老家至今. 至於老爸,宜寧畢業後,曾經面臨是否讀軍校或是大學抉擇,選擇文化食品營養後,過了一段窮學生生活,畢業後到嘉義服兵役,回宜寧教了四年書,民61-63兩年間到嘉義國中教書,住楊家,63年後改到啟聰直到退休。
爺爺最後葬在江蘇老家或是新社?似乎是骨灰分開?不確定。對從小如此照顧我,到了人生後期,自己很少出現也少祭拜,不解。阿婆也是。
伲亞達系列
他在學校時,功課不太會,考試不太行,是有幾個好朋友,不過普遍印象都是不太愛讀書的一夥人,各自有各自困擾,大家共同討厭對象是班上小流氓,可是又想不出對抗他.故事透過伲亞達的日記慢慢展開,加入的人越來越多,家庭這邊,外公外婆,爺爺奶奶,姑姑,鄰居,還包括了路上流浪漢,學校這邊,老師,校長,同學爸爸也來參一腳.內容包羅萬象,具體而微反映比較弱勢一群人的生活縮影.
第四本故事是黑白切,沒有連貫內容,比較像是腦筋急轉彎或是小故事大道理.
因為故事簡單風趣又有插圖,連顧婷都能看半天,可謂老少咸宜,故事採用日記形式也很容易讓人聯想到張大春[大頭春日記],不過伲亞達讀來灰暗許多,一定要歸類,或許更接近娃娃看世界調調.或後來作品[猴子]前身.簡單來說就是用比較輕盈和冷靜和無能為力角度來看這勞苦愁煩世間事吧.
2009年4月7日 星期二
[技術]newsterp
當文章碎裂到句子程度後,使用wordnet和opennlp,取出需要兩種資料,一種是關係組合,一種是使用動詞/名詞使用排行.例如原始句子是 Flextronics buys Solectron for $ 3.6 billion in cash and stock buys Solectron for $ 3.6 billion in cash and stock Jun 4 , 2007 at 8:56 AM PDT Jun 4 , 2007 at 8:56 AM PDT MILPITAS , Calif 會切分出 (Flextronics,buys,Calif)
這些資料能作什麼呢?如果套用HADOOP,找出規則,可以完成textrunner或是www.textmap.com
程式註記
- 文章來源是NewsRepoReaderPOOL
- 文章是TaggedArticle,文章裡面各個段落是TaggedSentence,方法是使用語言處理軟體的sentDetect會取出需要段落,之後使用ChunkerAdaptor ca = new ChunkerAdaptor(tkm.getChunker());ca.chunkify(this);把CHUNK的資料加進去
- Sentence的元件是TaggedWord[] mSentence 文字本身 POS標記 LinkedList
動詞片語,名詞片語之類結構,加入時標記文章段落的開始位置,結束位置,以及TYPE,範圍比TaggedWord大,是由addchunk進入,而這個又是由ChunkerAdaptor的chunkify加入 - 一篇一篇文件讀入articleList
- 選擇兩個其中之一Phase1RelationExtractor() Phase2RelationExtractor()
- re.extract單位是SENTENCE規則1非常簡單,會取出所有的CHUNKS( 不是WORDS )這裡面用寫死的NP VP等等規則,建構出RELATION.規則2複雜很多,主要是想要擷取重要詞彙簡單處理
- rel.annotate(new SentenceNoAnnotation(s_i));rel.annotate(new HumanReadableSentenceAnnotation(s.humanReadableSentence()));
- 執行後的relation存入RelationSet結構體,一篇文章一個RelationSet,各個句子拆分出來的內容是Relation,元件包括Entity(所謂Entity就是一堆字) mSubject;Entity[] mObjects;LinkedList
mAnnotations; 給人看的Predicate mPredicate; 描述敘述??
後續想法,適合已經有完整語言辨識工具系統