iPhone SDK

Apple最近終於公開了iPhone SDK,除了提供廣大程式設計師在iPhone上開發程式外,還順便提出了一個讓開發人員能直接在iTunes Stores販賣作品的business model。在iPhone程式開發上,iPhone開發模式跟現有的Mac OS X應用程式沒兩樣。從下面的系統架構圖可以看出來,第一層一樣是Objective C + Cocoa(iPhone上叫Cocoa Touch, 多支援一些iPhone特有的功能,像是multi-touch、加速感應器)。中間有Media Layer提供影音、3D動畫(OpenGL ES)、繪圖的API,以及Core Services提供較為高階的網路連結、資料庫(SQLite),比較特別的是這層還提供了iPhone透過wifi及手機基地台做的地理定位資訊(Core Location)。最底層是提供低階OS功能的Core OS,包括檔案存取、Threading..等等。整個開發平台對於熟悉Mac OS X的開發人員來講其實非常容易上手EA甚至在兩個星期內就在iPhone做了Spore的簡易移植,SEGA也移植了Super Monkey Ball(並且是靠加速度感測器來操作的!),從影片demo的效果看起來實在非常驚人。流暢的3D動畫和OpenAL提供的立體音效,再加上內建的3軸加速度感應器和multi-touch screen,即使iPhone不拿來打電話,以後也必定是一個可期待的攜帶型遊戲平台。除了提出開發平台外,Apple還順勢提出讓iPhone Developer能販賣作品的平台,一方面能把SDK賣給想靠開發iPhone程式賺錢的程式設計師,另一方面也讓這些程式設計師能夠靠販賣iPhone程式獲取收益(跟Apple 7/3拆帳,每個月領一次),實在是很聰明的策略。iPhone一旦多了官方SDK後,可預期的是iPhone上的native app會如雨後春筍般大量出現,另外也可能吸引到其他Smartphone平台的開發者投入iPhone及Mac平台的開發。(在demo中,從EPOCRATES來的speaker說:「這些動畫效果都是由內建的API自動提供的,我們沒有多寫任何一行程式碼來做這些事。但它們真的讓程式看起來很酷。」)老實說,看了這些demo後,我也想去敗一台iPhone了...。閱讀全文

破解加密磁碟的超級必殺技: 急凍攻擊

Princeton的Center for Information Technology Policy最近發明了一個破解加密磁碟的超級必殺技Cold Boot Attacks(直接翻譯應該稱為冷開機攻擊法,但聽起來容易誤會。所以讓我們叫它做「急凍攻擊」吧。)這方法之所以能稱得上「必殺」,是因為它不管你是什麼作業系統,或是用什麼需要一萬台電腦算上一億年的加密方法,只要電腦在已開機狀態,就能輕易取得解密用的key。這方法的關鍵是他們發現存在DRAM中的資訊,其實並不是一斷電就會消失。在室溫下,資料會有規則的慢慢消失,整個消失過程也要花上一分多鐘。也就是說,只要能碰到開機中的電腦,我們只要把它插頭拔掉,再用外接硬碟或光碟重開機,就能輕易地把剛才還存在DRAM中的資料dump出來。而任何硬碟加密保護技術,只要已經打過密碼進入系統,那麼解密用的key就一定存在RAM裡面,於是這個dump DRAM的方法就能輕易取得各種暫存在記憶體中的密碼,甚至是已解密的重要資料。雖然這方法很厲害,但畢竟只有一分多鐘的時間能dump memory,實在有點太短了(光重開機就得花上個半分鐘吧)。於是他們提出更厲害的招數:只要將DRAM降溫,就能延長資料消失的時間。在下面的影片中,他們拿壓縮空氣罐對著DRAM噴一噴,就輕易的讓資料保存在DRAM裡超過10分鐘。十分鐘已經足夠把DRAM拔起來,拿到另一台電腦去慢慢dump了...。(他們甚至實驗過如果把DRAM泡在-196°C的液態氮中,即使過了一個小時資料都能完整保存。)Princeton CITP還提供了一個簡單的實驗方法
  1. 用任何程式語言,在記憶體中隨便塞入一串可辨認的字串。例如#!/usr/bin/env python# a pirate's favorite chemical elementa = ""while 1: a += "ARGON"
  2. 讓這程式跑個幾分鐘,以確定記憶體中有夠多份這個字串。
  3. 接著拔掉電腦插頭,再重開機。最後看看現在記憶體中還有沒有這個字串。Lin...
閱讀全文

Theo Jansen的神奇機械動物

下面這是BMW的一個廣告,其中展示了Theo Jansen的作品Strandbeest。Theo Jansen是位荷蘭藝術家,但他的Strandbeest可以說是非常巧妙的結合了工程和藝術,令人驚艷的程度宛如達文西再世。Strandbeest完全只靠風力所驅動。風力帶動中間的輪軸,再巧妙的使每一隻腳動起來。其構造看起來很簡單,但整體的設計卻非常巧妙,沒有多餘的複雜裝置,卻能變成如此驚人的作品。只能說Theo Jansen實在是太天才了。Theo Jansen在這個演講中有比較詳細的解說。如果對於那隻動物的機械結構有興趣,可以參考下面幾個影片:Strandbeest的運作圖解:電腦模擬Flash模擬: 這很好玩,可以試著自己調整每個關節的長度。但一不小心就會讓它變掰咖XD閱讀全文

iTunes控制器: CoverSutra

之前用iTunes一直覺得少了一些全域快速鍵而顯得不太方便,不論要選歌/暫停/下一首都要切回iTunes裡才能做。後來在Applewoods那看到CoverSutra,才知道這個iTunes的好幫手。CoverSutra把iTunes常用的功能全都做了對應的快速鍵,最棒的是能像spotlight一樣輕鬆打關鍵字找歌。唯一缺點是這是shareware,用起來就不那麼盡興了XD閱讀全文

Macbook Air廣告的配樂

Macbook Air廣告的配樂實在配得很不錯,歌曲好聽,歌詞也帶有合適的意涵。最近很喜歡這種聽起來很舒服、很輕鬆的音樂,就特地去找了原曲。這首歌原曲是Yael Naim的New Soul(她的網頁內有MV連結)。Apple把這首歌配上了新發表的Macbook Air,像是期待著剛來到人世的小寶寶能盡情體會這世界的多采多姿(或者說讓世界見識到Air輕薄短小的厲害XD),但又怕這麼大膽的革新會受到殘酷的打擊。完整版歌詞:I'm a new soul I can do this strange world hoping I could learn a bit about how to give and take.But...閱讀全文

真實與虛擬

雖然上一篇才寫了MMDays的壞話,但很快就又在上面看到有趣的文章感官極限的哲學狂想:當感官真實不再真實。(well, 雖然這篇哲學意味濃厚的文章跟原始的MMDays風格搭不太上,但這議題其實我也頗有興趣。可見讀者的愛好真是很難捉摸,這世界真的很需要personalized filtering agent來把我們從資訊之海裡拯救上岸)好吧,回到正題。Mr. 情人節想必也是The Matrix攻殼機動隊的愛好者。我從小時候看的機器人卡通開始,就一直對人工智慧和機器的極限存在許多幻想。如果真的有天我們能做出能通過Turing Test的機器,那它會想些什麼事?到那天我們是不是也對大腦有足夠的了解,甚至能把大腦中的資訊dump出來,再插個USB就傳送到機器腦進而複製出一個有著同樣記憶和思考模式的「人」出來?那到了這一天,我們如果能自由操控記憶和思想,是不是就分辨不出自己是不是真實存在,還是只存在於電子訊號模擬出來的精神世界中?每個人都知道笛卡爾說過「我思故我在」,也就是因為「我」有對自身的存在產生懷疑,所以這個有在思考懷疑的「我」則是必定存在的。但這個存在的意義也只是代表了精神上的存在,至於精神是附在肉體之上或是由機器模擬出來的就不得而知了。看完The Matrix後,我就在想到底有多少人會想脫離虛擬世界?雖然虛擬世界也是像真實人生一般必須工作、必須吃飯、甚至還得受苦受難,但也是比回到活像石器時代的錫安來得舒適。如果在虛擬人生中就能得到生理與心理的一切滿足,那麼真的有必要去區分現實與虛擬嗎?或者說,有多少人在乎這個絕對的真實呢?哈佛大學的校訓是Veritas,也就是拉丁文的「真理」。科學的目的是追求真理,大學生理當也要追求真理。但現代社會的大學生似乎比較喜愛追求成績與平安畢業,如果能有個能被評為老師打100分的正確答案,又有多少人在乎這是否就是真理呢?我相信對於虛擬或現實的抉擇完全取決於每個人自我的人生觀與生活態度。現在的線上遊戲雖然離完全的感官模擬還差得遠,但還是吸引了無數人沉迷於其中,要不是他們還得回到現實生活吃飯睡覺,我絕對相信會有更多人們就一輩子待在第二人生裡當個快樂幻想英雄了....閱讀全文