跳到主要內容

慢火溫水煮青蛙---沒有石油的明天

沒有石油的明天的圖像2008年新春過後一連串的新聞:低溫冷氣團來襲、原物料上漲、糧食危機、林義雄反核立場不再那麼堅定不移等,都可能顯示了一個訊息:全球的能源危機正在逐步逼近當中。
不論是紀錄片[不願面對的真相]討論全球暖化的問題,或是我想討論的這本[沒有石油的明天]
所討論的能源問題,都可以說明一件事--人們必須為可能到來的文明退化做好心理準備。

當我們手敲打著鍵盤,盯著20吋液晶螢幕的美麗畫面,耳朵塞著耳機,聽著iPod所播放的音樂,一切是多麼美好。看著Apple推出的新型薄型筆電,是多麼讓人驚艷與喜愛。網際網路的無限延伸以及全球物流的緊密結合,全球化為企業帶來了可觀的成長。

大家在討論著網路創業的美好與無限希望,在連鎖超市購買便宜好用的產品,開著馬力十足的休旅車,徜徉寬闊平坦(在台灣可能不是)的馬路上,開口說著那個2.0、這個2.0,到處都是2.0。

假日休閒時,一般人可以享受想吃什麼與買什麼有趣的東西那種愉快的休閒時光,食物與貨品並不是問題,人們只需要選擇(在自己負擔得起的範圍內)。然而,這一切美好的生活,都是奠基於石化工業中,那些太陽能濃縮數萬年或者更久的結晶產物。

看完這本書,第一步,會先與週遭生活相驗證。的確,有些事逐漸在發生,而且也似乎逐漸往書中所說的趨勢在走。

首先,全球暖化所造成的是兩極冰山的消融,而洋流的循環因此受到影響;當洋流受到影響時,原本應該對氣候產生調節作用的洋流失去了它的調節功能,因此更加嚴寒的天氣會出現在某些原本溫暖的地區,而這些或許可能可能加速小冰河期的來臨。這個洋流異常的現象,在號稱最厚的德國小說[]亦有提及。

其次,作者提及,石油產量若下降,倚靠石油所生產的肥料量也會下降,屆時,農業所面臨的,是糧食減產的問題。過去在石化肥料的幫助下所滿足的糧食供應,將可能會因為短缺而對全球人口產生衝擊。這時,在工業化耕作下所造成土壤破壞的問題,也將漸漸地浮現。

再來,奠基於石化經濟下的金融產業也會大亂,衍生性的金融商品以及其他的繁雜金融遊戲將可能會因為底層的能源問題而逐漸瓦裂崩解。當糧食的供應與全球化的崩解,所謂國際金融市場或許會消失或者轉向較為集中的地區性角色。

某個銀行的口號[環球金融,地方智慧],我想,以後的重心會再後面四個字吧。

全球化的基礎--物流也將因石油的減產而受到影響,或許會走向風力航行的老路子(飛機的成本太貴),但這也為全球供應鏈的即時性埋下許多不可知的變因。所謂的[在地生活]已經不是說說而已,而是一個不得不為的事實。我們得學會自己生產生活必需品,並且更重要的是當東西壞掉--你必需學會修理或者是請別人修理--因為換一個新的成本會太高,或者根本買不到。

當然,有人說,我們不是有替代能源嗎? 很不幸的,作者很詳細的分析了這些替代能源,除了核能外,其他都不太合乎成本效益。換句話說,其他的替代能源的成本效益可能是你投下一桶原油的能量而只能獲得一桶半原油的能量。

太陽能,受限於天氣。氫、甲烷的製作成本太高而且在配送與儲存都沒來石油來得穩定。儲存與配送石油只須常溫常壓,但很不幸的,氫和甲烷需要高壓低溫才可順利配送。核能---就算沒有石油可用,你會想在你車上裝這玩意兒嗎?

太多物理上的瓶頸存在在這些替代能源上了。我們能來得及一一克服並且好整以暇等待油荒時代的到來嗎?對於科學家來說,這是巨大的一堵城牆,想要跨越它,人類或許得在上頭去尋找一些可能不存在的隙縫。

對於一般人來說,自己先做好心理建設總是來得有用!

有句話說:[問題,是來自期望與現實的落差。]

我們該開始稍微降低一下期望了吧。

PS.附近的店家燒餅油條漲到30了。

留言

這個網誌中的熱門文章

[UML]學習筆記-循序圖型(Sequence Diagrams)-8

定義 如果說之前提到的物件圖型是描述一個時間點的系統運作的樣子(memory snapshot),那麼循序圖型就是表示系統要做某件事情的那段時間內,運作的樣子(一個連續的過程)。 循序圖的重點是在描述一件事情,以及系統要完成這件事情的一連串動作,也是一種軟體系統運作的動態圖型。 上圖就是一個循序圖型,而有下圖的解析。循序圖會以做的動作(任務)出發,並列出所以參與到的物件/類別。接下來由上到下就是動作與物件彼此間的順序運作關係。下圖可以清楚展示出物件與類別/任務的互動關係。 循序圖組成的元素 有以下元素組成 -物件節點(Object Node) -生命線(Lifeline) -活化區塊(Activation Box) -訊息(Message) -內部訊息 -解構物件 -迴圈 要建構循序圖,必須要確定要描述的任務為何。 確定任務後,就要列出任務會用到的物件(即為物件節點)。 物件節點 ***************************************************** public class TestThermos {      public static void main(String[] args) {          HotWaterContainer h = new HotWaterContainer( 2 );          CoolWaterContainer c = new CoolWaterContainer( 50 );          ThermosGui g = new ThermosGui();          Thermos t = new Thermos(h, c, g);      } } ******************************************************* 上面的程式片段就是在描述一件任務,那件任務就是模擬一個冷熱水開飲機。 一開始先畫出類別和物件的節點,可以很清楚地分出類別和物件的區別。 最前面要是為一個主程式或是匿名物件的話可以用Use case diagram的小人圖來代替。

[UML]學習筆記-狀態圖型(Statechart Diagrams)-10

定義 狀態圖型主要會應用到軟體系統中,某項任務的生命週期。任務的生命週期中,會有不同的狀態,藉由不同狀態的檢視,可以去檢查任務是否有未考慮的情況或是邏輯的謬誤。 上圖就是表示一個執行緒的生命週期,還有它本身的狀態變化。 另外,狀態的數量必須是有限的。 組成元素 狀態節點(State node) 狀態圖型主要使用兩個特定的符號來表示生命週期的開始與結束。 初始狀態(Initial State),使用實心黑色的圓形。 結束狀態(Final State),使用實心黑色的圓形,外層再包一圈空心的圓形。 除了開始和結束外,狀態節點就是表示生命週期的某一種狀態,它的節點內容包含兩個部分。 名稱區格(Name Compartment) 內部轉換區格(Internal Transition Compartment) 通常內部轉換區格會因簡化而省略。 下圖就是含有內部轉換區格的狀態圖型 接下來仔細解釋名稱區格以及內部轉換區格的定義 名稱區格 名稱區格的文字表示生命週期中的一個狀態,UML的規定並非必填,如果沒有填寫就稱為匿名狀態。 內部轉換區格 內部轉換區格主要用來表示狀態節點內部的轉換狀況,這個地方使用四個標籤來說明進入狀態節點後到離開狀態節點時,狀態節點內會做哪些動作。 entry: 進入狀態節點的動作 exit: 離開狀態節點時的動作 do: 停留在此狀態節點時執行的動作 自訂標籤: 使用下列格式來自訂標籤與動作 其實跟其他標籤格式差不多,除了標籤名稱外,就是有參數可以去填寫。 轉換(Transition) 在狀態圖型中,兩個狀態節點間的標示就稱為「轉換」,用來表示狀態節點間如何轉換過去的。 轉換標示的格式如下。 事件名稱: 通常會是物件/類別的方法名稱 參數: 可選擇性的宣告,就是傳遞給事件的參數 條件: 可選擇性地宣告,用來表示狀態轉換的條件 這邊用個修改紀錄的的狀態圖來做例子。 從這個例子可以看到[update record]的狀態可以經過update的事件後,來到達下一個狀態[record updated] 子狀態(Sub-State) 從之前開飲機的例子來說,狀態圖可以如下圖。

[UML]學習筆記-活動圖型(Activity Diagrams)-11(全系列結束)

定義 活動圖型是用來顯示軟體系統中特定的活動情形,和其他圖型最大的差異,就是它專注在「活動」上面,而不會去理會物件、類別相關的問題。 因此,活動圖型只關心活動的開始、過程、與結束,使用一般流程圖的方式來繪製就可以了。 譬如一個偵測溫度到自動加溫的活動流程。 活動圖型的用途 針對循序圖型中比較複雜的訊息傳遞加以說明 顯示狀態圖裡面較複雜的狀態轉換事件 說明合作圖型裡面的訊息 圖型組成的元素 活動圖型由下列的基本元素組成。 狀態與活動(State and Activity) 轉換(Transition) 分支(Branch) 分歧與結合(Fork and Join) 水道(Swimlane) 狀態與活動 狀態元素其實和狀態圖型中的開始與結束狀態是相同的,而活動則是圓角矩形來表示。 上圖如果轉成程式碼會是下面的樣子 轉換 轉換主要是一個箭號,用來連結活動圖型中的狀態與活動。只有在分支出來的箭頭才會在上面加上說明或是條件。 分支 分支會根據判斷式而導向不同的活動,分支後的轉換就需要加上說明或是條件。 水道 活動圖型中,活動流程可能很單純在一個方法或類別中就完成了,但是也有可能是由不同的角色去一起完成流程。 下圖是一個聊天的程式。 圖中,以Mary發訊息給[Chat Server]的流程來說,就需要使用不同的「水道」來區分不同角色所負責的活動。 水道也可以使用行為者標記來表示角色,這樣可以讓活動圖型更加清楚。像下圖就是是客戶去購買產品的活動流程。裡面的角色就包含了[客戶]、[服務中心]、以及[訂單系統] 分歧與結合 以聊天程式的客戶端來說,其實有同時執行兩個執行緒,一個是sender,用來傳送訊息,一個是receiver,用來接收chat server回傳的訊息,因此可以使用Fork來顯示這種同時進行的活動 在圖中,分岐的表示是使用一條粗黑線來分成兩個執行緒所做的事情。 結合的部分,就是要把分歧的活動再次結合成一個活動的表示方式。 上圖的計算機就是一個結合的典型例子,它裏頭的活動運作的加減乘除活動之後,均會顯示在一個統一的活動(螢幕顯示)上。 程式碼的