Google Code Jam 2013 程式設計比賽開放報名!最高獎金 $15,000 美金!

Google Code Jam 2013 程式設計比賽現在開始開放報名,今年的最高獎金提高到 $15,000 美金,相當於 45 萬台幣。今年 Google Code Jam 剛好成立十週年,也持續邀請了世界各地的程式設計高手來參加,不管是學生或是職業程式設計師,只要有興趣都可以報名。


在去年來自全球各地的參賽者超過 3,5000 位,而由波蘭的 Jakub Pachocki 贏得冠軍,抱走 $10,000 美元的獎金。

今年的比賽將會在台灣時間的 4 月 13 號早上 7 點開始,預賽第一輪是一個資格審查賽,第二輪錄取 3000 人,第三輪錄取 500 人,經過最後的第四輪預賽之後,會選出 25 人進行決賽。

前四輪預賽都是在網路上舉行,而最後的決賽則是在英國倫敦 Google 的辦公室,完整的賽程表可以由 Google Code Jam 的網站查詢。

英格蘭的薰衣草(Lavender)花園 -- 印象派畫風的夢幻照片

說到世界上著名的薰衣草(lavender)花園,應該最常聽到的就是法國的普羅旺斯花園(Provence garden, France),但以下這些照片是在英格蘭的薩默塞特郡(Somerset, England)的一個幻薰衣草原拍攝的,在這裡如果你夠幸運而且攝影技術也夠好的話,你可以捕捉到一些千載難逢的鏡頭。

薩默塞特薰衣草農場中種植了超過五萬種的薰衣草植物,這些一排一排的薰衣草佔地五英畝(約兩公頃左右),這裡大約在六月或七月左右,如果運氣好的話,就可以捕捉到看起來類似印象派畫風的夢幻照片。

英格蘭薩默塞特的夢幻薰衣草原

根據拍攝上面這張照片的攝影師安東尼斯賓塞的陳述,薰衣草最漂亮的時間就是在它被採收之前的十天之內,所以能夠拍攝這種照片的時機大約只有短短十天,而這段時間你必須很早起床,然後趁著太陽出來之前趕到薰衣草原中,在攝影的過程中,光線是個很重要的因素,有適當的光線可以讓薰衣草看起來更漂亮,作為一個風景攝影師能夠碰到這樣的精彩時刻的機會,一年大概只有一次而已。

使用 colordiff 指令將 diff 的輸出加上顏色、更好閱讀

在 Linux 中的 diff 指令可以比較兩個文字檔案之間的差異,通常用於比較檔案新舊版本之間的變動處、或是產生 patch 檔(patch 指令所使用的輸入檔)。

傳統上 diff 的輸出是沒有顏色的,如果在比較兩個檔案的差異時(是人在看的,不是給電腦看的),可以透過 colordiff 指令把原本 diff 的輸出加上顏色,讓輸出更容易閱讀。

colordiff 這個工具程式已經在各種常用的 Linux 與 FreeBSD 等平台中被測試過了,至於其他的平台基本上應該也可以使用。

Step 1
安裝 colordiff,如果是 Ubuntu 或 Debian Linux,可使用 apt-get 安裝:
sudo apt-get install colordiff

如果是 CentOS 或 Fedora 等,可用 yum 安裝:
yum install colordiff

Step 2
基本上 colordiff 與傳統的 diff 是用法差不多的:
colordiff file1 file2

除此之外,也可以配合傳統的 diff 來使用:
diff -u file1 file2 | colordiff

如果輸很長,可以使用 less 指令加上 -r 或是 -R 參數保留 ANSI 跳脫字元(escape sequences):
diff -u file1 file2 | colordiff | less -R

郵局無摺存款教學:不用存摺、不用提款卡、不用密法的存款方式

在以前到郵局存款都要存摺,而後來的方式可以使用無摺存款,但是要知道密碼才行,而現在連密碼都不需要了,也就是說只要知道郵局的局號與帳號,就可以直接到郵局存錢,不用手續費,而且立即進帳,感覺好方便阿!

這是無摺存款的單子,黑色的部分是自己要填寫的:

使用 Mac OS X 字典的技巧(滑鼠右鍵、鍵盤快速鍵)

Mac OS X 中有一個內建字典軟體,自己還可以自行加入字典檔擴充其功能,算是一個很方便又好用的軟體,而其使用方式主要有三種,第一種就是直接開啓字典查詢的視窗,輸入要查詢的單字:

Mac OS X Dicttionary 內建字典

這個方式是最簡單的,但是要手動輸入單字感覺就不是很方便,如果是在閱讀網頁文章時,雖然可以用滑鼠複製與貼上,但還是要在瀏覽器與字典之間切換,也不是很方便。

讓 Mac OS X 的字典加入英文翻譯中文功能:加入 StarDict 星際譯王的字典檔

在 Mac OS X 中有內建一個字典軟體,可以讓你很方便地隨時查閱,有點類似 Dr. eye 的功能,但是這個軟體雖然設計的不錯,但是卻只有內建英翻英而沒有英翻中的字典,這裡教大家如何加入英文翻譯中文的字典檔。

Step 1
首先到這裡下載 StarDict 星際譯王的字典檔。

StarDict 是在 Linux 中很熱門的翻譯軟體,而其字典檔很多,像是牛津現代英漢雙解詞典朗道英漢字典懶蟲簡明英漢詞典21世紀英漢漢英雙向詞典等都是很好用的字典,您可以選擇自己喜歡的字典檔下載,當然如果想全部都下載也可以,這樣在查詢時還可以互相參考每個字典的解釋與翻譯。

Step 2
下載並安裝 Mac Dictionary Kit 這個轉檔工具。

因為 StarDict 的字典檔格式與 Mac OS X 內建字典所使用的格式不同,這個工具可以把 StarDict 的字典檔轉為 Mac OS X 的字典格式。

Mac Dictionary Kit 的網站上已經有製作好的 DMG 安裝檔,直接下載 DMG 檔會方便很多,直接打開下載下來的 DMG 檔,會看到兩個檔案:

利比亞的古達米斯鎮 -- 世界文化遺產之一

古達米斯鎮位於利比亞、突尼斯、阿爾及利亞三國交界處的利比亞境內,距利比亞首都的黎波里約 600 公里。在撒哈拉沙漠北部地區,是前羅馬時代的綠洲城市。

沿利比亞到毛里塔尼亞一線的眾多城鎮和聚居點中,古達米斯鎮以其獨特的建築風格被譽為「沙漠珍珠」,緊簇房子是用的傳統泥磚和手蓋成的,已經在那兒屹立了幾個世紀了。

古達米斯鎮的老城在 1986 年被列入教科文組織《世界遺產名錄》,2012 年在利比亞發生的衝突就危及到這個保護區的文物。

利比亞的古達米斯鎮(世界文化遺產)

Google Web Toolkit(GWT) 的 Editor 與 Driver 架構(Framework) -- 讓編輯 Java Bean 物件更方便

這篇是將 Google Web Toolkit 的官方教學文章直接翻譯過來的,內容不是很好閱讀,加減做個記錄。

GWT 的 Editor 架構(framework)可以讓複雜的物件(object graph)中的資料對應到 Editors 上,像是經由 RPC 得到的物件,如果要將其中的資料放到使用者介面(UI)上,就很適合用這個架構。

目的(Goals)

使用這個 Editor 架構主要的目的有下列幾項:
  • 降低「膠水程式碼」(glue code)的使用量。(註一)
  • 讓程式與 bean 物件相容,不管是 POJO、JSO、RPC 或是 RequestFactory,只要像是 bean 的物件(註二),都可以相容。
  • 支援任意組合的 Editors。
註一:在一般的程式中,資料要在使用者介面與 object graph 之間互相傳遞時,都會需要撰寫一些程式碼,專門負責傳遞資料,這些很無聊但又不能省略的程式碼,就是所謂的「膠水程式碼」,使用 Editor 架構最主要的目的就是簡化這些程式碼的使用量。

註二:所謂「像是 bean 的物件」指的是物件中的 properties 都可以用 Foo getFoo(); 這樣的方法(method)來取得,而 void setFoo(Foo foo); 則可有可無。

Editor 指的是一個可以編輯 bean 的物件,而一個 Editor 中可以包含任意個數的子 Editors,大多數的 Editor 會實作成 Widget,但在這個架構的規範數,並沒有這個限制,程式設計者可以任意實作出自己想要的 Editor 型式。

Driver 是在最上層的控制元件,負責將 bean 連結上 Editor。

Kali Linux 第一版釋出:BackTrack 的改良版本

BackTrack Linux 是一套蒐集了許多資訊安全相關工具的 Linux distribution,近年來因為他的使用者越來越多,因此經過改良之後,推出了一套更成熟的 Kali Linux


BackTrack Linux 的開發者原本設計這套 Linux distribution 的用意只是讓自己方便使用而已,並沒有考慮大眾的需求,但近年來使用者不斷增加,出乎開發者的意料之外,所以為了讓這套 Linux 可以給更多人使用,開發者將所有的軟體開發與管理流程轉移到與 Debian 相容的環境中(包含套件管理與 repository 系統),以便未來讓更多人可以使用。

以下是 Kali Linux 的特點:

Repositories 與 Debian 官方同步

Kali Linux 的 repositories 一天會與 Debian 官方的 repositories 同步 4 次,以確保所有的套件與安全行更新都是最新的版本。

所有的工具皆與 Debian 相容

這是 Kali Linux 開發者最多時間處理的部份,它們改寫了幾千個常用的工具,讓這些工具都與 Debian 的套件管理方式相容,因此這些工具的原始碼可以很方便的使用 Debian 套件管理工具取得,並且使用幾個簡單指令就在自己的系統中重新編譯。

可自定安裝

使用 Debian 套件管理的好處之一就是可以透過 repositories 自定安裝,甚至依照自己的需求製作 Linux 的安裝 ISO 檔。

自動安裝

Kali Linux 可以透過 pre-seed 設定檔的方式,讓安裝自動化,這個功能適合安裝在多台機器時使用。

自選桌面環境

Kali Linux 中可以選擇自己喜歡的桌面環境,例如:KDE、GNOME、LXDE、XFCE 等。

無痛升級

在未來新版的 Kali Linux 推出之後,如果要升級也可以藉由 Debian 系統的架構,很輕鬆的做升級的動作。

在 Mac OS X 中建立加密的 Zip 壓縮檔 -- 讓機密資料加上密碼保護

在 Mac OS X 中要壓縮檔案的話,基本上就用滑鼠點右鍵選「壓縮...」就可以製作 Zip 格式的壓縮檔,很方便。但如果是機密的資料要透過 Email 等管道傳送時,常常會需要建立加密的 Zip 壓縮檔,也就是需要密碼才能解壓縮的檔案:

Mac OS X 封存工具程式 輸入解壓縮密碼

像這樣的壓縮檔就沒辦法直接用 Mac OS X 的內建選單來建立了,這時候可以利用 zip 這個指令來做壓縮。以下是使用教學:

修改 Google 部落格 Blogger 範本在任意位置加入 Google AdSense 廣告

在部落格中放置廣告賺取收益是許多部落客撰寫文章的動力之一,之前介紹過如何在 Blogger 部落格放置 Google AdSense 廣告賺取收益,但之前的方法都是使用 Blogger 的小工具來加入 HTML 與 JavaScript 程式碼,這樣雖然方便,但就沒辦法將廣告放置在網頁中任意的位置。

如果想要將 Google AdSense 廣告放在任意的位置,可以透過修改範本檔的方式來達成,前面的教學文章裡已經有示範過如何下載與修改範本檔,這裡就簡單介紹放置 Google AdSense 廣告要注意的事項。

Step 1
要放置 Google AdSense 廣告前,請參考這篇文章到 Google AdSense 網站中產生 Google 廣告的程式碼,產生出來的程式碼應該會像這樣:
<script type="text/javascript"><!--
google_ad_client = "ca-pub-XXXXXXXXXXXXXXXX";
/* 160x600, 已建立 2012/3/25 */
google_ad_slot = "2035641367";
google_ad_width = 160;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

台南西港蓮華素食(菜粽) -- 慶安宮對面的素食小吃

這是台南西港最有名的菜粽,其實他的店名是蓮華素食,但是在西港大家都會直接講西港菜粽,因為它的菜粽太有名了,而他的店面就在西港慶安宮對面的菜市場裡,從早餐賣到午餐,生意一直都很好,旁邊賣菜的阿婆說他們的菜粽便宜又好吃,所以常常供不應求,生意是那裡最好的。

台南西港蓮華素食(菜粽)
台南西港蓮華素食(菜粽)

如何善用各種顏色與心理學之間的關聯做好搜尋引擎最佳化(SEO)

最近在網路上看到一張有趣的顏色與心理學分析圖,這張圖中詳列了各種顏色背後所帶給人的感覺與含意,有了這張圖之後,在製作網頁或廣告時,就可以參考一下這裡的分析結果,選擇適當的顏色。

居家油漆顏色

  • 辦公室(Office):藍色(Blue),最具生產力的顏色。
  • 臥室(Bedroom):綠色(Green),給人寧靜與健康的感覺。
  • 廚房(Kitchen):黃色(Yellow),促進新陳代謝、帶給人光明與能量的空間。
  • 客廳(Living Room):淡紫色(Lavender),平定緊張的情緒,給人放鬆的感覺。

主要顏色

  • 紅色(Red)
    • 給人熱情的感覺。
    • 促進食慾(許多餐廳的廣告或招牌都會使用紅色)。
    • 給人緊張感。
    • 紅色的玫瑰花象徵愛情。
  • 黃色(Yellow)
    • 高興與溫暖。
    • 會使眼睛疲勞。
    • 不適合用於嬰兒的房間。
  • 藍色(Blue)
    • 通常男生會喜歡的顏色。
    • 給人寧靜的感覺。
    • 通常用於辦公室(在藍色的氣氛中,人的工作效率比較高)。
    • 抑制食慾。
    • 給人水與平靜的感覺。

Google Keep(Google 版的 Evernote) -- Google 官方整合 Android 與 Google 雲端硬碟推出的新服務

Google 官方宣佈關閉 Google Reader 服務之後,馬上又推出了一個新的服務:Google Keep,這個服務是讓使用者可以隨時隨地記錄一些簡單的筆記,並把這些記錄下來的資料儲存至 Google Drive 雲端硬碟之中,以便之後可以很方便的存取,配合智慧型手機 App,應該會是個很實用的服務。

這是 Google Keep 的介紹影片:


Google 強調與其使用 3M 便利貼寫了一堆便條紙貼在電冰箱上面,要用時又找不到,使用 Google Keep 可以避免這種窘境,除了將每筆資料自動同步上網之外,也提供了搜尋的功能,讓你想要用的時候可以馬上找到。

Ubuntu GNOME(原 Ubuntu GNOME Remix):新的 Ubuntu 官方發行版本

Ubuntu Linux 從 11.04 版之後,都是使用 Unity 當作預設的桌面管理系統,但是許多人都在抱怨 Unity 真的不是很好用(我自己也這麼覺得),所以通常安裝完新的 Ubuntu Linux 之後都會自己裝 GNOME 的桌面來用。

GNOME 3.6 Desktop 桌面
GNOME 3.6 桌面

雖然在 Ubuntu 中自己安裝 GNOME 桌面不會很麻煩,但是如果你只喜歡 GNOME 的桌面,而 Unity 對你來說完全不會用到的話,在未來就可以選擇 Ubuntu GNOME 這個 Ubuntu 的發行版本。

貝加爾湖上的綠寶石 -- 亞洲第一大湖結冰景象

西伯利亞的貝加爾湖是世界上最古老的湖泊,大約 2,500 萬年前,這一地區發生了一次強烈地震,一大片土地深深地塌陷下去,周圍數百條大小河奔流而來,形成了今日的貝加爾湖。據科學研究指出,貝加爾湖之所以能維持那麼久的壽命,是因湖泊長期處於零下低溫狀態,故不易氧化縮小。

貝加爾湖呈新月形,長 636 公里,寬 24~79 公里,面積 3 萬 1,494 平方公里,幾乎和台灣一樣大,是亞洲第一大淡水湖,也是世界第七大湖泊。沿岸地震頻繁、溫泉四布,有多達 336 條河注入,其中僅有一條安加拉河為流向北極海的外流河,湖中有 22 島,最大的奧爾洪島長達 71 公里。

它也是世界最深的湖泊,最深處為 1,940 米,平均深度 740 米,其體積達 2 萬 3,600 立方公里,是世界上容積最大的淡水湖,占全球淡水總量的五分之一,僅次於裏海(7 萬 8,200 立方公里)。倘若全世界的淡水都消失的話,貝加爾湖的湖水量足夠支撐地球生物飲用42年。

貝加爾湖在冬季裡,大約有五個月的時間(一月到五月)湖面會結冰,而它的湖水因為非常清澈,所以在湖面上往下看大約可以看到腳下 130 英尺深的景象。

在三月份左右,湖面的冰層因為氣溫與壓力的差異而裂開,加上結霜、風的吹襲與陽光,造成一種很難得的景象,讓碎裂的冰塊好像綠寶石一樣,非常漂亮。

西伯利亞貝加爾湖湖面結冰景象

樹葡萄(嘉寶果)開花與結果 -- 花苞、花蕊與果實

嘉實果(俗稱樹葡萄)又名擬愛神木、美味熱帶葡萄,嘉寶果為幹生花、果樹,常綠灌木,枝葉濃綠繁盛,枝條彎曲側出,樹枝自然開張,樹姿低矮美觀,樹皮乾淨呈灰白或淡褐色。嘉寶果每年三到四月及八到十月春、秋二季開花尤其旺盛,花謝後結果纍纍盛況,非常壯觀。樹高與樹冠可達十到十二公尺,老樹達百年仍可生產,幹光滑,表皮易脫落,葉對生,長卵形或長橢圓形,先端尖,全緣,新葉淡紅色,四季常綠。

嘉寶果的植苗有七年生、八年生、九年生,具有極高的培養價值;20 年、30 年、40 年以上的整型大樹、高嶺老樹,樹觀優美大方,樹身高挺,頂天立地,枝繁葉茂,長勢旺盛,結果率高。

一般而言,20 年樹齡的嘉寶果處於生產旺盛階段,逐漸進入產量最高、最穩定的成年期; 30 年樹齡的嘉寶果結果一次可高達 300 斤之多(一年可結果三到五次,原產地巴西或亞馬遜河可高達六次之多)。 伴隨種植時間越長,樹身越高,分枝越多,造型更美,掛果量更多。

體質優良及高齡老樹常年四季時時更能見其開花結果,俟逢其開花盛況時,僅見滿株枝幹佈滿細緻綿密白花,直可媲美日本櫻花之姿,花味清香淡雅,由於栽培環境不同,樹體營養有別,果實約在花謝後 30 至 50 天成熟,果實球狀,狀似「巨峰葡萄」,因有名叫「樹仔葡萄」。

其果實成長期中的每個階段都可視個人喜好食用,親自品嚐過的人,對其果實柔軟多汁、口感風味獨特、具有特殊芳香氣味,皆讚不絕口,更戲稱其果實是目前時下最新「黑珍珠樹葡萄」,到訪看過的人對其同一樹幹,可以同時開花、結果、成熟果,樹幹會長滿有如「葡萄」的景象都嘖嘖稱奇,其深暗紫色有如「葡萄」般結實纍纍的果實,成串的附著佈滿在樹幹上,看過的民眾都覺得十分特別。

以下是自己種的樹葡萄開花的情況。

樹葡萄(嘉實果)花苞與開花

各種免費 RSS 新聞訂閱軟體與雲端服務 -- Google Reader 閱讀器的替代品

Google 官方對外宣佈將在今年的 7 月 1 日關閉 Google Reader 閱讀器的服務,而許多習慣使用 Google Reader 閱讀器人對於這個消息應該很煩惱,不過其實除了 Google Reader 閱讀器之外,網路上也有許多其他類似的替代品,以下為大家一一介紹。


Feedly

適用平台:iOS、Android、Web

Feedly 是 RSS 閱讀軟體,使用者介面設計的很好,閱讀起來很舒服。而如果是 Google Reader 閱讀器的使用者,可以直接用 Google 的帳號登入 Feedly,這樣 Google Reader 中的資料就會自動複製過來,不需要自己設定,很方便。

Feedly RSS Reader

使用 Vim 將程式碼排版並產生彩色的 HTML 網頁

如果想在網頁上貼上程式碼,最簡單的方式就是使用 <pre> 這個 HTML 標籤,但是這樣貼上去的程式碼會比較不好看,我們可以利用 vim 裡面的一些功能,將程式碼自動排版之後,再轉換為 HTML 碼,這樣貼上網頁後比較容易閱讀,而且也可以自動處理一些 HTML 中的特殊字元。以下是轉換程式碼的教學:

Step 1
如果沒有安裝 Vim 的話,請到 Vim 的官方網站下載安裝檔來安裝,Vim 支援各種作業系統,像常用的 Windows、Linux 與 Mac OS X 都有現成的安裝檔可以使用。

Step 2
將程式碼貼入 Vim 中。

使用 renice 指令更改 Unix/Linux 上面程式執行的優先權(Scheduling Priority)

在 Linux 中如果要改變程式執行的優先權,可以使用 nice 指令,但如果是執行到一半的程式要更改執行優先權的話,就沒辦法用 nice,這時候就可以使用 renice 這個指令。

renice 是專門用於更改正在執行程式的 niceness 值,讓程式在不需要重新執行的情況下,就可以馬上改變執行的優先權,其使用方式如下:
renice NUM PID
其中 PID 是行程(想要更改 niceness 值的行程) ID,而 NUM 是新的 niceness 值。

以下是一些範例:

Example 1
將行程 ID 為 2343 的行程 niceness 值設為 19:
renice 19 2343

Example 2
將行程 ID 為 2343 的行程與所有 seal 使用者的行程 niceness 值都加 1:
renice +1 2343 -u seal

Linux 的 nice 指令:指定程式執行的排程優先權(Scheduling Priority)

在 Linux 中每個執行中的程式都會有一個 niceness 值,系統的 scheduler 在對每個行程在排程時,就會參考這個數值來決定執行的先後順序,niceness 可用的數值從 -20(最高優先權)到 19(最低優先權),數值越小代表執行優先權越高。這裡介紹如何使用 nice 指令指定程式執行時的 niceness 值。

niceness 與排程優先權(scheduling priority)是不一樣的,排程優先權是真正決定程式執行的先後順序,而 niceness 值只是提供給 scheduler 參考用,scheduler 甚至可以忽略這個值。

這是 nice 指令的使用方式:
nice -n NUM COMMAND
其中 COMMAND 是要執行的程式,而 NUM 就是指定此程式在執行時的 niceness 值。以下是一些使用範例:

Example 1
若直接執行 nice 不加任何參數,則會輸出現行的 niceness 值:
nice
輸出為:
0

pinfo -- 在 Unix/Linux 中顯示彩色的 info 文件

在 Linux 中若要查閱線上手冊,除了最常見的 man page 之外,也有許多文件是以 info 的格式寫成的,之前介紹過 man page 可以藉由指定分頁程式來顯示彩色的文件,而 info 格式的文件也有類似的方式可以讓文件變成彩色的,以下是設定步驟教學。

Step 1
安裝 pinfo 套件,如果是 Ubuntu 或 Debian Linux,則可使用 apt 安裝:
sudo apt-get install pinfo

若為 FreeBSD 則使用 port 安裝:
cd /usr/ports/misc/pinfo/ && sudo make install clean

Step 2
接著就用 pinfo 取代原本的 info 指令,例如一般查閱 bash 的 info 文件是這樣:
info bash

Linux 的 /etc/shadow 檔案結構:儲存真實密碼的地方

Linux 中的 /etc/shadow 這個檔案是用來儲存 Linux 帳號真實密碼與其於相關資訊的地方,其中的內容每一行都對應到 /etc/passwd 中的一個帳號,而不同欄位之間以冒號(:)分隔,就像這樣:

Linux /etc/shadow file format

總共有九個欄位,以下是各個欄位的說明:

1. 登入名稱(login name)

登入時輸入的帳號名稱。

2. 加密的密碼(encrypted password)

經過 crypt 加密過的密碼,如果這裡所儲存的內容不符合 crypt 加密的輸出格式(例如包含 *! 等特殊字元),則此使用者就無法登入。

如果這個欄位內容的第一個字元是驚嘆號(!),則表示這個密碼目前已經被鎖定,無法登入,而驚嘆號後面剩餘的字串就是被鎖定之前的密碼。

這個欄位可以如果是空的話,則該使用者就可以不用密碼登入系統,但會使用到 /etc/shadow 的應用程式,可以自行決定是否要接受無密碼的狀況。

在自己的系統如果忘記 root 密碼時,就可以用 Linux 安裝光碟開機進到救援模式(或使用現在常見的 Linux Live 光碟),把這個欄位清空,這樣就可以用 root 登入重設密碼。

竹北天后宮恭送三芝鄉小基隆福成宮金面媽祖回鑾

今天天氣不錯,早上到竹北天后宮旁邊買早餐,碰到三芝鄉小基隆福成宮金面媽祖回鑾,又剛好有帶相機去,就找個好位子拍個幾張相片,以前在竹北不常碰到這種活動,最近好像這種宗教祈福活動有比較多。

三芝小基隆福成宮金面媽祖
三芝小基隆福成宮金面媽祖

在 Unix/Linux 中顯示彩色的 Man Page 文件

在一般的 Unix 與 Linux 系統中,如果要查詢線上說明文件,最常用的工具就是 man page,而傳統上的 man page 都是像這樣,文字排版沒有太多的變化。

傳統的 man page
傳統的 man page

如果想讓 man page 加上顏色,可以安裝 most 這個分頁程式(paging program),讓 man page 更容易閱讀,以下是安裝與設定步驟。

關閉 Ubuntu Linux 回報問題功能

在 Ubuntu Linux 的桌面環境中,如果系統出現問題時,就會跳出這個回報問題的視窗。

ubuntu system crash dialog

以下介紹如何關掉這個煩人的回報功能。

Step 1
在終端機中執行:
gksu gedit /etc/default/apport

使用 flvcd 下載優酷、土豆網的影片

優酷、土豆網上面有許好看的影片,之前我們介紹過如何破解非大陸 IP 不能看的問題,而這裡則介紹如何把這些網站上的影片直接下載回自己的電腦中,這樣要看的時候就不用連上網路,減少網路頻寬的使用。

Step 1
首先打開想要下載的影片網頁,並把網址複製下來。

土豆網

在播放影片時,通常會有很長的廣告,不用等廣告播完,直接將網址複製下來後,就可以關掉它了。

FLV Player nano:免安裝的 FLV 影片播放軟體

許多人會從網路上(如:YouTube、土豆網或優酷等)下載一些影片到自己的電腦中觀看,而下載下來的影片常常會是 FLV 這種串流媒體格式檔案,這種檔案格式沒辦法在 Windows 中直接播放。

這裡介紹一個免安裝、而且超迷你的 FLV 影片播放軟體 FLV Player nano,他只有 17K 的大小,直接下載後即可播放 FLV 影片檔,很方便,以下是使用步驟。

Step 1
連到 FLV Player nano 網站,下載繁體中文的版本。

KMPlayer 萬能影音播放軟體安裝教學

KMPlayer 是一套韓國人所開發的影音播放軟體,這裡介紹如何在 Windows 中安裝此影音播放軟體。
這個 KMPlayer 撥放軟體所支援的影片檔案格式非常多,例如:AVI、MPEG 1/2/4、MKV、OGM、DVD、VCD、SVCD、FLV 等影片檔,APE、MP3、WAV、MPC、Flac、MIDI 等聲音檔,以及 BIN、ISO、IMG、NRG 等音樂光碟影檔,KMPlayer 都可以直接開啟撥放,非常方便。

Step 1
首先連到 KMPlayer 的官方網站,下載 KMPlayer 安裝檔。

KMPlayer 官方下載網頁

網頁上有兩個下載點,選哪一個都可以,但是安裝方式有些小差異,我們選擇 softonic 來示範,這個下載方式會直接把整個 KMPlayer 安裝檔下載到自己的電腦中,比較單純。而另一個 cnet 的則是會提供下載工具直接下載安裝。

自己更換脆化碎掉的環形日光燈燈腳(燈座)

最近家裡的一盞環形日光燈管壞了,原本想說買一隻新的日光燈管換上去就可以了,沒想到在換的時候,燈腳一碰就整個碎掉,看來是用太久,塑膠整個脆化掉,沒辦法只好先把剩下的兩條電線先用絕緣膠帶纏起來,避免兩條電線碰觸而短路,結果就變成這個樣子。

環形日光燈燈腳(燈座)脆化剝落
環形日光燈燈腳脆化剝落後,剩下兩條電線

圖片下方的兩條用絕緣膠帶包起來的電線,就是原本接在燈腳上的。原本想說搞成這樣是不是要把整個燈全換掉,後來發現其實可以直接買個新燈腳換上去,不用把整個燈具換掉,以下是更換過程。

修正 Google 部落格 Blogger 文章圖片超出邊框的問題

如果有在使用 Google 部落格 Blogger 的人應該會發現,在寫文章時貼上的圖片如果選的大小太大,就會超過文章的邊框,造成排版上的錯誤,這裡介紹如何加上簡單的 CSS 設定,自動修正這個問題。
Step 1
首先開啟 Blogger 的管理介面,點選「範本」裡面的「自訂」。

Blogger 部落格自定範本

在 Google 部落格 Blogger 加入「相關文章」(Related Posts)小工具教學

網路上許多部落格的文章結尾處,都會列出相關的其他文章,方便讀者閱讀與搜尋,這裡介紹如何在 Google 的部落格 Blogger 中加入「相關文章」(Related Posts)這個小工具。

在 Blogger 內建的小工具中,並沒有「相關文章」的功能,所以網路上就有人自己寫了這樣的功能給大家使用,使用上很方便,以下是使用教學。

Step 1
打開瀏覽器連到 Related Posts Widget for Google Blogger v2.0 - Setup 網頁。

Related Posts Step 1

這個網頁可以幫你自動產生「相關文章」的程式碼,在 Options 中有許多選項,可依照自己的喜好選擇,而右上角也有一些 Demo 範例可以參考,調整好參數後,就按下「Update Demo & Code」。

在 Linux 中編譯安裝 RStudio Server 版(包含 R 與 Boost Library)

RStudio 是一個 R 的整合開發環境,改良原有的 R 使用界面,加入更多便利的功能,是目前最受歡迎的 R 使用者介面之一。

RStudio 的版本分為 Desktop 與 Server 兩種,Desktop 版是給個人安裝在自己的電腦上使用的,而 Server 版則是安裝在伺服器上面,以網頁介面的方式提供使用者線上使用。

Server 版的部分,如果是 Ubuntu/Debian Linux 的話,可以直接用 apt 安裝打包好的 deb 檔,而如果是 RedHat/CentOS Linux 的話,也有現成的 rpm 可以裝,我們這裡介紹如何在一般其他的 Linux 下自行編譯與安裝 RStudio 的 Server 版。

編譯與安裝 R 2.15.2

Step 1
首先到 R 的官方網站下載最新的 R 原始碼。
wget http://cran.cs.pu.edu.tw/src/base/R-2/R-2.15.2.tar.gz

Step 2
解壓縮下載下來的 R 壓縮檔。
tar zxvf R-2.15.2.tar.gz

Step 3
執行 configure,記得要加入 --enable-R-shlib 參數,如果沒有加入這個參數,則在後面編譯 RStudio 時候有問題。
cd R-2.15.2
./configure --prefix /opt/R/R-2.15.2 --enable-R-shlib

而 --prefix 參數是指定 R 要安裝的路徑。

Step 4
編譯程式,現在的多核心 CPU 可以用 -j 參數指定平行化編譯,會加快很多,這裡我們使用 4 核心的 CPU 來編譯。
make -j4

Step 5
將編譯好的 R 程式安裝到 /opt/R/R-2.15.2。
make install

VirtualBox 設定分享資料夾(Shared Folder)教學

VirtualBox 是一個很普及的虛擬機器軟體(也是免費開放原始碼軟體),在使用虛擬機器時,有時候會需要將檔案由 Host OS(正常的 OS)傳進 Guest OS(裝在虛擬機器的上 OS)或是從 Guest OS 傳出來 Host OS,而 VirtualBox 中就有提供這樣的功能,稱為分享資料夾(Shared Folder)。

這裡示範在 Mac OS X 中的 VirtualBox 如何設定 Guest OS 為 Ubuntu Linux 與 Windows 的分享資料夾。

Linux

這裡以 Ubuntu Linux 作為示範,但同樣的做法也可以用在其他的 Linux distribution。

Step 1
首先設定 Host OS 中 VirtualBox 的分享資料夾,從「Device」選單中開啟「Shared Folders」設定視窗。

VirtualBox 的 Shared Folders 功能選單
VirtualBox 的分享資料夾功能選單

點選右方的「Add Shared Folder」圖示。

在 Linux 中使用 kill、killall 與 xkill 等指令強迫關閉程式

在 Windows 中如果有程式執行到一半當掉或沒有回應,可以使用 Ctrl + Alt + Delete 開啟工作管理員,砍掉當掉的程式,而在 Linux 中如果程式當掉,也有類似的方式可以直接砍掉指定行程(process)。

使用 kill 指令

在 Linux 若要中止程式的執行,最常見的方式就是使用 kill 指令,此指令可以將指定的行程(process)強迫中止,其使用方式如下:
kill PID
其中 PID 就是要中止的行程 ID(Process ID),這個 PID 可以從 ps 指令的輸出中得到。

而有時候程式當掉時,這樣的方式如果沒辦法停止程式的執行,可以試試看以不同的訊號(signal)試試看:
kill -15 PID
這樣會強迫程式馬上中止。kill 指令常用的訊號有幾個:
  • -2:這個訊號與鍵盤輸入 Ctrl + C 是同樣的動作,也是通知程式停止執行。
  • -9:立刻強制停止程式執行。
  • -15:以正常的程序通知程式停止執行,這是預設的訊號。
  • -l:列出所有可用的訊號。
以下是一些 kill 指令的使用範例:

將行程 ID 為 12932 的程式終止:
kill 12932

強制中止行程 ID 為 12932 的程式:
kill -15 12932

指定 Facebook 「讚」(like)與 Google Plus +1 分享 Blogger 部落格文章的顯示圖片

我們之前介紹過如何在 Google 的 Blogger 部落格中加入 Facebook 的「讚」與 Google Plus +1 的按鈕,透過這樣的方式可以讓網友們很容易的分享自己喜愛的文章,Facebook 的分享方式就像這樣:

Facebook 按「讚」

而 Google Plus 的介面也很像:

Google+ 分享

在分享網站或文章到 Facebook 或 Google Plus 時,會有一張縮圖,而有時候自動顯示的縮圖會抓錯,抓到的圖片並不是我們想要的,這裡我們介紹如何修正這個問題。