找回密码
 FreeOZ用户注册
查看: 3901|回复: 19
打印 上一主题 下一主题

[新技术交流] SIKULI作者被slashdot后感言:Change The World!

[复制链接]
跳转到指定楼层
1#
发表于 26-1-2010 21:56:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?FreeOZ用户注册

x
Change The World!
by vgod



之前一直沒機會跟大家分享我在MIT到底在做什麼研究,但拜登上MIT首頁的一篇報導「[url=http://blog.vgod.tw/go.php?http://web.mit.edu/newsoffice/2010/screen-shots-0120.html]Picture-driven computing[/url]」所賜,我這兩年的project [url=http://blog.vgod.tw/go.php?http://sikuli.org]Sikuli[/url]像原子彈爆炸一般透過slashdot和twitter以不可思議的速度擴散開來。而這幾天,剛好碰上學校每年都會舉辦的滑雪三天三夜旅行,我照著計劃坐上遊覽車到四小時車程外的緬因州滑雪。第一天晚上到旅館發現沒網路可用,只好早早上床睡覺養足隔天的精神。到了隔天中午,在雪場的餐廳吃午飯時,我想說該來試試有沒有網路用,於是拿出ipod touch連上網後,沒想到迎面而來的是近百封關心sikuli的郵件。在震驚之餘,我還沒意會過來到底發生什麼事了,直到我看到一封來自跟我同實驗室的學長Michael發給實驗室所有人的信,標題寫著:「Sikuli on Slashdot!」,接著我才意識到:啊!原來是遭到slashdot effect攻擊了!(slashdot是全世界關心科技、網路、電腦技術的人幾乎必看的網站,只要某個網站一被登上slashdot,馬上就會遭到來自世界各地數以千計的閱覽攻擊,其效果等同於分散式阻斷服務(DDoS)攻擊,而這現象就被稱為slashdot effect。我以前都以為只有網站會有突然出現的巨大流量,沒想到連我的信箱也會…)
在這件事情之前,我從沒體驗過媒體和網路的力量可以有多麼驚人。從MIT News發出的一篇報導,隔天被轉載到一小部分科技、技術網站,並且在twitter上開始有人開始口耳相傳這個新玩意。再過一天,有人把這消息推上了[url=http://blog.vgod.tw/go.php?http://slashdot.org/story/10/01/ ... twitterfeed&]Slashdot: MIT Offers Picture-Centric Programming To the Masses With Sikuli[/url],很快的sikuli這名字開始傳遍世界。我在twitter上搜尋了sikuli,想看看人們都說些什麼,結果看到由各種不同語言寫的[url=http://blog.vgod.tw/go.php?http://twitter.com/#search?q=sikuli]tweet[/url]不斷湧出,就在我還沒看完一頁時又冒出 「xx more tweets since you started searching」 的訊息。搜尋出來的tweets除了絕對多數的英文外,也看到很多俄文、法文、日文,反倒是中文的消息最少,實在讓我有點哭笑不得。(關於訊息的傳播,我也透過這次的事件觀察到不同國家對同一事件反應的一些有趣現象,以後再另寫新文跟大家分享。)
人在偏僻的山中滑雪,突然看到這麼多人們在討論著我的project,還有信箱裡塞滿各種關於sikuli的問題,讓我興奮得不得了。當時我的心情其實完全顧不得滑雪了,但難得的旅行還抱著電腦一直坐在餐廳裡實在也有點可惜,只好趁著有網路時把每封信大略瀏覽一下,下午就趁著坐纜車上山的空檔想想怎麼回覆這些郵件。
太陽下山後,我終於按奈不住卸下裝備就拿著電腦回到餐廳裡繼續連上網,結果又是更多的郵件湧入、更多的tweets、更多的衝擊。而當初把sikuli open source的決定,也讓我接到來自世界各地開發人員的意見和回饋,有人在一天內幫我把Linux上還沒實作的幾個功能寫完並送了patch給我,也有人為了在它的64-bit Windows上執行而直接hack了沒有原始碼的二進位EXE wrapper。除了寫程式的人外,有專業的user experience designer願意加入,也有人志願幫忙移植到Linux的工作。看著這些不知道什麼時候才能回完的信,我突然發現,我似乎真的做了一件不得了的事….。
在MIT裡其實常常能看到許多很驚人的點子,但可惜的是即使在MIT,大部分的東西也都停留在為研究而做的雛形階段,研究人員雖然產出了論文,但如果沒有對的人讀到那些文章,很多好點子也不過是停留在紙上變成可回收的資源而已。
Sikuli的論文其實在去年九月就在ACM關於user interface中最頂尖的會議[url=http://blog.vgod.tw/go.php?http://www.acm.org/uist]UIST[/url]上發表了,在當時還拿了Best Student Paper Award,但為什麼一直到今天才突然爆發開來變成人們口中「革命性的新發明」呢?
說起來這還是得感謝MIT有自己的News office,一個記者剛好問了我老闆最近有沒有什麼有趣的研究,於是sikuli這個字就從這篇報導散播開來。但除此之外,我也蠻慶幸之前自己決定要把sikuli release出去,而且老闆也很支持我這麼做,整學期都沒問我「研究」上的進度。(把程式release跟研究本身沒什麼關係,有些教授對這些研究結果的實作是否能實用也不太關心,甚至覺得做這些事是浪費時間。)
其實一般人可能很難想像,要把一個研究用的雛型打磨到能夠公開讓任何人用的程度,所花費的力氣可是遠超過寫出最重要的核心功能。我花了幾個星期研究怎麼把Java程式包成Mac上的.app,研究怎麼把.sikuli變成能夠點兩下就打開的document package,怎麼把sikuli會用到的一大包dynamic libs包進.app中讓使用者不用安裝其他的相依函式庫…。搞定Mac後,我又花了一陣子把Sikuli移植到Windows上,雖然上層是Java寫的很好解決,但有部分程式碼是透過JNI連結到C++呼叫OS提供的API才能完成的。因為我一直都用Mac開發,所以這些東西本來都只有寫Mac版的,但為了要真正讓多數人能用這個軟體,只好跟老闆要了一台PC裝上Windows來完成這些相依平台的程式碼。Windows並不是我熟悉的平台,除了國中時玩過VB外,之後就幾乎沒在Windows上寫過什麼程式了。所以為了搞定Windows的移植,除了得速成學會一些Windows API外,還得搞定DLL+EXE的包裝,最後再包成installer讓人能一路按Next就裝完整個軟體。雖然這些事情我都是第一次做,但還好沒遇到太多困難,即使每個禮拜都要花兩三天寫Distributed Algorithms的作業,剩下的時間也剛好夠我處理完這些瑣碎的工作。
完成Mac和Windows初步的包裝後,我也一邊開始做網站、API文件,也請跟我合作的Tom一起寫了一些教學文章,順便讓實驗室的同學們當一下測試的白老鼠。因為周圍沒什麼人用Linux desktop(真是有點出乎意料?),所以Linux版就暫時被我擱著沒動。
後來大家都去放聖誕假期時,我趁著空閒做了一個demo的[url=http://blog.vgod.tw/go.php?http://www.youtube.com/watch?v=FxDOlhysFcM]影片[/url]放到youtube上,但因為我也還不急著釋出public beta,所以也沒跟其他人說我做了這個影片。
就在MIT News來採訪的前幾天,[url=http://blog.vgod.tw/go.php?http://0xlab.org/]0xlab[/url]剛好有幾個人突然寫信問我有沒有Linux版的sikuli。雖然不知道他們怎麼發現的,但看到有人想用我也就有了勁想把Linux版趕快完成。花了一天在我新要來的PC上裝好ubuntu後(還包含一個小時在搞定這台電腦的無線網卡driver…。沒想到到了2010年我竟然還在做這種事情…),再修一修Makefile後就包了一個功能不全的Linux版放到網站上。
有句話說「機會是留給準備好的人」。當sikuli被公諸於世的時候,之前做好的事情就突然就派上了用場。MIT News促成了這個好機會讓sikuli這個很酷的想法脫離UI研究會議的小圈圈,進入世界上有網路的每個角落,這時我之前憑著一股熱血就自顧自的作了這麼多的雜事,突然都有了它的意義。於是,在機會到來時,demo的影片加上能下載試用的軟體讓人們親眼看到並且能把玩這個革命性的點子,結果就讓twitter上充滿了一大片的「holy crap this is awesome! http://sikuli.csail.mit.edu」。
我一直夢想著要做些不一樣的事情來改變世界,徹底發揮我的長處做出能夠對世界產生巨大影響力的東西。還記得三年前我在申請MIT時,在SOP上大膽的寫了我的目標「I believe that programming environments should be smarter and more intuitive, and it is my goal to reinvent one that allows beginners to learn easily and adepts to be more productive.」,而三年後的今天,我非常興奮我踏出了改變世界的第一步。




回复  

使用道具 举报

2#
发表于 26-1-2010 22:06:22 | 只看该作者
cool
回复  

使用道具 举报

3#
发表于 26-1-2010 22:37:12 | 只看该作者
哈哈哈哈, 是一个系统化可编程的外挂平台
回复  

使用道具 举报

4#
发表于 26-1-2010 23:01:56 | 只看该作者
WIN平台一般用AUTOIT。台湾人说话太夸张了...

评分

参与人数 1威望 +30 收起 理由
key + 30 谢谢分享!

查看全部评分

回复  

使用道具 举报

5#
发表于 26-1-2010 23:21:46 | 只看该作者
http://news.csdn.net/a/20100125/216711.html

看半天我还是不太懂能干什么。。。
回复  

使用道具 举报

6#
发表于 27-1-2010 02:15:27 | 只看该作者
看了这个视频,终于看明白了

http://player.youku.com/player.php/sid/XMTQ3NjQ0OTQ0/v.swf

评分

参与人数 1威望 +30 收起 理由
key + 30 谢谢分享!

查看全部评分

回复  

使用道具 举报

7#
发表于 27-1-2010 12:19:33 | 只看该作者
回复  

使用道具 举报

8#
发表于 27-1-2010 12:23:57 | 只看该作者

回复 #7 key 的帖子

这个主意确实不错,不过原理上应该不太难,核心的算法就是图形匹配(如果界面上有多个按钮取一样的名字和外形,是不是会误动作?)。

总的来说还是要赞一下
回复  

使用道具 举报

9#
发表于 27-1-2010 12:32:58 | 只看该作者
可以用在BDD上

UI的做出图标就可以写测试案例了

评分

参与人数 1威望 +30 收起 理由
coredump + 30 想到一块去了

查看全部评分

回复  

使用道具 举报

10#
发表于 27-1-2010 12:35:56 | 只看该作者
你这话又让我想起那个我讲了几百篇的故事。

98-99年的时候,我们有一个实验室(在实验楼四楼)在做人脸识别,听说比较成功。
同一时间,我们实验室(在一楼)和CMU一起做一个视频检索的科研项目(参与的还有其他学校,但视频相关的就只有我们两家)。
当时CMU努力做的就是在视频里动态提取关键帧(这个我们也做了),并在关键帧里定位人脸的位置,最后用一个绿色的小框框起来
(看看数码相机的人脸定位就知道我说什么了)。我老板认为一点价值也没有,他想做的就是在视频里找到某个人,如克林顿同学。
应用的是他认为已经成熟的人脸识别技术。

最后CMU的这个技术遍地开花(是不是从CMU那里买专利我就不知道了),我们的目标就连泡都没有冒一个出来
(这和我们的科研态度、科研力量也有关)。
现在回想,全球最著名的人工智能、模式设别实验室立项的一个研究点,
我们应该充分肯定别人立项的必要性。

原帖由 ubuntuhk 于 27-1-2010 13:23 发表
这个主意确实不错,不过原理上应该不太难,核心的算法就是图形匹配(如果界面上有多个按钮取一样的名字和外形,是不是会误动作?)。

总的来说还是要赞一下
回复  

使用道具 举报

11#
发表于 27-1-2010 12:39:34 | 只看该作者
当然,我觉得也不能太偏面里怀疑别人的怀疑。
而怀疑的最重要意义在于你是否在这个怀疑的基础上去证明你的怀疑,
甚至利用你的观点,做一个更好的实现。如果做到这一点,那这个怀疑就太有价值了。
所以,我不反对你的观点,只是我暂时还是很尊重MIT做出来的这个东西的价值(我可没说UB否定别人的价值)

原帖由 key 于 27-1-2010 13:35 发表
你这话又让我想起那个我讲了几百篇的故事。

98-99年的时候,我们有一个实验室(在实验楼四楼)在做人脸识别,听说比较成功。
同一时间,我们实验室(在一楼)和CMU一起做一个视频检索的科研项目(参与的还有其他 ...
回复  

使用道具 举报

12#
发表于 27-1-2010 12:48:16 | 只看该作者
哈哈哈哈哈,好酷的东西啊,我下了一个,有时间的时候玩一玩

MIT果然是创意的摇篮呀,对比一下,国内的大学生在干嘛呢?

哦,他们在用草稿纸计算微积分和信号的拉普拉斯变换,没办法,咱们国家穷,没钱买电脑,咱们要发扬60年代的精神,用手算出一个航天飞机来~~~

哎,没前途的SB们,管我鸟事,反正以后我的孩子又不在中国念书。
回复  

使用道具 举报

13#
发表于 27-1-2010 13:00:05 | 只看该作者
你说的问题的确很严重。现在大学里的学生除了会用计算机打游戏,计算机专业的写两行程序,建筑和机械的弄几个CAD图之外,
他们根本就不知道能用电脑来做什么。

很记得10年前我在读大学的时候,我们有一位老师带着我们用Matlab 4.0做快速付立叶变换,
现在想想,这个老师实在太好了。可惜这样的课程并没有受到重视。



原帖由 dark008 于 27-1-2010 13:48 发表
哈哈哈哈哈,好酷的东西啊,我下了一个,有时间的时候玩一玩

MIT果然是创意的摇篮呀,对比一下,国内的大学生在干嘛呢?

哦,他们在用草稿纸计算微积分和信号的拉普拉斯变换,没办法,咱们国家穷,没钱买 ...
回复  

使用道具 举报

14#
发表于 27-1-2010 13:17:56 | 只看该作者
原帖由 key 于 27-1-2010 14:00 发表
你说的问题的确很严重。现在大学里的学生除了会用计算机打游戏,计算机专业的写两行程序,建筑和机械的弄几个CAD图之外,
他们根本就不知道能用电脑来做什么。

很记得10年前我在读大学的时候,我们有一位老师带着 ...


是啊,我也是学了matlab之后才发现,我之前那么辛苦的学微积分,学各种技巧去算差分方程,行列式,多重积分......到底有什么用?? 难道真的打算用我的人脑去取代电脑的计算能力??而且即使我的运算能力超过电脑100倍,有人敢请我去算吗?万一我一打瞌睡算错了怎么办?

哎,在天朝咱们都不会有闲功夫考虑到这种问题的,能知道下顿饭有地方吃,晚上不用睡马路就不错了。
回复  

使用道具 举报

15#
 楼主| 发表于 27-1-2010 13:25:03 | 只看该作者
大家来发散下,这样的技术的潜在应用领域:
1. 游戏外挂, 机器人程序
2. UI测试
3. 对不公开API的系统进行黑盒编程
4. 日常操作自动化,比如在被某个MM问了N遍怎么配置网络后,写个自动化的程序发给她
5.。。。
回复  

使用道具 举报

16#
发表于 27-1-2010 13:45:06 | 只看该作者
核心应该就是图形图像匹配上吧?
两三年前做过一个小外挂在网上骗钱玩,觉得匹配是一个很麻烦的问题。

另外谈到操作自动化,加入我换了桌面主题,一干图标都变了样子,它还能认得出来么?

原帖由 coredump 于 27-1-2010 11:25 发表
大家来发散下,这样的技术的潜在应用领域:
1. 游戏外挂, 机器人程序
2. UI测试
3. 对不公开API的系统进行黑盒编程
4. 日常操作自动化,比如在被某个MM问了N遍怎么配置网络后,写个自动化的程序发给她
5.。 ...

评分

参与人数 1威望 +30 收起 理由
ubuntuhk + 30 你下一个试试看。

查看全部评分

回复  

使用道具 举报

17#
 楼主| 发表于 27-1-2010 14:10:14 | 只看该作者

回复 #16 flug 的帖子

不知道,没试过
回复  

使用道具 举报

18#
发表于 27-1-2010 16:35:13 | 只看该作者

回复 #16 flug 的帖子

我估计主题变了,图标、图像变了的话,就不行了,所以也要考虑异常处理和容错处理。。。
回复  

使用道具 举报

19#
发表于 28-1-2010 02:41:22 | 只看该作者
不错,有点意思,有空下一个来玩玩。
回复  

使用道具 举报

20#
发表于 28-1-2010 09:44:15 | 只看该作者
提示: 作者被禁止或删除, 无法发言
也就用在自动测试上,对我来说没太大用。对一般人也没大用,个人对测试不感冒所以可能有偏见。这个可以包装成测试工具卖钱,还是很不错的创意。

[ 本帖最后由 black_zerg 于 28-1-2010 10:50 编辑 ]
回复  

使用道具 举报

您需要登录后才可以回帖 登录 | FreeOZ用户注册

本版积分规则

小黑屋|手机版|Archiver|FreeOZ论坛

GMT+10, 23-8-2025 04:38 , Processed in 0.063667 second(s), 37 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表