小松鼠嚇了一跳,有了魔法眼鏡後,這世界看起來完全不一樣了

2014年4月22日 星期二

蟒極客的彩蛋: 把 Chrome 的 JavaScript console 變成 Python console.


之前在蟒極客 放了一個彩蛋, 在蟒極客首頁,把 Chrome 的 JavaScript console 變成 Python console.

因為我用的是 ubuntu 上的 chromium, 版本有點舊, 所以之前有點 bug, 一般的 chrome 不靈。

整修後,現在應該在 webkit based 的瀏覽器可用。沒有出錯的話,到蟒極客 用 Chrome 打開JavaScript console ,會變成 Python console。

比方可以試試看 import math 然後會發現 math. 後面的 auto completion 也可以用。或試試看 [x**3 for x in range(10)],語法是 Python3 語法。

(不過沒有用什麼太神奇的東西, python 是 brython)
有興趣,可以直接看 geekpy.org 的 html source 。

更新: 又修改了一個 bug,讓 ubuntu 的 chromium 也可以用了。

2014年4月11日 星期五

網路、開源與民主

這篇基本上是對「資安問題變國安事件?張善政:我們政府沒有那麼無能」有感而發的。一個官方表格都是用 MS Word 文件,很多網頁都還是 IE only 的政府這樣講,很沒有說服力啊。

有一種說法是,工業革命才讓民主制度可能。有一定程度的識字率,資訊才能廣泛傳遞。有了交通器材、電報,很多事情都能更有笑的完成。經濟繁榮了,大家也更有時間想到更進一步的需求。有了需求,就會想到參與決策的可能。
所以,現代的民主制度只是這種潮流之下的必然產物。

那網路革命呢?
代議制度只是用來解決 Scalability 的一種方式,這種制度的反應速度已經跟不上網路革命後,被稱為十倍速時代、甚至百倍速時代的節奏了。
電玩之所以吸引人,就是因為即時回饋。
民意選出來的民意代表,最後投票時聽的還是黨意。人民明明就不滿,但是一到選舉時還是含淚投票。為什麼?就是因為這個回饋機制很慢很間接,不會造成學習的效果。
反倒是婚喪喜慶什麼的,有來沒來,有送花沒送花什麼的,某某委員蒞臨,真情流露、有情有義的,反應就很直接也很快。

過去這樣是沒有辦法,投個票還要全國放假一天,勞師動眾的監票開票。但網路時代,你在網路上投票的次數還少嗎?
聚個會你都會上 doodle 問大家的時間。 排時間填意願你還會開個 google 文件或是表單來弄。
所以,很多東西,其實可以直接開放給全民公投,跳過代議制度這一層。
當然,這中間還有許多運作機制上的問題,一開始,也一定會有些很錯誤的決策,就像你選到很爛的民意代表一樣。但由於回饋迅速,而且要負責的對象比較明確,選民會開始學會事情。快則二十年,慢則五十、一百年,這種民主方式一定會變成常態。
太陽花學潮有很大一部分可以放在這個脈絡之下。割闌尾也可以算是加快回饋速度的一種嘗試。十年內就會有個人或組織,利用網路工具,打著服從民意的旗幟出來參選。

但資訊水準的普及度是一個很重要的問題。為了讓這種制度能夠公平,一定要讓資訊教育普及到弱勢的族群。雖然,弱勢族群再怎麼樣還是相對弱勢,即使是現在的代議制度也是如此。但至少要達到一個大家良心上可以接受的程度。所以,資訊教育的推廣和普及是目前一個很重要的工作。
開源軟體就很重要了。再回到工業革命以及民主的類比。當然經濟繁榮有利於民主的發展。但像是一些產油大國,經濟再好,也不容易促成民主。因為資源掌握在少數人手上。開源,就是讓所有人都能直接接觸資源的來源,避免資訊資源變成像是石油這樣的東西。
要讓每一個人,特別是弱勢族群都能掌舵資訊處理的能力,開源是不可或缺的。

弱勢學童的資訊普及教育,其實不需要二十年、五十年那麼久。真正資訊能力弱勢的,是中老年人(不是全部,而是很多)。聽到某些中老年人的言論,你可能會覺得他們好像是活在平行世界一樣。因為,不是好像,而是真的活在平行世界裡面。一個是有網路的世界,一個是沒有網路的世界。當然那些人的世界裡也是有網路,他們也會發發 email,上上 facebook,寫寫 blog。但這個網路跟網路世代眼中的網路不是一樣的東西。

2014年4月7日 星期一

近期的一些活動


蟒極客 高中/大學生 Python 程式比賽
歡迎參加。
分成高中以下,及大學組,每組前三名可以得 PyCon APAC 2014 的門票,應該還會有一些額外的獎品,比方我手上還有故宮艾雪魔幻世界畫展的門票。
同樣的錢,可以煩惱該買 One M8 還是 Sony Z2,但是也可以拿來辦一個比賽。


嘉義女中、北一女、IMO 選訓營演講宣傳(投影片在 http://b81.org/s)。

學界連署 hackpad SaveOurStudents 
http://saveourstudents.hackpad.com
這個其實有更深入的計畫,以後會慢慢補充(https://g0v.hackpad.com/3pPc7nysDqs

花蓮.py 

四月活動,我可能講 壞狗搜尋 reboot 的相關內容。

順便一提
五月活動應該會是史上最強 花蓮.py 聚會,因為可能會有兩位 PyCon Keynote 等級的講者來給演講。
不過四月可能也不遑多讓,因為四月份的活動隔天會有 jserv 及翟本喬博士在東華應數的演講。


東華應數的有趣演講邀請

繼二月底請到撲克冠軍 Terry Fan,三月請到葉丙成教授。
四月份將會邀請魔術冠軍、視覺衝擊陳日昇,以及 jserv 及翟本喬博士來演講。



2014年4月3日 星期四

reveal.js


最近幾次演講的投影片,試著使用 reveal.js,Reveal.js 是 HTML based 的投影片工具
我最近的幾個投影片可以在 http://b81.org/s 找到。
Reveal.js 的
優點:

  1. 預設的 3D 旋轉換頁還挺有質感的。
  2. 支援 Markdown語法,可以把焦點放在內容上。如果習慣泛高橋流/類高橋流的簡報方式,寫起來還挺快的。
  3. 上下左右的二維、二階層簡報編排邏輯,比傳統的直線式簡報拓樸結構要容易整理。 不需要詳細說明的內容,可以很自然的按右鍵跳到下一個主題。
  4. 支援 code 的彩色語法,還有 MathJax 顯示數學。
  5. 因為是 HTML/CSS/Javascript based, 所以直接可以用這些來擴充、顯示所以有他們可以顯示的東西。
  6. 支援講者小抄功能。
  7. 支援 leapmotion 之類體感操控。


缺點:

  1. 放大縮小、換頁,會干擾一些 javascript module 以及  plugin 的功能。有時候也會干擾 CSS。
  2. 不像 Powerpoint 或是 Keynote 等,可以用所見即所得的方式編寫。
  3. MathJax 要支援黑底白字有一點麻煩。而且 Render 似乎不是很可靠。
  4. 預設的 syntax highlight 字有點小。
  5. 不同瀏覽器有時候會有差異,測試時要小心。
  6. 很懷疑如果亂搞 javascript , pdf export 能支援到什麼程度。

然後我發現一下子還真的想不到有什麼太大的缺點。

因為我的投影片中,常常會有數學式子,所以之前很常用 LaTeX 的 Beamer, Beamer 中也很容易做程式碼的 Syntax Highlighting, 比方我之前 COSCUP 的投影片
但 Beamer 如果要放動畫或者其他效果就比較差了。

以下在我最近的投影片中的一些實驗:

  1. markdown 中放數學式子 http://b81.org/s/imo_algebra1.html#/1/5  (主要是不要讓 a_{x} 這樣的東西被 markdown 吃掉。)
  2. GIF 動畫 http://b81.org/s/from_star.html#/3 (按往下)
  3. 放互動式的 Python 程式碼。 (同上,繼續往下,用 Ctrl-Enter 執行程式碼)
  4. 放遊戲 http://b81.org/s/imo_algebra1.html#/4 (不過只有在 Firefox 排版正確)
  5. 放表格 http://b81.org/s/math2.html#/7/1 這個是拿來當計分板的,而且是用 livescript 寫的。
如果放入 d3.js,看起來應該也很有趣。
有興趣的話,不妨看看 html source,可以看到一大堆 markdown。