Blog: timdream
網路、Mozilla、天文、物理、科學、科幻、社會 …… 自由

週記:Powerless

October 29, 2006

似乎是承認了自己的 powerless,才有勇氣去 seek for help and comfort 。看完 Six Feet Under (六呎之下)第二季 DVD 之後的感想。好多哭哭啼啼的 scene 喔。

第七週過的有點懶散。連續幾天晚上無法把精神集中在明天之前要完成的事情;開星海爭霸出來玩,玩了半個章節之後爬上去睡一個小時再起床寫作業/讀書。沒有達成生日願望 0.1: 不要每天晚上趕第二天的作業這件事情嘛。Just don’t feel to study most of the time when I should. 把星海的故事看完,well,也不算在混啦;只是期中考(第九週 = 下下星期)又不考星海。

英文課的分組報告陷入了一種瓶頸,Teamwork 那種。覺得不管在那個科目到底在行還是不在行,我好像有只要發揮一點參與感就會掉進這種情況的詛咒。找不到跟大家的科系都有關係的 research topic;真的掰到了又有別系的組員突然說要停修。進度停頓於是決定再換題目;朝向鳥掉的倒數計時。 Just WHAT you want to accomplish here? 如果在裡面做什麼都錯那跟別人合作是不是什麼都不主動比較好?

Life is such a mystery. 在附近的人最後卻不親密,明明就該是過客的傢伙卻現在還常常在 MSN 上面亂聊。下定決心表示一些關心還是碰了軟釘子。高中畢業那年的7月3日發現我一點都不了解大家在幹麻,大學過完大概也會是這樣吧。Powerless。

“了解 is a difficult word to say.”, Raihi once said. Does it takes a person’s life time to finally say it?

一週瑣事播報完畢,謝謝收看。

Tim


年度最佳物理學笑話

October 26, 2006

請看去吧!錯誤特攻隊!的《時速三百公里的高鐵在三秒鐘內讓車子完全停下來?》。聯合報空想科學讀本真的是有得拼了…。


不願面對的真相

October 25, 2006

一言以蔽之:「以下是地球對布希(Bush)政府的控訴與怒吼。 :-)

不願面對的真相(An Inconvenient Truth)整部電影的陳述方式是由高爾(Al Gore)生動的簡報加上他的一些故事與獨白組成的。先不考慮你喜不喜歡民主黨或是相不相信全球暖化會毀滅一切,這種 presentation 的方法相當的新鮮;平常喜歡聽演講或是看看書閱讀新知的人可以去了解一下。

內容嘛,開頭那句話有提到一點;首先先拿出數據和資料去說全球暖化與人類排放的二氧化碳的關係,接著用動畫等等方式說如果我們放任情況惡化下去會有的結果;批評布希政府漠視此問題的態度以及不斷的增強我們對環境、對子孫應該要有的責任。

拿 Michael Crichton 的恐懼之邦(State of Fear)來做正反比較,事情就變的很有趣了:

雙方都指控對方為了要證明全球暖化存在/不存在、是/不是由人類造成而去收買科學家做不符合科學事實的結論;Gore 甚至直接點名(後來辭職的)布希政府顧問是石油遊說團體派去的,對 EPA 送上來的報告上下其手。Gore 在片中說「Thankfully, democratic government is a renewable resource as well」,暗示大家把共和黨政府換下台;而 Crichton 則著眼在持平的觀點,認為要避免這樣的情況發生要徹底改變政府由 NSF 贊助科學研究的方式。

數據的部份,Crichton 把小說寫成了論文,引用一堆論文出說全球平均溫度其實沒有升高、氣候其實沒有更加劇烈,一切都是(被買的)媒體渲染。Gore 也說媒體被買了;電影裡面說「全球暖化是科學家的共識,但是卻刻意被媒體塑造成學界依然在爭論。」還舉出 40 年前菸草業「吸煙不會致癌」的宣傳來做比較。這個部份需要靠實際的研究和檢證才能知道誰在挑數字說話 :-p 。

我個人倒是很欣賞電影最後一段的一些正面的說法。人類確實有能力改變大氣層的成分,拿「大自然這麼大,人類這麼小」反駁是不負責任的。而人類也有修正自己的錯誤的能力,CFC—臭氧層破洞—蒙特婁公約就是一個極佳的例子。

不管你現在相不相信全球暖化以及它可能造成的災難,我們都要面對而且用負責的態度評估問題與尋找理性的方案;那本書也是在說這個,不然你以為為什麼名字要叫恐懼之邦?

僅此推薦這部電影。如果在意自己接收的資訊不夠中性的話,也去看那本書吧。

附帶一提:Gore 不可能再出來選總統,但是這部電影現在的時機的確跟國會期中選舉有關。我不說為什麼,引用裡面一句話就好了:「Is there other threat we should worry about besides terrorists?」唉,美國的選舉已經變成嚇小孩的宣傳了:共和黨說民主黨軟弱沒有辦法帶領美國抵禦恐怖份子;民主黨說共和黨否認全球暖化會帶領人類文明走向毀滅。

Update: 中文版官方網站 title 打錯所以我就跟著錯了;已更正。


新版瀏覽器

October 24, 2006

做網路的人請注意一下,IEFirefox 這個星期都會推出最新的版本。

FirefoxFirefox 2.0 沒有意外的話明天會正式發行。感覺 Firefox 的哲學慢慢的轉變成提供一個裝了就有所有功能的完整瀏覽器,而不是原來 1.0 ~ 1.5 這樣弄成要去找擴充套件用起來才順手這樣。在亞洲市場或許是個利多。

Internet Explorer
Internet Explorer 7 英文版前幾天已經公布下載了,中文版不知道台灣微軟什麼什麼時候要弄出來。IE 在 2001 年之後就一直沒有出過新版,有效的讓一般人忘記瀏覽器跟所有軟體一樣需要出新版。這五年以來許多好人(?)也前仆後繼的做了一堆增強 IE 功能但是網頁顯示核心卻都一樣糟的瀏覽器。

從網頁設計的觀點,Firefox 因為是標準瀏覽器,出了新版大概不會讓網頁看起來不一樣。IE 的話,不知道 IE6 正常的網頁到 IE7 會不會壞掉 (或是說,IE6 上壞掉的東西到 IE7 會不會正常?(笑) ;也可以說這些考慮是多餘的啦,畢竟裝 IE7 需要通過 Windows 正版檢查 —— 台灣一半以上的電腦都不會通過(爆);這些電腦會繼續使用 IE6 與呼叫 IE6 來顯示網頁的 KKMAN & PCMan 直到 … 誰知道到什麼時候?某個病毒把盜版 Windows 搞的不堪用的那天吧。


謝謝 Lynn 姐姐的生日卡片!

October 23, 2006

You've got the brains and the talents to go as far as you want, no matter what anyone says!

週末回台北拿寄來的卡片跟生日禮物 :-p 。星期天剛好也是母上生日,被抓去廚房負責把冰箱的菜變成桌上的菜。

啦啦啦,把卡片用相框立起來~ 倒是這樣就看不到裡面那句更好笑的話了:

And when you do, I'll be right there to bollow money.


XML parsing on different browsers

October 22, 2006

瀏覽器解析 XML 的不同行為

一個 XML 文件長這個樣子:一個文件類型宣告 (<?xml ?>)、一個根目錄 element 包含其他的 element。所以當 XMLHttpRequest 物件抓遠端的 XML 回來解析的時候,obj.responseXML 這個 XMLDocument Object 的 .childNodes.length 應該是 1 —— .firstChild 就是 root element 。

問題來啦:以上看似合理的 XML parsing 只發生在 Mozilla 上面。在 IE 裡面 childNodes.length 是 2,firstChild.nodeName 會傳回 … ?xml !這是怎樣?

那改用 .lastChild 去拿 root element 好了,這總不會出錯了吧。嘿嘿,不行 —— Operaobj.responseXML 更有趣:childNodes.length = 2 ,第一個 childNode 是 ?xml、第二個是 root、第三個是 … #text,nodeValue是長度 0 空字串。我檢查過,這絕對不是 Server 端的問題,因為那邊是用 PHP DOM 在生 well-formed XML 的。

最後我的解法還是用 obj.responseXML.lastChild 拿 root,不過在之前先經過一個判斷式:如果 .lastChild.nodeName == ‘#text’ 就做 removeChild 的動作。

這個解析 XML 的差異是因為各家瀏覽器 XMLHttpRequest 物件行為的不同,與 prototype.js 無關。prototype.js 只做 warpper 而已,裡面搞成這樣它應該是不知道。

還有另外一種解法是不要做 AJAX —— 做 AJAteXt,叫伺服器傳文字進來,再從 obj.responseText 抓出來處理。不是很正統而且還需要而額外寫解析函式的方法,但 GMail 好像就是這樣在抓信件內文的。

XMLHttpRequest on different browsers parses XML in different ways. An XMLDocument Object contains a <?xml ?> doctype declaration and a root element. Anything else should be child nodes under the root. Thus, when the XML file is fetched, obj.responseXML.childNodes.length should return 1, and firstChild should return the root element.

Sounds right? Not quite. What described above only occurs in Mozilla. In poor-designed IE6, childNodes.length returns 2 — firstChild.nodeName returns ?xml. Opera behaviors even weirder; childNodes.length returns 3, first two are same as IE, and the their one is a #text with zero-length string nodeValue.

I ended up using lastChild to retrive the root element after checking its nodeName; if lastChild.nodeName == ‘#test’ { removeChiid(); } .

The other solution is to abandon AJAX – use AJAteXt instead. By parse responseText on your own code, you could avoid these kind of inconsistent behaviors. Kind of non-standard method, but AFAIK, Gmail does use AJAteXt to retrieve mail text.


« Previous Entries