It has been yet another great YAPC::Asia. Big thanks to JPA for the wonderful event, which has been my excuse to escape to Japan every year (grin).

I have uploaded my perlbrew slide to

(Speakerdeck looks very neat. Awesome.)

To Recap, @rjbs' talk, Email Hates The Living, is very entertaining. It is stated that the Email message and SMTP are sort of broken by design, which means: the standard is super complicated, and some implementation definition is bad and simply wrong from the end user perspective. I finally realized why Emacs has all those crazy inline character encoding switching mechanism -- it is just an implementation of Email message format. Thanks for rjbs to implement all those Email modules, so we don't have to. Really, we don't want to.

Miyagawa released Carton, which is the tool for bundling app-specific CPAN modules, similar to Shipwright, but easier. It is "Bundlr for Perl", if you known Bundlr for Ruby. We had a brief talk about using a DSL-ish file to statically describe dependency instead of relying on the result of running Makefie.PL, which can be dynamic. But that also means the whatever-used authoring toolkit needs to be enhanced to put Carton in the game.

Takesako again demo his insanely awesome hacking skill with Win32::GuiTest module, which is used to automatically solve Minesweeper. A 9x9 puzzle is solved in only one second. I latter took the idea to attempt implement a (sort-of) VNC::GuiTest module in the YAPC hackathon with Net::VNC, a pure-perl VNC client implementation by @orangeacme, but it did not quite finish. The image matching module Image::Match is doing exact matching and natually does not reliably work with VNC. Apparently we need to steal the awesome fuzzy image matcher from Sikuli :-)

I'm also surprised to find that perlbrew is very popular in Japan, I mean, VERY. @acotie posted an introduction for perlbrew and cpanm on WEB+DB PRESS magazine, and told me it is like a "standard setup" for japanese perl hackers. I am thrilled to hear that.

As usual, I stay a few days longer after YAPC as a brief vacation. I believe I'll be missing this country very soon.

2011 年的 YAPC::Asia 也完美結束。十分感謝 JPA, 日本 Perl 協會 總是將 YAPC::Asia 辨得有聲有色,讓我年年有藉口逃去日本(笑)。

這次的演講是 perlbrew 介紹, 已經上傳到。

(Speakerdeck 真是簡潔好用,讚。)

簡短總結一下。@rjbs 的演講「闇之 Email 伝說 」,娛 樂性實在是太高了。明確點出 Email / SMTP 相關的標準,實在是從設計開始就爛掉了。部 份標準所定義出的應有實做效果,其實對使用者而言是最不好的。照著標準做,一般使用者 就看不懂,但要做出好效果,就不合標準,於是程式設計師裡外不是人。我也終於了解為何 Emacs 中有那種可以在單一檔案中切換字元編碼的奇妙支援(一行字可以一半是 big5,另一 半是shift-jis),原來那只是去支援 Email Message 而已。

Miyagawa 釋出了 Carton,是個可以將 app 相依的 CPAN 模組綁兜打包的工具, 有點類似 Shipwright,但簡單多了。如果用過 Ruby 的 Bundlr 的話,這就是給 Perl 的 Bundlr 了。我跟他聊了一下,討論如何應用另外一個檔案,也許採用某種 DSL 風格的寫法, 去靜態地定義相依模組列表,不要使用 Makefile.PL,因其可能是動態的。但這也意味著, CPAN 的作者端工具需要調整一番,才能有效地使用 Carton。

Takesako 再次地展示了他無比狂野的黑客技,利用 Win32::GuiTest 寫了一個自動解 踩地雷的程式。9x9 的盤面只要一秒鐘就解完了。稍後我利用類似的概念,試著實做 VNC::GuiTest,配合 Net::VNC 模組,這是個純 Perl 寫成的 VNC 客戶端函式庫,作者 @orangeacme。不過我的實驗並沒有成功,因為所用的圖像比對模組 Image::Match 只 能做精確比對。顯然需要把 Sikuli 的模糊比對法偷過來用 :-)

另一方面,perlbrew 在日本的普遍程度另我驚訝。@acotieWEB+DB PRESS 這本 雜誌上撰文介紹了 perlbrew 與 cpanm 的使用、設定。她也告訴我,現在 perlbrew + cpanm 差不多是大家的標準設置了。真令人驚喜。

照例,在 YAPC 後仍在日本多做停留,小假幾天。顯然我很快地又會再度想念這個國家了。

Tags: #yapcasia

blog comments powered by Disqus