Category Archives: 分享

Open the browser, and here comes the computing power

This is really an awesome idea. Open the browser, and here comes the computing power. Imagine that you can open the browser and rent 10 machines, get everything done on them. Deployment? Software installing? No, the only thing you need … Continue reading

Posted in 分享, English Articles | Tagged , , , | Leave a comment

PO檔自動繁簡轉換程式

最近在更新我的網站Now.in,最麻煩的一項工作就是國際化,通常我都是先以英文寫網頁,接著用TurboGears2的i18n功能將字串訊息取出,而我的GUI程式的i18n流程也差不多,都是先寫英文,翻成繁體中文,其中一個最腦人的過程,就是把翻好的繁體中文po檔裡的字串剪下貼上到google翻譯將它變成簡體中文再貼到簡體中文的po檔裡,這些工作都是重覆性極高的機械性動作,在一開始句子還少時做還可以,當字詞越來越多,這就變成一件痛苦的工作,既然是高重覆性的工作,為什麼需要人力來做呢? 於是我就寫了一個小程式,可以自動把po檔的內容抓出來丟到google翻譯去,把結果寫到另一個po檔中 # -*- coding: utf8 -*- "‘ Created on 2010/4/27   @author: Victor-mortal "‘   import os import sys import urllib import json import logging import optparse import codecs import htmllib   log = logging.getLogger(__name__)   def unescape(s): p … Continue reading

Posted in 中文文章, 分享, Python | Tagged , , , , , , | 4 Comments

Memory efficient Python with bytearray

The story I was developing an audio broadcasting server.  I wrote the server with Twisted.  It works fine, but there is still a big problem to solve: the memory usage.  My audio broadcasting server use memory so much.  You can … Continue reading

Posted in 分享, English Articles, Python | Tagged , , , | 1 Comment

如何評估比較程式語言

有人提到以過去的觀點來看現在的PHP是不公平的,確實我有好一陣子沒有碰PHP,對於新版的PHP並不瞭解,因此我花了一些時間檢視新的PHP規格,的確新版的PHP遠比我預料的進步許多,很多之前提到的問題有所改善,我承認上一篇文章說PHP很爛是在發洩過去對於PHP的種種不滿,有人認為程式語言沒有好壞,全部都事在人為,而我認為程式語言的好壞有主觀也有客觀的部份,當你討厭或喜歡一個程式語言一定有某些原因,但就客觀的來看語言的設計來講,PHP在早期真的是爛得一榻糊塗,是公認的爛,但是在當時少有選擇,能選的工具不多,就只有PHP,在累積夠久的不滿後就會一次暴發開來,對於現在的PHP5.3還有未來的PHP6而言,他已經跳離了以前的單純語言設計上的爛,往更好的方向前進,我能說PHP的壞話少了很多,因為當語言層面的問題大部份都解決了,接著就是哲學和個人喜好的問題了,對與目前和新版的PHP的誤解在這邊說聲抱歉 所以這篇我想說的,怎樣看客觀地評估一款語言的好壞,還有主觀地評估好與壞,很多人說程式語言沒有好與壞,只有適合和不適合,基本上我不認同這樣的說法,如果說兩種差別很大用途不同的語言拿來一起比較就很奇怪,但是如果是性質接近的語言都符合你需求,就可以做好壞的比較,不然你要怎麼做選擇? 就如同我們買車子好了,你的目的是載貨,買的自然是卡車、貨車,但是如果是轎車呢? 就算是卡車也有選擇的,程式語言也一樣,目前大部份人所見到的程式語言,都是所謂的"通用目的"語言,也就是說這樣的語言沒有預設任何用途,基本上他可以拿來做任何用途,很多人因為不知道要從何比較起,所以都說程式語言沒有好壞之分,只有適合和不適合,如果有一堆工具都適合,既然沒有好壞之分,那你又該如何做出進一步的評估與選擇? 適不適合不就是透過比較而來的嗎? 不比較怎麼知道適不適合? 這不是自相矛盾嗎? 只靠喜好嗎? 閉著眼睛亂選? 大家都知道車子我們可以比較它的馬力、耗油、安全評等,但是大多數人不知道程式語言該比較些什麼,而我今天所要說的,就是程式語言該拿什麼來比較

Posted in 中文文章, 分享, Python | Tagged , , , , , , | 17 Comments

以前的PHP有很多缺陷

有人在plurk上PO了一篇文章的連結,PHP 開發迷思 (三) – PHP 很糟糕?,因為我不認同那樣的看法,所以我回覆說php很爛,當你說一個語言很爛時,就要有心理準備有人準備要跟你戰了,果然有人不認同我的說法,當然任何人都可以不認同我所說的,而且好和爛是很主觀的,同時也是是相對的,但是我所說的是有根據的,說php爛不是我一個人的說法,而是已經被說到爛掉的說法,很多比我有經驗多的網頁程式設計師都異口同聲的說PHP很爛,為了解釋為什麼我認為PHP很爛(我在本文指的爛是指語言設計上的眾多嚴重缺陷),我寫了這篇文章 更新: 我承認這篇寫得有點偏激,也是以前的觀點,也是在發洩以前對PHP的不滿,我沒有寫較新的PHP,所以我收回PHP很爛,改成以前的PHP有很多缺陷,我想表達的是一款語言的很多缺陷,而且是在以前的缺陷,現在PHP確實有改進很多,所以我寫了一篇 如何評估比較程式語言 另外我想表達的一件事是,當有人說你用的程式語言有問題時,為什麼一定要這麼抓狂呢? 如果一個程式語言它的缺陷沒有人罵,大家都愛語言如命,那麼語言的開發者或團隊要如何知道這語言要改進什麼呢? PHP有很多缺陷是事實,然而說出來很多人可能就不高興,然而我選擇用較激烈的字眼是因為他改進實在太慢了,我們可以看到以前的Magic quote、unicode問題等等,至今都仍未解決,要php6才會解決,這些問題不是只有我覺得很糟,而是我發現很多人都跟我一樣覺得這太差了,我每次罵PHP都真的很希望他在下一個版本就把這些鳥問題解決掉,但以我之前的經驗它都讓我失望,所以我怨念很深,這篇文章寫起來也特別偏激,但我想表達的是,我說PHP爛某種程度是希望他變好,那你可能會問,我為什麼不說Python爛,然後哪裡爛,很簡單的原因是我太喜歡Python,當你很喜歡一個東西時你是看不見這東西的缺點,如果有人說Python爛,我覺得很好,我想知道他有哪些缺陷,是我沒看到的 除此之外,對於初學者來說,PHP的低門檻讓他成為吸引新手的蜜罐,而很多人都只知道PHP可以寫網頁,但是不知道其實所有程式語言都能寫網頁,我希望透過罵PHP也能讓更多人知道其實還有更多選擇,但其實這會讓人覺得反感,我在這背後目的是希望其它語言能夠有更多人使用,有競爭才有進步,而對於國內大部份人都只用PHP在刻網頁我也覺得很失望,我同時也希望讓大家知道其實網頁的技術現在已經很先進了,很少有人使用框架等次世代的網頁技術,所以有興趣也可以看一些較新的技術,而不是土法煉鋼

Posted in 中文文章, 分享, WTF | Tagged , , , , | 48 Comments

Now.in 網路廣播平台 Beta!

在我大一時,我偶然聽到PTT上別人架的網路電台,當時我就覺得很有趣,感覺很棒,當時我就在想,如果下班回家,一開電腦就有各種電台可以聽,應該相當不錯,但是網路電台不是人人架的起的,需要有的伺服器,需要有頻寬,需要有架站的知識,對一般人而言是遙不可及的,為此,我就想如果我能提供一個平台,讓任何人都能輕易地開設網路電台,會是一件相當不錯的事,於是,動心起念,空想成不了事,我就開始尋找適何的技術,試過了不少東西,前陣子終於可以上線了,不過我近來都很忙,一直都還沒把它推上線,到今天,我決定先以BETA版上線 Now.in 網路廣播平台 如何成為DJ? 在我的平台要要成為DJ並開設一個網路電台很簡單,只要先到 註冊頁面 去填寫基本資料,接著應該會收到一封啟動帳號的信,然後點擊啟動連結,啟動你的帳號,接著下載我寫的專門用來廣播用的軟體Mr. DJ 下載Mr. DJ 下載完成後解壓縮,執行mrdj.exe後輸入帳號密碼,就可以開始廣播了,你的電台頁面,會是在 http://now.in/radio/你的帳號 疑難排解 目前因為在beta階段,所以可能會有些bug和無預警停機的可能,在此先說聲抱歉,目前已知問題有 收不到認證信 不知道是會被當做垃圾信還怎樣,我發現有些信箱收不到認證信,我自己用gmail是可以收到的,如果你沒辦法收到認證信,先在垃圾郵件信箱裡找找,如果找不到,請以申請時的信箱來信以下信箱 並註名說需要啟動now.in的帳號,我會依照你的信箱找到你的帳號用gmail手動發一個認證信給你 Mr. DJ無法啟動 遇到 "Error loading Python DLL: python26.dll (error code 14001)" 錯誤 如果你遇到這個錯誤,八成是少了VC9的runtime所引起的,請下載 Microsoft Visual C++ 2008 Redistributable Package 並安裝後再執行應該就可以解決 其它問題與意見 當你遇到其它問題或意見時,歡迎來信

Posted in 中文文章, 分享 | Tagged , , , | 18 Comments

PCHome商店街與商店街的店家們,你們是詐騙集團的幫兇

前陣子我才寫了一篇到底是誰賣了你的購物資料,到了今天,詐騙的事件有增無減,PCHome和PCHome的店家們完全一點反省、檢討與改進都沒有,跟以往一樣,把責任全推給消費者,今天,我要戳破他們的謊言,這一切是因為我看到了一篇關於PCHome詐騙事件的報導,PCHome如是說 個資又不是氣體,絕不會從平台外洩出去。 來自 http://www.itis.tw/node/3282 那種無所謂還當笑話看的態度真的令人火冒三丈,說真的,資訊安全很難做到百分之一百,但是最起碼基本的努力與態度是該有的,請問PCHome那是什麼鬼態度? 你們到底又做了什麼樣的努力? 明明知道一直有詐騙事件不停的在PCHome平台上發生,居然還說得出這種鬼話,PCHome商店街的店家也是,反正一律推給消費者就對了,反正要證明到底是誰把資料流出去很困難,雖然難以證明,但數據會說話,我發現有越來越多人在PCHome購物最近接到詐騙電話,所以把我之前寫的小爬蟲拿出來在今天再跑一次,我再說明一次我爬蟲的規則,他會跑過所有店家的負評列表第一頁,因為負評的數量不多,所以大部份店家的負評應該都數量很少,最新一頁就包含了幾年的負評,而負評抓完後我會用程式過濾出有"詐騙"字眼的負評,但因為有部份是出貨太慢被消費者抱怨他們是不是遇到詐騙,所以再一次經過手動過濾,以下是最新抓到的結果 負評資料 2009-07-06 05:09:32 http://store.pchome.com.tw/topoffice/HM/eval.htm?evalType=B 我本來要寫優良的! 但是很不巧…我今天接到詐騙集團的電話! 他很清楚告知我買了什麼東西,金額和數量! 當然方式還是…一樣! 又說你付的方式 變成分期付款! 不處理會被扣很多錢! 我不知道是Pchome還是貴公司的問題! 購買你家的東西…客戶資料會被洩漏光光! 請其他人要小心此情況! 2009-10-16 03:10:20 http://store.pchome.com.tw/dashop/HM/eval.htm?evalType=B 個人資料外漏。自收貨來己三次受到詐騙電騷擾。 騷擾時,對方對於單價,出貨日,品項資料非常清楚。 2009-09-03 18:54:32 http://store.pchome.com.tw/dashop/HM/eval.htm?evalType=B 我於8/26訂購商品一項,但不到一個月就接到詐騙電話,為什麼所有的訂購資料詐騙集團可取得,我在Pchomeh的線上購物或商店街亦購買了許多東西,亦在其他網站購物,唯獨在貴店出狀況,請貴店注意買方的資料勿外漏,謝謝. 2009-09-17 20:57:59 http://store.pchome.com.tw/dashop/HM/eval.htm?evalType=B 我上個月買一顆電池, 今天就接到詐騙電話, 為何對方會知道詳細交易內容? 煩請加強你們的交易資料保密, 謝謝! 2009-08-13 03:10:23 … Continue reading

Posted in 中文文章, 分享 | 23 Comments

夏天協奏曲 11月27日全省上映

夏天協奏曲 11月27日全省上映 官方部落格

Posted in 中文文章, 分享 | Tagged , , , | 2 Comments

An auto-retry recipe for Twisted.

I wrote a retry function that can warp all function return Deferred that might fail. That’s no need to modify any exists code of getPage to make it to retry automaticllay. Continue reading

Posted in 分享, English Articles, Python | Tagged , , , , | 1 Comment

到底是誰賣了你的購物資料

前些天,為了畢業專題,我上網在PCHome的DA量販買了一條USB 轉 RS232的線傳輸線,有趣的是,就在昨天,我接到了詐騙電話,他們很清楚我買了什麼東西,告訴我他們弄錯了帳款,變成了自動分期扣款,我用不屑的口吻說了一句"喔…",不知道是從我的口氣感到沒有希望還怎樣,通話過一陣子就斷了,這不是我第一次接到這樣的詐騙電話,每次我接到都覺得很火大,火大不是在於電話本身,而是賣家把我的資料洩漏出去,而更火大的是,通常都沒人想去追究到底是從哪洩漏出去的,每個環節都聲稱他們都有定期掃毒、更換密碼、他們的平台很安全,因為舉證困難,比起找到哪裡流出去的,把責任推給別人比較簡單,這讓我覺得相當火大,於是我就開始想,到底是誰把資料流出去的,做了一些研究和推論 大家都一樣火大 我相信,接到詐騙電話的人,發現自己資料被一清二楚地流出去時,都一樣火大,在評價上肯定不會有什麼好評,於是我找了DA量販的負評來看,果不其然,也有人抱怨接到了詐騙電話,時間也都很接近 評價等級:     待加強 (2009/09/17 20:57:59) (最新一筆) 評價意見:     我上個月買一顆電池, 今天就接到詐騙電話, 為何對方會知道詳細交易內容? 煩請加強你們的交易資料保密, 謝謝! 評價等級:      待加強 (2009/08/29 01:31:54) (最新一筆) 評價意見:     商品品質:產品質量太差太粗糙,買回來一裝,把我上千元的手把控制器整個磨損!! 洞大小根本不對,難放入更難拔出!!太可怕了!! 貪圖東西便宜,到頭來卻是當垃圾丟了!! 而且還造成原來搖控器的損壞,最後實在是虧更大!!! 今晚還莫名其妙接到廠商打來說付款有問題,錢都從我信用卡裡扣了!還有啥問題?!! 麻煩廠商下次自行先查清楚,這年頭詐騙太多,沒事別亂打給顧客說款項有問題,害我差點報警!! 光看這樣似乎是DA量販有意或無意的把資料流出去,但這麼想太過武斷,因為能接觸到個人資料的環節不少,我不清楚他們背後的流程怎麼跑,但是資料經過的環有不少,可能這些環節都會流出去,至於環節有哪些,從使用者的電腦、商家、物流、銀行等等,我們先一項一項來看 使用者 俗話說,懷疑別人前要先懷疑自己,通常,使用者的這一環節是最弱的,不管在安全知識等各方面,都是相當不足容易被侵入的,但是考慮到一個重點,其實就可以發現,資料從使用者這邊流出去的可能是有,但其實非常少,只要站在詐騙集團的立場來看就很清楚,問題就出在於成本,使用者用電腦的作業系統、環境都不相同,做為詐騙集團,如果要從使用者這裡取得資料,例如植入木馬,有如大海撈針一般,如何知道這使用者有在線上購物,並且能夠抓到他購物的資料? 當然也可以使用釣魚的手法寄假的登入頁面,只是比起店家的信箱,買家的資料較難取得,再者,同一個人可以被騙幾次? 所以,再笨的詐騙集團都知道,從使用者個體電腦取得資料一點都不划算,我有見過很多商家都這麼說: 店家回覆:      非常謝謝您的支持!針對此詐騙電話,pchome已做防護,詐騙資料是由客戶端所收到的購買回件做詐騙,並非商店街外洩,請更改您本身的密碼,以防詐騙集團入侵你的信箱!希望以後還能再為您服務喔!^^  (2009/09/22 09:50:34) … Continue reading

Posted in 中文文章, 分享, 資訊安全 | Tagged , | 7 Comments