Author Archive for clyang

IPureBlog – A easy way to browser blogger on IPhone

IPod Touch/IPhone is a handy device to browser website at anywhere (as long as you have wifi or 3G access). When I use Safari to browse your friend’s blog on blogger, the page will be automatically resized to fit the screen. I have to enlarge the page by myself and scroll the screen all around to find the article you want to read. But, we all realize that we only want to read the articles on the blog not the header, sidebar, ads. That would be fantastic if there’s a service can give me what I really want to read. I tried to find one but failed, so I decide  to write one called IPureBlog. Hope this service can help you too.

Continue reading ‘IPureBlog – A easy way to browser blogger on IPhone’

IPureBlog – 讓你輕鬆在IPod Touch/IPhone上看網誌

入手IPod Tocuh多天後,操作起來實在是愛不釋手,常常拿著機器來把玩,當然免不了上上網來看看美女的朋友的網誌,使用後發現,雖然IPod Touch/IPhone支援方便的瀏覽方式,但是對於多數的網誌頁面配置來說,瀏覽起來還挺不方便的,手指頭要一直滑來滑去的找到想點選的文章來看,許多邊攔以及上下頁面對我來說根本都是多餘的,所以我決定自己寫一個服務,來加速我看網誌的速度及便利性。

Continue reading ‘IPureBlog – 讓你輕鬆在IPod Touch/IPhone上看網誌’

mencoder轉影片給IPod Touch觀賞之全攻略

*** Note *** 本篇的作法轉出來的檔案也可以順利的在IPhone上面播放

IPod Touch除了聽歌功能強悍外,影音撥放的能力也是吸引我的重點,大小適中的螢幕適合在通勤或出門等朋友時拿出來看看影片打發時間,可惜IPod Touch承襲著Apple Inc.一貫的風格,只能撥放MPEG4以及x264的編碼,對於大多數的電影採取的xvid、DivX或是日劇常用的rmvb都不支援,必須經過轉換才可以正常撥放,Windows上面有一堆簡單方便且免費的軟體可以使用,但是我實在不想要浪費自己電腦的資源和電費來做這種浪費時間的事情,於是腦筋就動到某台身在遠方卻有8個核心可以使用的強大機器,用遠端的運算資源,電費也是別人家付,多划算阿!!! 畢竟在這經濟不景氣的年代,說要好好善用資源啊!!! XD

Continue reading ‘mencoder轉影片給IPod Touch觀賞之全攻略’

買了IPod Touch二代

前天買的,到今天才有空把它打開來把玩,目前屬於完全不知道該怎麼玩的狀態,還在熟悉機器中,但是玩到現在還算一切滿意,除了目前不能Jailbreak讓我有點難過之外,期待完整的Jailbreak能夠趕快出現吧!

Btw,手邊有這台機器的朋友們,有推薦的軟體嗎?

好用的curlftpfs

常常在開發網頁程式時,我們會在自己習慣的平台上面寫完及測試後後,再丟上去真正運轉的機器運行,最常見的方法便是用ftp client上傳,但如果更新較為頻繁,這個動作做多了還是會不太耐煩,總希望可以直接mount遠方的ftp目錄當作是自己的一個目錄來使用,如此一來,只需要使用常用的cp、rm這類的指令便可以達到操作遠端ftp目錄下的檔案的功能。

幸運的是,在Debian下面有個方便的套件叫做curlftpfs,這軟體使用的底層便是大名鼎鼎的FUSE,搭配著cURL Library組合而成,讓我們可以很方便的在Debian下直接mount遠方的ftp資料夾。

安裝及使用方法如下:

  1. apt-get install curlftpfs (安裝curlftpfs)
  2. curlftpfs -o iocharset=big5,codepage=utf8,ipv4,user=帳號:密碼 ftp://xxx.xxx.xxx.xxx 本地目錄
    iocharset指的是本機端所使用的編碼
    codepage指的是ftp那端所使用的編碼
    密碼不可以包含空白

如果你不希望你的密碼暴露出來,可以僅使用user=帳號,如此一來程式會要求你輸入密碼後再繼續執行。最後,假若你希望能在每次開機後,自動mount遠端某個ftp目錄,請編輯/etc/fstab加上一行

curlftpfs#xxx.xxx.xxx.xxx /mount的目錄 fuse rw,iocharset=big5,codepage=utf8,ipv4,user=帳號:密碼,user,noauto 0 0

記得更改一下/etc/fstab的權限,否則就全部的人都可以看到你的帳號密碼了。

sqlite3 performance tuning

太久沒用sqlite, 外加之前使用的地方都是小資料的應用,沒啥必要做tuning,但是這次我的data有1,490,755 (約150萬筆),在這種scale下就發現之前的暴力法,即使有建Index, 還是不夠用了。

測試出來能夠增加效能的方法 (加上下面粗體的三行):

sqlite3_exec(db,』PRAGMA synchronous=OFF;』, NULL, 0, &msg);
sqlite3_exec(db, 『BEGIN TRANSACTION;』, NULL, 0, &msg);
sqlite3_exec(db, 『YOUR_STATEMENT』, NULL, 0, &msg);
剩下的1499998個statements
sqlite3_exec(db, 『YOUR_STATEMENT』, NULL, 0, &msg);
sqlite3_exec(db, 『COMMIT TRANSACTION;』, NULL, 0, &msg);

比較結果如下:

INSERT 1.5M筆 record

TUNE之前  每insert 10000筆約3分鐘
TUNE之後  做完1.5M筆record花費 1分13秒

UPDATE 1.5M筆 record

TUNE之前  超級久~~慢到我忍不住按Ctrl+C
TUNE之後  花費10分32秒

結論,INSERT變的超快,UPDATE速度也有顯著提升,不過UPDATE的速度還是不太理想,看到這篇文章的朋友不知道有沒有更好的方法可以分享呢?

推薦中國反垃圾郵件聯盟(CASA)的RBL

中國反垃圾郵件聯盟是一個非營利的由一群熱心的中國網友所建立的。從建立到現在已經建立了一定的公信力以及很低的誤擋率,大陸/香港地區有非常非常多的人採用他們所提供的RBL(Realtime Block List)。

Continue reading ‘推薦中國反垃圾郵件聯盟(CASA)的RBL’

如何在澳洲收看有字幕的數位電視頻道

全世界都在推動電視訊號數位化,澳洲也不例外。在澳洲,數位電視採取的規格為DVB-T,很幸運的跟台灣是使用相同的規格,換句話說,你可以來澳洲前就先買好數位電視盒/棒來這邊使用,但是要怎麼買就是學問了,譬如說,在台灣看電視有字幕是天經地義、理所當然的,但是在這邊可不是,你的設備必須使用有支援解讀字幕訊號的功能,對我來說,看著自己喜歡的影集,配上英文的字母,可以快速且無負擔的增加我的聽力及閱讀能力,所以有沒有字幕的功能對我來說就超級重要了。於是乎有了這篇購買心得,希望看過這篇文章的人可以少走點冤枉路。

Continue reading ‘如何在澳洲收看有字幕的數位電視頻道’

你還在PHP裡面使用srand()嗎?

念資工的人多數都是由C語言起家的,只要計概教到亂數產生的function時,授課老師總是會耳提面令的提醒著要記得使用srand()來產生一個random seed,否則每次跑出來的亂數都會是相同的,相信大家應該都有這段的印象才是。

於是,當我開始寫PHP後,也自然而然的將這個習慣套用進來,總是習慣先使用srand()產生亂數種子後,再用rand()產生亂數,直到前幾天,我亂翻PHP的Manual才在srand()說明頁看到下面這句話:

Note: As of PHP 4.2.0, there is no need to seed the random number generator with srand() or mt_srand() as this is now done automatically.

原來PHP 4.2.0以後,使用亂數前已經不用先指定產生亂數種子了,它會自動的幫你產生,所以自己多做無謂的事情已經有一段時間了 Orz~,雖然少這行呼叫對程式效率也不會有任何提升,但是能少打點字還是不賴啦,如果你有看到這篇文章,記得下次在寫PHP時可以直接呼叫rand()喔!

簡單實作PHP圖片驗證

手邊有個服務需要圖片驗證(captcha)的功能,所以翻了一下之前寫的code,順便整理一下跟大家分享。這邊的code是產生出來的圖片是最簡單的樣式,僅是四個亂數產生的字母(有字母可能重複),外加上一些黑點雜訊來增加辨識上難度,為了避免黑點干擾造字母的辨識困難,我剔除掉一些長相相近的字母,希望增加使用者輸入正確的機率,畢竟圖片驗證是要拿來擋機器人而不是拿來刁難真正的人類阿。

Continue reading ‘簡單實作PHP圖片驗證’