關於我自己

我的相片
New York, New York, United States
我叫江奕賢啦

2007年6月30日

不需安裝的網路中文輸入法

你在國外用過電腦嗎?如果你是留學生的話 你就知道有多痛苦了
有些電腦(學校或網咖)不會讓你安裝東安裝西的
你臨時要查個Google 都得保佑你想查的字你知道英文 要不然你只能望Google興嘆了

不過 那些都已經是過去式了
拜Ajax之賜
這種網頁就能打中文了 然後再用你熟悉的Ctrl-C(剪) + Ctrl-V(貼)就行了
如果你習慣其他輸入法(倉頡、無蝦米等) 這裡有其他網路輸入法的列表

不過 好像因為是大陸發展簡體 然後改成繁體的 鍵盤不是我熟悉的微軟注音鍵盤(ji3=我, ap6=們, etc)
等有時間 我來用這個檔案(小) 或 這個檔案(大) 把上面的改成我熟悉的輸入法吧
不過 通常 兩天才睡一次覺的我 時間是擠不出來的...唉

其他於電腦上使用中文之相關資訊 編碼、字型、輸入法、翻譯、轉換、工具等

2007年6月27日

Web 2.0 ... Icons






你的網站還是Web 1.9的icon嗎?
想換成Web 2.0的Icon的人 可以到這個網站(不是上面那兩個)看看
可以從右邊Content選你要哪一類的Icons

特色大多是3D圓滑顏色亮麗玻璃反光加陰影之類的aqua buttons加強版

如果你不介意是2.0還是1.9還是2.1 這裡有很多Icon網站的整理列表

2007年6月21日

抱歉 我不是故意要給你 buffer overflow 的

最近好幾批人馬用程式的方式 來我的網站抓資料回去 一直觸發我用來監視server的algorithms
造成我的log檔一天大概800MB
所以我就處理了一下

1. 先嘗試亂數給她資料 instead of 很花CPU的真的去算資料給她
結果:CPU使用率降到了3% 不過 我還是不滿意
2. 再來 我直接redirect給她固定的.html網頁 連亂數也省了 本來想說看他的程式會不會發現資料沒變 就不重傳資料
結果:沒什麼差別 就算告訴他nothing change, 或access denied, 他還是會一直來要
而且呢 他還要更快 因為他認為他上一個工作做完了
既然連告訴他access denied他都還是會來用我一點點頻寬 跟我要下一個access denied...
這種一看就是最笨的bot 你越擋 他抓越快
3. 但是呢 我發現 我用301 redirect出去的link他有去抓

這種情況最簡單了 instead of 不給她, 你當然就丟一個超大的問題給她 就解決了
所以 我就幫他選了個網路上頻寬很大的網站(microsoft)上面的一個不小的檔案(250MB)
然後用rewriterule給她個 HTTP response 301, 轉向到那個檔案
他的程式就乖乖的去抓檔案了
這樣 我們兩就都很開心了 他的程式很努力的工作 他很開心 我的電腦輕鬆工作 我很開心

後續報導:
理論上 不成功的話 (比如說 microsoft不願意傳給她那個檔案) 他應該馬上又來跟我要下一個link
理論上 成功的話 他的程式應該每download完250MB還會再來跟我要下一個250MB...的link
可是看起來好像就沒有來跟我要了 可能是他buffer被塞爆了吧
要不然這個時代250MB應該要不了多久時間吧

抱歉 我不是故意要給你 buffer overflow 的
我...我...我...下次會給你一個小一點的...shellcode的...

Mr. M: ㄟ...Microsoft, 你很沒良心耶, 哪有人shellcode 250MB 的啦
Mr. Microsoft: 你log都有800MB 我shellcode還比你小ㄌㄟ
Mr. M: 那是大家喜歡我的網站 流量眾多
Mr. Microsoft: 屁啦

2007年6月18日

所有 O'Reilly 書免費讀

不知道現在的小朋友對oreilly的書看得多不多
從我上NYU開始 O'Reilly的書對我來說就都是免費的了
(不止O'Reilly 幾乎所有的電腦書、生物醫學書、以及期刊 全都線上免費閱讀 付給NYU幾百萬的學費不是交假的)
畢業後照樣免費啦 哇哈哈 (終生免費嗎?I don't know)

最近教授終於慢慢的不吵我了
又有時間開始看書了
剛開始很不習慣 太久沒看書了 靜不下來 只想用search的 (沒辦法 被估狗教壞了)
還好 看了一兩天後 開始回來了
希望這兩天可以把下面四本看完
Rails Cookbook
Ruby Cookbook
Beyond Java
Ruby on Rails: Up and Running

還有時間的話 再把下面的翻一翻
Ajax on Rails
Ajax Hacks
Understanding AJAX: Using JavaScript to Create Rich Internet Applications

轉入正題:
今天 邊看 Ruby Cookbook 邊拍桌
這個語言 裡面有好多我老早就想要的功能喔
比如說類似 Matlab的Matrix operation(MatA*MatB 矩陣相乘)
Set的Operation (SetA union SetB, [1,2,3] & [1,4,5] = [1], etc)
所有的東西都是物件 連數字也是物件 所以可以像這樣 1.to_s 把數字1轉成字串
還有 他的分散式運算 shared memory, DRb, 真的是我看過最方便的
server和client 各四行code就把物件在多台電腦間realtime共用了

不知道我如果用USD$20/月 出租我的O'Reilly帳號+所有線上期刊+N個線上圖書館 不知道有沒有人有興趣
台灣應該是找不到比這個完整的東西 但是 缺點是 都是原文書 (沒有中文的 哈哈)

2007年6月14日

點進3D的街道旁的商店裡



上次在Google Street View這篇提到
終究會讓人點進旁邊的商店的 (商機之一啊)
不管是Google決定去做 還是別人決定去做
照目前的狀況來看 應該是 http://www.everyscape.com/會先弄出來 (首頁有demo)
不過 這家的技術應該比較像這篇提到的Microsoft Photosynth

Google fingerprinting Video and Audio

記得我在這篇裡面提到用image的fingerprint來查盜圖

今天 Google宣布 會跟各大唱片電影商合作
http://googleblog.blogspot.com/2007/06/state-of-our-video-id-tools.html
打算把Video和Audio都用fingerprint的方式 來查有沒有人把商業影片貼到YouTube上

呵呵 要是哪天 Google開始查他index到的網頁有沒有放盜版MP3和影片 that would be interesting 呵呵

Google也提到到時候應該會碰到怎麼即時處理大量資料的問題
by the way, 我猜我應該找到這篇中頻寬及CPU的解決方案了
將計算放到client端
將結果存進DHT
將backup存進無限空間 OR re-save to DHT every 7days

PS:歡迎於comments提供其他應用

KKBOX theoretical exploit

我的天...這種保護法...真不知道是誰想出來的...

說到我很喜歡的一個網路服務 KKBOX...
之前保護都還做得不錯 (我猜 也因此到現在還活得好好的)

這幾天 進入這頁填入你的email之後 會動態隨機挑位置跳出要你確認email的box
https://ssl.kkbox.com.tw/reg_step1.php
而且 如果你的email address是動態generate出來的話(mark635282823725237@mark.com, etc)
當你想要回去check你的email來看看要填入什麼的時候
你會發現 格子會跑!
嗯 剛看到的時候 覺得還蠻有新意的

不過...後來卻發現 他竟然把email認證的部分取消了(我猜應該是想讓user方便吧)
(以前需要去收email然後點個link認證)
我的媽啊 這樣...我看沒多久 就會有全自動的免費KKBOX出來了說...
而且還是可以脫離KKBOX而單獨使用WMA的破解版本說...
My dear friend, 改一下吧!

theoretical exploit:
1. 因為填一個表就可以完成, 所以可以很簡單的用一個http完成填表動作
2. 因為不需要真的人力介入讀信, 甚至不需要確認是哪一個信箱, 所以可以很簡單的用server response達成確認動作(如果有確認email account存不存在) 或填一個別人的email account
3. 因為KKBOX目前可用WMA格式離線聆聽 只要"電腦裡"有合法的digital licence
4. 因為1,2,3 所以可以在user電腦上掛一個service, 隱藏在background幫user填表註冊, 並完成確認動作(如果有的話),並取得digital licence.
5. user所要做的事 就是用microsoft附的免費的media player 免費聽歌

如果只是我推理錯誤 那我替你我都開心 ;)

2007年6月12日

ruby on rails with acts_as_tree



ruby on rails 要怎麼把database裡面的資料做成樹狀圖ㄌㄟ?(folders, categories, tree, etc)
基本上database弄成parent-children的格式, model的部分用acts_as_tree達成
然後Helper裡面放上ul li或WebFXTreeItem, 就可以在view呼叫了
詳情請見下面網站 請來回各讀三遍 融會貫通後即可使用

rails 配和 ul li 做tree
http://snippets.dzone.com/posts/show/296
http://snippets.dzone.com/posts/show/1919

rails 配和xtree做tree 附migrate, model, controller, helper, rhtml
http://arden.javaeye.com/topic/40922

rails 配和xloadtree的xtree2 附controller, rxml
http://www.matrix.org.cn/thread.shtml?topicId=af148d04-843e-11db-bc5a-8183484e8085&forumId=56

用rails的acts_as_treemap 把tree用地圖方式表達
http://blog.tupleshop.com/2006/7/27/treemap-on-rails

http://wiki.rubyonrails.org/rails/pages/ActsAsTree

2007年6月10日

每次都會忘掉

氣死我了, 每次都會忘掉怎麼用ruby on rails, 老了, 還是寫下來的好

1. rails testrails
2. in config\database.yml
development:
adapter: mysql
database: account
username: root
password:
host: localhost

test:
adapter: mysql
database: account_test
username: root
password:
host: localhost

production:
development


3. ruby script\generate model user
4. in db\migrate

class CreateUsers < ActiveRecord::Migration
def self.up
create_table :users do |t|
t.column :login, :string
t.column :password, :string
t.column :created_at, :datetime
end
end
def self.down
drop_table :users
end
end

5. rake db:migrate

6. ruby script\generate controller user

7. scaffold in controller
class UserController < ApplicationController
scaffold :user
end

8. ruby script/server
9. browse to http://localhost:3000/user

10. ruby script\generate scaffold user
11. edit those controllers
12. browse to http://localhost:3000/users

接下來可以試試看下面這個tutorial 教你怎麼弄 belongs_to 和 has_many 以及幫資料分categories會用到的rhtml
http://www.aptana.com/docs/index.php/Setting_up_the_Cookbook_database_in_RadRails

2007年6月9日

Skype P2P TV

兩款跟skype有關的p2p tv

1. 讓你遠端看電視節目 你只需要在電腦上插一隻特別的USB TV Device
你可以在這看到demo (你得先裝skype)
目前有1,2,3,4,5,6,8,9,10,12十台
可以在chat視窗中打##12#來轉到第12台
詳情請見日文說明


2. 讓你遠端看網路節目 你只需要安裝joost (Kazaa, Skype創始者搞的 以前代號Venice Project)
目前是要有邀請函才能試用
你的朋友沒有人有邀請函的話 可以到這裡搞到邀請函

2007年6月5日

map wiki, Google Mashup Editor 版



之前一直想做一個可以給user自己放POI在地圖上的功能
甚至User可以為自己的POI打分數

比如說 把自己喜歡的餐廳放上自己的地圖 然後幫餐廳打分數

後來因為忙著畢業論文 就暫時擱下了
最近 論文丟出去了 正準備撿起來用ruby on rails來implement一下

結果 google邀請我試用 Google Mashup Editor
裡面直接就有範例了

不過 也許是我哪裡搞錯了 名稱明明是map wiki 理論上應該要可以大家一起編輯的
可是看起來他像是每一個user有一個自己的feed來存data
這樣沒有版本控制 好像還是wiki不起來

2007年6月1日

Rails+MySQL

1. Rails+MySQL UTF-8 問題
請在 config/database.yml 裡面
加入 encoding: utf8

development:
adapter: mysql
database: abc
username: lala
password: abc
host: 1.2.3.4
encoding: utf8

2. field 裡面如果有 type 這個 field的話 ruby 會出錯
錯誤訊息 "syntax error, unexpected tINTEGER"

老人 卡通 歌仔戲




懷念古老的卡通嗎? (民國63年到民國84年)
無敵鐵金剛?小甜甜?小精靈? 小飛俠?
還是你已經忘記你看過哪些了?

可以在消逝的聲音 裡面的卡通年鑑卡通MTV找到你要的資料
包含時間、簡短敘述、screenshot, 主題曲、短片等

對歌仔戲有興趣的可以看看凋零的戲曲 甚至還可以線上看歌仔戲呢

要是倒掉的台灣故事館 播放這些的話 就不只這麼酷