2008年10月4日

統計翻譯術,創造流行語

今天在網路論壇上閒逛時,看到一則關於 Google翻譯工具 的真實笑話。Google翻譯工具在翻譯「我想扁你」這句話時,會得到「I think you Chen Shui-bian」這句非常貼近流行的結果。有圖有真相。

「我想扁你」=「I think you Chen Shui-bian」

我想到 Google 說它的翻譯技術是採用統計方法,我又想到一些關於語言發展的事,不禁讓我贊嘆地道「原來流行語是人類不經意地的統計後創造出來的」。


Posted by shirock at 樂多Roodo!05:09回應(0)引用(0)生活記事

2008年10月3日

我因為CMMI的事,而被公司解雇了

Tags: CMMI

各位關注本部落格的朋友,近來一定很失望。竟然快3個月都沒有更新任何資料。其實沒什麼大事,只是因為我前一陣子被公司解雇後,決定給自己放個長假的緣故。

常看我文章的朋友,心裡一定有個印象,那就是我個人並不喜歡CMMI。我也在部落格中說過我待的公司通過CMMI level 3 認證,可能會有一段雞飛狗跳的日子。果不其然,我真的因為CMMI的事被解雇了。然而事情起因卻是因為我在某件專案中,太常抱怨「這樣做不符合CMMI」、「CMMI不允許這麼搞的」諸如此類的話。因此被專案經理認為能力不足。當然啦,有此抱怨的不只我一人。幾經波折,我和幾位同事就先後被解雇了。

我一直認為,CMMI之於公司組識,一如憲法之於國家。憲法一方面規範人民權利與義務內容,另一方面也約束政府權力。那麼CMMI就是一方面規範軟體工程人員的作業內容,另一方面也約束管理階層的權力。但是公司高層的認知顯然和我不同,公司高層說我們要落實CMMI工程面,但不落實CMMI管理面。講白了,公司要求軟體工程人員要按CMMI規範做事,但沒說管理階層要照著做。所以上面的人三番兩次的變更時程、需求與規格。而我這個三番兩次抱怨這樣做不符合CMMI的軟體工程人員,自然也就不能待下去了。


Posted by shirock at 樂多Roodo!01:10回應(3)引用(0)生活記事

2008年07月4日

SQLite/PHP/Apache 設定筆記

Tags: php sqlite database

SQLite 目前有兩種版本,一是 SQLite 2,另一為 SQLite 3。PHP 兩種都支援,但所需的擴充項(extension)並不相同。

SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.
SQLite Home Page

在 PHP 中使用 SQLite2 ,必須載入 SQLite 擴充項(sqlite.so/php_sqlite.dll)。

在 PHP 中使用 SQLite3 ,必須載入 PDO_SQLite 擴充項(pdo_sqlite.so/php_pdo_sqlite.dll)。同時這也表示兩件事。一,SQLite3 是 PDO 擴充項的一個工廠(factory) ,你必須透過 PDO 介面去呼叫 SQLite3 的方法。二,PHP5 或以上的版本才支援 PDO 擴充項,故 PHP4 不能使用 SQLite3。

...繼續閱讀

Posted by shirock at 樂多Roodo!11:23回應(0)引用(0)SQL/Database

2008年06月24日

新增資料時自動產生識別代號的一些方法

Tags: sql serial max

時常接觸資料庫應用的編程人員,應該都會遇到需要新增資料後自動產生一個識別代號(ID)的設計。但遺憾的是, SQL Standard 並沒有定義任何相關型態或函數。於是各種資料庫系統都有自己的一套做法。使得這種普遍的應用設計,帶來了一個可攜性陷阱。

在不考慮使用資料庫系統特定方法的情況下,我長久以來習慣用 MAX(id) + 1 產生識別代號。至於 MySQL 的用戶,我都特別為它準備另一個 SQL Schema,改用 MySQL 特有的 AUTO_INCREMENT 欄位屬性。

...繼續閱讀

Posted by shirock at 樂多Roodo!12:04回應(0)引用(0)SQL/Database

2008年06月11日

CentOS, 我搞不懂你...

Tags: linux

最近公司分了一個案子下來,要在基於 CentOS 的環境進行開發工作。公司也配了一台開發用主機下來,不過是空機,OS要自己裝。於是我下載 CentOS 5 完成了安裝工作。安裝工作沒啥問題,但要測試 HTTP 和 FTP 等網路服務時卻出狀況了。其他主機都無法連接開發用主機上的網路服務,如 HTTP, FTP 和資料庫,只有SSH 可以連接(謎啊...)。我一開始認為是防火牆問題,於是新增了對應的 iptables 規則,但仍然無用。於是我開始 google 文件... 最後的答案告訴我,一切都是 SELinux 的問題。

我想想,我用了下列指令。

$ getsebool -a

$ setsebool -P ftpd_disable_trans on
$ service vsftpd restart
## OK! 成功地開放 FTP 服務。

$ setsebool -P httpd_disable_trans on
$ setsebool -P httpd_can_network_connect on
$ service httpd restart
## OMG! HTTP服務還是無法連結 囧

## 也許 iptables 也有影嚮,試試...

$ iptables -A INPUT --dport 80 -j ACCEPT
$ service iptables save
## It still doesn't work.

$ service iptables stop
## 我關掉 iptables ,所有問題都迎刃而解了。
## 最後,我執行 ntsysv ,把 iptables 服務取消了...

我到現在仍然搞不懂一件事。像 FTP, MySQL, PostgreSQL 這些服務,我在 SELinux 設定開啟後就能用了(但未在 iptables 設定對應規則),卻為何在 SELinux 和 iptables 都設定開放 HTTP 服務了,外部主機還是無法連接 HTTP 服務呢?


Posted by shirock at 樂多Roodo!17:19回應(2)引用(0)電腦技術

2008年06月5日

留言機器人又進化了,還會自動抓前面的回應內容來填

最近兩週忙著新案子,沒什麼時間上來看看部落格。一案未止一案又起,各個專案的時程表在哪啊?我怎麼都沒看過,這就是 CMMI 3 認證的公司開發專案的實際情形啊。

哎呀,扯遠了。總之呢,當我上來查看新留言時,發現其中兩篇的留言內容非常熟悉,好像看過一樣。而且留言者的連結是一樣的。正當我感到困惑之際,我往上捲頁一看,就知道那熟悉感從何而來了。原來根本是留言機器人自動從前面的留言中抓一段出來,冒充新的留言填上去嘛。我真佩服那些機器人的作者了,真是愈寫愈聰明啊。不過這樣做,小心違反著作權法喔,畢竟你是 copy 別人的留言/文章當自己的留言用。廣告留言也許無法可罰,但侵害著作權有法可罰。


Posted by shirock at 樂多Roodo!17:43回應(0)引用(0)生活記事

開發自動化文章參考

Tags: agile_method

前幾天在 developerWorks 看到一篇關於負載測試的新文章,《让开发自动化: 自动负载测试 - 使用 Apache Ant 和 Apache JMeter 频繁进行负载测试》。它提醒了我一件事:負載測試也有自動化工具。我以往很少在這一方面下功夫。大部份時候,我都是針對特定情況,自行撰寫特定的負載測試工具,而且不是很好用...

我目前尚未引入 JMeter 到日常工作之中,暫時先在此做過標註。不過有一點可以先說,JMeter 是針對應用軟體的成品或者整個運作環境進行負載測試,跟你的應用軟體開發工具無關。所以並不侷限於 Java 開發的專案才能用 JMeter 。使用 PHP 或其他工具開發的案子也能用。

附帶一提,developerWorks 專欄作者 Paul Duvall 所撰寫的《让开发自动化》專欄,皆有相當高的實務價值,值得一讀。


Posted by shirock at 樂多Roodo!17:11回應(0)引用(0)Programming