Monday, October 15, 2018

余英時:中國轉一個身非常困難

余英時:中國轉一個身非常困難

全文: http://cn.nytimes.com/china/20140314/cc14yuyingshi/zh-hant/

引句

中國在突破後的超越精神世界是內向的,可以簡稱之為「內向超越」("inward transcendence"),與西方突破後的「外在超越」是兩條不同的文化道路。

共產黨在論述自己合法性的時候乞援於歷史唯物主義,強調它是遵循歷史規律的必然性而專政的。事實上這便是過去的王朝「奉天承運」而統治天下的一種現代變相。延安時期劉少奇講共產黨員的修養。執政為什麼是共產黨呢?因為共產黨員有特殊修養。這就是儒家的東西被共產黨給借用過來了。

毛提出的宣傳口號如「深挖洞,廣積糧,不稱霸」,當時廣泛流行,其實是抄襲明太祖的「高築牆,廣積糧,緩稱王。」明太祖有一套語錄,叫《大誥》,每家都要念。洪武30年,19萬學生被召到南京,每人發一本。你家裡如果有一本大誥,犯了罪是可以減刑的。這不就是毛澤東語錄的歷史根源嗎?

中西文化是可以融合的,因為有一些東西是普世的。比如中國沒有人權概念,但是有人權意識。

漢代皇帝便有詔令,強調人不可以賣自己的孩子為奴,也不可以買別人的孩子為奴。「天地之性,人為貴」。不能說中國文化整個都是落後的。過去最大的問題就是認為如果不把中國傳統文化都消滅乾淨的話,就無法現代化。

權力總是有人會去搶的,但肯定不在啟蒙和搞新文化這幫人手上。掌權的人不肯放棄權力,又沒有制度可以制衡他。

天聽老百姓的話(「天聽自我民聽」),從此成為中國政治傳統中的普遍信仰。比如尚書裡面就說,雖然老百姓沒有辦法直接與天溝通,但是天會來聽老百姓的民意,聽他們的苦衷,然後決定把天命交給誰。這就是中國早期的民主觀念。

漢代董仲舒用「天」來壓皇帝,使他不敢胡來,宋以下則用「天理」來制約朝廷的權勢。但中國對皇權的約束主要靠士大夫階層的爭取,他們沒有法律上的保障。何況士大夫中肯為「道」而堅持的又是少數。

中共搞階級鬥爭之後,整個局面改變了,人情沒有了。人與人互相猜防,三個人在一起就不敢說真話。

今天大陸上一切都是官作主,學術界也是如此。學術領導權完全在「官」手上,真正學者反而不受人尊敬。

(中國文化會向一個什麼方向走呢?)你可以拿台灣做例子。首先政權不再那麼專制,其次地方有自己的活力而不是被中央管得死死的,再次,新的中產階級不斷壯大。這樣文化就會跟着變。因為只要你給它自由,它自己就會找出方向來了。文化沒有什麼高深的,文化說到了最後就是生活。

Wednesday, October 10, 2018

備忘錄

iOS備忘錄是一個看去簡單,其實功能全面的優質工具。

簡言之,功能有:
  • 全域搜尋。
  • 加入清單 (checklist):類似待辦事項的打勾清單,方便處理臨時事務,尤其是你不想在 reminders 中輸入的時候。
  • 手繪圖案:有數種常用筆刷,色彩,更有直尺助你畫直線。
  • 插入圖片。
  • 插入表格。 
  • 掃瞄文件。只需對著桌面上的紙張文件即可影相入notes,自動扭正和影像強化。打倒一堆掃瞄apps。
  • 由其他app中輸出:任何的app,例如它支援 iOS 8 的 share sheet ,就有可能將資料輸出到備忘錄。比如 Safari:在 Safari 中分享,選擇備忘錄,即可。
  • Folder: 現在備忘錄支援 folder。但我個人覺得沒有必要,因為用搜尋,就可以很快找到任何備忘。
  • Siri: 可以用 Siri 建立備忘。(粵語範例)只要用類似的句式:「幫我記低今晚同阿媽食飯。」
  • 支援 widget - 就是主屏幕的小工具。notes的小工具可以顯示頭幾條最近改動的notes。只要一撥即可查閱。
  • 置頂:可以在notes清單上右劃,即可置頂某則notes。
  • 同步:只要你的 macOS 不太舊,備忘錄可以與電腦內的備忘錄完全同步資料。
  • 額外密碼保護:在 iOS 設定之中,你可以設置額外的密碼,保護記事。此處也可以用 Touch ID!
至於設計,與 reminders 相似,仍保留了彷真設計:紙質的感覺。但似乎失去了以前版本換字型的功能。其實我很喜歡 Noteworthy 字型!

所以,iOS 內置的app,表面簡單,其實是經過仔細設計,功能並不簡單。相信可以應付很多人的實際需要!

Reminders app in iOS

iOS 內置的「提醒事項」經常被人忽略。事實上,功能繁多,外表吸引人的「GTD」類apps,使用起來並不會更有效。對一般人、一般生活上的事情,內置的 reminders 已足夠,甚至更加好用。

簡言之它有以下特色:
  • 地點提示:在離開或到達指定地點時,發出提醒。我本身無此需要,而且應該比較耗電。但某些情況下,比如你經常開車,電力不成問題,可以善用。
  • 自動重覆:比如每年每月每週等等,在你標示完成後,自動增加下一輪的待辦。對付週期事務特別有用,比如每天提醒你打電話給父母,或每月轉帳等。
  • 結合 Safari 和 Siri:在瀏覽網頁時,叫出 Siri,說「將網頁加入提醒」,就可以把當前網址加入 reminders. 
  • 列表:可以開設多張列表,將不同的提醒分類。清單例子如:欲購買的商品,自己要做的項目,工作上的待辦,等等。各事項可以隨時移動至另一個清單。
  • 與 exchange / outlook 結合:如果公司使用 Microsoft Exchange 或 Office 365,可在 iPhone 設定 Exchange 帳號,即可把 outlook 內的 Task 同步至 Reminders 中。Task 的正文,會成為待辦事項的附註。因為 reminders 只支援純文字,格式會失去,但這也夠用了。
  • 你若使用 Mac 電腦,那麼它可以同步至 Mac 中的 reminder,方便又可備份。
  • 在 Mac 中可以將清單與他人共享,多人同時關注一張清單,方便合作。亦可團隊之間分配任務。
  • 如果在 iOS 之中,建立了家庭的情境,會自動多出一張「家庭」清單。
以上特色,於第三方apps中,並不常見。也算是 apple 的誠意之作。不過我不太欣賞它的「仿真設計」!在 iOS 7 以後,它與備忘錄竟然保留了仿真設計,真是意料之外!

iOS輔助功能-再探

iOS 輔助功能,雖說是為特殊條件之用家所設,但普通用家也可細心利用,用起手機更是方便。

Home 按鈕

  • 三按即可啟動一種功能,可以同時選擇數種,三按時會出現Menu,再選擇即啟動。
  • 我選擇啟動相反色彩。等於是即時轉換色彩主題。
  • 有怕 home 鍵被按壞的,不用擔心,在 4s 之後,那幾乎不可能。

觸碰輔助

  • 有的人手快,有的人動作慢。這個設定可以定義要按在屏幕上多久,才當作是單觸碰。那麼動作慢的人,就不至於每次點按,都被誤當作長按。
  • 如果 iPhone 是老人家使用,就有需要設置了。

取消震動

  • 我本身多數時間都將手機設為靜音,以防滋擾。
  • 可是不時手機仍會震動,十分煩厭。
  • 原來可以在「震動模式」之中,將其關閉。
  • 無論無何,手機不再震動。比如插入叉電線,收到訊息,都靜靜亮起屏幕而已。

搖動Undo

  • 這個功能存在已久,相信大家已經熟悉。
  • 編輯文字時,在任何app中應該都可以有效,只需搖晃兩下,手機即提示是否復原上一次編輯。點選確認就可以。
  • 怕搖晃手機時掉落?也沒辦法啦,搖慢少少。技術形容:需要在手機屏幕所在的平面,來回平移二次,才可啟動UNDO。卻不用太快,慢慢chok就可以。

3D Touch

  • 在 6s 之後,有俗稱「力按」的 3D touch 功能。
  • 如果你比較懶,可以把需要的力度調輕,只需很輕的力量,即可讓裝置檢測力壓。
  • 玩了 3D touch,我驚訝玻璃面似乎軟如皮墊。雖然明白物理學上的「剛體」,在自然情況下幾乎不存在,但以軟綿綿手指竟已可以將堅硬玻璃擠壓變形,以至能檢測的程度,總覺得有些過份。只能感歎一句:Apple的工程學,總是快人一步。

小白點 AssistiveTouch

  • 雖然大多數人只用來取代 Home 鍵,生怕用壞了 Home 鍵,但它仍有必要略提一下。
  • 它其實集合了很多功能。可以說,是平時不易發覺的操作,盡數在此。比如檢視通知中心,不必在屏幕上方劃下。有興趣大家可以自行發掘一番。
最後再說一下 Home 鍵的迷思。在 iPhone 7 起,Home 鍵已不是機鍵式按動。不知這類用家,是否還能容忍小白點的存在?

如何學習編程

現在世界潮流鼓勵所有人都學編寫程式。甚至幼稚園也有的。小學也有借機器人來體驗編程控制。如果只是明白程序是怎麼回事,也許不用太認真。但若你打算以它作為你的事業,或只是用來工作賺錢,那也許你值得花點精神,系統化地學習一下。

當然我不是寫正規教材。在這裡我只能大概講一下,如何系統地學習寫程式。

什麼是系統化,為什麼

由基礎學起,不要希望未行先走,就是系統化學習。

寫程式是一種工程。要認真地做工程,必須掌握基礎知識。沒掌握基礎,上層的事情一定做不好。在寫程式的情況,可能你仍可以完成第一版。但跟著的維護就會十分艱苦,以至於不可能。你的同事也會在背後詛咒你。

大致流程

簡單認識電腦和網路如何工作。
了解何謂電腦程式。
數據類型和結構。
選一個適用的程式語言。
理解它的語法規則。要能看懂它。
理解如這語言表達數據結構。
學習用這種語言操作各種數據結構。
學習模組化設計,程序式和物件導向的概念。
認識網路協議,以及它們在互聯網的意義。
了解你的程式語言如何操作網路協議。
認識網頁伺服器。
了解你用的語言如何寫伺服器程式。
了解關聯式數據庫。
學習基本的SQL
認識你的語言如何連接數據庫。

這樣就差不多可以去找份程序員的工作,或者自己寫 side projects 了。

這樣的方法雖然很慢,但你會掌握得比較好。在遇到疑難情況,掌握基礎知識的工程師,才能不受干擾,能較快解決問題。

但你可能有點怕,上面要學如此多的東西,跟上個大學差不多了。那有沒有捷徑?有的。以後再說。 🙂

Monday, September 24, 2018

編程語言的洗禮

這個 blog 的一個內容,是想說一下寫程序的事。那既為第一篇,先寫少少回憶好了。

是中二,中三的時候,家裡有了個人電腦。當然還沒裝 Windows,只是跑 DOS,首先是 5.0 版。如果你足夠老,當知這第5版 dos 是很重要的版本。它附帶了一些調整記憶體的程式,非常適合擁有很多時間的中學生。關於這方面我另外講述。另外還帶了一個 QBASIC。這是著名的 BASIC 語言直譯器的一個改良簡化版。你當然可能知道 BASIC 和微軟的關係,那麼這個應該是他們想推廣 basic。所以,除了全屏editor,還附送了幾個帶源碼的basic程序,比如大猩猩丟香蕉,還有貪食蛇。其實我也是靠一本台灣出的dos 5的書,摸到了這裡。被程序碼吸引,就試著閱讀那些很像英文的程序。試著改動一些變數,看看發生了什麼。這當然很有趣。原來可以這樣命令電腦做事。

然後就買了幾本書,跟著範例,慢慢寫起來。順道一提當時黃金商場的書攤,是我們這些電腦痴的勝地。大部分的零用錢還有課餘時間,都花在這裡。

除了QBASIC,還有倚天中文。在DOS下,要處理中文字,當然是要繪圖。所以整個中文系統要在所謂的繪圖模式下運作。倚天提供給應用程式的繪圖API,是以 Assembly 語言或者另一個所謂 Escape sequence 的方式提供。那個 escape sequence 其實有點像 Unix 下顯示彩色文字的方法,但它加了顯示中文字能力和繪圖功能,比如畫圓,畫線。這也使我花掉了無數的時間。

明白什麼叫寫程序之後,也對電腦運作原理徹底了解。因為對電腦了解,自然是深深沉迷。這時候就升了中四,自然選擇讀電腦科。接觸到 Pascal 語言。

Pascal 其實沒有比 Quick Basic 更高級。但我也是樂此不疲,還了解到原來有 object oriented 的特性。這應該是 Borland Pascal 引入的吧。而且,它的 editor 有了語法彩色顯示。記得當時有了 Windows 95,因為很喜歡按扭的形狀,就自己寫了程序,把元素週期表用立體凸起的樣子畫出來。那可是把元素data存在array中,再用迴圈讀出繪畫的。

也會寫些小遊戲,大多是移動數字之類,放在電腦室的486電腦之中,給大家娛樂一下。不過,我們更喜歡在那裡玩DOOM。這是另一個topic了。

預科時,老師叫我玩下CGI。他那時想為學校網頁加入訪客留言功能。這個逼得我提前學習了網絡程序的運作。留言板也成了我熟習的練手程式,凡新學語言,必先實作一個。連後來大學班網裡的留言板,也是我寫了。因為大家但求方便易用,所以只用了 Perl就完成,還只是一個file,所謂單file程序。在學校的unix上,非常穩定,撐了三年多完全沒倒下。

到了大學,自然是選讀Computing了,沒有懸念。那是 Java的年代了。很新,連教授都在一邊學,一邊教我們。中間的功課,做 web apps,我們選用 PHP。貪它快靚正。沒有想到,後來的 Facebook,也是用 php寫成。為什麼我們當時沒想到要做一個?哈哈。

Year 1 識左個同學仔。他提前教我學了 database,去做 free lance。為一間模型店做了個收銀出單的app。非常成功。因為是先實作,year 2 才上課學習數據庫,這是完全不同的上課感受。如果你要掌握一樣技能,先實作,再學理論,有時候也很有效。

2000年,是實習的一年。當然係去做programmer。公司用的是 ASP,因為同事用 VB Script 來寫,與多年前的 BASIC很像。現在大概也沒人用這個來做 web app了吧!

畢業後首先也是用 Visual BASIC寫東西。那時候試用了 Active X,感覺它還不錯,可以在 Internet Explorer 中用。當然它現在已經過時了。但與COM interface的戰鬥中,深刻了解了何謂 interface。這個概念非常重要,日後再談。

日後在工作之中,還使用了 Java。大公司的 Architect 當然有他的理論。指示了我們用一堆 frameworks。比如 Spring。然而,framework成功,不等於你也成功。我個人認為,如果它不能簡化你的工作,就不要用。最後,我們並沒有用太多frameworks,卻做出一個個成功的apps。

業餘projects,也試過 Python,甚至 Ruby。這兩種在西方國家常見,但在香港較少見到。受限於打工搵食,我也沒有太多時間深究,希望日後有機會!

經歷了多種編程語言的洗禮,我發現,每一種都代表一種哲學觀。對機器和計算的不同理解,孕育出不同的語言。要精通多種語言,非常困難。好在,你並不需要精通全部。但是,精通一兩種是有必要的。觸類旁通,你可以在必要時,快速學好一門新的。比如,在 iPhone App Store 帶來的機會席捲編程界之時,你用了多少時間掌握 Objective C 這門看去怪異無倫的語言?

下次再談。

Wednesday, December 27, 2017

攝影之「前清後濛」

好多人入門之時,最想做到的效果就是前清後濛,看上去就有了專業感。我也經歷了幾個階段。由老爸的傻瓜相機,到DC仔,到高級一點的「一體DC」,然後是膠卷單反,再到入門級數碼單反,最後到全幅數碼單反。近年興起的無反,則在朋友手中試玩過。

親身經歷

輕易有前清後濛效果的,首先是膠卷單反。當時我玩的應該是 Canon EOS 300。只是配上一顆普通的變焦鏡頭,散景效果非常好,主體十分突出,幾乎跳出照片。

擁有過的入門級數碼單反是 Canon EOS 350D。拍攝人物時,背景是模糊了,但沒有達到「散」的程度。希望達到的效果是,光斑可以重疊。但是換了好幾款鏡頭,都沒有達到。我們試過的都是EF-S鏡頭,並未有將 EF 全幅鏡套上 350D 使用。

對入門級單反失望之下,狠下決心一步到位,入手了 EOS 5D Mark III。只是用了 Kit鏡,F/4之下給出的散景已經令我滿意。反觀 EF-S 非全幅的鏡頭,即使聲稱 F/2.8,也給不到如此效果。後來在這部機上用到 F/1.8,更是有夢幻一樣的散景:背景的光線和顏色已經完全抽象,成為色彩繽紛的襯底,烘托出前景主體。

說了這麼多,只為帶出當初一位朋友強調的:Photography,首要就是要有Photo(光)。

拍照離不開物理學。光線攜帶著景物資訊,被底片記錄。沒有光線,就什麼都沒有。散景,其實只是失焦的光線,但仍需要足夠的量。光量不夠,就不會有層次分明,又色彩濃厚的散景。

散景要素

大面積的底片/Sensor。至少也要全幅(35mm)的尺寸。小於此的感應器,在通常的曝光時間下,接收光線太少。感應器是機身的特性。當然了,越大的sensor,價格越貴。

大的光圈。最大的光圈,可以在給定時間內,允許最大的光線通過。這個也是越大越好的。光圈是鏡頭的特性。可惜,越大光圈鏡頭,對製作要求更高,價格也就越高。大光圈,也意味著鏡頭口徑較大。

有了大光圈給光,大面積sensor受光,光線量就確定了。然後,為了散景效果,我們還需要:

長焦距。長焦距,以及遠離主體拍攝,可以在受小光圈限制時,提供較好的散景效果。相對來說,獲得一支長焦鏡,比獲得一支大光圈鏡,要比較容易。

如果是拍微小景物,可以貼近主體,這樣也能營照出強散景效果。

為何無反機效果不好

無反機的好處在於比單反輕便,而比DC仔來說,又有可換鏡的靈活度。但是,為了輕便,Sensor尺寸就不能太大。因為,sensor尺寸一大,就需要更大口徑的鏡頭,而由於焦距也隨口徑增加,機身厚度就要增加了。那樣一來,就失去了原本賣點。

另外,為配合sensor尺寸,鏡頭的尺寸也較小,入光量就較少了。不要忘記,不管你用什麼相機,一般的操作時間(曝光時間)是相似的。不可能因為鏡頭口徑小了一半,拍人物就要用多一倍時間。這種物理限制,是無法逾越。

結論

最後感受,就是:要有好散景,必須有錢買大光圈鏡頭和大片幅機身,還要有力量去揹沉重的單反機!為了輕便,採用無反機,在散景方面,就要犧牲了!