Debian 8~10 (jessie~buster) 安裝筆記 Firefox 與 Iceweasel

Firefox 與 Iceweasel

2019-07-15 Debian 10 更新內容。Firefox 的商標問題解套了,所以 Debian 重新將 Firefox 瀏覽器納入主要套件清單,套件名稱為 firefox-esr 。 至於 iceweasel 則停止發佈。消息來源: The end of the Iceweasel Age

2016-03-18 更新內容。隨著 Debian Jessic 轉為 stable 版本,Debian Mozilla 團隊調整了儲藏位置。於 Firefox 釋出 45.0 版時,又再次調整了 source list 路徑與套件名稱。

Mozilla 將 Firefox 的圖標註冊為商標,並附帶了一些使用限制。而 Debian 團隊為了擺脫商標使用限制,選擇自行維護一個衍生版本,此即 Iceweasel 。參考 「Iceweasel - Debian wiki」。

對一般使用者來說, Iceweasel 和 Firefox 除了應用程式的圖示不同外,兩者並無差異。所有的擴充插件或主題全部一致,連使用者偏好同步(Sync)功能都用相同的伺服器。

Debian 8 於 2015 年 4 月 25 日正式釋出。 Debian 8 安裝筆記請看「基礎篇」。

PHP框架 - CommonGateway JSON 處理之自動回傳

在「CommonGateway 初步第二篇 - JSON 的處理與資料上傳」說明了 CommonGateway 對於 JSON 資料的處理辦法。根據早先的規則要求,客戶端若想要取得 JSON 文件,則應送出需求標頭 Accept: application/json 。而 CG 收到此需求時,會自動載入和控制項方法同名的 JSON 視圖 (.pjs),例如 index.pjs, get.pjs 。而這些 JSON 視圖的內容,往往只有一行 echo json_encode($xxx); ,如「CommonGateway 初步第二篇 - JSON 的處理與資料上傳」範例所示。

這樣的視圖內容實在太空泛了。如果我有好幾個控制項都這麼回傳 JSON 文件的話,我就要複製改名好幾個這樣的 .pjs 視圖。這工作的重複性太高了, Don't Repeat Yourself 。根據 DRY 原則, CG 在 r62 擴充了視圖處理規則,增加一條自動回傳 JSON 文件的規則。如果客戶端要求傳回 JSON 文件但設計者未建立視圖時,CG 會自動調用 json_encode() 回傳資料模型(model)。在我的使用經驗上,九成的 JSON 視圖 (.pjs),其內容都只有一行 json_encode($model) 。故將此規則寫入 CommonGateway ,減少空泛又重複的 JSON 視圖文件。

PHP框架 - CommonGateway 控制項動作函數回傳狀態碼的作法

CommonGateway 是我設計的一個 PHP 迷你框架。主要用於實作 RESTful API ,兼差網站設計。

在 CommonGateway 初期版本,如果你的控制項方法成功執行但不需要回傳資料文件時,你的方法應回傳 false ,讓 CG 不必繼續處理視圖工作。但這項要求違反一般函數的慣例,因為回傳 false 通常表示動作失敗。而在本文描述的情況中,你的控制項方法實際上成功了,卻要回傳 false ,語意有重大矛盾。

仔細探討 HTTP 和 CGI 規範,當一項客戶端要求圓滿完成時,至少要回傳一個表示成功的狀態碼標頭,例如常見的 “Status: 200” 。而 CG 實際上也是這麼做。當控制項方法正常地回傳 false 時, CG 視為控制項成功執行但不必載入視圖,並默認回報客戶端狀態碼 200 。

我的源碼的 Github 搬移記錄

今年3月13日,我收到一封來自 Google Code 的電子郵件,它通知我 Google Code 要停止服務了。

Earlier today, Google announced we will be turning down Google Code Project Hosting. The service started in 2006 with the goal of providing a scalable and reliable way of hosting open source projects. Since that time, millions of people have contributed to open source projects hosted on the site.

But a lot has changed since 2006. In the past nine years, many other options for hosting open source projects have popped up, along with vibrant communities of developers. It’s time to recognize that Google Code’s mission to provide open source projects a home has been accomplished by others, such as GitHub and Bitbucket.

真是麻煩啊。幸好還有一年的時間可以轉移。我花了30分鐘慎重評估 SourceForge 和 Github 後,我選定 Github 放置我的源碼。理由嘛,它沒有廣告。因為我打算把以往寫的程式統一集中在一個儲存庫,而不再分案放置,所以我沒有使用 google code 好心提供的匯出到 github 功能。不過我是個懶人,所以就一項一項慢慢搬囉。

下列為已經搬移的項目:

樂多舊網址: http://blog.roodo.com/rocksaying/archives/44117276.html

樂多舊回應
未留名 (#comment-25313208)
Thu, 16 Apr 2015 17:54:08 +0800
支持!

從太陽花眾之作為,看言論自由與私權之三例

我看了新聞報導 拆成大「招牌」學生將二審 林飛帆斥:荒謬 之後,我也覺得很荒謬。毀損財物和言論自由可以混為一談,真是鬼扯。林飛帆說「台灣社會過去一直提倡捍衞言論自由,其實距離百分之百的言論自由還有相當大的距離,還非常遙遠」。嘿,確實如此。例如他自己就離言論自由的精髓還很遙遠。

去年三月,發生了一連串的學生運動。包含林飛帆在內的參與者自稱為「太陽花學運」。我就借用這個名字,稱他們為「太陽花眾」吧。

政府推動免費 4G 上網的事

關於「台北市政府推動免費 4G 上網」的新聞。真是不懂技術。雖然柯文哲幕僚總是宣揚自己有很多「婉君」支持,但那些婉君的網路知識還真是三流。畢竟只是一群為我等軟體設計師所制訂之規則制約之人。

  1. 台北市政府自己要設一個 MVNO 電信網路,才能讓台灣 5 家 LTE 電信商的用戶可以漫遊方式連接。但得要讓用戶知道如何切換電信網路。否則在訊號範圍內有多個電信網路時, SIM 卡總是優先選擇自家的網路。
  2. 漫遊如何計費? 亞太電信和台灣大哥大漫遊的技術性擴展頻段動作,就被 NCC 警告了。
  3. 如果不用漫遊方式,那使用者得有兩張 SIM 卡,其中一張是台北市政府發的 LTE SIM 卡,到台北自己插上。雙卡手機可能省不了麻煩。因為大部份雙卡手機只有一個 SIM 槽支援 LTE ,另一個只支援 3G 或 2G 。難道你會在台北市以外的地方,只插 3G SIM 卡嗎? 還有一招,自己買一個 LTE 無線分享器插台北市政府 LTE SIM 卡,然後用 WIFI 分享給自己的其他裝置。但這最後還是要用 WIFI ,不是脫褲子放屁嗎?
  4. 嫌 WIFI 慢,所以改 LTE ? 無線訊號雖然看不見,但還是有頻寬的物理限制。免費使用,大家擠爆,誰也快不了,最後還是慢到爆。台北免費 WIFI 慢,就是因為免費啊。
  5. 最後還是要說一句,政府官員,不論是民選還是考試,都沒有成本概念。建置 LTE 不用錢的喔?就算是用稅金,表面上是全體台北市民共同負擔,但實際上只有買得起 LTE 裝置的人才能用。揭開公眾的面紗,就是剝削買不起 LTE 裝置的低下階層小平民的稅金,補貼給拿 LTE 裝置的人免費用 LTE 資源,加深數位落差鴻溝。
樂多舊網址: http://blog.roodo.com/rocksaying/archives/37919397.html

樂多舊回應
touhonoob@gmail.com(路人) (#comment-25259218)
Fri, 23 Jan 2015 03:03:47 +0800
Apple已經推出了通用SIM卡Apple SIM http://www.bnext.com.tw/article/view/id/34201
未來手機其實是朝向無SIM卡的方向發展
如果正面看待這是個有前瞻性的想法
未留名 (#comment-25259581)
Fri, 23 Jan 2015 17:15:56 +0800
通用SIM只解決了第3點。
前瞻性?這想法不夠前瞻。
前瞻性的想法,應該是把方案重點放在我列的第4、5點。

D-Link 模擬器 - 網管人員的好玩具

網管人員了解 D-Link 路由器的好玩具,在 Google 搜尋列,輸入下列關鍵字:

??? site:http://support.dlink.com/emulators/

??? 代入任一想了解的 D-Link 路由器型號,例如 dir615 。只要搜尋結果的網址資訊是 "support.dlink.com/emulators/???/" 的話,打開那項搜尋結果,就會看到路由器設定畫面的模擬操作器。設定功能模擬器的帳號密碼都是 admin 。

有很多路由器的功能,從它的產品包裝上的宣傳文字根本看不出個所以然。但在設定畫面中都能看出來。 D-Link 明明提供了這麼好玩的設定模擬器,為什麼在 D-Link 官方網站的網頁上,都找不到進入的連結呢?

樂多舊網址: http://blog.roodo.com/rocksaying/archives/37401620.html

樂多舊回應
xcojad@gmail.com(Jason Chiang) (#comment-25320685)
Thu, 07 May 2015 12:17:34 +0800
謝謝分享實用的資訊!!

Lenovo Miix2 8 ~ 一台平板、兩個螢幕、三種用途

我買了一台 Lenovo Miix2 8 吋平板,希望它能同時滿足三種用途。

用途一、就是平板。

用途二、配上鍵盤,當成筆電。同時要能充飽平板和手機的電池。

用途三、配上大尺寸電腦螢幕,當成桌上型電腦的主機。使用 USB 擴充底座 (Dock) ,外接螢幕、硬碟、有線網路。

這三種用途是為了老媽的需要。我希望找一台設備就同時滿足以上三個要求。老媽出門就是平板或筆電,回家插上底座就是桌上型電腦。一個主機、一套系統,從頭用到尾。這樣我就不用教她各種不同作業系統的操作方式,她也不必常常跑來問我這功能怎麼用、或是如何把照片從 A 設備傳到 B 設備。

PHP curl post file

日前跑一個 RESTful 服務舊案以 PHPUnit 設計的測試案例,發現有一些上傳檔案到 RESTful 服務的測試項目總是失敗。檢查程式後,發現問題出在測試案例的 curl 程式碼。

一直以來,用 PHP 的 curl 函數上傳檔案時,只需要啟用 CURLOPT_POST 選項,再於 CURLOPT_POSTFIELDS 的欄位值中,以 @ 標示檔案路徑, curl 就會自動幫我們處理讀取檔案內容並上傳給遠端的工作。參考 PHP 透過 HTTP POST 方法上傳資料與檔案給 RESTful 服務

但根據 PHP 線上使用手冊的記載,在 PHP 5.5 版之後,基於安全理由關閉了這項功能。要改用函數 curl_file_create() ,參考 PHP Manual: curl_file_create。原因很簡單,因為 curl 並不能區分你是真的要上傳檔案或是剛好輸入了一個開頭是 @ 字元的字串。如果你設計了一個用 curl POST 上傳資料的程式,又允許使用者輸入資料欄位,那麼駭客就可以故意填上 @/etc/passwd 讓 curl 將主機上的帳號清單傳出去。

日本旅遊,行動上網常見預付卡(Prepaid SIM)列表 - 2015-07-01更新

我整理了以下行動網路預付卡(Prepaid SIM),都不具通話和簡訊功能,只有上網功能(數據傳輸)。

  • So-net Prepaid LTE SIM (2015-03-18更新)
  • YOKOSO JAPAN SIM 日本7天上網 (2015-03-03新增)
  • BIC SIM JAPAN TRAVEL SIM PREPAID PACKAGE
  • T-SIM Prepaid SIM (2015-01-19更新)
  • b-mobile 台灣 VISITOR SIM (2014-11-10更新,已停售)
  • OCN Prepaid SIM for JAPAN (2014-11-20更新)
  • J Walker SIM (2015-07-01推出)
  • 遠遊卡 (2015-07-01推出)

現在連遠傳都推出國外遊旅預付卡,以後在國內可購買的產品種類也會愈來愈多吧。

日本 Prepaid SIM 流量與速率限制

本文列出的行動網路預付卡(Prepaid SIM),都不具通話和簡訊功能,只有上網功能(數據傳輸)。

日本的行動網路計費不流行「無條件吃到飽」方案,廣告說的不限流量或吃到飽方案都設有條件限制。例如早先的 b-mobile U300 就是指最高速率 300kbps 限制 (平均每秒 30KB)。

最常見的吃到飽方案的條件限制是單日不限速門檻,例如 1 天 100MB 的不限速門檻。這個門檻是說,只要你在 1天內使用的資料流量超過 100MB ,就會加上 200kbps 或 128kbps 的速率限制,每天零時恢復不限速率狀態。

想要全程享受高速傳輸的話,就要選固定資料流量方案,幾天幾GB這種。

因應 bash shellshock ,直接移除 bash 也是建議事項

關於 bash shellshock 的漏洞風波愈演愈烈,一波未平一波又起。好像有補不完的完全漏洞。關於這件事,我任職公司也有討論過因應之道。因為我任職公司屬於系統整合商,按照公司的產品性質,我給出的建議處置方式是「直接移除 bash」。

事實上, bash 只是一般使用者登入後使用的命令列介面。但大部份 shell script (指令稿) 的預設解譯器不是 bash ,而是 /bin/sh 。包括 PHP/Python/Perl 以 system() 呼叫外部指令時,也是如此。 /bin/sh 是 ash/dash 的符號連結,這個輕量型命令列介面並不受此 shellshock 影嚮。

在準系統或嵌入式系統中,為了追求輕量化且沒有讓使用者登入之必要性,實務上大多僅安裝 dash 或更輕量的 busybox

香港佔中,民主必須在民族之上

中共在香港特首選舉制度中,加上候選人必須「愛國、愛黨」的集體意識認同資格,進而引發了日前的香港佔中運動。在我看來,佔中運動的訴求本質就是民族不應淩駕在民主之上,民主必須在民族之上。舉凡愛國、愛黨、愛台灣或愛XX這類想像的集體意識訴求,其本質都是強將個人約束在集體意識之下,妨礙自由意志與民主運作。

Protests in Hong Kong © Patrick Chappatte, The International New York Times.

上圖來源: Protests in Hong Kong © Patrick Chappatte, The International New York Times。泛民主派與親中派正好象徵本文提及的兩種不同訴求。重視普世民主價值的一方,以及重視中國意識價值的一方。

BENQ GW2450-F 不閃屏螢幕使用心得

月初時,趁著某店出清展示品時,買了一台 BENQ GW2450HM-F 螢幕回來,打算放在公司用。因為公司之前配的螢幕壞掉了,只剩下 20吋 TN 面板的舊螢幕可用。我也不想再忍受 TN 面板了,幹脆自掏腰包買一台來用。

BENQ GW2450HM 先後出了三種型號。最早型號會閃屏(LED PWM 調光)。第二代型號則換成不閃屏背光(LED DC 調光),型號尾數加 -F 。第三代型號則是不閃屏加低藍光,型號尾數加 -FL 。參考其他人的評測文章,第二和第三代的面板與不閃屏背光規格都相同,只是第三代多了一顆直接切到低藍光模式的按鍵。我買的是第二代,但我不用低藍光,所以使用上與第三代相同。

農民跨縣檢舉餿水油事件反應地方封建狀況

前陣子爆發的餿水油事件,大家對這篇《獨家專訪 文盲農 勇揭餿油》新聞應該不陌生。老農向屏東地方政府檢舉四年,當地政府幾無作為。最後是連跨數縣,跑到台中市報案才破案。

在我來看,除了食安問題,這件事還反應了一個法治體制的問題。本地官吏不抓,要跨縣找外地人來辦。頗有明清時期封建社會的感覺。

Debian 8~10 (jessie~buster) 安裝筆記 中文環境篇

我在「基礎安裝篇」就提到我安裝 Debian 時,預設的 LANG 是 C 或 en_US 。就算裝了桌面軟體套件,也全是英文訊息介面,也沒有中文輸入法。所以接下來就要說明如何安裝正體中文語系環境。包含下列項目:

  • 中文語系基本套件
  • 選擇語系環境
  • 中文輸入法: ibus, hime, fcitx
  • 字型字體

Debian 10 於 2019-07-06 正式釋出。

Debian 8 於 2015-04-25 正式釋出。

Debian 8~10 (jessie~buster) 安裝筆記 基礎篇

Debian 10 於 2019 年 7 月 6 日正式釋出。

Debian 8 於 2015 年 4 月 25 日正式釋出。

我習慣安裝簡單環境,所以總是先安裝基礎套件,並設定預設語系為 en_US 或 C 。安裝完成後,再利用套件安裝工具,安裝視窗與桌面環境。所以我會仔細列出我裝了什麼工具及其用途。一般人或初學者就按預設方式安裝吧。

安裝基礎套件,並完成第一次系統啟動工作後,在 apt repository 中加入 contrib 和 non-free 組別。

本篇說明與安裝下列項目:

  • KDE 與 GNOME3 的外觀風格
  • 安裝精簡型 KDE
    • 必要套件
    • 選用套件
  • Flashplayer 音效輸出
  • Firefox 與 Iceweasel
  • 手機與 MTP
  • gnome-commander 與 konsole

最近更新日期: 2019-07-15 。

其他安裝筆記:

2014 IBM 開發者大會高雄場記事

9月2日,我參加了 2014 IBM 開發者大會,高雄場。副標題「開發速戰,行動速決!」。Innovate 2014 <Innovate@SPEED>。

我連續幾年都參加了 IBM 開發者大會,這幾年的內容趨勢大概都了解,於是今年本來想偷懶,不去了。但八月中收到郵件通知竟然開了高雄場。難得在地辦了一場,就又報名了。今年就不用去台北了。不過比起台北場,高雄場的議程有所簡化,只有一間會議室,一組議程。不像台北還分成A,B組。人數也少許多。我目測現場大約有五十人左右吧。我以往到台北參加時的人數大約有三百多人。

蘭嶼(達悟)應該獨立自主

上星期蘭嶼要建立7-11超商的事,竟然可以吵到頭版新聞,實在令我莫名奇妙。當時我就想蘭嶼應該獨立。我週末從台北參加 COSCUP 2014 回來後,才知道後來又扯出蘭嶼違建的事。真是夠了。

蘭嶼的前途由蘭嶼人民決定。

COSCUP 2014 遊記

今年的 COSCUP 2014 ,我照樣用源碼開發者身份提早拿到入場券,不用去推票亭。報到方式又進化,變成四根感應門柱,掛著識別證從門柱中間走過去,再拿過大會手冊小袋子就好。

COSCUP 2014 手冊與識別證