顯示具有 technique 標籤的文章。 顯示所有文章
顯示具有 technique 標籤的文章。 顯示所有文章

2008年7月3日 星期四

TiddlyWiki在IE上無法儲存的問題

最近同事問我平常在電腦上拿來記事的那套叫做什麼,看起來好像很好用,在我的介紹下,下載了卻不能存檔,我的IE跟Firefox都用的好好的,後來查了一下,原來是IE在下載檔案的時候,在某些條件下,會認為這個檔案是從網路上下載的,不讓你執行裡頭的Script,所以就無法存檔。

解法就是在這個檔案上頭按右鍵選內容,
block
怎樣,沒看過這種畫面吧? (我孤陋寡聞),按下「解除封鎖」之後,TiddlyWiki也可以在IE上正常使用囉。

當然,或是你用Firefox下載TiddlyWiki,或是你存到FAT磁碟等等都不會有這個問題。

Ref: ServicePack2Problems

2008年1月6日 星期日

高鐵線上訂票的CAPTCHA

高鐵線上訂票的CAPTCHA

有時候看到某些網站的CAPTCHA還真會讓人啼笑皆非,上次我看到有個網站的CAPTCHA直接用PlainText大喇喇的寫在頁面上,然後叫人輸入這串文字....

這次高鐵沒這麼差,只是製造出一個機器很容易判讀的圖片而已。

現在的網頁如果要輸入一些資訊,無論是註冊,留言,訂票,可能最後都會叫你看著一張圖,然後叫你輸入圖片中是寫什麼文字,這是用來阻擋一些自動化的程式用的,除了用一些扭曲文字的圖片以外,還有的會叫你作簡單的運算叫你填寫結果,例如定便當網站,因為扭曲過後的文字,人還可以看的懂(不過有的真的是看不太懂阿....只好換下一張扭曲圖了...),但是用機器來判讀可能就會困難(這就牽扯到這程式聰不聰明了),你擺上一張沒有扭曲過的圖形,也沒有背景來擾亂,依現在的程式來說,加個OCR Engine就可以知道圖形裡頭寫什麼文字了,所以很容易就被攻破啦~~~ (啥? 不相信? 那就把那張圖片轉存成為JPEG,然後丟到這台WeOCR,他就會吐出辨識結果給你啦)

不知道寫這個程式的人只是跟隨流行而擺上去的,還是認為只要是圖就拿程式沒辦法了?
不過沒差啦,高鐵現在沒這麼熱門,不用訂票程式就可以訂到票了....(只是很容易被壞人攻擊亂訂票就是了...XD)

asirra
關於如何辨別是人還是機器,還有其他有趣的方法,例如微軟的asirra會動態秀出很多張照片,然後叫從裡面選出是貓或是狗的照片,這用機器也是很難作,不過對於那些貓狗不分的人可能就行不通了...

recaptcha
目前CAPTCHA的發明人建議用的是recaptcha這個一舉兩得的系統(高鐵其實也不用花心力自己作,人家都幫你作的好好的...),這個系統一次會秀出兩張圖片,然後叫你輸入這兩張圖片裡頭的文字,這圖片上的文字怎麼來的? 就是從真的書本上頭掃描(當然是選那些OCR沒辦法辨認的部份)然後加上一些扭曲變形之後得來的,所以你每作一次輸入就幫這世界的書籍的某一段小文字盡了一分數位化的心力。

既然兩張都是掃描得到的,那他怎麼知道你輸入的是正確的呢? 其實兩張裡頭有一張是已經被判讀過已知的圖形但是User並不知道,所以兩張都得輸入,當那張已知的輸入正確,那另外一張就是你的貢獻啦,當然有可能另外一張會重複出現給別人輸,有的人可能輸入其他的答案,例如1跟l,那系統只要選擇大多數人的答案當成數位化的結果就可以了(好像是三次一樣就會進資料庫)。

blogger_CAPTCHA
上面提到的CAPTCHA都是都必須用"人眼"來看才能判斷,那盲人怎麼辦? 寫這篇Blog的時候Blogger也會出現一個CAPTCHA,這個CAPTCHA旁邊有個按鈕,按下去之後就會將這個CAPTCHA用語音的方式念出來,然後再輸入就可以了... 不過對於又盲又失聰的人就是阻礙了。

2007年11月13日 星期二

每個人都可以玩玩看的GPhone

Google的開放手機平台,Android SDK已經開放下載了,SDK內包含Document,Emulator,Tools,還有整個Android系統的Image,所以只要開啟模擬器就可以見識一下Android的面貌以及基本的操作系統了(Home/Message/GoogleMap/Browser...)。
預設執行的手機螢幕是QVG,長相就跟這個Android Demo影片裡頭第一個demo的手機一樣,所以你想玩GPhone嗎?去抓Android SDK就可以嘗鮮了。

SDK使用也相當容易,因為AP完全使用Java語言來開發,所以不需要太多複雜的toolchain就可以進行開發(基本上只要Android SDK + JDK5/6 + Apache Ant就可以了,頂多加上Eclipse 3.3跟Plug-In幫助使用SDK內含的工具)

圖片 2.png
基本上架構圖裡頭藍色的部份都是用Java開發的(你也知道我都是聽來的.... )

值得一提的是Android並不是跑J2ME,而是比較趨近J2SE的環境,內含一個Dalvik VM,這個Dalvik VM並不直接執行Java的jar或是class檔案,而是.dex的檔案。所以AP在build的過程當中,會從Java class轉成給Dalvik VM吃的.dex,進而在把所有檔案打包成.apk
Classes + Resources + Description File => .apk (Including Dalvik Executable .dex files)


這個Dalvik VM針對手機程式/CPU做過最佳化,可以同時執行許多VM而不會佔用太多Resource,Dalvik VM的source目前還沒有開放讓人下載(未來整個系統都會開放),目前Google的角度是希望能讓大家用這套SDK開始開發AP,底層的東西會慢慢釋出。

所以隨著Android SDK的Release,也宣告了總獎金高達一千萬美金的Andriod應用程式開發大賽(可以想見未來會有多麼多采多姿的Android應用程式了吧... 說不一定你也會跳進來寫一個...)

目前釋出的Source Code有
Webkit 522 M3-RC20
Android Emulator M3-RC20
Linux 2.6.23 Android M3-RC20
Android Development Tools: a plugin for Eclipse.

可從http://code.google.com/p/android/downloads/list下載

Linux Kernel 目前Support Qualcomm MSM7K family (m... 很高檔的阿... 跟剛發表的HTC Touch Cruise用的是一樣的晶片)

沒有完整Source Code的話,看來近期內應該沒辦法看到有人Hack,讓它跑在Neo1973上頭了吧(硬體不一樣阿... ),很有可能第一隻真的是得等到2008的官方合作版GPhone了(不過Image裡頭的執行檔倒是可以dump出來.. m... 我不是強者,所以只能嘆氣+等待)

圖片 1.png
回家後,本來想抓下來繼續玩。無奈,Android SDK只support MacOSX with Intel CPU,PowerPC G5的iMac不能跑阿~~~~~

--
上面阿有錯的話就....... 你知道這是瞎扯的Blog....
吉祥物挺可愛,快去抓桌布吧~~

2007年6月16日 星期六

C, 我還不太會阿...

最近才發現原來在C裡頭,字串可以這樣寫...

printf("Hello " "World!");


C compiler會自動把兩個字串merge成一個,中間可以是空白, TAB, 甚至是換行都無所謂...所以也可以寫成..


printf("Hello "
"World!"
"Wa!!! I just don'n know C"
);


為什麼我會發現呢,因為我在某些巨集裡頭發現這種寫法:
#define XXX(a, b) printf("BlaBlaBla:" a ". hahaha!!", b)


覺得超級怪的阿,如果是參數變成字串,也應該長的像是#a阿,怎麼什麼都沒有...
原來是因為上面說的,字串可以直接寫成這樣子的阿...
用法就會像是 XXX("Give me %d", 5);
最後會輸出 "BlaBlaBla:Give me 5. hahaha!!"

對於C語言,我還不太會阿....

--
糟,我還得繼續用它來工作...

2007年6月8日 星期五

Eclipse Europa is coming...

The Next Total Eclipse

CDT 4.0, Mylar, WTP... 終於要release了!! 沒空玩Netbeans啦!!

(雖然Netbeans的發展也十分的神速,而且多很多Eclipse缺的東西,不過實在是沒空去研究阿!!)

2007年4月18日 星期三

[小技巧] VNC遙控Windows時重新開機

如果你用VNC遠端遙控Windows,有時候會需要重新啟動電腦,這個時候如果直接選擇重新開機,有時候會發現Windows先把VNC關閉,然後再關閉其他程式的時候卡住,這個時候電腦就再起不能了。

有個小方法可以解決,就是先選擇[關機]->[登出],然後在登入的畫面再選擇重新開機,我發現這可以降低電腦卡在關機的機率。