顯示具有 中文版特稿 標籤的文章。 顯示所有文章
顯示具有 中文版特稿 標籤的文章。 顯示所有文章

2015年10月18日

摩茲人歡慶《軟體自由日》 活動直擊

窗內窗外的 Foxmosa

(English version 閱讀英文版)

每年的軟體自由日,都是 MozTW 成員齊聚一堂的時刻。我們曾經在這天舉辦 Code Rush 電影放映會Summit 行前會翻譯松 …等許許多多的活動。

今年的 9/20,我們趁 Windows 10 上市之際,大舉前進台灣微軟,一同歡慶軟體自由日。不但同時推廣 Firefox、認識微軟的開源平台、聽聽市面少許非 Webkit 引擎的 Microsoft Edge 瀏覽器開發功能,還讓大家小小體驗了一下 SUMO / Amara 翻譯。

與微軟合作舉辦「軟體自由日」活動,是非常有趣的體驗。他們曾經是我們的最大敵人,卻也是現今在網路自由與開源運動上的最強盟友。

以下就跟著我們一起直擊活動現場吧!

摩茲人歡慶軟體自由日 - 微軟的自由軟體 3

Software Freedom Day 2015

分享時間

活動的第一部分是分享時間,由 Irvin、BobChao 及台灣微軟的 Eric 分享以下數個主題。

完整錄影:

開場、MozTW 與軟體自由日介紹

Firefox「開箱影片」放映

Microsoft 的開放原始碼軟體 (Eric)

Firefox OS Add-on 介紹 (BobChao)


Edge 的開發者功能 (Eric)

Firefox 的最新功能 (Irvin)


投影片由 小B 製作

Firefox for Win 10 系列影片:

  • 如何變更 Windows 10 的預設瀏覽器
  • 在升級 Windows 10 時保留你偏好的設定

摩茲工寮 (BobChao)

蛋糕時間

第一部分結束後,大家一起享用了特製的 Foxmosa 主題蛋糕。

Software Freedom Day 2015
Software Freedom Day 2015

翻譯工作坊

活動的第二部分是分組的翻譯工作坊,大家分成 SUMO 補助說明文件與 Amara 影片字幕兩組,各自貢獻了一個小時的翻譯活動。

SUMO 小組現場

摩茲人歡慶軟體自由日 - SUMO Sprint 3
翻譯進度文件:SUMO Article for SFD 2015

Amara 字幕小組現場

摩茲人歡慶軟體自由日 - Amara 字幕工作坊 2
翻譯進度文件:2015 SFD Sprint

尾聲

活動的最後,就是每次都不可或缺的抽獎與合照時間了!

IMG_6597
IMG_6601

最後要感謝活動的工作人員與 45 名參加者、提供場地及協助錄影的台灣微軟、支援現場攝影的 Macpaul、Othree、alexsh 以及 Community Marketing 計畫的預算支援。

附錄

作者 / Irvin
授權 / 創用CC姓名標示-相同方式分享4.0國際 授權條款

2015年7月17日

Showing off Firefox in HKOSCon 2015

編按:MozTW 共七位成員於 6/26~27 參與 HKOSCon 2015 香港開源年會,並在現場設置 Mozilla 攤位,本文為 Yao Wei 的第一手報導。我們也將於 8/15~16 於中研院舉辦的 COSCUP 2015 擺攤,並展出與香港年會中相近的內容,歡迎大家前來參觀。

MozTW team @ HKOSCon2015 #FoxYeah

HKOSCon is an annual open source conference in Hong Kong, similar to COSCUP in Taiwan. This year it took place in HKSTP (Hong Kong Science and Technology Park). Our booth was in a glass corridor connecting the food court and the conference building. It was a brilliant idea to set up booths in the corridor, where people working in the science park may walk through it for lunch.

MozTW booth @HKOSCon2015
MozTW booth @HKOSCon2015

In our booth, we promoted Firefox, and Mozilla in general — an organization focus on freedom of choice, open standards and privacy. To accomplish this, we have a physical version of the #FoxYeah campaign which began right before HKOSCon. We have boards printed with reasons of using Firefox, and asked people to pick one they like most and take a picture with it. However, attendees tend to be shy in front of cameras; we had very few people who are willing to take a picture other than staffs.

Also, we showed off Firefox OS, one of the major projects in Mozilla. We let visitors know the potential of web technology by using our devices. Especially, as the mobile market is overly saturated, some people ask us what else Firefox OS can be applied into. We reply with the FxOS-powered UHD TV which just hit the market, and the ongoing Web of Things experiments from Mozilla Japan.

The booths along with us featured some interesting projects:

Sammy Fung, the organizer of the conference, had a lightning talk session talking about the history of open source conference in Hong Kong, and we believe the renaissance of open source movements in this place has just begun.

You can see more photos from the tag on Flickr.

Author / Yao Wei
License / CC BY-SA-3.0 TW

2015年6月15日

摩茲動手做(四)幫 Firefox OS 修 Bug 的第一步

摩茲動手做系列許久不見,第四集終於來了(三年了!)。本文的作者是交大資工的 Yu Wen Pwu 同學。Yu Wen Pwu 本學期以「幫 Firefox OS 修 Bug」,作為他的大一服務學習課程內容。短短幾個月的時間,已經送了 6 個 Patch,也有三個 Merge 了!

幫 Firefox 修 Bug 不分年齡與經驗,歡迎大家一起來挑戰各式各樣的 Good First Bug。(歡迎大專院校老師們一同來推動,以貢獻自由軟體作為服務學習課程,請聯繫教育部自由軟體推廣中心


Firefox OS 所有的 bug 都是在 Bugzilla@Mozilla 平台上管理的。因此,第一步當然是先到 Bugzilla 認領一個您想修的 bug (建議從簡單的 good first bug 開始)。或者,您也可以在 Bugzilla 上建立一個新的 bug。

接下來,有一些前置作業要完成。請先在 GitHub 上 fork 它所屬的 repository,例如 Firefox OS 的前端 Gaia:mozilla-b2g/gaia。接著請回到您的本地端,執行以下指令:

$  git clone https://github.com/username/gaia.git
$  git remote add upstream https://github.com/mozilla-b2g/gaia.git
$  # check if you have added 'mozilla-b2g/gaia' as 'upstream'
$  git remote -v

每次開始修 bug 之前,請記得從 upstream 抓取更新,使您的本地端 repository 保持在最新狀態。請執行以下指令:

$  git remote update
$  # do not use 'git merge upstream/master'
$  # use the following command instead
$  git rebase upstream/master

然後就可以開始修 bug 囉。為了維持簡潔明瞭的 commit log,您應該將所有變更提交為單一一個 commit。您可以參考以下指令:

$  git add filename
$  # your commit message should be in the following form
$  # Bug id - Description of your patch r=reviewer
$  git commit -m 'your commit message'
$  git push origin master

再次提醒您,如果您提交了超過一個 commit,請務必將其合併為單一一個 commit。您可以參考以下指令:

$  # show the commit history
$  git log
$  # n: the number of commits you want to squash
$  # please replace 'n' with any positive integer
$  git rebase -i HEAD~n
$  # into interactive mode
$  # step i. replace 'pick' with 'squash' except for the first line
$  # step ii. modify commit messages
$  git log
$  # now you should see n commits combined into a single commit

最後,請至 Mozilla 的 GitHub repository 提出 pull request。同樣地,pull request 的標題必需符合 "Bug id - Description of your patch r=reviewer" 的形式。這時系統應該會自動為您在 Bugzilla 上新增一個 attachment,其檔案名稱即為該 pull request 的網址。請在 attachment 上指定 review flag 給相關負責人。

負責人檢查過您提交的程式碼後,請到 Bugzilla 為該 bug 新增一個 keyword "checkin-needed",讓系統自動處理您的 pull request。現在就只要等候您的 pull request 被 merge,然後再前往 Bugzilla 將該 bug 的 status 變更為 RESOLVED FIXED,就完成囉。

如何測試 Firefox OS?

Firefox OS 的架構分為:Gonk > Gecko > Gaia。Gonk 是系統核心,以 Linux Kernel 為基礎。而 Gaia 則是 Firefox OS 的前端,完全採用 HTML、CSS、JavaScript 等網頁程式語言來撰寫。要測試 Firefox OS 最簡單的方法是直接在 Firefox 瀏覽器上模擬。您只要開啟 Firefox,點選右上角的開啟選單 > 開發者 > WebIDE,選擇一個 Runtime (若選單中未出現 Firefox OS,則需先安裝一個 Firefox OS 模擬器),就可以直接執行 Firefox OS 囉。

原文 / 網頁設計微筆記: 12.5 參與 Mozilla Firefox OS 開發的流程
作者 / Yu Wen Pwu
授權 / 創用 CC 姓名標示-非商業性-相同方式分享 4.0 國際 授權條款授權

2014年4月21日

Firefox 圖示、頻道與最新瀏覽器歷史海報

過去我們曾與大家分享瀏覽器發展簡史 (2006、2009)Firefox 釋出頻道 (2012) 兩份海報。隨著網路發展進入新的時代,Firefox 在去年獲得了最新的圖示,而我們也製作了這些文宣品的更新版。

以下三張海報,在過去一年的實體活動中都已亮相過,在此也與大家分享。歡迎有興趣的朋友們按照各自的 CC 授權自由取用、印刷與推廣。

(如果各位有興趣使用 AI、GIMP、Inkscape 協助製作更多文宣,歡迎在此自投羅網喔!

Firefox 與瀏覽器發展簡史

2013 Firefox 與瀏覽器發展簡史

CC: BY-NC-ND 3.0 TW 授權;PDF (AI) 原始檔

(2009 年版 PDFPNG;2006 年版 PDFPNG

Firefox 更新頻道

Firefox 版本更新頻道Firefox 產品發佈時程

CC: BY-SA 3.0 TW 授權;PDF 檔:版本更新頻道產品發佈時程

Firefox 圖示演進

Firefox 圖示演進

CC: BY-SA 3.0 TW 授權;PDF (AI) 原始檔

φ Irvin 編輯

2013年11月13日

Firefox OS 遊戲:Age of Barbarians

隨著 Firefox OS 手機在各國陸續上市,Firefox Marketplace 也開始出現各式各樣的 App 嘍!今天由 Ernest 為各位介紹一套塔防遊戲。

Firefox Marketplace 上一部分的 App,也可以透過 Android 與桌面版的 Firefox,安裝在 Android 手機與電腦上,歡迎大家一起來去 Firefox 菜市場逛逛。


這幾天在測試 Firefox OS手機,抓了幾個小遊戲下來玩。儘量找了離線也可以玩的小遊戲,這樣在沒有網路的時候(例如交通時間沒有網路訊號之類的)也可以殺殺時間,在零碎時間也可以使用 Firefox OS 手機。下一個目標也許是找找可以離線閱讀的工具。十二月的目標想要測看看旅行是否也適合帶 Firefox OS。

好的,回來今天的主題,一款簡單輕鬆有趣的塔防遊戲「 Age of Barbarians」。剛剛找了一下才發現,原來「 Age of Barbarians」有上 Week 5 的 Firefox OS App of the Week



從 Marketplace 安裝之後,可以在桌面上看到 Age of Barbarians的圖示。點選之後進入遊戲主地圖,類似關卡地圖,一關一關解開之後前往下一關。我已經手癢玩了幾關。(然後再換頁後卡在某一關,所以就跑來寫分享文轉換一下 XDD)


遊戲的設定算是很基本的塔防,依照關卡等級不同,會有不同的敵兵通道入口,左上角的關卡任務卡會顯示這一關總共有幾波攻擊,攻擊到來之前在左下角會有的倒數時鐘提醒你。


在關卡中,玩家可以在地圖上指定的位置建造防禦性建築物,來抵禦外侮。隨著關卡的晉級會有不同的建築物可以選擇,最一開始只有射箭塔。被殲滅的敵軍會換算成分數(或是錢),然後可以用得到的分數,再蓋下一個建築物,或是升級現有的建築物。


另外畫面的右下角有一本魔法叔,可以施放地域性(可惜不是地獄性)的魔法,最一開始被解鎖可以使用的魔法是 SLOW SPELL,選用魔法後要用手指點選施放地區,畫面上會出現一個封印,但別想太多,時效很短 :p 算是無魚蝦也好等級的魔法吧 XD


這是遊戲中的畫面,也就是我卡關的關卡,哈!從左上角可以看到這一關總共有 10 波攻擊,以及我剩下 1 條命 :p 沒有守住的敵軍,走到我方軍營本部裡頭,玩家就會少一個愛心。基本上,我應該是很認真在遊戲快要結束的當下努力截圖,哈。


選用魔法會出現簡單的說明。


點選螢幕某個地方,即可施放魔法!

Age of Barbarians是由 DoubleDuck所製作的 Mobile HTML5 小遊戲。簡單易懂殺時間。推薦給大家玩 :-)

大家如果有在 Firefox OS Marketplace看到不錯的小遊戲,歡迎留言推薦給我殺時間 :p (雖然時間也沒有很多可以拿來殺 XD)

也歡迎大家參觀「Firefox OS 正體中文交流區」跟更多同好一起討論與分享 :-)
作者 / Ernest
授權 / 創用CC姓名標示-相同方式分享 3.0

2013年6月19日

Firefox OS - 客製化手機的最佳方案

Firefox OS 是今年 Mozilla 最具話題性的產品。以目前行動系統市場分布的情況來看,Mozilla 為什麼會想投入行動市場?Firefox OS 挑戰 Android 及 iOS 的優勢在哪?本文就由 Firefox 校園大使 Dayo 為大家簡單分析。

Firefox OS 與 App 的開發資訊可至此查閱,各位狐迷也歡迎參加每週台北與基隆的 MozTW Lab 聚會,現場均備有開發者預覽機可以親手把玩喔。

親愛的,我把 Web 通通變成 App了

開發 Firefox OS App,並不需要像寫 iOS、Android 應用程式一樣,得重新學習 Native App 的寫法。只要俱備 HTML、CSS、JavaScript 的 coding 能力,就可以動手開始開發。此一開放特性是在於 Firefox OS 系統架構上,即具備 Firefox 瀏覽器的 Gecko 引擎,因此「任何有手機版的網站,Web App 都是 Firefox OS 的 App」,因為 Firefox OS 在系統核心 (kernel) 之上即是 Firefox 所使用的 Gecko 引擎。在這種架構下,開發者不需再針對 Firefox OS 重新開發一個 Native App,因為在 Firefox OS 中,Web App 就是 Native App。

對開發者來說,要兼顧各個平台的相容性是一大噩夢。有時除了 Web、Mobile Web 外,還必須顧及 iOS、Android、Windows Phone 等各家平台互不相通的原生 App 架構與硬體規格。對於較晚進入市場的 Firefox OS 來說,以開放標準提供系統運行、程式的開發平台我認為是相當明智的選擇。

HTML5 效能大解放

Mozilla 以 Gecko 瀏覽器引擎來試圖打造行動作業系統並不稀奇,因為 Google 的 Chrome OS 也是如此。究竟為何兩個瀏覽器大廠都試圖開發以瀏覽器引擎為核心的作業系統呢?

因為 HTML 經過 20 多年發展至 HTML5,已足夠作為開發完整的應用程式之用,除了透過 CSS,在設計 UI 上更為簡易方便外,Mozilla 開發的一系列 Web API,還能讓 JavaScript 程式完整運用,並存取各項硬體功能。現今的網路應用程式早已如同桌面應用程式一般強大,以 web 引擎來打造 OS 已不再是天方夜譚。

Firefox OS 除了對於 HTML5 有最完整的支援,更強化和硬體溝通的能力,讓 JavaScript 程式能直接存取方向、靠近、光感、地理資訊……等等各種感應器資訊,以及存取藍牙、Wifi、NFC、檔案系統、相機及音樂資料庫之外,還另外針對通話、簡訊、通訊錄等手機特殊的功能設計出相對應的 API。Firefox OS 目的是讓 Web 成為最大的平台,而非要取代 HTML5 或其它相關技術。

客製化手機,不讓 Facebook Home 專美於前

以前陣子話題性十足的 Facebook Home 為例。Firefox OS 的潛能並不只有在 App,甚至可以輕鬆打造「專屬手機」。從 Firefox OS 的架構來說,如果 Facebook 以 Firefox OS 打造 Facebook Home 的話,運作會更加靈活、有彈性、開發成本也能大為降低。

Firefox OS 可以讓前端工程師輕易打造出專屬於自家網站的手機作業系統,舉例來說:開機後直接連入網站、將使用者在網站上的好友作為通訊錄、拍照立即上傳到網路相簿等,讓自家網路平台和手機做最緊密的整合等都是可以簡單做到的事。例如:無名小站可以打造無名小機、Readmoo 可以打造 Readmoo 電子書機……等應用方式。Firefox OS 還能有什麼其他用途?一切盡由你發揮。

Firefox Marketplace 軟體商現身說法

以下是三間最早投入 Firefox Marketplace 的軟體公司的現身說法,歡迎大家使用 Android 版╱桌面版 Firefox 進入 Firefox Marketplace (marketplace.firefox.com) 下載使用。

φ Dayo 撰寫 / Irvin 編輯

2012年8月28日

摩茲動手做(二)用 Add-on SDK 寫簡單的 Firefox 套件

摩茲動手做系列是 Mozilla Links 中文版的特別企劃,本專題中將會有一系列如何貢獻 Mozilla 與開放網路的心得分享,歡迎大家在閱讀後按部就班,與我們一起動手實作,加入貢獻開放網路的行列!

第二集的分享者為 Browser Pairs(瀏覽器翻牌)遊戲的作者 WM,他將與大家分享如何透過 Add-on SDK 動手撰寫一個簡單的 Firefox 套件。

編按:本文著動在擴充套件本身的程式邏輯,關於可線上擴充套件開發網站 Mozilla Add-on Builder 及用來離線開發擴充套件的 Add-on SDK 使用方法,可先參考 WM 的以下兩篇文章,及本文末的介紹影片:


之前用來解說 Firefox Add-on SDK 的範例 NOWnews Onepage 雖然很有挑戰性,但用到了底層 API 好像有些太複雜了,其實 SDK 作者群也有提供簡單的範例放在 Builder,不過這次我要分享的是 SDK 開發文件在改版前的示範套件,並加上一些修改讓它實用化。

這次打算做一個直接在頁面上顯示字典查詢結果的功能。

首先在 Add-on Bar 上用 Widget 模組顯示圖示按鈕:

var widget = require("widget").Widget({
   id: "kimo",
   label: "奇摩字典",
   contentURL: data.url("kimo.ico"),
   panel: panel,
   onClick: function() {
  panel.contentURL = "http://tw.dictionary.yahoo.com/";
   }
});

指定當觸發點擊事件時,在彈出的 Panel 中載入字典首頁,而 Panel 模組的宣告則是:

var panel = require("panel").Panel({
 width: 680,
 height: 550,
 contentURL: data.url("loading.html"),
 onHide: function() {
  panel.contentURL = data.url("loading.html");
 }
});

當 Panel 隱藏時,把內容改為顯示載入中的頁面,這樣在目前的查詢結果還沒載入完成前,使用者就不會看到上一次的查詢結果。

最後一個用到的模組 Context Menu,就是最重要的文字選取後右鍵查詢選項:

var menuItem = contextMenu.Item({
 label: "奇摩字典",
 image: data.url("kimo.ico"),
 // Show this item when a selection exists.
 context: contextMenu.SelectionContext(),
 // When this item is clicked, post a message back with the selection
 contentScript: 'self.on("click", function () {' +
  '  var text = window.getSelection().toString();' +
  '  self.postMessage(text);' +
  '});' + 
  'self.on("context", function () {' +
  '  var text = window.getSelection().toString();' +
  '  if (text.length > 20)' +
  '    text = text.substr(0, 20) + "...";' +
  '  return "奇摩字典: " + text;' +
  '});',
 // When we receive a message, look up the item
 onMessage: function (item) {
  panel.contentURL = "http://tw.dictionary.yahoo.com/dictionary?p=" + item;
  panel.show();
 }
});

設定 context 為當選取文字時才顯示,並在 contentScript 中描述當有文字被選取時改變選項文字,還有選項點擊後的查詢動作。

就是這麼簡單,這樣就完成了一個實用的擴充套件!

原本還想把字典顯示頁面清理一下,但目前要對 Panel 裡面的外來頁面調樣式還挺費工的,不過可以參考之前的這篇 Yahoo!奇摩字典去廣告稍作處理。

由於是簡單的實作,未來有機會再加上自訂與新增字典種類的功能。
這次的成果原始碼一樣放在 Github,想直接安裝來試試的,也可以在附加元件裡找到:Dictionary Panel


以下是兩部 Mozilla 針對 Add-on Builder 的簡介影片及 Step-by-step 套件製作教學:


Firefox 的最大特色就是五花八門的套件,讓每個人的 Firefox 功能都很獨特。
如果您也有撰寫套件的經驗,歡迎在留言中與我們分享你的作品!

φ 原文 / WM 撰寫,Irvin 編輯

2012年2月25日

摩茲動手做(一)如何幫 Firefox 抓蟲

摩茲動手做系列是 Mozilla Links 中文版的特別企劃,本專題中將會有一系列如何貢獻 Mozilla 與開放網路的心得分享,歡迎大家在閱讀後按部就班,與我們一起動手實作,加入貢獻開放網路的行列!

第一集的分享者為 W3C HTML5 中文興趣小組的 Kenny,他將與我們分享如何動手撰寫 Patch,實際投入修補 Firefox 程式的經驗。


八月底的時候柏強轉了我在 W3C 中文興趣小組發的《貢獻 HTML 規範的步驟(非常簡單,內含真實案例)》(編按:下集上映)。上個禮拜三(11' 10/19)清晨的時候,我繳交了我對 Gecko(Firefox 渲染引擎)的第一個補丁(後來想想看其實是人生的第一個補丁),然後再隔天得到了 r+, r=bz,所以仿照那篇我自己的文章,來寫一個 Gecko 的版本。首先講解一下:

r+ 是指通過 review(怎麼翻?審核?)的補丁,之後 land 之後就會成為 Mozilla 整個大程式碼庫的一部分。r? 就是要求審核,r- 是審核不通過。r=bz 是指審核的人是 bz,基本上是在 IRC 上的代號。

步驟(參考 MDN - How to Submit a Patch

  1. 找一個想解決的問題,上次我回 Toby 信的那篇給了幾個第一次貢獻 Mozilla 的推薦 bug 的連結。(編按:這些 [Good First Bug] 的 Bug 是 Mozilla 的工程師標示的,代表問題適合新手實作)
  2. (可選)如果這個問題不是從 Bugzilla 上找來的,去回報這個 bug。
  3. 努力看程式碼/寫程式碼直到在自己電腦上可以跑了。
  4. 廣泛測試
  5. 在該 bug 上提交補丁
  6. 找審核的人
  7. 根據審核的人講的話改補丁
  8. 請有程式碼庫權限的人 commit

真實案例

  1. 在翻譯 + 註解 CSS2.1 怎麼處理 'display: table-*' 的章節的時候,發現到程式碼裡面有一個邏輯明顯不合規範。有機會我再在中文興趣小組的郵件群講好了,老實說這個問題恐怕正常人一生都不會碰到,不過反正不合規範也不跟 IE 兼容所以修掉也無訪。

    (翻譯 + 註解計畫是中文興趣小組 HTML5 規範翻譯計畫的一個延伸,基本上就是把規範裡的一些部份直接用超連結連到代碼,這是希望未來對瀏覽器開發(Gecko 或 WebKit)有興趣的人可以直接看規範找到對應的的程式碼,快速進入可以開發的階段,算是一個一起累積看代碼經驗的計畫。雖然說這是一個延伸,不過我本來一開始目標就是這個。目前做 HTML5 規範翻譯的人只有我在做這件事,不過我有想要積極吸取對做註解也有興趣的人。)

  2. 因為是自己看代碼找出來的錯誤,所以就自己去報 bug,代號是 695538。我覺得一般來說這比較不太正常一點……我想從已有的問題下去解應該比較像是解決問題,畢竟規範也很可能是錯的。(真的真的有興趣的人可以去玩我報的那個 bug 裡面的測試資料在不同瀏覽器的不同,可能會被嚇到喔 xdd)

  3. 在做規範註解的時候的確花了很多時間看代碼,寫代碼反而花的時間非常少,才十行左右而已(加五行的註解)。其實到目前為止我的 C++ 經驗不到 3000 行,所以一般來說我不覺得程式語言是特別大的問題(也可能是我還沒做大修改的關係),看大型專案代碼的技巧倒是很重要,用 gdb 很有幫助。希望以後 Mozilla 有技術交流的郵件群的時候可以多交流一下。

    我在自己的電腦上改了之後,編譯一次過關、開啟 Firefox 看到自己做得測試資料過關的時候實在是 high 翻天了,但是再走兩步之後就當機了 xdd。後來改了一下當機的地方,基本上還是那十行。

  4. 早有耳聞 Gecko 有一種叫做 reftest 的測試 CSS 的方法,他的原理是比較兩個不同的 HTML,若渲染的結果的像素是一樣的就過關,以測試 CSS 的不同功能。知道是知道,跑起來還是蠻好玩的,他會開啟一個很奇怪的 Firefox 然後裡面就有一個視窗不斷讀取各個測試資料,所以會一直閃。我在裡面看到了幾次看起來像是中文的測資,以後有機會應該仔細看看那些裡面有沒有奇怪的內容 xddd

  5. 用 bugzilla 繳交補丁,我一開始是用 hg diff 的結果,後來被指導了一下,請看下面。

  6. 因為 CSS 工作組的郵件群中,bz 在 2009 年的時候一直計較這個十分無聊的章節。所以我知道這部份的審核找他就對了,而且我還蠻崇拜他的,恰恰好 xdd
  7. bz 把我的代碼從 10 行壓縮到 2 行,我一開始也有這樣想,但是覺得那樣好像慢了一點,寧可增加代碼的大小也不想拖累速度,不過他覺得 2 行的邏輯比較清楚,我基本上對 C++ 也不是很熟,反正我沒什麼意見就聽了他的話了。

    後來註解的英文錯有被挑掉,總之這裡重複了更改→上傳→審核了一次他就說:「這裡我有兩個註解上的建議,不過你用原來的也可以,改了之後就 r+。要不要寫 reftest?」基本上要求我聽他一個,另一個不聽,不過反正他也說都可以,按照 MDN 的說法我改好註解之後我就自己給自己 r+ 了(這裡好像有點小問題,不過不太重要)。

    然後他注意到我的補丁後面有一個 (First Patch) 的字樣,就跟我講說如果還不會 mq 就去學一下,我一開始還以為 mq 就是 hg,後來才知道 mq 是 Mercurial Queues,總之 MDN 寫的蠻好的,學起來沒什麼問題。補丁後來就是用 mq 做的。

    後來從我寫的測試資料裡抽了一個出來做 reftest。

  8. 我在 Keyword 加了個 checkin-needed,後來隔天專門 land 補丁的人就 land 了。

    (這個過程有點小插曲,因為 bz 已經說給我 r+ 了又問我要不要寫 reftest,我就以為我寫 reftest 不需要再審核了。事實上是需要的, 而且這個 reftest 我真的寫錯了 class="table" 寫成 cless="table" xddd 真丟臉)

心得

整個補丁提交的過程只花了兩天以內,基本上還蠻愉快的,而且 bz 這種高人還有注意到我是(First Patch)並給了親切指點,有點開心。

幾個朋友應該知道我對瀏覽器標準的實作上很有怨念,雖然有參與過幾個 bug 的討論,也幫忙寫過測試資料,但是實際上只是我的第一個補丁而已。平常還是嘴砲太多了,罪孽罪孽,之後翻譯 + 註解規範的過程中發現了手癢想改的狀況會繼續努力的。

話說只有兩行的貢獻能不能拿 T-shirt 啊?不過不管怎麼樣如果大家到 Firefox 10 還繼續用 Firefox 的話就會執行到我的程式碼啦,有點爽 xdd 希望以後 Mozilla 也能指點社群成員走過這些步驟啦,有點像是我在 HTML5 中文興趣小組指點一下別人走過標準制定的過程那樣。期待 Mozilla 早一點有用中文討論技術的郵件群。(編按:Mozilla 中文開發者郵件群成立嘍!詳見文末)

HTML5 規範翻譯仍然繼續歡迎各位參加,歡迎私下聯絡或是加入 QQ 群 151145242(歡迎圍觀)。我們……還算歡樂吧,我有時後會不小心講太多真心話 xddd。

如果對瀏覽器實作有興趣的話也歡迎加入 IRC irc.mozilla.org#mozilla-taiwan 吧,不過人比較少,而且我應該還沒有到可以指導別人的程度,不過我想 thinker 應該可以,大家快去打擾他要求他指點指點吧!

Kenny


MDN 相關參考文件:Hacking FirefoxContributing to the Mozilla codebase

由於 Kenny 熱情提議與先前討論Mozilla 中文開發者郵件群組現在成立嘍!歡迎對 Firefox、Thunderbird 套件與 Gecko 核心開發、Mozilla 各程式專案有興趣的朋友加入,讓我們一起鑽研相關技術。

加入群組請至 lists.mozilla.org/listinfo/dev-general-zh 訂閱,記得發篇自介跟大家打聲招呼喔!(目前 Mailing List 在 Google Groups 上的封存頁面有點問題,大家可以直接透過 News 閱讀群組內過去的文章)

φ 原文 / Kenny 撰寫;Irvin 編輯

2012年1月16日

Mozilla 將提供 Firefox 延長支援版

Firefox 4 之後,Mozilla 的開發方式改為所謂的「快速開發週期」,每六週固定推出一個正式版。好處是大家可以更快在正式版裡使用到最新科技,但相對來說也有些新的問題要面對。先前提過的附加元件更新是一例,另外還有一個則是企業內部署 Firefox 碰上的困難。

一般來說,企業內要全面推行某個軟體時,會先由資訊管理人員測試該軟體是否能正常與其他必備軟體合作運行,升級時也同樣要測試一輪,確保新版不會出什麼差 錯。但碰上了 Firefox 每六週更新一版的快速開發週期,雖然改版幅度不大,但在企業內測試的工作可少不了,這造成了不少麻煩。

為了回應企業單位資訊人員的需求,Mozilla 今天正式將討論已久的 Firefox ESR(Extended Support Release,延長支援版)方案定了下來。如前文所述,ESR 版主要是為了企業、公家機關、學校法人等組織而設,這類組織一般由資訊人員在測試後決定電腦軟體升級與否,因而常停用 Firefox 內建的更新機制。ESR 預定從月底推出的 Firefox 10 開始提供,玆列資訊管理人員會關心的重點如下:

  • Firefox 10 預計將有第一版的 ESR,與一般的桌機版 Firefox 將用不同的名稱區分,但使用相同的 GUID(若您的企業有自定的附加元件,就會用到)。
  • ESR 的版號會跟著當時推出的 Firefox 跑,例如目前計劃會用 Firefox 10 為基礎推出第一版 ESR,那版號也就是 10。
  • 依循快速開發週期,Firefox 每六週出一個新版,而新版中列為重大或高度危險的安全性修正,會補回當時支援的 ESR 版,並推出一個 0.0.1 版的安全更新。也就是說,Firefox 11 推出時,其中的重大安全修正會補回 ESR 10 版,推出 ESR 10.0.1。
    • 當然,依循 Mozilla 安全修補超快速的傳統,若有其他重大安全性修補,也可能不定期推出安全更新。
    • 但 ESR 版的更新並不會有新功能 -- 就單純是安全更新,以確保部署軟體的企業單位不必又為了新功能相容問題從頭測試一次。
    • 因為只提供重大安全更新,因此 ESR 版不建議一般個人使用者使用,Mozilla 也不贊成使用 ESR 版的單位自行散佈 ESR 版給大眾。
  • 每個 ESR 版的支援期間目前預定為 9 個開發週期(也就是 54 週)。支援到期前 2 個開發週期(12 週)將推出新的 ESR 版,中間重疊的時間可以讓資訊人員作為測試、部署的緩衝期。

一般的桌機版 Firefox 以及 ESR 版的推出與更新週期狀況,可以由下面這張表中看出來:

依據目前的計劃,第一版 ESR 將在 Firefox 10 時一起推出,並支援到 2013 年的 2 月;在 2012 年 11 月底時,將跟著 Firefox 17 推出第二個 ESR 版,並留下 12 週的緩衝期讓企業資訊人員決定是否升級到下一個 ESR 版,又或是更換為其他軟體。圖中還有一個重大訊息:Firefox 3.6 將在第一版 ESR 版推出的 2 個開發週期(12 週)後停止支援,屆時將建議所有使用者升級。以目前的計劃來說,就是 2012 年 4 月 24 日。

本文僅列出 ESR 的重點,建議企業資訊人員評估採用 ESR 版前,先行閱讀 Mozilla Wiki 上 ESR 計劃的完整文件,包括 Mozilla 安全更新的評估層級、ESR 版部署的注意事項等等,也歡迎採用 ESR 版的資訊人員加入 Mozilla 企業工作小組(Mozilla Enterprise Working Group)提供回饋,一起評估、討論 ESR 版所帶來的成效,作為日後改進的依據。

原文作者 / Mozilla Taiwan
授權 / 創用CC姓名標示-相同方式分享 3.0 版

2012年1月12日

火狐知識家:Firefox 更新後看 Youtube 會當機怎麼辦><”

近來有部分朋友在 MozTW 討論區反應,在更新 Firefox 9.0.1 之後,只要打開任何使用 Flash 的網頁,就會造成 Firefox 當機。這個問題不是每個人都會發生,原因也不明,只知道與 Flash 有關聯。

經討論區的網友實測後,發現暫時關閉 Firefox 處理 Flash 外掛程式的獨立執行緒機制,能有效防止這個問題,以下簡單說明步驟:

(適用於 Windows 及 firefox 4 以上版本,其他環境請參考此說明

  1. 在網址列輸入「about:config」,打開以下 Firefox 特殊設定網頁,並點選「我發誓,我一定會小心的」按鈕進入。

  2. 在上方的「篩選條件」欄中輸入「ipc」,並從篩選出的設定值中,尋找「dom.ipc.plugins.enabled.npswf32.dll」。
    如果找到了,請接著進行下一步,如果找不到,請跳到第四步。
  3. 請用滑鼠在該行點兩下,將值變更為「false」,並且將 Firefox 關掉再重新啟動,如此就完成了!

  4. 如果找不到上述設定,請先將「dom.ipc.plugins.enabled.npswf32.dll」複製起來,然後在畫面空白處按滑鼠右鍵,選擇「新增」→「真假(Boolean)值」。

  5. 在跳出的「輸入偏好設定名稱」對話框中貼上「dom.ipc.plugins.enabled.npswf32.dll」,按下確定。

  6. 在緊接著跳出的設定值中,選擇「false」,並按下確定。最後將 Firefox 關掉重新打開就完成了。

完成上述動作後,瀏覽 Flash 網頁時的當機問題應該就能暫時解決。


外掛程式更新檢查

Mozilla 提供了一個外掛程式更新檢查網站,能自動檢查所有已安裝的外掛程式,例如 Acrobat、Flash、Silverlight……是不是最新版。過期的外掛程式通常有著漏洞或當機問題,定期檢查、保持最新的版本,能讓上網更加順暢。

需要更新的外掛程式會以紅色按鈕顯示,只要按下按鈕,就會打開外掛程式的更新頁面供你下載。

立刻進行外掛程式更新檢查


開啟 Youtube 的 HTML5 影片播放功能

Flash 從 1996 年底釋出至今,超過 15 年來都是播放網路影片不可或缺的套件,但許多安全性、穩定性及效能問題也伴隨而來。根據Firefox 的當機資料統計顯示,外掛程式是 Firefox 當掉的主要原因,而其中 Flash 及 Acrobat (PDF) 又是兩大緣由。

為了徹底解決這個問題,最新的 HTML5 網頁規範中,針對播放影片新增了瀏覽器原生支援的「<video>」標籤,而 Youtube 也依此開發了 HTML5 影片播放功能,讓新世代的瀏覽器選用,當然最新的 Firefox 也在支援的行列中。

只要打開 YouTube HTML5 影片播放器頁面,拉到頁面最下方,點選「加入 HTML5 試用版」,就可以立即啟用 HTML5 模式。

今後在看 Youtube 時,就會發現電腦不再被 Flash 拖慢啦!

以 HTML5 的開放技術來取代 Flash 製作網頁,是多媒體網站的未來趨勢。希望能有更多網站盡早完成這個工程,如此上網將會更快、更穩定、更為安全。

相關資訊:


φ 作者:Irvin

2012年1月9日

火狐知識家:升級有好多套件不能用怎麼辦><"

今後 Firefox 升級套件不再不相容啦!

我們相信每個人都有其獨特的網路習慣,也值得擁有專屬的網路體驗。雖然大家從 Firefox.com 上下載的 Firefox 都是一樣的,但隨著日子一天天過去,你或許會更換個性面板、或是調整按鈕的位置,以便讓 Firefox 符合你的使用習慣;尤有甚者,還會從數以千計的附加元件中挑選配備,為自己家的小火狐加強實力。

不過附加元件好歸好,遇到 Firefox 版本升級時則總要折騰一番。每個套件都有其「相容」的版本號碼設定,而新版到來時雖然許多套件都能順利升級,但仍有部份久未更新的套件被系統判定為「不相容」而停用,造成大家對新版裹足不前。這問題困擾大家的程度,光用 Firefox、套件、相容三個關鍵字問 Google 便知。

這個狀況在 Firefox 調整開發節奏,進入快速循環模式後又再次被提出來討論,終於有個解決方案!從 Firefox 10 起,僅有已經被明確標示為不相容的套件,才會被自動停用;一般使用者終於不必再做任何事情,就可以沿用他捫心愛的舊套件了!不過畢竟 Firefox 升版號也不是升好玩的,有些內部的程式邏輯畢竟與舊版不同,甚至也確實會影響套件正常使用。如果你發現某個套件真的就不能用了,該怎麼辦呢?這時請使用 Mozilla 本家出品的 Add-on Compatibility Reporter,就能輕鬆告訴套件作者:這個套件壞掉了!在蒐集一定數量的回報資訊之後,Firefox 會將這個套件明列為不相容,你也可以因此幫助其他使用者確實抓出不能用的套件。


<Add-on Compatibility Reporter 執行畫面>

預設相容是 Firefox 討論已久終於實現的機制,很需要各位老手多幫忙回報套件的相容資訊。如果你還沒有裝,那現在就快去下載 Add-on Compatibility Reporter 吧!

原文 / Firefox 10 起,附加元件將一律預設為相容
作者 / Mozilla Taiwan
授權 / 創用CC姓名標示-相同方式分享 3.0 版

φ Irvin 編輯

2011年3月20日

TODAY ~ 4/10 MozTW SUMO 翻派對!

screenshot-sumo_2010_1125

TODAY ~ 4/10 MozTW SUMO 翻派對!

去年九月沒能參加到 SUMO Party 拿 T-shirt 的朋友們、很愛用 Firefox 瀏覽器、很想也來參一腳做點事情的朋友們,看過來看過來唷 :) 為配合 Firefox 4 的發表,以及 Firefox 4 Party,我們這次舉辦一個線上版的 SUMO 翻派對!讓有網路的你,輕輕鬆鬆就能參與這場盛事,還有機會拿到總部空運來台的 Mozilla T-shirt 或是 Firefox 4 Party 台北場免費入場票喔!

好,首先呢,我們先來說一下什麼是「SUMO」,然後給你一些小工具讓你馬上可以動手翻譯,最後我們會在 4/11 的 MozTW Labs in Taipei 時間公告得獎名單。

什麼是「SUMO」?

摘錄自「徵求超人義工!」:關於我們的一些小資訊。
Firefox Help,或稱為 SUMO (我們的這個暱稱是來自於我們的網址:SUpport.MOzilla.com),這裡不只是 Firefox 使用者們可以得到自助式的說明文件支援,也是來自全球各地超人志工的社群集散地。除了直接支援 Firefox 使用者之外,我們也與其他團隊合作無間,例如 品質保障團隊(Quality Assurance) 以確保各種新的狀況都有被文件記載,並且得以儘快與 Firefox 開發人員們一起修正這些問題,讓 Firefox 變得更好、更棒。凡走過必留下痕跡,歡迎參觀我們的團隊網頁
或是你可以試試:
在 Firefox 中點選選單中的「說明 (H)」-->「Firefox 說明 (H) F1」就會導向到 Firefox Help 的頁面囉 :)

SUMO 翻派對如何進行?

摘錄自「參與 SUMO 專案」的這份投影片:


整個翻譯的流程大致是:
  1. 挑一個還沒有翻譯成中文的英文文件、或編輯一個現有的中文文件使之與新版的英文版文件相對應(有些英文版文件會隨著版本演進而更新)。
  2. 翻譯成中文、或修訂中文文句內容(找錯字、順語句、修正)。
  3. 利用「預覽」看一下是否有需要再次調整的地方或語法。
  4. 按下「送出審核」,負責審核的志工會收到 email 通知。
  5. 負責審核的志工會「通過審核」讓文件上線或「退回翻譯」再做修改。
優先翻譯文章:
  • 優先翻譯的 20 篇文章:中文版
    • 有一些文件是於 Firefox 3.5-3.6 時代翻譯成中文,後來總部有做內容更新,也值得大家進去更新一下內容
  • 其他值得翻譯的文章:在地化主控台,最多瀏覽次數文章
    • 只要不是「綠燈」的文件都歡迎動手
翻譯時請多多注意這幾點:
  • 翻譯描述中的「標題」請翻譯成中文。
  • 翻譯描述中的「(blog網址裡的)自訂字串」請務必直接複製貼上原本英文版的 slug 字串。(不然系統在切換語系的時候會對應不到文件。)
  • 看到以下這種類型的文字,請不要修改其內容。(除非你新增了一些東西,例如新增了畫面截圖影像。)
    • [[Template:synckey-note]] 、 [[Image:Sync Setup 1]] <-- 方括號框起來的
    • {button Finish} <-- 大括號框起來的。「Finish」 這個字可以翻譯成中文版的用字。但保留「{button xxxxx}」的語法架構。
    • {for not fx4}{note} <-- 大括號框起來的
好奇全球 SUMO 與 MozTW SUMO 最新狀況?

以下這些資訊可以參考:
SUMO 翻派對:計分方式

完全公開的計分版:http://bit.ly/moztw-sumoTparty-dashboard
  • 2 points = Top-20 的文件:翻譯或修訂成符合英文版最新版
  • 1 point = Top-20 的文件:完成翻譯,但還未符合英文版最新版
  • 1 point = 任何一篇文章:使該文章從「非綠燈」狀態變成「綠燈」
  • 0.5 point = 任何一篇文件:抓錯字、順語句
獎品

截至 2011/4/10 結束,最高累積分數。MozTW SUMO Lead 不計入計分。
  • 第一名、第二名
    • 可獲得 Mozilla T-shirt 一件(因為總部寄來的數量與圖案不一,T-shirt size 或圖案不一定有得挑選喔~但一定都很精美!)
    • 免費入場 4/24 Firefox 4 Party。
    • 獎品將於 4/24 Firefox 4 Party 頒發,若不克出席將採寄送方式。
  • 第三名、第四名
    • Mozilla 神祕小禮物
    • 免費入場 4/24 Firefox 4 Party。
    • 獎品將於 4/24 Firefox 4 Party 頒發,若不克出席將採寄送方式。
  • 特別獎(不一定只採分數累計喔,還會參考其他參與項目)
    • 都說是特別獎了,一定是要更神祕的禮物囉 :)
    • 免費入場 4/24 Firefox 4 Party。
    • 獎品只在 4/24 Firefox 4 Party 頒發。
如果計分版上有漏記,怎麼辦?

大家都是志工,如果有漏記的狀況還請大家互相提醒囉。請直接丟信到 MozTW 的 Google Groups 郵件討論群組「moztw-general」。會有人幫忙補上 :)

其他

若有不夠清楚的地方,一樣歡迎在「moztw-general」 一起討論喔。參加 MozTW SUMO team 不需要報名,直接動手做翻譯、偶爾在討論群組跟大家聊一下最近做了什麼事情即可,很輕鬆愉快喔 :)

撰文:Ernest | 編輯:Toby

2011年3月11日

電腦玩物帶你動手玩 Firefox 4!



「電腦玩物」站長異塵行者,長期關注 Mozilla 專案,歡迎大家追蹤他的部落格!現在我們就跟著他的文章,體驗 Firefox 4 的全新瀏覽感受!

Firefox 4 搶先玩!如何利用Firefox 4中的釘選成應用程式分頁?


「App Tab」,把分頁當成一種應用程式,其實就是把某些網路服務當做你的「常駐軟體」。就好像電腦開機時會自動啟動的常駐程式那樣,在Web App日漸具有主力應用工具地位的今日,一上網就常駐某些web
app,想一想也是理所當然之事。 ...詳閱全文

Firefox 4 搶先玩!用 Firefox 4 分頁群組滿足6種高效率上網需求


如果說Firefox 4有什麼我覺得非常獨特的功能,那麼目前看起來大概就是不斷改名,從聽起來很有趣的Tab Candy,到感覺在尋求什麼意境的Panorama,還好現在中文版直接以最簡單明瞭方式來稱呼它的:「分頁群組」,也就是幫你的分頁進行分組。...詳閱全文

Firefox 4 搶先玩!10款限定 Firefox 4 專用獨享的優秀擴充套件


今天我想講一個更有趣的現象,有鑑於Firefox 4是一次「全新的設計」,所以目前也出現了很多「只能在Firefox 4上使用」的擴充套件,而且其中不乏優秀者,所以這篇文章,就是我挑選10款專為Firefox 4設計的擴充套件來與大家分享討論。...詳閱全文

更多關於 Mozilla Firefox 4 的新玩意…



Firefox 4搶先玩! 快捷鍵啟動Firefox 4內建老闆鍵偽裝功能!?
Firefox 4 RC 終推出!正式版將臨前說說喜歡的火狐四代優點?
FabTabs 分頁變色龍,幫你的 Firefox 4 塗上和網站相同的顏色
Firefox 4 Home Dash 2 純瀏覽實驗,玩玩看無框的火狐破格介面
DragIt 整合「滑鼠手勢」與「超級拖曳」的 Firefox 4 綜合套件
用Firefox 4、Google Chrome玩任天堂、Game Boy模擬器遊戲
Firefox F1 便捷社群分享按鈕介面大改良,現在只支援Firefox 4

本篇摘錄文章自電腦玩物,由異塵行者製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款釋出。

Toby 整理

2011年3月5日

來一起幫忙建立網路上的虛擬公園!

Tumucumaque 是巴西亞馬遜叢林當中的一個國家公園,同時也是 Firefox 4 的開發代號,Mozilla 和 Mozilla Japan 還有世界自然基金會 (WWF) 一起合作打造 Mozilla 虛擬公園,想透過網路好玩跟可互動的特性來展示這個國家公園當中的生物多樣性。

這個計畫會讀取 twitter 上所有加上 #mozpark 這個 hash tag 的推文當中的關鍵字來建立這個虛擬的公園,當使用者點下這些推文的時候就會在其推文之上出現花草樹木跟動物之類的生物。

這個虛擬公園使用了 Firefox 4 所支援的 HTML, Javascript 與 CSS 等技術,目前可以讀懂正體中文、英文、葡萄牙文、日文以及其他幾種語言,有興趣的人可以到 http://virtualpark.mozilla.org/docs/about/ 取得更多資訊。


撰文:Petercpg | 編輯: Bob

2010年5月20日

Breaking: Download Firefox nightly and try WebM!

如果你是個關心網路影音發展的開發者,那麼快去下載今天的 Firefox WebM nightly Builds 吧。

方才在 Google I/O 上,Google 終於確實做了大家期待他做的事情:開放 OGG Theora 的同門師弟「VP8」的編碼專利,成立 WebM 專案。目前有包括 Mozilla、Opera 以及想當然爾會相挺 Google 的一些軟硬體廠商為這項計畫站台,這很可能一舉終結目前 HTML 5 中 VIDEO 標籤的編碼大戰。



YouTube 已經開始提供 WebM 的 HTML5 版,首先以支援 WebM 的瀏覽器(例如剛剛請你快點去下載的 Firefox nightly trunk)開啟 www.youtube.com/html5 點選「Join HTML5 Beta」,搜尋影片的時候在網址後加上「&webm=1」即可。目前我還沒辦法測出來,但相信很快就可以玩玩。接下來等 WebM 的硬解晶片上場,我想這場小戰役就可以宣告終結了。財大氣粗有財大氣粗的玩法,看過富豪刑事的人一定很了解啊!


source: http://genta63034.exblog.jp/2922270/

不過還是真的要說句感謝咕狗大神,總算我們可以確保網路持續開放。

φ 撰文:BobChao,原文創用CC姓名標示—相同方式分享 3.0 台灣版條款釋出

2010年2月22日

CNNIC 根憑證事件:你該怎麼做?

This is the Chinese translation of article on my blog.

最近 CNNIC 根憑證事件鬧的很大,Mozilla 的 Bugzilla 也出現了 bug 476766 希望 Mozilla 能把憑證拿掉。我個人其實是贊成 bug 裡面反方的意見的:「innocent until proven guilty」,也就是無罪推定 —— 如果沒有人找到具體證據說 CNNIC 和背後的中國政府濫用這個憑證做攻擊的話,照現在各大瀏覽器供應商的政策,沒有理由不接受該憑證的。用白話文說,除非你看到下面的東西,否則到 bug 的討論串去再吵也沒有意義

示意圖:CNNIC Root 根憑證驗證了假冒 Google Analytics 的假網站的身分

但如果你真的看到的話,請立刻按「更多資訊」把憑證存下來。只要這種東西被發現,CNNIC 和它的憑證一定完蛋;這會變成年度網路第一大醜聞,中國政府也會一起信譽掃地。

在這之前你能做什麼

如果您還是對瀏覽器廠商的安全政策不放心的話,您可以停用自己電腦裡的根憑證。Mozilla 的安全政策我認為是 OK 的,但是它沒有讓使用者方便自由選擇是否信任憑證的好工具:那個該死的「憑證管理員」實在是太難用了。所以,我寫了一個擴充套件,幫忙完成「停用 CNNIC 根憑證」這件事:CA Untrustworthy。不過要記得這樣做會進不去那些身分由 CNNIC 驗證的真網站就是了。

如果沒這麼神經質的話,一位附加元件作者 Rex 寫了另一個工具「Cert Alert」,在發現網站身分是經由 CNNIC 確認時做提醒。看到提醒的時候,您可以用自己的常識判斷這個驗證到底有沒有問題 —— 說不定會發現像上面那張圖的那種假憑證。

撰文:timdream。此言論僅代表個人立場,不代表台灣 Mozilla 社群或是 Mozilla Links。

2010年2月9日

Firefox 發現有害套件?火狐是否不再安全?

(2/10 更新:Sothink Web Video Downloader 已確認是假警報,未含木馬並重新上架)


稍早不久前(2/2 日),Mozilla 從 Firefox 附加元件網站中,移除了一個內含 Windows 木馬的擴充套件「Master Filer」。從此事件中,或許有些人會覺得疑慮,Mozilla Firefox 是不是已經不再安全了?我們以較為安全的理由來推廣 Firefox,是不是已經失去其說服力?更甚之:Firefox 的安全神話是否已經破滅?


Firefox 本身的安全性

對我而言,答案是否定的。相較於市面上最普遍的 IE 而言,Firefox 的安全性仍然遠遠超出其之外,也不輸給其餘網路瀏覽器。我的兩點理由如下:


一、較高的漏洞修補率:上個月駭客透過 IE 漏洞入侵 Google 及其餘公司,導致 多國政府呼籲改用它種瀏覽器 的事件至今仍未落幕;而 Firefox 在 Secunia 公司弱點資料庫的修補率,包含 Firefox 3.03.53.6 皆為 100%(Opera 10Google Chrome 4 亦同 )在此同時,IE6IE7IE8 則為 83%、74%、56%。微軟已承認,此次事件中被使用的 IE 漏洞早在去年九月已發現,修補時程卻排到今年二月,此等疏忽令人無法相信。


二、原始碼受大眾檢視:Firefox 的開放原始碼開發模式,使得程式中每一行指令都能公開在陽光底下讓人檢視,漏洞與弱點更容易被發現,沒有一絲容許作惡指令的空間存在。相較於封閉原始碼的 IE 及 Opera 而言,我更相信其安全性。


套件的安全性

Firefox 最大的特色是透過擴充套件,提供各式各樣五花八門的新功能,如此的自由同時也伴隨著極大的風險而來。如果套件作者心存惡意,不但有能力把 Firefox 搞壞、偷得瀏覽器中你的私人資訊、甚至還能直接破壞電腦中的其餘檔案。


這同時也是使用其餘瀏覽器時,最令人擔憂的地方。試想,要是你用 IE 上網(KKman、PCMan 等使用 IE 核心的瀏覽器亦同),到某個你常去的網站,此時跳出「你必須更新瀏覽器元件,才能繼續瀏覽本網站:確定」,你會直接按下確定安裝嗎?這個訊息是真的嗎?其中被偽造的風險有多大?


在套件所帶來的這個問題上,Mozilla 透過了附加元件網站的驗證與人工的審核,來替大家把關。


當套件作者上傳新的套件或者新版本時,Firefox 附加元件網站會自動進行 12 項測試,包含了一般驗證、在地化測試與兩組安全性測試,包含:不安全 JavaScript 測試、不安全設定測試、遠端 JavaScript 測試、常見函式庫 Checksum 測試、標記程式碼片段、Geolocation 檢查、Conduit 工具列檢查等安全性方面的測試。如果套件中夾帶了已知的有害程式碼、或者因為作者的疏忽導致程式有一些已知的不安全問題,在這一步就會被阻擋下來。(測試過程如下圖,詳細的說明在此


Firefox 附加元件網站:上傳自動測試

當上傳的檔案通過這些自動測試後,才能完成上傳動作,成為元件網站的「實驗中套件」。您在安裝這些實驗中套件時,都需要先勾選「讓我安裝這個實驗中的套件」,意義即表示:雖然這個套件已經通過自動測試,但是仍未經過人工檢查程式碼;你最好確定套件作者足以信任。


此次被抓到的兩個惡意套件,從 Google 頁面存檔看來(),就都還是實驗中套件。雖然它們躲過了自動檢查程式,而上到 Firefox 元件網站,但這個檢查程序的弱點,附加元件網站已經完成修正,提昇掃描的能力,也針對網站上的所有套件重新進行了完整測試。


在 Firefox 3.5 新增的附加元件管理員中,可以直接搜索套件並安裝,但無法搜索到實驗中套件,理由也一樣,能避免使用者不慎安裝到可能有問題的套件。


Firefox 附加元件網站:套件送交核准

當「實驗中套件」要提昇為正式套件時,套件作者必需先提出申請,接著會有審核者人工檢查其程式碼,確認是否符合公開的條件,包含:已經實驗一段時間、有得到使用者的意見回應、程式碼中無惡意或間諜程式、套件功能不違法、不涉及色情……等(詳細審核項目說明),當審核者確定套件的確是無害且安全無虞的,才會批准其申請,而這個過程每次上傳新版時,都要重新進行一遍。


我個人寫的套件 PlacesCleaner 收藏庫清潔工,第一版從申請到成為正式套件大概花了兩個月,最近幾個更新也都需時一兩個禮拜,每次的審核者都有所不同,也同時確保了審核的品質。


因此,我敢如此說明:如果你從 Firefox 附加元件網站 或附加元件管理員中安裝(非實驗中)套件,都是安全無虞的,也不會有遇到此次這種惡意套件的機會。除非你是從其他網站(論壇、套件作者個人網站)手動下載並安裝套件,才會有危險性。我認為這種從非官方網站安裝套件的動作,能免則免!


瀏覽器元件安全性

Firefox 3.6 中新增了一項功能,在更新時會檢查常見的瀏覽器元件(Plugin)版本,包含了 Flash、QuickTime、Silverlight、Java……等常見元件。如果所使用的版本過舊,檢查頁會顯示出來,建議你下載更新。這些 Plugin 為非 Mozilla 的其他廠商所寫,雖能增添 Firefox 的影音支援等功能,但也常常包含了不少安全性漏洞與錯誤,有時也會造成 Firefox 的當機等問題。例如 Flash 9 釋出至今三年多,也已修正了數十個漏洞,因此隨時保持 Plugin 更新,也是維持上網安全重要的一環。(前往 Firefox Plugin Check 頁面


結論

針對此次 Firefox 有害套件事件,我所提出的建議是:使用 Firefox 本身的附加元件管理員,或者在 Firefox 附加元件網站 安裝套件;除非您信任該作者,否則請不要輕易安裝實驗中套件;除了 Firefox 附加元件網站及管理員外,不要透過任何其餘網站手動下載並安裝套件(包含 MozTW 的論壇),如此即可享受各式各樣 Firefox 套件的功能,同時將擴充套件伴隨的風險降到最低。


下載與安裝 Firefox 時,請認明 Mozilla 官方網站MozTW抓火狐網站。除非確認安全,請避免使用各式非官方版的 Firefox。雖然我們推薦大家升級到最新的 Firefox 3.6,Mozilla 仍會持續提供 Firefox 3.5 及 3.0 的安全性更新。Firefox 3.0 以下版本已經進入停止支援狀態,請儘速升級到 3.0 以上版本。


使用者上網瀏覽時的安全性,是 Mozilla 最重視的一環(另一環是開放標準)。每次 Firefox 的更新都會針對安全性進行提昇:Firefox 2.0 的詐騙網站偵測、3.0 的「海關男」網站識別資訊、3.5 的隱私瀏覽模式、3.6 的過期 Plugin 偵測等,在在都強化了安全性並提昇隱私保護。


針對 Firefox 本身的漏洞與弱點,Mozilla 公司與全球的程式設計師,都會在發現的第一時間儘速修補、並釋出安全性更新。因此我敢以 Mozilla 全球社群的一份子、MozTW (Mozilla Taiwan) 成員、Firefox 擁護者及開源軟體愛好者的身份向您保證:使用 Firefox 上網的安全性,仍是毋庸置疑的!


請安心使用,並祝瀏覽愉快。


延伸閱讀:

Security Issue on AMO « Mozilla Add-ons Blog
ZDNet Taiwan - Mozilla 示警 移除有毒外掛
iThome online : 不肖人士利用 Firefox 散播廣告程式及木馬
Mozilla Links 正體中文版: 世界各國相繼建議別用危險的 IE,你換了嗎?!
T客邦 | IE有漏洞事件讓 Firefox 和 Opera 下載量大增


φ 撰文:Irvin,原文創用 CC 姓名標示-非商業性-禁止改作 3.0 台灣授權條款 釋出

2009年12月11日

用 Thunderbird 3 玩 Google

Thunderbird 3 有非常方便的帳號設定功能,只要在一開始的精靈畫面輸入比較知名的電子郵件帳號服務提供商 (例如 Gmail),就自動幫你把該點該選的通通準備好了。不過呢… 如果只是這樣,那或許你跟我一樣會撞到一些牆,這邊分享一些設定上的經驗,也順便再度介紹即將現身的 Lightning 1.0。

如果你是信件數要用 G 當單位來計算的 Gmail 老用戶,那使用 Thunderbird 3 幫你設定 IMAP 之後可能會遇到幾個問題:

a. IMAP 好像沒用,收不到信?

請到 Gmail 設定的「轉寄和 POP/IMAP」裡確定已經有打開 IMAP 的選項。如果已經開了,或許代表你身處一個會阻擋這類連線的網路環境中 (例如公司…)?

b. 為什麼好像硬碟一直在跑…

有很多原因:

  • 在預設值中,Thunderbird 會把「所有」的信件都收回來電腦裡當個快取 (這快取真大…),所以如果你是老用戶,想像一下 4G 的信件在空中飄…
  • 由於 Gmail 的特殊 IMAP 實作方式,每一封信都有可能有不同的「分身」出現,例如一封信剛寄到的時候就會同時在「[Gmail] > 所有郵件」以及「收件匣」裡出現;要是設定過自動上標籤的話、還會有更多分身,因此即使信件總量是 4G,實際上要收的可能是 5G 或甚至 8G 的信…
  • Thunderbird 3 的搜尋功能大躍進 (非常值得一試),代價是為了製作搜尋索引要耗掉不少硬碟空間。以我的 4.7 G 信件為例 (在 Gmail 裡這樣顯示,實際上因為前一點的關係,可能不止),整個索引結束後 Thunderbird 個人設定檔資料夾佔去了 18G 的空間 —— 你沒看錯,就是十八基嘎。我後來有做點動作讓整體空間下降到大約 6G (等下會說明),如果經常需要搜尋信件、或許這是值得的,只是一開始硬碟頻頻亮燈就免不了了…

要跑多久?主要看網路速度而定,有得等了!還好這期間還是可以用 Thunderbird 來收發信,只是「搜尋」無法找到所有信件而已。

c. 我遇到了「Account exceeded bandwidth limits. (Failure) 」訊息,然後無法收信了?

其實這才是我寫這篇的原因,如果你還沒有開始用 Thunderbird 來收 Gmail IMAP 的信件,建議先看完這段。

剛說了 Thunderbird 會把所有信件都下載下來,那很容易在使用不久之後就碰上 Gmail 自己對 IMAP 設的流量限制了。遇到這個問題後,會有數小時到將近一天的時間無法用 IMAP 收信。

這個時候你什麼都不能做,只能回去用 Gmail。

有沒有解法?目前沒有很好的方法,不過我在網路上搜尋到一篇文章提供了一個不錯的意見:有些人 (例如我) 在存取 IMAP 時,並不需要「所有郵件」跟「收件匣」之外的任何資料匣 (也就是標籤),那為什麼不把他們隱藏起來呢?這樣可以大幅減少信件往來耗費的頻寬,且既然可以用搜尋方式找到任何想找的信件,那「資料匣」的必要性就降低很多了。

在 Gmail 實驗室裡就有「進階 IMAP 控制項」,首先將其啟用:

接著到設定中的「標籤」一頁,我只勾「收件匣」、「寄件備份」、「所有郵件」及「垃圾桶」,其他全部取消。

這麼一來日常使用中與主機之間訊息來往的機會就會稍微減少一點,「可能」也比較不容易撞壁。


請參考 fauzty 對這點的看法,刪除郵件部份我還沒有驗證但他說的應該是對的、資料匣的部份看各人的習慣如何。

d. 我把寄件備份跟垃圾桶那堆也都取消了!

那… 你可能會發現信寄出去時老是卡住,因為本來 Thunderbird 想存放寄件備份的位置被關掉了 XD 刪除郵件倒是還可以用,不過在 Gmail 那邊會多出現「[imap]/刪除的郵件」這種標籤。有兩條路可選:

  1. 把垃圾桶跟寄件備份打開
  2. 調整 Thunderbird 存放郵件的資料匣

第二種方法要到「編輯 > 帳號設定」 (在 Windows 跟 Mac 上應該是 「工具 > 帳號設定」) 去,點選左側面板 Gmail 帳號下的「備份與郵件匣」一項,把 IMAP 中已經隱藏、信件該丟到本機資料匣的東西都選好即可。 (例如下圖中的「草稿」跟「範本」就是存在本機資料匣。)

「垃圾桶」的設定則在「伺服器設定」一項,一樣是看你 IMAP 有沒有把垃圾桶隱藏起來而決定要放到哪兒去。

e. 好,信件沒問題了,可是 Gmail 的連絡人資料不會一起過來…

那… 就用 gContactSync 把它們叫過來吧,裝完以後在「通訊錄」的選單中可以設定啟用,目前要同步的通訊錄名稱請用英文設定。

f. 我想要有 GMail 實驗室裡的「Google 日曆小工具」

那麼你需要的是 Lightning 套件,也就是 Mozilla 行事曆軟體 Sunbird 的「Thunderbird 雙鳥整合版」。安裝後就可以在 Thunderbird 旁顯示接下來幾天的預定行程,加上 Provider for Google Calendar 就可以輕鬆與 Google 日曆同步!

在 Thunderbird 3 裡,Lightning 的行事曆將以分頁的方式呈現,操作起來比以往更直覺些,搭配 Provider for Google Calendar 也支援直接設定以簡訊方式提醒行程。唯一的缺點是目前還沒有給  Thunderbird 3 用的「正式版本」,你得自己安裝 Lightning 的逐日建置版 (Nightly,每天都會更新的超級測試版) 才行,這畢竟還是測試用的、在這邊就不提供連結了,有興趣的可以等 1.0 版正式出爐,屆時應該也會放入由 Sun Microsystem (以及包括小弟在內許多早期貢獻者) 協助完成的中文語系。

φ 撰文:柏強 (原文另以創用 CC 姓名標示—相同方式分享 2.5 台灣版條款授權大眾使用。)

2009年10月30日

Jetpack 加持,用 JetWave 閱讀 Google Wave

Jetpack 的套件好用易寫,我 (柏強) 最近也花了很多時間在上面。要寫 Jetpack 套件只需要 JavaScript 與 HTML 相關知識,雖然 Google 達人 ericsk 覺得 JavaScript 不是個「簡單」的語言,不過對我自己來講、「簡單」代表的是肉腳如我也可以隨便寫出點東西來,我們這種人是不會要求自己太多、或者要把什麼東西寫得太好太複雜的 ;) JetPack (及 Google Chrome 的擴充套件架構) 就蠻適合我們這些平常只碰網頁設計、會點 JavaScript 的人。在這邊介紹一下我的實驗作品 —— JetWave。

JetWave 是簡單的 Google Wave 檢查套件,安裝後會在狀態列上顯示收件匣內的新訊息數目,點擊後則可前往 Google Wave 查看新訊息。除了狀態列外,如果發現有新訊息,你也可以看到 Jetpack 側邊欄的 Google Wave 圖示向你招手 (見下圖),點選後便能開啟 Wave 清單、方便閱讀。

JetWave with sidebar opened

安裝 JetWave 前當然得先擁有 Jetpack,接著只需按下安裝頁面上的「Install Jetpack」就可以了,記得要先勾選安裝鈕上方的「Let me install this unreviewed Jetpack.」

如果你正好是會點 JavaScript 的人,建議你可以看一下 JetWave 的原始碼 —— 我並不專精於程式設計,但相信看了後可以大概了解用 JetPack 快速寫個 Jetpack 套件 (或說「feature」) 的方法,希望可以看到更多有趣的 Jetpack 功能出現。

JetWave 目前寄生於 Mozilla 開發中的 Jetpack 套件中心 (Gallery)。Jetpack 套件中心的地位有如 Personas Gallery 的發展目的,是在新式的佈景主題 (與擴充套件) 架構尚未內建前,另外開設一個棲身之所、讓想分享的人有處可去。由於 Firefox 3.6 即將內建 Personas 功能,所以 Firefox 附加元件網站也新僻 Personas 的佈景主題區,相信未來內建 Jetpack 架構時也會比照辦理。


φ 撰文:柏強