上山尋寶

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

這句我找不回原文:

The treasure you can find at the top of a mountain is the one you take to there.

你千辛萬苦爬到山頂,所能找到的寶藏,就是你帶去的那一些。

你以前舉過的一個例子是,

讀大學的最大得益,未必是「讀大學」本身。

讀大學的最大得益,有時是「考大學」的過程。

大學之前的四年,準備「考大學」時的壓力,對 潛能的激發、知識的增長 和 意志的磨練,不下於大學時期。

— Me@2012.08.23

2012.08.23 Thursday (c) All rights reserved by ACHK

Functional programming 6.2

The I/O monad

In a purely functional language, such as Haskell, functions cannot have any externally visible side effects. Although a function cannot directly cause a side effect, it can construct a value describing a desired side effect, that the caller should apply at a convenient time. In the Haskell notation, a value of type IO a represents an action that, when performed, produces a value of type a.

We can think of a value of type IO as a function that takes as its argument the current state of the world, and will return a new world where the state has been changed according to the function’s return value. The state created in this way can be passed to another function, thus defining a series of functions which will apply in order as steps of state changes. This process is similar to how a temporal logic represents the passage of time using only declarative propositions.

— Wikipedia on Monad (functional programming)

2012.08.22 Wednesday ACHK

How Not to Die

Idea babies 3

If you look at a list of US cities sorted by population, the number of successful startups per capita varies by orders of magnitude. Somehow it’s as if most places were sprayed with startupicide.

I wondered about this for years. I could see the average town was like a roach motel for startup ambitions: smart, ambitious people went in, but no startups came out. But I was never able to figure out exactly what happened inside the motel — exactly what was killing all the potential startups.

A couple weeks ago I finally figured it out. I was framing the question wrong. The problem is not that most towns kill startups. It’s that death is the default for startups, and most towns don’t save them. Instead of thinking of most places as being sprayed with startupicide, it’s more accurate to think of startups as all being poisoned, and a few places being sprayed with the antidote.

Startups in other places are just doing what startups naturally do: fail. The real question is, what’s saving startups in places like Silicon Valley?

— Why Startup Hubs Work

— October 2011

— Paul Graham

2012.08.22 Wednesday ACHK

A History of Western Philosophy

During the 1940s and 1950s, Russell participated in many broadcasts over the BBC on various topical and philosophical subjects. By this time in his life, Russell was world famous outside of academic circles, frequently the subject or author of magazine and newspaper articles, and was called upon to offer up opinions on a wide variety of subjects, even mundane ones. En route to one of his lectures in Trondheim, Russell survived a catastrophic plane crash in October 1948. A History of Western Philosophy (1945) became a best-seller, and provided Russell with a steady income for the remainder of his life. Along with his friend Albert Einstein, Russell had reached superstar status as an intellectual. In 1949, Russell was awarded the Order of Merit, and the following year he received the Nobel Prize in Literature.

— Wikipedia on Bertrand Russell

2012.08.21 Tuesday ACHK

How to be a good leader

0. Try your best not to be a leader.

1. If you have to, choose people extremely carefully because

1.1 in most of the cases, bad people with a good leader are still bad people.

1.2 General Von Manstein of the German Officer Corps, said that there are only four types of officer. First there the lazy, stupid ones. Leave them alone, they do no harm. Second, there are the hard working intelligent ones. They make excellent staff officers, ensuring that every detail is properly considered. Third, there are the hard working stupid ones. These people are a menace and must be fired at once. They create irrelevant work for everybody. Finally, there are the intelligent lazy ones. They are suited for the highest office. — Hubert Crowell

2. Asking “How to be a good leader?” itself is not good because the question is self-centred. Instead, you should ask, “How to get the things done?” or “What is the most effectively way to get the things done?”

Whether being a leader or not is not the main point.

— Me 2011.11.02

2012.08.21 Tuesday (c) All rights reserved by ACHK

故事連線 1.1.2

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

博士論文的完成與否,是你能否畢業的唯一標準。無論你為實驗室修理過多少部機器,為本科生解答過多少題問題;無論你編寫的程式質素有多好,你主持的導修課水平有多高;只要你不能完成論文,你就不能得到一個博士學位。

如果拖了六、七、八年,你也畢不到業的話,唯一的出路,可能就是「輟學」,停止攻讀博士學位,改為投身其他行業。問題是,一方面,你已經浪費了人生中,最黃金的那幾年。另一方面,到求職面試時,你很難解釋,為什麼你會中途放棄。你總不可以答:「雖然我做了很多的工作,對實驗室和學生都有很大貢獻,但是未被 教授、大學當局 和 學術界 所承認,所以不能畢業。」即使那是真正的原因。

其他行業,通常也不會有這種「抹煞功勞」情況。例如,我以前做教師時,如果花了一天時間,批改了一堆試卷,不會有人問我:「那有什麼學術價值?」

如果上司問我:「你昨天做了什麼?」我可以直接答:「批改了兩班學生的試卷。」而毋須擔心有人為難:「雖然你為學校做了很多實事,但是因為它們不是什麼研究新發現,所以不會被承認,而你今個月亦不會有任何薪金。」

(安:你的意思時,不鼓勵年青人,攻讀研究院?)

不是。研究工作,有其獨特的至尊好處。我反而覺得,每個人都應花兩年時間,經歷一次。換句話說,你可以考慮,先讀一個研究式的碩士,然後才盤算,自己適不適合再攻讀博士。

不過,你要留意,無論是攻讀碩士還是博士,你在之前選擇指導教授時,都要格外小心。你要保證,你的指導教授,有品德和有才能,幫你把與論文課題沒有直接關係的工作,全部推開。當然,那樣可靠的教授,萬中無一。

— Me@2012.08.20

2012.08.20 Monday (c) All rights reserved by ACHK

Don’t just fix the mistakes

4. Don’t just fix the mistakes — fix whatever permitted the mistake in the first place.

The process is so pervasive, it gets the blame for any error — if there is a flaw in the software, there must be something wrong with the way its being written, something that can be corrected. Any error not found at the planning stage has slipped through at least some checks. Why? Is there something wrong with the inspection process? Does a question need to be added to a checklist?

The way the process works, it not only finds errors in the software. The process finds errors in the process.

— They Write the Right Stuff

— By Charles Fishman | December 31, 1996

2012.08.19 Sunday ACHK

微積分 1.2

背誦製成品 9

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

你試想想,傳說中的「微積分」,運算的過程中,其實是在做什麼?

其實,「運算」時,你只是在憶述之前背誦了「微積分」公式,而不是真的什麼「運算」或者「思考」。

當然「微分」有「機械程序」可以跟,意思是,去到任何一步,你都會很明顯知道,接著應該要用哪一道公式;而「積分」則沒有,所以「積分」會困難一點,會有更強貌似「運算」的感覺。但是,那強烈一點的「運算」感覺,其實都是來自,腦中搜索公式的過程,只是搜索的範圍大一些罷了。做「積分」時,你需要回憶和下載一生(甚至乎前生)以來,所學過的「積分」公式和技巧。

如果暫時回憶失敗,找不到所需的公式的話,你就應該暫時中止該題,改為先做其他題目。有時間剩下時,才回去「重新搜索」。

— Me@2012.08.18

2012.08.18 Saturday (c) All rights reserved by ACHK

Database

What database did you use?

We didn’t use one. We just stored everything in files. The Unix file system is pretty good at not losing your data, especially if you put the files on a Netapp.

It is a common mistake to think of Web-based apps as interfaces to databases. Desktop apps aren’t just interfaces to databases; why should Web-based apps be any different? The hard part is not where you store the data, but what the software does.

While we were doing Viaweb, we took a good deal of heat from pseudo-technical people like VCs and industry analysts for not using a database– and for using cheap Intel boxes running FreeBSD as servers. But when we were getting bought by Yahoo, we found that they also just stored everything in files– and all their servers were also cheap Intel boxes running FreeBSD.

(During the Bubble, Oracle used to run ads saying that Yahoo ran on Oracle software. I found this hard to believe, so I asked around. It turned out the Yahoo accounting department used Oracle.)

— Viaweb FAQ

— Paul Graham

2012.08.17 Friday ACHK

Memento 4

They were right. Lists are the only way out of this mess.

Here’s the truth: People, even regular people, are never just any one person with one set of attributes. It’s not that simple. We’re all at the mercy of the limbic system, clouds of electricity drifting through the brain. Every man is broken into twenty-four-hour fractions, and then again within those twenty-four hours. It’s a daily pantomime, one man yielding control to the next: a backstage crowded with old hacks clamoring for their turn in the spotlight. Every week, every day. The angry man hands the baton over to the sulking man, and in turn to the sex addict, the introvert, the conversationalist. Every man is a mob, a chain gang of idiots.

This is the tragedy of life. Because for a few minutes of every day, every man becomes a genius. Moments of clarity, insight, whatever you want to call them. The clouds part, the planets get in a neat little line, and everything becomes obvious. I should quit smoking, maybe, or here’s how I could make a fast million, or such and such is the key to eternal happiness. That’s the miserable truth. For a few moments, the secrets of the universe are opened to us. Life is a cheap parlor trick.

But then the genius, the savant, has to hand over the controls to the next guy down the pike, most likely the guy who just wants to eat potato chips, and insight and brilliance and salvation are all entrusted to a moron or a hedonist or a narcoleptic.

The only way out of this mess, of course, is to take steps to ensure that you control the idiots that you become. To take your chain gang, hand in hand, and lead them. The best way to do this is with a list.

— Memento Mori

— Jonathan Nolan

2012.08.17 Friday ACHK

故事連線 1.1.1

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

攻讀博士學位的最大問題是,你花得最多時間的,將會是那些「技術細節」和「沉悶工序」。而大部分的「技術細節」和「沉悶工序」,偏偏沒有所謂的「學術價值」,導致不能寫進博士論文當中。

例如,你花了大約一個月,才千辛萬苦地為實驗室訂購到,你研究題目全部所需的實驗儀器。另外,做實驗時,其中一部電腦壞了,你花了一整天去修理。

然後,你再發現,實驗所用的其中一個電腦程式有嚴重錯誤,導致實驗不能繼續。但是,那個程式不是你編寫的,而原作者又已在很久前,離開了實驗室。他有留下的源程式碼(source code)。可惜,那堆源程式碼共有二萬多行,而中間又沒有任何說明文件,指引你如何修改。你花了一星期,終於聯絡到原作者。

但是,他說,那程式是他在三年前寫下的,細節已經忘記了。於是,你企圖說服你博士論文的指導教授,原本的實驗是可以避免的,因為你想到一個有類似效果的實驗,而又可以避開那個有嚴重錯誤的程式。不幸,教授堅持,原本的實驗至關重要,無論如何,一定要完成。結果,由於教授的「無論如何」,你要再花三個月的時間,由零開始,寫過一個全新的程式,去代替原本的程式。

中途,你還要為本科生準備導修課和批改功課。只要你稍為有良知,要為那些導修課,維持最起碼的質素,你就已經要投放,全部工作時間中的,至少五份之一。

除了做研究和指導本科生外,你還有自己的課要上,自己的試要考。

試想想,以上的劇情,你又怎可以寫進博士論文呢?

— Me@2012.08.17

2012.08.17 Friday (c) All rights reserved by ACHK

Open source

Right-Click -> View Source is what made the web so successful and it’s awesome that we now have this for 3D graphics as well.

— Dominic Szablewski

2012.08.14 Tuesday ACHK

統治機器

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

我看了維基百科有關中國三十年代的文章。文章中說,1927 年至 1937 年間的那段時期,稱為「黃金十年」。那時,國民政府的「統治機器」,已經大致可以運作正常。

這裡「統治機器」的意思,其實就即是「作業系統(程式)」(operating system software)。表面上,「機器」是硬件。實際上,「機器」同時是軟件,而且軟件的「成份」多於硬件。試想想,當我們說「這裡有一部機器」時,並不是指「這裡有一堆金屬」,而是指「這裡有一堆金屬,以一個特別的方式來排列,繼而運作,有一個指定的用途。」

記住,「機器」是軟件。

— Me@2012.08.14

2012.08.14 Tuesday (c) All rights reserved by ACHK

Anthropic principle, 2.4

The correct version of anthropic principle should be called the anti-anthropic principle.

— Me@2011.11.10

The reasonable version of anthropic principle should not be called as “anthropic principle” at all, but “multi-verse natural selection”.

— Me@2011.10.23

2012.08.13 Monday (c) All rights reserved by ACHK

Negative reaction

IsaacL 286 days ago | link

Maybe it doesn’t apply so much for visual design, but I often find that a negative reaction to a new concept or piece of software is better than a “meh” reaction. One example: I made a browser game a few years back, one of the early players posted a huge rant about how frustrating the game was, I fixed the design issues they raised, they grew to love the game.

So I tend to think that a negative reaction is often a sign you have something good, but flawed. You don’t want people saying “yeah, that’s kinda cool”, you want them saying “OMG THIS THING SUCKS I’M TRYING TO GET IT TO DO X BUT I CANT BECAUSE IT DOESNT HAVE FEATURE Y” – at least in the second case you know you have something they want, and you know how to fix it.

— Hacker News

2012.08.13 Monday ACHK