2011年6月30日 星期四

Google+

由 Google 所推出的新社群服務,看起來有想要挑戰 Facebook 的意圖,不過看得出來介面簡潔大勝 FB,視訊功能強大又勝一籌,希望兼顧隱私跟不要為惡的宗旨,我很願意試試看~

(目前只有封閉測試,還沒有開放給所有人使用。)

Google牌社群服務來了! 「Google+」

2011年6月27日 星期一

FreeBSD Unable to find device node

剛剛在安裝 FreeBSD 的時候,分割完硬碟的 Partition,要繼續切割 Slice 的時候,突然出現一個訊息:

Unable to find device node for /dev/da0s1b in /dev!

也就是怎樣都無法寫入分割表,裝了這麼多年 FreeBSD 倒是第一次遇到這種情形,不知道是不是因為我安裝在 Virtual Machine 裡面。

拜了 Google 大神之後,有個解法如下:

安裝光碟 (CD1) 的選單中,有個 fixit 的模式,進入之後會叫你換光碟片,這光碟片就是 ISO 檔中稱為 livefs 的東西,例如 FreeBSD-8.2-RELEASE-i386-livefs.iso

這個光碟其實是 FreeBSD 的 Live CD,可以用它得到一個 shell。然後可以使用一些基本的工具,這時候輸入指令:

dd if=/dev/zero of=/dev/da0 bs=64k count=1

然後重新開機再安裝就可以了。

[參考]

2011年6月18日 星期六

我終於也開始玩 Amazon EC2 了!

之前我都自己用 VMware ESXi 4 架設自己的私有雲主機,但一來備份麻煩(也沒有 vMotion),二來硬碟掛了真是讓我頭大!以往伺服器硬碟掛了也不過影響到一台電腦的服務,虛擬主機掛了可是一連串的災難!

我在備份 VMware ESXi 上面的 Virtual Machine 時,如果 guest OS 是 FreeBSD,就用 rsync 將資料同步出來,如果 OS 是 Windows 系列,也是用某些檔案備份工具。然後每固定一段時間,透過 CloneZilla 將 Virtual Machine 透過網路備份出來。但因為使用 CloneZilla 必須將 guest OS 關機,所以服務得中斷,幸好是在學校,總是有空檔讓我作這件事。(例如半夜)

但最近覺得偶而硬體故障,以及需要時常備份,實在是有點煩人的事情。所以開始摸索 Amazon EC2 的雲端服務。目前註冊都還有一年免費的使用權。(但限使用基本的方案)

[[MORE]]
註冊完,使用預設的系統 image 可以很快啟用一台主機(它稱為 instance),例如 Basic 64-bit Amazon Linux AMI 2011.02.1 Beta 或是 Ubuntu 或是 CentOS 都可以免費使用。

以 Basic 64-bit Amazon Linux AMI 2011.02.1 Beta 為例,啟用起來之後,記得注意一下防火牆(Security Groups)的相關設定,必須檢查一下是不是有啟用 ssh (port 22)允許 0.0.0.0 連入。(當然要更安全一點,也可以設定成只允許自己的 IP 連入)

然後使用像這樣的指令連入建好的虛擬機中:

ssh -i mykey.pem ec2-user@ec2-XXXXXX.compute-1.amazonaws.com

如果是 ubuntu 主機,需使用 ubuntu 這個帳號連入,如果是其他版本的 Linux ,則可能直接使用 root 連入。
安裝套件則使用 sudo 進行,例如:

sudo yum groupinstall "Web Server"
sudo yum groupinstall "MySQL Database"

這兩行指令就可以把 LAMP 環境建構起來了,不過當然在防火牆設定上一樣得允許 port 80 連入才行。

雖然伺服器成功啟動了,但還沒想到應用到學校的網路服務中,可以怎麼玩,然後學校可以達到利益最大化,過兩天玩熟悉一點再說囉~

參考文件:

2011年6月16日 星期四

iPhone用戶 最愛用的10組懶人密碼

新聞:iPhone用戶 最愛用的10組懶人密碼

以往手機用簡單的四位數字作為密碼,因為裡面也沒太多隱私資料,但隨著智慧型手機越來越普及,其實是該挑一個比較安全的密碼了!畢竟現在拿到手機,就等於拿到信箱、社交網站、照片各種資料的存取權限了~

2011年6月2日 星期四

使用簡單的 php 程式存取 google 帳號資訊

有很多企業或學校使用 Google Apps 來作為內部或對外的雲端服務,但如果想寫一個程式,讓程式可以存取已經登入的 google 帳號資訊,有沒有比較簡單的方法呢?

我會想這個問題是因為最近想做一個收信的簽到簿,因為 Gmail 沒有提供收信回條功能,有某些第三方網站(例如 Spypig )雖然提供類似的功能,但他們多半是使用插入外部圖片的方式,去判斷圖片被打開的時間。但這個方法有幾個嚴重的限制,例如大量發信時無法知道是哪一個人打開了信,只能知道有信被打開了。而且 gmail 預設會阻擋外部圖片,除非使用者好心去按了「顯示信件中的圖片」。

[[MORE]]

所以最好可以直接用個簡單的 php 程式,直接讀取目前已經登入的 Google account 郵件地址,然後透過後端資料庫進行紀錄即可。對使用者而言,他不需要重新登入,只要同意這個問題即可:「某個第三方服務正要求授權以存取您的 Google 帳戶。 」

這個方法列示在此文件中
設計者需要準備三個檔案,一為 PHP OpenID library,一為 login.php,以及引導使用者前往授權同意頁面的按鈕即可。

後面兩個檔案的內容,請移駕至原網站即可得知。

Ubuntu Unity 介面呼叫傳統主選單

Ubuntu 11.04 預設採用了 Unity 介面,很多人都很不習慣,包括我,本來想強迫自己適應,但是今天找不到一個程式,突然覺得再這樣下去不行了。(我想找的程式是中文檔名,Unity 的「搜尋」居然不能輸入中文,是只有我這樣還是大家都這樣?)

於是先試了 Linyl 網友提供的方法,使用 Avant Window Navigator 這個套件去新增一個 main menu 的按鈕,但這樣畫面稍微變得更複雜了些,也許是我誤會了 Linyl 的意思。但不管,我繼續找看看有沒有別的維持 Unity 介面簡潔,又可以擁有主選單的方法。

於是找到了這個 Use Classic menu in Ubuntu 11.04 Unity Launcher,先看一下效果像這樣:
[[MORE]]
Ubuntu Unity main menu

方法簡述如下:

打開終端機界面,依次輸入以下指令:


sudo add-apt-repository ppa:cardapio-team/unstable
sudo apt-get update
sudo apt-get install cardapio

mkdir ~/.local/share/applications
gedit ~/.local/share/applications/Cardapio.desktop


然後將以下這段文字複製貼上後存檔結束 gedit:

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=cardapio
Name=menu
Icon=gnome-main-menu


之後使用檔案瀏覽器,去開啟這個資料夾 “.local/share/applications”
(可以用 Ctrl-H 顯示隱藏資料夾)

然後將 Cardapio.desktop 這個我們剛剛編輯出來的檔案,使用拖曳的方式拉進 Unity 的選單中。
接下來按下選單中新增的按鈕,就可以跑出主選單了,但預設會出現在畫面的正中央,這樣很難看,所以我們還要調整一下。

打開 CompizConfig-Setting-Manager ,如果沒有這個的,可以透過這個指令安裝(sudo apt-get install compizconfig-settings-manager)

在「放置視窗」(Place Windows) 的設定項目中,找到「固定視窗位置」(Fixed Window Placement tab) 的分頁。
在最上面那一欄(視窗以位置方式固定)點選「新增」。

視窗的部位設定為 “name=cardapio” (不含雙引號)
x 設定為 70
y 設定為 30
保持在工作區域 要打勾


這樣就大功告成囉!有一點麻煩,但是出來的效果感覺還不錯。

然後我裝完之後,還沒使用這個主選單就找到我原本要找的東西了。我本來要找「終端機」,其實只要輸入「term」就找到了。但是上面的設定過程不是就要用到終端機了嘛?所以我根本是耍笨。