2007/12/07

何處飛來雙白鷺?

江城子 蘇軾

鳳凰山下雨初晴。水風清,晚霞明。
一朵芙蕖開過尚盈盈。
何處飛來雙白鷺?如有意,慕娉婷。

忽聞江上弄哀箏,若含情,遣誰聽?
煙歛雲收,依約是湘雲。
欲待曲終尋問取,人不見,數峯青。

2007/11/10

增加 WordPress 的編輯器按鈕

WordPress 的 WYSIWYG 是用 TinyMCE 這套,但是預設的按鈕很少,只有粗體、斜體、刪除線等等幾種,字體顏色、字體大小、背景色等等都沒有。
但 WordPress 在這藏了 一個小技巧,在文章編輯畫面中,如果是 Firefox 只要同時按下 Alt + Shift + v 這三個鍵,就會跑出第二行按鈕。如果是 IE,按下 Alt + v 也會有同樣的效果。

不過這第二行也沒有背景色或字體大小可以選,而且字體顏色還要按組合鍵才會出現實在太麻煩了。
由於之前玩過 TinyMCE,所以知道 TinyMCE 這些按鈕的設定方式。因此直接到程式碼中找設定,果然在 wp-includes/js/tinymce/tiny_mce_config.php 裡找到這些按鈕的設定(檔名一看就知道這是 TinyMCE 的設定檔)。

2007/11/09

[網站介紹] browsershots.org - 測試網頁在不同瀏覽器下的效果

一個好的網頁設計師必須考慮到網頁在不同瀏覽器下的效果,以期讓所有的網友都能有良好的視覺效果。
http://browsershots.org/ 這個網站可以讓人檢視網頁在不同瀏覽器下的顯示效果,只要把網址輸入到首頁的欄位中,等個半小時就能看到網頁在不同瀏覽器下呈現的效果。

使用方法:
Step 1. 輸入網頁位址,並指定作業系統與瀏覽器。

2007/11/06

FreeBSD 6.2 - 設定 NFS

這陣子在裝台新 server,需要提供 NFS 服務。NFS 的運作原理這就不提了,在此僅註記 server 端與 client 的相關操作。

NFS Server 端操作
一、安裝程式
NFS Server 需安裝下列三個程式:
1. nfsd: 提供 NFS 服務。
2. mountd: 管理 NFS 檔案系統。
3. rpcbind:告知 client 端 NFS 使用的 port number。
如果安裝 FreeBSD 時有安裝所有的預設套件,那麼這些程式都會有。

二、修改設定檔
1. /etc/exports: 設定分享的目錄及權限,第一欄是要分享的目錄,第二欄是目錄的權限設定。
詳細設定方式請見 man exports。
注意一:同一個 slice 的目錄需寫在同一行,亦即一個分割區只能有一種權限。
注意二:修改之後要重新啟動 mountd 才能生效。
重開 mountd 指令為: kill -HUP `cat /var/run/mountd.pid`
2. /etc/rc.conf: 設定開機時自動啟動 NFS,加入以下設定:

rpcbind_enable="YES"
nfs_server_enable="YES"
# 以下都是預設值,可免。
nfs_server_flags="-u -t -n 4"
mountd_enable="YES"
mountd_flags="-r"


三、啟動 NFS
1. 重新開機。
2. 或輸入以下指令:
rpcbind
nfsd -u -t -n 4
mountd -r



NFS Client 端操作
一、安裝程式
client 不用安裝程式,但通常會執行 nfsiod 提高 NFS 效能,nfsiod 是 FreeBSD 內建的程式。

二、修改設定檔
1. 若要在開機時自動啟動 nfsiod,則在 /etc/rc.conf 加入以下設定:
nfs_client_enable="YES"
nfs_client_flags="-n 4"

2. 開機時自動掛載 NFS server 的目錄,則在 /etc/fstab 中加入以下設定:
192.168.3.1:/home/test    /mnt    nfs    rw    0    0


三、使用 NFS
1. 查看 NFS server 端(假設是 192.168.3.1)有分享哪些資料夾:
showmount -e 192.168.3.1

2. 掛載 NFS server 上的資料夾 /home/test 到本機的 /mnt/test
mount 192.168.3.1:/home/test /mnt/test



參考資料:
1. http://www.twbsd.org/cht/book/index.php?ch=21
2. http://linux.vbird.org/linux_server/0330nfs.php
3. man exports
4. man nfsd
5. man mountd
6. man rpcbind
7. man nfsiod
8. man showmount

2007/11/01

Ubuntu Apache2 userdir -> a2enmod -> force-reload

某台 Ubuntu 7.04 上的 Apache2 要開啟 userdir 的功能。
確認有 userdir 模組,也用 ln 在 /etc/apache2/mods-enabled/ 下增加 link,但執行 apache2ctl graceful 卻一直沒效果?

後來上網查發現 Apaceh2 多了一個 a2enmod 指令,直接下
a2enmod userdir
就會自動把 uerdir 模組的連結加到 /etc/apache2/mods-enabled/ 目錄下。

於是把剛剛自己加的 link 移到,換用 a2enmod 啟用 userdir,
執行之後跟自己加 link 沒多大差異,
不過最後顯示的訊息倒是讓我發現之前是哪做錯了
Module userdir installed; run /etc/init.d/apache2 force-reload to enable.

之前設定好之後是用 apache2ctl graceful 重開,
但我的連線對應到的仍是舊的 Apache 設定,因此一直沒有看到效果。
改用 apache2ctl force-reload 強制重開之後,一切就 ok 了~

2007/10/17

FreeBSD: fastest_cvsup - 找出連線速度最快的 CVSup server

就如同套件名稱一樣,這個套件是用來找出連線速度最快的 CVSup server。
安裝好之後,直接輸入 fastest_cvsup 會出現語法說明,比較常用的語法是:
fastest_cvsup -Q -c tw
這樣會顯示出台灣地區連線速度最快的一台 CVSup server,

如果要看詳細一點的評估記錄,就把 -Q 去掉:
fastest_cvsup -c tw
這樣會顯示所有評估的過程,並且在最後列出最快的前三台 CVSup server。

FreeBSD 的 ports 路徑: /usr/ports/sysutils/fastest_cvsup

2007/10/13

FreeBSD 進入單人模式 (single user mode)

FreeBSD 5.x 以後版本:
開機時從開機選單中選 Boot FreeBSD in single user mode 即可。

FreeBSD 4.x:
開機時看到 boot: ,輸入 boot -s 即可。

2007/10/11

用 host -al 或 dig axfr 檢查 DNS 設定

基於安全考量, DNS server 不應該讓一般人取得網域的完整設定,也就是不能讓人隨隨便便就能看到整份 zone file。
而取得整份 zone file 的指令,可以用

host -al domain [server]



dig @server domain axfr

其中 domain 是網域名稱,server 是 DNS server。

當 DNS 設定完成後,最好利用上述指令測試一下,看其他未經授權的伺服器能否取得整份 zone 檔,
如果能夠任意取得,就要再進一步檢查 DNS server 的設定是否有誤。

2007/09/18

資料庫比對程式 - diffdb.php

別人寫的總是用不順手,還是自己寫的比較好用。

這程式的目的很簡單,比對兩個資料庫裡的所有資料表,把兩邊不一樣的地方 highlight 出來,可以一目了然地知道那邊不一樣。

使用情境:
一、撰寫程式時常會調整測試資料庫上的資料結構,在程式上線前一定要同步調整上線資料庫的結果,否則程式一上線,系統馬上就會出錯。
二、將程式模組移植到另一個系統時,要先確認兩邊的資料結構是否有差異,如果該有的欄位沒有、或欄位屬性不一致,那麼程式移植過去後一樣會出問題。

Demo: http://weblog.gilbert.tw/public/scripts/diffdb/
Download: http://weblog.gilbert.tw/public/scripts/diffdb/diffdb.zip
這程式是在 FreeBSD 4.11 + PHP 4.4.4 + MySQL 4.0.18 環境下開發測試,有興趣的人請自行下載、修改,不用客氣。

2007/09/12

Firefox 多了個 menuitem 字樣

Firefox 下方出現 menuitem 字樣
今天冒出來的怪問題。

參考網友的說明(Google://Firefox menuitem),原來問題出在 Java RE 上。
檢查之後發現我裝了兩個 Java RE,一個 1.5.0,一個 1.6.0。
把 1.5 那版 uninstall 之後,Firefox 就恢復正常了。

2007/09/09

PHP 的 include_path 設定

依據官網的說明:
http://tw.php.net/manual/en/ini.core.php#ini.include-path
include_path 這個設定會決定 require、include、fopen、file、readfile、file_get_contents 這些函式的搜尋檔案時的路徑順序。
設定時各路徑的分隔符號與作業系統的環境變數 PATH 一樣:在 UNIX 下是用冒號( : ),在 Windows 下是用分號( ; )。
引入檔案時,越左邊的路徑越先被搜尋,一旦搜尋到就會停止搜尋,不會繼續往右側的路徑找。

要調整 include_path 設定,可以利用以下方式設定:在
1. 直接修改 php.ini。
2. 修改 Apache 設定檔 httpd.conf 或 .htaccess 檔。
3. 利用 PHP 函式 ini_set() 或 set_include_path()。

補充說明:
1. 路徑名稱中的句點( . ),表示程式執行時的目錄。
2. PHP 執行期間,可以利用 get_include_path() 函式得知目前的 include_path 設定。

2007/09/05

FreeBSD 6.2 之前版本利用 ports 裝套件時的錯誤訊息

在 FreeBSD 4.11 上裝套件時出現以下錯誤訊息:

On FreeBSD before 6.2 ports system unfortunately can not set default X11BASE by itself so please help it a bit by setting X11BASE=${LOCALBASE} in make.conf.
On the other hand, if you do wish to use non-default X11BASE, please set variable USE_NONDEFAULT_X11BASE.
*** Error code 1

Stop.

解決方法就是照著英文的說明做,在 make.conf 檔裡加上這麼一行

X11BASE=${LOCALBASE}

就可以了!
(make.conf 一般是放在 /etc 下,找不到就用 locate 或 find 找)

2007/09/04

PHP 消失的 ?>

一般 PHP 程式都是以 <?php 開頭,以 ?> 結束。可是不時會發現一些套件裡的 php 檔,沒有用 ?> 結束,感覺好像是漏掉了一樣。
直到最近才瞭解這是怎麼一回事,原來消失的 ?> 是有含意在裡頭的。

寫程式時難免會 include 或 require 其他檔案,對於 php 來說,如果引入的檔案最後有多餘的空白或換行,有時候就會出問題。
舉例來說,假設有兩個程式 inc.php 與 endofphpfile.php,程式內容如下:

// inc.php
$filename = 'php.jpg';
?>

// endofphpfile.php
require_once "inc.php";
$size = getimagesize($filename);
$fp = f o p e n($filename, "rb");
if ($size && $fp) {
h e a d e r ("Content-type: {$size['mime']}");
f p a s s t h ru ($fp);
exit;
}
?>
開啟 endofphpfile.php 可以看到 PHP 的 icon(範例一)。

但如果 inc.php 的文末多了一個換行,就像下圖這樣:
20070903_endofphpfile_1rn
這樣也還是可以看到圖檔(範例二)。

可是如果換成是多了兩個換行:
20070903_endofphpfile_2rn
這下就看不到圖檔了(範例三)。

可是如果換成是有三個換行:
20070903_endofphpfile_3rn
一樣看不到圖檔(範例四)。

因此如果把 ?>拿掉呢?
20070903_endofphpfile_0
就能看到原本的圖檔了(範例五)!

其他在下載檔案或直接丟 content 出去的狀況,都會遇到類似的狀況(瀏覽器會先收到額外的換行)。
因此,為了避免引入檔案時衍生的不必要的麻煩,就把 php 檔最後的 ?> 拿掉,避免送出額外的空白或換行。

2007/09/03

PHP 的 session 有效時間

session 的有效時間由 php.ini 裡的 session.gc_maxlifetime 決定,預設值時 1440 秒。
一般網站就用預設值就可以了,但是企業內部系統就可以設定長一點,免得離開位置喝個咖啡回來,session 就被清掉了。

如果只要針對特定 VirtualHost 設定,可以在 VirtualHost 裡設定

php_admin_value session.gc_maxlifetime 3600

ionCube PHP Encode 6.5.13

2007.08.01. 釋出 6.5.13 版,這次修正中比較令我注意的是這點:

* The newline at the end of ASCII encoded files is no
longer present.
This keeps a particular forum plugin manager happy
that incorrectly considered a newline at the end of
encoded files to be a problem.

之前加密的 PHP 在產生圖檔時總是會發生錯誤,就是因為上面這個問題導致圖檔送出前多送出了一個換行,因此圖檔無法正常顯示。
另外用 PHP 送出文字檔時,最前面也會多出一個空行來。
等了近半年,總算是修正這個問題了。

2007/08/24

Firefox 字型跑掉...

今天裝了 Flash 8 之後,Firefox 的字型就跑掉了,逛 Big5 網站竟然是用標楷體(原先是新細明體)。
利用「工具」、「選項」把預設字型改回新細明體之後,雖然有改善,但是部分頁面還是新細明體,而檢視頁面原始檔還是一樣慘。
Firefox 字型跑掉

2007/08/18

台灣縣市及鄉鎮市區 sql 匯入檔

一時找不到現成的,參考幾個網站後自己 key,日後有需要直接 import 就好了。

  • 台灣縣市 sql 匯入檔

  • 台灣鄉鎮市區 sql 匯入檔
  • 2007/07/17

    Apache Log 出現 /_vti_bin/owssvr.dll 與 /MSOffice/cltreq.asp

    察看 Apache Log 檔時看到奇怪的訊息:

    [Sat Jul 16 11:53:25 2007] [error] [client XXX.XXX.XXX.XXX] File does not exist: /_vti_bin/owssvr.dll
    [Sat Jul 16 11:53:25 2007] [error] [client XXX.XXX.XXX.XXX] File does not exist: /MSOffice/cltreq.asp

    用 Google 查了一下,發現原來是 IE 工具列上的「討論」的關係。
    如果網友有開啟 IE 的「討論」功能,
    連到網站時就會自動去取得 /_vti_bin/owssvr.dll 和 /MSOffice/cltreq.asp 這兩個檔案。
    (這個「討論」的功能,要安裝 Microsoft Office 才會有。)
    IE Toolbar - Discuss
    實際測試看看,連到網頁後點一下那個「討論」的按鈕,
    再看 Apache 的 Log 檔,果然出現上面的錯誤訊息。

    原文出處:
    http://www.webmasterworld.com/forum23/637.htm
    http://lists.jammed.com/incidents/2001/10/0127.html

    2007/07/06

    AWStats 用後感想

    AWStats 是 Advanced Web Statistics 的簡稱,是用 Perl 撰寫的記錄檔分析程式,
    可以分析網站伺服器、檔案伺服器、郵件伺服器以及串流伺服器的記錄檔,產生統計報表。
    由於程式是以 Perl 撰寫,因此只要系統有裝 Perl,就能夠執行。

    照著網友的安裝說明,以及官方網站的文件,不一會兒功夫就能看到伺服器的統計報表:
    1. 安裝AWStats 6.1@「酷!學園」精華區:http://phorum.study-area.org/viewtopic.php?t=24569
    2. AWStats 官方說明檔:http://awstats.sourceforge.net/docs/awstats.pdf

    實際應用上,雖說 AWStats 主要是用來分析網站伺服器,但與 Google Analytics 相較之下,明顯遜色不少。
    但因為 AWStats 是分析 Apache 的 Log 檔,比起純以 Javascript 的 Google Analytics 可以多看到一些東西,像是「HTTP 狀態碼」和「找不到的網頁」的統計,就可以知道網站是不是有連結沒設定好或是是否遭人攻擊等。

    至於檔案伺服器與郵件伺服器,用 AWStats 來分析記錄檔倒是挺方便的,
    照著上述的教學文件,大約只花十多分鐘就看到郵件伺服器的分析報表。

    2007/06/24

    WordPress 的 themes 有 Path Disclosure 漏洞

    在查 Path Disclosure 相關資料時,無意間發現有網友指出 WordPress 的 themes 存在著 Path Disclosure 的漏洞,原文請見:
    http://cnc.sablog.net/blog/show-243-1.html

    該文是 2007.03.25. 發佈的,當時 WordPress 的版本是 2.1.2,
    而今我以 2.2 版測試,還是存在同樣的問題,因此先以原文提出的方式修正。
    但是將所有 wp-content/themes/default/ 目錄下的所有 php 檔,
    都加上原文提供的修正碼之後,編輯文章按下儲存之後,
    畫面卻出現 Access Denied 的錯誤訊息!

    明顯是剛剛修改的某個檔案有問題,仔細一個一個查,
    發現問題是出在 functions.php 這個程式。
    因此對於functions.php,在檔案最上方加上以下程式碼修正之:


    由於 error_reporting(0) 會抑制錯誤訊息的輸出,
    而我又不確定將 error_reporting 關掉是否會對後面的程式造成影響,
    因此其餘檔案就照原文提供的方式修正。

    2007/06/14

    升級 PEAR: ->1.3.6->1.4.11->1.6

    幫一台 server 裝新版的 Log 套件,輸入
    pear install Log
    之後卻顯示
    No handlers for package.xml version 2.0
    到 pear.php.net 瞧瞧,果然有說明(http://pear.php.net/manual/en/faq.php)
    原來是這台 server 的 PEAR 版本太舊了,所以不能裝。
    要先把 PEAR 升級之後,再來裝套件。

    裝 PEAR 之後衍生 include path 的問題

    今天幫一台 server 裝 PEAR,裝好之後本來的程式卻出現以下的錯誤訊息:

    Fatal error: Call to undefined method: log_file->_format() in /usr/local/share/pear/Log/file.php on line 293

    追蹤之後發現,原來這程式有用 PEAR 的 Log 套件(Log.php),並且使用 Log 套件的 file.php。
    由於本來沒有裝 PEAR,因而將 Log 套件裝到該程式自己的目錄下自行引入。
    安裝 PEAR 之後,原本的程式還是引入自己目錄的 Log.php,
    但是 Log.php 去呼叫 file.php 時,
    因為裝了 PEAR 之後 include path 多了 /usr/local/share/pear,
    就變成引入 /usr/local/share/pear/Log/file.php。

    沒有裝 PEAR 之前:
    程式引入 /home/user/Log.php -> Log.php 引入 /home/usr/Log/file.php

    裝 PEAR 之後:(include path 多了 /usr/local/share/pear)
    程式引入 /home/user/Log.php -> Log.php 引入 /usr/local/share/pear/Log/file.php

    /home/user/Log.php 是 1.9.3 版、/home/usr/Log/file.php 是 1.44 版,
    而今天裝的 PEAR 的 Log 套件是 1.9.11 版、file.php 是 1.45 版。
    在 1.45 版的 file.php 裡用到 Log 物件的 _format 方法,而這個方法 1.9.3 版的 Log.php 沒有,因此產生了錯誤訊息。
    後續處理就把自行安裝的 Log 套件升級到 1.9.11 版(不用改程式)。

    2007/06/13

    HiNet 廣告信處理公告

    記錄一下,方便日後查詢: 

    HiNet 廣告信處理系統公告 http://spam.web.hinet.net/
    固定制停話處理中名單 http://spam.web.hinet.net/black_list_fixed.html
    非固定制停話處理中名單 http://spam.web.hinet.net/black_list_dynamic.html

    2007/06/11

    重設 D-Link DES-3225G 的密碼

    有機會接觸到兩台 D-Link DES-3225G,想要進 console 設定一些參數,但是沒有登入的帳號、密碼。很幸運地,其中一台的密碼被我猜出來了,可是另外一台卻猜不出來,而 DES-3225G 沒有 reset 的按鈕,手冊上也查不到任何 reset 的方法,最後打去 D-Link 問,只能送原廠處理。

    但是去問負責送修的聯強國際,卻說這台 DES-3225G 已經沒有料件,不能送修?再回頭去問 D-Link,客服卻跟我說抱歉?這台已經沒有零件,無法維修。
    奇怪?不過 reset 個密碼,要什麼零件?懶得跟客服囉唆,上網找其他辦法。

    果然在 http://forums.windrivers.com/showthread.php?t=69487 找到解決方法!
    (google://D-Link DES-3225G  reset password)
    原來 D-Link 的這台 swtich 有個萬用密碼,這個萬用密碼依據 MAC address 而設定,每台 DES-3225G 的萬用密碼都不同。後來直接抄下 MAC address 跟 D-Link 要萬用密碼,果然不管用什麼帳號都可以登入。

    DES-3225G login log from backdoor
    如果用萬用密碼登入,switch 的 log 裡會加上 backdoor 字樣的註記:
    Successful login through console(backdoor).

    讓 joe 顯示中文

    要讓 joe 可以顯示中文,就要將 joe 的 asis 打開。
    預設時關閉的,只要將設定檔的 -asis 前面的空白刪掉就可以開啟。

    joe 設定檔在
    FreeBSD: /usr/local/lib/joerc
    Ubuntu: /etc/joe/joerc

    如果使用者家目錄有 .joerc 檔,那麼就要改家目錄下的 .joerc。

    2007/06/08

    換 Blog 系統

    WordPress 用了幾個月,還滿順手的,沒遇到什麼大問題。
    就趁今天把 http://weblog.gilbert.tw/ 換成 WordPress 版,
    原本的 Nucleus 先移到 http://www.gilbert.tw/OldBlog/
    等文章都移到 WordPress 之後再封存起來。

    datapipe - 轉 port 的小套件

    好幾年前用過的小套件,這幾天又找出來用。
    使用語法:
    datapipe localport remoteport remotehost
    上面的語法是舊版的語法,1.0 版的語法是:
    datapipe localhost localport remotehost remoteport

    比方說我要將 10.0.0.2 的 9999 埠轉到內部 10.0.0.1 的 80 埠,語法就是:
    datapipe 9999 80 10.0.0.1
    1.0 版的語法是:
    datapipe 10.0.0.2 9999 10.0.0.1 80

    執行後會自動 fork 到背景去跑,就算 logout 轉 port 的效果一樣會在。
    如果要取消,就把 PID 找出來 kill 掉即可。

    這套件是在 ports 的 net 目錄下( /usr/ports/net/datapipe )

    FreeBSD ports 說明:
    http://www.freebsdsoftware.org/net/datapipe.html

    2007/06/06

    PUD Linux 製作 iso 檔的指令

    今天重新做 iso 竟然想不起來之前下的指令
    還好 history 沒有清掉,沒花多少功夫就找到了。
    不過為了避免日後忘記,還是記錄一下好了。

    在 build-livecd.pl 目錄下輸入以下指令:

    perl build-livecd.pl 2>&1 | tee -a /var/log/livecd.log

    主要是 2>&1 | tee -a 這段常記不住 *^_^*

    PUD Linux 的 ADSL 撥接設定

    備註一下 PUD Linux 上 ADSL 撥接的帳號密碼放在哪裡
    免得日後要改時漏掉

    • config/etc/ppp/chap-secrets

    • config/etc/ppp/pap-secrets

    • config/etc/ppp/peers/dsl-provider


    就這三個檔案要改,前兩個要 ADSL 的帳號跟密碼,最後一個只要帳號就可以了。

    2007/06/05

    要裝 Lightscribe System Software 才能做光雕片

    今天要做光雕片時發現 SureThing 和 Nero 都不能燒
    Lightscribe.com 上一查,原來還要裝 Lightscribe System Software 才行(連結
    應該之前電腦重灌時忘了裝

    Lightscribe.com 上有提供最新版 1.6.45.1 下載:
    http://www.lightscribe.com/downloadsection/windows/index.aspx?id=1370
    但是點選之後,卻是出現錯誤訊息:
    HTTP 500 內部伺服器發生錯誤
    真不曉得 lightscribe.com 在搞什麼東東 :S

    還好在 Nero 找到 1.6.43.1 的版本:
    http://www.nero.com/nero7/enu/System_Requirement_Updates.html
    (點畫面最下方的 DOWNLOAD 即可)

    2007/06/03

    MRTG 設定檔 Target 區塊常用設定

    詳細的設定參數請見官方網站:http://mrtg.hdl.com/doc/mrtg-reference.en.html

    以下是 MRTG 設定檔的 Target 區塊常用的設定:
    MaxBytes[label]: 數字
    MIB 可以達到的最大值(不要懷疑,既使不是以 Byte 為單位的 MIB 也是用這個參數)。
    被測量的兩個 MIB 會共用 MaxBytes,如果要分別設定,要用 MaxBytes1 和 MaxBytes2。

    Net-SNMP 指令語法

    詳細的說明可參考 Net-SNMP 官方網站的教學:
    http://net-snmp.sourceforge.net/wiki/index.php/Tutorials

    此處列出幾個常用的語法:

    2007/06/02

    MRTG 設定 - CPU 的使用者與系統使用量

    比較使用者與系統的 CPU 使用量
    MIB 1: ssCpuRawUser - user CPU time. - .1.3.6.1.4.1.2021.11.50
    MIB 2: ssCpuRawSystem - system CPU time. - .1.3.6.1.4.1.2021.11.52

    2007/05/30

    網路卡的製造商

    每張網路卡都有 MAC address,前三碼是製造商編號(OUI),這個 OUI 是向 IEEE 申請的,IEEE 有提供查詢介面讓人查詢。

    查詢網址:http://standards.ieee.org/regauth/oui/index.shtml
    IEEE OUI search engine

    只要將網卡的前三碼輸入就可以查出網卡的製造商,輸入格式是 XX-XX-XX,是用「-」,不是用「:」!
    比方說我的網卡的 MAC address 是 00-0E-A6-F6-9E-EC,就畫面中的第一欄輸入 00-0E-A6,輸出結果如下:
    IEEE OUI search result

    2007/05/25

    phpMyAdmin 的設定參數說明

    phpMyAdmin 有 wiki 了,裡頭有 config.inc.php 的各項參數說明:

    http://wiki.cihar.com/pma/Config

    MySQL Server 啟動、停止、重開 @Ubuntu 7.04

    記錄一下指令,免得搞混

    啟動: /etc/rc.d/mysql start
    停止: /etc/rc.d/mysql stop
    重開: /etc/rc.d/mysql restart

    2007/05/24

    三聯式空白複寫紙 - 點陣印表機用

    記錄一下規格,日後查詢用。

    寬: 3 in(76.2 mm)(含兩側打孔)
    高: 5.5 in(139.7 mm)

    圖檔參考:
    AutoID
    HiPOS購物網

    2007/05/22

    window.open() Syntax Generator

    window.open() 的參數老是記不清楚,乾脆寫個簡單的小程式來產生 script:

    Javascript - window.open() Syntax Generator
    Javascript - window.open() 語法產生器


    參考資料: http://www.w3schools.com/

    2007/05/21

    內網全斷! > switch 掛點? > UPS 插座故障。

    一早發現公司的內部網路全部斷線,起初以為是 NFS server 掛點,導致連線逾時。
    到機房檢查機器時發現,負責內部網路的 switch 一個 LED 燈都沒亮,原來是 switch 故障了。
    後來更換一台新的 switch,奇怪,還是一點反應也沒有?總不可能連新買的 switch 也是壞的吧?
    再仔細確認一下,switch 是新的,電源線也是新的,剩下有可能出問題的就是電源插座囉!
    果不其然,換了一個插座 switch 就正常了,再拿原來的 switch 來測試,也 ok。
    搞了半天原來是 UPS 上的插座故障了!(故障原因要送修後才知道)

    起初發現 switch 未供電時有懷疑是 UPS 的問題,但是其他使用 UPS 電源的設備都正常運作,因此才以為是 switch 故障。
    不經一事不長一智,日後要將電源插座列入故障檢查步驟之一。

    2007/05/18

    PUD GNU/Linux 的 numlockx 設定

    用 PUD v0.4.7 做好的 Live CD 拿到 IBM R51e 上使用時,發現 U、I、O 這幾個鍵按下去變成數字,要打 sudo 變成 s4d6。仔細瞧瞧發現原來是 NumLock 是 on 的關係。

    一般 Linux 開機時 NumLock 是 off,但 PUD GNU/Linux 有安裝 numlockx 這個套件,因此進入 X 之後就自動把 NumLock 設定成 on。
    PUD v0.4.7 的 numlockx 的設定放在:
    config/etc/rc.local
    post-config/etc/X11/xinit/xinitrc* (所有 xinitrc 開頭的檔案)

    config/etc/rc.local 是針對 PC104 的鍵盤,自動設定 NumLock 為 on,而這段程式的設定方式是去調整 /etc/X11/xinit/xinitrc 裡的 numlockx 設定。

    post-config/etc/X11/xinit/xinitrc* 裡的設定,就是簡單地
    numlockx on &
    前面提到的 rc.local 就是將這裡的 numlockx on & 置換成 numlockx off & (如果不是 PC104 鍵盤的話)

    因此如果要將 numlockx 關掉,在製作 Live CD 時,就把這些 xinitrc 裡的 numlockx on & 改成
    numlockx off &
    或是直接註解掉就可以了
    #numlockx on &

    2007/05/13

    shell script 的除錯參數

    shell script 執行時有三個參數可以用來除錯,分別是 -n, -v, -x,語法是:

    sh [-nvx] [command_file]

    -n, 只檢查語法有沒有問題,不會真的去執行命令(就像 apachectl configtest)。
    -v, 在執行命令之前,先顯示命令。
    -x, 在命令執行之後,顯示命令。(最常用!)

    參考資料:
    1. bash shell 入門, O'Reilly, ISBN:986-7794-59-1
    2. http://linux.vbird.org/linux_basic/0340bashshell-scripts.php#debug

    2007/04/25

    FarFax.net 網路傳真 之 E-mail to Fax

    稍微查了一下目前台灣有提供網路傳真業務的廠商,
    目前看來只有 FarFax.net 這家的功能比較完整,有我需要的 Email to Fax 功能。

    其他像是 Seednet 網路傳真亭 只有 Web 介面的傳真功能。
    HiNet 的 HiNetFax網路傳真則除了有 PC Fax 的功能之外,還有 Socket2Fax 可自行撰寫程式使用,
    但是 Socket2Fax 僅限於 Windows 作業系統,而且沒有 Web 介面的傳真功能。

    FarFax.net 除了有 Web 介面之外,還有 Email to Fax 的功能,
    只要發封電子郵件,就可以將傳真發出去了!
    付費方式是採預繳費用、扣點數制,最低儲值 100 元,
    可以線上刷卡、ATM 轉帳或便利商店繳款購買點數,
    至於傳真結果可以利用 Web 介面進行查詢。

    整體來說 FarFax.net 除了沒有 API 之外,使用上十分便利。
    已經申請了一組帳號來試用,目前使用上還沒遇到什麼問題。

    2007/04/24

    Q: 城門城門雞蛋糕? A: 城門城門幾丈高。

    昨天有一則新聞讓我恍然大悟,多年的疑惑就此解開。

    小時後在唱的童謠:
    城門城門雞蛋糕,三十六把刀。
    騎白馬,帶把刀,走進城門滑一跤。

    長大之後一直覺得很奇怪,「雞蛋糕」跟城門有什麼關係?
    為什麼叫城門城門雞蛋糕?難道這首童謠是賣雞蛋糕的小販編的?

    原來這首童謠在安徽是這樣的:
    城門城門幾丈高,三十六丈高。
    騎大馬,帶把刀,走進城門繞一遭,問你吃桔子吃香蕉。

    原來中國各地口音不一,這首童謠傳來傳去、傳到台灣莫名其妙就變成了城門城門雞蛋糕。

    2007/04/18

    XHTML 規則小結 - 節錄自 ISBN 957-442-178-3

    節錄自 跨平台網頁設計 使用 Web 標準技術 ISBN 957-442-178-3 旗標出版
      XHTML 規則小結
    • 在網頁開頭處,加入適當的 DOCTYPE 與名稱領域。

    • 使用 META Content 元素,宣告網頁所用的字元編碼。

    • 所有元素與屬性名稱皆必須為小寫字母。

    • 所有屬性值必須加上引號。

    • 所有屬性值皆必須有屬性值。

    • 所有標記皆必須有結束部分。

    • 對於不含內容的標記,必須在結尾處加上空白字元與斜線符號。

    • 註解內不可使用連續兩個破折號。

    • 小於符號(<)必須以 &lt; 來編碼,& 符號必須以 &amp; 來編碼。

    2007/04/14

    修正 mysqldumpslow.sh

    依據 MySQL 官方網站的說明,MySQL Slow Log 可以用 mysqldumpslow 來察看,而使用語法可以參考 mysqldumpslow --help 得知。
    但實際上在 MySQL 4.0, 4.1, 5.0 執行 mysqldumpslow --help 後的結果卻是出現以下訊息:

    Unknown option: help
    Bad option at /usr/bin/mysqldumpslow line 19.

    官方網站上已經對此提出修正:
    http://lists.mysql.com/internals/22845
    照官方的說明是要利用 BitKeeper 來修正,不過看修正內容只是修改一下 mysqldumpslow.sh,自己修一下 code 就可以了。

    修正後的檔案可以從此處下載: http://weblog.gilbert.tw/public/mysqldumpslow.sh.gz

    2007/04/13

    Windows 捷徑的箭頭圖示 - 顯示與隱藏

    Windows 的捷徑檔案,預設在圖示的左下方會有一個小箭頭。
    如果覺得礙眼想要將它消除,只要將 registry 裡
    \HKEY_CLASSES_ROOT\lnkfile 內的 IsShortCut 刪除即可。

    如果想要復原,執行 regedit 後,
    \HKEY_CLASSES_ROOT\lnkfile 上按下滑鼠右鍵,
    然後選擇「新增」-> 「字串值」,再輸入 IsShortCut 即可。

    MediaWiki 導入公司內部待解決的問題

    MediaWiki 用了一陣子了,用來寫寫教學文件、系統開發文件還算堪用,用來記錄工作事項也還不錯。
    但是如果要導入公司內部使用,還有幾個問題需要克服:
    1. 權限系統:要能夠針對群組、使用者設定檢視、新增、修改的權限。
    2. 繁體中文的翻譯不夠完全,並且翻譯的品質有待改善。
    3. 圖檔上傳的介面要更人性化,方便一般人員使用。

    MediaWiki 用的人很多,上述的問題應該有外掛或 solution 才是。
    如果真的沒有,就換其他 wiki 系統試試看吧!

    2007/04/12

    ConvertXtoDVD - 將 avi 檔轉成 DVD

    簡單幾個步驟,就可以將 avi 和字幕檔一起轉成 DVD,甚至還能直接燒錄出來。

    官方網站: http://www.vso-software.fr/products/convert_x_to_dvd/

    使用說明: google://convertxtodvd

    2007/04/07

    prototype.js 官網改版及 v1.5.1_rc2 釋出

    記得幾個月前上 prototype.js 官網還是只是 v1.4.0
    版面也是簡簡單單的一兩個頁面
    今天想去抓 prototype.js 檔給新 Project 用(懶得從電腦裡找 :p)
    赫然發現官網竟然大幅改版,而且現在 stable 版本是 v1.5.0,並且連 v1.5.1_rc2 都出現了 :o
    另外還有提供說明文件,這真是太棒了!
    有用 prototype.js 的人快去官網看看吧!

    官方網站: http://www.prototypejs.org/
    檔案下載: http://www.prototypejs.org/download
    說明文件: http://www.prototypejs.org/api

    2007/04/03

    Microsoft AppLocale 公用程式 - 在 XP 下執行簡體或日文軟體

    在繁體中文的 XP 環境下,執行簡體或日文的應用軟體時,軟體的操作介面會呈現亂碼。
    這是因為該軟體的文字編碼不是繁體中文,因此顯示時會出現亂碼。

    在 UNIX 下可以藉由設定環境參數 LANG 或 LC_ALL 來解決此一問題,
    Windows 環境中也可以用變更「系統地區設定」的方式來解決,
    但 Microsoft 提供 AppLocale 公用程式,可以讓使用者在執行應用軟體時,不用變更系統地區設定就可以顯示正確的編碼文字。

    其他網友的介紹:
    * 無聊人的無聊小站 - 實用軟體介紹 - AppLocale
    http://www.chweng.idv.tw/swintro/apploc.php
    * 台灣FTP聯盟 - Microsoft AppLocale 導致安裝亂碼的問題
    http://vbb.twftp.org/showthread.php?t=7763

    2007/03/30

    Linux - 重開 X Window

    在 X Window 下直接按下 [Ctrl] + [Alt] + [Backspace]
    這會重新啟動 X Window 並重新載入設定檔

    2007/03/23

    斷行字元問題 in FreeBSD

    # 檢視文字檔案的特殊格式:
    cat -vet sample.txt

    # 將 UNIX 格式檔案轉換成 DOS 格式
    unixdos INPUTFILE OUTPUTFILE

    # 將 DOS 格式檔案轉換成 UNIX 格式
    dosunix INPUTFILE OUTPUTFILE

    unixdos 和 dosunix 都必須指定輸入與輸出檔案名稱
    並且輸入檔案與輸出檔案的檔名不可一致
    否則會把輸入檔案清空,需特別注意!

    斷行字元問題 in Linux

    # 檢視文字檔案的特殊格式:
    cat -A sample.txt (-A == -vET)
    # 將 UNIX 格式檔案轉換成 DOS 格式
    unix2dos
    # 將 DOS 格式檔案轉換成 UNIX 格式
    dos2unix
    PS. unix2dos 和 dos2unix 在 Debian 中的套件名稱是 tofrodos

    文字檔 ftp 時要指定成 ASCII mode - 斷行字元問題

    DOS 下的斷行字元是 CRLF (Carriage Return/Line Feed)
    UNIX 下的斷行字元是 LF (Line Feed)
    在 UNIX 下用 cat 來看時,CR 顯示成 ^M 、 LF 顯示成 $

    因此 DOS 下的文字檔用 ftp 上傳到 UNIX 上時
    如果是用 Binary 模式上傳
    用 vi 或 joe 開啟該文字檔時,每一行最後都會多一個 ^M

    反之,如果是用 Binary 模式將 UNIX 下的文字檔下載到 Windows 下
    用記事本開啟文字檔時會發現檔案的斷行都不見了(因為少了 CR)

    ftp 的 ASCII 模式,會自動將檔案轉換成適當的格式
    在 DOS 下的文字檔 ftp 到 UNIX 時,會自動把 CRLF 換成 LF
    同樣地,在 UNIX 下的文字檔 ftp 到 DOS 時,會自動把 LF 換成 CRLF
    因此,用 ftp 傳送文字檔時,務必要指定成 ASCII 模式。

    2007/03/08

    用 VMware 不就好了

    年前公司幫某上市公司撰寫年終尾牙抽獎系統,
    整個系統是運作在一台以 Ubuntu 6.10 安裝的 NB 上。
    尾牙當天運作的還算順利,客戶滿意度頗高,
    因此現在大陸廠那邊喝春酒要辦抽獎活動,這套系統要拿出來用。

    2007/02/27

    準系統 EZ-Buddie 掛點

    洗個澡回來,本來開著電腦變得沒聲沒息,仔細瞧瞧是主機關掉了。
    可是明明有裝 UPS,剛也沒聽到 UPS 再叫,怎麼會突然自動關機?
    再仔細檢查之後,確定是用了三年半的主機板掛點了...:(

    我的電腦是精英的 EZ-Buddie 準系統,當時因為外型時尚、體積小不佔空間、價錢也便宜,先買一套給妹妹用,後來自己電腦升級時也買一套來用。
    但這兩年板子上內建的晶片一個接著一個掛掉,先是內建網路卡掛掉,再來是內建的顯示卡不能用,現在終於連主機板也掛掉了。可是早幾個月買給我妹的電腦就還好好的?可能是我常三、五天不關機跑程式,把板子操壞了:o

    雖然我很喜歡這台的外型,但實在找不到可以更換的板子,只好忍痛換台 PC 了...

    2007/02/24

    瀏覽器統計數據

    網路上有關瀏覽器使用狀況的統計數據,不定時更新:

    www.upsdell.com - BROWSER NEWS
    http://www.upsdell.com/BrowserNews/stat.htm
    這裡的 source 頁面有列出參考來源,可以連去看看。

    W3Schools.com - Browser Statistics
    http://www.w3schools.com/browsers/browsers_stats.asp

    Market Share - Browser Versions
    http://marketshare.hitslink.com/report.aspx?qprid=6

    2007/02/13

    設定主機名稱 hostname

    設定主機名稱:
    hostname [主機名稱]

    若要在開機時自動設定,在 /etc/rc.conf 中加入以下設定:
    hostname="主機名稱"

    2007/01/21

    require 與 include 的差異

    require 與 include 的功能差不多,最大的差異是在當欲引用的檔案不存在時,錯誤處理的方式不相同。
    當引用檔案不存在時,require 會產生 Fatal Error,而 include 會產生 Warning(require_once 跟 include_once 也是一樣)。

    HiNet ADSL 非固定制與 FTTB 經濟型可申請固定 IP

    HiNet ADSL 非固定制與 FTTB 經濟型的用戶,可以申請固定 IP。
    詳細說明請參考:http://service.hinet.net/2004/adslstaticip_faq.htm
    申請網址: http://service.hinet.net/2004/adslstaticip.php