如何改變 firefox 3 預設的 google engine 語言

In General   July 11, 2008 - 2:36 pm

FF3 很好用這不需多說,但它預設的 google engine 是英文,有時我只想找中文內容時很不方便,今天翻了老半天還是找不到如何改預設的語系,後來只好用 B 計畫。

1、另外安裝一個繁體中文的 google engine 選項

2、然後將它移到最上方,就變成預設選項了。

改好的樣子是這樣(那個藍色的新 logo 實在是,呃,非常有特色…)

Picture 1.png

3、如果你嫌字太長,可以進到

/Users/USERNAME/Library/Application\ Support/Firefox/Profiles/USERFOLDER.default/searchplugins

找一個 googleXXX.xml 然後編輯它的內容,改完後變這樣,簡單又好看 :D

Picture 2.png

同場加映兩個小密技

cmd-K 可直接跳到 search 文字框裏

在 url 文字框裏直接打 keyword 也會自動搜尋

comments(6) | by admin

再過三天…

In General   July 8, 2008 - 11:49 pm

Picture 1.png

我也想要啊…XD

comments(6) | by admin

Run c/c++ in flash, again !

In General, flex   July 8, 2008 - 3:50 pm

最近仍然持續極度忙錄中,但有趣的新消息卻仍然不斷冒出,抽空趕緊寫一下。

還記得去年 Max 2007 時 Adobe 的神人 Scott Petersen 展示了一個 flash 版的 Quake 遊戲嗎?那時他使用的技術,例如 LLVM 等,現在已經變的更成熟,而且離正式推出更近一步了。

根據 toolness.com 的報導,Scott Petersen 最近在 Mozilla 給了場演講,說明了 LLVM 與 Tamarin 的運作關係,以及如何讓 c/c++ 程式可以跑在 Tamarin 上,下面是基本的 steps

1. c -> LLVM instructions (using slightly modified version of llvm-gcc)

c/c++ code 透過 llvm-gcc (可能有動手腳稍微改過以符合 Tamarin 的需要) 編譯成標準的 LLVM instructions (IR)

2. LLVM instructions -> opcode (run by LLVM virtual machine in as3)

這些 llvm instructions 再經由一個用 actionscript 3 implement 的 virutal machine 處理成底層的 opcode

3. as3 -> bytecode -> machine code

而東西一旦變成 as3 剩下的就好處理了,它會利用 flash player 既有的功能去處理 bytecode 與 JIT machine code 轉換,然後就可以在每個人的 browser, desktop 與 mobile devices 上跑了。

由上面三個過程可知,真正的關鍵在於 #2 的 llvm virtual machine,它能將 llvm 轉換成 flash player 可吃的 opcode 進而達成『介接』的目地。

並且,據 Scott 指出,他同時也設計了一個特別的 byte array 來 directly mapping the system ram, 籍此降低模擬時的耗損並提升效率,這也是為何 Max 2007 上那個 Quake game 會嚇死人的快。

*這樣做的好處是?

當然任何理性的人都會接著問,這樣做有什麼好處呢?答案是好處多的很吶~

1、由於他的 toolchain 支援 llvm-gcc,因此理論上,任何 c-based 的語言都可以吃進去,這包含了php, ruby, perl, python 甚至 java 與 objective-c ,只要這個語言能用 c compiler 編譯,就可以編譯成 llvm-instruction 然後在 flash player 裏執行。

因此,過去一狗票現成的 library 都可以拿來重覆使用,不需使用 actionscript 重寫,也不需為此特別把某些工作丟回 server 上去跑。

也因此,才會出現有人想惡搞,把 WINE port 上 flash 然後讓它跑 windows 程式 (flash player running on windows with windows application inside ?) XD

2、另一個更隱誨的好處則是

這可能徹底的改變人們編寫 web application 的方式。

基本上大部份人都會承認,現行用 javascript/html/css 寫 web app 實在不是那麼的理想(well, I’m really trying to put it very nicely here…),如果能讓開發者直接用熟悉的語言(會 php 的請舉手?ruby 呢?)一路從 backend 寫到 frontend,這不是方便許多?

3、別忘了 Tamarin

Tamarin 是 Adobe 在 2006 時捐出去的一個 ECMAScript VM,目前由 Mozilla 基金會與Adobe 共同開發維護中,將來會用在 SpiderMonkey 中,並出現在下一版的 Firefox 4裏。

而 Tamarin 與 flash player 系出同門,這代表,將來 llvm 的東西也可以跑在所有支援 SpiderMonkey 的 browser 裏,至少 Firefox 就少不了,所以 nay-sayers against flash 不用急著跳著搖頭,你們也有的爽 :P

4、當然也別忘了 air

對我們而言,能在 browser 裏跑 php, ruby 等其實價值不大,因為它 code base 的積體可能是個問題,但對一支 desktop app 來說,這些就不會是太大的 concern,我們可以儘情的 mashup 任何需要的語言、技術來個大鍋炒,不用重新再造輪子,這才是最有價值的地方。

*缺點?

-Object model 不相容

現階段雖然可以讓 c/c++ 程式跑在 flash player 上,但它們與 actionscript 的 object model 卻完全不相容,因此要 inter-op 可能還有段路要走,但 Scott 說這件事已在進行中了。

oh, 如果你對 inter-op 不瞭解,可以想像一下 JRuby 與 Java 的運作關係,或是 Objective-C 與 C++ 的關係,就差不多是那樣。

-速度夠快嗎?

LLVM interpreter 是用 as3 寫的,等於是 interpreter (flash player) 再加上 interpreter,執行速度可能是個問題(也因此 Quake 展示時它背後用的 byte array 有動過手腳,直接可 map 到 system mem 減少了一些 simulation overhead)

*延伸閱讀

-名詞解釋部份

LLVM GCC

LLVM 是什麼?

Using LLVM, one can create a virtual machine for languages that require a code generator for a specific machine architecture, and optimizers independent from particular platforms or languages. The LLVM intermediate representation (IR) is language and architecture independent; it lies between a language-specific module and a code generator for a specific machine.

-Ryan Stewart 去年專訪 Scott 的文章(個人認為這篇裏面講的細節更多,也比較正確)

Ryan Stewart 專訪 Scott Pertersen

1 comment | by admin

Microsoft 買了 Powerset

In General   July 2, 2008 - 9:56 am

Powerset

wow, 這消息居然是真的啊,而且賣價約在 100 million,也就是 1億美元(30億台幣啊~~~),這個數字相當於 Adobe 與 iPhone VC 所提出的總金額呢…

Powerset 是一個『自然語言』search engine,標榜的就是可以直接打入『火星上有沒有外星人呢?』這樣的問句就可以進行搜尋(on the internet, not Mars),而不用像在 google 要打 『+火星 +外星人』。

前幾個月受邀加入 private beta 時稍微玩了一下覺得並沒有很神奇,部份原因可能是它只能 targeting wikipedia,而那通常不是我的菜,另一方面就是自然語言搜尋這玩意本來就不好做(所以才值一億美元吶)。

所以,powerset 被 microsoft 買走到底是好是壞呢?

Powerset recently launched a showcase for its semantic search product, although they lacked the funds to do a full web index to prove out the product. As part of Microsoft, they won’t have that problem any longer. Now they just have to fight the bureaucracy to make sure the project continues to move forward.

只要能忍受官僚體系,搞不好還是大有可為啊(聲音越來越小且發抖…) XD

comments(2) | by admin

Cappuccino and Objective-J

In General   July 1, 2008 - 5:39 pm

最近怪東西挺多,上星期才有 SproutCore 的消息出來,這星期又出現一個 Objective-J 跟神奇的 Cappuccino (cocoa javascript port)。

幾個鏈結貼一下

Objective-J

280slides.com

簡單來說,Objective-J 是一個類似 Objective-C 的語法,它是包在既有 javascript 上的一層 messaging 系統,使用起來就跟 Objective-C 一樣。

同時,這三個 USC 畢業的小子也很熱血的把 cocoa 大部份東西給 port 過來成為 cappuccino,這包含了AppKit, Foundation, CoreGraphics, 與部份的 CoreAnimation,因此,只要學會怎麼用 Objective-J 與 Cappuccino 就可以像開發 mac app 一樣的快速開發 web app。

而他們的第一個示範作品就是 280 slides.

280_slides.png

從圖中可以看到整個介面長的跟 keynote 幾乎一模一樣,小小試玩了一下發現還 port 的直徹底(基本上 AppKit 弄過來了要長的一樣就不難),連這一兩年頗流行的 HID 面板也有了。

想到創造 Objective-J 與移植 Cappuccino 背後要花多麼龐大的心思、時間與努力才能完成,還真是覺得頗為震撼吶,尤其想到這三個人是 USC 畢業的高材生又曾經在 Apple 工作,要放下這一切跳出來,他們要嘛是有非常高的願景與夢想,要麻就真的只是青春無敵大不了三年後失敗重來一遍 XD

這時再把 SprouteCore, Air/Flex, Silverlight, JavaFX 與其它一狗票傳統的技術(Django, RoR…)放進來比一比,會發現其實整件事還挺精彩的…

小小提示:Cappuccino 標榜的是不用管 html/javascript/css 就可以建構 web app,聽起來有沒有跟什麼技術很像?我不知道你想到什麼,但我看到 GWT 浮在眼前…

comments(3) | by admin

Next Posts Previous Posts

mobile phone