Dilbert test 4

To be great is to be misunderstood. – Emerson

(安:你的網誌引述過 Dilbert 的一個講法,指出與平凡人的對話,可以用來測試你自己的意念,是否偉大的創見。

當你不肯定自己的意念偉不偉大時,你可以試試把它說給一個平凡人聽。如果他認同你的話,你的意念就不會是偉大的。)

Paul Graham 都有類似的講法。

… smart people by definition have odd ideas. — Paul Graham

One difference I’ve noticed between great hackers and smart people in general is that hackers are more politically incorrect. — Paul Graham

— Me@2011.08.06

Hacker here means a great programmer, not a computer criminal. — Me

2011.08.06 Saturday (c) All rights reserved by ACHK

物理數學

這段改編自 2010 年 5 月 12 日的對話。

記住,物理的精神,就是盡量減少用數學。

物理教你如果利用最少的數學運算,得到最多的成果。

— Me@2011.08.05

(WSY: 物理學家不是數學很好的嗎?)

正正是因為數學很好,才會有能力判斷,什麼時候可以不用數學。  

— Me@2010.11.19

2011.08.05 Friday (c) All rights reserved by ACHK

Copy Me, 3

Cumulative concept of time, 8

Since my present-self have the memory of my younger self, my younger self is part of my present-self.   

1. What is the meaning of the “same” file?

If two files contain exactly the same data, they are the “same” file.

2. Memory is the definition of identity. 

Since I have the memory of my younger self, I am the same person as my younger self. Moreover, since I have more memory than my younger self, I am more than my younger self. My younger self is part of me.

3. If I am a book, my younger self is like the one with fewer chapters:

younger self ~ chapter 1,2,3       

older self ~ chapter 1,2,3,4,5,6

— Me@2011.07.10

— Me@2011.08.04

2011.08.04 Thursday (c) All rights reserved by ACHK

天空堤壩

Talent at its best and character at its worst

.

Lord Acton said we should judge talent at its best and character at its worst. For example, if you write one great book and ten bad ones, you still count as a great writer — or at least, a better writer than someone who wrote eleven that were merely good. Whereas if you’re a quiet, law-abiding citizen most of the time but occasionally cut someone up and bury them in your backyard, you’re a bad guy.

– Paul Graham

.

才能方面,如果一個人的最高點是可以接受的話,你就可以錄用他,即使他有其他任何才能缺點;

品德方面,如果一個人的最低點是不可接受的話,你就千萬不要錄用他,即使他有其他任何品德優點。

– KinOn’s presentation, modified by Me@2010.03.06

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

才能方面,一個太陽可以照亮整個天空;

品德方面,一條裂縫可以摧毀整個堤壩。

– Translation by Me@2010.03.06

.

.

.

2011.08.04 Thursday (c) All rights reserved by ACHK

Category Theory | Lisp, 4

這段改編自 2010 年 3 月 6 日的對話。

我在前晚發現,我一直在研究的兩個課題,原來在某個角度之下,是同一樣東西。

(安:哪兩樣東西呢?)

一個就是 Paul Graham 強烈推介的 Lisp programming language(Lisp 編程語言)。另一個就是 John Baez 強烈推介的 Category Theory(範疇論)。

利用「範疇論」,我們可以將「相對論」的數學語言和「量子力學」的數學語言,統一成一套數學語言。留意,我不是指統一「相對論」和「量子力學」本身,而是指統一它們的數學語言。「相對論」所用的數學語言是 differential geometry(微分幾何)。「量子力學」所用的數學語言是 representation theory(表示論)。

Lisp 和「範疇論」都是我幾年前就開始關心的課題。最近才發現,它們竟然是「同一樣」東西,令我十分驚奇。幾天前,我還正正考慮著,好不好暫時放棄其中一門,因為我沒有時間同時深入研究 Lisp 和「範疇論」。現在,問題突然消失。

彷彿是同時愛上了兩位女仕,最終要二擇其一。正當面臨痛苦決擇之際,發現她們,竟然是同一個人。

— Me@2011.08.03

2011.08.03 Thursday (c) All rights reserved by ACHK

Clojure

Rich Hickey developed Clojure because he wanted a modern Lisp for functional programming, symbiotic with the established Java platform, and designed for concurrency.

Clojure’s approach to concurrency is characterized by the concept of identities, which represent a series of immutable states over time. Since states are immutable values, any number of workers can operate on them in parallel, and concurrency becomes a question of managing changes from one state to another. For this purpose, Clojure provides several mutable reference types, each having well-defined semantics for the transition between states.

— Wikipedia on Clojure

2011.08.03 Wednesday ACHK

Throwaway Programs

To be attractive to hackers, a language must be good for writing the kinds of programs they want to write. And that means, perhaps surprisingly, that it has to be good for writing throwaway programs.

A throwaway program is a program you write quickly for some limited task: a program to automate some system administration task, or generate test data for a simulation, or convert data from one format to another. The surprising thing about throwaway programs is that, like the “temporary” buildings built at so many American universities during World War II, they often don’t get thrown away. Many evolve into real programs, with real features and real users.

I have a hunch that the best big programs begin life this way, rather than being designed big from the start, like the Hoover Dam. It’s terrifying to build something big from scratch. When people take on a project that’s too big, they become overwhelmed. The project either gets bogged down, or the result is sterile and wooden: a shopping mall rather than a real downtown, Brasilia rather than Rome, Ada rather than C.

Another way to get a big program is to start with a throwaway program and keep improving it. This approach is less daunting, and the design of the program benefits from evolution. I think, if one looked, that this would turn out to be the way most big programs were developed. And those that did evolve this way are probably still written in whatever language they were first written in, because it’s rare for a program to be ported, except for political reasons. And so, paradoxically, if you want to make a language that is used for big systems, you have to make it good for writing throwaway programs, because that’s where big systems come from.

— Paul Graham

— Me@2010.08.07

2011.08.02 Tuesday ACHK

魔法筆記 3

這段改編自 2010 年 5 月 12 日的對話。

其實,這些 MC(多項選擇題)是怎樣砌出來的呢?

每一課都有幾個重點。把那幾個重點隨機組合,就可以砌成一大堆 MC 題目。例如,假設,某一課有七個重點。第一題可以考你第一和第二個重點;第二題考你第二和第七;第三題考你第三、第五和第七;等等。每一題都考你貌似不同的知識和技巧。

初學者為什麼會覺得困難呢?

因為他們不知道那一課的背後,主要的重點只有七個。每一題對他們來說,也是全新的學問。

那樣,你怎樣可以做到,看穿每課背後的幾個重點呢?

可以問我,或者其他對這科這課熟悉的人仕。但是,留意,即使我直接講了那些重點給你聽,而你當時又明白,也不代表你可以真切「感受」得到。因為那不是你自己的故事、個人的經歷,印象未必會深刻。

為了加強記憶,一題如果錯了的話,你要問問自己,該題是因為不懂什麼,而不能完成。例如,在這題中,你原本不知道,在思考電壓(Voltage)題目時,應先行設定一點參考點,定義電壓的數值為零。另一個要點是,電流(current)的方向,是由高電壓的位置,指向低電壓的位置。

那樣,這題就可以記下這兩個要點,於「魔法筆記」中。

一般而言,每題大概可以歸納到二至三個要點。不斷用這個方法,歸納到(例如)第十題時,你會發現,那些知識和技巧,有部分已經在「魔法筆記」中重複。重複的東西,就是一課的精髓。

— Me@2011.08.02

2011.08.02 Tuesday (c) All rights reserved by ACHK