2011/07/25

Synology DSM 3.2 Beta 之夜


上週應以前大學同學之邀再加上抽獎獎項的誘惑,參加了Synology Beta之夜。其間為了抽獎非常認真做了筆記(沒抽到我,完全用不到^^||),今天整理了一下筆記,順道介紹一下當天聽到了什麼新功能。

圖:真是人山人海

先說明一下我大概是半年前買了他們家的DS211j,目的是1)拿來抓迷之片,2)當網芳使用,3)備份我重要的文件。使用到現在以現有功能我是很滿意,但是我還是覺得缺了一些功能,像是dropbox的功能,本來還期待這次發表會會發表,都只能怪主持人一直喊private cloud,讓我抱了一絲絲的期待。

dropbox,不要說用NFS or curlftpfs or sshfs來做類似的應用(它們家的ssh service也沒有技援sshfs,這我也要抱怨一下),但還是有很多dropbox可以達到的方便性是上述方案做不到。此外,現階段已經有很多open source的dropbox相關軟體,其實群暉只要花點時間改一下應該就可以用到他們的產品上 :)。

上面講了那麼多不相關的東西,我還是要稱讚一下當天presenter的功力很棒,真是完全沒有冷場,2個小時根本就在歡笑中渡過。這應該算是我以前到現在所有參加過的宅宅活動裡頭,氣氛我覺得數一數二的好。此外當天是在君品酒店辦的,還有豐富的餐點,有考慮到有人是下班不吃飯直接衝去。


圖:少不了要有豐盛的食物

廢話到此,我還是稍微來看圖說故事以及部分的新功能介紹。請讓我以Ubuntu/Android user and programmer的角度來看這些新功能,由喜好程度不需要->很需要來介紹。

以下是「我不是企業用戶不需要這個功能」的功能
  • LDAP (還好我家只有5個人)
  • syslog aggregative (有經驗的阿宅網管應該會有自己的一套方法 )
  • Google cloud printer (我覺得有點不太實用,他有技援PDF or DOC?不論實用性,我是覺得不錯玩~ 好笑的是當天demo失敗,最後的presenter還補一槍)
  • 監控系統,跨瀏覽器、方便佈署、效能提升 (如果那天我家遭小偷了或許我會買個ip cam試試)
圖:新版支援統一管理LDAP

圖:demo google cloud print結果突搥了 XDDD

以下有了它「世界更美好」的功能
  • mount everything,簡單的說就是支援把別台電腦的samba資料匣mount到NAS上,還有mount iso檔。(很實用的功能,實作起來又非常非常非常簡單)
  • mobile app,也就是iOS or Android app也有支援軟體。(雖然還用不到,但上面可以做的東西大有可為)
  • 全新的相簿介面,又可同步於facebook相簿。(我家頻寬自己都不夠用了,還要給別人用)

圖:報告Mobile App的RD講者,可能原本就想說RD來報告一定很無聊,我想這位RD可以轉行做PM。

圖:PM在講相簿新增的功能

以下是「考試100分」的功能
  • 拖拉檔案上傳功能
  • Youtube下載功能
  • 免空下載功能
這三個功能是個人覺得比較有機會用到的功能,尤其是平常我常常在用bt抓ubuntu iso image(??),如果可以用拖拉方式上傳種子真是非常方便。(我還是想要有個人的dropbox啦)

講到拖拉種子進去網頁,如果Synology可以固定一個資料匣,讓我用網芳(NFS...)的方式拖拉進去,它就會幫我自動啟動Download Station抓資料,那我會覺得更實用。因為我根本就不想開網頁的管理介面。

結論

Synology的管理介面真的是獨樹一格,功能性也是NAS廠商中的佼佼者,我用了半年下來十分的滿意,我也因此慫恿了一些有相關需求的人買它們家的東西。

這次藉由參加這個活動,也開始思考我會希望他們再提供什麼功能,列舉如下
  • dropbox
  • version control file folder (具有版本控制的資料匣)
  • open api
  • 部分功能與nautilus or explorer結合

最後,若有興趣瞭解更多DSM 3.2 Beta功能的人可以參考當天投影片[這裡下載]

2011/06/09

zim plugins: 個人筆記軟體

Why zim?

前陣子開始習慣用zim來當做個人筆記的軟體,在使用zim之前我survey了許多其他筆記軟體,像是Evernote,Nevernote,Tomboy,gnote等。最後我還是選擇了zim,主要有以下原因
  • wiki語法
  • 所見即所得的介面
  • 筆記以文字檔儲存
  • 內建常用格式 (h1, h2, bold, italy, code...)
  • 容易hack (python)
  • 配合dokuwiki使用,可當公司內的文件分享系統
  • 配合dropbox,便成雲端筆記本
  • 配合shutter,螢幕截圖超方便
這篇文章,主要會介紹一個搜尋文件程式及如何將zim的文件發佈要dokuwiki上。


zim search

zim search是一個視窗程式,以wxPython寫成,輸入欲搜尋字串,它會將有此字串的文件列出,並依照權重排序,雙點任何列便可直接在zim中開啟該文件。此工具截圖如下



設定

這隻程式接受2個參數,第一為zim筆記本名,第二為筆記本路徑,zim裡的tools -> custom tools設定如下




源碼find.py可由此抓到 https://github.com/fcwu/zim-plugins

zim wiki deploy

為了分享我的筆記給其他同仁觀看,我架了dokuwiki當做分享平台,dokuwiki的儲存格式(文字檔)及wiki語法跟zim只有些許的不同,為了做語法的轉換及附件(圖片,或附檔)的發佈,因此我寫了這個腳本。

用此腳本發佈在dokuwiki的結果如下圖:



zim上觀看如下




設定

此腳本接受的參數如下
  1. 筆記本名
  2. dokuwiki root path
  3. user name
  4. 附件路徑
  5. 文本路徑
其中user name是用來區別的文件應該存放的位置。舉例來說dokuwiki root path為/var/www/wiki/,user name為doro則文件會發佈放在/var/www/wiki/data/pages/doro,附件會發佈在/var/www/wiki/data/media/doro

使用前請先確定已建立這些路徑,且擁有寫入權限。zim設定如下圖:



源碼deploy_wiki.py可由此抓到 https://github.com/fcwu/zim-plugins

2010/09/14

Publish Your WxWidget Program


Publish Your wxWidget Program

初入wxWidget時,是使用wxDev-C++當作開發編譯環境,後來不經意的使用了VS2005的環境,便開始愛上cl.exe那麼飛快編譯速度、Visual Studio良好Debug環境。

但最近在發行wxWidget程式(Release Version)時,在其他未安裝Visual Studio的電腦上無法執行的問題,將錯誤訊息google過後發現是編譯參數/MD的關係,將/MD改成/MT便行(在project屬性頁的組態屬性-->C/C++-->程式碼產生裡)。

改完重編後,又發生
------ 已啟動全部重新生成: 項目: WxWidgetsWizardTest, 配置: Debug Win32 ------
正在刪除項目「WxWidgetsWizardTest」(配置「Debug|Win32」)的中間文件和輸出文件
正在編譯...
WxWidgetsWizardTestFrm.cpp
正在編譯...
WxWidgetsWizardTestApp.cpp
正在編譯資源清單...
正在鏈接...
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _free 已經在 LIBCMT.lib(free.obj) 中定義
MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) 已經在 LIBCMT.lib(typinfo.obj) 中定義
MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) 已經在 LIBCMT.lib(typinfo.obj) 中定義
LINK : warning LNK4098: 默認庫「LIBCMT」與其他庫的使用衝突;請使用 /NODEFAULTLIB:library
LINK : warning LNK4098: 默認庫「MSVCRTD」與其他庫的使用衝突;請使用 /NODEFAULTLIB:library
LINK : warning LNK4098: 默認庫「LIBCMTD」與其他庫的使用衝突;請使用 /NODEFAULTLIB:library
D:\WxWidgetsWizardTest\Debug\WxWidgetsWizardTest.exe : fatal error LNK1169: 找到一個或多個多重定義的符號
生成日誌保存在「file://d:\WxWidgetsWizardTest\WxWidgetsWizardTest\Debug\BuildLog.htm」
WxWidgetsWizardTest - 4 個錯誤,3 個警告
========== 全部重新生成: 0 已成功, 1 已失敗, 0 已跳過 ==========
所以我又去google這個錯誤,發現是library部分也要以維持一致性,順手將C:\wxWidgets-2.9.0\build\msw\wx_vc8.sln打開後,並將所有的/MD改成/MT,重編後便OK了。

若還是有遇到問題,不彷注意一下自己連結的library裡,是否有用到debug的版本,library及程式編譯參數最好一模一樣,這樣碰到的問題會較少。

2010/08/26

wxWidget 初學

wxWidget 初學

(廣告: 最近有人有case要外包嗎? 最近非常缺, 有要外包的, 請email給我)

最近有人問起:「我想學C++ UI programming,我該學那套好?」可以用C++來寫UI的frameworks很多,如果是我推薦,我一定會選擇我最熟悉的[wxWidget]。

師父引入門,修行靠自己。對於初學者最好從一個好用的IDE開始,wxWidget唯一(誤)可用的IDE是[wxDev-C++],要使用它來開發,基本上就是抓下來安裝好就可以開始玩了。其他的IDE可以參考[wxWiki]的[Tools]頁面,裡頭有介紹不少工具可用。

在玩IDE的途中,一定會需要參考到那些物件及函式可用,這部分可到[Reference Manual]一探一二。若需要有一整套完整的介紹可參考這本書[Cross-Platform GUI Programming with WxWidget],網路上可找到電子版的。

再進階一點,自己重編整個wxWidget library是少不了的,你可以在[Download]頁面,找到適合你的版本。以Windows + Visual Studio 2005重編也很容易,先將[wxAll]抓下來,解壓縮,用VS2005開,再按建置就完成了。

需要範例可在source code的sample資料匣下找到。





2010/08/25

Build Your Own Fedora and Ubuntu

Build Your Own Fedora and Ubuntu

最近因為公司稍閒, 便開始為了未來準備及興趣,逐漸將目前的工作平台移著Linux上。適逄剛好有人問我如何製作自己的Fedora,所以記載一下工作實錄。

Compile Fedora 13 and Ubuntu 10.04 kernel


Build Your Own Fedora and Ubuntu

Fedora可用[Revisor]這個工具來製作,大制上圖型介面一步步往下走就可製作出光碟在/svr底下。唯獨2個小地方要修正,否則會出現」anaconda error code 1」的錯誤訊息:
  • Copy /usr/lib/revisor/scripts/F12-buildinstall to /usr/lib/revisor/scripts/F13-buildinstall
  • Comment out two sections of 「anaconda-updates」 and 「anaconda-updats-source」 in /etc/revisor/conf.d/revisor-f13-i386.conf

Ubuntu可用[Reconstructor],連結內圖文並茂。