2013/02/22

歷史角落 總有餘音迴蕩

1999 年的 Open Source Workshop 是早期的社群專屬聚會,那時候,FreeBSD 有黑皮書,Linux 有 CLE。

2000 年的 dotcom 熱潮,上沖下洗,讓一群人看花了眼,多少也體會社群穩健發展才是長久之計。那麼,現在又如何呢?

「台灣沒有社群,只有鄉民」,即使有人不認同這樣的描述,但,我們身處怎樣的位置? 又迎向何方?

我們的初心呢? 十年後,怎樣看待自己,別人又怎樣看待我們?

2013/02/19

Price Competition

《什麼都比低價 國家就完了》的回應摘要。

  • All great companies are great first and foremost because of great products and that's because great technical people with also good appreciation on design and marketing are in the helm. Now, a casual look at the companies led by pure MBA types you get a list of corporate disasters.
  • 保持低價位並不是錯,但是,如果一個國家所有品牌,一家公司所有產品,在市場中的定位都是以低價競爭策略取勝,那這就有很大的問題。
  • 商業的本質就是在競爭中創造利潤。競爭 - 最差方法是削價競爭,最好方法是創造新產品脫離削價競爭的行列。那麼台灣對創新有何實質鼓勵? 台灣寧可每年付出兩千億的外國專利購買成本,也不願承擔創新的風險。這才是走下坡的主因!
  • 業務行銷固然重要,但產品的創新與品質才是科技公司的命脈。技術人員領導不是壞事,重點是技術人員必須要有行銷思惟,才能創造出符合市場所需的產品。
  • 有國際化競爭力的人才,八成以上都不在台灣了,剩下的兩成也早被台灣的環境給耗損掉。很多人會說台灣人才很不錯,都能在國際發光,但那是他們到國外後,靠著國外的產業人才鏈才能發光發熱。抱歉,台灣除了科技代工外,沒有其他的產業人才鏈。
  • 跟亞洲公司開會的經驗:
    香港--最國際化 懂得西方文化 英文好且懂得用英文開玩笑
    中國 日本--每間公司都聘請專業翻譯團 每個細節都會跟你確認沒聽錯
    台灣--態度最好 但大都英文不太好 不知為何不請翻譯 很多細節都必須用email再確認
    台灣連專業的翻譯都不願意請
  • 我是醫療服務業者,在醫院你會發現一件事很奇怪,大家寧願花2萬多元買一台蘋果,卻不願花2萬元動一個手術或買效果較好的藥物,患者還會問:我有繳健保費怎麼這麼貴,接著拿出哀鳳和哀配...也許醫院也應該從寶僑請行銷人員...
  • 這核心價值,根本就是在真實的我們自己,台灣人做了七十幾年代工,產品都是站在別人的角度來想,甚至活的洋腔洋調,但別忘了,再怎麼洋腔洋調,也應不了真的洋槍洋炮。人云:「錢買不到愛情與靈魂」靈魂與愛情是無價的,保有我們自己靈魂的原貌,形塑出來的文化,是不是還有可以給普世的美好,我想這會是相當高價的。
  • 台灣企業缺乏競爭力,原因很多,其中之一是大多數台灣老闆的心態問題,這些老闆幾乎都是將員工當作成本看待,所以想盡辦法壓榨員工(降低成本)。如果台灣老闆能夠將員工視為非固定資產,則願意主動創造好的工作環境,員工有幸福感,潛能被激發,自然有競爭力,最後達到員工與公司一起成長、雙贏的目的。

2013/02/05

Utility to List Plone Instances

When you have multiple Plone instances running on multiple Linux boxes, you will need utilities for instance management. Here is a Python-based tool, rt.zps. It's easy to install:

$ sudo apt-get install python-psutil
$ sudo easy_install rt.zps

As its name indicates, of course you can use it to inspect Zope processes.

$ zps
[user@localhost]$zps
CWD:      /home/user/plone1
User:     user
PID:      1234
Conf:     /home/user/plone1/parts/instance/etc/zope.conf
Address:  8081
Memory:   1.96%

CWD:      /home/user/plone2
User:     user
PID:      12345
Conf:     /home/user/plone2/parts/instance/etc/zope.conf
Address:  8082
Memory:   1.96%

You can check if any instance running for a specific port.

$ zps --port 8080

2013/01/27

Newline to BR in Description Field

Usually we want newlines in the description field be interpreted as <br /> for Plone contents. Here is a qucik trick:

Products/CMFPlone/skins/plone_kss/kss_generic_macros.pt
37c37,38
< templateId='kss_generic_macros', macro='description-field-view');"
---
> templateId='kss_generic_macros', macro='description-field-view');
> pps modules/Products.PythonScripts.standard"
41c42
< tal:replace="context/Description">
---
> tal:replace="structure python:pps.newline_to_br(pps.html_quote(context.Description()))">

2013/01/14

Disqus Service Integration

Disqus 是一個留言服務系統,目前全球市佔率在前三名內。在 2012 年之際,版本昇級後稱為 Disqus 2012,介面和 API 有了較大的調整,增加 Community 和 Discovery 的功能。

想在 Plone 裡整合這項服務,最簡單的方式是透過 collective.disqus 模組。安裝後的設定步驟,有下列要點:

先要勾選 Activate Disqus as system coment 來啟用,填寫 API key 資料。

在 Site Setup 的 Discussion 設定項目裡,勾選 Globally enable comments 來啟用留言功能。

再到 Site Setup 的 Type 設定項目,個別依照 Content Type 指定 Allow comments。

有遇到 JavaScript 變數未被嵌入的問題,造成畫面只出現 blog comments powered by Disqus 的字樣,下載 github 上的最新程式碼就解決了。

最後,據說有多國語文的支援了,還沒有空仔細測試這部份。

Update Plone TinyMCE

舊版 TinyMCE 編輯器和 IE 9 有相容問題,至少要昇級到 Products.TinyMCE 1.3 之後的版本,以 Plone 4.2.1 為例,它的 versions.cfg 原本的內容是:

Products.TinyMCE = 1.2.13

可以改成:

Products.TinyMCE = 1.3b4

重跑 buildout 後,額外會安裝的模組包括:

plone.namedfile==1.0.6
plone.rfc822==1.0
zope.app.file==3.6.1

測試上述方式時,對新建的 Plone Site 沒問題,不過,把舊系統昇級的結果,有遇到編輯器顯示不正常的問題,猜想是 GenericSetup profile 沒有完整啟用所造成,沒時間追下去便作罷。

或者,直接改用 Plone 4.3 以上的版本,內建的 TinyMCE 就是 1.3 之後的版本。

2013/01/05

Mapping Contributors

mr.cabot 是個工具軟體,它會讀取 GitHub、gmane、StackOverflow 的資料,試圖把專案貢獻人員的地理位置找出來,最後在地圖上標示。

主要設定檔是 mr.cabot.cfg,輸出格式預設是 Google Static Map,也可以使用 HTML 或 KML。