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

2018年7月27日 星期五

黃色小鴨除錯法及其他

StackExchange Rubber Duck Avatar April Fools 20
黃色小鴨除錯法是一個還算有名的概念,維基百科的介紹足夠清楚。
(Rubber Duck Debugging)是可在軟體工程中使用的一種偵錯代碼的方法。方法就是在程式的偵錯、除錯或測試過程中,操作人耐心地向小黃鴨解釋每一行程式的作用,以此來激發靈感與發現矛盾。 此概念是參照於一個故事。故事中程式大師隨身攜帶一隻小黃鴨,在偵錯代碼的時候會在桌上放上這隻小黃鴨,然後詳細地向鴨子解釋每行代碼。
乍看之下有點荒謬,但實際上類似的概念很實用也很常出現。 有一個腳踏車實驗,可能你也聽過,因為這本書「知識的假象:為什麼我們從未獨立思考?」的關係:
很多人都覺得他們了解腳踏車的原理,但是在一項知名的心理學研究中,自信滿滿的受試者有四○%無法正確畫出腳踏車的構造,有些人甚至會用鏈條把前後輪都連在一起,這樣的腳踏車要怎麼騎啊?
這種症狀可以被稱為是知識的幻覺。也不只是腳踏車,我們常常會高估自己對事物的了解程度。

但同一本書上也提到了,在實驗中,只要先請受試者解釋一下事物原理(沒有人批改),再請他評估自己理解的程度。則這種自我感覺良好的情形就會得到改善。 

不是所有人都有這種「知識幻覺」的症狀,很多人其實讀了那本書,可能會覺得莫名其妙。覺得「我本來就能正確評估我對抽水馬桶和汽車運行原理的了解程度啊」。的確很多人是這樣的,靠理解思考的人。但根據書上所說的,有更多人是另外一種,偏向靠感覺的人,所以會分不清「常見」和「理解」,兩種都能被稱為「熟悉」。 

這在某種程度上面解釋了黃色小鴨除錯法的原理,執行解釋這個動作,可以讓我們進入另外一種心理狀態。而這種狀態,能讓我們破除一些主觀的盲點。 

同樣的原理也會發生在閱讀自己的文章以及閱讀別人文章的差別。很多人閱讀自己寫的文章時,無法發現錯誤、錯字。所以會需要其他人幫忙校稿。因為對於自己的文章太過熟悉了。但是閱讀別人文章時,頭腦內部會有一個「讀懂」也就是解釋的步驟,所以是不同的心理狀態。 

更類似而常見的,是宗教上的禱告祈願告解。當你對著神像解釋著你的人生難題時,就是在執行黃色小鴨除錯法。 

從更大一點框架來看,這也可以看成是一種目的外部性的方式,將觀點轉移到小鴨、神明或不特定對象為理解主體,來述說整個故事。

舊文補發:「賈伯斯搶功 創意奇才很受傷」

賈伯斯搶功 創意奇才很受傷
今天在中國時報看了跨版大篇幅報導賈伯斯搶功 創意奇才很受傷,說到
艾夫對賈伯斯搶去太多功勞感到十分不爽,對賈伯斯「把我的創意講成是他的」十分受傷。當外界把賈伯斯形容為蘋果「創意之王」時,艾夫更會變得渾身是刺。
以及
「他常常會瀏覽一遍我的創意與設計,然後說,這個不太好,這個也普普;我比較喜歡那個,」艾夫說:「然後,過一陣子,我就會坐在觀眾席裡,看著他在講台上 口沫橫飛,彷彿一切都來自他的創意。我非常講究分辨自己的創意從何而來,我甚至有一本筆記本,裡面記滿了我的想法與點子。因此,當他把我的創意講成是他 的,我會覺得很不舒服。」

想像一下這種情形,在團體中聊天,偶然間你發現到了某個有趣的事,也許是諧音,也許是新奇的想法,所以你講了句幽默的話把這個想法點了出來。團體中有幾個人聽到了,也笑了,其中有一個人過了兩三秒之後,終於恍然大悟你的意思,似乎相當興奮,開始把你的想法複述了一遍,由於很興奮,所以聲音比較大,剛才沒聽到或者還沒注意聽你講話的人,也聽到了。而且似乎也因為興奮的緣故,所以在附和和複述你的想法時,有點太過細節了(比方把諧音或者笑點解釋出來),就你的品味來說,其實是有點太囉唆而且破壞趣味。但也許就在當時,也許之後,奇怪的是,團體中大部份人都認為那個人才是想到有趣點子的人,甚至可能連那個人都自己這麼認為的。

這也就是為什麼常常指導教授覺得關鍵 idea 都是自己告訴學生的,但是學生覺得教授只會出一張嘴。或者腦力激盪中,明明提出新點子的人是你,但大家卻覺得是別人的點子。或者艾夫和賈伯斯之間的情節也是如此。

原因在於彼此的認知基礎不同。你覺得你已經明白點出關鍵了,剩下的東西其實早就知道,沒什麼好解釋。但其他人也許不這麼覺得,那個搶功者花了兩三秒才明白你說什麼,表示那兩三秒鐘他思考了,他二次創造了你的點子。從他的角度來說,你只是個啟發或者現象,真正的發現者和創造者是他自己。你只是剛好講到那個諧音或者某個關鍵字,真正把東西聯想起來的是他。教授和研究生的例子就更典型了,因為研究生要花上更多時間來重新發現教授的想法(先不論教授嘴砲的情形)。

2017年1月1日 星期日

2017 is not just another prime number

Good bye year 2016. Hello year 2017.
We all know that 2017 is a prime number, but it is more than just another prime number.

  • 2017π (rounds to nearest integer) is a prime
  • 2017e (rounds to nearest integer ) is a prime.
  • The sum of all odd primes up to 2017 is a prime number, i.e. 3+5+7+11+...+2017 is a prime number. 
  • The sum of the cube of gap of primes up to 2017 is a prime number. That is (3-2)^3 + (5-3)^3 + (7-5)^3 + (11-7)^3 + ... + (2017-2011)^3 is a prime number.
  • The prime number before 2017 is 2017+(2-0-1-7), which makes it a sexy prime, and the prime after 2017 is 2017+(2+0+1+7). 2017 itself is of course equal to  2017+(2*0*1*7) 
  • Insert 7 into any two digits of 2017, it is still a prime number, i.e. 27017, 20717, 20177 are all primes. Plus, 20177 is also a prime number
  • Since all digits of 2017 is less than 8, it can be viewed as an octal. 2017 is still a prime number as an octal.
  • 2017 can be written as a sum of three cubes of primes, i,e,  p^3 +q^3 +r^3 for some primes p, q, r.
  • 2017 can be written as a sum of cubes of five distinct integers.
  • 2017 can be written as  x^2+y^2, x^2+2y^2, x^2+3y^2, x^2+4y^2 x^2+6y^2, x^2+7y^2, x^2+8y^2, x^2+9y^2 (for positive integers x, y)
  • 20170123456789 is also a prime
  • the 2017th prime number is 17539 and 201717539 is also a prime.
  • Let p=2017, then both (p+1)/2 and (p+2)/3 are prime numbers.
  • The first ten digits of the decimal expansion of the cubic root of 2017 contains all different digits 0~9. 2017 is the least integer has this property. 
  • 2017 = 2^11 - 11th prime 

You can check OEIS for more interesting facts for your favorite numbers :)

Update: a sagemath worksheet to verify these facts by William Stein

2016年8月17日 星期三

其實我們都是半桶水

像 pokemon go 這樣的社會級現象,往往有很多不同的面向。每個人真的都只是一知半解。
除了 pokemon 這個傳承外,還有很多。比方很多人可能也會因此開始認識 ingress 或其他 location based game.
gps 模擬、certificate pinning、VPN、MITM proxy 這些,也許很多人覺得稀鬆平常。但對很多人來說,可能是新大陸,正開始展開熱情研究。
可能也有人因為這個"不入流"的 AR 應用開始對 AR 產生興趣。
有人則好奇要怎麼樣的伺服器和架構才能處理這麼多玩家。
有人可能因為這個遊戲開始對「圓」產生的興趣(不是獵人那個,雖然有點像),因為要找出正確位置,開始研究圓心、割線、兩圓焦點、中垂線等等性質,開始對數學感興趣。
還有非常多的面向,多數我甚至根本列不出來。因為我只是一知半解。

當他們分享他們的心得,被一些更外行人的崇拜。也許很多真正的專家會覺得不爽、不屑。
level 30 的人看 level 1 的人崇拜 level 3 、level 5 的人,覺得不爽、不屑。
但多想一下,其實反而應該開心才對,因為這代表有更多外行人認同了你的價值觀、你的方向。即使他們目前還無法領略真正精妙之處,但至少方向是正確了。

本來,要開心欣慰,還是不爽不屑,是個人自由。
只是要改變大眾對次文化的害怕和誤解,是很困難的工作。光是站在那裡,沒有惡意,就很容易嚇跑人了(專家的溝通方式,通常外行人看來會太過尖銳、嚴厲)。
而且別忘了,我們剛開始時,也曾經被這種名不符實的稱讚激勵、推動過。像是因為在親友間的表演被大大的稱讚,或是從朋友、班上最強開始我們的旅程。

有一個說法是,如果有一件事,是所有成年人都該知道的事,那每一天都有 24 萬人第一次聽到。(https://xkcd.com/1053/)


一面踢初入門者、不屑人,一方面又抱怨大眾都不了解你,其實是有點自我矛盾。

其實換個角度,當作是回憶一下自己最初的感動也挺好的。
https://www.youtube.com/watch?v=oWCtSIqubUA

2016年1月26日 星期二

人類是如何被 AI 統治的

 在這篇 Apple co-founder on artificial intelligence: ‘The future is scary and very bad for people’ 後面的留言中, Woz 澄清: "And if AI gets smarter than humans, it would have much more intelligence than we do and figure out ways to make the world work, not fight."
這才是可怕的地方。
雖然像是 Stephen Hawking, Elon Musk, Bill Gates 等人都擔心人類被 AI 統治(如  Open letter on AI),但還是很多人覺得有點杞人憂天。

我猜多數人心中想像被 AI 統治的情景,大概會是魔鬼終結者、 駭客任務那樣。

其實 AI統治人類的未來,比較像 Psycho pass (表面上)或者關鍵報告那樣,至少剛開始會是這樣。而且時間上也至少五十年起跳,兩三個世紀這種數量級。
說起來也不是什麼壞事,而且基本上也無可避免,除非被更壞的未來取代。只不過情感上,還是希望看到人類能以現在的模樣發揮更多的潛力和可能性(也許還能給 AI 一些留下人類的理由)。
真的要說,這種未來正在實現。比方導航就是一個例子。也許你會說,這只是一個工具,像汽車、機車一樣,人類還是有主導權。但也真的有人導航導到水裡面的狀況發生。 差別在哪裡? 如果你對於導航的原理、特性夠了解,就比較能知道它什麼時候會出錯,為什麼會出錯,甚至能除錯,而不會盲目相信(或者說即使懷疑,也沒有別的辦法)。
所以延後 AI 統治人類時間的方式,就是跟他比賽,讓更多人更加了解它。

2015年12月14日 星期一

刺客聶隱娘觀後感


昨天看了聶隱娘,感覺有點後勁。
整部電影不斷在傳達孤獨、蒼涼這個感覺。剛看完其實覺得傳達的有點淺、有點不夠孤獨,但後來慢慢就不那麼確定了。可能也跟敘事有點複雜難解有關。
這這種感覺當然從對白中被很直接的敘述出來了,但我被電影的影像和聲音打中的,也就那一堆被人詬病的無聊鏡頭很乏味的聲音。
這種孤獨、蒼涼感,有點類似「前不見古人,後不見來者,念天地之悠悠,獨愴然而涕下」那種感覺,那種宇宙雖大、沒有同類的孤獨感。
事實上,電影中窈七也哭了,為了另外一個代表孤獨這個概念的娘娘而哭。這個哭不是單純因為孤獨寂寞而哭。而是一種同理心的哭法。因為窈七能同理娘娘的訣別與孤寂。但這還不到哭點。關鍵點是,窈七同理到,娘娘因為自身的孤獨,也能同理窈七的孤獨。
因為這種理解與被理解,能短暫的解放沒有同類的孤獨感。

 其實這類描寫沒有同類的孤獨感故事、電影很多。一堆中二救世主電影像是分歧者、飢餓遊戲這類莫名其妙的苦瓜臉主角,往往都是自認我很特別、你們沒有人了解我。
影集 Doctor who 三不五時也在玩這個把戲。
其實搜尋一下,the loneliest people are the kindest 的圖片,你就會了解有知道有多少這類的故事。而這句話也解釋了一部分聶隱娘的劇情與性格。
但聶隱娘有趣的是他幾乎單純用影像、聲音、動作、節奏這種方式來刻劃這種感覺。

要更進一步描述這部電影想傳達的孤寂感,我引用下面幾句話:

“You can have everything in the world and still be the loneliest man. And that is the most bitter type of loneliness.” ―Freddie Mercury

 “People think being alone makes you lonely, but I don't think that's true. Being surrounded by the wrong people is the loneliest thing in the world.”  ―Kim Culbertson


“Loneliness - If you find yourself struggling with loneliness, you're not alone. And yet you are alone. So very alone.”     ―Larry Kersten


但真正要能接收到,可能還是要直接去看電影。

2015年7月2日 星期四

心法: 解開封印

Ryo Chijiiwa
(CC-By)

這是我在教以及學上面,覺得能夠一以貫之的心法。那就是用解開封印的態度去面對學習的方法、目的或任何事,或者也可以叫做釋放、使自由。
比方說,與其說培養獨立思考的能力,不如說釋放獨立思考的能力。與其說培養自學的能力,不如說釋放自學的能力。畢竟,被培養出來的能力,是否真的能稱為獨立思考或者自學還有疑慮。
先看兩個故事:

剪斷翅膀的天鵝來源 以下引述並刪修)
 1968年,美國的一個媽媽發現他的三歲女兒居然認識了禮品盒上「OPEN」的第一個字母「O」,感到很吃驚。發現是幼稚園老師教的。這個媽媽一狀告上法庭,理由是幼稚園剝奪了女兒的想像力。因為她女兒在認識「O」之前可以把「O」說成太陽、蘋果、足球、鳥蛋之類的東西,然而在幼稚園教她認識「O」“之後,就失去了這種想像力。她要求幼稚園賠償精神傷殘費1000美元。
三個月後,幼稚園居然敗訴了。因為全部陪審員都被這位媽媽講的故事感動了:「我曾到東方某國旅行,在一家公園裏見到兩隻天鵝,一隻被剪去了左邊的翅膀,被放養在較大水塘裏;另一隻完好無損,被放養在較小的水塘裏。管理員說,這樣能防止它們逃跑。剪去左邊翅膀的天鵝無法保持平衡,所以無法飛;放在小水塘裏,因沒有足夠的滑翔路程,也只能待在水裏。當時我非常震驚和悲哀,今天這場官司,是因為幼稚園剪掉了小孩一隻想像的翅膀,過早地把她投進了那片只有26個字母的小水塘。一隻沒有翅膀的天鵝是永遠都飛不起來的。」

四分鐘魔咒來源 以下引述刪修)
  1945年,Gunder Andersson 創造了4分零1秒4跑完1英哩的紀錄。多數人認為,這超出了人的生理上限。有好幾年的時間,人們一直堅信,不可能在四分鐘的時間內跑完一英哩。慢慢就被大家公認、稱為「四分鐘障礙」。運動員們、甚至連生物學家也確定,這已經超過了人類身體和心理的生物極限。
這個障礙維持了九年。  1954年5月6日,英國醫學院學生羅傑班尼斯特率先以3分59秒4突破了這一障礙,新增了一個更強大的障礙。但事實上,他的記錄僅維持了 46天,之後四分鐘極限也一次又一次被打破。
現在,世界上能夠在四分鐘內跑完一英哩的運動員超過幾百名,他們中甚至還包括許多高中生。 
當羅傑班尼斯特成功突破「四分鐘障礙」後,其他運動員就看見了自己的可能性,他讓每個人都明白了,四分鐘內跑完一英哩是可能的。魔咒也就消失了。

封印以及解封
這兩個故事都說明了想像以及思考自由的重要性,兩個故事分別對應了封印以及解開封印這兩件事情。
我們所有的學習,其實都能視為一種解開封印、釋放、使自己自由過程。學習語言、文字是如此。與其將語言文字視為鍛鍊、訓練出來的能力,不如說,我們本來就有使用文字語言的潛能,教育及學習的過程,只是讓這項潛能發揮出來而已。而學習之後,可以使我們更自由,能接觸很多原本接觸不到的資訊,開放了一個新的世界中。反而原本不識字的情形,像是被鎖在一個小房間中一樣。
同樣的,程式語言、數學、運動、藝術、音樂的各項技能也是如此。 很多時候學到的東西是幫你清掉路障的。

教育的現況:加上封印
但有趣的事情來了,有時候,這種路障是無形的。比方你想探索一個新的世界,固然有一種路障是很直接的,把你的路擋住了。但相反的,如果出現成千上百個選項,你不知道從何選起,一樣不容易找到正確的路。這等於是一種無形的路障。
你要怎麼清掉這種無形的路障呢?最簡單的方法就是,就是把不能走的路,標上此路不通然後擋住。或者更輕鬆,直接標出可以走的路,其他的路全部當成不能走。
原本的目的是要釋放更開闊的世界,但實際上卻很容易退化成加上無數的封印。 兩者表面上的差異很微妙。
這就是第一個故事的點。關鍵就在於,學到 O 這個字母,到底是多了一種想像的可能,還是減少了無數的可能?

另外一個情形是,當你試著當一個解開封印者,解開了一些封印後,你很可能會被你放出來的東西嚇到,想用另外一個封印把他封回去。有點像是五行山腳下放出的孫悟空,馬上就加上頭箍一樣。
xkcd 241: Battle Room


其實這只是個心法,有點像是 "the enemy's gate is down"。比方,不是克服懶惰、戒除懶惰,而是從懶惰中釋放出來。打電玩是好還是壞?要看你是被電玩限制住了,還是電玩打開了你一個可能的世界? 是不是你除了電玩之外的路都被東西檔住了?
大概就是如此。

 --
附註:這兩個故事都有一些爭議,特別是第一個故事,很有可能是大量添油加醋甚至是偽造的故事。 而第二個故事大致上是事實,不過有一些歷史上的小爭議