Category Archives: 分享

Po translate 自動化翻譯工具

之前有寫一個 PO檔自動繁簡轉換程式,但是因為沒有把它傳到PyPi上,所以要到處copy貼上很麻煩,為了方便使用,我把它打包並且傳到了PyPi,以MIT License開放源始碼,不過只是一個很簡單的程式而已,我想應該沒有多少人會想改些什麼,但是當然有人有興趣的話,歡迎修改 這個程式主要是用來解決繁體中文的.PO檔和簡體之間的互換問題,因為翻譯完繁體中文,基本上和簡體沒有太大差別,用Google translate轉成簡體就可以,但是手工作起來很煩,這種事情當然是交給程式執行 安裝方法很簡單 easy_install po_translate 使用也很簡單 po_translate input.po output.po zh-TW zh-CN 像這樣就能輕鬆的透過Google translate把繁中的.PO檔轉成簡中的 相關連結 PyPi的連結 Bitbucket的Repo

Posted in Python, 中文文章, 分享 | Tagged , , , , , , , , , , , , | 1 Comment

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 , , , | Comments Off on Open the browser, and here comes the computing power

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 = htmllib.HTMLParser(None) p.save_bgn() p.feed(s) … 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

夏天協奏曲 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

My review of Webfaction

experience of using webfaction virtual hosting service Continue reading

Posted in English Articles, 分享 | Tagged , , , | Comments Off on My review of Webfaction

Python使用HGE引擎

大家肯定都知道在Python下面寫2D遊戲有個眾所階知的選擇就是pygame,雖然它簡單好寫,對於簡單的遊戲來說已經足夠,但是他有一個致命的缺點,就是速度太慢了,在pygame的背後是SDL,用純軟體畫圖的函式庫,既然為純軟體繪圖,遇上旋轉、半透明等等需求,更顯得吃力和不切實際,所以該怎麼辦才好呢? 答案是用Haaf’s Game Engine,它是一款用DirectX做為backend的Open source遊戲函式庫,我在先前的文章裡已經有做簡單的介紹,就不再重覆,那這函式庫和Python又有什麼關聯呢? 他是用C++寫的,Python沒辦法用,正因為這樣,我一直一來想幫他寫一個python的binding,我一直想如果Python也能用HGE寫起來一定很開心,我試著找了一下有沒有已經存在這樣的專案,有找到一個,但是居然是在萬惡的GNU授權下的,讓我百思不得其解,那專案的作者到底在想什麼? 想讓大家寫Open source的Game嗎? 我們都知道GNU是大名頂頂的病毒授權,任何程式使用了用GNU的函式庫都會被感染,代表你的主程式一樣得變成GNU的開源授權,我個人非常討厭打著自由名義但是卻有強烈的強迫性質的GNU授權,況且HGE的授權是非常寬鬆的 zlib/libpng License,實在想不透為什麼一個binding可以用超嚴格的GNU,不過那是那作者的自由,我也管不著,在不能接受那惡心的授權,加上我看了一下他的專案似乎好像也沒有很完整的進度,於是我還是決定自己開了一個新的專案 Python HGE 在這樣的情況下,我前些天抽空開了一個新的Open source專案: Python-HGE,把一些最核心的程式碼都用boost.python包裝給Python使用,最核心的部份完成度很高,剩下的需要我在未來有空慢慢補上,License是MIT,如果你問我為什麼選MIT,我想答案應該是商業用途一樣也可以,不像GNU那種假腥腥的自由,還有一個重點就是,我覺得麻省理工這名字聽起來很酷,讓我想起每次在Discovery看到的東西 效能問題 我照著原本HGE的Tutorial7的程式寫了一個Python的版本,這個範例的目的就是在展示HGE的效能,純C++的版本速度當然是很快,而Python的版本FPS掉了不少,一開始讓我覺得有點失望,讓我開始懷疑如果效能掉很多的話,那用Python寫HGE還有價值嗎? 後來仔細思考了一下,對於一般的2D遊戲來說,要像這demo整畫面跑來跑去的圖片加透明效果的情況實在不多,就算有也很難到這樣上千張的圖片,再者我都還沒進行最佳化、跑profile等等,而且雖說FPS掉不少,但是那是和C++數百的FPS比起來,在60以上其實都是可以接受的,加上我測試的這台電腦已經有點年代,對現代的電腦和GUP來說情況只會更好,在如此的考量之下,Python HGE還是有搞頭的 python版的tutorial 7截圖 這個demo可以在這裡下載 目前狀況 目前雖然核心部份已經高度完成,不過我還沒有把編出來的pyd釋放的打算,如果想嘗鮮的話可以直接從那個demo裡面找pyd出來用,又或著自己check out原始碼進行編譯 參與開發 如果有興趣的話,歡迎參與專案的開發,如同我上面所提到的,我用的是boost.python,一款基於C++的python binding函式庫,如果你熟悉boost.python的話當然是最好,就算沒有也沒關系,因為其實大部份工作都是剪下貼上之類的,可以參考我已經寫好的部份,有些函數回傳例如指標之類的東西需要特別處理,除此之外都只是很簡單無腦工作

Posted in C/C++, Python, 中文文章, 分享, 設計, 遊戲設計 | Tagged , , , , , , , , , | 4 Comments

經緯度轉換TWD97

最近因為專題上的需要,需要把經緯度轉成TWD97的座標,而在更早之前我寫的電力座標轉換程式,則是需要把TWD97的座標轉換成經緯度,今天我們來談談關於這些地理座標的轉換

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

WebFaction能不能跑自己的C/C++語言Server?

介紹如何在WebFaction虛擬主機下跑自行編譯的C/C++ Server Continue reading

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