2013年12月4日 星期三

Notes

Multilingual Issues Part 1: Word Segmentation


Indexing Chinese in Solr http://java.dzone.com/articles/indexing-chinese-solr

基於Lucene的企業搜尋引擎 http://www.open-open.com/doc/view/19cde45ffaa04ac687cb739d19fa59c4

Solr/Lucene開發經驗 http://www.open-open.com/doc/view/e83ae23d5347455c97c6f22701cdfffa

百度中文分詞技術淺析 http://www.open-open.com/doc/view/5cbb96e301a7407a9ff4fe6b670b1a3d

Lucene 全文搜尋引擎的應用 http://www.open-open.com/doc/view/9d653f49c95149c49961c201436359e4


The Pitfalls and Complexities of Chinese to Chinese Conversion(漢字簡繁轉換的複雜性和陷阱) http://www.kanji.org/cjk/c2c/c2cbasis.htm

CC-CEDICT http://cc-cedict.org/wiki/start

CharFilter - normalize characters before tokenizer https://issues.apache.org/jira/browse/SOLR-822

CKIP繁體中文斷詞 http://ckipsvr.iis.sinica.edu.tw/

MMSEG介绍及基于分类的中文分词算法遐想

A Finite-State Automata Based IME Model Design for Intelligent Mobile http://www.cipsc.org.cn/jsip/detail_content.php?&xuhao=2379

中国中文信息学会 http://www.cipsc.org.cn/

吳毓傑 (NTCIR-2011  RITE  No.1   2011國際繁體字蘊含大賽第名; SIGHAN-2010  Chinese word segmentation bake-off  No.1   2010國際繁體中文斷詞大賽第一名 ) http://140.115.112.118/

Ansj中文分詞 https://github.com/ansjsun/ansj_seg
ictclas的java实现.基本上重写了所有的数据结构和算法.词典是用的开源版的ictclas所提供的.并且进行了部分的人工优化内存中中文分词每秒钟大约100万字(速度上已经超越ictclas) 文件读取分词每秒钟大约30万字准确率能达到96%以上. 目前实现了.中文分词. 中文姓名识别 . 用户自定义词典. 可以应用到自然语言处理等方面,适用于对分词效果要求搞的各种项目.

http://stackoverflow.com/questions/4431135/searching-for-numbers-product-codes-in-solr

http://svn.apache.org/repos/asf/lucene/dev/branches/lucene_solr_3_6/solr/core/src/test-files/solr/conf/solrconfig-phrasesuggest.xml

How to execute an SSIS package from .NET ?
http://stackoverflow.com/questions/273751/how-to-execute-an-ssis-package-from-net

Running SSIS package programmatically
http://blogs.msdn.com/b/michen/archive/2007/03/22/running-ssis-package-programmatically.aspx

how to write VC# codes to create and automate a Microsoft Excel instance
http://code.msdn.microsoft.com/office/CSAutomateExcel-7f89a439
http://blogs.msdn.com/b/eric_carter/archive/2009/03/12/attaching-to-an-already-running-office-application-from-your-application-using-getactiveobject-or-bindtomoniker.aspx
How to call Excel macro programmatically in C#
http://social.msdn.microsoft.com/Forums/en-US/exceldev/thread/2e33b8e5-c9fd-42a1-8d67-3d61d2cedc1c

Import Data From Excel using SSIS - Part 1
http://www.mssqltips.com/sqlservertip/2770/importing-data-from-excel-using-ssis--part-1/


pavlova 鮮奶油蛋白霜甜點

http://blog.roodo.com/spoon/archives/998316.html

淺談-"-巧克力原料與調溫-"
http://damontainan.pixnet.net/blog/post/26050103-%E6%B7%BA%E8%AB%87-%22-%E5%B7%A7%E5%85%8B%E5%8A%9B%E5%8E%9F%E6%96%99%E8%88%87%E8%AA%BF%E6%BA%AB-%22

Play music in Air
4 AirPlay Receivers That Are Cheaper Than Apple TV
http://www.makeuseof.com/tag/4-airplay-receivers-that-are-cheaper-than-apple-tv/

How to build your own AirPlay audio system
http://www.macworld.com/article/1160417/how_to_build_your_own_airplay_audio_system.html


2013年7月23日 星期二

可可可麗露

歷經多次的實驗, 這次有85分的fu了. 

麵糊冷藏72hr後開始烤, 還有持續進步的空間.

配方-參考周老師可麗露, 不加香草, 改加兩小匙可可粉
模型-5x3可麗露矽膠模
麵糊做法-同周老師, 不同之處是可可粉和低筋麵粉混合後一起過篩
烤法-
1.連同烤盤預熱上下火230度
2.第二排的中間5個噴上烤盤油, 麵糊只加入第二排的中間5個和後排兩個. 建議只放中間五個, 除非你是旋風式烤箱可用熱風讓每個模型都受熱均勻. 份量是8分滿, 不建議放太多, 太大的成品受熱會不均勻.
3.預熱ok後, 取出烤盤放上模型, 入烤箱
4. 第一階段230度20分鐘
5. 第二階段200度60分鐘, 於30分蓋上鋁箔防止上部過焦
6. 第三階段模型倒扣, 放在烤架上, 關下火, 上火維持不變, 入烤箱蓋上鋁箔續烤30分鐘
7. 移開鋁箔, 續烤10分鐘, 出爐
8. 吹涼後, 馬上喀一顆慰勞自己一下 :)

[後續研究]
1. 關於烘烤法:想要繼續實驗的煮友, 可以將第一階段改為15分鐘. 底部的顏色應該會淡一些, 整體色擇可以更均勻.
2. 關於配方:可可和焦糖會互相搶戲, 除非你愛吃巧克力, 喜歡可可的香味. 不然原味(香草口味)就很好粗了.

[重點提示]
1.模型是5x3矽膠模
2.要噴烤盤油在模型內, 模型垂直面要確實上油
3.份量不要超過8分滿, 受熱會比較均勻


2013年5月7日 星期二

讓我有勇氣放手

當你興沖沖的想玩手划船,我擔心你的安全和能力不足。我這次把原本想說的"這很難耶,你想玩嗎?"硬生生給吞回肚子,取而代之的叮嚀則是"你注意看其他哥哥怎麼玩"。希望你能自己學會,當你專注看著哥哥們,我感覺你已經準備好了。上了船,你自己逐漸摸索出玩樂的方法,能夠前進、旋轉,甚至會做到其他小朋友步會的反轉後退,也樂在其中。爸爸知道你又長大了,這次換我學習放手讓你自由的探索,不再限制不再禁錮不再亦步亦趨地隨侍在側,你一定可以比我飛的更高更遠。

孩子謝謝你,讓我有勇氣放手


2013年2月4日 星期一

電子化政府計畫領航

期待更多的企業架構師能投入到公部門領域 & 政府培訓的"首席架構師"能發揮所長.

節錄一段文章"深化資訊改造方面,....其中最主要的改造工作之一,就是如何系統性的培養政府資訊人員具有業務整合與宏觀規劃的能力,以及大規模資訊系統集中整併與管理的技術能力。"

全文出處 : 第四階段電子化政府計畫領航

2013年1月22日 星期二

搞笑談軟工: 台灣工程師,好棒

搞笑談軟工: 台灣工程師,好棒: Jan. 21 21:21~22:47 成立泰迪軟體之後,Teddy認識了不少朋友。後來才慢慢發現,原來在台灣(主要在台北)有那麼多各式各樣的活動,舉凡軟體開發、創業、介面設計、人生哲理…真可說是應有盡有。更難能可貴的是,很多工程師利用下班或是假日的時間,藉由參加這些活動...

2013年1月21日 星期一

[ Notes ] Making Architecture Matter

   Before doing enterprise architecture, PLS have well-defined business process and its specific owner. Their role will be similar to Product Owner( a term in Scrum ). He have to develop the process and ensure it up-to-date.

   Making Architecture need to be lived in daily operation process and easy reference to. Stakeholders and IT stuffs are in the same page and system(or tool).
   Some KPIs is used for evaluation an architecture success :
1. the reduce number of database platform
2. increase the operation capacity  to more servers & databases by the same of stuffs
3. the steady growing number of servers and databases w/o hire more people
4. the above situation also applied to network infrastructure / web servers / applications / softwares
5. increase the stability of infrastructure and applications

Refer to the article : Making Architecture Matter

2013年1月20日 星期日

網路ATM找不到讀卡機

        前一陣子突然每一家銀行的網路ATM都讀不到晶片卡, 本來還以為是公司的保密政策(不准外接儲存設備之類的)發揮功效了. 經MIS解釋後, 該政策只鎖定"大量儲存裝置", Card reader不在此限. 好在有另一台古老的TX17先撐著用.
     
        好景不常, 這陣子接了需要用到Smart Card的專案, 這下子硬著頭皮也得要解決問題. 找了許久終於找到這個FAQ(http://helpdesk.changingtec.com/helpdesk/?m=faq&a=display&gid=29#faq518) , 順利解決問題.

2013年1月17日 星期四

外銷品沖退稅之自動輸入-Part 1

    在政府德政之下, 公司有了多申請一些外銷品沖退稅的機會, 掐指一算, 天那~一年下來可以省下許多稅費. 大家也有performance啦. 馬上就出現一個問題, 這個工作要找誰做 ? 想當然爾, 敝公司的中心思想就是IT啦. 一切唯有(一定要)資訊系統(或工具)能夠解決問題. 所以聲明在先, 我不是駭客, 只是用工具代替人工輸入資料.

    為了節省人工輸入大量的外銷品沖退稅的相關資料(包括了用料清表製作 & 沖退稅申請), 直接採用HP QuickTest Professional(QTP)當作平台來進行實作. QTP是一個成熟的商業軟體, 相對於RobotFramework使用上較為簡單. 當然價格也不便宜, 幸運地是....(消音中). 如果諸位大德想省錢, 可使用RobotFramework.

    技術細節容後再述, 重要的還是business. 究竟自動輸入這檔事, 能不能用在外銷品沖退稅電子化作業(以下簡稱電子化業)呢 ? 經過數輪的POC(Proof of Concept), 確實可行. 這當中也幸運地得到海關官員的"協助", 將未來可能發生的狀況先行"教育". 過程中, 該位官員的積極和指導, 讓我相信政府基層人員還是有好人.

     好了, 到底我學到了什麼呢 ?
1. 工業局核發的原料核退標準的文號格式是xxxxxxxxxx-xx-xx但是電子化作業的"工業局標準文號"不能有dash(-). 只能是xxxxxxxxxxxxxx(總共14碼)
2. 工業局核退標準之貨品規格有兩類
     2.1 詳列規格 : "原料項次新增""規格"欄是下拉清單只要選對即可.
     2.2 各種規格,於用料清表報明 : "原料項次新增""規格"欄是text. 所載入的文字必須與欲退稅的進口報單項次之規格相符, 否則會錯單. 也就是無法報關喔.
3. 101/9/17()的進口報單項次, 若無載明"規格", 無法適用電子化作業. 可請報關行向進口地海關申請變更
4. 進口報單項次的納稅辦法需為32, 非32者, 可以付規費$100, 申請變更
5. 若該次申請出口沖退稅之任一進口報單是101/9/17以前(非電子化作業), 只能以紙本申請為之, 不適用"外銷品沖退原料稅電子化作業".

2013年1月10日 星期四

[Notes] C.C. Agile Sprint 5 - 就讓功能測試自動吧:RobotFramework

Introduction to RobotFramework

According to blogs, RobotFramework's operation is similar to QTP

Selenium Library - only capable to Html based web. It can't adapt Flash, Applet.

Suite Setup / Suite Teardown : suite setup can be used to invoke diff. browsers

Force Tags : Tony經驗上是用來分類哪些是重要的test suite, ex : 當測試時間不夠時, 可以用於指定必跑的test case/suite.

Can integrate other tools to perform Hopper Test etc.

Tips:
1. after "Start Selenium Server", sleep 2s. "2s" is the best practice by Tony but it's no seems in formal docs.
2. not use "Sleep" more, try to use "Wait Until ..."
3. Practice
    1. Single host and multi-system per day : by DRBL + RobotFramework
         Pro : clean env.
         Con : spend time to build images and hard to maintain(upgrade)
    2. Distributed mutlti-system : by Jenkins + RobotFramework
         Pro : Simply deployment
         Con : need lots of hosts
    3. 可攜帶自動測試包 : by Ant + RobotFramework
4. RobotFramework is framework not tool
5. Primary libraries
    1. Builtin Library
    2. Operation System Library
    3. String Library
    4. Collection Library : Array operation
    5. Database Library : DB CRUD but simple
6. For APP Library
    1. HTML-Based App : Selenium Library
    2. Desktop App : AutoITLibrary, (Sikuli), (AWTRobot)
    3. Java App(Applet) : SwingLibrary
    4. Flash App : FlexLibrary
    5. Eclipse Plugin : EclipseLibrary
    6. Interactive Console App : SSHLibrary, TelnetLibrary, (Expect4j)
7. You would experience display resolution issue when adapt Sikuli. PLS use to fix all env.'s resoultion in 1024*768.
8. Environment
    8.1 Runtime : JRE + RobotFramework. Not use Python in Win env. due to version compatible issue.
    8.2 Development : Python + RIDE in Ubuntu

Expert Blog : Tony's NoteBook

Q : diff. from QTP ? QTP is "Record and Play(orRun)" and RobotFramework is ATDD approach with keyword driven.
Q : use to massive manual input ? It is capable.
Q : able to read hardware info/data ex : SmartCard / USB devices ? require other plugin or external tool
Q : able to read Excel/CSV from file repository ? require other plugin

2013年1月7日 星期一

醫療雲 / 健康雲 Experts


【生醫電資領域的雲端運用】

賴飛羆教授
國立臺灣大學生醫電子與資訊學研究所;From Hospital Information System to Personal Health Records
廖淑盈副理趨勢科技; The Myth of Cloud Platform
劉邦鋒教授國立臺灣大學資訊工程學系; 雲端計算簡介
歐陽彥正教授國立臺灣大學生醫電子與資訊學研究所; 生醫電資與哲學
林光龍老師中華電信; 雲端運算的服務發展
陳維超助理教授國立臺灣大學資訊工程學系; Cloud Cameras
張鴻洋技術總監IBM 智慧生活前瞻研究中心; 『醫療雲』串聯『健康雲』:大量資料分析平台在『個人化實證健康照護』的運用
闕志克主任工研院雲端運算行動應用科技中心;Infrastructure Support for Cloud-based Biomedical Applications
何弘能副院長國立臺灣大學醫學院;生醫電資與倫理
黃志源資深經理廣達電腦;行動醫療
陶韻智總經理熱情豆行動樂活科技股份有限公司; APP與雲端於健康樂活人生之應用


2012 第二屆
照護輔助系統創新應用產業發展研討會暨展覽會


彰化基督教醫院 郭守仁 院長 ; 漫步雲端的彰基
謝明家 副院長  (彰基糖尿病健康 e 院); 糖尿病照護
杜思德 院長  (彰基糖尿病健康 e 院)

鄧俊男 總經理  (遠東醫電)
賴政宇 專員  (佳世達科技)

邱以泰 博士  (工研院南分院) ; 跌倒預防

周矢陵 院長  (寬福護理之家)
林燕山 總經理 (真茂科技)
朱麗容 副總經理  (達聲企業)
魏大森 主任(彰基復健科)


衛生署健康照護處 蔡誾誾 副處長; 我國健康照護政策發展
照護輔助系統創新應用產業聯盟 謝長峻 會長
台灣銀髮族協會 曾照嵩 會長


段伴虬 所長  (南開科大福祉科技與服務管理研究所); 社區照護

黃啟瑞 助理教授  (南開科大電子工程系)
蔡錦敦 董事長  (福樂多醫療福祉事業)
張仁耀 經理  (綠湖福祉事業)
洪培修 經理  (中興保全)
陳鴻基 教授  (台灣大學商學院)

銀髮照護

謝長峻 會長  (照護輔助系統創新應用產業聯盟)

陳明堂 執行長  (飛行家旅行社)
黃泰嶂 顧問  (思源健康管理顧問)
張慶光 總經理  (樂齡網生活事業)
林茂雄 先生  (台灣銀髮族總會創辦人)

醫療與長期照護產業的連結

桃園長庚紀念醫院 黃美涓 院長












DAF 2012 第三屆 臺灣智慧醫療論壇

The evolution of hospital information system and personal health records- 台灣大學

遠距醫療照護:透過醫療與IT結合,創造新的雲醫療服務-臺北醫學大學

【二雲四網六屏–智慧醫療新視野】永齡健康基金會

『醫療雲』串聯『健康雲』: 大量資料分析平台在『個人化實證健康照護』的運用-IBM

醫療私有雲,邁向雲端的護理與醫院管理

Utilize TermsComponent in LucidWorksEnterprise(LWE)


1. Modify solrconfig.xml
You can find lots of samples in internet. I still keep "autocomplete" because I still want to keep primary design of LWE
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/autocomplete">
<lst name="defaults">
   <bool name="terms">true</bool>
   <str name="terms.fl">autocomplete</str>
   <str name="terms.sort">count</str>
   <str name="terms.limit">20</str>
</lst>
   <arr name="components">
<str>terms</str>
   </arr>
</requestHandler>
<searchComponent class="solr.TermsComponent" name="terms"/>

2. Modify search.rb in [LWE]\app\webapps\lwe-ui\WEB-INF\app\models\core
a. In order to make TermsComponent works and not to alter LWE a lot, we want to add 1. terms.prefix=xxxx or change "q"  to "terms.prefix". Finally, I choose option#1. My approach is adding one parameter in the http request at line#230(keyword is when :autocomplete) in function,  solr_params(xxxx), new codes are :
params.merge!(
'terms.prefix' => params[:q]
)
b. Because SpellCheck and TermsComponent returns diff. data scheme, we need to add one parser at line#400(keyword is def autocompletions)
if @results['spellcheck'] == nil
@results['terms']['autocomplete'] rescue []    
else
@results['spellcheck']['suggestions'].at(1)['suggestion'] rescue []    
end



2013年1月3日 星期四

[Notes] Solr AutoComplete resources

http://www.medihack.org/2011/03/01/autocompletion-autosuggestion-using-solr/

http://lucene.472066.n3.nabble.com/auto-completion-search-with-solr-using-NGrams-in-SOLR-td3998559i20.html

http://stackoverflow.com/questions/2768770/how-to-structure-an-index-for-type-ahead-for-extremely-large-dataset-using-lucen


http://www.cominvent.com/2012/01/25/super-flexible-autocomplete-with-solr/