力量與雅量 -- 人生智慧

艾森豪將軍曾有個參謀,經常與他意見相左,看法迥異。

有一天,這位參謀決定請辭。

艾森豪問他:「為什麼突然要走呢?」

參謀老實地回答:「我和你常意見衝突,你大概不喜歡我,與其等著被你開除,還不如我另謀出路算了。」

艾森豪聽後很驚訝,說:「你怎麼會有這種想法?如果我有個跟我意見一模一樣的參謀,那麼我們兩人當中,不就有一個人是多出來了的嗎?還有什麼意義呢?」

最後,艾森豪把參謀給勸留下來。

中國人造字頗奇妙,「包容」的「容」,底下硬是加上了個大大的「口」字,彷彿叮嚀著世人:要接納不同意見、不同的聲音、不要只會杜絕眾口,否則將失去許多寶貴的觀點與見解。

一個人會否成功,關鍵不在「力量」,而在「雅量」!能理性、冷靜地聆聽那些不同於己的意見將決定日後的成就。

圖片來源:越榮軒

將 Ubuntu Linux 的桌面選單改造成跟 Mac 的 Dock 一樣有特效與動畫(使用 Unity Tweak Tool 與 GLX-Dock 教學)

這裡介紹如何將 Ubuntu Linux 的 Unity 桌面選單改造成跟 Mac OS X 一樣,有很炫的放大特效與動畫。

現在的 Ubuntu Linux 桌面預設都是使用 Unity,因為設計上似乎不是很好用,很多人都很詬病,這裡教大家如何使用 Unity Tweak Tool 與 GLX-Dock 這兩個工具,將你的 Ubuntu Linux 桌面改造,變得跟 Mac OS X 一樣好用。
Ubuntu Linux
以下是安裝與設定的教學。

不猶豫與不後悔 -- 人生智慧

印度有一位知名的哲學家,天生一股特殊的文人氣質,不知迷死多少女人。

某天,一個女子來敲他的門,她說:「讓我作你的妻子吧!錯過我,你將再也找不到比我更愛你的女人了。」

哲學家雖然也很中意她,但仍回答說:「讓我考慮考慮。」

得理,更要饒人 -- 人生智慧

一位高僧受邀參加素宴,席間,發現在滿桌精致的素食中,有一盤菜裡竟然有一塊豬肉,高僧的弟子故意用筷子把肉翻出來,打算讓主人看到,沒想到高僧卻立刻用自己的筷子把肉掩蓋起來。

一會兒,弟子又把豬肉翻出來,高僧再度把肉遮蓋起來,並在徒弟的耳畔輕聲說:

「如果你再把肉翻出來,我就把它吃掉!」

徒弟聽到後再也不敢把肉翻出來了。

宴後高僧辭別了主人。歸途中,徒弟不解地問:

「師傅,剛才那廚子明明知道我們不吃葷的,為什麽把豬肉放到素菜中?徒弟只是要讓主人知道,處罰他。」

提高伺服器系統與資料庫擴充性(Scalability)與效能(Performance)的方法(二)

避免累積太多的 Technical Debt

Technical debt 是指一個專案或程式開發工作在真正完成前,所有應該做完的工作,如果一個專案中所累積的 technical debt 太多而沒有適時消化,到最後這個專案就容易出現問題,甚至可能因此終結。

這裡舉個簡單的例子,在一般的專案的發展過程中,有時候程式設計師會有一些新的想法,這時候他會想要在程式中加入這個新的程式,但是因為程式還在開發,很難一次把所有該更新或改寫的地方一次補齊,例如當程式加入一個新功能時,卻沒有更新對應的說明文件等等,而這些說明文件以及其他該更新的地方,就是常見的 technical debt。

這時候如果很不幸的,原本這個開發團隊因為某些原因離開了,專案交由令一個團隊繼續開發,那些新增之後卻沒有文件的功能就是個大問題,新團隊要花費更多的時間搞清楚它是什麼,如果它裡面還有 bug 的話那就更慘了。

Technical Debt

提高伺服器系統與資料庫擴充性(Scalability)與效能(Performance)的方法(一)

Slow Traffic – Penguin Crossing
擴充性專家 Sean Hull 整理了幾項對於系統擴充性(Scalability)與效能(Performance)的致命傷,如果你的系統或程式想要有好的擴充性,請避免這幾種狀況。

不要用 RAID 5 與 Multi-tenant EBS

硬碟是伺服器中一個很基本的硬體設備,而它與伺服器的整體效能息息相關,縱使現在記憶體價格低廉,你可以在伺服器上裝載非常大容量的記憶體,藉以提升系統的執行速度,但無可避免的,系統還是常常需要從硬碟讀取資料或將資料再寫回硬碟中儲存,因此硬碟在伺服器的效能(performance)與可擴充性(scalability)上扮演舉足輕重的角色。

磁碟陣列是一般伺服器中常用的資料儲存方式,透過這樣的方式可以提高儲存的讀寫速度、增加資料的可靠度。磁碟陣列分為好多種,但不是每一種都那麼適合你的伺服器來使用,像一般常聽到的 RAID 5 磁碟陣列就有一些問題。

2013 台灣燈會北港媽祖紀念錢母平安符

這是 2013 台灣燈會北港媽祖紀念錢母平安符,當時是要到燈會現場才有可以拿的。

最近我到竹北天后宮媽祖廟上香,碰到有人在發這個平安符,似乎是當初沒發完的,現在又拿來發給大家,拿了之後可以自己進去媽祖廟過香爐,帶回去保平安。

2013 台灣燈會北港媽祖紀念錢母平安符

Coffitivity 線上咖啡廳:提升工作效率的方法

Coffitivity 是一家線上咖啡廳,當你在工作上感覺很無趣的時候,可以到這裡一邊喝咖啡一邊放鬆一下心情,有時候可以讓你有意想不到的驚喜。

Coffitivity 線上咖啡廳

咖啡廳中的工作效率

有時候人在比較狹窄的空間,與其他人坐在一起時,伴隨著些微吵雜的聲音,反而可以讓工作效率提高,像很多人就喜歡帶著一台筆記型電腦,在餐廳、咖啡廳等公共場所工作,我個人也喜歡這樣工作。

一般在辦公室通常比較安靜,由於太安靜讓人感覺過分死寂,也導致工作效率無法提高,而在一些適當的雜音之中,會讓人感覺比較放鬆,又可以專注於工作,但這個雜音也不能太大,若像 KTV 或演唱會這樣的場所就根本無法工作,一般來說在餐廳與咖啡廳這樣的場所是比較剛好的。

想像一下你帶著一台 MacBook Air 在星巴克(Starbucks)咖啡廳靠窗邊的位子上,點了一杯你最愛喝的拿鐵(應該是我最愛喝的),一邊喝著咖啡,一邊開發程式。

Ezame -- Ubuntu Unity 桌面選單編輯工具

Ezame 是一個可以編輯 Ubuntu Unity 桌面選單的工具,亦可用於其他的桌面環境。

Ezame -- Ubuntu Unity 桌面選單編輯工具

這個 Ezame 選單編輯工具可以讓你編輯或新增桌面選單中的項目,基本上一般桌面選單中的項目都是使用 .desktop 格式來定義的,Ezame 支援所有 .desktop 格式中定義的屬性,包含應用程式的名稱、圖示、類別以及其他各種屬性,甚至像一些「OnlyShowIn」與「NotShowIn」(用於控制該選單項目出現的桌面環境)這樣的進階屬性都有支援。

GNOME 的 MediterraneanNight 佈景主題(支援 GTK 3.8)

MediterraneanNight Series 是一套適用於 GTK 的佈景主題,它有 12 種配色可以選擇,而且現在完全支援 GTK 3.8。

新版的 MediterraneanNight 佈景主題依然持續支援 GTK 3.6,並且新增對於 GTK 3.8 的支援,所以它應該是完全相容於 Ubuntu 12.10、13.04(這兩個 Ubuntu 版本預設是使用 GTK 3.6,若使用 GNOME3 PPA 則是 GTK 3.8)與 13.10。

根據 MediterraneanNight 的作者描述,這個佈景主題用在 Unity 與 Nautilus 3.8 時,還有一些小問題有待修正。

下面是一些 MediterraneanNight Series 佈景主題在 Unity 與 GNOME Shell 下的螢幕快照:

MediterraneanWhite - Unity

MediterraneanNight - Unity
MediterraneanNight - Unity

硬碟上的小洞是做什麼用的?為什麼不能蓋住? -- 硬碟的透氣孔介紹

在一般的硬碟上面有時候會看到「Do Not Cover This Hole」的警告標語,告訴你不要把硬碟上的小洞蓋住,這裡介紹這個小洞是做什麼用的。

硬碟 Do Not Cover This Hole

在很多硬碟上都會註明不要蓋住硬碟上的小洞,甚至寫明如果你把它蓋住,保固就會失效。那到底這些小洞是做什麼用的呢?

簡單來說,這種小洞是為了讓硬碟內部的氣體壓力與外部相同,如果硬碟內外的空氣壓力差距太大,容易讓硬碟出問題,也會讓硬碟損毀的機率提高,所以一般硬碟上都要保留這樣的透氣孔,當硬碟外部的氣壓變動時,也會自然平衡內部的壓力。

Incredipede 益智遊戲現在提供 Linux 版免費下載!

Incredipede 是 Northway Games 所開發的一套華麗且生動益智遊戲,以前在 Windows 與 Mac OS X 平台中要玩這個遊戲是要付費的,但是現在他開放所有 Linux 的使用者免費下載完整版!


「因為 Linux 使用者是 indie games 的擁護者,而且我也很喜歡 Linux 背後的哲學,所以我也讓它免費」-- Colin Northway

Google 的 Loon 計畫 -- 以高空氣球提供全世界網路連線服務

Google 的 Loon 計畫打算在地面上方 20 公里處建置環繞地球的高空氣球,並藉以將連網功能傳送到全世界。

Google 的 Loon 計畫

Google 最近推出了新的登月計畫(moonshot)─ Project Loon,準備透過氣球來提供具成本效益、低價,且可靠的的上網服務。根據 Loon 計畫的規畫,他們打算在地面上方 20 公里處建置環繞地球的高空氣球,並藉以將連網功能傳送到全世界。

這些氣球的直徑約有 15 公尺,從地面必須利用望遠鏡才看得到,它們飛躍高山、飛機航線與雲雨區,位於平流層的地方,藉由在平流層上不同方向的風力來運送或是聚集氣球,這些氣球能夠與在地面上所建置的特殊網路天線進行通訊,鄰近的氣球間也能互相傳遞訊息,然後把訊息傳送到各地網路供應商所設立的基地台,打造一個天空上的網路環境。

如何列出 Ubuntu 與 Debian 套件(*.deb 檔)的檔案內容?

這裡介紹如何在安裝 Debian 或 Ubuntu 套件(*.deb 檔)之前,先查看套件檔的內容,檢查是否有自己需要的函式庫或執行檔等。


在 Debian/Ubuntu 等 Linux 系統中,所有系統收錄的套件都會被包裝成 deb 檔的格式,安裝時就直接安裝這一個檔就可以了,省去自行下載、解壓縮、編譯與安裝的過程,套件統一管理,所以要移除套件也很方便。

使用 deb 檔來安裝雖然很方便,但是如果我們想知道一個套件到底安裝了哪些檔案,或是想確認一個套件之中到底有沒有包含自己需要的執行檔或是函式庫時,光看一個 deb 檔的名稱是不夠的,這時候就要透過一些方式將 deb 檔的內容列出來才行。

以下介紹兩個方式,可以讓你在安裝之前先查看套件內容。

更改 Mac OS X 預設瀏覽器 -- 讓系統預設使用其他的瀏覽器開啓網頁

一般在 Mac OS X 中的預設瀏覽器都是 Safari,這裡教你如何將預設瀏覽器設為其他的瀏覽器,如 Google 的 Chrome 或 Firefox 等。

在 Mac OS X 中,一般預設的狀況下,系統碰到需要開啓網頁的時候,會使用預設的瀏覽器(也就是 Safari)來開啓,例如像是在 BBS 上碰到要開啓連結或是在終端機中開啟 URL 時,都會使用預設的 Safari。

但有時候像我個人習慣用 Google Chrome,但是一碰到 URL 的連結時,點下去之後系統又會再開啓一個 Safari,雖然事都可以看,但是一次開兩個瀏覽器就感覺不是很經濟。

下面教你如何更改 Mac OS X 系統中預設的瀏覽器,讓所有的 URL 連結網頁在開啓時都會使用自己習慣用的那個瀏覽器開啟。

Step 1
打開 Safari 瀏覽器,從 Safari 選單中,選擇偏好設定。

Glances 命令列系統監控工具(適用於 Windows、Mac OS X 與 Linux 系統)

Glances 是一個開放原始碼、跨平台的命令列系統監控工具,他可以在 Windows、Mac OS X 與 Linux 系統中使用。這裡我們以 Linux 平台為範例,介紹如何安裝與使用 Glances 這個工具。


Glances 本身是以 Python 語言來開發的,再配合 psutil 函式庫來擷取系統中的資訊,透過這個監控工具,你可以看到系統中的各種資訊,包含中央處理器(CPU)、網路(Network)、行程(Process)、系統負載量(Load)、記憶體(Mem 與 Swap)、CPU 溫度、磁碟讀寫狀態(Disk I/O)、掛載狀態(Mount)與一些重要的系統紀錄。

幾個難以置信的自然景象 -- 這些都是真實的照片

以下這些照片都是真實的場景,沒有任何電腦特效或是影像處理,你可能很難以相信,不過他是真的。

這是火山噴發時,閃電剛好打下來。


如何讓 USB 隨身碟資料損毀的風險降到最低?

這裡討論一般的隨身碟該如何使用,才能使隨身碟中資料損毀的風險降到最低,讓隨身碟中的重要資料更有保障。

圖片來源:How-To Geek

隨身碟是現在幾乎每個人都會使用的科技產品,雖然他的價格低廉,但是隨身碟一旦損毀,儲存在裡面的資料有就會跟著消失,這是很令人頭痛的問題。

以目前市面上的 USB 隨身碟來說,都是屬於快閃記憶體(flash memory),這種記憶體在讀取與寫入的次數上有一定的限制,依據所使用儲存技術不同,壽命也不一樣,目前的快閃記憶體儲存技術分為兩種:SLC(Single-Level Cell,單層式儲存技術)與MLC(Multi-Level Cell,多層式儲存技術),下面這個表是兩種技術的比較:

SLCMLC
儲存位元與狀態一個記憶單元只儲存一個位元(bit)一個記憶單元可儲存兩個位元(bit)以上
資料儲存量(Page/Block)較小(2KB/128KB)較大(512B/32KB 或 2KB/256KB)
資料寫入速度較快(9MB/s)較慢(1.5MB/s)
使用壽命10 萬次讀寫1 萬次讀寫
生產成本低(約為 SLC 的四分之一)

所以其實隨身碟正常來說,讀寫次數到達一定的量之後就可能會壞掉,這是目前硬體技術上的限制,是無法避免的,但是我們還是可以做一些其他的保護措施,讓資料損毀的風險降低。

在 Ubuntu Linux 中安裝與使用 Cool Reader 3 電子書閱讀軟體(支援 EPUB、PDB、CHM 與 MOBI 等格式)

Cool Reader 是一個開放原始碼的免費電子書閱讀軟體,支援各種常見的電子書格式,在 Windows、Linux 與 Android 等平台中皆可使用。

圖片來源:tarantulsoft

現今的電子書格式雖然不算多,但是除了最通用的 PDF 與一些基本的 TXT 或 DOC 格式之外,還有像 EPUB、PDB 與 MOBI 等這些需要特殊的閱讀軟體才能閱讀的格式,如果電腦中沒有適當的閱讀器,要閱讀這些電子書就會是個大問題。

Mac OS X 10.9 Mavericks 的省電機制 -- 兼顧計算效能與電池續航力的方法

在今年的 Worldwide Developer Conference (WWDC) keynote 中,蘋果(Apple)發表了他們在筆記型電腦電池續航力上的改進,像新的 13 吋 Macbook Air 一次充電的續航力從原本的 7 小時增加為 12 小時,假設蘋果的這個數字沒有灌水,那這樣的大改進是如何辦到的呢?


一個大家都想像得到的部分就是新的 Intel Haswell CPU,這顆 CPU 對於節能有一定的貢獻,據 Intel 的說法 Haswell 是從以前到現在能源效率上躍進最大的一顆 CPU,而其內部的晶片架構也是第一次專門為輕薄型的筆記型電腦與平板電腦所設計的,所以其時脈與用電量都比較低。

Guacamole 簡介 -- 透過瀏覽器以網頁介面遠端操控電腦,支援 VNC 與 RDP 協定

Guacamole 是一個以 HTML5 為基礎的遠端桌面 gateway,讓你只需要使用瀏覽器就可以操控遠端的電腦,功能就像傳統的 VNC 與 RDP 一樣。


Guacamole 是一個以 HTML5 為基礎的網頁應用程式(web application),使用者可以透過這個網頁應用程式並配合遠端桌面的傳輸協定(例如 VNC 或 RDP)來操控遠端的電腦。

除了網頁應用程式之外,Guacamole 也是一個專案名稱,這個專案的內容就是發展一套 API 提供給 Guacamole 網頁應用程式使用,而這個 API 亦可用於其他類似的應用程式或服務。

在 Ubuntu Linux 12.04 安裝 Guacamole 網頁遠端桌面教學(使用 Tomcat 7)

這裡我們以 Ubuntu Linux 12.04 的環境示範如何安裝 Guacamole,在 Guacamole 官方的教學中所使用的 Tomcat 伺服器版本為 6,而這裡我們改用 Tomcat 7,安裝上有些小差異。

Guacamole Logo

以下是安裝步驟教學。

Step 1
安裝 Tomcat 7:
sudo apt-get install tomcat7 tomcat7-admin tomcat7-docs tomcat7-examples tomcat7-user libservlet3.0-java-doc libservlet3.0-java
其實如果沒有特別需求,只要安裝 tomcat7 這個套件就可以了,我個人是喜歡把相關的套件一次全部安裝好,免得以後要用的時候還要再裝一次。

關閉亞馬遜 Amazon Kindle Paperwhite 首頁的 Recommended Content 教學 -- 讓 Kindle 版面更簡潔

亞馬遜 Amazon Kindle Paperwhite 在預設的情況下,首頁下方應該會有一欄「Recommended Content」,這裡教大家如何把它關閉,讓首頁更簡潔。

「Recommended Content」裡面會顯示一些 Amazon 每天推薦給讀者的內容,像是特價的書籍等等:

Kindle Paperwhite Home

但是這些推薦的書籍大都是要花錢買的,像我這種不想花錢的人,這種功能對我來說根本沒有用,而每次開啓 Kindle 就會看到他佔了一半的版面,實在很浪費空間。

後來發現,其實這個「Recommended Content」是可以關閉的,只要設定一下就可以了,以下是設定步驟教學。

擷取 Amazon Kindle Paperwhite 螢幕畫面快照教學

這篇文章教你如何在 Amazon 的 Kindle Paperwhite 中擷取螢幕畫面快照,並且抓回電腦中。

在 Kindle Paperwhite 上截取畫面方法就是用兩隻手指同時點一下螢幕的左上角與右下角,或是同時點一下右上角與左下角也可以,總之就是同時點一下兩個對角,然後螢幕就會閃一下,這樣就代表已經截取了目前的畫面了。

這是一段示範的影片:


在 Kindle Paperwhite 將畫面截取完成之後,接著就可以使用 USB 連接線,接上電腦,把圖檔抓出來。

使用 MathJax 把 LaTeX 或 MathML 數學式子放進網頁

MathJax 這個 JavaScript 工具可以讓你直接使用 LaTeX、MathML 或 AsciiMath 的語法把數學式子寫進網頁中,它會自動幫你排版並產生 HTML、SVG 或是 MathML 的方程式,讓各種瀏覽器都可以看,效果幾乎跟傳統上的 LaTeX 一樣,非常厲害。


傳統上如果要在網頁上顯示專業排版的數學式子,大概都只能靠 LaTeX 排版之後,透過一些編譯工具把 LaTeX 轉成圖片檔,再放進網頁中,雖然有很多線上編譯 LaTeX 的工具可以使用,但是最終還是需要自己內崁圖檔,並不是很方便。

現在有了 MathJax 這個工具,使用起來既方便效果又好,下面這個就是使用 MathJax 所排版出來的效果:

When \(a \ne 0\), there are two solutions to \(ax^2 + bx + c = 0\) and they are
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$

A Cross Product Formula:

$$\mathbf{V}_1 \times \mathbf{V}_2 = \begin{vmatrix}
\mathbf{i} & \mathbf{j} & \mathbf{k} \\
\frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \\
\frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0
\end{vmatrix}$$

An Identity of Ramanujan:

$$\frac{1}{\Bigl(\sqrt{\phi \sqrt{5}}-\phi\Bigr) e^{\frac25 \pi}} =
1+\frac{e^{-2\pi}} {1+\frac{e^{-4\pi}} {1+\frac{e^{-6\pi}}
{1+\frac{e^{-8\pi}} {1+\ldots} } } }$$

It's a Beautiful Day and I Can't See It

這是網路上的一個短片,描述一個文字力量的小故事,由簡單的幾個字,就可以改變許多的事情,但還有許多事情是更重要的。


一開始,這個老乞丐因為眼睛失明,寫了一個標語:

「I'm Blind Please Help」

意思是:「我的眼睛看不見,請幫助我」

但並沒有很多人在注意他,願意施捨的人也很少。

後來,一位戴墨鏡的女生經過,她拿出筆寫了一些字,拿給這位老乞丐,接著情況改觀了...