八月 8, 2011

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» Google Call +1

現在用 Google Call 就能用網路撥號給市內電話及手機了。

費率目前是市話 0.02美金/分,手機 0.09美金/分,換算台幣大約是 0.6/分 、 2.7/分。其實市話費率與中華電信費率差不多,而長途電話方面,有一點優勢,在手機費率方面則有明顯優勢。

剛剛,我已刷卡儲值 10 美元了。話質感覺不出是網路電話,效果還不錯。

建議各位使用。

=== 後記 ===
今天很驚訝地發現, Google Call 的發話地居然是「中國大陸 - 上海」,奇怪它們不是退出中國了嗎? 還是那個只是合作的電信業者。不過從這點看來,臺灣電信公司的通話費率應該是頗高的,竟然從上海打來的電話,還能收得比中華電信網內互打還便宜。

九月 28, 2010

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» 使用 Google AJAX Libraries API 時,無法離線撰寫網頁程式?

在網頁程式中,我都是使用 Google AJAX Libraries API 來 host jquery 程式庫的,然而這麼作有一個缺點,如果你是在離線作程式設計時,要手動修改樣版,把 Google 來源的 js 檔改成從本機讀取,是有點麻煩,但致少作得到。

但若是將來在系統上線後,使用者上得了你寫的網頁系統,卻無法連至 www.google.com 呢? 那怎麼辦,雖然這個機率會滿低的,但也是有可能會發生在這個網頁系統屬公司內部系統,而對外連線卻被中斷的情況下。

別怕! 很簡單,下面就是一個範例,第 6、7、8 行改成本機 host 的檔即可。



1 <link rel="stylesheet" title="default" type="text/css" media="screen" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/smoothness/jquery-ui.css"> 2 <script type="text/javascript" src="http://www.google.com/jsapi"></script>
3
4 <script type="text/javascript">
5 if (typeof google == 'undefined') {
6 document.write(unescape('%3Cscript src="/localmedia/jquery-1.4.min.js" type="text/javascript"%3E%3C/script%3E'));
7 document.write(unescape('%3Cscript src="/localmedia/jquery-ui-1.7.2.custom.min.js" type="text/javascript"%3E%3C/script%3E'));
8 document.write(unescape('%3Clink type="text/css" href="/localmedia/smoothness/jquery-ui-1.7.2.custom.css" /%3E'));
9 } else {
10 google.load("jquery", "1.4.0");
11 google.load("jqueryui", "1.7.2");
12 }
13 </script>


延伸閱讀: Using CDN Hosted jQuery with a Local Fall-back Copy

十二月 15, 2009

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» 懂基本原理與不懂基本原理的差別

我在使用 Google AJAX Library api 時,遇到一個奇怪的問題:


//第一段
<script src="http://www.google.com/jsapi"></script>
<script>
google.load("jquery", "1.3.2");
google.load("jqueryui", "1.7.2");
</script>
<script>
var $p = $('<p>123</p>');
alert($p.text()); // it works
</script>

以上程式碼居然不等於下面的程式碼!

//第二段
<script src="http://www.google.com/jsapi"></script>
<script>
google.load("jquery", "1.3.2");
google.load("jqueryui", "1.7.2");
var $p = $('<p>123</p>'); //會發生「未定義 $ 」問題。
alert($p.text());
</script>

但第一段程式碼可換成下面程式碼

//第三段
<script src="http://www.google.com/jsapi"></script>
<script>
google.load("jquery", "1.3.2");
google.load("jqueryui", "1.7.2");
google.setOnLoadCallback(function() {
var $p = $('<p>123</p>');
alert($p.text()); // it works
});
</script>

也就是 js 引擎對 <script> 區塊的判讀有特殊行為存在,要不然就是 jsapi.js 程式有獨到之處,但因為我不懂 js 引擎也沒仔細去看 jsapi.js 程式碼,所以我只能 try and error ,慢慢兜。

十一月 21, 2009

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» 莫明奇妙的 _ 網域名稱錯誤: 只發生在 IE 上

嚴格地說,這也不是 IE 的錯, IE 只是遵守規範而已。但是因為 Firefox 的容錯能力,讓我們一時以為是 IE 太爛了。

問題是這樣的:

我學弟使用 Windows 加 apache 配置一個測試網站給業主使用時,一直面臨 IE 不能登入,但 Firefox 卻正常的問題,而該網站在 django development server 運作時,卻又沒有問題。他搞了非常久,大概有一個月吧!

我幫他 debug 時,一開始,我就把問題縮小在 IE 瀏覽這 apache 上的測試網站時,它不會紀錄 Cookies,沒用 Cookies ,那怎麼保持認證連線呢! 只是那時候,我也是找不出為什麼那該死的 IE 就是沒法使用 Cookies ,而優秀的 Firefox 就可以呢! 然後,我使用了 Ubuntu Linux 配置這個測試網站結果發現它可以讓 IE 正常運作,所以我們當時只能歸納這問題,一定是他的 XP 出了狀況。

結果前兩天,他要把測試網站放到業主的機器上去 run 時,還是出了相同的問題,然而這次不一樣的是那個機器有兩個 django-based site ,但一個正常,一個不正常。這就有點說不過去了。

於是,這次我請教了 Google 大神,問它: django cookie session problem ie ,而它回我: http://code.djangoproject.com/ticket/7264#comment:3

這原來是 _ 的錯,因為學弟習慣將測試網址設成 test_XXX.YYY.ZZZ ,而我習慣設成 XXXtest.YYY.ZZZ ,因為我知道在買網址時只可以買英數字加連字詞(-)的,所以我不會在網域名稱中放入 _ ,也就是這個習慣讓我在 Ubuntu Linux 中架的測試網站是可以讓 IE 正常使用,但學弟架在 Windows 上的測試網址卻包含了 _ ,讓 IE 勇於拒絕他的要求了。

這同時也解釋了為什麼在 django development server 運作時, IE 可以正常的現象,因為它會使用 http://127.0.0.1:8000/ 作瀏覽網址。

哈哈,真不曉得該怪 IE ,還是得怪 Firefox 呢! 不過,話說回來,要是早點問 Google 大神,這問題就不會拖一個月了。

七月 25, 2009

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» Mercurial on Google Code is available to every project

今天晃到自己的專案 django-pgpauth 時,才發現多了 Mercurial 的選項。原來早在 5 月 28 日時就己經正式推出了。

要轉移原來的 subversion 資料庫到 hg 儲存庫中是很簡單的一件事。

在 Ubuntu 下,先安裝 python-subversion 套件。然後將 /etc/mercurial/hgrc.d/hgext.rc 中「# hgext.convert =」的註解拿掉。

接下來,作轉換的動作。

# hg convert http://projectname.googlecode.com/svn hg-client
# cd hg-client
# hg push https://projectname.googlecode.com/hg

最後,記得到 administer > source > Repository type,把 Version control system 改成 Mercurial 即可。

五月 18, 2009

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» Goog News: Mercurial support for Project Hosting on Google Code

from Mercurial support for Project Hosting on Google Code

...The primary reason was to support our large base of existing Subversion users that want to use a distributed version control system. For these users we felt that Mercurial had the lowest barrier to adoption because of its similar command set, great documentation (including a great online book), and excellent tools such as Tortoise Hg. Second, given that Google Code's infrastructure is built for HTTP-based services, we found that Mercurial had the best protocol and performance characteristics for HTTP support. For more information, see our analysis.
...


Yes! My next wish is "Mercurial library" can natively works on Google App Engine.

四月 28, 2009

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» 原來 Google Desktop Linux 版預設不能搜尋 .doc, .xls, .ppt 內文呀!

如果在安裝 Google Desktop Linux 前,你的系統未安裝 wv, catdoc 的話,是無法搜尋 .doc, .xls, .ppt 的檔案內文。

所以,記得一定要在安裝 Google Desktop Linux 前,先作

# sudo apt-get install wv catdoc

然後再安裝 Google Desktop 呀!

詳情請見 Google Desktop Help

四月 19, 2009

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» Web System Logining By PGP key!!

I designed an experimental web site with Django Framework to show the concept of web logining by PGP key. You can take a draft on the past article.

I hosted this project(`django-pgpauth') on Google Code. If anyone interested, just checkout or submit an issue to me.

<< Translate the above to tranditional-chinese >>

我設計了一個實驗性質網站來示範 PGP 認證如何應用在網頁系統登入上,其採用Django框架。各位可以從我之前的文章中得到初步概念。

我在Google Code上開立了 `django-pgpauth' 專案。 如果任何人有興趣的話,請直接 checkout 或是寫個 issue 給我。

三月 27, 2009

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» 如何在收信人不知情下,讓寄件人得知信件是否已開啟?

基本上,這問題的目的已經接近怪客行為了。因為你讓電腦使用者在不知情的情況下,傳遞某些訊息。

不過,因為問這問題的人不是為了收集 Email 位置,而是要確定收信人是否'''誤報'''信件接收狀態(也就是明明有收到,卻假裝沒收到來逃避作事)。所以,我提供一個廣為周知的方法來點醒他一下。

方法是'''利用圖檔'''。大家在使用 Gmail 時,有沒有發現為什麼某些信件格式是 html 且內含圖檔的信件都會被 Gmail 隱藏圖檔呢? 然後再提供一個顯示圖檔的連結, Gmail 何必脫褲子放屁,多此一舉讓使用者麻煩呢? 因為它是全球第一的 mail 服務商,別小看這個動作了。

因為圖檔是必須再連到某個伺服器來觀看的,所以如果這圖檔的 src 是 "http://some.where.from.you/?user_id=234455&mail;_id=45" ,則 http 伺服器勢必得到外部使用者的一個連線需求,且這連線還傳入了兩個變數:某個使用者及某封信件編號,如此一來,寄信者不就得到了收信者在瀏覽信件時所發出的連線需求。這樣就能確定收信者的確有收到此信。

但問題是,這個簡單的刺探動作早就被許多 webmail 或是 mail client 軟體給阻斷了。那又有什麼用呢? 是的,我們只能相信人類,人多是愚蠢的,所以如果你在信中放的是某些有趣/養眼的圖檔,誘惑他自己按下顯示圖檔的按紐,那他就中招了。

三月 14, 2009

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» Google 在不久的將來會推出 Google Voice

相關新聞請見: http://www.zdnet.com.tw/news/web/0,2000085679,20136833,00.htmhttp://www.ithome.com.tw/itadm/article.php?c=53945http://tech.chinatimes.com/2007Cti/2007Cti-News/Inc/2007cti-news-Tech-inc/Tech-Content/0,4703,130509+132009031301011,00.html

這個服務其中有一個非常重要的功能:「語言轉文字」。為什麼 Google Voice 為推出這個功能呢! 除了它實際對用戶是有幫助的外,它最大的一個目的是把不容易分析的語言轉成容易儲存及解析的文字後,方便作資料挖掘(Data Mining)。那 Google 要對這東西作 Data Mining 是要幹什麼? 請看我之前所寫的「給 google 的建議(構想篇)」。

當 Google 提供的服務愈來愈多,你會不會害怕自己的隱私權愈來愈小呢? 別害怕,這世界上,有一個叫 PGP 的玩意,有空了解一下吧!
Link

六月 23, 2008

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» firefox's plugin: better gmail2

很習慣用 firefox 上 Gmail 。而這個外掛可以讓你在瀏覽 Gmail 時,有更好的感覺,像是在信件列表時把附件格式秀出、區別 Label 顏色、修改佈景主題…等,使用很簡單,裝好後滑鼠點點就行了。右圖是我的新 Gmail。

六月 18, 2008

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» Google Toolbar for Firefox3 is release!

配合 6/18 firefox3 download day, Google Toolbar 也總算出了向上相容 firefox3 了。

六月 15, 2008

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» 「實在」是太高興了:我拿到 Google App Engine 帳戶了

今天上 lanma 的「Python on Google App Engine」課程,才知道現在可以透過 SMS 手機認證的方式拿到帳戶。

方式很簡單,先上 http://appengine.google.com/ 去申請,它會要求你輸入手機(886+XXXXXXXXX)的號碼,只要你的手機沒用可攜的話(就是原本中華,但門號不變卻改成遠傳)那就可以收到一則驗證簡訊。再把簡訊內的驗證碼輸入即可。

五月 21, 2008

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» 很難相信,但還是得接受

在軟體領域,年齡就不是那麼重要了。影片是一場在 Google 的演講,講題是 JQuery ,講者是一位 12 歲的年青人。

四月 13, 2008