Search

1/30/2012

論天賦 @ 王大師論壇 :: 痞客邦 PIXNET ::

論天賦 @ 王大師論壇 :: 痞客邦 PIXNET ::

印度吠檀多學派(Vedanta)內有一個觀念-Dharma,此為梵文,中文應翻成目的。在佛教裡,這個Dharma字被解釋為「法」,然後慢慢衍生成以「苦、集、滅、道」為主幹的四聖諦、八正道佛法(Buddha Dharma)。法鼓山的英文名稱「Dharma Drum Mountain」的出處就在此。

但Dharma這個字的原始意義,並非如此。根據吠陀經(Vedas)所云,人於投胎時,皆有一個自己從天而賦予的「目的」,而這目的有三個特質。第一、我們出生的目的是在尋找「真我」;第二、真我即「天賦」所在,而當你發現並發揮此獨一無二的天賦時,會有超越時間感(timeless awareness);第三、我們需要用自己的天賦去服務其他人。

大師在坊間流蕩多年後,發覺2本書在闡述「天賦」上,為最佳的代表作;第一本為《讓天賦自由》(The Element),這本大師目前還在讀;另一本為《快樂從心開始》(Flow--The Psychology of Optimal Experience),於14年前讀畢。《讓天賦自由》這本書旨在批評現代教育的失敗,內容探討人類在進入工業革命的百年來,將教育侷限在大腦左側。邏輯思考、數理科學被列為最重要的科目。再來是語言、其次為人文社會,其他如音樂、美術、舞蹈等則列為最不重要的科目,可是卻往往壓抑且抹煞了本來天賦是在後項的天才們,實為可惜。




 



《快樂從心開始》則在討論人如何得到快樂,其結論不是金錢或頭銜,而是運用自己的才能(talent),讓它達到所謂的「心流」(flow state)狀態。而達到這心流狀態會有何副作用呢?第一、日常生活的焦慮及憂鬱將頓然無形;第二、從事者會達到一種無時間觀念的境界(timeless state),彷彿過年如日般。前述兩本書的概念,剛好與5,000年前的吠陀經不謀而合,此為巧合嗎?我看不是。

但千萬不要以為尋找「天賦」是件容易的事。《讓天賦自由》裡有談到,如果你想要找到自己的天命,首先要有的當然是熱忱,但是另一個要素則是:「你願意犧牲多少?」社會的框架有很多的投資在你身上,它無時無刻的在檢驗你、桎梏你,拿世俗的觀念獎賞你,且不會輕易讓你離開「成功大道」。

昨天大師又再度步行至長春戲院,觀賞《與神對話》電影。裡面主角在經歷過車禍後,過著顛沛流離,夜宿街頭的生活;最悽慘時,還跑到垃圾桶內撿食物吃,還不慎被路過的小孩看到這窘境。他當下覺得自己的形象蕩然無存。最後,主角發現自己內在的一個聲音,這聲音帶領他走向寫作這條路,走入新世紀哲學的講師之途。

作者村上春數亦然,他過了一段時間別人為他鋪設的道路後,發覺過得很不高興,認為如果不是自己喜歡的課業,不管如何都學不上來,最後也脫離了主流社會,徒步自助旅行,累了就露宿街頭,接受陌生人的施捨。然後在29歲那年,突然起個如下的念頭:

「1978年4 月,有一天我突然想寫小說。…當天下午我正在看棒球,坐在外野區,一邊喝著啤酒。我最喜歡的球隊是養樂多隊,當天是和廣島隊比賽。養樂多隊在一局下上場 的第一棒是個美國人,大衛·希爾頓(Dave Hilton)。…我記得很清楚他是當年的打擊王,總之,投出的第一球就被他打到左外野,二壘安打。就是那時我起了這個念頭:我可以寫一本小說。」

人生的際遇總是充滿波折又那麼突然。《與神對話》內有一句對話,很發人省思,『吾人所稱的生活,其實只是還沒死而已』。西方諺語亦有一句:「All men die, but most men never live at all.」朋友,如果您從未找過自己的「天賦」,並將它發揮出來,豈不是白活了?不知您現在所行走的道路在何方,為何還在原地踏步,幫你討厭的老闆端茶打草稿?難道,這就是活在這地球N年後,你想要的人生嗎?

1/22/2012

豬灣事件 - 维基百科,自由的百科全书

豬灣事件 - 维基百科,自由的百科全书

豬灣事件(豬玀灣事件)是1961年4月17日,在中央情報局的協助下逃亡美國的古巴人,在古巴西南海岸豬灣(豬玀灣、科奇諾斯灣,Bahia de los Cochinos),向菲德爾·卡斯楚領導的古巴革命政府發動的一次失敗的入侵。豬灣事件標誌著美國反古巴行動的第一個高峰。

軍事計劃
在冷戰的氣氛下美國已經無法使用第二次世界大戰以前的炮艦外交做法了,假如美國現在入侵古巴的話會造成巨大的地緣政治反應,因為許多第三世界國家會抗議美國這樣「干涉其它國家內政」。1961年2月17日甘迺迪問他的顧問「是否可以將推翻卡斯楚政府的行動與(蘇聯對古巴的)提供武器聯在一起」。「我們能否說,我們本來的進攻目標是威脅美國安全的現代的噴氣式轟炸機和火箭?」但這個計劃無法實現,因為當時蘇聯對古巴的武器供應還很少,而古巴的空軍當時實際上完全由幾架改裝的運動飛機組成。
唯一可行的,可能性是一個位於古巴的反政府向美國求援,這樣美國就可以向古巴提供軍事援助了。
[编辑]建立一支秘密軍隊
1953年中央情報局在伊朗、1954年在瓜地馬拉成功地使用極小的特務行動推翻了當時的政府。1960年開始,中央情報局開始在瓜地馬拉招募逃亡的古巴人,首先對他們進行從事破壞行動的訓練,後來訓練他們在美國支持下進行大規模入侵。
古巴流亡者被編成「2506」突擊旅,下轄4個步兵營、1個摩托化營、1個空降營、一個重炮營及數支裝甲分隊。何塞·佩羅斯·聖羅曼任指揮官,政治領導人為叛逃的前古巴土地改革全國委員會督察員曼努埃爾·阿蒂梅。
[编辑]入侵計劃


豬灣所在的圖示.
流亡古巴人的唯一任務是在古巴用武力保衛一個臨時機場,直到在邁阿密的古巴流亡政府得以飛往古巴後向美國發電求救。對這個計劃來說豬灣似乎是一個理想的地點:
它位於一個沼澤地的邊上,古巴政府要對它進行軍事攻擊有一定的難度。
在它附近的埃斯坎布雷山中直到1960年代中依然有反政府武裝力量行動。
這裡人煙稀少,當地的反抗不會很強。
中央情報局使用的情報來自於想要推翻古巴政府的反政府人士,它們誇張了古巴國內的反政府情緒,同時也誇張了俄斯坎姆布拉山中的武裝力量的實力。中央情報局本身也試圖誇張他們的報告,來向當時剛剛上任的甘迺迪保證這個行動肯定會成功的。甘迺迪一開始猶豫不決。也許當時中央情報局的計劃署認為,行動開始後,即使失利,甘迺迪也會同意投入美國軍隊的。後來對甘迺迪的責怪,說他中斷了行動計劃,似乎證明中央情報局的確做了這樣的假設。
4月14日甘迺迪同意了中央情報局的計劃,但作為美軍最高統帥他決定不將投入美軍的決定放出手。
[编辑]入侵過程
1961年4月15日美國B-26轟炸機轟炸古巴機場作為準備。這些飛機被塗上古巴的標記來造成反政府起義的假象。5架美國飛機被古巴飛機擊落。
4月17日,約1500受過訓練的流亡古巴人在兩名中央情報局官員指揮下在豬灣登陸。美國海軍提供補給支援。
入侵者的兩條運送彈藥的船被古巴軍隊擊沉。
三天後入侵軍被消滅,1000多人被俘,約90人陣亡。被俘的人受公開審判。一些人在1963年通過與美國交換緊急需要的藥品、食品和農業機械返回美國。
[编辑]失敗


羅伯特·甘迺迪的聲明,對古巴和中立的法律,1961年4月20日
由於流亡古巴軍無法守住「流亡政府」打算飛往的機場,因此這個流亡政府無法發出他們的「求援」。對甘迺迪來說,這樣他也就無法下令讓海軍陸戰隊介入。因此不顧中央情報局的反對,下令中止這次行動。
對於被俘虜的流亡分子,古巴政府取消了他們的公民身份,並以此為人質向美國政府索取了6,200萬比索的藥品與嬰兒食品。這也是美國政府歷史上第一次支付戰爭賠款。
這次行動失敗的原因有:
入侵計劃沒有保密。許多參戰的流亡古巴人在邁阿密的酒店裡吹牛,說他們將要參加入侵古巴的行動。
入侵前的破壞活動和從美國起飛的飛機轟炸也為古巴報了警。
當地的居民屬於古巴最貧窮的階層,也是受益於古巴革命最大的階層(建造學校、醫院、基礎建設),因此他們是一開始反抗入侵者的人,他們為古巴正規軍提供了組織反攻的寶貴時間。
古巴軍隊剛剛贏得三年游擊戰的勝利,他們士氣高昂,而且很有作戰經驗。
甘迺迪將美國的空軍支援減少,因此古巴空軍只有一半在地面上被消滅,其餘的得以升空,擊毀五架美國飛機和兩條彈藥船。

正義已伸張;如果你依然相信的話!(賓拉登與周董) @ 王大師論壇 :: 痞客邦 PIXNET ::

正義已伸張;如果你依然相信的話!(賓拉登與周董) @ 王大師論壇 :: 痞客邦 PIXNET ::

美國有其可愛的地方,甚至在某方面『可愛』一詞著實可讓位給『偉大』來形容。世界的主要國家在二次大戰後,之所以沒有再度發生稍早前《凡爾賽體系》後的希特勒竄起、墨索里尼法西斯政權、與日本軍國主義,甚至第三次世界大戰,是因老美在二戰後,決定積極主導整個世界的走向,採取的方式,異於英、法、俄在一次大戰後的羞辱戰敗國處置,將德國貶入萬劫不覆的地步。

當時法國要求德國的賠償數字幾乎天價,甚至一度佔領德國魯爾區,趁機展現戰勝國的『威望』。德國戰後脆弱的經濟導致惡性通貨膨脹(hyperinflation),馬克對美元匯率從1922年8月1:1000,升至1:42000『億』,沒錯,是億,促使戰後德國一片蕭條,經濟停擺,最後農民左傾,爆發革命,導致希特勒最後竄起,其他也不需贅述了。

而二戰後,美國開始將自己角色放大,異於之前威爾遜搞一團糟的『國際聯盟』(league of nation),羅斯福執意要建構強勢的『聯合國』,這回國會不敢再杯葛,老美直接將UN本部設在紐約市,就近看管,而對戰敗國,也不尋求羞辱式的懲罰,而是在歐洲建構『馬歇爾計劃』(Marshall Plan)復興經濟體制,並在布列敦森林會議 (Bretton Woods )後陸續建制IMF、ITO (WTO前身)、以及世界銀行(World Banks),鞏固世界金融體系。

在亞洲,麥克阿瑟將軍幫日本制定憲法,政體改內閣制政府,並挹注幾千億的救濟金入中、日、韓、菲、泰等國,使戰後的德、日,經濟在5年內恢復到戰前水準,10年後起飛,15年後重返國際榮耀,30年後日本及德國分別為世界第2及3大經濟體,而重點是,日、德、義在戰後皆為民主、法治之經濟大國,且『未發動過一場戰爭!』

那美帝到底在哪裡走錯路了?導致目前為止,其在世界兩地有主要戰場,在韓、日、泰國、澳大利亞、菲律賓、歐洲的北約諸國、沙烏地阿拉伯、西班牙等國內有大量駐軍,而軍事基地、顧問、合作專案等軍事佈署遍佈世界各地,美國一年的軍事預算比全世界加總還多,美國為何那麼缺乏安全感?又在那一事件後,使美軍的勢力讓全球極端反感,從引領潮流的『世界警察』,淪為單邊主義的『流氓國家』,我認為轉捩點是─『越戰』。

先不說老美在越戰前與戰爭中的罪行,因在兩者間挑美軍的惡行實在太容易了。而是在戰後,異於二次大戰後對戰敗國的金援措施,美國在越戰後是採取所謂的『放血死』(bleeding Vietnam)方式蹂躪我們的亞洲鄰國,美國阻撓任何盟國採取援助胡志民政府的措施,欲使越南落於永無翻身之地,彷彿是給世界其他國家一個教訓:『挑戰美帝的後果將是這樣!!』

印度政府甚至一度要送100頭水牛到越南幫助其戰後的農業困境與缺糧情況,因美軍在越戰期間,誠如李梅將軍(Lt. General Lemay)所言,要把老越『轟回石器時代』(bomb them back to the Stone Age),幾乎把中南半島夷為平地,水牛也就不見蹤影了。但印度的好意最後也遭美國政府阻撓,而鎩羽而歸。


而在古巴,甘迺迪於失敗的豬玀灣(Bay of Pigs)的丟臉事件,以及古巴飛彈危機後(Cuban Missile Crisis),老美亦同樣的封鎖整個古巴,人家又沒有侵略世界任何一個國家,其領袖卡司楚反而於切哥瓦拉一同幫助南美各國脫離殖民對待,美帝卻要求世界不可與古巴作朋友,一直到1996年的柯林頓時期,國會還通過不要臉的「何姆斯-伯頓法案」( The Helms-Burton Act )


而這又是個什麼鬼東西?美國政府為了常久來想染指古巴未遂,就通過一項禁止跟美帝作生意的外國企業,同時間跟古巴有生意往來,包括『醫療與食品』交易,這不但違反美國老爸一向引以為傲的市場機制、自由貿易、看不見的一隻手等鬼話,甚至小氣到連他最愛標榜的人道救援,像醫療物資與糧食也要處分與古巴往來的企業,唉。最後連歐盟都看不下去,提議跟全世界在聯合國投票譴責老美;當時只有美國的看門狗,以色列投票挺老爸,外加狀況外的烏茲別克。

這些例子,在越戰後的美國真是不勝枚舉,從季星吉的中南半島轟炸,一路炸到北韓的水壩都被轟光。寮國、柬埔寨,所投下的炸彈,比盟軍在二次大戰於軸心國投下的總和還多。季氏並在智利扶持殺人魔皮諾契特(Pinochet),暗殺民選的總統阿蓮得(Allende),揭穿了美國在世界上鼓吹民主的假象。

另外,東地汶(East Timor)的屠殺、印尼劊子手蘇哈陀的暴政,皆要記在季辛吉的頭上。而雷根時代則對南美洲的秘密軍事行動,對尼加拉瓜內政及軍事的干預,甚至駁斥世界法院的制裁,認為自己在世界規範之上。


而賓拉登與海珊這兩個所謂的『流氓』,正是美國老爸在世界作壞事時所留下的私身子。海珊是美帝為了制衡伊朗傳統回教勢力所扶植的小壞蛋,老美對他的背書,從未間斷過,甚至在海珊使用毒氣對付庫德族人時,美國政府採眼不見為淨的技倆,暗中則持續運入大量武器。



直到1991年,海珊對老爸叛逆,竟搞個《滿城盡帶黃金甲》技倆,挑戰『朕不給的,你不能搶』法則,威脅老爸的威信,美帝才會與其交惡,並非官方所謂的『捍衛科威特』、『尋找大規模毀滅性武器』,或是『移除暴君』,更非『民主建制』等鬼話,海珊違反的是美國歷任總統一道不成文規定,就是『這些暴君也許是王八蛋,但至少是我們養的王八蛋』(He may be a son of a bitch, but he's our son of a bitch)



美國老爸 海珊



現在剛被『除去』的賓拉登,說實話,我認為他僅是另一個『胡志民』罷了,或是台灣的『蔣渭水』,及黑人的『馬爾坎-X』(Malcolm X),為該地的民族英雄;想做的,也就是鼓吹回教的自治,讓西方的髒手不要再伸進中東的油田而已,除此之外,請問賓拉登有鼓吹過任何傷害其他國家國民的事嗎?他還是台灣某柔道教練的學生,對非西方勢力友善,我們為何要跟著美帝稱他為恐怖份子呢?



賓拉登的教練 最右邊是賓拉登,當時被認為是俗辣一個,跟郭台銘當兵時差不多


賓拉登在1980年代,也符合『我們養的王八蛋』定律,被美國CIA訓練,幫美國抵制當時的蘇聯帝國,可是當他開始有獨立自主的思考,有民族的自治意識後,就違反老爸的『王八蛋』定律,老爸也只好派海豹特戰部隊,越入另一個主權獨立國家境內斬首,中間在捏造一堆故事裝飾,稱賓拉登,『一下拿婦女當盾牌,一下身上攜有武器,一下又全身綁有炸藥』,好讓兩槍斃命的『遮口』技倆合理化,唉!


綜觀我剛剛所述的所有國家,美國沒有一個像二次大戰後的歐、日,在戰敗國、或被佔領國內實施有效的經濟、政治、憲法等制度的長期經營,在許多國家內不是大剌剌的強迫佔領(如伊拉克、阿富汗)竊取資源,再不就是打輸撤退再實施經濟制裁(如越南、北韓、古巴、伊朗),再不就是偷偷摸摸轟你國家(如格瑞那達、薩爾瓦多、尼加拉瓜、柬埔寨);在不就是暗殺你領袖(如智利、古巴、伊拉克、埃及),再不就是培養經濟殺手(如玻利維亞、印尼、瓜地馬拉、厄瓜多爾、巴拿馬)。


最後則就是扶植傀儡暴君(如台灣、韓國、埃及、以色列、智利、羅馬尼亞、沙烏地阿拉伯等),這些國家,除了亞洲四小龍因日本殖民時期打好的底子,以及政府實施『統合主義』(corporatism)讓自己至少在經濟上獨立於美國老爸外,或是一路聽話到底(如泰國、以色列),或是境內擁有龐大天然資源(如沙國、卡達、科威特、巴西)其他都是大災難。

經濟殺手的解釋(中文的只有阿六仔版本)台灣由『時報出版社』出版

最後,在我們稱賓拉登為恐怖份子的時候,我想分享一個中古世紀哲學家『聖奧古斯汀』(St. Augustine)在《上帝之城》書內的一則寓言:

某日,希臘國王亞歷山大的龐大海軍在愛琴海上生擒一艘海盜船上的頭目,隨即將他押到國王面前。亞歷山大見到海盜頭目後,憤怒的斥責頭目斗敢在希臘疆域內姦淫擄掠。

在聽到亞歷山大如此的控訴後,頭目不急不徐的回:「大王,我只有一艘海盜船,乘風破浪的在汪洋大海中謀求三餐溫飽,所以您會稱我為海盜,但大王您有廣大的海軍艦隊及船堅砲利,暴行遍及整個愛琴海直到印度洋,他們卻稱您為『國王』,您說有不有趣?」

聽說當亞歷山大聽到這段話後,唆使海豹射手在頭目的豪宅內賜他兩箭,,一箭穿胸,一箭入眼,死後便迅速葬入印度洋中,從此再也沒有海盜的消息了。He-Somoza-may-be.jpg

1/20/2012

諾貝爾和平獎迷思(中時嚴選好文) @ 王大師論壇 :: 痞客邦 PIXNET ::

諾貝爾和平獎迷思(中時嚴選好文) @ 王大師論壇 :: 痞客邦 PIXNET ::

諾貝爾委員會選擇於此時將和平獎頒給劉曉波,本人認為這是西方國家對中國崛起的回應,老共對於異議份子的壓迫,最近並非為最嚴厲的時期,我認為諾貝爾委員會倘若真對中國的和平有興趣,應在前2個機會就已經頒給以中國為對象的人選了,卻選在老共取代了日本為第二大經濟體時才頒,居心叵測。既然諾貝爾是於1901年時創立,本人就將第一次應頒給中國人的時間往前拉到上世紀初的《西安事變》,我認為,第一個得獎的人選應為與諾貝爾獎同年生的張學良,當時的中國正面臨亡國的大混亂,內有國共內戰及軍閥割據,外有日本的九一八及蘆溝橋事變,與隨後的南京大屠殺,張學良於此時有感蔣介石因一己的權力鬥爭,征討當時在農民階級深獲人心的共產黨勢力。



張學良不顧後果,將蔣介石挾持於西安,促使中國稍後的國共第二次合作,建立抗日的統一戰線,對往後日軍對中國的傷害程度大減。事變之後,張學良被蔣介石一路從中國軟禁至台灣,時間長達50年之久,最後終由李登輝釋放,監禁時間比起劉曉波多幾十倍,若諾貝爾喜好如緬甸的翁山蘇基或南非的曼得拉等人士的監禁紀錄,張學良的績效自不在話下。反觀與西安事變同年的1937年諾貝爾和平獎,卻是頒給英國的塞梭(Viscount, Cecil Of Chelwood),賽梭是一次大戰後《國際聯盟》(League of Nation)組織的幕後推手,但國際聯盟隨後證明是大國們失敗的實驗品。

當時在兩次世界大戰之間有兩個著名的國際侵略行為,一為義大利侵佔伊索比亞,另一個就是日本侵華的九一八事件,國聯在兩個事件上皆袖手旁觀。當時,國聯指派《李頓調查團》到中國寫了一份報告後就不了了之,報告中雖承認日本侵華是違反國際法的行為,但是國際社會畢竟還是奉「現實主義」至上,康德式的國際社會只是嘴巴講講罷了。反觀當時的張學良是以實際行動為之,一切個人的後果皆不顧,也不需如國聯般撰寫一個再明顯也不過的侵略調查報告,卻沒有任何的後續作為。在此,我認為張學良比賽梭有資格拿諾貝爾獎多了,更何況,顧名思義,和平獎本意就是要頒給以和平為目的的獎項而非人權,人權所牽涉到的範圍卻常帶有政治性及文化霸權。

中國第二個應得和平獎的人士,本人認為係開放中國的鄧小平,中國於1980年開放後,已成功的為世人提供一個成功的實驗,就是將世界窮人的數量在最短的時間內減少,中國人現在是自古以來,第一次可以吃飽的時期,全家也都有褲子可穿了,這在世界上是罕見的。中國的國民所得在短短20年內增加數十倍,這都是需要花英、美等國家200多年,日本一百年,四小龍則需50多年的時間換取,但中國所需時間卻是大大小於前述國家,鄧小平的「摸著石頭過河」經濟模式,以及抵抗歐美鼓吹的「休克療法」(shock therapy—亦即採取緊縮的貨幣及財政政策,開放國營企業予國際投資集團等措施),讓中國享有逾20年的雙位數經濟成長,使今年取代日本為世界第二大經濟體。



鄧小平又技術性的迴避統獨問題,聲稱兩岸問題要留給更聰明的下一代來解決,在毛澤東時代,兩岸發生過八二三砲戰及零星衝突,可是到了鄧小平後,台海就在也沒有人因衝突而戰亡過,中國也從此沒與任何國家發生戰爭過,反觀美國在70年代後,共自行發動不下10次的對外侵略戰爭,且皆非自衛性。相對來說,鄧小平應該比較像是和平獎的候選人吧。諾貝爾卻頒給歐巴馬這位從未坐過任何牢、寫過任何著作、規劃任何政治及經濟體制、增兵攻打阿富汗的美國總統,甚至相傳挪威執政黨於頒獎之前,欲藉由和平獎與美國交換鮭魚出口、軍售稅、北極軍事佈署等實利,和平獎的篩選機制實在有檢討的空間。

和平獎不像其他較專業性的獎項如物理、化學甚至經濟等,有很明確的專業依據,和平獎所觸及的爭議性,大於前述獎項。首先,諾貝爾(Alfred Nobel)先生本身的背景就很受爭議,他是個炸藥發明者及軍火商,因為發戰爭財,故覺得內疚,想藉著諾貝爾獎的金錢,洗脫自己的惡名,故很諷刺的,諾貝爾和平獎本身其實也沾滿了戰場上所流的血,也許,這也是個另類的國際洗錢吧。

其次,歷任有很多的得主也是極其的受爭議。 首先,在諾貝爾獎草創時期,1906年的和平獎得主竟頒給老羅斯福(Theodore Roosevelt),名義是這位總統成功的調停戰場在中國的日俄戰爭,殊不知美國之所以會當和事佬是因自己亦欲插手遠東利益,不希望日、俄任何一國在中國壯大勢力。另外,在召開和平會議時,居然沒邀兩國戰場的當事國--中國與會,使中國飽受別國的戰火災難,但事後卻無任何實質補償。

另外,老羅斯福的外交名言是「輕聲講話,但要拿著根大棒子」(Speak softly and carry a big stick)的《大棒子政策》(big stick policy),老羅斯福的羅斯福推論(Roosevelt Corollary),在南美洲用暴力殖民該地區,強佔巴拿馬運河,藉以連接東西岸之海軍勢力,方便佔領夏威夷、關島、菲律賓等殖民地,並延續以帝國主義為旨的《門羅主義》,如果這些舉動可稱和平,那和平的代價就是暴力囉!而且不僅老羅斯福,連鎮壓菲律賓、促使日本侵佔中國東北的其國務卿--路特(Root)也跟著在1912年一起獲冠,這諾貝爾的邏輯,唉!



另外一個諾貝爾委員會應該覺得羞恥的得獎人是季辛吉(Henry Kissinger),他在1973年與北越的黎德壽一同獲得,但是黎氏因此獎項的偽善而不屑領取,也迫使五位和平獎評審委員中的兩位憤而離開。根據季辛吉所言,他最崇拜的政治學者為義大利的厚黑教主--馬基維利(Machiavelli),奉權力政治為一切國際事務的宗旨,有權力才有正義,這在他所主導的70-80年代美國外交策略可以得到相呼應。

季氏所策劃的中南半島(越南、柬埔寨、寮國)轟炸,所投下的炸彈,比盟軍在二次大戰於軸心國投下的總和還多。季氏並在智利扶持殺人魔皮諾契特(Pinochet),暗殺民選的總統阿蓮得(Allende),揭穿了美國在世界上鼓吹民主的假象;另外,東地汶(East Timor)的屠殺、印尼劊子手蘇哈陀的暴政,皆要記在季辛吉的頭上,曾經有人感嘆道,諾貝爾在頒給季辛吉後,就從此失去其意義了。



其他受爭議的得獎者包括如設立政治宣傳用之「公共資訊委員會」,藉以製造仇恨敵人,並成功將主和的美國國民導向戰爭的第28任總統威爾遜(Wilson)、回教恐怖主義領袖阿拉法特(Arafat)、屠殺巴勒斯坦兒童著名的以色列總理佩瑞茲(Simon Perez)與拉賓(Rabin)、貪污纏身的前聯合國秘書長安南(Kofi Annan)、富政治動機的美國前副總統高爾(Al Gore)、及主張中東石油利益的卡特(Jimmy Carter),其《卡特主義》(Carter Doctrine)奠定了之後美國於該地區的石油霸權,並間接引起日後的兩次伊拉克戰爭及賓拉登的崛起。

諾貝爾頒在給上述諸多受爭議人物後,卻始終不頒給共提名五次的聖雄甘地,真令人苦思不透。另一個有趣的現象是,光美國歷任的正副總統就包辦了五屆的和平獎,其國務卿與政府官員亦佔多數名額,然美國於近百年來,卻是這地球上發動過最多戰爭、殺死最多人的國家,這真是歷史的弔詭。

異鄉人 @ 王大師論壇 :: 痞客邦 PIXNET ::

異鄉人 @ 王大師論壇 :: 痞客邦 PIXNET ::

我當初在讀到這幕時感觸極深,深感自己的人生也好比書中的主角般,任由一個比自己更大、更虛無、更荒謬的遊戲擺弄著,猶如卡夫卡小說『審判』最後一幕,主角K無端被人指控,但又無具體內容,被城中的權威機構耍的團團轉,最後亦無法擺脫被行刑者於半夜拖出城外給挨上兩刀的命運。

我們這個社會其實被很多看不見的規則給左右著,而通常制定這些規則的人並非以所有人的考量為立意宗旨,但大部分的人就糊里糊塗照單全收;比方說,誰說作人一定要成功?誰說在公共場合不能流露真情感?誰說物質一定有定價?誰說有錢人可以購買更多商品?誰界定公共財與私有財的差別?誰界定對與錯、善與惡、有罪與無罪的仲裁?當這些規則在制定時,請問你在哪裡?有人問過你的意見嗎?你又為何還要依舊遵守?

我相信,社會的規範,乃至於法律、經濟、甚至宗教,一開始僅為方便使然,可是各方的投機者隨後濫用這些規則,以至於遵從這些社會規範的盲從人士,到最後失去行為的意義,但脫離它又充滿不安、焦慮、與虛無,整個社會就這樣,被一股看不見的虛無勢力給牽著鼻子走。

然而,這世界真如此的虛無嗎?異鄉人書中有談到一個狗主人,他每天於例行性的溜狗中,習慣連踢帶拖的將這隻倒楣老狗蹂躪一遍,嘴巴抱怨都是因為眼前的這個麻煩,害他無法好好的看電視,還要為牠把屎把尿。直到一天這位老人發現老狗突然不見了,老人一時驚慌失措,在眼角中可見如雨滴的淚水流出。請問那些淚水是虛無還是真有?那在老狗還沒走丟之前呢?是虛無嗎?

異鄉人一書不試著教導價值,其立意為指出何為『真實』,吾人的實相又為何?蘇格拉底曾說過一個未深思的人生是不值得過的,但我認為這是老派哲學家愛說教的通病。卡繆不會拿著教鞭逼人思考生活的意義為何,但是一個敏感的靈魂常常會在問題還沒被人寫成書時,就已撇過實像的光影。這本書值得一讀再讀,不是因為讀後能學到什麼,而是屋外樹枝上的飛鳥初啼,我們已多久沒注意了。

1/16/2012

网页截图(由Google提供)

网页截图(由Google提供)


Chrome Screen Capture 是由 Google 官方所開發的 Chrome 瀏覽器免費外掛應用工具,支援網頁可視區域擷取、自訂區域擷取、整個網頁擷取成圖片及電腦螢幕擷取的四種擷取方式,擷取成圖片後,可以利用圖片編輯工具來編輯該圖片,或是利用 Chrome Screen Capture 所提供的簡易圖片編輯工具,像是加入框線、模糊、插入文字、畫線或箭頭等等,然後將編輯後的圖片儲存為 PNG 格式的圖片文件。另外,Chrome Screen Capture 可在 Windows、Linux 及 Mac 等作業系統應用,並可將擷取的圖片直接分享到 Picasa Web、Facebook 或是新浪微博,是相當方便的網頁擷取成圖片的 Chrome 擴展應用。

1/11/2012

Use Lowercase Markup For Better Compression - avoid uppercase markup to improve xhtml and html compression

Use Lowercase Markup For Better Compression - avoid uppercase markup to improve xhtml and html compression

Lowercase markup compresses more efficiently than uppercase markup. Along with the benefits of XHTML compatibility, lowercase markup allows HTTP compression to work more efficiently by increasing redundancy. In this article we show the benefits of using lowercase markup on five popular sites.

How Lowercase Markup Helps GZIP Compression

The GZIP compression algorithm used in mod_gzip and other HTTP compression programs works by substituting shorter tokens for longer identical strings. By using more lowercase strings, especially repetitious table and div structures, you increase the likelihood of more string matches. While an HTML file of all lowercase markup is the same size as a mixed case HTML file, it compresses more efficiently. Even if you don't use HTTP compression on your site, your users on dialup accelerators like Earthlink's Accelerator and AOL's Topspeed will benefit from your lowercase markup.

How Much Smaller?

To test the effectiveness of lowercase markup we compressed the HTML homepages of five random sites before and after lowercasing all of their HTML markup (see Table 1).

Table 1: Lowercase versus Mixed Uppercase Markup Compression

Homepage Uncompressed HTML (bytes) GZIP -6 Compressed Compressed after lowercase markup Percent Smaller
ABCNews.com* 49,959 11,125 10,785 3.05
Guardian.co.uk 73,772 14,080 13,808 1.93
JCPenny.com* 19,728 3,310 3,154 4.71
Olympics.com* 26,927 6,273 6,126 2.34
Slashdot.org* 49,291 12,589 12,434 1.23
Average 2.65
*Uses HTTP compression. The homepages tested were ABCNews.com, Guardian.co.uk, JCPenny.com, Olympics.com, and Slashdot.org. Note that mod_gzip defaults to gzip -6 for compression to give the best balance between speed and size.

On average the all-lowercase markup saved an additional 2.65 percent off these compressed home pages. All lowercase markup saved from 1.23% (Slashdot.org) to 4.71% (JCPenny.com) off the compressed mixed case home pages. Four out of the five sites tested with our Web Page Analyzer used HTTP compression, so most of these sites would benefit from switching to lowercase markup and accelerated Guardian users would also benefit.

Conclusion

On average using all lowercase markup saved 2.65% off of compressed HTML file size. JCPenny.com would realize over 4.7% smaller HTML files using all lowercase markup after compression. You can achieve higher compression ratios by adopting the same approach to your CSS and JavaScript markup to maximize the efficiency of GZIP compression. Using identical wording, and repetitive markup (like tables, similarly structured divs, or class names) can improve GZIP compression even further.

1/10/2012

東西的故事 - 完整版(The Story of Stuff [FULL],中英字幕)

東西的故事 - 完整版(The Story of Stuff [FULL],中英字幕)


The Story of Cosmetics 美麗的背後,醜陋的真相(Neways 安全照顧您!)


碳交易的故事The Story of Cap and Trade


民主失竊的故事 The Story of Citizens United v. FEC 中文字幕

1/09/2012

The Little Book on CoffeeScript - Idioms

The Little Book on CoffeeScript - Idioms

each:
myFunction(item) for item in array

map:
result = (item.name for item in list) // Notice we're surrounding the comprehension with parens, which is absolutely critical in ensuring the comprehension returns what you'd expect, the mapped array.

select:
result = (item for item in list when item.name = 'name') //Don't forgot to include the parens, as otherwise result will be the last item in the array.

includes:
included = "test" in array

compiled to:

var included;
var __indexOf = Array.prototype.indexOf || function(item) {
for (var i = 0, l = this.length; i < l; i++) {
if (this[i] === item) return i;
}
return -1;
};
included = __indexOf.call(array, "test") >= 0;


Property iteration:
However, as you've seen in the previous section, CoffeeScript has already reserved in for use with arrays. Instead, the operator has been renamed of, and can be used like thus:
object = {one: 1, two: 2}
alert("#{key} = #{value}") for key, value of object


And/or:
One extremely nice addition to CoffeeScript is the 'or equals', which is a pattern Rubyists may recognize as ||=:

hash or= {}

compiled to:

hash || (hash = {});


hash ?= {}
compiled to:

if (typeof hash === "undefined" || hash === null) {
hash = {};
}


Destructuring assignments
someObject = { a: 'value for a', b: 'value for b' }
{ a, b } = someObject
console.log "a is '#{a}', b is '#{b}'"

compiled to:

var a, b, someObject;
someObject = {
a: 'value for a',
b: 'value for b'
};
a = someObject.a, b = someObject.b;
console.log("a is '" + a + "', b is '" + b + "'");


Private variables

type = do ->
type = ->

compiled to

var type;
type = (function() {})();
type = function() {};


The do keyword in CoffeeScript lets us execute functions immediately, a great way of encapsulating scope & protecting variables. In the example below, we're defining a variable classToType in the context of an anonymous function which's immediately called by do. That anonymous function returns a second anonymous function, which will be ultimate value of type. Since classToType is defined in a context that no reference is kept to, it can't be accessed outside that scope.

# Execute function immediately
type = do ->
classToType = {}
for name in "Boolean Number String Function Array Date RegExp Undefined Null".split(" ")
classToType["[object " + name + "]"] = name.toLowerCase()

# Return a function
(obj) ->
strType = Object::toString.call(obj)
classToType[strType] or "object"

compiled to:

var type;
type = (function() {
var classToType, name, _i, _len, _ref;
classToType = {};
_ref = "Boolean Number String Function Array Date RegExp Undefined Null".split(" ");
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
name = _ref[_i];
classToType["[object " + name + "]"] = name.toLowerCase();
}
return function(obj) {
var strType;
strType = Object.prototype.toString.call(obj);
return classToType[strType] || "object";
};
})();

1/06/2012

polarmobile/coffeescript-style-guide - GitHub

polarmobile/coffeescript-style-guide - GitHub

Inspiration

The details in this guide have been very heavily inspired by several existing style guides and other resources. In particular:

PEP-8: Style Guide for Python Code
Bozhidar Batsov's Ruby Style Guide
Google's JavaScript Style Guide
Common CoffeeScript Idioms
Thomas Reynolds' CoffeeScript-specific Style Guide
Jeremy Ashkenas' code review of Spine
The CoffeeScript FAQ

1/05/2012

Moose test - Wikipedia, the free encyclopedia

Moose test - Wikipedia, the free encyclopedia

A moose test or elk test is a test to determine how a certain vehicle acts when the driver evades a suddenly appearing obstacle (such as a moose on the road). When in 1997 the newly produced Mercedes-Benz A-Class failed an examination of the Swedish motor magazine Teknikens Värld, it became well-known under the name Älgtest (Swedish for “Moose test” – in Europe the word "elk" and its cognates refer to the moose and not to the smaller animal, the cervid called, confusingly, elk in North America).
The test is performed on a dry road surface. Traffic cones are set up in an S shape to simulate the obstacle, the road and its edges. The car which is going to be tested has one belted person at each available seat and weights in the trunk to achieve maximum load. When the driver comes onto the track, he or she quickly swerves into the oncoming lane to avoid the object and then immediately swerves back to avoid oncoming traffic. The test is repeated with an increased speed until the car skids down the cones or spins around. This usually happens at speeds of about 70-80 km/h (45-50 mph) in the best cases.
This test has been used in Sweden for decades. In 1997 the journalist Robert Collin from the motor magazine Teknikens Värld overturned the new Mercedes-Benz A-Class in the moose test, while a Trabant — a much older, and widely mocked car from the former German Democratic Republic — managed it perfectly.[1] The Dacia Logan appeared initially to fail the test, but a later investigation concluded that excessive testing had worn the car's tires to failure.
On the occasion of being interviewed for an article in the German newspaper Süddeutsche Zeitung, Collin tried to explain this test by the example of an evasive maneuver for a moose on the road. It was soon called "Elchtest" (moose test).[2]
The term has since then become popular with German journalists in various meanings, for example for friendly matches (German: Freundschaftsspiel or Testspiel) of the football national team against Sweden.
Because Mercedes-Benz was forced to upgrade the A-Class, the test was important in the popularization of Electronic Stability Control.[citation needed]
Swedish automotive magazine Teknikens Värld now publish results from many years of moose testing on their web site. There you can see many cars and the speed they had through the moose testing track. See external link below.

1/02/2012

密码学笔记 - 阮一峰的网络日志

密码学笔记 - 阮一峰的网络日志

1.加密方法可以分为两大类。一类是单钥加密(private key cryptography),还有一类叫做双钥加密(public key cryptography)。前者的加密和解密过程都用同一套密码,后者的加密和解密过程用的是两套密码。
历史上,人类传统的加密方法都是前一种,比如二战期间德军用的Enigma电报密码。莫尔斯电码也可以看作是一种私钥加密方法。
2.在单钥加密的情况下,密钥只有一把,所以密钥的保存变得很重要。一旦密钥泄漏,密码也就被破解。
3.在双钥加密的情况下,密钥有两把,一把是公开的公钥,还有一把是不公开的私钥。
双钥加密的原理如下:
a) 公钥和私钥是一一对应的关系,有一把公钥就必然有一把与之对应的、独一无二的私钥,反之亦成立。
b) 所有的(公钥, 私钥)对都是不同的。
c) 用公钥可以解开私钥加密的信息,反之亦成立。
d) 同时生成公钥和私钥应该相对比较容易,但是从公钥推算出私钥,应该是很困难或者是不可能的。
4.目前,通用的单钥加密算法为DES(Data Encryption Standard),通用的双钥加密算法为RSA( Rivest-Shamir-Adleman),都产生于上个世纪70年代。
5.在双钥体系中,公钥用来加密信息,私钥用来数字签名。
6.因为任何人都可以生成自己的(公钥,私钥)对,所以为了防止有人散布伪造的公钥骗取信任,就需要一个可靠的第三方机构来生成经过认证的(公钥,私钥)对。目前,世界上最主要的数字服务认证商是位于美国加州的Verisign公司,它的主要业务就是分发RSA数字证书。

数字签名是什么? - 阮一峰的网络日志

数字签名是什么? - 阮一峰的网络日志

1.
鲍勃有两把钥匙,一把是公钥,另一把是私钥。

2.
鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。

3.
苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。

4.
鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。

5.
鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)。

6.
然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。

7.
鲍勃将这个签名,附在信件下面,一起发给苏珊

8.
苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。

9.
苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。如果两者一致,就证明这封信未被修改过。

10.
复杂的情况出现了。道格想欺骗苏珊,他偷偷使用了苏珊的电脑,用自己的公钥换走了鲍勃的公钥。此时,苏珊实际拥有的是道格的公钥,但是还以为这是鲍勃的公钥。因此,道格就可以冒充鲍勃,用自己的私钥做成"数字签名",写信给苏珊,让苏珊用假的鲍勃公钥进行解密。

11.
后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。她想到了一个办法,要求鲍勃去找"证书中心"(certificate authority,简称CA),为公钥做认证。证书中心用自己的私钥,对鲍勃的公钥和一些相关信息一起加密,生成"数字证书"(Digital Certificate)。

12.
鲍勃拿到数字证书以后,就可以放心了。以后再给苏珊写信,只要在签名的同时,再附上数字证书就行了。

13.
苏珊收信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证明"数字签名"是否真的是鲍勃签的。

有關於CA公鑰為何無法偽造:
CA公钥无法伪造,因为CA公钥是可查的,比如在MSDN里可以查到微软用于签名driver的公钥(Base64码)。
1. CA的公钥网上可以取得,浏览器中也有预存。
2. 证书必须用CA的私钥加密,如果能用CA的公钥打开,就证明确实是CA颁发的。
3. 我对HTTPS的一些实现细节不熟悉,但是我的理解是,如果HTTPS公钥不在浏览器列表内,浏览器可以从网上取得。

通常公开钥算法用于相互验证,之后会建立session key(比如128位AES key)。后续交互的信息都是用session key和对称加密算法(比如AES)来加解密的,已经与证书本身和公钥密钥无关。因为公开密钥算法比对称密钥算法开销大很多。不过HTTPS不了解,不敢定论。

一名护士告诉你:临终病人最后悔的5件事

一名护士告诉你:临终病人最后悔的5件事

最近有一篇文章在Facebook、twitter上频频被转,Nurse reveals the top 5 regrets people make on their deathbed,它的原文是一名叫Bronnie Ware的护士写的。Bronnie Ware专门照顾那些临终病人,所以有机会听到很多人临终前说出他们一生里最后悔的事。她作了一个概括,有5件事是大多数人最后悔的。

很好奇为什么这么多人转载它,也许,因为这是一种你永远无法提前经历的事吧。你不会时常面对别人的死亡,你更不怎么时常有机会听到一个临终前的人告诉你他最后悔的事是什么。而即便你听到,你又会觉得自己来日方长。我们似乎永远无法感同身受;也许,只有我们自己的生命到了尽头时,我们才会意识到自己究竟错过了什么,最后悔什么。

1. 我希望当初我有勇气过自己真正想要的生活,而不是别人希望我过的生活。

这是所有后悔的事中最常听到的。

心理学上有个理论,较之那些我们做过的事,人们后悔的往往是那些没做的事。所以当人们在生命尽头往回看时,往往会发现有好多梦想应该实现,却没有实现。你的生活方式、你的工作、你的感情、你的伴侣,其实我们多少人过着的是别人希望你过的生活,而不是自己真正想要的生活——又可能,一直以来你把别人希望你过的生活当作是你想要的生活。

当你疾病缠身时,才发现其实自己应该而且可以放下很多顾虑追求你要的生活,似乎已经晚了一点。

2. 我希望当初我没有花这么多精力在工作上。

Ware说这是她照顾过的每一个男病人会说的话。因为工作,他们错过了关注孩子成长的乐趣,错过了爱人温暖的陪伴,这是他们最深的后悔与愧疚。其实对于现在的职业女性来说,这也将成为一个问题。

如果把你的生活变简单些,你也许会发现自己在做很多你以为你需要做其实不需要你做的事。腾出那些事占的空间,可能你会过得开心一点。

3. 我希望当初我能有勇气表达我的感受。

太多的人压抑自己的感受与想法,只是为了“天下太平”,不与别人产生矛盾。渐渐他们就成了中庸之辈,无法成为他们可以成为的自己。其实,有很多疾病与长期压抑愤怒与消极情绪有关。

也许当你直言不讳,你会得罪某些人。但可能从此以后因为你的中肯,你们不打不相识;又或者翻脸,正好让你摆脱这种需要你压抑自己感受才能维持的累人关系。不管哪一种结果,你都是赢家,不是吗?——不过当然,直言不讳还是有底线的。

4. 我希望当初我能和朋友保持联系。

老朋友的好,我们总要到自己有事了的时候才会想到。

多少人因为自己忙碌的生活忽略了朋友忽略了曾经闪亮的友情。很多人临终前终于放下钱、放下权,却放不下心中的情感与牵挂。朋友也好,爱人也罢,其实生命最后的日子里,他们才是我们最深的惦念。

5. 我希望当初我能让自己活得开心点。

也许有点出乎意料,但这一条也在前5之中。很多人直到生命的最后才发现,“快乐是选择”。

他们在自己既定习惯和生活方式中太久了,习惯了掩饰,习惯了伪装,习惯了在人前堆起笑脸。就像五月天的那首歌,“你不是真正的快乐,你的笑只是你给的保护色”。他们以为是生活让他们不快乐,其实是他们自己让自己不快乐了。

是只有临终的时候才会发现,别人怎么看你又有什么关系呢?傻也好,怪也罢,能有真心的笑,比什么都值得。

Box2dWeb

Box2dWeb

I took the challenge and crafted a simple game HTML5 physics based game on both languages, using Box2dWeb, a js port of Box2D (the physics engine, created by Erin Catto, that is behind Angry birds).

via: http://metaphysicaldeveloper.wordpress.com/2011/08/28/clojurescript-vs-coffeescript/

The Pragmatic Bookshelf | PragPub 2011-05 | A CoffeeScript Intervention

The Pragmatic Bookshelf | PragPub 2011-05 | A CoffeeScript Intervention

5. Repetition, Repetition
I’ll let the code speak for itself:


x = sprite.x;
y = sprite.y;
css = {
opacity: opacity,
fontFamily: fontFamily
};
function(request) {
body = request.body;
status = request.status;
// ...
}

The CoffeeScript Way
Each snippet above becomes a one-liner, thanks to pattern-matching:

{x, y} = sprite
css = {opacity, fontFamily}
({body, status}) -> ...

[Android小程式] My Tracks 足跡、行車記錄器(用GPS畫路線圖、記錄速度距離)

[Android小程式] My Tracks 足跡、行車記錄器(用GPS畫路線圖、記錄速度距離)

如果你喜歡慢跑或騎自行車到處欣賞美景,偶爾可能想知道自己到底跑了多遠、騎了多久、行經哪些路線,甚至想知道自己的速度大概都維持多快或多慢。以前如果想在自己運動或開車時記錄一下這些資訊,大概都得用推算的方式算出個大概。現在如果你有Android手機,可以試試看My Tracks這個免費軟體來記錄。

My Tracks是個非常好用的小程式,他可以透過GPS的方式在Google Maps地圖上「用紅線」畫出你行經的路線,就算你小小的繞了一圈,它也會在地圖上畫出小小的圈圈。此外還可將你慢跑或騎車的時間、距離、速度與當地海拔高度…等等資訊記錄下來。

執行My Tracks時,除了會用簡單的表格展示總距離、目前速度、平均速度、最高速度...等資訊之外,還可將行經路線中的海拔高度與當時的速度繪製成一個圖表,讓我們可以輕鬆得知哪時候速度快、哪時候速度慢。

此外還可將My Tracks的足跡記錄上傳到Google Maps或Google Docs文件中,讓我們可以將每天的運動量與運動時間等等資訊通通做成完整的表格,方便日後查詢、統計,或與朋友分享。

SSH原理与运用(二):远程操作与端口转发

SSH原理与运用(二):远程操作与端口转发

七、远程操作
SSH不仅可以用于远程主机登录,还可以直接在远程主机上执行操作。
上一节的操作,就是一个例子:
  $ ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub
单引号中间的部分,表示在远程主机上执行的操作;后面的输入重定向,表示数据通过SSH传向远程主机。
这就是说,SSH可以在用户和远程主机之间,建立命令和数据的传输通道,因此很多事情都可以通过SSH来完成。


【例1】
将$HOME/src/目录下面的所有文件,复制到远程主机的$HOME/src/目录。
  $ cd && tar czv src | ssh user@host 'tar xz'
【例2】
将远程主机$HOME/src/目录下面的所有文件,复制到用户的当前目录。
  $ ssh user@host 'tar cz src' | tar xzv
【例3】
查看远程主机是否运行进程httpd。
  $ ssh user@host 'ps ax | grep [h]ttpd'

八、绑定本地端口
既然SSH可以传送数据,那么我们可以让那些不加密的网络连接,全部改走SSH连接,从而提高安全性。
假定我们要让8080端口的数据,都通过SSH传向远程主机,命令就这样写:
  $ ssh -D 8080 user@host
SSH会建立一个socket,去监听本地的8080端口。一旦有数据传向那个端口,就自动把它转移到SSH连接上面,发往远程主机。可以想象,如果8080端口原来是一个不加密端口,现在将变成一个加密端口。

九、本地端口转发
有时,绑定本地端口还不够,还必须指定数据传送的目标主机,从而形成点对点的"端口转发"。为了区别后文的"远程端口转发",我们把这种情况称为"本地端口转发"(Local forwarding)。
假定host1是本地主机,host2是远程主机。由于种种原因,这两台主机之间无法连通。但是,另外还有一台host3,可以同时连通前面两台主机。因此,很自然的想法就是,通过host3,将host1连上host2。
我们在host1执行下面的命令:
  $ ssh -L 2121:host2:21 host3
命令中的L参数一共接受三个值,分别是"本地端口:目标主机:目标主机端口",它们之间用冒号分隔。这条命令的意思,就是指定SSH绑定本地端口2121,然后指定host3将所有的数据,转发到目标主机host2的21端口(假定host2运行FTP,默认端口为21)。
这样一来,我们只要连接host1的2121端口,就等于连上了host2的21端口。
  $ ftp localhost:2121
"本地端口转发"使得host1和host3之间仿佛形成一个数据传输的秘密隧道,因此又被称为"SSH隧道"。


十、远程端口转发
既然"本地端口转发"是指绑定本地端口的转发,那么"远程端口转发"(remote forwarding)当然是指绑定远程端口的转发。
还是接着看上面那个例子,host1与host2之间无法连通,必须借助host3转发。但是,特殊情况出现了,host3是一台内网机器,它可以连接外网的host1,但是反过来就不行,外网的host1连不上内网的host3。这时,"本地端口转发"就不能用了,怎么办?
解决办法是,既然host3可以连host1,那么就从host3上建立与host1的SSH连接,然后在host1上使用这条连接就可以了。
我们在host3执行下面的命令:
  $ ssh -R 2121:host2:21 host1
R参数也是接受三个值,分别是"远程主机端口:目标主机:目标主机端口"。这条命令的意思,就是让host1监听它自己的2121端口,然后将所有数据经由host3,转发到host2的21端口。由于对于host3来说,host1是远程主机,所以这种情况就被称为"远程端口绑定"。
绑定之后,我们在host1就可以连接host2了:
  $ ftp localhost:2121
这里必须指出,"远程端口转发"的前提条件是,host1和host3两台主机都有sshD和ssh客户端。

SSH原理与运用(一):远程登录 - 阮一峰的网络日志

SSH原理与运用(一):远程登录 - 阮一峰的网络日志

三、中间人攻击
SSH之所以能够保证安全,原因在于它采用了公钥加密。
整个过程是这样的:(1)远程主机收到用户的登录请求,把自己的公钥发给用户。(2)用户使用这个公钥,将登录密码加密后,发送回来。(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。
这个过程本身是安全的,但是实施的时候存在一个风险:如果有人截获了登录请求,然后冒充远程主机,将伪造的公钥发给用户,那么用户很难辨别真伪。因为不像https协议,SSH协议的公钥是没有证书中心(CA)公证的,也就是说,都是自己签发的。
可以设想,如果攻击者插在用户与远程主机之间(比如在公共的wifi区域),用伪造的公钥,获取用户的登录密码。再用这个密码登录远程主机,那么SSH的安全机制就荡然无存了。这种风险就是著名的"中间人攻击"(Man-in-the-middle attack)。
SSH协议是如何应对的呢?

四、口令登录
如果你是第一次登录对方主机,系统会出现下面的提示:
  $ ssh user@host
  The authenticity of host 'host (12.18.429.21)' can't be established.
  RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.
  Are you sure you want to continue connecting (yes/no)?
这段话的意思是,无法确认host主机的真实性,只知道它的公钥指纹,问你还想继续连接吗?
所谓"公钥指纹",是指公钥长度较长(这里采用RSA算法,长达1024位),很难比对,所以对其进行MD5计算,将它变成一个128位的指纹。上例中是98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d,再进行比较,就容易多了。
很自然的一个问题就是,用户怎么知道远程主机的公钥指纹应该是多少?回答是没有好办法,远程主机必须在自己的网站上贴出公钥指纹,以便用户自行核对。
当远程主机的公钥被接受以后,它就会被保存在文件$HOME/.ssh/known_hosts之中。下次再连接这台主机,系统就会认出它的公钥已经保存在本地了,从而跳过警告部分,直接提示输入密码。
每个SSH用户都有自己的known_hosts文件,此外系统也有一个这样的文件,通常是/etc/ssh/ssh_known_hosts,保存一些对所有用户都可信赖的远程主机的公钥。

五、公钥登录
使用密码登录,每次都必须输入密码,非常麻烦。好在SSH还提供了公钥登录,可以省去输入密码的步骤。
所谓"公钥登录",原理很简单,就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。
这种方法要求用户必须提供自己的公钥。如果没有现成的,可以直接用ssh-keygen生成一个:
  $ ssh-keygen
运行上面的命令以后,系统会出现一系列提示,可以一路回车。其中有一个问题是,要不要对私钥设置口令(passphrase),如果担心私钥的安全,这里可以设置一个。
运行结束以后,在$HOME/.ssh/目录下,会新生成两个文件:id_rsa.pub和id_rsa。前者是你的公钥,后者是你的私钥。
这时再输入下面的命令,将公钥传送到远程主机host上面:
  $ ssh-copy-id user@host
好了,从此你再登录,就不需要输入密码了。

六、authorized_keys文件
远程主机将用户的公钥,保存在登录后的用户主目录的$HOME/.ssh/authorized_keys文件中。公钥就是一段字符串,只要把它追加在authorized_keys文件的末尾就行了。

这里不使用上面的ssh-copy-id命令,改用下面的命令,解释公钥的保存过程:
  $ ssh user@host 'mkdir .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub
这条命令由多个语句组成,依次分解开来看:(1)"$ ssh user@host",表示登录远程主机;(2)单引号中的mkdir .ssh && cat >> .ssh/authorized_keys,表示登录后在远程shell上执行的命令:(3)"$ mkdir .ssh"的作用是,如果用户主目录中的.ssh目录不存在,就创建一个;(4)'cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub的作用是,将本地的公钥文件~/.ssh/id_rsa.pub,重定向追加到远程文件authorized_keys的末尾。
写入authorized_keys文件后,公钥登录的设置就完成了。

How to Learn About Everything

How to Learn About Everything

Studying to learn about everything

To intellectually ambitious students I recommend investing a lot of time in a mode of study that may feel wrong. An implicit lesson of classroom education is that successful study leads to good test scores, but this pattern of study is radically different. It cultivates understanding of a kind that won’t help pass tests — the classroom kind, that is.


  1. Read and skim journals and textbooks that (at the moment) you only half understand. Include Science and Nature.
  2. Don’t halt, dig a hole, and study a particular subject as if you had to pass a test on it.
  3. Don’t avoid a subject because it seems beyond you — instead, read other half-understandable journals and textbooks to absorb more vocabulary, perspective, and context, then circle back.
  4. Notice that concepts make more sense when you revisit a topic.
  5. Notice which topics link in all directions, and provide keys to many others. Consider taking a class.
  6. Continue until almost everything you encounter in Science and Nature makes sense as a contribution to a field you know something about.

Why is this effective?
You learned your native language by immersion, not by swallowing and regurgitating spoonfuls of grammar and vocabulary. With comprehension of words and the unstructured curriculum of life came what we call “common sense”.

The aim of what I’ve described is to learn an expanded language and to develop what amounts to common sense, but about an uncommonly broad slice of the world. Immersion and gradual comprehension work, and I don’t know of any other way.