Text
Daniel got his Batmobile https://www.storylife.com/story/FMCNp9rSOEgzXao5tunpB74UXZM=/daniel-got-his-batmo, download Storylife App at http://storylife.com
0 notes
Text
- Weizhong Yang has been waiting 3 days for you in Battle Camp
Hey, Weizhong Yang has been waiting 3 days to challenge you in Battle Camp. Experience the AWESOME in Battle Camp. Catch monsters, crush bosses, and dominate your competition. Download for FREE on iOS. (http://email.notifications.pennypop.com/c/aT15dGFmODFsV1RxaUdoRFRWOXJrVEJ3JTQwbm90aWZpY2F0aW9ucy5wZW5ueXBvcC5jb20maD1hMjlkYmJiZTQ4NzIwNjA1NDI3NjQyN2ZhOGM2OWI0ZCZyPTc0NnF1ZGRveiU0MHR1bWJsci5jb20mZD00MWFiMSZsPWh0dHBzJTNBJTJGJTJGYXBwcy5mYWNlYm9vay5jb20lMkZiYXR0bGVjYW1wYXBwJTJG) To unsubscribe click:
0 notes
Text
- Weizhong Yang sent you a request in Battle Camp
Hey, Weizhong Yang wants to challenge you in Battle Camp. Experience the AWESOME in Battle Camp. Catch monsters, crush bosses, and dominate your competition. Download for FREE on iOS. (http://email.notifications.pennypop.com/c/aT1Ca3FscUpqMHlNYzN6dFVPbWxjYzBRJTQwbm90aWZpY2F0aW9ucy5wZW5ueXBvcC5jb20maD00MzlkMWNmODk5ODkwYjg4YWQzNTdhM2ZlODFmYzU1ZiZyPTc0NnF1ZGRveiU0MHR1bWJsci5jb20mbD1odHRwcyUzQSUyRiUyRmFwcHMuZmFjZWJvb2suY29tJTJGYmF0dGxlY2FtcGFwcCUyRiZkPTQxYWIx) To unsubscribe click:
0 notes
Text
PyCon US 2013 見聞錄
我從 2008 年開始使用 Python 程式語言,在工作上許多 scripting 的需求,現在也泰半使用 Python 語言完成。使用了 Python 這麼些年,覺得還想要再多了解一些這門程式語言的其他種種,看看有哪些事情是自己還不知道的,所以年初就刷了信用卡,買了前往美國的機票,以及 PyCon US 2013 的門票。

PyCon US 2013 在 Santa Clara Convention Center 舉辦,在舊金山南方,抵達舊金山機場之後,還要再搭乘大約一個小時的火車。在大約二月中的時候,2500 張門票全部銷售一空,Open Source 研討會可以有 2500 人這種規模,再考慮其實門票也將近台幣一萬元,真的相當驚人。
先岔題:前往美國的旅程還頗折騰,我買的機票是先飛往東京成田機場,再從成田轉機到舊金山,但是三月 13 日那天成田機場天候不佳,中午時班機盤旋好幾圈還是無法降落,所以先飛往大阪補充油料,再飛回成田,來回一趟加上在地面等候的時間,原本只需要三個多小時的飛行,居然花上十二個小時,在成田機場降落已經是當地晚上十二點,所有當天往美國的班機也都取消,總共有十五班飛機延誤。
航空公司在機場的人員完全不進入狀況,花了一個多小時的時間,才搞懂轉機延誤的旅客必須先入境日本,才能夠由入境櫃檯的人員協助,入境通關又花了快一個小時。入境櫃檯的人員的態度,則又是機場旅館沒有足夠的房間,擺明了叫你去睡機場;好不容易弄到了一張住宿卷,隔天早上又要在水洩不通的排隊隊伍裡候補機位—已經沒有飛往舊金山的座位了,好不容易弄了張飛西雅圖的登機���,再從西雅圖轉舊金山。雖然還是在會議開始前抵達,但我看從此我會把某家航空公司列入拒絕往來戶。

來講講看到了些什麼。
原來 Python 可以這麼寫
先來講程式語言本身。—想想有些事情應該早就該知道,不過也是聽了幾場 Talk 之後,才知道原來 Python 可以這樣寫。
例如,Python 不僅是 if 語法可以使用 else,像是 for、while 等迴圈語法,也都可以使傭 else,如果 for 或是 while 裡頭沒有因為 break 造成迴圈中段,就會進入 else 這段 code block。
另外,跟絕大多數 OO 語言一樣,在 Python 裡頭可以用 isinstance() 或 issubclass() 檢查某個物件屬於哪個 class、繼承自哪個 class,但是 Python 允許每個 class 自己實作 __instancecheck__ 與 __subclasscheck__ ,自行決定如何回傳 isinstance() 這些 function call 的回應:某個物件應該繼承自某個 class,但是你可以因此決定回答「不是」。
社群
這次會議的主辦人 Jesse Noller 首先上台,整場 PyCon 的第一個 Talk 倒不是關於 Python 這門科技本身,而是 PSF(Python Software Foundation)過去一年的回顧。
感覺起來,PSF 對於 Python 的態度並不只是一門程式語言而已,而更是「用在科學以及教育上的程式語言」,感覺 PSF 看待自己的方式,與其說是科技組織,倒更像是公益組織。Jesse Noller 提到去年在南非等地,舉辦了不少青少年程式設計教學營,因為 Python 是容易上手的語言,又是一門學了之後真的可以因此找到工作的語言,PSF 相信弱勢的青少年在學習 Python 之後,真的具有扭轉弱勢處境的能力。這次的主題「Change the Future」所講的,也是 Python 如何在教育中從底紮根。
這種某方面帶有些宗教氣息的熱情氣氛,一路帶到了 Eben Upton 關於 Rapsberry Pi 的 keynote。Rapsberry Pi 是一台售價大約台幣五百元的小電腦,大概就只有明信片大小,這樣的電腦不但更容易讓經濟狀況不好的學子接觸資訊科技,同時也可以拿來快速發展各種可能的應用,當有一張投影片提到怎樣使用這種小電腦控制啤酒生產流程的時候,笑聲不停,而 keynote 最後公布在場所有人都可以拿到一台 Rapsberry Pi,居然全場起立鼓掌…。
這時候坐在我旁邊的一位白髮蒼蒼、穿著 Clojure 字樣 T shirt 的大叔跟我說:「前幾年我在 Adobe 工作,那時候有場研討會,要發給每個人一台 Android 手機,全場都興趣缺缺,今天這個樣子,Rapsberry Pi 看起來真的頂不錯。」稍微查了一下這位 Sean Corfield 究竟是哪一號人物,原來 Adobe 的架構工程師,主要負責 ColdFusion 這一塊—果然工程師來矽谷走一走,就可以知道自己有多渺小。(回來看了一下,Sean Corfield 也寫了一篇跟今年 PyCon 有關的 blog post。
由於 Python 是廣泛用在教學上的語言,所以跟其他我參加過的研討會比較起來,PyCon 多了不少「你可以怎樣教別人寫程式」的 Talk,包括如何讓新手快速入門各種一般的程式設計,以及如何將 Ipython 應用在科學教育與實驗上,而感覺起來,PyCon 的參與者中大約有三成左右並不是 Programmer,而是科學家或是科學教育工作者。
另外可以注意到的是女性在這次研討會中的比重。與會者中有百分之二十強是女性,當然這個比例稱不上的是多麼平均,但還是多過我經驗中參與過的研討會。在會場中,更可以看到像是 PyLadies、CodeChix 等等的女性 Programmer 組織。
自動化測試
我自己是 Mac OS X/iOS 平台上的 developer,在我的工作中,Python 最主要的用途是拿來做 prototyping 以及測試用的工具。我在第二天也就特別去聽了三場跟測試有關的 Talk,裡頭從怎麼寫 Unit Test 這種很基本的題目開始,講到 TestFixtures、unittest2 這些 package 怎麼用。其中印象最深刻的,還是 Sauce Lab 的 Open Source 專案 Selenium 與延伸出來的 Appium。
Selenium 是一套用來在瀏覽器中做自動化測試的工具,除了各種桌面平台之外,也支援行動裝置上的瀏覽器。至於 Appium,則是從 Selenium 改寫,可以用於 iOS 與 Android 應用程式的自動化測試;Appium 專案中所實作的 server ,可以使用 Java、C#、Ruby、Python 等語言寫自動化測試腳本,而如果今天你的 app 同時有 iOS 與 Android 版本,使用流程又完全相同的話,你甚至可以只寫一套測試腳本,就可以同時在不同的平台上測試。
Guido 的 Keynote
第三天的重頭戲還是 Python 之父 Guido van Rossum 的 Keynote。說實在,這場 keynote 並不能算是「有趣」的那種,主要在討論接下來 Python 3.4 中打算如何實作 async。
大概就是,只要想寫 async 的 code,就必須要有 event loop(在 Mac/iOS 上稱作 Runloop),過去以來,拿 Python 寫 GUI 程式,都會呼叫 native 實作的 event loop,PyGTK 就會是 GEvents,PyObjc 就會呼叫 NSRunloop,而一些新的 event driven 的 web framework 如 twisted、tornado,又都有自己的一套 event loop,所以目前在 Python 3.3 中,增加了一個實驗用的 module 叫做 tulip,等到比較穩定之後,tulip 就會成為 3.4 中的 event loop 以及 async 架構,而 tulip 的主要特色就是在原本這些 event loop 的實作上又加了一個 abstract layer;至於要取得 async 執行的結果,絕大多數語言與 framework 都是透過 callback,但 Guido 覺得 callback 實在很不優雅,所以打算採用的方案是 yield from 語法。
—這種題目果然不怎麼有趣吧?但這就是 Python 這個語言的特色:即使在 async 這種所有人都做過的主題上,在設計時仍然百般斟酌,考慮的是怎樣寫出優雅但是平易的 code,而不是小聰明。
3 notes
·
View notes
Photo

金正恩的 HTC 手機 http://joongang.joinsmsn.com/article/033/10593033.html?ctg=1300&cloc=joongang%7Chome%7Cimgarticle
0 notes