【土虱報報】 第四期
2006/9/16 發行
這三期的新聞很多,一方面是有 O'Reilly OSCON 和 LinuxWorld Conference and Expo 的舉行,許多公司在這些場合宣佈新産品/新服務/新 open source project,另一方面國內的社群活動也因暑假而增多,右邊的這張圖充分表現了編輯們最近的狀況。感謝張...
這三期的新聞很多,一方面是有 O'Reilly OSCON 和 LinuxWorld Conference and Expo 的舉行,許多公司在這些場合宣佈新産品/新服務/新 open source project,另一方面國內的社群活動也因暑假而增多,右邊的這張圖充分表現了編輯們最近的狀況。感謝張伯先提供。
在這一期,我們很高興看到 PalmSource 公司在進入 Linux 領域成為「使用 open source」的公司之後,不但把原來在 Palm 上的二萬多套軟體帶進了 Linux,更在寫了很有潛力的 libsqlfs 之後,以 LGPL 開放出來,成為貨真價實的「貢獻 open source」的公司。Libsqlfs 雖是為了嵌入式應用打造的,但也可以在伺服器或桌面環境使用,是很有意思的一個新 library。嵌入式應用通常資源有限而且反應速度要快,說到快,Syllable 這個 GPL 的作業系統八秒開機和一秒開應用的速度還真不是蓋的,希望在它功能逐漸完整之際,不會犧牲掉效能和穩定性。
談到穩定性,咳咳,以 Linux for human beings 為口號的 Ubuntu 竟然在自動更新之後 X Window 當掉、出現了藍色的文字錯誤訊息畫面。這對老手來說不過是個 ctrl-alt-F1 再打幾個指令的小問題,對 Ubuntu 的目標使用者來說,可是和看到微軟的藍色死亡畫面的效果相同:回不到熟悉的使用畫面,卡在一片藍色裡,開始驚聲尖叫吧!難怪 Ubuntu 的 sabdfl Mark Shuttleworth 要在部落格裡公開道歉。編輯正在邀請對這個問題有深入了解的社群朋友,在來期評論這件事背後的套件更新機制和把關上的問題。
無獨有偶,道歉的也不只 Shuttleworth 一人,中華民國軟體自由協會也就問題重重的「2006 自由軟體傑出應用推廣選拔大賽」公開向社群道歉了。Ping 為這件事寫了《三評軟自協》的文章,本期轉載第一評。
撇開不愉快的事不談,這期有幾件歡樂的事情,兩件是 OXIM 輸入法軟體新版的釋出和進入 FreeBSD 的 ports,兩件和訊息中譯相關。首先在新釋出的 Gnome 2.16 裡,正體中文的翻譯完成度高達 99.27%,老編要力謝狂賀由 Abel Cheung 和 Liao Chao-Hsiung 領軍的 Gnome 中文化團隊!然後是 GNU 翻譯計畫的正體中文小組,甫由 Wei-Lun Chao 接手為新的小組長,老編這裡也要恭喜他,希望 GNU 翻譯計畫正體中文小組在新小組長的帶領下,產出更多高品質的訊息中譯。
Tossug 的心得分享下三次是 web design 連續劇,由 CSS 大師 hlb 在 9 月 26 日打頭陣、知名 blogger Jedi 在 10 月 17 日打中鋒、壓軸部分將由神秘佳賓在 11 月 7 日主講 AJAX 相關技術,有興趣的朋友請注意 Tossug 的公告囉。
新聞
發行 Palm OS 的 PalmSource 公司於 8 月 14 日在舊金山的 LinuxWorld Conference and Expo 宣佈以 LGPL 授權條款釋出 libsqlfs 這套開放原始碼的程式庫,可以把 ...
發行 Palm OS 的 PalmSource 公司於 8 月 14 日在舊金山的 LinuxWorld Conference and Expo 宣佈以 LGPL 授權條款釋出 libsqlfs 這套開放原始碼的程式庫,可以把 SQLite 資料庫當成檔案系統來讀寫,方便需要攜帶整個檔案系統移動的行動運算應用。第一個版本是 8 月 10 日釋出的,搭配 SQLite 3.2.7 和 FUSE 2.3.5 使用,可以編譯成程式庫或 FUSE 模組使用。
PalmSource 是日本 Access 公司的子公司,為 Access Linux Platform 所開發的 libsqlfs 算是 SQLite 的增效元件,這個程式庫可以把系統或應用程式的偏好設定以符合 Open Mobile Alliance-Device Management(OMA-DM)手機規格的方式儲存到資料庫中。OMA-DM 是行動電話及設備的關鍵規格,為手機定義了一組共同的系統設定。該規格要求實作的系統要支援保密的設定方式,並只允許具備特定身分的應用程式取用這些設定。
PalmSource 的工程師的對策是寫出一套在 SQLite 資料庫上提供 POSIX 檔案系統語法的程式庫,這樣既有資料庫的優點,如資料交易和同時性的控制,又能以 SQL 取用檔案系統的描述資料。
Libsqlfs 這個「檔案中的檔案系統」的作法,很容易把整個檔案系統帶走、備份、重裝,而檔案系統也可以透過 FUSE 掛載起來取用其中的檔案,非常方便。此外,檔案系統的存取還能分批以原子式交易進行(atomic transactions),也就是保證所有更動全部完成或全部不進行,不會有不完整的更動。雖然 libsqlfs 是為了行動運算開發出來的,但不代表不能在其他領域使用。
除了釋出 libsqlfs 之外,PalmSource 和 Access 還宣布了 Access Developer Network 的成立,來支持使用 Access Linux 平台開發的行動應用,期望能協助新的 Linux 開發者和 PalmOS 開發者生産 Linux 的行動應用程式。
消息來源:
下載網址: http://www.palmsource.com/opensource/downloads.html
Ubuntu 這顆新星閃耀的光芒似乎淡了一點,因為最近一次的修補破壞了使用者的圖形介面。受到波及的使用者看到了... 恐怖的... 藍色死亡畫面。雖然這個畫面比起微軟那個藍色畫面提供了更有用的訊息,但是還是讓那些被搞混的使用者一頭霧水。
Ubuntu 這顆新星閃耀的光芒似乎淡了一點,因為最近一次的修補破壞了使用者的圖形介面。受到波及的使用者看到了... 恐怖的... 藍色死亡畫面。雖然這個畫面比起微軟那個藍色畫面提供了更有用的訊息,但是還是讓那些被搞混的使用者一頭霧水。
Ubuntu 6.06 LTS 的使用者們如果在 8 月 22 日上午 1:30 到 8 月 23 日下午 6:00 這段時間更新系統過,那麼很可能就是這次被波及到的使用者其中之一。
Ubuntu 官方網站的一份 筆記提到:「一份視窗系統程式被錯誤地釋出到 Ubuntu 6.06 LTS,在更新並重新啟動後,這個修補意外地破壞了某部份的使用者的視窗環境。」
上面繼續提到:「當我們得知這個問題後,立刻地移掉這個修補。鏡射站也被暫停,確保這個錯誤的修補不會從鏡射站那邊取得。我們啟動了一項調查行動以及品質控管流程的重新檢視,以瞭解這是如何發生的、可以採取什麼正確的行動。」
即使使用者們可以使用命令列介面,還是有許多新的 Ubuntu 使用者仍然困擾著不知道應該要如何去解決這個問題。
解決的辦法是使用命令列登入
然後執行
sudo apt-get update
接著再執行
sudo apt-get install xserver-xorg-core
在大多數的 Debian Linux Distribution 這是以 root 權限在做的,但是 Ubuntu 不鼓勵直接使用 root 權限,雖然有點麻煩,不過也更安全些,所以還是使用 sudo 吧。
做完以上動作後,你就可以使用 Ctrl-Alt-Delete 來重新啟動到一個有視窗的系統了。
這個問題發生的原因是因為一個實驗中的修補不應該被釋出的,但是還是被釋出了。
Mark Shuttleworth,Ubuntu 的母公司 Canonical 的執行長,在他的部落格上為這次的事件道歉: 『我們的團隊做了一連串的錯誤導致上千名用戶的桌面系統有數小時不能夠使用。』
他繼續說到:『我對那些被影響的用戶們感到十分抱歉,藍色的死亡畫面是 Linux 桌面使用者最不願見到的情況,並且這樣類似的問題即使發生在數分鐘之內都是不可接受的。』
他解釋著:『這次意外的報告我們的團隊正在撰寫中,一旦完成了就會馬上公開給廣大的社群以及使用者知道。』
然候他又說:『根據這次意外的報告,我們也把它放進了一個仔細討論的機制之中,關於散佈那些非必要的修補(例如支援新的硬體)給那些想要先行測試的使用者,或是那些與我們更加親近的使用者社群。我們現在知道了,沒有大量的內部測試是無法發現某些問題,甚至是那些顯而易見的問題。要洞悉一個小改變所帶來的影響的唯一方法就是把它放給更多但是有能力控制的使用者。』
據記者的了解,出問題的地方應該是在 xorg-server-1.0.2 裡的 hw/xfree86/os-support/bus/Pci.c 中的函式 xf86scanpci,就是 xserver 在找 vga device 時,只掃瞄了 pci bus 00 就停了,所以如果電腦裡的 vga 卡不在 pci bus 00 上的全都會找不到!像記者自己的 notebook 的 vga device 就是位在 pci bus 01 上面,所以說這次的藍色死亡畫面也有記者的份... T.T
消息來源
Syllable 是一個為了速度而生的 GPL 作業系統,硬體配備的要求很低。它是由 AtheOS 衍生而來,而你可以用許多種方法試用這個作業系統,從安裝光碟、Live CD 到 VMPlayer 影像檔。
安裝進去可不那麼簡單。你得手動設定硬碟分割區,手動安裝 GRUB。好家在,線上的文件說明還算完整,足以解決你的困難。
Jeff 用一台 P4 1.8GHz、512MB RAM 的系統來當測試平台,這個小傢伙只花了 8 秒就開機了!而大部分的程式只用 1 秒左右就可以開啟,讓人感覺好像在操作 Palm PDA 一樣。
這小傢伙的桌面系統超簡單易用,執行的畫面如下:
不過儘管如此,Syllable 仍然是一個正在開發中的作業系統,它的 UI 有些 bug、應用程式也有些 bug,可以執行的程式也有點少。
Jeff 認為,雖然有著一些小小的 bug,它仍不失為一個簡單、安全、快速的作業系統,潛力無窮。心動了嗎?現在就去下載:Get Syllable
要更多應用程式嘛?來這裡找。想看更多評測嘛?OS News 這一篇寫的更加詳細唷!
消息來源
Jeff Park 發表於 newsforge.com 的 "Syllable: A different open source OS" 文章
舉辦過兩次的「自由軟體傑出應用推廣選拔大賽」,今年再度登場了,但郤沒能圓滿結束。以下是主辦單位軟體自由協會的秘書余小姐於 8 月 26 日在自由軟體交流網(TNC)張貼的公告:
社群消息 : 關於「2006 自由軟體傑出應用推廣選拔大賽」,經SLAT理事會討論後,決議延辦活動 發表人 rosaa64 於 2006/8/26 15:28...
舉辦過兩次的「自由軟體傑出應用推廣選拔大賽」,今年再度登場了,但郤沒能圓滿結束。以下是主辦單位軟體自由協會的秘書余小姐於 8 月 26 日在自由軟體交流網(TNC)張貼的公告:
社群消息 : 關於「2006 自由軟體傑出應用推廣選拔大賽」,經SLAT理事會討論後,決議延辦活動 發表人 rosaa64 於 2006/8/26 15:28:00 (1126 人讀取) 關於「2006 自由軟體傑出應用推廣選拔大賽」,經 SLAT 理事會討論後,決議如下: 1. SLAT 的許多理事,都密切關心網路上對於推廣獎選拔的討論,在理事會的討論後,我們在此提出理事會的共識及處理方案,做為對社群朋友的正式回應。 2. 先向已投票的朋友們致歉,此次活動暫停重新辦理純係 SLAT 本身之疏失所致。修訂投票過程後,重新投票勢所難免,造成各位時間上的損失,十分抱歉。 3. 籌辦小組將重新檢視修訂推廣獎選拔辦法,修正後的草案辦法將在網路上徵詢各界的意見,包括重覆投票的管控機制等,都將是再次徵詢各界意見的重點。 4. 本次推廣獎的獎金及籌辦費用,來源包括 SLAT 會員的會費、SLAT 的活動收入(如 ICOS 的活動費)、理監事四處勸募。我們深知募集而來的經費,背後代表一份對台灣自由軟體運動的殷切期盼,這也是 SLAT 不會或忘的責任,為了讓這些獎金能發揮功能,我們將竭力做好每個環節,並歡迎各界朋友不吝持續給予建議與鞭策。
這樣的結果令人遺憾,但不意外,而且是正確的決定。
今年選拔大賽的公開活動,是從 pake 於 6 月 14 日在 fedora.tw 和 TNC 發表的公告開始的:
自由軟體 : [活動] FSSOC 2006徵求提名 發表人 pake 於 2006/6/14 16:23:44 (539 人讀取) 身為自由軟體的愛用者,你是否想對台灣自由軟體發展的無名推手,表達支持與謝意呢?現在,這個機會來了。 由教育部與「中華民國軟體自由協會」共同主辦的「自由軟體傑出應用推廣選拔大賽」, 秉持回饋自由軟體社群成員的目標,公開徵求提名。 今年共有七類獎項,預計將選出 14位獲獎人,總獎額 21 萬。獎項類別是: · 傑出社群組織獎,· 受獎者為組織。 · 傑出社群網站獎,· 受獎者為網站。 · 傑出社群成員獎,· 受獎者為個人。 · 傑出軟體貢獻獎,· 受獎者為團隊或個人。 · 傑出軟體中文化獎,· 受獎者為團隊或個人。 · 傑出文件翻譯撰寫獎,· 受獎者為團隊或個人。 · 傑出教育推廣獎,· 受獎者為團隊或個人。 只要你認為符合上述分類的個人或組織,歡迎至選拔大賽網站提名. 提名將於 7/7 結束,7/8 開始投票-7/30票選截止,8/4公布結果,8/27頒獎 不要猶豫,現在就行動吧!
在經過了一段時間收集提名之後,SLAT 在 2006 年 8 月 3 日公告開始投票:
新聞短打 : 2006 自由軟體傑出應用推廣選拔大賽--開始網路票選 發表人 rosaa64 於 2006/8/3 15:08:14 (1747 人讀取) 各位親愛大大: 2006 自由軟體傑出應用推廣選拔大賽,已經開始網路票選囉, 趕快至這網址 http://praise2006.icos.org.tw/?page=vote, 投給你喜愛的候選人一票喔^^...
沒想到導火線於此引爆,所有隱藏的問題完全爆發開來,主要是有關選拔大賽的公平性問題。在此節錄一些本次議題相關的爭論。TNC 的討論串中還包含了一些其他問題,如果讀者有興趣可以自行參閱。
第一、有人質疑這次的提名審查過程有瑕疵,最明顯的莫過於兩件事:
- 在候選人名單上居然同時有 PCMan 和洪任諭!PCMan 本身在軟體的網頁上有清楚的標示 PCMan 便是洪任諭,有人因此強烈質疑提名的審查機制是否有問題。
- 過去已獲獎的人和社群團體依規則不得再度候選,但有好幾個候選者是過去的獲獎者。提名人可能只是單純地覺得該候選者有資格得獎,就填了提名表送交給主辦單位,但比賽的評審有責任一一檢查被提名人的資格,這絕對不能疏忽的事,看來是輕率地疏忽掉了。
第二、有人質疑這次的投票系統有瑕疵。根據本次投票系統負責人 lman 在 Rex Tsai 的 blog 上的留言,因為舊的系統雖然拿得到,但是該系統原作者給了 lman 三不一可能:『這個可能是完整的版本,不過不維護、不回答、不支術支援』,lman 在短時間內未能安裝起來,因而自行撰寫了一個新的投票系統。新的投票系統在一公告後馬上就有人質疑系統判定不夠嚴謹,造成可能會出現灌票的情形,雖然 lman 在稍後有加上同個 IP 在三日內不能重複投票的功能,但是仍然擋不了使用者抱怨。
第三、由於第二個原因,開始有人質疑本次的主辦單位 SLAT 舉辦這次會議的企圖,很多長輩紛紛跳出來表示自己的意見,如 chihchun 的『自由軟體社群政治清流?』 blog 和 Ping 的『提交給 2006 自由軟體傑出應用推廣選拔大賽的 Bug Report』,都指向主辦單位 SLAT 未能接續過去的傳承。最後 SLAT 公告暫停活動,本次受爭議的選拔大賽終於算是告一個段落了。
結語
「自由軟體傑出應用推廣選拔大賽」原本應該是個可以激勵台灣自由軟體社群的活動,但是由於許多個錯誤總和起來造成現在的局面,這樣的結果不是大家所樂見的,最可惜的是居然有過去的得獎者願意退回以前得到的獎項,甚至希望從來沒有得到過。這個事件所代表的涵意不只是單純「一個活動」的成功與否,希望主事者深思,也提醒身為自由軟體社群一員的我們,對社群活動應該抱持的態度。
文章
讀者或許會好奇,Ubuntu 怎麼能保證全世界那們多台 mirror 站提供的套件不是經過有心的駭客入侵更改的,或者駭客自己架一台 mirror 站,再用 DNS 挾持的方式,把您引導到他自己架的套件庫上,並在您系統更新時順便植入後門。
讀者或許會好奇,Ubuntu 怎麼能保證全世界那們多台 mirror 站提供的套件不是經過有心的駭客入侵更改的,或者駭客自己架一台 mirror 站,再用 DNS 挾持的方式,把您引導到他自己架的套件庫上,並在您系統更新時順便植入後門。
在 Debian 和 Ubuntu 採用簽章的方式來解決這個問題。簽章可以證明這些套件檔是由 Ubuntu 官方所出,而沒有經過別人所篡改,並且這個簽章是跟著套件一起跑,不管跑到哪一個 mirror 站,都無法改變的。如果這個套件檔被有心人士修改加入後門,那麼這個簽章將會失效,此時 APT 系統就會判別出這個套件經過人家改動,而提出警告。
所謂的簽章,是透過金鑰的功能來達成。完整的金鑰有兩隻鑰匙,一隻是私鑰 (Private Key),另外一隻是公鑰 (Public key),而公鑰和私鑰是一對的,並且是一起產生的。金鑰加密的基礎是,當我們用私鑰對一段訊息加密後,我們只能用公鑰把它解開,反之如此。因此其實公鑰和私鑰其實地位是一樣的,就看您要把哪一把當成公鑰,哪一把當成私鑰。這種加密方式就是所謂的非對稱式密碼系統。當然讀者或許會覺得奇怪,理論上我們知道一把公鑰後,應該是可以算出一把私鑰和這把公鑰吻合,這樣不就破解了嘛?的確如此,不過以一把鑰匙算出成對的另外一把鑰匙是幾乎不可能在有限的時間內計算出來的,以現在的電腦能力,破解一把高位元的鑰匙,都要數十年的時間,所以這種加密的安全性主要是依賴於從公鑰推出私鑰的計算所需的時間。但沒有人保證明天的電腦科技不會突飛猛進,造成可以在合理的時間內破解金鑰,但目前這種加密方式仍然是很可靠的。
我們如何透過這種系統來進行秘密通訊呢?舉例 A 和 B 要進行秘密通訊,而 A 和 B 的公鑰都已經公佈出來,彼此都知道了。此時 A 可以用 B 的公鑰把要傳給 B 的訊息加密,如此這段訊息只有用 B 的私鑰才能解開,因而達到秘密通訊的要求。同理,B要傳秘密訊息給 A,就用 A 的公鑰加密,如此就只有 A 能解開這段文字。這也是為什們私鑰很重要了,這種加密方式安全度就看私鑰有沒有保管好。總之,公鑰可以公佈出去,給越多人知道也沒關係,但私鑰就要自己好好保管,絕不能外洩。
在套件管理系統中,採用的簽章系統加密的想法和前面秘密通訊剛好反向。若要確定檔案是從官方來的,此時官方組織會用私鑰加密,這時只有公鑰能夠解密。當 Ubuntu 用私鑰加密一段文字後,使用者可以用 Ubuntu 的公鑰去把它解開來。但若是駭客沒有 Ubuntu 的私鑰,隨便用個鑰匙加密,那麼我們用 Ubuntu 的公鑰去解密,會出現失敗。因此只要我們的公鑰是正確的,我們就可以判斷檔案或文字是否是由 Ubuntu 官方出來的。
問題是透過私鑰加密的檔案會變大,且隨著檔案大小越大,用公鑰解密的時間越來越長,所以把所有套件檔加密是不切實際的。這裡有個變通的方式,是讓所有的人不管有沒有公鑰,都可以知道檔案內容,也就是現在套件檔不加密,只要有辦法確定是官方的就好了。這就是所謂的數位簽章系統,可以保證資料是您所撰寫,類似於我們簽名,雖然內容大家都看的到,但是可以用筆跡來認出是誰簽名的。方法是我們對於要簽章的檔案作單向 hash,例如用 MD5 hash,然後把 hash 後的值用私鑰加密。而驗證的人只要用公鑰確定那段被加密的 MD5 hash 是否是由私鑰產生的,並且可以把它解密後在對文件做一次 MD5 hash,如果兩個 hash 的值都一樣,那代表是本人寫的,沒有被篡改過。
實際上 Ubuntu 的套件管理系統是用 MD5 和簽章系統來配合做驗證。所有的套件檔都會產生 MD5 hash,這些 MD5 碼可以檢查套件是否完整,是否被改過。當套件被修改過而產生一樣的 MD5 碼是幾乎不可能的,所以我們可以用此值來驗證套件的完整性。現在的問題是如何安全傳遞這些 MD5 hash 值,方法就是簽章系統了。在 APT 系統中,當我們做 apt-get update 時,會向套件庫取得兩個檔案,Release 和 Release.gpg。在 Release 裡面包含了套件庫所有 deb 套件的 MD5 hash,而保障 Release 是沒被篡改過的方法是透過 Release.gpg,也就是簽章。Release.gpg 包含了官方對 Release 做單向 hash 後再用私鑰加密的資訊。因此我們可以用公鑰來驗證 Release.gpg 是否由私鑰所加密的,並用解出來的資訊再對 Release 驗證是否被篡給過。
這些內容在資工系密碼學都要學一學期,所以如果以上太艱深的話,沒關係。重點是只要知道它能保障您下載的套件檔是沒有被篡改過的就行了。以下我們要說明實務上要如何管理 APT 系統的公鑰。
我們先列出 APT 系統目前有的公鑰看看,當然 Ubuntu 套件庫所用的公鑰在您安裝好系統後,就已經裝好啦! 指令:
sudo apt-key list # 列出 APT 系統所使用的公鑰
範例:
dbtsai@ubuntu:~$ sudo apt-key list /etc/apt/trusted.gpg -------------------- pub 1024D/437D05B5 2004-09-12 # 1024D 此欄代表著金鑰擁有者 ID,437D05B5 此欄是金鑰指紋 uid Ubuntu Archive Automatic Signing Key <[email protected]> sub 2048g/79164387 2004-09-12 pub 1024D/FBB75451 2004-12-30 uid Ubuntu CD Image Automatic Signing Key <[email protected]> dbtsai@ubuntu:~$
您會發現 APT 系統上目前有兩把公鑰,一把是給光碟用的,另外一把是給套件庫所使用的。而我們好好的幹嘛還要裝新的公鑰呢?常常金鑰都會設幾年的保存期限,避免有心人用超級電腦從公鑰算出私鑰。這種金鑰過期的情形在 Debian 就發生過,幾年前 Debian 就換過金鑰導致很多人套件管理系統無法更新。或者我們常常加入個人的套件庫,他們當然沒有 Ubuntu 的私鑰(這可是 Ubuntu 最保密的事情呢!),所以系統上的公鑰就無法驗證這些套件庫,所以我們就得要手動把相對應的公鑰裝上去。
例如筆者很喜歡在我的 Ubuntu 上加上 Debian unstable 和 experiment 的原始碼套件源,這樣我可以透過套件管理系統來自動編譯最新的套件。當然在 Ubuntu 裡面沒有 Debian 的公鑰,如以下範例,會產生錯誤訊息。 範例:
dbtsai@ubuntu:~$ cat /etc/apt/sources.list deb-src http://ftp.debian.org.tw/debian experimental main deb-src http://ftp.debian.org.tw/debian unstable main deb http://apt.ubuntu.org.tw/ubuntu/ dapper main restricted deb-src http://apt.ubuntu.org.tw/ubuntu/ dapper main multiverse dbtsai@ubuntu:~$dbtsai@ubuntu:~$ sudo apt-get update 下載:2 http://ftp.debian.org.tw unstable Release.gpg [189B] 下載:9 http://ftp.debian.org.tw unstable Release [38.3kB] 中間略 W: GPG error: http://ftp.debian.org.tw unstable Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 010908312D230C5F W: 用『apt-get -f install』指令或許能修正這些問題。 dbtsai@ubuntu:~$
此時系統抱怨找不到公鑰 (NO_PUBKEY 010908312D230C5F)。或許讀者會覺得奇怪,公鑰那們短不是一下子就會被破解了嘛!其實那不是公鑰,而是金鑰指紋的最後 16 碼。一般高位元的金鑰,公鑰大小會有 2K以上,這樣若要給別人公鑰除非是用磁片傳,不然無法很容易傳遞。想想看 2K 可以紀錄一千多個中文字耶!總不能唸給別人聽吧!所以有人就想到一個交換公鑰的方式,利用 key server 來傳遞。我們先對金鑰取特徵值,得到一組金鑰指紋,有40碼,每一碼都是從 0 到 F,以十六進位表示。然後我們可以把公鑰上傳到 key server,其他人只要憑金鑰指紋就可以下載,這樣就解決了煩人的公鑰交換問題。
例如筆者的金鑰是 DSA + Elgamal 4096bits,而我的鑰匙資訊如下: 筆者的金鑰:
pub 1024D/91AFDF6C 2006-08-02 金鑰指紋 = A612 E53D DE36 5627 4F60 665D 2451 ACB6 91AF DF6C uid Dung-Bang Tsai (dbtsai) <[email protected]> sub 4096g/A1F68A40 2006-08-02
筆者產生了金鑰後,其中的資訊 1024D/91AFDF6C 是我們最常用的。前面的 1024D 是從筆者的名子和 E-Mail 算出來,也就是 User ID。後面的 91AFDF6C 是金鑰指紋後八碼。整個組合起來就是您的金鑰 ID。
如果公鑰已經上傳到 key server 上,我們可以透過金鑰指紋後八碼下載到該金鑰的公鑰。例如讀者可以透過以下指令來下載筆者的公鑰: 指令:
gpg --keyserver hkp://wwwkeys.eu.pgp.net --recv-keys <金鑰指紋> # 伺服器可以選擇其他的,這些伺服器都會互相同步。 # 所以 eu 可以換成 us cz de 等。 # 而金鑰指紋最少要8碼,或 16 碼,也可以完整的用40碼來下載公鑰。
範例:
dbtsai@ubuntu:~$ gpg --keyserver hkp://wwwkeys.eu.pgp.net --recv-keys 91AFDF6C gpg: 正在請求金鑰 91AFDF6C 自 hkp 伺服器 wwwkeys.eu.pgp.net gpg: 金鑰 91AFDF6C: 公鑰 "Dung-Bang Tsai (dbtsai) <[email protected]>" 已被匯入gpg: 總共被處理的數量: 1 gpg: 已匯入: 1 dbtsai@ubuntu:~$ gpg --list-key /home/dbtsai/.gnupg/pubring.gpg ------------------------------- pub 1024D/91AFDF6C 2006-08-02 uid Dung-Bang Tsai (dbtsai) <[email protected]> sub 4096g/A1F68A40 2006-08-02 dbtsai@ubuntu:~$
回到主題,我們先前談及要下載 Debian 套件庫的公鑰,根據錯誤訊息 NO_PUBKEY 010908312D230C5F,後面那一串就是金鑰指紋。我們可以貼上最後 8 碼,或者 16 碼來下載。
(備註: 通常有在使用金鑰的人都會上傳他的公鑰到伺服器上,若真的沒有上傳的話,就必須和該套件庫的維護者索取。 )
取得 Debian 套件庫公鑰:
dbtsai@ubuntu:~$ gpg --keyserver hkp://wwwkeys.eu.pgp.net --recv-keys 010908312D230C5F dbtsai@ubuntu:~$ dbtsai@ubuntu:~$ gpg --list-key /home/dbtsai/.gnupg/pubring.gpg ------------------------------- pub 1024D/2D230C5F 2006-01-03 [過期: 2007-02-07] uid Debian Archive Automatic Signing Key (2006) <[email protected]> dbtsai@ubuntu:~$
由於 APT 系統上所使用的公鑰列表和 gpg 系統的公鑰列表是分別獨立的,所以要把 gpg 的公鑰匯出到 APT 系統。如以下匯出 Debian 公鑰的範例: 指令:
gpg --armor --export <金鑰指紋> | sudo apt-key add - # 匯出公鑰到 APT
將剛剛下載的 Debian 公鑰匯入 APT 系統:
dbtsai@ubuntu:~$ gpg --armor --export 010908312D230C5F | sudo apt-key add - gpg: 沒有找到任何徹底信任的金鑰 OK dbtsai@ubuntu:~$ sudo apt-key list /etc/apt/trusted.gpg -------------------- pub 1024D/437D05B5 2004-09-12 uid Ubuntu Archive Automatic Signing Key <[email protected]>sub 2048g/79164387 2004-09-12 pub 1024D/FBB75451 2004-12-30 uid Ubuntu CD Image Automatic Signing Key <[email protected]> pub 1024D/2D230C5F 2006-01-03 [過期: 2007-02-07] uid Debian Archive Automatic Signing Key (2006) <[email protected]> dbtsai@ubuntu:~$
若是在伺服器上找不到他的公鑰,讀者可以寫信去要,他會給您他的公鑰,大致上長的像以下範例一樣: 公鑰範例:
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.2.2 (GNU/Linux) mQGiBEO6XBMRBACFyOjxs17kkn0dnzRlMDHFZwcLR3A0xACvC97jbmSvuiH2J1Ku R1JkFqCNGv3yzvtjfLMRrNfmIgitOOaPmjK4erQoXM2cyrHlsk/OXLM2aGcR8PGE 略 -----END PGP PUBLIC KEY BLOCK-----
讀者把它存成文字檔 debian.asc 以後,可以透過以下指令匯入: 指令:
sudo apt-key add debian.asc
若是讀者要刪除公鑰,可以透過以下指令: 指令:
sudo apt-key del <金鑰指紋>
當然金鑰的使用不只在這裡,只要是有關於安全性的部份,都常常見到它的縱影,往後筆者會在各種不同的應用領域再次介紹到,不過原理大致就如本節所敘述的。
名家評論
中華民國軟體自由協會(SLAT)舉辦的 2006 自由軟體傑出應用推廣選拔大賽在網路上引發了許多爭議,最...
中華民國軟體自由協會(SLAT)舉辦的 2006 自由軟體傑出應用推廣選拔大賽在網路上引發了許多爭議,最後以停辦收場。
首先我要讚許主辦單位踩剎車的勇氣,這代表 SLAT 還是有反省能力的。然而,一個活動無法走到底,過程當然是有問題。我身為創辦人之一和離開一年多的前理事,對 SLAT 還是有一些感情,有些話忍不住要說出來。活動本身的問題,尤其是執行面和競賽規則之間的落差,在提交給 2006 自由軟體傑出應用推廣選拔大賽的 Bug Report 一文都說過了,不再贅述。
受到這次選拔大賽事件的刺激,以過去對 SLAT 的認識,我寫了這個《三評軟自協》的系列文章,第一篇是這篇『【三評之一】怎麼會這樣?』,之後會陸續發表剩下的兩篇。這三篇評論是針對 SLAT 而來,把我看到的問題講出來,希望 SLAT 的新理事會有雅量接受,進而可以進行內部改革。(喂!新理監事名單在哪裡?http://www.slat.org/ 又連不上了。)如果我的評論所依之根據不是事實,請來信指正,我會很樂意更正。此外,我對 flame war 沒有興趣,所以不開放留言;有任何指教,請來信告知,我會虛心受教,若時間允許,也會選言之有物的部分另外貼出來。
以下就是『【三評之一】怎麼會這樣?』。
這次的「2006 自由軟體傑出應用推廣選拔大賽」原是一件美事,竟然被眾人批評得體無完膚,怎麼會這樣?
之所以會有這麼多瑕疵,原因很多,但最根本原因是兩個:
- 之前辦過相同活動,但沒把相關程式和經驗傳承下來。
- 必需另起爐灶,可是沒投入足夠的人力,為了趕時間而急就章。
從這兩個問題分析,我認為主辦單位 SLAT 犯了三個錯誤:讓傳承付諸流水、辦活動交差了事、與社群漸行漸遠,以下一一說明。
一、讓傳承付諸流水
自由軟體傑出應用推廣選拔大賽的第一次是在 2003 年舉辦的,後來於 2004 年再度舉辦,之後決定選拔大賽(FSSOC Awards)和技術性的自由軟體競賽(FS Contest)輪流隔年舉行,所以第三屆是在 2006 年舉辦。選拔大賽的規則基本上除了評審的組成之外,幾年來都沒有改變,因此只要把之前接受提名、e-mail 確認、徵詢被提名人意願、請評審審查資格、投票等等的程式拿來再用一次,就可以放心整個選拔大賽的程序基本上會以符合規則的方式進行。
2003 和 2004 年使用的程式是唐宗漢(唐鳳)用 mod_perl 寫的,在 OpenFoundry 上留了一個FSSOC Awards 專案,原始碼可以從svn repository下載,2004 年給評審用的 mailing list 也在專案網頁上有歸檔,換句話說,該有的檔案差多不都找得到,剩下的只是弄清楚如何去用這些程式和文檔,這是 documentation 的問題。
在 2004 年辦第二屆時,就已經知道這是個要去爭取經費或募款來持續常態性辦理的活動。然而因為 SLAT 理事的任期是兩年(2005 年選出的理事不知為何是一年),下一屆選拔大賽舉辦時的理事已經是新一期理事會的人了,在下一屆接辦的人不知會是誰的情況下,怎能不趕快寫出一份「如何使用 FSSOC Awards 軟體和相關檔案」的文件,commit 進去 svn repository,供後人詳讀呢?
沒有寫下文件留傳,等於埋下了一顆地雷。這是對歷史不經心、對後人不負責的行為。若是辦一般社群活動的志工這樣子也就算了,有法律地位的社團法人這樣子不做為,造成日後活動的失敗,就是辜負了社群的期望。
歷史和傳承是一點一滴累積的,不花苦工累積,就會一點一滴失去。我認為沒寫文件這件事,只是 SLAT 眾多失去歷史、失去傳承的事情之一;另外一個很明顯的例子,就是 slat-talk 通信論壇資料的損毀。slat-talk 是 SLAT 成立後立刻建立的通信論壇,在上面討論的議題很多,許多人發表了很有深度的談論,也因為是 mailing list,發表人的 e-mail address 每個人都看得到,不太算有匿名性,所以惡意的人身攻擊並不多。現在的歸檔網頁,是從 2006 年 1 月才開始歸檔的,也就是說,2001 - 2005 這五年珍貴的歷史資料,很可惜的,已經遺失了。同樣可惜的是,訂閱者名單也一起失去了。
這樣子維護歷史資料的 SLAT,前幾屆選拔大賽的官方網站 http://fssoc.slat.org/ 會消失也就不意外了吧!
二、辦活動交差了事
這個活動原訂 7 月 8 日開始投票,但拖到 8 月 3 日才公告投票開始,猜測是因為另起爐灶而有所延誤。如果真的要表揚得獎人、讓得獎人有榮譽,在舉辦這樣的選拔時顯然要很仔細,每一個環節都要務求嚴謹,不能讓得獎人被他人懷疑得獎的正當性和公平性。
SLAT 做到了嗎?當然沒有!
誠然,拿到的舊程式是三不一可能的程式:『這個可能是完整的版本,不過不維護、不回答、不技術支援』,因此要讓它運作起來有一定的難度。但是,出現這個狀況不該讓警鈴響起嗎?沒有程式,選拔大賽程序如何進行?大賽程序無法進行,這個狀況難道不是嚴重的 show-stopper?
那 SLAT 有做什麼事去消除 show-stopper 嗎?看來也沒有!執行者的決定是自己重新練一個程式出來,但從零開始寫出一個完全符合規則的程式,除非是對規則了然於胸的 web 程式高手,不然一定要花上很長的時間。code reuse 是自由軟體的精神和重要原則之一,砍掉重練是萬不得已的手段。個人認為,當事人沒有想清楚,沒有採取消除 show-stopper 最有效的方法。
如果在辦活動時,連 show-stopper 都不儘力處理,那也只能說執行人和主辦單位根本不重視這個活動,並沒有想把它辦得盡善盡美。
這不就是交差了事?
三、與社群漸行漸遠
先講清楚,這裡所謂的「社群」是什麼。我自己對「自由軟體社群」的定義是:對自由軟體有貢獻自己的時間的人,而貢獻的方式可以是寫軟體、譯介面、寫文件、解決他人使用自由軟體的問題、辦推廣活動等等,廣義地說,凡是花時間讓自由軟體更好用或更多人用的人,都算是社群的一份子。
回到問題面來。臨危受命的執行人,碰到不會用但對活動具關鍵地位的軟體,該怎麼辦?
別忘了,這是自由軟體的活動,自由軟體社群和其他技術導向的社群的一個很大的不同,是它的開放性格。所以,不用害羞、不用覺得丢臉,直接向自由軟體社群求救吧!連 linux 裝不起來都能在 freesf.tnc.edu.tw、fedora.tw、BBS 的 linux 連線版等網路空間找到救兵了,apache 的 mod_perl 模組或用 mod_perl 寫的程式裝不起來,當然要搬救兵啊!自由軟體社群中不乏 perl 高手,看到這個活動需要急救,真的會置之不理嗎?或者換句話說,如果求救後,自由軟體社群寧願坐看這艘船沉到海裡去也不出手,不正可以解釋成社群不關心這個活動?真是如此的話... 也許不辦也罷,那至少也比後來的發展好些。
SLAT 有及時向自由軟體社群求救嗎?可沒聽說!
近幾年來 SLAT 因為 slat-talk 的消失和其他原因,平常並不太和社群交流。這也就算了,但是出這種緊急事件也不求諸社群,SLAT 和社群實在是漸行漸遠了。一個遠離社群的組織,不論是營利的公司或是非營利的協會,出面舉辦鼓勵有貢獻的社群朋友的選拔大賽,不很諷刺嗎?
在 SLAT 成立後第一次舉辦的研討會 ICOS 2001 中(喂!研討會的官方網站 http://twopensource.org/icos2001 也連不上了),我給了一場專題演講『社群近況報告 - 軟體自由協會』,向與會的社群朋友宣布了軟體自由協會的成立、以及個人對軟體自由協會的期許,我提出 SLAT 應該是 of the community, by the community, for the community(由社群擁有、由社群組成、為社群服務)的主張。這當然是從林肯大大那兒抄來的,私以為很貼切。雖然必未每個人都同意這個定位,但至少當初 SLAT 和社群是很貼近的。時至今日,不但 SLAT 的理監事會成員和自由軟體社群交集日漸縮小,連行事風格都離社群越來越遠,一嘆!
結語
這是《三評軟自協》的第一評,焦點放在和「2006 自由軟體傑出應用推廣選拔大賽」比較直接相關的三個問題:讓傳承付諸流水、辦活動交差了事、與社群漸行漸遠。對 SLAT 更一般性的問題的診斷,將會出現在第二評和第三評中。
社群新聞
和 GNU 計畫的本土化有密切關係的「翻譯計畫」(Translation Project,簡稱 TP)涵蓋 182 個套件、90 種文字。正體中文(Traditional Chinese)小組原先的組長 Yuan-Chen Cheng 因工作繁忙,而由 Wei-Lun Chao 在 9 月 12 日正式接任。
「翻譯計畫」是一個專為整合自由軟體訊息翻譯的計畫,以 GNU 軟體為主要維護的對象,如 bison、gcc、grep 等等,但也包括一些不屬於 GNU 的自由軟體,像是 python、xchat…。「翻譯計畫」比較特殊的一點是參與計畫者-尤其是要翻譯 GNU 軟體的訊息檔的人-必須要簽署一份讓渡著作權給自由軟體基金會(FSF)的棄權聲明書,並將此聲明以書面郵遞的方式寄至該會。一旦接受成為翻譯者,就能夠使用電子郵件提交翻譯檔案,通過「機器人程式」檢查格式之後,便可以直接更新翻譯訊息。
Yuan-Chen Cheng 長期以來擔任 TP 正體中文小組的組長,貢獻良多,在許多 GNU 軟體的訊息檔中都可以找到他的名字。自前一陣子開始,因為工作過於繁忙,開始尋找繼任的人選。經過了幾個月的時間,Wei-Lun Chao 表達有意願接下這個工作。Yuan-Chen Cheng 於 7 月 20 日在 zh-l10n 通信論壇公開提議交棒,而在 9 月 6 日正式向翻譯計畫管理者提出交接的要求,正體中文的 登錄網頁則在 9 月 12 日更新 Wei-Lun Chao 成為新的組長。
土虱大補湯
土虱大補湯是上一期新推出的專欄,報導本土自由軟體社群近來的工作成果,如軟體新版的釋出、軟體被主流 Linux 出版者收錄等等,本期報導對象是 OXIM 和 Gnome 的中譯。如果讀者自己寫了自由軟體,也歡迎告知編輯,土虱報報樂於報導台灣自由軟體的進展。
由 firefly 開發與維護的 OXIM 輸入法程式在 2006 年 9 月 1 日發表具有圖形設定介面的 OXIM 1.1.0 版。
由 firefly 開發與維護的 OXIM 輸入法程式在 2006 年 9 月 1 日發表具有圖形設定介面的 OXIM 1.1.0 版。
(設定圖片)
新版的 OXIM 設定檔(oxim.conf)更簡化了,而且更易於修改,如果你不習慣文字介面修改的話,這個版本更提供 GUI 介面讓你輕鬆修改相關設定!外觀酷似 Windows 上的新酷音,如果你不習慣使用 OpenSource 平台上的輸入法,OXIM 絕對值得你一試!
釋出說明
新增與修正部份:
- 全新的組態檔,便於閱讀修改。
- 新增的 QT IM MODULE。
- 新加入的圖形設定介面:
- 輸入法屬性設定。
- 字型設定。
- 快速片語設定。
- 從本機或網際網路安裝輸入法。
- 新的表格輸入法格式:
- 字根範圍擴大至所有ASCII 碼。
- 現在可以輸入詞句而不再只有字。
- 字根最大長度擴增為 255 個。
- 字詞長度最大亦為 255 個 UCS4 字元。
- 可轉換 gcin、scim、Open Vanilla 等…輸入法表格。
- 智慧型注音輸入法新酷音與詞音現在支援漢語拼音了。
- 符號輸入新增完整易經符號。
- 其他數十項的問題修正與效率調校。
外部連結
於 2006/3/29 正式進入 FreeBSD ports 的 OXIM (1.0.1),在 1.1.0 版釋出後, ports maintainer rafan 在 9/10 測試完成, port 更新到了 1.1.0 版,這個版本主要移除了 Qt module 和 GUI 的設定工具(而 ox...
於 2006/3/29 正式進入 FreeBSD ports 的 OXIM (1.0.1),在 1.1.0 版釋出後, ports maintainer rafan 在 9/10 測試完成, port 更新到了 1.1.0 版,這個版本主要移除了 Qt module 和 GUI 的設定工具(而 oxim 用到的某些檔案只有 Debian 的 package 中才有)。如果您之前有使用 oxim,可以用以下的指令來更新:
# cd /usr/ports/chinese/oxim/ # make all deinstall install clean
如果您有安裝 sysutils/portupgrade ,也可以使用以下指令來更新 oxim
# portupgrade -f zh-oxim
相關資訊請參考 FreeBSD 的 OXIM webcvs。
於 2006/10/5 更正
兩大自由軟體桌面環境之一的 Gnome 在 9 月 6 日釋出了 2.16 版,包含了 33892 條訊息可供翻譯。根據Gnome 分類列出的完成度統計,在全球 119 種語言的譯版中,有 56 種的翻譯完成度超過 60%,而正體中文部分,台灣和香港的完成度都是 99.27%!
話說...
兩大自由軟體桌面環境之一的 Gnome 在 9 月 6 日釋出了 2.16 版,包含了 33892 條訊息可供翻譯。根據Gnome 分類列出的完成度統計,在全球 119 種語言的譯版中,有 56 種的翻譯完成度超過 60%,而正體中文部分,台灣和香港的完成度都是 99.27%!
話說常常有人樂觀地說:「Linux 桌面成熟了,今年 Linux 桌面一定會爆發!」但是一年又一年過去,這仍然是「狼來了」。坐在辦公室的秘書、每天做上百萬元決策的總經理、或是家裡的阿公阿嬷,想要用 Linux 來完成事情,而不是製造麻煩,牽涉到的不只是技術的問題,還有習慣的問題、介面文字的問題、同儕文化的問題,顯然不是一蹴可及。
雖然如此,還是有許多幕後英雄,默默地貢獻一己之力,讓開放原始碼軟體越來越親近非資訊專業的使用者。熟悉的圖形介面文字是 Linux 桌面發展的重要一環,因為 I18N 的架構,使得程式開發和文字翻譯可以分頭進行,通常在軟體要釋出前,會「凍結」一小陣子,讓翻譯者可以更新譯文。一般而言,說中文嘛會通的開放原始碼軟體都是社群朋友貢獻自己時間的成果。
仔細看 Gnome 2.16 正體中文翻譯的統計,真正還沒翻譯的 90 條全部是程式庫的訊息,而桌面環境的訊息只剩兩條標示為模糊(沿用舊版但不確定仍然正確的翻譯),其他全部譯完。筆者要在這裡感謝並恭喜 Gnome 中譯團隊的協調人 Abel Cheung、Liao Chao-Hsiung 以及成員 Woodman Tuen、Walter Cheuk 和 Ching-Hung Lin。
據 Abel Cheung 表示,翻譯團隊各個成員的分工如下:
- 基本上花最多時間做正式翻譯的,相信是 Woodman,現時絕大部份都是他提交的。 - Walter 有提交一些 (GNOME 之外,KDE 也有),另外在研究詞語和格式的使用上面會提多點意見。 - John Lin 則是早期參加過,中間有一段時間讀書,不久前回來參與。 - 最後把關主要是靠 Chao-Hsiung Liao,他負責上傳翻譯。我是作為後備角色 - 正確點來說是大家互為後備。 - 我主要是做些厭惡性工作囉 :-) 管理 mailing list、web 等等,和一些對 gnome 官方的連絡。
Abel 自謙是在做些厭惡性工作,但這些一般社群朋友未必願意做的苦工,如果沒有像 Abel 這樣的人來做,整個團隊就會停擺,翻譯完成度就不可能這麼高了。
記者鼓勵在使用 Gnome 桌面環境的朋友,如果你有技術能力,找個你有興趣的軟體來改良,讓大家知道你的能力!如果你不會寫程式,沒關係,每個月花三個小時來幫忙翻譯,讓你的桌面持續用你最熟悉的文字和你互動,也是非常有意義的回饋!加入翻譯陣容的第一步,就是發個信到 Gnome 中文化的通信論壇,現在就開始吧!
活動佈告欄
SA@台北研討會:輕鬆吃起司蛋糕CakePHP 入門實做!與 PHP5 物件簡介
SA@台北研討會:輕鬆吃起司蛋糕CakePHP 入門實做!與 PHP5 物件簡介
大綱:繼上個月的 PHP 研討會後,相信很多人對於 PHP 有更深刻的了解,最後有提到的一些 Framework 相信有些朋友很有興趣,想知道是什麼樣的開發環境。
這次則藉由介紹 CakePHP 讓大家了解基本的網站MVC架構,以及網站的目錄結構分析,更會從頭開始教導大家如何安裝,建立一個基本的 CakePHP 開發環境,最後還要讓大家一起來用 CakePHP 實做一個新聞上稿模組,當中會應用並教導大家使用 Bake.php 來快速產生基本的程式架構。SAMC 新網站的架構也會藉此跟大家解說,因為 SAMC 新站就會是採用 CakePHP 所製作完成的唷~
而對於 PHP5 物件的了解與實做我們還會幫助大家重新 Review 一遍,讓不管上次研討會有聽到或是沒聽到的朋友,都能清楚了解 PHP5 跟 PHP4 在物件寫作上要注意的差別。
- 講師:Darkhero
- 時間: 2006年09月17日(星期日) PM 2:00 ~ PM 5:00
地點: 台灣科技大學-第三教學大樓 T3-305 室;台北市基隆路4段43號. http://samc.study-area.org/join.php
如何入門當 PHP 程式設計師?
如何入門當 PHP 程式設計師?
PHP 近年來逐漸強大,有越來越多的網站使用 PHP 語言來開發,目前若要從事網頁開發,免費又自由的 PHP 一定是首選的語言。
每年總是有些莘莘學子投身這個領域,要如何讓自己的基礎穩固,又或者如何穩紮穩打的邁向 "PHP 程式設計師"?
本月由 TnLUG 大家長之一的梁楓與您分享他的經驗,即使您讀過萬卷書,也難敵一個經驗談,知識的消化才能產生經驗,若您無法迅速消化知識,那如何快速體驗?那是本月研討會的精華!!
大步邁向 "PHP 程式設計師" 就從本月開始!!
主要鎖定目標:想踏進程式設計領域的初學者
主題內容重點:
- 如何學習 PHP
- 學習語法?學習思維?
- 取得證照於國內就業市場的初步分析
- 時間 : 2006 年 9 月 23 號 PM 2:00 ~ PM 5:00
- 主題 : 如何入門當程式設計師 - 由 PHP 講起
- 講師 : 梁楓
- 費用 : 0 -
- 地點 : 台南社區大學(公園路延平國中內) 2F 電腦教室
有親手打造過網頁的人,都知道要寫出滿足老闆/客戶/自己需求的 HTML 網頁絕不是簡單的事。您是否早就聽說過 CSS(Cascading Style Sheets)可以簡化網頁的設計,並大幅增加改變外觀的彈性,郤不知如何入手?您是否從網路上抄了一堆 CSS 檔回來用,郤改來改去改不出您要的效果?CS...
有親手打造過網頁的人,都知道要寫出滿足老闆/客戶/自己需求的 HTML 網頁絕不是簡單的事。您是否早就聽說過 CSS(Cascading Style Sheets)可以簡化網頁的設計,並大幅增加改變外觀的彈性,郤不知如何入手?您是否從網路上抄了一堆 CSS 檔回來用,郤改來改去改不出您要的效果?CSS 的說明文件是不是太難讀了?
今年的第十四場心得分享,將由 hlb 分享他鑽研 CSS 數年的心得,這是累積多年功力的結果,除了觀念說明和當場展示外,還有問答時間,常駐您心頭的問題,可以趁機問問享譽多時的 hlb 喔!
- 時間: 9/26 7:00pm - 9:00pm
地點: MixCoffee&Tea
- 講者: hlb
- 講題: CSS 網頁設計
- 大綱:
- web 2.0, things become possible.
- /* where are we? */ 個人網站購物、GTD、37signals、......
- CSS-P: 表格排版 → CSS排版
- (part 1: HTML)`
- what is table layout? grid system
- the good(解決問題), the bad(浪費), the worst(維護困難)
野豬大改造(clean up): DIY & HTML Tidy
CSS語法 & 參考資料 & 書籍
- benefit? less code → less bandwidth → $ saving! (part 2: CSS)
- one true layout (pie)
- DEMO: grids.css
semantic HTML & LSM
- CSS 求生手冊(survival guide)
- CSS1, CSS2, CSS Hacks, IE Behavior, Mozilla custom tag(?)
- partial implementation, HATE!
DocType & Browser Mode
- 337things. welcome to the real world!
- what is 'Browser Mode'?
- use HTML 4.01 Strict ( with XHTML mind )
Semantic HTML & Layered Semantic Markup
- 吃飽喝足談理想
- ideal world v.s. real world
- etc
JavaScript & DOM: so many libraries
- good javascript code
- microformats
- AJAX? pageview↓
- accessiblity
- web 2.0, things become possible.
來期預告
Ubuntu 的藍色死亡畫面會出現背後的原因究竟為何?哪裡出錯了?將由 Ubuntu 和 Debian 的高手在未來的【土虱報報】中為您解析。
Ping 的《三評軟自協》的第二評也將在下一期刊出,請關心軟體自由協會的讀者不要錯過了。
本新聞所顯示的商標均屬於各專案或公司所有。