Tinder 公司擁有這些數據所以全都知道,只有我們自己不知道。因此,這些我們稱為隱私的 Data,如果不幸被偷走,就像我們弄丟身分證一樣,誰知道會不會被拿來做什麼奇怪的事情呢?
2017年10月1日 星期日
2017年9月25日 星期一
[電影] 《我只是個計程車司機》
本來要看金牌特務續集,但鄉民評價兩極,決定改看《我只是個計程車司機》,用本篇文章稍微記錄觀後感。
整體覺得還不錯,主角心境的轉折表現得很好,就算不懂韓國歷史事件也能看得入戲。
看完主要有兩點反思:
- 民主得之不易
- 台灣也曾戒嚴、宵禁過,我們正享受著民主自由的果實,要好好珍惜與守護。
- 人很容易輕信
- 受親朋好友、新聞媒體、周遭環境影響。我們閱讀新聞時最好能知道來源新聞媒體是哪些人?該媒體是否受政黨、財團掌控?
情境思考


- 如果你是那位大學生,額頭上挨著槍,生命受到威脅時,還能夠坦然地叫那名外國記者不要管自己,把新聞報出去才重要嗎?
- 如果你是那位計程車司機,你會甘願冒著生命危險,幫助外國記者逃離光州,將真相帶給全世界知道呢?還是想起自己是一位女兒唯一在世的親人,必須保全自己才能照顧女兒呢?
- 這是一部描寫人與人之間奇妙關係的感人電影,這真是一部十分真誠的電影。
2017年8月31日 星期四
向 Elon Musk 學習解決問題的方法
Elon Musk 是我最近很崇拜的一位「夢想家」,儘管他的一些作為讓他的團隊成員、工程師反感,但是他對目標的執著、狂熱,以及達成目標的手段與想法,都是我想學習的。

第一次從網路新聞看到地底隧道的構想,當時沒有什麼共鳴,可能因為我缺乏想像,腦海沒有出現相應的畫面。第二次為了練英文,無意間從 TED 看到他的前瞻影片,覺得非常酷,這下腦海的畫面被建立起來了,本來抽象的事情變得稍微有點共鳴。第三次將 TED 影片的英文字幕找來看,發現有一段對談是聊到他要如何降低成本,讓我更相信這個目標真的有可能會成功。
我尤其對他如何透過技術來降低成本的問題倍感興趣:
- 縮短隧道半徑
- 同時挖鑿與強固牆壁
- 提升機器運作的效率(提升功率、降低溫度限制)
上述方法的描述還請看 TED 影片聽聽 Musk 本人怎麼說,或是看公司網站會比較有感覺。
我聽完 Musk 降低建築地底隧道成本的方法後,馬上想到的是 Musk 的另一個遠大目標 — 移民火星。
前陣子聽羅胖的邏輯思維介紹到了「任務分解」,剛好就是以移民火星為例。要讓移民火星成真,首要的問題就是節省每次太空旅行的成本,透過 Musk 的想法,他能夠降低成本五萬倍,以下文字直接引用邏輯思維的片段文字稿:
- 怎么把成本降低5万倍?埃隆·马斯克指出了四个方向:
- 第一,火箭得是可以重复使用的。如果发射一次,就烧坏一个火箭,太费钱了。我们如果能把火箭发射出去,再让它飞回来,下次发射继续用,是不是成本就降下来了?
- 埃隆·马斯克2002年成立了SpaceX公司,2015年底就实现了火箭发射以后的再回收。这个新闻你可能看到了,说明这事是可行的。这种成本降低,就是第一步。
- 第二,飞船如果直接载满整个太空航行所需要的燃料,再发射,火箭就会非常的沉重,成本很高昂。怎么办呢?
- 埃隆·马斯克说,在太空轨道上,对飞船进行补给。
- 简单解释一下这个原理,先用火箭推进器把飞船送到太空轨道,这时候不用装那么多燃料,只要足够把火箭送上太空就行。然后推进器迅速返回发射台,装上燃料箱,再飞到轨道,把燃料补给飞船。完成这一过程之后,推进器返回地球,而飞船则将前往火星。
- 采用这种方式,前往火星的成本减少了500倍。这是第二步。
- 第三,在火星上制造燃料,让飞船能够从火星返回地球,这样返程的燃料就不用从地球上带了。这同样还是为了解决燃料负重的问题,又降低了好多倍发射成本。这是第三步。
- 第四,使用正确的燃料。埃隆·马斯克对比了可能的几个选项,比如煤油、氢氧气等等。但他最后认为甲烷是一个更好的选择,因为甲烷在火星上制造起来相当容易。
- 经过这轮分析,埃隆·马斯克就把一个天方夜谭般的技术难题和资本难题,拆解成了一系列非常具体的技术问题。
看完地底隧道與移民火星的例子,你是不是也覺得 Musk 超神?怎麼有辦法把我們認為幾乎不可能的事情分解成一個一個較小的技術問題,而且看起來真的有那麼一回事。
因此我要向 Musk 學習,學習如何大事化小,小事化無。當我擁有這個能力後,別人也會崇拜我吧?XD
相關連結:
2017年7月30日 星期日
負向偏誤(Negativity bias) VS. 正向補償(Positivity offset)
太久沒更新 blog 了,決定以後不論收穫是大或小,即使自己無法 output 太多想法,只要覺得適合分享,就上來寫一下,強迫自己養成歸納與寫作的習慣吧。
今天想寫內容的主要是從人類演化的觀點來看我們現在的思考方式:為什麼我們容易有負面想法?為什麼我們比較在意壞消息與輕信負向的事物?心理學家說,這是因為負向偏誤 (negativity bias) 在作祟。
最近剛好看到兩則來源都提到類似的想法,第一則來源是從罗辑思维第298期「为什么相信阴谋论」聽來的,有興趣可以進入以下連結收看:
心理學有時候很有趣,尤其是當可以對應到自己的思考方式或生活狀況的時候特別有趣,就像十二星座算命那樣,算得準就覺得這個算命讚讚讚XD
今天想寫內容的主要是從人類演化的觀點來看我們現在的思考方式:為什麼我們容易有負面想法?為什麼我們比較在意壞消息與輕信負向的事物?心理學家說,這是因為負向偏誤 (negativity bias) 在作祟。
最近剛好看到兩則來源都提到類似的想法,第一則來源是從罗辑思维第298期「为什么相信阴谋论」聽來的,有興趣可以進入以下連結收看:
音源 https://www.youtube.com/watch?v=LdWpxBPTxP4不知道陰謀論是什麼的,這裡引述羅胖的舉例:
逐字稿 http://www.luojiji.com/thread-7255-1-1.html
什么是阴谋论呢?比如,说艾滋病毒是美国人研发出来祸害世界的武器;911事件是美国政府自导自演的;共济会正在控制世界等等。針對為什麼相信陰謀論這個議題,邏輯思維整理出三個原因:
- 輕信 (演化結果)
- 控制感 (對萬物都要有個解釋,以掌控、解決對環境的不確定性)
- 一致性 (事情的發展要符合認知、符合預期)
你可以想象一下,假如你还是一个在非洲大草原上行走的原始人。你路过一片草丛,突然听到一阵窸窸碎碎的声音——那可能是一条致命的蛇,也可能是一只在捕猎的狮子,也可能只是一阵风。你不知道,那你该怎么办?是不管三七二十一掉头就跑,还是镇定自若等看明白再说呢?邏輯思維有提到演化的部分到此,至於我的第二則來源是看了一本書《好奇心的幸福力量》,書中提到因為大腦演化的設計,我們不斷在正向與負向間尋找平衡,而我們天生就會注意到負向事物,就叫做負向偏誤 (negativity bias)。
假设我们的老祖宗有两种人:一种人,凡事都要搞个明白才行动;另一种人,很容易轻信一件事。那前一种人,早就被野兽吃掉了,没有后代留下来。而我们现代人,其实都是后一种人,也就是那些“轻易就相信一件事”的老祖宗的后代。
The negativity bias is the phenomena by which humans give more psychological weight to bad experiences than a good ones. In fact, some researchers assert that negative emotions have an impact close to 3x stronger than positive emotions.書中提到,有負向偏誤,自然也有正向補償 (positivity offset)。
當感到安全時,我們會表現出對探索新事物、尋找新體驗的輕微渴望,也希望獲得回報與刺激。如果缺乏這種補償,我們就永遠不會學習、擴展、成長或演化。我覺得負向偏誤和正向補償這兩個演化的觀點很有趣,正好反思了一下自己的近況。最近進入工作的疲乏狀態一陣子了,覺得工作上沒有太多新的事物,沒有看到什麼新奇有趣的事物能激發我的熱情,以演化的觀點來看,也許就是正向補償發揮了作用吧?工作一段時期,覺得穩定了,好像能接觸的東西都看過了,有一種成長變得緩慢的感覺。因此內心會浮現要怎麼樣才能獲得更多新刺激?怎麼樣才能加速成長?
心理學有時候很有趣,尤其是當可以對應到自己的思考方式或生活狀況的時候特別有趣,就像十二星座算命那樣,算得準就覺得這個算命讚讚讚XD
2017年6月18日 星期日
Dynamical Variable Assignment in Makefile
上星期遇到奇怪問題卡了我一天:第一次 make 成功,直接重新 make 第二次結果失敗了,第三次 make 又成功?為什麼 make 結果會不一樣?
一開始找資料發現 Makefile 針對變數指定方式的不同,會有兩種展開方式:
一種是使用
Recursively 範例:
Simply 範例:
認知升級後,馬上將 Makefile 的等號改成
後來發現問題是在 rule 中使用
執行
所以最後,我放棄在 Makefile 動態指派變數的值了,把想要執行的指令直接寫成 script 讓 Makefile 呼叫,省去不必要的麻煩。
一開始找資料發現 Makefile 針對變數指定方式的不同,會有兩種展開方式:
Two Flavors of Variables
Recursively expanded variable v.s. Simply expanded variable一種是使用
=,之後執行時都會回來改變等號左邊的變數(recursively),而另一種使用:=,將當下的值指定給等號左邊的變數(simply),之後不再更動。Recursively 範例:
x = foo
y = $(x) bar
x = later
echo $(y) 的輸出結果會是 later bar。Simply 範例:
x := foo
y := $(x) bar
x := later
echo $(y) 的輸出結果是 foo bar。認知升級後,馬上將 Makefile 的等號改成
:=,結果根本不是這個原因…只好繼續找資料,深追問題。後來發現問題是在 rule 中使用
$(shell ... ) 動態指派變數的話,rule 在執行前就會先展開 $(shell ... ) 了,意思是 $(shell ...) 比 rule 還早被執行。使用 $eval(…) 搭配 $(shell …) 動態執行指令
以下透過 Makefile 範例來解釋:執行
make 後會先砍掉所有 rom 檔,並建立 test.rom,確保當前目錄只有 test.rom,接著透過 find 指令查找 rom 檔,將檔名 assign 給變數 ROM。all:
@rm -rf *.rom
@touch test.rom
$(eval ROM := $(shell find ./ -name *.rom))
@echo name=$(ROM)
情境一、當前目錄不存在 *.rom 時:[user][linux][~/test]% ls *.rom
ls: No match.
[user][linux][~/test]% make all
name=
情境二、當前目錄存在 *.rom 時:[user][linux][~/test]% touch existed.rom
[user][linux][~/test]% ls *.rom
existed.rom
[user][linux][~/test]% make all
name=./existed.rom
造成上面兩個結果不同的原因,因為 $(shell ...)先執行了!有注意到情境二的 name 是 existed.rom 而非 Makefile 中建立的 test.rom 嗎?改用 Backquote 如何?
想說好吧,不呼叫 shell 了,用另一種方式解看看。於是使用 backquote (或稱 backtick)` 執行 find 指令,例如:all:
@rm -rf *.rom
@touch test.rom
$(eval ROM := `find ./ -name *.rom`)
echo "before mv: name=$(ROM)"
mv $(ROM) newname.rom
echo "after mv: name=$(ROM)"
輸出結果:[user][linux][~/test]% make all
echo "before mv: name=`find ./ -name *.rom`"
before mv: name=./test.rom
mv `find ./ -name *.rom` newname.rom
echo "after mv: name=`find ./ -name *.rom`"
after mv: name=./newname.rom
的確,使用 backquote 變成當下才去執行指令,符合我的預期。但其實我是想把 find 的輸出結果當成 constant string 來使用,而實際上 $(ROM) 存的卻是完整的指令,不是指令執行完的輸出結果…所以最後,我放棄在 Makefile 動態指派變數的值了,把想要執行的指令直接寫成 script 讓 Makefile 呼叫,省去不必要的麻煩。
Reference
- The Two Flavors of Variables
https://ftp.gnu.org/old-gnu/Manuals/make-3.79.1/html_chapter/make_6.html#SEC59 - Stackoverflow
https://stackoverflow.com/questions/34935544/how-to-time-the-execution-of-a-gnu-make-rule
2017年5月30日 星期二
[閱讀] 《人魚沉睡的家》原來腦死和植物人不一樣?
《人魚沉睡的家》
這本小說是由我最喜歡的推理小說作家東野圭吾所寫,近三年才開始接觸東野圭吾的小說,喜歡他的小說中引導讀者思考的情節對話。小說中常探討一些價值觀,這些價值觀不一定有對錯,僅是因為站在不同的立場,不同的成長背景,不同的經歷,因此思考出來的結果以及選擇與人不同罷了。身為使用上帝視角來看故事的讀者,我們很幸運地可以試者去思考、去同理書中每位角色的心情與想法,或許這是身為讀者最幸福的事情了。
書名的人魚是用來描述一名年幼可愛的女孩因為發生了意外,沒有意識,躺在床上或輪椅上安詳的模樣。
讀了這本小說才認識到原來植物人與腦死是不一樣的,以下綜合小說與網路查詢資料,整理出兩者的差別。
植物人由於腦幹機能還正常,保有以下特性:
腦死判定(即腦幹反射測試)︰瞳孔對光反射消失、眼球不會轉動、對疼痛沒有任何反應、刺激支氣管時,沒有作嘔或咳嗽反射等。
為什麼要區分是不是腦死?因為現行法規下定義,腦死即代表死亡,一定要判定腦死,醫生才可以摘取器官進行器官捐贈、移植。
這本小說是由我最喜歡的推理小說作家東野圭吾所寫,近三年才開始接觸東野圭吾的小說,喜歡他的小說中引導讀者思考的情節對話。小說中常探討一些價值觀,這些價值觀不一定有對錯,僅是因為站在不同的立場,不同的成長背景,不同的經歷,因此思考出來的結果以及選擇與人不同罷了。身為使用上帝視角來看故事的讀者,我們很幸運地可以試者去思考、去同理書中每位角色的心情與想法,或許這是身為讀者最幸福的事情了。
書名的人魚是用來描述一名年幼可愛的女孩因為發生了意外,沒有意識,躺在床上或輪椅上安詳的模樣。
讀了這本小說才認識到原來植物人與腦死是不一樣的,以下綜合小說與網路查詢資料,整理出兩者的差別。
植物人 v.s. 腦死
植物人是指大腦死亡但腦幹沒死,腦死是指腦幹死亡。植物人由於腦幹機能還正常,保有以下特性:
- 生理時鐘在轉,清醒(awake)但沒有意識(awareness),眼睛張開
- 無法與他人互動
- 無意識行為
- 自發性呼吸(腦幹正常)
- 非自發性運動(還是能進食、排泄)
腦死判定(即腦幹反射測試)︰瞳孔對光反射消失、眼球不會轉動、對疼痛沒有任何反應、刺激支氣管時,沒有作嘔或咳嗽反射等。
為什麼要區分是不是腦死?因為現行法規下定義,腦死即代表死亡,一定要判定腦死,醫生才可以摘取器官進行器官捐贈、移植。
延伸思考
- 植物人有沒有可能醒過來?
- 腦死有沒有可能醒過來?
- 你是否接受器官捐贈?
- 家人是否接受器官捐贈?
延伸閱讀
2017年4月26日 星期三
Blog CSS Test
H1 Text
H2 Text
1#
2#
3#
4#
5#
5 is the normal size
6#
↓分隔線↓ 中文字型測試
Normal text
Bold text
Italic text
text block 1
text block 2
This is text block 3...test with large widthhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
and the second line
int main(void)
{
printf("This is code block...test with large widthhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh");
return 0;
}
Finally, test with block quote
Written with StackEdit.
訂閱:
文章 (Atom)