帕海貝爾的「卡農」 , 原本不認識他的在很多年前因為一位學音樂的同事的介紹才知道...
http://zh.wikipedia.org/zh/D%E5%A4%A7%E8%AA%BF%E5%8D%A1%E8%BE%B2
Pachelbel Canon in D Major Perfect Version
最初是在我的野蠻女友中被感動了,因為前女友又和別人結婚了然後來生了兩個小孩後我才知道....
卡農 (我的野蠻女友版本)
http://www.youtube.com/watch?v=hTchZZ4Tkug&feature=related
後來又看到 Jerry C 的 Canon Rock ,激勵人心,......但是那時候台灣記者不流行從 youtube 抄新聞,所以他沒有在現實世界中暴紅. 否則這各在國外知名度可就不是國內這些歌手可以比的,全世界的店吉他手狂鍊呀!!....
http://www.youtube.com/watch?v=by8oyJztzwo
但是 Jerry C 原始的 Canon 可能是錄音錄得不好,後來有個韓國人 fun two 把 jerry C 釋出的 canon rock 做了目前為只看過最完美的詮釋. (後來我有找到他現場live 的版本,都沒演奏的比這次的好) - 七千萬多次的點閱不是假的....
後來有個廣告影片,也以canon 為主軸激勵人心.....
引用自:http://www.youtube.com/watch?v=W25pBPWG75I
一個從小聾啞的女孩,懷揣著音樂的夢想長大,卻經常遭受姐姐的不屑與打擊。正當她對自身的價值產生疑問的時候,一個流浪藝人告訴她:音樂,只要你閉上眼睛,就能看見。
兩人同時入圍音樂節,由於嫉妒和害怕,姐姐在比賽前雇人摔壞了妹妹的小提琴,打傷了一直在教導妹妹的流浪藝人。
自以為陰謀得逞,但是妹妹仍然出現在比賽現場,飛揚的卡農從殘破的小提琴中破繭而出,震動了所有人的心。這是一部相當完整的濃縮版電影,伏筆,發展,轉折,高潮,典型的人物性格,激烈的矛盾衝突,可以說一切符合戲劇的元素都在本片中一一呈現。
開場的悲劇化色彩濃烈,聾啞的小女孩和落魄的流浪藝人同樣都是悲劇的代表人物。而最後的高潮運用了很多意象化的景物,曠野,蝶化,朝陽,都預示了一個新的方向。
極具衝擊力的運動鏡頭,充滿情緒化的蒙太奇剪輯手法,和引導人物命運的卡農樂曲,都給這部影片賦以激昂的史詩感。
片子雖然是潘婷的公益廣告,但與宣傳的商業主體已
無多大關係了,全片揭示的是一個勵志主題:
在困境中仍然能保持積極樂觀的人,
才是一個真正的強者~~
這個廣告折射人生,最喜歡裏面聾女和那個賣藝老人
間的對話:為什麼我和別人不一樣?為什麼你必須和別人一樣?
兩個世界(電影十分愛)~~卡農有配中文歌詞勒....
連新世紀福音戰士(弦樂四重奏) 也來嘎一腳....
http://www.tudou.com/programs/view/GLBadKb_3Sw/
各種經典的卡農...
http://www.our-sky.com/oubb/387183.html
http://www.pachelbelcanon.com/
2010/05/23
東埔國小合唱團 - 馬校長的合唱團
商周在一年前原來有對這個故事作介紹
http://www.businessweekly.com.tw/webarticle.php?id=35980&p=1
就以教育觀點來看,馬校長做的真是棒。他把原住民最優秀的點(體育及歌唱)發揮了出來,孩子門從這裡得到生活的自信,有自信在未來生命的旅途中變壞的可能性就降低了很多。當然還有很多其他的因素,包含讓學生學會了負責與認真.....這其實就是在教育心理學例面說的「比馬龍效應」,如果我們期待學生事實哪樣的人,建立學生的信心、鼓勵他讓他實現。他就自然會達到這個目標. 在台灣的中小學有很多老師或校長都很認真的在做這些事,國中小學知識只是學習中最不重要的一環,只是固有的中華文化將他綁住了。所以造成很多書唸不到的到最後都成為社會問題....
不過從東埔國小的網頁看來,馬彼得校長已經調任了....一樣是在南投的羅娜國小 , 或許是布農族對自己的族群有使命感,所以才這樣的堅持.
http://163.22.119.61/principal.php
布農族就其歷史來說,也是很傳奇的 http://zh.wikipedia.org/zh/%E5%B8%83%E8%BE%B2%E6%97%8F , 如果有在爬山的幾乎都會遇到這個族群的身影....
後來他門有出了紀錄片 - 限量公益發行的《唱歌吧》專輯與您結善緣!
http://www.voxnativa.org/
唱歌吧! 動人預告
東埔國小合唱團 - Cina, 媽媽.mpg - 這是其中的一首歌
第一名合唱團 - 有馬校長的訪問
東埔國小兒童合唱團 2009如新 種子的力量會議 台大體育館 演出
看起來是用數位相機拍的,但收音還算不錯
至於這個廣告只是在錦上添花而已....我並不會因為這個廣告忘記銀行的本質.....
大眾銀行 馬校長的合唱團 電視廣告 (3分鐘版本)
至於東浦國小在哪裡,可以看一下 google map ....就是真的在玉山裡啦!!
檢視較大的地圖
2010/05/15
Release for CentOS-5.5 i386 and x86_64(相當於RHEL 5.5)
引用自
http://lists.centos.org/pipermail/centos-announce/2010-May/016638.html
+++++++++++++++++++++++
Downloading CentOS-5.5 for new installs:
When possible, consider using torrents to run the downloads. Not only
does it help the community and keeps mirrors from running up high
bandwidth bills, in most cases you will find its also the fastest means
to download the distro. There are currently over three hundred people
seeding CentOS-5 and it's possible to get upto 100mbps downloads via
these torrents.
-- Via BitTorrent :
CD:
http://mirror.centos.org/centos/5.5/isos/i386/CentOS-5.5-i386-bin-1to7.torrent
http://mirror.centos.org/centos/5.5/isos/x86_64/CentOS-5.5-x86_64-bin-1to8.torrent
DVD:
http://mirror.centos.org/centos/5.5/isos/i386/CentOS-5.5-i386-bin-DVD.torrent
http://mirror.centos.org/centos/5.5/isos/x86_64/CentOS-5.5-x86_64-bin-DVD.torrent
LiveCD:
http://mirror.centos.org/centos/5.5/isos/i386/CentOS-5.5-i386-LiveCD.torrent
http://mirror.centos.org/centos/5.5/isos/x86_64/CentOS-5.5-x86_64-LiveCD.torrent
TANET直接下載:
ftp://ftp.nsysu.edu.tw/Linux/CentOS/5.5/isos/ 中山大學的 ftp 站,已經完成大部分的 mirror 了,只剩 DVD.iso 還沒下來而已。比較特別的是,DVD版的 X86_64 這次要用兩片裝才裝得下。
i386 直接下載 dvd.iso
ftp://ftp.cdpa.nsysu.edu.tw/Linux/CentOS/5.5/isos/i386/
x86_64 直接下載 dvd.iso 兩片裝
ftp://ftp.cdpa.nsysu.edu.tw/Linux/CentOS/5.5/isos/x86_64/CentOS-5.5-x86_64-bin-DVD-1of2.iso
ftp://ftp.cdpa.nsysu.edu.tw/Linux/CentOS/5.5/isos/x86_64/CentOS-5.5-x86_64-bin-DVD-2of2.iso
i386 指的是傳統 32bit 的 intel x86 架構機器, 記憶體定址只能到 4GB
x86_64 專門用於 64bit 的 intel cpu 架構,可以定址超過 4G ,所以請一你的需求自行選取
5.5 版的更新的說明
http://wiki.centos.org/zh-tw/Manuals/ReleaseNotes/CentOS5.5?action=show&redirect=Manuals/ReleaseNotes/CentOS5.5/ChineseTW
* 由 CentOS 5.5 起,x86_64 將會被分開為兩張 DVD。假若你需要額外的 OpenOffice(OOo)語言包,你再不能通過用 loop 掛載 DVD 的 iso 來執行安裝。你可選擇執行 cp -al 並重新產生中繼資料,或者在安裝好系統的其它部份後才安裝語言包。不需要額外 OOo 語言包的安裝應該只須利用 DVD#1 來運行。
* 利用 CD 或 DVD 等本地媒體時,請勿選取「CentOS extras 軟件庫」,因為這樣會令安裝過程出現問題。詳情請參閱 CentOS 錯誤報告 #3961。
* 當把運用 Nvidia 專利顯示驅動程式的系統升級時,問題曾經出現。X 在重新開機後無法啟動。權宜之計是以 runlevel 3 開機,執行 system-config-display 來設定 nv 驅動程式,然後移除並重新安裝 nvidia 驅動程式。
* 一台安裝了 VirtualBox 3.1.6 的 5.4 系統上亦遇上類似的問題,同樣需要移除及重裝牽涉內核驅動程式的套件。當系統更新至 5.5 後,來自 5.3、5.4 及 5.5 的 x86_64 CentOS 安裝程式在開機時亦當機。移除並重新安裝 VirtualBox 解決了問題。
http://lists.centos.org/pipermail/centos-announce/2010-May/016638.html
+++++++++++++++++++++++
Downloading CentOS-5.5 for new installs:
When possible, consider using torrents to run the downloads. Not only
does it help the community and keeps mirrors from running up high
bandwidth bills, in most cases you will find its also the fastest means
to download the distro. There are currently over three hundred people
seeding CentOS-5 and it's possible to get upto 100mbps downloads via
these torrents.
-- Via BitTorrent :
CD:
http://mirror.centos.org/centos/5.5/isos/i386/CentOS-5.5-i386-bin-1to7.torrent
http://mirror.centos.org/centos/5.5/isos/x86_64/CentOS-5.5-x86_64-bin-1to8.torrent
DVD:
http://mirror.centos.org/centos/5.5/isos/i386/CentOS-5.5-i386-bin-DVD.torrent
http://mirror.centos.org/centos/5.5/isos/x86_64/CentOS-5.5-x86_64-bin-DVD.torrent
LiveCD:
http://mirror.centos.org/centos/5.5/isos/i386/CentOS-5.5-i386-LiveCD.torrent
http://mirror.centos.org/centos/5.5/isos/x86_64/CentOS-5.5-x86_64-LiveCD.torrent
TANET直接下載:
ftp://ftp.nsysu.edu.tw/Linux/CentOS/5.5/isos/ 中山大學的 ftp 站,已經完成大部分的 mirror 了,只剩 DVD.iso 還沒下來而已。比較特別的是,DVD版的 X86_64 這次要用兩片裝才裝得下。
i386 直接下載 dvd.iso
ftp://ftp.cdpa.nsysu.edu.tw/Linux/CentOS/5.5/isos/i386/
x86_64 直接下載 dvd.iso 兩片裝
ftp://ftp.cdpa.nsysu.edu.tw/Linux/CentOS/5.5/isos/x86_64/CentOS-5.5-x86_64-bin-DVD-1of2.iso
ftp://ftp.cdpa.nsysu.edu.tw/Linux/CentOS/5.5/isos/x86_64/CentOS-5.5-x86_64-bin-DVD-2of2.iso
i386 指的是傳統 32bit 的 intel x86 架構機器, 記憶體定址只能到 4GB
x86_64 專門用於 64bit 的 intel cpu 架構,可以定址超過 4G ,所以請一你的需求自行選取
5.5 版的更新的說明
http://wiki.centos.org/zh-tw/Manuals/ReleaseNotes/CentOS5.5?action=show&redirect=Manuals/ReleaseNotes/CentOS5.5/ChineseTW
* 由 CentOS 5.5 起,x86_64 將會被分開為兩張 DVD。假若你需要額外的 OpenOffice(OOo)語言包,你再不能通過用 loop 掛載 DVD 的 iso 來執行安裝。你可選擇執行 cp -al 並重新產生中繼資料,或者在安裝好系統的其它部份後才安裝語言包。不需要額外 OOo 語言包的安裝應該只須利用 DVD#1 來運行。
* 利用 CD 或 DVD 等本地媒體時,請勿選取「CentOS extras 軟件庫」,因為這樣會令安裝過程出現問題。詳情請參閱 CentOS 錯誤報告 #3961。
* 當把運用 Nvidia 專利顯示驅動程式的系統升級時,問題曾經出現。X 在重新開機後無法啟動。權宜之計是以 runlevel 3 開機,執行 system-config-display 來設定 nv 驅動程式,然後移除並重新安裝 nvidia 驅動程式。
* 一台安裝了 VirtualBox 3.1.6 的 5.4 系統上亦遇上類似的問題,同樣需要移除及重裝牽涉內核驅動程式的套件。當系統更新至 5.5 後,來自 5.3、5.4 及 5.5 的 x86_64 CentOS 安裝程式在開機時亦當機。移除並重新安裝 VirtualBox 解決了問題。
2010/05/10
電子式互動白版(以 wii remote 概念的形式)
最初一開始是有個韓國博士生, Johnny Lee 在 youtube 公開他的研究成果,一個很便宜的電子白版解決方案 使用 wii remote 後來 28歲,從卡耐基美隆(Carnegie Mellon)大學取得博士學位任職微軟公司。
後來得了麻省理工學院科技評論雜誌TR35創新者獎
被邀請到 TED 演講...
http://www.ted.com/talks/lang/chi_hans/johnny_lee_demos_wii_remote_hacks.html
後來大家覺得這點子真是棒,開始使用在教學上...
國內中小學的老師也有在玩這些...
wiimote 和 紅外線LED燈 實作廉價『電子白板』(wiimote whiteboard)
http://media.ttes.ntct.edu.tw/blog/?p=524
Wiimote 電子白板‧自製紅外線筆
http://mail.lsps.tp.edu.tw/~gsyan/wiimote-whiteboard/ir-pen.html
但其實都有各問題點,就是因為他使用 wii 的紅外線攝影機偵測下筆的點,所以需要一點反應時間以及不能讓寫白板的手擋住紅外線攝影機,這兩個問題。
後來國內的廠商(Jector),有開發相關的套件模組,整個提供來賣。
產品介紹 http://www.jector.com.tw/5_1download/5.2_dm_pdf/10_J_Fairy.pdf
廠商借測 -- Epson EB-460wi 試玩接龍
這台短焦互動式投影機,因為是測試所以是由下往上打光,如果是固定安裝在教室內就可以避開上述的缺點了。
產品介紹:Epson 首創「反射式超短距互動投影機」
http://game.cool3c.com/node/21920
後來得了麻省理工學院科技評論雜誌TR35創新者獎
被邀請到 TED 演講...
http://www.ted.com/talks/lang/chi_hans/johnny_lee_demos_wii_remote_hacks.html
後來大家覺得這點子真是棒,開始使用在教學上...
國內中小學的老師也有在玩這些...
wiimote 和 紅外線LED燈 實作廉價『電子白板』(wiimote whiteboard)
http://media.ttes.ntct.edu.tw/blog/?p=524
Wiimote 電子白板‧自製紅外線筆
http://mail.lsps.tp.edu.tw/~gsyan/wiimote-whiteboard/ir-pen.html
但其實都有各問題點,就是因為他使用 wii 的紅外線攝影機偵測下筆的點,所以需要一點反應時間以及不能讓寫白板的手擋住紅外線攝影機,這兩個問題。
後來國內的廠商(Jector),有開發相關的套件模組,整個提供來賣。
產品介紹 http://www.jector.com.tw/5_1download/5.2_dm_pdf/10_J_Fairy.pdf
廠商借測 -- Epson EB-460wi 試玩接龍
這台短焦互動式投影機,因為是測試所以是由下往上打光,如果是固定安裝在教室內就可以避開上述的缺點了。
產品介紹:Epson 首創「反射式超短距互動投影機」
http://game.cool3c.com/node/21920
2010/05/08
使用 xming 從windows 系統登入 Linux 系統
Linux 的 Xwindow 的通訊協定,其中
* X-client 負責程式的運作
* X-Server 負責畫面的顯示
所以要遠端連線到Linux系統,其實就是把Linux的圖形畫面,丟到一台X-Server上面
Linux只要有安裝圖形介面,幾乎就是支援X-Server了,
但是在Windown 上面只能透過,第三方的程式來執行X-Server
Xming 是一個免費且完整的X-Server工具,配合putty(我是都抓開發版)
(可以用pietty有比較好的中文顯示效果),就可以完成很多功能
請先至官網下載 http://sourceforge.net/projects/xming/
你可以直接只抓主程式就可以3
http://downloads.sourceforge.net/project/xming/Xming/6.9.0.31/Xming-6-9-0-31-setup.exe?use_mirror=nchc
http://sourceforge.net/projects/xming/files/Xming-fonts/7.5.0.11/Xming-fonts-7-5-0-11-setup.exe/download
此程式需配合 putty 搭配啟動
如果在Wdinwos安裝完成後,就可以看下面的內容:
(1)確認在Linux上的opensshd 有開啟
我們的作法是先使用 putty 連入 linux sshd server 透過 ssh 發出指令
root@mtchang-desktop:~# netstat -tnulp | grep 22
(2)確認 XDMCP 服務打開(tcp port 177 open)
* CentOS/Ubuntu 預設是 gdm 程式,可以使用 gdm-restart 或 gdm-safe-restart 來重新載入設定檔.
1. 設定檔在 /etc/gdm/custom.conf (沒有這個檔案請自行建立,重新啟動gdm時就會抓取讀取),預設值放在 /usr/share/gdm/defaults.conf
2. 如果需要將 XDMCP 服務打開需要開啟設定檔加入下列選項:
* 修改 /etc/gdm/custom.conf 加入 (ubuntu通常沒有這個檔案如果沒有請自行建立)
* 底下為 centos 版本的 custom.conf 我修改後完整的範例
* 執行 gdm-restart 重新啟動 gdm 即可(centos5/rhel5 測試ok)
* ubuntu linux (10.04測試ok) 請使用 service gdm restart 重新啟動 gdm
* 驗證 XDMCP 服務是否打開
* 但是在 ubuntu 10.04 上發生了udp port ipv6 的狀況,如果你的網路只有ipv4那可能就不會通,但是你的網路如果支援 ipv6 還是可以通的.(他有被反應在BUG#3938)
(3)如果你在 Windows 上可以透過以安裝好的 Xming 建立一各設定檔,配合 putty 讓windows 自動登入Linux X圖形介面:
啟動:XLaunch程式,進入設定畫面
選取 Xming的顯示方式 One Window ,其他也可以只是我比較喜歡一個視窗就好的方式。
這裡使用 Start a program 的方式透過 putty 的 plink 來呼叫遠端的 X Client. Plink建議抓開發版的, 因為目前 stable 版本的 plink 我用過會有限速的問題.
請修改 start program 填入「/usr/bin/xterm -ls -display $DISPLAY 」 這個只是單純的呼叫 xterm這個 Xwindows 的終端機介面,可以加快顯示的速度.但是如果你喜歡完整的圖形介面可以使用 「/usr/bin/gnome-session --display $DISPLAY」呼叫 gnome 圖形介面,如果不是LAN速度會慢很多.
下一步繼續
你可以把你這個設定值儲存起來,下次要登入的時候直接點選設定檔就可以執行,旁邊的打勾可以把密碼一起存起來。
然後,請等一下因為網路速度的關係會跑一段時間,最後就會跳出這個終端機畫面了。如果你要呼叫其他程式來執行,請看下面範例:以呼叫 gedit文字編輯器當範例:
gedit 是程式執行檔, 「&」是丟入背景執行,用這樣的方式就可以更有效率的在 windows 上操作 Linux 系統。「gnome-session」是 gnome 的啟動程式。
底下是我的xming設定檔範例檔案:
檔名 config.xlaunch (xlaunch為副檔名),內容如下
其中 PW 為密碼,請自行修改
RemoteHost 為提供的 X-client 機器,請自行修改
DISPLAY 為登入後此X-server 的編號,通常如果你需要開很多X畫面請跳開編號
RemoteUser為登入帳號,請自行修改
第二次執行對著這個檔案點選兩下後就可以登入X了....!!!!
(4)如果你在 Linux上可以使用,文字端的測試
* 從用戶端機器啟動使用 X 的遠端 X 作業階段,這個指令通過 XDMCP 連線到遠端的 X 伺服程式並且在用戶端機器的 :1 (第1號螢幕,第0號通常為系統預設)
* 再來是用broadcast的方式,假設你 X Server 已經正常運作,你可以用broadcast方式自動找到目前同 subnet 上面的缺點是,如果有好幾台機器,那先回應的Server就會登入該台。
* 在 linux 上也有圖形介面的 X-Server
* 請使用 yum or apt-get 安裝 xorg-x11-server-Xnest rdesktop tsclient 這些程式就可以呼叫出來。
* 安裝完成後程式在 應用程式 -> 附屬應用程式 -> 終端伺服器用戶端 啟動遠端連線
更多的進階閱讀參考:
* http://www.straightrunning.com/XmingNotes/ 但其實有點不一樣,原理類似啦!
* http://itblog.blogdns.net/index.php?id=93&load=read 這篇也可以參考
但其實找商業版 Xmanager Enterprise 3的來玩玩看,很快就會瞭解 xming 的操作了...
比較完整的Xming下載點:
* http://www.straightrunning.com/XmingNotes/
目前商業化比較好的軟體有 xshell 及 Xmanager 用起來及設定都比較方便
* xshell 在個人及學校為免費 (功能同 putty,但更強大)
* xmanager 好像有三十天的試用限制 (功能同 xming 但更完整)
* 下載:http://www.netsarang.com/download/main.html#online
參考:
http://blog.seateng.cn/archives/2009/12/xmanager-gdm-ipv6.html
http://en.wikipedia.org/wiki/NX_technology
https://bugs.launchpad.net/ubuntu/+source/gdm/+bug/105938
延伸閱讀:
你也可以選擇 xrdp 的方式來作遠端連線
http://blog.jangmt.com/2010/08/windowslinuxxrdp.html
* X-client 負責程式的運作
* X-Server 負責畫面的顯示
所以要遠端連線到Linux系統,其實就是把Linux的圖形畫面,丟到一台X-Server上面
Linux只要有安裝圖形介面,幾乎就是支援X-Server了,
但是在Windown 上面只能透過,第三方的程式來執行X-Server
Xming 是一個免費且完整的X-Server工具,配合putty(我是都抓開發版)
(可以用pietty有比較好的中文顯示效果),就可以完成很多功能
請先至官網下載 http://sourceforge.net/projects/xming/
你可以直接只抓主程式就可以3
http://downloads.sourceforge.net/project/xming/Xming/6.9.0.31/Xming-6-9-0-31-setup.exe?use_mirror=nchc
http://sourceforge.net/projects/xming/files/Xming-fonts/7.5.0.11/Xming-fonts-7-5-0-11-setup.exe/download
此程式需配合 putty 搭配啟動
如果在Wdinwos安裝完成後,就可以看下面的內容:
(1)確認在Linux上的opensshd 有開啟
我們的作法是先使用 putty 連入 linux sshd server 透過 ssh 發出指令
/usr/bin/gnome-session --display $DISPLAY這樣就會把X的畫面都給指定的 $DISPLAY 畫面編號
root@mtchang-desktop:~# netstat -tnulp | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2727/sshd
tcp6 0 0 :::22 :::* LISTEN 2727/sshd
(2)確認 XDMCP 服務打開(tcp port 177 open)
* CentOS/Ubuntu 預設是 gdm 程式,可以使用 gdm-restart 或 gdm-safe-restart 來重新載入設定檔.
1. 設定檔在 /etc/gdm/custom.conf (沒有這個檔案請自行建立,重新啟動gdm時就會抓取讀取),預設值放在 /usr/share/gdm/defaults.conf
2. 如果需要將 XDMCP 服務打開需要開啟設定檔加入下列選項:
* 修改 /etc/gdm/custom.conf 加入 (ubuntu通常沒有這個檔案如果沒有請自行建立)
# 這裡有詳細的說明文件
# http://www.gnome.org/projects/gdm/
# 主要的服務程式路徑
[daemon]
RemoteGreeter=/usr/libexec/gdmgreeter
[security]
# gdm 預設值是不允許 root 遠端透過 XDMCP 登入,如果要讓 root 可以遠端登入,請修改為 true
AllowRoot=false
[xdmcp]
# 啟動 xdmcp 服務
Enable=true
* 底下為 centos 版本的 custom.conf 我修改後完整的範例
# You can also run gdm-restart or gdm-safe-restart to cause GDM to restart and
# re-read the new configuration settings. You can also restart GDM by sending
# a HUP or USR1 signal to the daemon. HUP behaves like gdm-restart and causes
# any user session started by GDM to exit immediately while USR1 behaves like
# gdm-safe-restart and will wait until all users log out before restarting GDM.
#
# For full reference documentation see the gnome help browser under
# GNOME|System category. You can also find the docs in HTML form on
# http://www.gnome.org/projects/gdm/
#
# NOTE: Lines that begin with "#" are considered comments.
#
# Have fun!
[daemon]
RemoteGreeter=/usr/libexec/gdmgreeter
[security]
[xdmcp]
Enable=true
[gui]
[greeter]
[chooser]
[debug]
# Note that to disable servers defined in the defaults.conf file (such as
# 0=Standard, you must put a line in this file that says 0=inactive, as
# described in the Configuration section of the GDM documentation.
#
[servers]
# Also note, that if you redefine a [server-foo] section, then GDM will
# use the definition in this file, not the defaults.conf file. It is
# currently not possible to disable a [server-foo] section defined
# in the defaults.conf file.
#
* 執行 gdm-restart 重新啟動 gdm 即可(centos5/rhel5 測試ok)
* ubuntu linux (10.04測試ok) 請使用 service gdm restart 重新啟動 gdm
* 驗證 XDMCP 服務是否打開
[root@mt ~]# netstat -tnulp | grep 177
udp 0 0 0.0.0.0:177 0.0.0.0:* 6226/gdm-binary
* 但是在 ubuntu 10.04 上發生了udp port ipv6 的狀況,如果你的網路只有ipv4那可能就不會通,但是你的網路如果支援 ipv6 還是可以通的.(他有被反應在BUG#3938)
root@mtchang-desktop:/etc/gdm# netstat -tnulp | grep 177
udp6 0 0 :::177 :::* 4488/gdm-binary
(3)如果你在 Windows 上可以透過以安裝好的 Xming 建立一各設定檔,配合 putty 讓windows 自動登入Linux X圖形介面:
啟動:XLaunch程式,進入設定畫面
選取 Xming的顯示方式 One Window ,其他也可以只是我比較喜歡一個視窗就好的方式。
這裡使用 Start a program 的方式透過 putty 的 plink 來呼叫遠端的 X Client. Plink建議抓開發版的, 因為目前 stable 版本的 plink 我用過會有限速的問題.
請修改 start program 填入「/usr/bin/xterm -ls -display $DISPLAY 」 這個只是單純的呼叫 xterm這個 Xwindows 的終端機介面,可以加快顯示的速度.但是如果你喜歡完整的圖形介面可以使用 「/usr/bin/gnome-session --display $DISPLAY」呼叫 gnome 圖形介面,如果不是LAN速度會慢很多.
下一步繼續
你可以把你這個設定值儲存起來,下次要登入的時候直接點選設定檔就可以執行,旁邊的打勾可以把密碼一起存起來。
然後,請等一下因為網路速度的關係會跑一段時間,最後就會跳出這個終端機畫面了。如果你要呼叫其他程式來執行,請看下面範例:以呼叫 gedit文字編輯器當範例:
gedit 是程式執行檔, 「&」是丟入背景執行,用這樣的方式就可以更有效率的在 windows 上操作 Linux 系統。「gnome-session」是 gnome 的啟動程式。
底下是我的xming設定檔範例檔案:
檔名 config.xlaunch (xlaunch為副檔名),內容如下
其中 PW 為密碼,請自行修改
RemoteHost 為提供的 X-client 機器,請自行修改
DISPLAY 為登入後此X-server 的編號,通常如果你需要開很多X畫面請跳開編號
RemoteUser為登入帳號,請自行修改
<xlaunch clientmode="StartProgram" clientstart="PuTTY" clipboard="true" display="0" program="/usr/bin/xterm -ls -display $DISPLAY" pw="密碼請自行修改" remotehost="遠端主機位置請自行修改" remoteuser="帳號請自行修改" windowmode="Windowed" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.straightrunning.com/XmingNotes" xsi:schemalocation="http://www.straightrunning.com/XmingNotes XLaunch.xsd"></xlaunch>
第二次執行對著這個檔案點選兩下後就可以登入X了....!!!!
(4)如果你在 Linux上可以使用,文字端的測試
* 從用戶端機器啟動使用 X 的遠端 X 作業階段,這個指令通過 XDMCP 連線到遠端的 X 伺服程式並且在用戶端機器的 :1 (第1號螢幕,第0號通常為系統預設)
X :1 -query 192.168.1.100
* 再來是用broadcast的方式,假設你 X Server 已經正常運作,你可以用broadcast方式自動找到目前同 subnet 上面的缺點是,如果有好幾台機器,那先回應的Server就會登入該台。
X :1 -broadcast
* 在 linux 上也有圖形介面的 X-Server
* 請使用 yum or apt-get 安裝 xorg-x11-server-Xnest rdesktop tsclient 這些程式就可以呼叫出來。
yum install xorg-x11-server-Xnest rdesktop tsclient
* 安裝完成後程式在 應用程式 -> 附屬應用程式 -> 終端伺服器用戶端 啟動遠端連線
更多的進階閱讀參考:
* http://www.straightrunning.com/XmingNotes/ 但其實有點不一樣,原理類似啦!
* http://itblog.blogdns.net/index.php?id=93&load=read 這篇也可以參考
但其實找商業版 Xmanager Enterprise 3的來玩玩看,很快就會瞭解 xming 的操作了...
比較完整的Xming下載點:
* http://www.straightrunning.com/XmingNotes/
目前商業化比較好的軟體有 xshell 及 Xmanager 用起來及設定都比較方便
* xshell 在個人及學校為免費 (功能同 putty,但更強大)
* xmanager 好像有三十天的試用限制 (功能同 xming 但更完整)
* 下載:http://www.netsarang.com/download/main.html#online
參考:
http://blog.seateng.cn/archives/2009/12/xmanager-gdm-ipv6.html
http://en.wikipedia.org/wiki/NX_technology
https://bugs.launchpad.net/ubuntu/+source/gdm/+bug/105938
延伸閱讀:
你也可以選擇 xrdp 的方式來作遠端連線
http://blog.jangmt.com/2010/08/windowslinuxxrdp.html
提問的智慧(How To Ask Questions The Smart Way) -修訂版3.5
# Eric Steven Raymond
# Thyrsus Enterprises
# Rick Moen
# 修訂版3.5 2008年1 月2日 2008年1月2日
# 英文版:http://catb.org/~esr/faqs/smart-questions.html
# 中文版:http://www.lat30n.cn/doc/oss/smart-questions.html
原文:How To Ask Questions The Smart Way
翻譯:王剛
時間:2008年2月14日
內容
譯文
棄權申明
引言
提問前
提問時
仔細挑選論壇
面向新手的論壇和互聯網中繼聊天(IRC)通常響應最快
第二步,使用項目的郵件列表
使用有意義且明確的主題
使問題容易回覆
用清晰、語法、拼寫正確的語句書寫
使用易於讀取且標準的文件格式發送問題
描述問題應準確且有內容
量不在多,精煉則靈
別動輒聲稱找到臭蟲
低聲下氣代替不了做自己的家庭作業
描述問題症狀而不是猜測
按時間先後羅列問題症狀
描述目標而不是過程
別要求私下回覆電郵
提問應明確
關於代碼的問題
別張貼家庭作業式問題
刪除無意義的要求
不要把問題標記為「緊急」, 即使對你而言的確如此
禮貌總是有益的
問題解決後追加一條簡要說明
如何解讀回答
RTFM和STFW:如何知道你已完全搞砸
如果還不明白……
對待無禮
別象失敗者那樣反應
提問禁忌
好問題與壞問題
如果得不到回答
如何更好地回答
相關資源
鳴謝
譯文
譯文: 印尼語、 巴西葡萄牙語、 漢語、 捷克語、 丹麥語、 荷蘭語、 愛沙尼亞語、 芬蘭語、 法語、 喬治亞語、 德語、 希伯來語、 匈牙利語、 意大利語、 日語、 波蘭語、 葡萄牙語、 羅馬尼亞語、 俄語、 塞爾維亞語、 西班牙語、 瑞典語、 泰語、 土耳其語。如果你想複製、鏡像、翻譯或引用本文,請參閱我的 複製協議。
棄權申明
許多項目的網站在如何取得幫助的部分鏈接了本文,這沒有關係,也正是我們想要的。但如果你是該項目生成此鏈接的網管,請在鏈接附近顯著位置註明:我們不提供該項目的服務支持!
我們已經領教了沒有此說明帶來的痛苦,我們將不停地被一些白痴糾纏,他們認為既然我們發佈了本文,那麼我們就有責任解決世上所有的技術問題。
如果你是因為需要幫助正在閱讀本文,然後就帶著可以直接從作者那取得幫助的印象離開,那麼你就不幸成了那些白痴之一。別向我們提問,我們不會理睬的。我們只是在這教你如何從那些真正懂得你軟硬件問題的人那裡取得幫助,但99%的時間我們不會是那些人。除非你非常地確定本文的作者是你遇到的問題方面的專家,請不要打攪,這樣大家都開心一點。
引言
在 黑客 的世界裡,你所提技術問題的解答很大程度上取決於你提問的方式與解決此問題的難度,本文將教你如何提問才更有可能得到滿意的答覆。
開源程序的應用已經很廣,你通常可以從其他更有經驗的用戶而不是黑客那裡得到解答。這是好事,他們一般對新手常有的毛病更容忍一點。然爾,使用我們推薦的方法,象對待黑客那樣對待這些有經驗的用戶,通常能最有效地得到問題的解答。
第一件需要明白的事是黑客喜歡難題和激發思考的好問題。假如不是這樣,我們也不會寫本文了。如果你能提出一個有趣的問題讓我們咀嚼玩味,我們會感激你。好問題是種激勵與禮物,幫助我們發展認知,揭示沒有注意或想到的問題。在黑客中,「好問題!」 是非常熱烈而真摯的讚許。
此外,黑客還有遇到簡單問題就表現出敵視或傲慢的名聲。有時,我們看起來還對新手和愚蠢的傢伙有條件反射式的無禮,但事情並不真是這樣。
我們只是毫無歉意地敵視那些提問前不願思考、不做自己家庭作業的人。這種人就像時間無底洞──他們只知道索取,不願意付出,他們浪費了時間,這些時間本可用於其它更有趣的問題或更值得回答的人。我們將這種人叫做 「失敗者(loser)」 (由於歷史原因,我們有時將「loser」拼寫為「lusers」 。)
我們意識到許多人只是想使用我們寫的軟件,他們對學習技術細節沒有興趣。對大多數人而言,計算機只是種工具,是種達到目的的手段而已。他們有自己的生活並且有更要緊的事要做,我們承認這點,也從不指望每個人都對這些讓我們著迷的技術問題感興趣。不過,我們回答問題的風格是為了適應那些真正對此有興趣並願意主動參與解決問題的人,這一點不會變,也不該變。如果連這都變了,我們就會在自己能做得最好的事情上不再那麼犀利。
我們(大多數)是自願者, 從自己繁忙的生活中抽時間來回答問題,有時會力不從心。因此,我們會毫不留情地濾除問題,特別是那些看起來像是失敗者提的,以便更有效地把回答問題的時間留給那些勝利者。
如果你認為這種態度令人反感、以施惠者自居或傲慢自大,請檢查你的假設,我們並未要求你屈服──事實上,假如你做了該做的努力,我們中的大多數將非常樂意平等地與你交流,並歡迎你接納我們的文化。試圖去幫助那些不願自救的人對我們簡直沒有效率。不懂沒有關係,但愚蠢地做事不行。
所以,你不必在技術上很在行才能吸引我們的注意,但你必須表現出能引導你在行的姿態──機 敏、有想法、善於觀察、樂於主動參與問題的解決。如果你做不到這些使你與眾不同的事情,我們建議你付錢跟別人簽商業服務合同,而不是要求黑客無償幫助。
如果你決定向我們求助,你不會想成為一名失敗者,你也不想被看成一個失敗者。得到快速有效回答的最好方法是使提問者看起來像個聰明、自信和有想法的人,並且暗示只是碰巧在某一特別問題上需要幫助。
(歡迎對本文指正,可以將建議發至 esr@thyrsus.com 或 respond-auto@linuxmafia.com。請注意,本文不想成為一般性的 網絡禮儀 指南,我一般會拒絕那些與引出技術論壇中有用的回答不特別相關的建議。)
提問前
在通過電郵、新聞組或論壇提技術問題以前,做以下事情:
1.
嘗試在你準備提問的論壇的歷史文檔中搜索答案
2.
嘗試搜索互聯網以找到答案
3.
嘗試閱讀手冊以找到答案
4.
嘗試閱讀「常見問題」(FAQ)以找到答案
5.
嘗試自己檢查或試驗以找到答案
6.
嘗試請教懂行的朋友以找到答案
7.
如果你是程序員,嘗試閱讀源代碼以找到答案
提問時,請先表明你已經做了上述事情,這將有助於建立你不是寄生蟲與浪費別人時間的印象。最好再表述你從中學到的東西,我們喜歡回答那些表現出能從答案中學習的人。
運用某些策略,比如用谷歌(Google)搜索你遇到的各種錯誤提示(既搜索 谷歌論壇,也搜索網頁), 這樣很可能直接就找到瞭解決問題的文檔或郵件列表線索。 即使沒有結果,在郵件列表或新聞組尋求幫助時提一句「我在谷歌中搜過下列句子但沒有找到什麼有用的東西」 也是件好事,即使它只是表明了搜索引擎不能提供哪些幫助。
別著急,不要指望幾秒鐘的谷歌搜索就能解決一個複雜的問題。讀一下常見問題文檔。在向專家提問之前,先向後靠靠放鬆一下,再思考一下問題。相信我們,他們能從你的提問看出你做了多少閱讀與思考,如果你是有備而來,將更有可能得到解答。不要將所有問題一股腦拋出,只因你的第一次搜索沒有結果(或者結果太多)。
認真地思考,準備好你的問題。輕率的提問只能得到輕率的回答,或者壓根沒有。在提問時,你越是表現出在此前做過思考與努力去解決自己的問題,你越有可能得到真正的幫助。
注意別提錯問題。如果提問基於錯誤的假設,某黑客多半會一邊想 「愚蠢的問題……」,一邊按將錯就錯的答案回覆你,並且希望這種只是得到你自己「問的」而非真正所需的回答,給你一個教訓。
永遠不要假設你有資格得到解答。你沒有這種資格,畢竟你沒有為此服務付費。如果你能夠提出有內容、有趣和激勵思考的問題──那種毫無疑問能夠向社區貢獻經驗,而不僅僅是消極地要求從別人那獲取知識的問題,你將「掙到」答案。
另一方面,表明你有能力也樂意參與問題的解決是個很好的開端。「有沒有人能指個方向?」,我這還差點什麼?」,「我應該查哪個網站?」,通常要比 「請給出我可以用的完整步驟」更容易得到回覆,因為你表明了只要有人能指個方向,你就很樂意完成剩下的過程。
提問時
仔細挑選論壇
要對在哪提問留心,如果你做了下述事情,多半會被一筆勾銷或被看成「失敗者」:
*
張貼與論壇主題無關的問題
*
在面向高級技術問題的論壇上張貼初淺的問題,或者反之。
*
在太多不同的新聞組同時張貼
*
給既非熟人也沒有義務解決你問題的人發送你私人的電郵
為保護通信的渠道不被無關的東西淹沒,黑客會除掉那些沒有找對地方的問題,你不會想讓這種事落到自己頭上的。
因此,第一步是找對論壇。谷歌和其它搜索引擎還是你的朋友,可以用它們搜索你遇到困難的軟硬件問題最相關的項目網站。那裡通常都有項目的常見問題(FAQ)、郵件列表及文檔的鏈接。如果你的努力(包括閱讀FAQ)都沒有結果,這些郵件列表就是最後能取得幫助的地方。項目的網站也許還有報告臭蟲的流程或鏈接,如果是這樣,去看看。
向陌生的人或論壇發送郵件極有可能是在冒險。譬如,不要假設一個內容豐富的網頁的作者想充當你的免費顧問,不要對你的問題是否會受到歡迎做太樂觀的估計──如果你不確定,向別處發或者壓根別發。
在選擇論壇、新聞組或郵件列表時,別太相信名字,先看看FAQ 或者許可書以明確你的問題是否切題。發貼前先翻翻已有的帖子,這樣可以讓你感受一下那裡行事的方式。事實上,張貼前在新聞組或郵件列表的歷史文檔中搜索與你問題相關的關鍵詞是個極好的主意,也許就找到答案了。即使沒有,也能幫助你歸納出更好的問題。
別象機關槍似的一次性「掃射」所有的幫助渠道,這就像大喊大叫一樣會使人不快。要一個一個地來。
弄懂主題!最典型的錯誤之一是在某種致立於跨平台可移植的語言、庫或工具的論壇中提關於Unix或Windows操作系統程序接口的問題。如果你不明白為什麼這是大錯,最好在搞清楚概念前什麼也別問。
一般來說,在仔細挑選的公共論壇中提問比在私有論壇中提同樣的問題更容易得到有用的回答。有幾個道理支持這點,一是看潛在的回覆者有多少,二是看論壇的參與者有多少,黑客更願回答能啟發多數人的問題。
可以理解,老練的黑客和一些流行軟件的作者正在承受過多的不當消息。就像那根最後壓垮駱駝背的稻草一樣,你的加入也有可能使情況走向極端──已經好幾次了,一些流行軟件的作者退出了對自己軟件的支持,因為伴隨而來的湧入其私人郵箱的垃圾郵件變得無法忍受。
面向新手的論壇和互聯網中繼聊天(IRC)通常響應最快
本地的用戶組織或者你所用的Linux發行版也許正在宣傳新手取得幫助的論壇或IRC通道(在一些非英語國家,新手論壇很可能還是郵件列表),這些地方是開始提問的好去處,特別是當你覺得遇到的也許只是相對簡單或者很普通的問題時。經過宣傳的IRC通道是公開邀請提問的地方,通常可以得到實時的回覆。
事實上,如果出問題的程序來自某發行版(這很常見),最好先去該發行版的論壇或郵件列表中提問,再到程序本身的項目論壇或郵件列表,(否則)該項目的黑客可能僅僅回覆「用我們的代碼」。
在任何論壇發貼以前,先看看有沒有搜索功能。如果有,就試著用問題的幾個關鍵詞搜索一下,也許就有幫助。如果在此之前你已做過全面的網頁搜索(你應該這樣去做),還是再搜索一下論壇,搜索引擎有可能沒來得及索引此論壇的全部內容。
通過論壇或IRC通道提供項目的用戶支持有增長的趨勢,電子郵件交流則更多地為項目開發者保留。所以先在論壇或IRC中尋求與該項目相關的幫助。
第二步,使用項目的郵件列表
當某個項目存在開發者郵件列表時,要向列表而不是其中的個別成員提問,即使你確信他能最好地回答你的問題。查一查項目的文檔和主頁,找到項目的郵件列表並使用它。採用這種辦法有幾個很好的理由:
*
向個別開發者提的問題(如果)足夠好,也將對整個項目組有益。相反,如果你認為自己的問題對整個項目組來說太愚蠢,這也不能成為騷擾個別開發者的理由。
*
向列表提問可以分散開發者的負擔,個別開發者(尤其是項目領導)也許太忙以至於沒法回答你的問題。
*
大多數郵件列表都要存檔,那些存檔將被搜索引擎索引,如果你向列表提問並得到解答,將來其它人可以通過網頁搜索找到你的問題和答案,也就不用再次發問了。
*
如果某些問題經常被問到,開發者可以利用此信息改進文檔或軟件本身,以使其更清楚。如果只是私下提問,就沒有人能看到最常見問題的完整場景。
如果一個項目既有 「用戶」 也有「開發者」(或 「黑客」)郵件列表或論壇,而你又不擺弄那些代碼,向「用戶」列表或論壇提問。不要假設自己會在開發者列表中受到歡迎,那些人多半會遭受你的噪音干擾。
然爾,如果你確信你的問題不一般,而且在「用戶」 列表或論壇中幾天都沒有回覆,可以試試「開發者」列表或論壇。建議你在張貼前最好先暗暗地觀察幾天以瞭解那的行事方式(事實上這是參與任何私有或半私有列表的好主意)
如果你找不到一個項目的郵件列表,而只能查到項目維護者的地址,只管向其發信。即便在這種情況下,也別假設(項目)郵件列表不存在。在你的電子郵件中陳述你已經試過但沒有找到合適的郵件列表,也提及你不反對將自己的郵件轉發給他人(許多人認為,即使沒什麼秘密,私人電子郵件也不應該被公開。通過允許將你的電子郵件轉發他人,你給了相應人員處置你郵件的選擇)。
使用有意義且明確的主題
在郵件列表、新聞組或論壇中,主題是你在五十個或更少的字以內吸引有資格專家注意的黃金機會,不要用諸如 「請幫我」 (更別提大寫的 「請幫我!!!!」,這種主題的消息會被條件反射式地刪掉)之類的嘮叨浪費機會。不要用你痛苦的深度來打動我們,相反,要在這點空間中使用超級簡明扼要的問題描述。
使用主題的好慣例是「對象──偏差」(式的描述),許多技術支持組織就是這樣做的。在「對象」部分指明是哪一個或哪一組東西有問題,在「偏差」部分則描述與期望的行為不一致的地方。
愚蠢:
救命啊!我的筆記本視頻工作不正常!
明智:
X.org 6.8.1扭曲鼠標光標,MV1005型號的某顯卡芯片組
更明智:
使用MV1005型號的某顯卡芯片組的X.org 6.8.1的鼠標光標被扭曲
編寫 「對象──偏差」式描述的過程有助於你組織對問題的細緻思考。是什麼被影響了?僅僅是鼠標光標或者還有其它圖形?只在X.org中出現?或只是在其6.8.1版中?是針對某顯卡芯片組?或者只是其中的MV1005型號?一個黑客只需描一眼就能夠立即明白什麼是你遇到的問題,什麼是你自己的問題。
更一般地,想像一下在一個只顯示主題的文檔索引中查找。讓你的主題更好地反映問題,可以使下一個搜索類似問題的人能夠在文檔中直接就找到答案的線索,而不用再次發貼提問。
如果你想在回覆中提問,確保改變主題以表明你是在問一個問題,一個主題象 「Re: 測試」 或者 「Re: 新臭蟲」的消息不太可能引起足夠的注意。同時,將回覆中與新主題不甚相關的引用內容儘量刪除。
對於列表消息,不要直接點擊回覆(按鈕)來開始一個全新的線索,這將限制你的觀眾。有些郵件閱讀程序,比如mutt,允許用戶按線索排序並通過摺疊線索來隱藏消息,這樣做的人永遠看不到你發的消息。
僅僅改變主題還不夠。mutt和其它一些郵件閱讀程序還要檢查郵件頭主題以外的其它信息,以便為其指定線索,所以寧可發一個全新的郵件。
在論壇,因為消息與特定的線索緊密結合,並且通常在線索之外不可見,好的提問方式略有不同,通過回覆提問並不要緊。不是所有論壇都允許在回覆中出現分離的主題,而且這樣做了基本上沒有人會去看。不過,通過回覆提問本身就是令人懷疑的做法,因為它們只會被正在查看該線索的人讀到。所以,除非你只想在該線索當前活躍的人群中提問,還是另起爐灶比較好。
使問題容易回覆
以「請向……回覆」來結束問題多半會使你得不到回答。如果你覺得花幾秒鐘在郵件客戶端設置一下回覆地址都麻煩,我們也覺得花幾秒鐘考慮你的問題更麻煩。如果你的郵件客戶端程序不支持這樣做,換個好點的;如果是操作系統不支持所有這種郵件客戶端程序,也換個好點的。
在論壇,要求通過電子郵件回覆是完全無禮的,除非你確信回覆的信息也許是敏感的(而且有人會為了某些未知的原因,只讓你而不是整個論壇知道答案)。如果你只是想在有人回覆線索時得到電子郵件提醒,可以要求論壇發送。幾乎所有論壇都支持諸如「留意本線索」、「有回覆發送郵件」等功能。
用清晰、語法、拼寫正確的語句書寫
經驗告訴我們,粗心與草率的作者通常也粗心與草率地思考和編程(我敢打賭)。為這些粗心與草率的思考者回答問題沒有什麼好處,我們寧可將時間花在其它地方。
清楚、良好地表達你的問題非常重要。如果你覺得這樣做麻煩,我們也覺得注意(你的問題)麻煩。花點額外的精力斟酌一下字句,用不著太僵硬與正式──事實上,黑客文化很看重能準確地使用非正式、俚語和幽默的語句。但它必須很準確,而且有跡象表明你是在思考和關注問題。
正確地拼寫、使用標點和大小寫,不要將「its」混淆為「it's」,「loose」搞成「lose」或者將「discrete」弄成 「discreet」。不要全部用大寫,這會被視為無禮的大聲嚷嚷 (全部小寫也好不到哪去,因為不易閱讀。Alan Cox[註:著名黑客,Linux內核的重要參與者]也許可以這樣做,但你不行。)
一般而言,如果你寫得像個半文盲似的傻子,多半得不到理睬。也不要使用即時通訊中的簡寫,如將「you」簡化為「u」會使你看起來像一個為了節約二次擊鍵的半文盲式的傻子。更糟的是,如果像個小孩似地鬼畫桃符那絕對是在找死,可以肯定沒人會理你(或者最多是給你一大堆指責與挖苦)。
如果在非母語論壇提問,你的拼寫與語法錯誤會得到有限的寬容,但懶惰完全不會被容忍(是的,我們通常看得出其中的差別)。同時,除非你知道回覆者使用的語言,請使用英語書寫。繁忙的黑客一般會直接刪除用他們看不懂語言寫的消息。在互聯網上英語是工作語言,用英語書寫可以將你的問題不被閱讀就被直接刪除的可能性降到最低。
使用易於讀取且標準的文件格式發送問題
如果你人為地將問題搞得難以閱讀,它多半會被忽略,人們更願讀易懂的問題,所以:
*
使用純文本而不是HTML(超文本標註語言)( 關閉HTML 並不難)
*
使用MIME(多用途互聯網郵件擴展)附件通常沒有問題,前提是真正有內容(譬如附帶的源文件或補丁),而不僅僅是郵件客戶端程序生成的模板(譬如只是消息內容的拷貝)。
*
不要發送整段只是單行句子但多次折回的郵件(這使得回覆部分內容非常困難)。設想你的讀者是在80個字符寬的文本終端閱讀郵件,設置你的行折回點小於80列。
*
但是,也不要用任何固定列折回數據(譬如日誌文件拷貝或會話記錄)。數據應該原樣包含,使回覆者確信他們看到的是與你看到的一樣的東西。
*
在英語論壇中,不要使用'Quoted-Printable' MIME編碼發送消息。這種編碼對於張貼非ASCII語言可能是必須的,但很多郵件程序並不支持。當它們分斷時,那些文本中四處散佈的 「=20」符號既難看也分散注意力,甚至有可能破壞內容的語意。
*
永遠不要指望黑客們閱讀使用封閉的專用格式編寫的文檔,諸如微軟公司的Word或Excel文件等。大多數黑客對此的反應就像有人將還在冒熱氣的豬糞倒在你門口時你的反應一樣。即使他們能夠處理,他們也很厭惡這麼做。
*
如果你從使用視窗的電腦發送電子郵件,關閉微軟愚蠢的「聰明引用」功能,以免在你的郵件中到處散佈垃圾字符。
*
在論壇,勿濫用「表情符號」和「HTML」功能(當它們提供時)。一兩個表情符號通常沒有問題,但花哨的彩色文本傾向於使人認為你是個無能之輩。過濫地使用表情符號、色彩和字體會使你看來像個傻笑的小姑娘。這通常不是個好主意,除非你只是對性而不是有用的回覆更有興趣。
如果你使用圖形用戶界面的郵件客戶端程序(如網景公司的Messenger、微軟公司的Outlook或者其它類似的),注意它們的缺省配置不一定滿足這些要求。大多數這類程序有基於菜單的「查看源碼」命令,用它來檢查發送文件夾中的消息,以確保發送的是沒有多餘雜質的純文本文件。
描述問題應準確且有內容
*
仔細、清楚地描述問題的症狀
*
描述問題發生的環境(主機,操作系統,應用程序,任何相關的),提供銷售商的發行版和版本號(如:「Fedora Core 4」、「Slackware 9.1」等)
*
描述提問前做過的研究及其理解。
*
描述提問前為確定問題而採取的診斷步驟。
*
描述最近對計算機或軟件配置的任何相關改變。
盡最大努力預測黑客會提到的問題,並提前備好答案。
Simon Tatham寫過一篇叫 如何有效報告臭蟲 的文章,我強烈推薦各位閱讀。
量不在多,精煉則靈
你應該(寫得)精煉且有內容,簡單地將一大堆代碼或數據羅列在求助消息中達不到此目的。如果你有一個很大且複雜的測試樣例讓程序崩潰,嘗試將其裁剪得越小越好。
至少有三個理由支持這點。第一,讓別人看到你在努力簡化問題使你更有可能得到回覆。第二,簡化問題使你更有可能得到有用的回覆。第三,在提純臭蟲報告的過程中,你可能自己就找到瞭解決方法或權宜之計。
別動輒聲稱找到臭蟲
當你在一個軟件中遇到問題,除非你非常、非常的有根據,不要動輒聲稱找到了臭蟲。提示:除非你能提供解決問題的源代碼補丁,或者對前一版本的回歸測試表現出不正確的行為,否則你都多半不夠完全確信。對於網頁和文檔也如此,如果你(聲稱)發現了文檔的「臭蟲」,你應該能提供相應位置的替代文本。
記住,還有許多其它用戶未經歷你遇到的問題,否則你在閱讀文檔或搜索網頁時就應該發現了(你在報怨前已經做了這些,是吧 ?)。這也意味著很有可能是你弄錯了而不是軟件本身有問題。
編寫軟件的人總是非常辛苦地使它儘可能完美。如果你聲稱找到了臭蟲,也就置疑了他們的能力,即使你是對的,也有可能會使其中的部分人感到不快。(此外,)在主題中嚷嚷「臭蟲」也是特別不老練的。
提問時,即使你私下非常確信已經發現一個真正的臭蟲,最好寫得像是你做錯了什麼。如果真的有臭蟲,你會在回覆中看到這點。這樣做的話,如果真有蟲子,維護者就會向你道歉,這總比你弄砸瞭然後欠別人一個道歉要強。
低聲下氣代替不了做自己的家庭作業
有些人明白他們不應該粗魯或傲慢地行事並要求得到答覆,但他們退到相反的低聲下氣的極端:「我知道我只是個可憐的新丁,一個失敗者,但……」。這既使人困擾,也沒有用,當伴隨著對實際問題含糊的描述時還特別令人反感。
別用低級靈長類動物的辦法浪費你我的時間,相反,儘可能清楚地描述背景情況和你的問題,這比低聲下氣更好地擺正了你的位置。
有時,論壇設有單獨的初學者提問版面,如果你真的認為遇到了初淺的問題,到那去就是了,但一樣別低聲下氣。
描述問題症狀而不是猜測
告訴黑客是什麼導致了你的問題是沒用的(如果你的診斷理論是了不起的東西,你還會向他人諮詢求助嗎?)。所以,確保只是告訴他們問題的原始症狀,而不是你的解釋和理論,讓他們來解釋和診斷。如果你認為陳述自己的猜測很重要,清楚地說明這只是你的猜測並描述為什麼它們不起作用。
愚蠢:
我在編譯內核時接連遇到SIG11錯誤,懷疑主板上的某根電路絲斷了,找到它們的最好辦法是什麼?
明智:
我組裝的電腦(K6/233 CPU、FIC-PA2007主板[威盛Apollo VP2芯片組]、Corsair PC133 SDRAM 256Mb內存)最近在開機20分鐘左右、做內核編譯時頻繁地報SIG11錯,但在頭20分鐘內從不出問題。重啟動不會復位時鐘,但整夜關機會。更換所有內存未解決問題,相關的典型編譯會話日誌附後。
由於以上這點許多人似乎難以掌握,這裡有句話可以提醒你:「所有的診斷專家都來自密蘇里州」。美國國務院的官方座右銘則是「讓我看看」(出自國會議員威勒德.范迪弗在1899年時的講話:「我來自一個出產玉米、棉花、牛蒡和民主黨人的國家,滔滔雄辯既不能說服我,也不會讓我滿意。我來自密蘇里州,你必須讓我看看。」)針對診斷者而言,這並不是懷疑,而只是一種真實而有用的需求,以便讓他們看到的是與你看到的原始證據儘可能一致的東西,而不是你的猜測與總結。(所以,)讓我們看看。
按時間先後羅列問題症狀
剛出問題之前發生的事情通常包含有解決問題最有效的線索。所以,記錄中應準確地描述你及電腦在崩潰之前都做了些什麼。在命令行處理的情況下,有會話日誌(如運行腳本工具生成的)並引用相關的若干(如20)行記錄會非常有幫助。
如果崩潰的程序有診斷選項(如-v詳述開關),試著選擇這些能在記錄中增加排錯信息的選項。記住,「多」不等於「好」。試著選取適當的排錯級別以便提供有用的信息而不是將閱讀者淹沒在垃圾中。
如果你的記錄很長(如超過四段),在開頭簡述問題隨後按時間先後羅列詳細過程也許更有用。這樣,黑客在讀你的記錄時就知道該注意哪些內容了。
描述目標而不是過程
如果你想弄清楚如何做某事(而不是報告一個臭蟲),在開頭就描述你的目標,然後才陳述遇到問題的特定步驟。
經常出現這種情況,尋求技術幫助的人在腦袋裡有個更高層次的目標,他們在自以為能達到目標的特定道路上被卡住了,然後跑來問該怎麼走,但沒有意識到這條路本身有問題,結果要費很大的勁才能通過。
愚蠢:
我怎樣才能讓某圖形程序的顏色拾取器取得十六進制的RGB值?
明智:
我正試著用自己選定數值的顏色替換一幅圖片的色表,我現在知道的唯一方法是編輯每個表槽,但卻無法讓某圖形程序的顏色拾取器取得十六進制的RGB值。
第二種提法是明智的,它使得建議採用更合適的工具以完成任務的回覆成為可能。
別要求私下回覆電郵
黑客們認為問題的解決過程應該公開、透明,此過程中如果更有才能的人注意到不完整或者不當之處,最初的回覆才能夠、也應該被糾正。同時,作為回覆者也因為能力和學識被其它同行看到而得到某種回報。
當你要求私下回覆時,此過程和回報都被中止。別這樣做,讓回覆者來決定是否私下回答──如果他真這麼做了,通常是因為他認為問題編寫太差或者太膚淺,以至於對其它人毫無意義。
對這條規則存在一條有限的例外,如果你確信提問可能會引來大量雷同的回覆時,那麼「向我發電郵,我將為論壇歸納這些回覆」將是神奇的句子。試著將郵件列表或新聞組從洪水般雷同的回覆中解救出來是非常有禮貌的──但你必須信守諾言。
提問應明確
漫無邊際的問題通常也被視為沒有明確限制的時間無底洞。最有可能給你有用答案的人通常也是最忙的人(假如只是因為他們承擔了太多工作的話),這些人對於沒有止境的時間無底洞極其敏感,所以他們也傾向於討厭那些漫無邊際的問題。
如果你明確了想讓回覆者做的事(如指點方向、發送代碼、檢查補丁或其它),你更有可能得到有用的回覆。(因為)這樣可以讓他們集中精力並間接地設定了他們為幫助你需要花費的時間和精力上限,這很好。
要想理解專家生活的世界,可以這樣設想:那裡有豐富的專長資源但稀缺的響應時間。你暗中要求他們奉獻的時間越少,你越有可能從這些真正懂行也真正很忙的專家那裡得到解答。
所以限定你的問題以使專家回答時需要付出的時間最少──這通常與簡化問題還不太一樣。舉個例,「請問可否指點一下哪有好一點的X解釋?」通常要比「請解釋一下X」明智。如果你的代碼不運行了,通常請別人看看哪有問題比叫他們幫你改正更明智。
關於代碼的問題
別要求他人給你有問題的代碼排錯而不提及應該從何入手。張貼幾百行的代碼,然後說一聲「它不能運行」會讓你得不到理睬。只貼幾十行代碼,然後說一句「在第七行以後,本應該顯示,但實際出現的是」非常有可能讓你得到回覆。
如果你只是想讓別人幫忙審一下代碼,在最開頭就要說出來,並且一定要提到你認為哪一部分特別需要關注以及為什麼。
別張貼家庭作業式問題
黑客們善於發現「家庭作業」式的問題。我們中的大多數人已經做了自己的家庭作業,那是該你做的,以便從中學到東西。問一下提示沒有關係,但不是要求完整的解決方案。
如果你懷疑自己碰到了一個家庭作業式的問題,但仍然無法解決,試試在用戶組、論壇或(作為最後一招)在項目的「用戶」郵件列表或論壇中提問。儘管黑客們會看出來,一些老用戶也許仍會給你提示。
刪除無意義的要求
抵制這種誘惑,即在求助消息末尾加上諸如「有人能幫我嗎?」或「有沒有答案?」之類在語義上毫無意義的東西。第一,如果問題描述還不完整,這些附加的東西最多也只能是多餘的。第二,因為它們是多餘的,黑客們會認為這些東西煩人──就很有可能用邏輯上無誤但打發人的回覆,諸如「是的,你可以得到幫助」和「不,沒有給你的幫助」。
一般來說,避免提「是或否」類型的問題,除非你想得到 「是或否」類型的回答。
不要把問題標記為「緊急」, 即使對你而言的確如此
這是你的問題,不要我們的。宣稱「緊急」極有可能事與願違:大多數黑客會直接刪除這種消息,他們認為這是無禮和自私地企圖得到即時與特殊的關照。
有一點點局部的例外,如果你是在一些知名度很高、會使黑客們激動的地方使用程序,也許值得這樣去做。在這種情況下,如果你有期限壓力,也很有禮貌地提到這點,人們也許會有足夠的興趣快一點回答。
當然,這是非常冒險的,因為黑客們對什麼是令人激動的標準多半與你的不同。譬如從國際空間站這樣張貼沒有問題,但代表感覺良好的慈善或政治原因這樣做幾乎肯定不行。事實上,張貼諸如「緊急:幫我救救這個毛絨絨的小海豹!」肯定會被黑客迴避或光火,即使他們認為毛絨絨的小海豹很重要。
如果你覺得這不可思議,再把剩下的內容多讀幾遍,直到弄懂了再發貼也不遲。
禮貌總是有益的
禮貌一點,使用「請」和「謝謝你的關注」或者「謝謝你的關照」,讓別人明白你感謝他們無償花時間幫助你。
坦率地講,這一點沒有語法正確、文字清晰、準確、有內容和避免使用專用格式重要(同時也不能替代它們)。黑客們一般寧可讀有點唐突但技術鮮明的臭蟲報告,而不是那種有禮但含糊的報告。(如果這點讓你不解,記住我們是按問題能教我們什麼來評價它的)
然爾,如果你已經談清楚了技術問題,客氣一點肯定會增加你得到有用回覆的機會。
(我們必須指出,本文唯一受到一些老黑客認真反對的地方是以前曾經推薦過的「提前謝了」,一些黑客認為這隱含著事後不用再感謝任何人的暗示。我們的建議是要麼先說 「提前謝了」,事後再對回覆者表示感謝,要麼換種方式表達,譬如用「謝謝你的關注」或「謝謝你的關照」)。
問題解決後追加一條簡要說明
問題解決後向所有幫助過的人追加一條消息,讓他們知道問題是如何解決的並再次感謝。如果問題在郵件列表或新聞組中受到廣泛關注,在那裡追加此消息比較恰當。
最理想的方式是向最初提問的線索回覆此消息,並在主題中包含「已解決」、「已搞定」或其它同等含義的明顯標記。在人來人往的郵件列表裡,一個看見線索 「問題X」和「問題X-已解決」的潛在回覆者就明白不用再浪費時間了(除非他個人覺得「問題X」有趣),因此可以利用此時間去解決其它問題。
追加的消息用不著太長或太複雜,一句簡單的「你好──是網線壞了!謝謝大家──比爾」就比什麼都沒有要強。事實上,除非解決問題的技術真正高深,一條簡短而親切的總結比長篇大論要好。說明是什麼行動解決了問題,用不著重演整個排錯的故事。
對於有深度的問題,張貼排錯歷史的摘要是恰當的。描述問題的最終狀態,說明是什麼解決了問題,在此之後才指明可以避免的彎路。應避免的彎路部分應放在正確的解決方案和其它總結材料之後,而不要將此消息搞成偵探推理小說。列出那些幫助過你的名字,那樣你會交到朋友的。
除了有禮貌、有內容以外,這種類型的追帖將幫助其他人在郵件列表、新聞組或論壇文檔中搜索到真正解決你問題的方案,從而也讓他們受益。
最後,此類追帖還讓每位參與協助的人因問題的解決而產生一種滿足感。如果你自己不是技術專家或黑客,相信我們,這種感覺對於你尋求幫助的老手和專家是非常重要的。問題敘述到最後不知所終總是令人沮喪的,黑客們癢癢地渴望它們被解決。「撓癢癢」為你掙到的信譽將對你下次再次張貼提問非常非常的有幫助。
考慮一下怎樣才能避免他人將來也遇到類似的問題,問問自己編一份文檔或FAQ補丁會不會有幫助,如果是的話就將補丁發給維護者。
在黑客中,這種良好的後繼行動實際上比傳統的禮貌更重要,也是你善待他人而贏得聲譽的方式,這是非常有價值的財富。
如何解讀回答
RTFM和STFW:如何知道你已完全搞砸
有一個古老而神聖的傳統:如果你收到「RTFM」的回覆,發信人認為你應該去「讀讀該死的手冊」。他或她多半是對的,去讀一下吧。
RTFM有個年輕一點的親戚,如果你收到「STFW」的回覆,發信人認為你應該「搜搜該死的網絡」。那人多半也是對的,去搜一下吧。(更溫和一點的說法是 「谷歌是你的朋友!」)
在論壇,你也可能被要求去搜索論壇的文檔。事實上,有人甚至可能熱心地為你提供以前解決此問題的線索。但不要依賴這種關照,提問前應該先搜索一下文檔。
通常,叫你搜索的人已經打開了能解決你問題的手冊或網頁,正在一邊看一邊敲鍵盤。這些回覆意味著他認為:第一,你要的信息很容易找到。第二,自已找要比別人喂到嘴裡能學得更多。
你不應該覺得這樣就被冒犯了,按黑客的標準,回覆者沒有不理你就是在向你表示某種尊敬,你反而應該感謝他熱切地想幫助你。
如果還不明白……
如果你看不懂回答,不要馬上回覆一個要求說明的消息,先試試那些最初提問時用過的相同工具(如手冊、FAQ,網頁、懂行的朋友等)試著搞懂回答。如果還是需要說明,展現你已經明白的。
譬如,假如我告訴你:「看起來像是某輸入項有問題,你需要清除它」,接著是個不好的回帖:「什麼是某輸入項?」。而這是一個很好的跟帖:「是的,我讀了手冊,某某輸入項只在-z和-p開關中被提到,但都沒有涉及到如何清除它們,你指的是哪一個還是我弄錯了什麼?」
對待無禮
很多黑客圈子中看似無禮的行為並不是存心冒犯。相反,它是直接了當、一針見血式的交流風格,這種風格對於更關注解決問題而不是使別人感覺舒服而混亂的人是很自然的。
如果你覺得被冒犯了,試著平靜地反應。如果有人真的做了過格的事,郵件列表、新聞組或論壇中的前輩多半會招呼他。如果這沒有發生而你卻光火了,那麼你發火對象的言語可能在黑客社區中看起來是正常的,而你將被視為有錯的一方,這將傷害到你獲取信息或幫助的機會。
另一方面,你會偶而真的碰到無禮和無聊的言行。與上述相反,對真正的冒犯者狠狠地打擊、用犀利的語言將其駁得體無完膚都是可以接受的。然爾,在行事之前一定要非常非常的有根據。糾正無禮的言論與開始一場毫無意義的口水戰僅一線之隔,黑客們自己莽撞地越線的情況並不鮮見。如果你是新手或外來者,避開這種莽撞的機會並不高。如果你想得到的是信息而不是消磨時光,這時最好不要把手放在鍵盤上以免冒險。
(有些人斷言很多黑客都有輕度的自閉症或阿斯伯格綜合症,缺少用於潤滑人類社會「正常」交往所需的腦電路。這既可能是真也可能是假。如果你自己不是黑客,興許你認為我們腦袋有問題還能幫助你應付我們的古怪行為。只管這麼幹好了,我們不在乎。我們喜歡我們現在這個樣子,並且一般都對病號標記有站得住腳的懷疑。)
在下一節,我們會談到另一個問題,當你行為不當時會受到的「冒犯」。
別象失敗者那樣反應
在黑客社區的論壇中有那麼幾次你可能會搞砸──以本文描述或類似的方式。你會被示眾是如何搞砸的,也許言語中還會帶點顏色。
這種事發生以後,你能做的最糟糕的事莫過於哀嚎你的遭遇、宣稱被口頭攻擊、要求道歉、高聲尖叫、憋悶氣、威脅訴諸法律、向其僱主報怨、忘了關馬桶蓋等等。相反,你該這樣去做:
熬過去,這很正常。事實上,它是有益健康與恰當的。
社區的標準不會自己維持,它們是通過參與者積極而公開地執行來維持的。不要哭嚎所有的批評都應該通過私下的郵件傳送,這不是事情運作的方式。當有人評論你的一個說法有誤或者提出不同看法時,堅持聲稱受到個人攻擊也毫無益處,這些都是失敗者的態度。
也有其它的黑客論壇,受過高禮節要求的誤導,禁止參與者張貼任何對別人帖子挑毛病的消息,並聲稱「如果你不想幫助用戶就閉嘴」。有思路的參與者紛紛離開的結果只會使它們變成了毫無意義的嘮叨與無用的技術論壇。
是誇張的「友誼」(以上述方式)還是有用?挑一個。
記著:當黑客說你搞砸了,並且(無論多麼刺耳地)告訴你別再這樣做時,他正在為關心你和他的社區而行動。對他而言,不理你並將你從他的生活中濾除要容易得多。如果你無法做到感謝,至少要有點尊嚴,別大聲哀嚎,也別因為自己是個有戲劇性超級敏感的靈魂和自以為有資格的新來者,就指望別人像對待脆弱的洋娃娃那樣對你。
有時候,即使你沒有搞砸(或者只是別人想像你搞砸了), 有些人也會無緣無故地攻擊你本人。在這種情況下,報怨倒是真的會把問題搞砸。
這些找茬者要麼是毫無辦法但自以為是專家的不中用傢伙,要麼就是測試你是否真會搞砸的心理專家。其它讀者要麼不理睬,要麼用自己的方式對付他們。這些找茬者在給自己找麻煩,這點你不用操心。
也別讓自己捲入口水戰,大多數口水戰最好不要理睬──當然,是在你核實它們只是口水戰、沒有指出你搞砸的地方,而且沒有巧妙地將問題真正的答案藏於其中之後(這也是可能的)。
提問禁忌
下面是些典型的愚蠢問題和黑客不回答它們時的想法。
問:我到哪可以找到某程序或X資源?
問:我怎樣用X做 Y?
問:如何配置我的 shell提示?
問:我可以用 Bass-o-matic文件轉換工具將AcmeCorp文檔轉為TeX格式嗎?
問:我的{程序、配置、SQL語句}不運行了
問:我的視窗電腦出問題了,你能幫忙嗎?
問:我的程序不運行了,我認為系統工具X有問題
問:我安裝 Linux或X遇到困難,你能幫忙嗎?
問:我如何才能破解超級用戶口令/盜取通道操作員的特權/查看某人的電子郵件?
問:
我到哪可以找到某程序或X資源?
答:
在我找到它的同樣地方,笨旦──在網頁搜索引擎上。上帝啊,難道還有人不知道如何使用 谷歌 嗎?
問:
我怎樣用X做 Y?
答:
如果你想解決的是Y,提問時別給出可能並不恰當的方法。這種問題說明提問者不但對X完全無知,也對要解決的Y問題糊塗,還被特定形勢禁錮了思維。等他們把問題弄好再說。
問:
如何配置我的shell提示?
答:
如果你有足夠的智慧提這個問題,你也該有足夠的智慧去 RTFM,然後自己去找出來。
問:
我可以用Bass-o-matic文件轉換工具將AcmeCorp文檔轉為TeX格式嗎?
答:
試試就知道了。如果你試過,你既知道了答案,又不用浪費我的時間了。
問:
我的{程序、配置、SQL語句}不運行了
答:
這不是一個問題,我也沒有興趣去猜你有什麼問題──我有更要緊的事要做。看到這種東西,我的反應一般如下:
*
你還有什麼補充嗎?
*
噢,太糟了,希望你能搞定。
*
這跟我究竟有什麼關係?
問:
我的視窗電腦出問題了,你能幫忙嗎?
答:
是的,把視窗垃圾刪了,裝個像Linux或BSD的開源操作系統吧。
注意:如果程序有官方的視窗版或者與視窗有交互(如Samba),你可以問與視窗相關的問題,只是別對問題是由視窗操作系統而不是程序本身造成的回覆感到驚訝,因為視窗一般來說太差,這種說法一般都成立。
問:
我的程序不運行了,我認為系統工具X有問題
答:
你完全有可能是第一個注意到被成千上萬用戶反覆使用的系統調用與庫文件有明顯缺陷的人,更有可能的是你完全沒有根據。不同凡響的說法需要不同凡響的證據,當你這樣聲稱時,你必須有清楚而詳盡的缺陷說明文檔作後盾。
問:
我安裝Linux或X遇到困難,你能幫忙嗎?
答:
不行,我需要親手操作你的電腦才能幫你排錯,去向當地的Linux用戶組尋求方便的幫助(你可以在 這裡 找到用戶組列表)
注意:如果安裝問題與某Linux發行版有關,在針對它的郵件列表、論壇或本地用戶組織中提問也許是恰當的。此時,應描述問題的準確細節。在此之前,先用 「linux」和所有被懷疑的硬件 [作關鍵詞] 仔細搜索。
問:
我如何才能破解超級用戶口令/盜取通道操作員的特權/查看某人的電子郵件?
答:
想做這種事情說明你是個卑劣的傢伙,想讓黑客教你做這種事情說明你是個白痴。
好問題與壞問題
最後,我將通過舉例來演示提問的智慧。同樣的問題兩種提法,一種愚蠢,另一種明智。
愚蠢:我在哪能找到關於 Foonly Flurbamatic設備的東西?
這個問題在乞求得到 "STFW" 式的回覆。
明智: 我用谷歌搜索過「Foonly Flurbamatic 2600」,但沒有找到什麼有用的,有誰知道在哪能找到這種設備的編程信息?
這個人已經搜索過網絡了,而且聽起來他可能真的遇到了問題。
愚蠢: 我不能編譯某項目的源代碼,它為什麼這麼破?
提問者假設是別人搞砸了,太自大了。
明智: 某項目的源代碼不能在某Linux6.2版下編譯。我讀了常見問題文檔,但其中沒有與某Linux相關的內容。這是編譯時的記錄,我做錯了什麼嗎?
提問者已經指明了運行環境,讀了FAQ,列出了錯誤,也沒有假設問題是別人的過錯,這傢伙值得注意。
愚蠢: 我的主板有問題,誰能幫我?
某黑客對此的反應可能是:「是的,還需要幫你拍背和換尿布嗎?」,然後是敲下刪除鍵。
明智: 我在S2464主板上試過X、Y和Z,當它們都失敗後,又試了A、B和C。注意我試C時的奇怪症狀,顯然某某東西正在做某某事情,這不是期望的行為。通常在Athlon MP主板上導致某某事情的原因是什麼?有誰知道我還能再試點什麼以確定問題?
相反地,這個人看來值得回答。他或她展現瞭解決問題的能力而不是坐等天上掉餡餅。
在最後那個問題中,注意「給我一個回答」與「請幫我看看我還能再做點什麼測試以得到啟發」之間細微但重要的差別。
事實上,最後那個問題基本上源於2001年8月Linux內核郵件列表(lkml)上的真實事件,是我(Eric) 當時提了那個問題,我發現Tyan S2462主板有神秘的死機現象,郵件列表成員給我提供瞭解決此問題的關鍵信息。
通過這種提問方式,我給了別人可以咀嚼玩味的東西。我設法使之對參與者既輕鬆又有吸引力,也表明了對同行能力的尊敬並邀請他們與我一起協商。通過告訴他們我已經走過的彎路,我還表明了對他們寶貴時間的尊重。
事後,當我感謝大家並評論這次良好的經歷時,一個Linux內核郵件列表的成員談到,他認為我得到答案並不是因為我的名字掛在列表上,而只是因為我正確的提問方式。
黑客們在某種方面是非常不留情面的精英分子。我想在這事上他是對的,如果我表現得像個不勞而獲的寄生蟲,不管我是誰都會被忽略或斥責。他建議將整個事件作為對其它人提問的指導,這直接導致了本文的編寫。
如果得不到回答
如果得不到回答,請不要認為我們不想幫你,有時只是因為被問到的小組成員的確不知道答案。沒有回覆不等於不被理睬,當然必須承認從外面很難看出兩者的差別。
一般而言,直接將問題再張貼一次不好,這會被視為毫無意義的騷擾。耐心一點,知道你問題答案的人可能生活在不同的時區,有可能正在睡覺,也有可能你的問題一開始就沒有組織好。
還有其它資源可以尋求幫助,通常是在一些面向新手的資源中。
有許多在線與本地的用戶組織,雖然它們自己不編寫任何軟件,但是對軟件很熱心。這些用戶組通常因互助和幫助新手而形成。
還有眾多大小商業公司提供簽約支持服務(紅帽與 SpikeSource是兩家最出名的,還有許多其它的)。別因為要付點錢才有支持就感到沮喪!畢竟,如果你車子的汽缸墊燒了,你多半還得花錢找個修理店把它弄好。即使軟件沒花你一分錢,你總不能指望服務支持都是免費的。
象Linux這樣流行的軟件,每個開發者至少有一萬個以上的用戶,一個人不可能應付這麼多用戶的服務要求。記住,即使你必須付費才能得到支持,也比你還得額外花錢買軟件要少得多(而且對封閉源代碼軟件的服務支持與開源軟件相比通常還要貴一點,也要差一點)。
如何更好地回答
態度和善一點。問題帶來的壓力常使人顯得無禮或愚蠢,其實並不是這樣。
對初犯者私下回覆。 對那些坦誠犯錯之人沒有必要當眾羞辱,一個真正的新手也許連怎麼搜索或在哪找FAQ都不知道。
如果你不確定,一定要說出來! 一個聽起來權威的錯誤回覆比沒有還要糟,別因為聽起來像個專家好玩就給別人亂指路。要謙虛和誠實,給提問者與同行都樹個好榜樣。
如果幫不了忙,別妨礙。 不要在具體步驟上開玩笑,那樣也許會毀了用戶的安裝──有些可憐的呆瓜會把它當成真的指令。
探索性的反問以引出更多的細節。 如果你做得好,提問者可以學到點東西──你也可以。試試將很差的問題轉變成好問題,別忘了我們都曾是新手。
儘管對那些懶蟲報怨一聲RTFM 是正當的,指出文檔的位置(即使只是建議做個谷歌關鍵詞搜索)會更好
如果你決意回答,給出好的答案。 當別人正在用錯誤的工具或方法時別建議笨拙的權宜之計,應推薦更好的工具,重新組織問題。
幫助你的社區從中學習。當回覆一個好問題時,問問自己 「如何修改相關文件或FAQ文檔以免再次解答同樣的問題?」,接著再向文檔維護者發一份補丁。
如果你是在研究一番後才做出的回答,展現你的技巧而不是直接端出結果。畢竟「授人以魚,不如授人以漁」。
相關資源
如果需要個人電腦、Unix和互聯網如何工作的基礎知識,參閱 Unix和互聯網工作的基本原理。
當你發佈軟件或補丁時,試著按 軟件發佈實踐 操作。
鳴謝
Evelyn Mitchell貢獻了一些愚蠢問題例子並啟發了編寫「如何更好地回答問題」這一節,Mikhail Ramendik貢獻了一些特別有價值的建議和改進。
# Thyrsus Enterprises
# Rick Moen
# 修訂版3.5 2008年1 月2日 2008年1月2日
# 英文版:http://catb.org/~esr/faqs/smart-questions.html
# 中文版:http://www.lat30n.cn/doc/oss/smart-questions.html
原文:How To Ask Questions The Smart Way
翻譯:王剛
時間:2008年2月14日
內容
譯文
棄權申明
引言
提問前
提問時
仔細挑選論壇
面向新手的論壇和互聯網中繼聊天(IRC)通常響應最快
第二步,使用項目的郵件列表
使用有意義且明確的主題
使問題容易回覆
用清晰、語法、拼寫正確的語句書寫
使用易於讀取且標準的文件格式發送問題
描述問題應準確且有內容
量不在多,精煉則靈
別動輒聲稱找到臭蟲
低聲下氣代替不了做自己的家庭作業
描述問題症狀而不是猜測
按時間先後羅列問題症狀
描述目標而不是過程
別要求私下回覆電郵
提問應明確
關於代碼的問題
別張貼家庭作業式問題
刪除無意義的要求
不要把問題標記為「緊急」, 即使對你而言的確如此
禮貌總是有益的
問題解決後追加一條簡要說明
如何解讀回答
RTFM和STFW:如何知道你已完全搞砸
如果還不明白……
對待無禮
別象失敗者那樣反應
提問禁忌
好問題與壞問題
如果得不到回答
如何更好地回答
相關資源
鳴謝
譯文
譯文: 印尼語、 巴西葡萄牙語、 漢語、 捷克語、 丹麥語、 荷蘭語、 愛沙尼亞語、 芬蘭語、 法語、 喬治亞語、 德語、 希伯來語、 匈牙利語、 意大利語、 日語、 波蘭語、 葡萄牙語、 羅馬尼亞語、 俄語、 塞爾維亞語、 西班牙語、 瑞典語、 泰語、 土耳其語。如果你想複製、鏡像、翻譯或引用本文,請參閱我的 複製協議。
棄權申明
許多項目的網站在如何取得幫助的部分鏈接了本文,這沒有關係,也正是我們想要的。但如果你是該項目生成此鏈接的網管,請在鏈接附近顯著位置註明:我們不提供該項目的服務支持!
我們已經領教了沒有此說明帶來的痛苦,我們將不停地被一些白痴糾纏,他們認為既然我們發佈了本文,那麼我們就有責任解決世上所有的技術問題。
如果你是因為需要幫助正在閱讀本文,然後就帶著可以直接從作者那取得幫助的印象離開,那麼你就不幸成了那些白痴之一。別向我們提問,我們不會理睬的。我們只是在這教你如何從那些真正懂得你軟硬件問題的人那裡取得幫助,但99%的時間我們不會是那些人。除非你非常地確定本文的作者是你遇到的問題方面的專家,請不要打攪,這樣大家都開心一點。
引言
在 黑客 的世界裡,你所提技術問題的解答很大程度上取決於你提問的方式與解決此問題的難度,本文將教你如何提問才更有可能得到滿意的答覆。
開源程序的應用已經很廣,你通常可以從其他更有經驗的用戶而不是黑客那裡得到解答。這是好事,他們一般對新手常有的毛病更容忍一點。然爾,使用我們推薦的方法,象對待黑客那樣對待這些有經驗的用戶,通常能最有效地得到問題的解答。
第一件需要明白的事是黑客喜歡難題和激發思考的好問題。假如不是這樣,我們也不會寫本文了。如果你能提出一個有趣的問題讓我們咀嚼玩味,我們會感激你。好問題是種激勵與禮物,幫助我們發展認知,揭示沒有注意或想到的問題。在黑客中,「好問題!」 是非常熱烈而真摯的讚許。
此外,黑客還有遇到簡單問題就表現出敵視或傲慢的名聲。有時,我們看起來還對新手和愚蠢的傢伙有條件反射式的無禮,但事情並不真是這樣。
我們只是毫無歉意地敵視那些提問前不願思考、不做自己家庭作業的人。這種人就像時間無底洞──他們只知道索取,不願意付出,他們浪費了時間,這些時間本可用於其它更有趣的問題或更值得回答的人。我們將這種人叫做 「失敗者(loser)」 (由於歷史原因,我們有時將「loser」拼寫為「lusers」 。)
我們意識到許多人只是想使用我們寫的軟件,他們對學習技術細節沒有興趣。對大多數人而言,計算機只是種工具,是種達到目的的手段而已。他們有自己的生活並且有更要緊的事要做,我們承認這點,也從不指望每個人都對這些讓我們著迷的技術問題感興趣。不過,我們回答問題的風格是為了適應那些真正對此有興趣並願意主動參與解決問題的人,這一點不會變,也不該變。如果連這都變了,我們就會在自己能做得最好的事情上不再那麼犀利。
我們(大多數)是自願者, 從自己繁忙的生活中抽時間來回答問題,有時會力不從心。因此,我們會毫不留情地濾除問題,特別是那些看起來像是失敗者提的,以便更有效地把回答問題的時間留給那些勝利者。
如果你認為這種態度令人反感、以施惠者自居或傲慢自大,請檢查你的假設,我們並未要求你屈服──事實上,假如你做了該做的努力,我們中的大多數將非常樂意平等地與你交流,並歡迎你接納我們的文化。試圖去幫助那些不願自救的人對我們簡直沒有效率。不懂沒有關係,但愚蠢地做事不行。
所以,你不必在技術上很在行才能吸引我們的注意,但你必須表現出能引導你在行的姿態──機 敏、有想法、善於觀察、樂於主動參與問題的解決。如果你做不到這些使你與眾不同的事情,我們建議你付錢跟別人簽商業服務合同,而不是要求黑客無償幫助。
如果你決定向我們求助,你不會想成為一名失敗者,你也不想被看成一個失敗者。得到快速有效回答的最好方法是使提問者看起來像個聰明、自信和有想法的人,並且暗示只是碰巧在某一特別問題上需要幫助。
(歡迎對本文指正,可以將建議發至 esr@thyrsus.com 或 respond-auto@linuxmafia.com。請注意,本文不想成為一般性的 網絡禮儀 指南,我一般會拒絕那些與引出技術論壇中有用的回答不特別相關的建議。)
提問前
在通過電郵、新聞組或論壇提技術問題以前,做以下事情:
1.
嘗試在你準備提問的論壇的歷史文檔中搜索答案
2.
嘗試搜索互聯網以找到答案
3.
嘗試閱讀手冊以找到答案
4.
嘗試閱讀「常見問題」(FAQ)以找到答案
5.
嘗試自己檢查或試驗以找到答案
6.
嘗試請教懂行的朋友以找到答案
7.
如果你是程序員,嘗試閱讀源代碼以找到答案
提問時,請先表明你已經做了上述事情,這將有助於建立你不是寄生蟲與浪費別人時間的印象。最好再表述你從中學到的東西,我們喜歡回答那些表現出能從答案中學習的人。
運用某些策略,比如用谷歌(Google)搜索你遇到的各種錯誤提示(既搜索 谷歌論壇,也搜索網頁), 這樣很可能直接就找到瞭解決問題的文檔或郵件列表線索。 即使沒有結果,在郵件列表或新聞組尋求幫助時提一句「我在谷歌中搜過下列句子但沒有找到什麼有用的東西」 也是件好事,即使它只是表明了搜索引擎不能提供哪些幫助。
別著急,不要指望幾秒鐘的谷歌搜索就能解決一個複雜的問題。讀一下常見問題文檔。在向專家提問之前,先向後靠靠放鬆一下,再思考一下問題。相信我們,他們能從你的提問看出你做了多少閱讀與思考,如果你是有備而來,將更有可能得到解答。不要將所有問題一股腦拋出,只因你的第一次搜索沒有結果(或者結果太多)。
認真地思考,準備好你的問題。輕率的提問只能得到輕率的回答,或者壓根沒有。在提問時,你越是表現出在此前做過思考與努力去解決自己的問題,你越有可能得到真正的幫助。
注意別提錯問題。如果提問基於錯誤的假設,某黑客多半會一邊想 「愚蠢的問題……」,一邊按將錯就錯的答案回覆你,並且希望這種只是得到你自己「問的」而非真正所需的回答,給你一個教訓。
永遠不要假設你有資格得到解答。你沒有這種資格,畢竟你沒有為此服務付費。如果你能夠提出有內容、有趣和激勵思考的問題──那種毫無疑問能夠向社區貢獻經驗,而不僅僅是消極地要求從別人那獲取知識的問題,你將「掙到」答案。
另一方面,表明你有能力也樂意參與問題的解決是個很好的開端。「有沒有人能指個方向?」,我這還差點什麼?」,「我應該查哪個網站?」,通常要比 「請給出我可以用的完整步驟」更容易得到回覆,因為你表明了只要有人能指個方向,你就很樂意完成剩下的過程。
提問時
仔細挑選論壇
要對在哪提問留心,如果你做了下述事情,多半會被一筆勾銷或被看成「失敗者」:
*
張貼與論壇主題無關的問題
*
在面向高級技術問題的論壇上張貼初淺的問題,或者反之。
*
在太多不同的新聞組同時張貼
*
給既非熟人也沒有義務解決你問題的人發送你私人的電郵
為保護通信的渠道不被無關的東西淹沒,黑客會除掉那些沒有找對地方的問題,你不會想讓這種事落到自己頭上的。
因此,第一步是找對論壇。谷歌和其它搜索引擎還是你的朋友,可以用它們搜索你遇到困難的軟硬件問題最相關的項目網站。那裡通常都有項目的常見問題(FAQ)、郵件列表及文檔的鏈接。如果你的努力(包括閱讀FAQ)都沒有結果,這些郵件列表就是最後能取得幫助的地方。項目的網站也許還有報告臭蟲的流程或鏈接,如果是這樣,去看看。
向陌生的人或論壇發送郵件極有可能是在冒險。譬如,不要假設一個內容豐富的網頁的作者想充當你的免費顧問,不要對你的問題是否會受到歡迎做太樂觀的估計──如果你不確定,向別處發或者壓根別發。
在選擇論壇、新聞組或郵件列表時,別太相信名字,先看看FAQ 或者許可書以明確你的問題是否切題。發貼前先翻翻已有的帖子,這樣可以讓你感受一下那裡行事的方式。事實上,張貼前在新聞組或郵件列表的歷史文檔中搜索與你問題相關的關鍵詞是個極好的主意,也許就找到答案了。即使沒有,也能幫助你歸納出更好的問題。
別象機關槍似的一次性「掃射」所有的幫助渠道,這就像大喊大叫一樣會使人不快。要一個一個地來。
弄懂主題!最典型的錯誤之一是在某種致立於跨平台可移植的語言、庫或工具的論壇中提關於Unix或Windows操作系統程序接口的問題。如果你不明白為什麼這是大錯,最好在搞清楚概念前什麼也別問。
一般來說,在仔細挑選的公共論壇中提問比在私有論壇中提同樣的問題更容易得到有用的回答。有幾個道理支持這點,一是看潛在的回覆者有多少,二是看論壇的參與者有多少,黑客更願回答能啟發多數人的問題。
可以理解,老練的黑客和一些流行軟件的作者正在承受過多的不當消息。就像那根最後壓垮駱駝背的稻草一樣,你的加入也有可能使情況走向極端──已經好幾次了,一些流行軟件的作者退出了對自己軟件的支持,因為伴隨而來的湧入其私人郵箱的垃圾郵件變得無法忍受。
面向新手的論壇和互聯網中繼聊天(IRC)通常響應最快
本地的用戶組織或者你所用的Linux發行版也許正在宣傳新手取得幫助的論壇或IRC通道(在一些非英語國家,新手論壇很可能還是郵件列表),這些地方是開始提問的好去處,特別是當你覺得遇到的也許只是相對簡單或者很普通的問題時。經過宣傳的IRC通道是公開邀請提問的地方,通常可以得到實時的回覆。
事實上,如果出問題的程序來自某發行版(這很常見),最好先去該發行版的論壇或郵件列表中提問,再到程序本身的項目論壇或郵件列表,(否則)該項目的黑客可能僅僅回覆「用我們的代碼」。
在任何論壇發貼以前,先看看有沒有搜索功能。如果有,就試著用問題的幾個關鍵詞搜索一下,也許就有幫助。如果在此之前你已做過全面的網頁搜索(你應該這樣去做),還是再搜索一下論壇,搜索引擎有可能沒來得及索引此論壇的全部內容。
通過論壇或IRC通道提供項目的用戶支持有增長的趨勢,電子郵件交流則更多地為項目開發者保留。所以先在論壇或IRC中尋求與該項目相關的幫助。
第二步,使用項目的郵件列表
當某個項目存在開發者郵件列表時,要向列表而不是其中的個別成員提問,即使你確信他能最好地回答你的問題。查一查項目的文檔和主頁,找到項目的郵件列表並使用它。採用這種辦法有幾個很好的理由:
*
向個別開發者提的問題(如果)足夠好,也將對整個項目組有益。相反,如果你認為自己的問題對整個項目組來說太愚蠢,這也不能成為騷擾個別開發者的理由。
*
向列表提問可以分散開發者的負擔,個別開發者(尤其是項目領導)也許太忙以至於沒法回答你的問題。
*
大多數郵件列表都要存檔,那些存檔將被搜索引擎索引,如果你向列表提問並得到解答,將來其它人可以通過網頁搜索找到你的問題和答案,也就不用再次發問了。
*
如果某些問題經常被問到,開發者可以利用此信息改進文檔或軟件本身,以使其更清楚。如果只是私下提問,就沒有人能看到最常見問題的完整場景。
如果一個項目既有 「用戶」 也有「開發者」(或 「黑客」)郵件列表或論壇,而你又不擺弄那些代碼,向「用戶」列表或論壇提問。不要假設自己會在開發者列表中受到歡迎,那些人多半會遭受你的噪音干擾。
然爾,如果你確信你的問題不一般,而且在「用戶」 列表或論壇中幾天都沒有回覆,可以試試「開發者」列表或論壇。建議你在張貼前最好先暗暗地觀察幾天以瞭解那的行事方式(事實上這是參與任何私有或半私有列表的好主意)
如果你找不到一個項目的郵件列表,而只能查到項目維護者的地址,只管向其發信。即便在這種情況下,也別假設(項目)郵件列表不存在。在你的電子郵件中陳述你已經試過但沒有找到合適的郵件列表,也提及你不反對將自己的郵件轉發給他人(許多人認為,即使沒什麼秘密,私人電子郵件也不應該被公開。通過允許將你的電子郵件轉發他人,你給了相應人員處置你郵件的選擇)。
使用有意義且明確的主題
在郵件列表、新聞組或論壇中,主題是你在五十個或更少的字以內吸引有資格專家注意的黃金機會,不要用諸如 「請幫我」 (更別提大寫的 「請幫我!!!!」,這種主題的消息會被條件反射式地刪掉)之類的嘮叨浪費機會。不要用你痛苦的深度來打動我們,相反,要在這點空間中使用超級簡明扼要的問題描述。
使用主題的好慣例是「對象──偏差」(式的描述),許多技術支持組織就是這樣做的。在「對象」部分指明是哪一個或哪一組東西有問題,在「偏差」部分則描述與期望的行為不一致的地方。
愚蠢:
救命啊!我的筆記本視頻工作不正常!
明智:
X.org 6.8.1扭曲鼠標光標,MV1005型號的某顯卡芯片組
更明智:
使用MV1005型號的某顯卡芯片組的X.org 6.8.1的鼠標光標被扭曲
編寫 「對象──偏差」式描述的過程有助於你組織對問題的細緻思考。是什麼被影響了?僅僅是鼠標光標或者還有其它圖形?只在X.org中出現?或只是在其6.8.1版中?是針對某顯卡芯片組?或者只是其中的MV1005型號?一個黑客只需描一眼就能夠立即明白什麼是你遇到的問題,什麼是你自己的問題。
更一般地,想像一下在一個只顯示主題的文檔索引中查找。讓你的主題更好地反映問題,可以使下一個搜索類似問題的人能夠在文檔中直接就找到答案的線索,而不用再次發貼提問。
如果你想在回覆中提問,確保改變主題以表明你是在問一個問題,一個主題象 「Re: 測試」 或者 「Re: 新臭蟲」的消息不太可能引起足夠的注意。同時,將回覆中與新主題不甚相關的引用內容儘量刪除。
對於列表消息,不要直接點擊回覆(按鈕)來開始一個全新的線索,這將限制你的觀眾。有些郵件閱讀程序,比如mutt,允許用戶按線索排序並通過摺疊線索來隱藏消息,這樣做的人永遠看不到你發的消息。
僅僅改變主題還不夠。mutt和其它一些郵件閱讀程序還要檢查郵件頭主題以外的其它信息,以便為其指定線索,所以寧可發一個全新的郵件。
在論壇,因為消息與特定的線索緊密結合,並且通常在線索之外不可見,好的提問方式略有不同,通過回覆提問並不要緊。不是所有論壇都允許在回覆中出現分離的主題,而且這樣做了基本上沒有人會去看。不過,通過回覆提問本身就是令人懷疑的做法,因為它們只會被正在查看該線索的人讀到。所以,除非你只想在該線索當前活躍的人群中提問,還是另起爐灶比較好。
使問題容易回覆
以「請向……回覆」來結束問題多半會使你得不到回答。如果你覺得花幾秒鐘在郵件客戶端設置一下回覆地址都麻煩,我們也覺得花幾秒鐘考慮你的問題更麻煩。如果你的郵件客戶端程序不支持這樣做,換個好點的;如果是操作系統不支持所有這種郵件客戶端程序,也換個好點的。
在論壇,要求通過電子郵件回覆是完全無禮的,除非你確信回覆的信息也許是敏感的(而且有人會為了某些未知的原因,只讓你而不是整個論壇知道答案)。如果你只是想在有人回覆線索時得到電子郵件提醒,可以要求論壇發送。幾乎所有論壇都支持諸如「留意本線索」、「有回覆發送郵件」等功能。
用清晰、語法、拼寫正確的語句書寫
經驗告訴我們,粗心與草率的作者通常也粗心與草率地思考和編程(我敢打賭)。為這些粗心與草率的思考者回答問題沒有什麼好處,我們寧可將時間花在其它地方。
清楚、良好地表達你的問題非常重要。如果你覺得這樣做麻煩,我們也覺得注意(你的問題)麻煩。花點額外的精力斟酌一下字句,用不著太僵硬與正式──事實上,黑客文化很看重能準確地使用非正式、俚語和幽默的語句。但它必須很準確,而且有跡象表明你是在思考和關注問題。
正確地拼寫、使用標點和大小寫,不要將「its」混淆為「it's」,「loose」搞成「lose」或者將「discrete」弄成 「discreet」。不要全部用大寫,這會被視為無禮的大聲嚷嚷 (全部小寫也好不到哪去,因為不易閱讀。Alan Cox[註:著名黑客,Linux內核的重要參與者]也許可以這樣做,但你不行。)
一般而言,如果你寫得像個半文盲似的傻子,多半得不到理睬。也不要使用即時通訊中的簡寫,如將「you」簡化為「u」會使你看起來像一個為了節約二次擊鍵的半文盲式的傻子。更糟的是,如果像個小孩似地鬼畫桃符那絕對是在找死,可以肯定沒人會理你(或者最多是給你一大堆指責與挖苦)。
如果在非母語論壇提問,你的拼寫與語法錯誤會得到有限的寬容,但懶惰完全不會被容忍(是的,我們通常看得出其中的差別)。同時,除非你知道回覆者使用的語言,請使用英語書寫。繁忙的黑客一般會直接刪除用他們看不懂語言寫的消息。在互聯網上英語是工作語言,用英語書寫可以將你的問題不被閱讀就被直接刪除的可能性降到最低。
使用易於讀取且標準的文件格式發送問題
如果你人為地將問題搞得難以閱讀,它多半會被忽略,人們更願讀易懂的問題,所以:
*
使用純文本而不是HTML(超文本標註語言)( 關閉HTML 並不難)
*
使用MIME(多用途互聯網郵件擴展)附件通常沒有問題,前提是真正有內容(譬如附帶的源文件或補丁),而不僅僅是郵件客戶端程序生成的模板(譬如只是消息內容的拷貝)。
*
不要發送整段只是單行句子但多次折回的郵件(這使得回覆部分內容非常困難)。設想你的讀者是在80個字符寬的文本終端閱讀郵件,設置你的行折回點小於80列。
*
但是,也不要用任何固定列折回數據(譬如日誌文件拷貝或會話記錄)。數據應該原樣包含,使回覆者確信他們看到的是與你看到的一樣的東西。
*
在英語論壇中,不要使用'Quoted-Printable' MIME編碼發送消息。這種編碼對於張貼非ASCII語言可能是必須的,但很多郵件程序並不支持。當它們分斷時,那些文本中四處散佈的 「=20」符號既難看也分散注意力,甚至有可能破壞內容的語意。
*
永遠不要指望黑客們閱讀使用封閉的專用格式編寫的文檔,諸如微軟公司的Word或Excel文件等。大多數黑客對此的反應就像有人將還在冒熱氣的豬糞倒在你門口時你的反應一樣。即使他們能夠處理,他們也很厭惡這麼做。
*
如果你從使用視窗的電腦發送電子郵件,關閉微軟愚蠢的「聰明引用」功能,以免在你的郵件中到處散佈垃圾字符。
*
在論壇,勿濫用「表情符號」和「HTML」功能(當它們提供時)。一兩個表情符號通常沒有問題,但花哨的彩色文本傾向於使人認為你是個無能之輩。過濫地使用表情符號、色彩和字體會使你看來像個傻笑的小姑娘。這通常不是個好主意,除非你只是對性而不是有用的回覆更有興趣。
如果你使用圖形用戶界面的郵件客戶端程序(如網景公司的Messenger、微軟公司的Outlook或者其它類似的),注意它們的缺省配置不一定滿足這些要求。大多數這類程序有基於菜單的「查看源碼」命令,用它來檢查發送文件夾中的消息,以確保發送的是沒有多餘雜質的純文本文件。
描述問題應準確且有內容
*
仔細、清楚地描述問題的症狀
*
描述問題發生的環境(主機,操作系統,應用程序,任何相關的),提供銷售商的發行版和版本號(如:「Fedora Core 4」、「Slackware 9.1」等)
*
描述提問前做過的研究及其理解。
*
描述提問前為確定問題而採取的診斷步驟。
*
描述最近對計算機或軟件配置的任何相關改變。
盡最大努力預測黑客會提到的問題,並提前備好答案。
Simon Tatham寫過一篇叫 如何有效報告臭蟲 的文章,我強烈推薦各位閱讀。
量不在多,精煉則靈
你應該(寫得)精煉且有內容,簡單地將一大堆代碼或數據羅列在求助消息中達不到此目的。如果你有一個很大且複雜的測試樣例讓程序崩潰,嘗試將其裁剪得越小越好。
至少有三個理由支持這點。第一,讓別人看到你在努力簡化問題使你更有可能得到回覆。第二,簡化問題使你更有可能得到有用的回覆。第三,在提純臭蟲報告的過程中,你可能自己就找到瞭解決方法或權宜之計。
別動輒聲稱找到臭蟲
當你在一個軟件中遇到問題,除非你非常、非常的有根據,不要動輒聲稱找到了臭蟲。提示:除非你能提供解決問題的源代碼補丁,或者對前一版本的回歸測試表現出不正確的行為,否則你都多半不夠完全確信。對於網頁和文檔也如此,如果你(聲稱)發現了文檔的「臭蟲」,你應該能提供相應位置的替代文本。
記住,還有許多其它用戶未經歷你遇到的問題,否則你在閱讀文檔或搜索網頁時就應該發現了(你在報怨前已經做了這些,是吧 ?)。這也意味著很有可能是你弄錯了而不是軟件本身有問題。
編寫軟件的人總是非常辛苦地使它儘可能完美。如果你聲稱找到了臭蟲,也就置疑了他們的能力,即使你是對的,也有可能會使其中的部分人感到不快。(此外,)在主題中嚷嚷「臭蟲」也是特別不老練的。
提問時,即使你私下非常確信已經發現一個真正的臭蟲,最好寫得像是你做錯了什麼。如果真的有臭蟲,你會在回覆中看到這點。這樣做的話,如果真有蟲子,維護者就會向你道歉,這總比你弄砸瞭然後欠別人一個道歉要強。
低聲下氣代替不了做自己的家庭作業
有些人明白他們不應該粗魯或傲慢地行事並要求得到答覆,但他們退到相反的低聲下氣的極端:「我知道我只是個可憐的新丁,一個失敗者,但……」。這既使人困擾,也沒有用,當伴隨著對實際問題含糊的描述時還特別令人反感。
別用低級靈長類動物的辦法浪費你我的時間,相反,儘可能清楚地描述背景情況和你的問題,這比低聲下氣更好地擺正了你的位置。
有時,論壇設有單獨的初學者提問版面,如果你真的認為遇到了初淺的問題,到那去就是了,但一樣別低聲下氣。
描述問題症狀而不是猜測
告訴黑客是什麼導致了你的問題是沒用的(如果你的診斷理論是了不起的東西,你還會向他人諮詢求助嗎?)。所以,確保只是告訴他們問題的原始症狀,而不是你的解釋和理論,讓他們來解釋和診斷。如果你認為陳述自己的猜測很重要,清楚地說明這只是你的猜測並描述為什麼它們不起作用。
愚蠢:
我在編譯內核時接連遇到SIG11錯誤,懷疑主板上的某根電路絲斷了,找到它們的最好辦法是什麼?
明智:
我組裝的電腦(K6/233 CPU、FIC-PA2007主板[威盛Apollo VP2芯片組]、Corsair PC133 SDRAM 256Mb內存)最近在開機20分鐘左右、做內核編譯時頻繁地報SIG11錯,但在頭20分鐘內從不出問題。重啟動不會復位時鐘,但整夜關機會。更換所有內存未解決問題,相關的典型編譯會話日誌附後。
由於以上這點許多人似乎難以掌握,這裡有句話可以提醒你:「所有的診斷專家都來自密蘇里州」。美國國務院的官方座右銘則是「讓我看看」(出自國會議員威勒德.范迪弗在1899年時的講話:「我來自一個出產玉米、棉花、牛蒡和民主黨人的國家,滔滔雄辯既不能說服我,也不會讓我滿意。我來自密蘇里州,你必須讓我看看。」)針對診斷者而言,這並不是懷疑,而只是一種真實而有用的需求,以便讓他們看到的是與你看到的原始證據儘可能一致的東西,而不是你的猜測與總結。(所以,)讓我們看看。
按時間先後羅列問題症狀
剛出問題之前發生的事情通常包含有解決問題最有效的線索。所以,記錄中應準確地描述你及電腦在崩潰之前都做了些什麼。在命令行處理的情況下,有會話日誌(如運行腳本工具生成的)並引用相關的若干(如20)行記錄會非常有幫助。
如果崩潰的程序有診斷選項(如-v詳述開關),試著選擇這些能在記錄中增加排錯信息的選項。記住,「多」不等於「好」。試著選取適當的排錯級別以便提供有用的信息而不是將閱讀者淹沒在垃圾中。
如果你的記錄很長(如超過四段),在開頭簡述問題隨後按時間先後羅列詳細過程也許更有用。這樣,黑客在讀你的記錄時就知道該注意哪些內容了。
描述目標而不是過程
如果你想弄清楚如何做某事(而不是報告一個臭蟲),在開頭就描述你的目標,然後才陳述遇到問題的特定步驟。
經常出現這種情況,尋求技術幫助的人在腦袋裡有個更高層次的目標,他們在自以為能達到目標的特定道路上被卡住了,然後跑來問該怎麼走,但沒有意識到這條路本身有問題,結果要費很大的勁才能通過。
愚蠢:
我怎樣才能讓某圖形程序的顏色拾取器取得十六進制的RGB值?
明智:
我正試著用自己選定數值的顏色替換一幅圖片的色表,我現在知道的唯一方法是編輯每個表槽,但卻無法讓某圖形程序的顏色拾取器取得十六進制的RGB值。
第二種提法是明智的,它使得建議採用更合適的工具以完成任務的回覆成為可能。
別要求私下回覆電郵
黑客們認為問題的解決過程應該公開、透明,此過程中如果更有才能的人注意到不完整或者不當之處,最初的回覆才能夠、也應該被糾正。同時,作為回覆者也因為能力和學識被其它同行看到而得到某種回報。
當你要求私下回覆時,此過程和回報都被中止。別這樣做,讓回覆者來決定是否私下回答──如果他真這麼做了,通常是因為他認為問題編寫太差或者太膚淺,以至於對其它人毫無意義。
對這條規則存在一條有限的例外,如果你確信提問可能會引來大量雷同的回覆時,那麼「向我發電郵,我將為論壇歸納這些回覆」將是神奇的句子。試著將郵件列表或新聞組從洪水般雷同的回覆中解救出來是非常有禮貌的──但你必須信守諾言。
提問應明確
漫無邊際的問題通常也被視為沒有明確限制的時間無底洞。最有可能給你有用答案的人通常也是最忙的人(假如只是因為他們承擔了太多工作的話),這些人對於沒有止境的時間無底洞極其敏感,所以他們也傾向於討厭那些漫無邊際的問題。
如果你明確了想讓回覆者做的事(如指點方向、發送代碼、檢查補丁或其它),你更有可能得到有用的回覆。(因為)這樣可以讓他們集中精力並間接地設定了他們為幫助你需要花費的時間和精力上限,這很好。
要想理解專家生活的世界,可以這樣設想:那裡有豐富的專長資源但稀缺的響應時間。你暗中要求他們奉獻的時間越少,你越有可能從這些真正懂行也真正很忙的專家那裡得到解答。
所以限定你的問題以使專家回答時需要付出的時間最少──這通常與簡化問題還不太一樣。舉個例,「請問可否指點一下哪有好一點的X解釋?」通常要比「請解釋一下X」明智。如果你的代碼不運行了,通常請別人看看哪有問題比叫他們幫你改正更明智。
關於代碼的問題
別要求他人給你有問題的代碼排錯而不提及應該從何入手。張貼幾百行的代碼,然後說一聲「它不能運行」會讓你得不到理睬。只貼幾十行代碼,然後說一句「在第七行以後,本應該顯示
如果你只是想讓別人幫忙審一下代碼,在最開頭就要說出來,並且一定要提到你認為哪一部分特別需要關注以及為什麼。
別張貼家庭作業式問題
黑客們善於發現「家庭作業」式的問題。我們中的大多數人已經做了自己的家庭作業,那是該你做的,以便從中學到東西。問一下提示沒有關係,但不是要求完整的解決方案。
如果你懷疑自己碰到了一個家庭作業式的問題,但仍然無法解決,試試在用戶組、論壇或(作為最後一招)在項目的「用戶」郵件列表或論壇中提問。儘管黑客們會看出來,一些老用戶也許仍會給你提示。
刪除無意義的要求
抵制這種誘惑,即在求助消息末尾加上諸如「有人能幫我嗎?」或「有沒有答案?」之類在語義上毫無意義的東西。第一,如果問題描述還不完整,這些附加的東西最多也只能是多餘的。第二,因為它們是多餘的,黑客們會認為這些東西煩人──就很有可能用邏輯上無誤但打發人的回覆,諸如「是的,你可以得到幫助」和「不,沒有給你的幫助」。
一般來說,避免提「是或否」類型的問題,除非你想得到 「是或否」類型的回答。
不要把問題標記為「緊急」, 即使對你而言的確如此
這是你的問題,不要我們的。宣稱「緊急」極有可能事與願違:大多數黑客會直接刪除這種消息,他們認為這是無禮和自私地企圖得到即時與特殊的關照。
有一點點局部的例外,如果你是在一些知名度很高、會使黑客們激動的地方使用程序,也許值得這樣去做。在這種情況下,如果你有期限壓力,也很有禮貌地提到這點,人們也許會有足夠的興趣快一點回答。
當然,這是非常冒險的,因為黑客們對什麼是令人激動的標準多半與你的不同。譬如從國際空間站這樣張貼沒有問題,但代表感覺良好的慈善或政治原因這樣做幾乎肯定不行。事實上,張貼諸如「緊急:幫我救救這個毛絨絨的小海豹!」肯定會被黑客迴避或光火,即使他們認為毛絨絨的小海豹很重要。
如果你覺得這不可思議,再把剩下的內容多讀幾遍,直到弄懂了再發貼也不遲。
禮貌總是有益的
禮貌一點,使用「請」和「謝謝你的關注」或者「謝謝你的關照」,讓別人明白你感謝他們無償花時間幫助你。
坦率地講,這一點沒有語法正確、文字清晰、準確、有內容和避免使用專用格式重要(同時也不能替代它們)。黑客們一般寧可讀有點唐突但技術鮮明的臭蟲報告,而不是那種有禮但含糊的報告。(如果這點讓你不解,記住我們是按問題能教我們什麼來評價它的)
然爾,如果你已經談清楚了技術問題,客氣一點肯定會增加你得到有用回覆的機會。
(我們必須指出,本文唯一受到一些老黑客認真反對的地方是以前曾經推薦過的「提前謝了」,一些黑客認為這隱含著事後不用再感謝任何人的暗示。我們的建議是要麼先說 「提前謝了」,事後再對回覆者表示感謝,要麼換種方式表達,譬如用「謝謝你的關注」或「謝謝你的關照」)。
問題解決後追加一條簡要說明
問題解決後向所有幫助過的人追加一條消息,讓他們知道問題是如何解決的並再次感謝。如果問題在郵件列表或新聞組中受到廣泛關注,在那裡追加此消息比較恰當。
最理想的方式是向最初提問的線索回覆此消息,並在主題中包含「已解決」、「已搞定」或其它同等含義的明顯標記。在人來人往的郵件列表裡,一個看見線索 「問題X」和「問題X-已解決」的潛在回覆者就明白不用再浪費時間了(除非他個人覺得「問題X」有趣),因此可以利用此時間去解決其它問題。
追加的消息用不著太長或太複雜,一句簡單的「你好──是網線壞了!謝謝大家──比爾」就比什麼都沒有要強。事實上,除非解決問題的技術真正高深,一條簡短而親切的總結比長篇大論要好。說明是什麼行動解決了問題,用不著重演整個排錯的故事。
對於有深度的問題,張貼排錯歷史的摘要是恰當的。描述問題的最終狀態,說明是什麼解決了問題,在此之後才指明可以避免的彎路。應避免的彎路部分應放在正確的解決方案和其它總結材料之後,而不要將此消息搞成偵探推理小說。列出那些幫助過你的名字,那樣你會交到朋友的。
除了有禮貌、有內容以外,這種類型的追帖將幫助其他人在郵件列表、新聞組或論壇文檔中搜索到真正解決你問題的方案,從而也讓他們受益。
最後,此類追帖還讓每位參與協助的人因問題的解決而產生一種滿足感。如果你自己不是技術專家或黑客,相信我們,這種感覺對於你尋求幫助的老手和專家是非常重要的。問題敘述到最後不知所終總是令人沮喪的,黑客們癢癢地渴望它們被解決。「撓癢癢」為你掙到的信譽將對你下次再次張貼提問非常非常的有幫助。
考慮一下怎樣才能避免他人將來也遇到類似的問題,問問自己編一份文檔或FAQ補丁會不會有幫助,如果是的話就將補丁發給維護者。
在黑客中,這種良好的後繼行動實際上比傳統的禮貌更重要,也是你善待他人而贏得聲譽的方式,這是非常有價值的財富。
如何解讀回答
RTFM和STFW:如何知道你已完全搞砸
有一個古老而神聖的傳統:如果你收到「RTFM」的回覆,發信人認為你應該去「讀讀該死的手冊」。他或她多半是對的,去讀一下吧。
RTFM有個年輕一點的親戚,如果你收到「STFW」的回覆,發信人認為你應該「搜搜該死的網絡」。那人多半也是對的,去搜一下吧。(更溫和一點的說法是 「谷歌是你的朋友!」)
在論壇,你也可能被要求去搜索論壇的文檔。事實上,有人甚至可能熱心地為你提供以前解決此問題的線索。但不要依賴這種關照,提問前應該先搜索一下文檔。
通常,叫你搜索的人已經打開了能解決你問題的手冊或網頁,正在一邊看一邊敲鍵盤。這些回覆意味著他認為:第一,你要的信息很容易找到。第二,自已找要比別人喂到嘴裡能學得更多。
你不應該覺得這樣就被冒犯了,按黑客的標準,回覆者沒有不理你就是在向你表示某種尊敬,你反而應該感謝他熱切地想幫助你。
如果還不明白……
如果你看不懂回答,不要馬上回覆一個要求說明的消息,先試試那些最初提問時用過的相同工具(如手冊、FAQ,網頁、懂行的朋友等)試著搞懂回答。如果還是需要說明,展現你已經明白的。
譬如,假如我告訴你:「看起來像是某輸入項有問題,你需要清除它」,接著是個不好的回帖:「什麼是某輸入項?」。而這是一個很好的跟帖:「是的,我讀了手冊,某某輸入項只在-z和-p開關中被提到,但都沒有涉及到如何清除它們,你指的是哪一個還是我弄錯了什麼?」
對待無禮
很多黑客圈子中看似無禮的行為並不是存心冒犯。相反,它是直接了當、一針見血式的交流風格,這種風格對於更關注解決問題而不是使別人感覺舒服而混亂的人是很自然的。
如果你覺得被冒犯了,試著平靜地反應。如果有人真的做了過格的事,郵件列表、新聞組或論壇中的前輩多半會招呼他。如果這沒有發生而你卻光火了,那麼你發火對象的言語可能在黑客社區中看起來是正常的,而你將被視為有錯的一方,這將傷害到你獲取信息或幫助的機會。
另一方面,你會偶而真的碰到無禮和無聊的言行。與上述相反,對真正的冒犯者狠狠地打擊、用犀利的語言將其駁得體無完膚都是可以接受的。然爾,在行事之前一定要非常非常的有根據。糾正無禮的言論與開始一場毫無意義的口水戰僅一線之隔,黑客們自己莽撞地越線的情況並不鮮見。如果你是新手或外來者,避開這種莽撞的機會並不高。如果你想得到的是信息而不是消磨時光,這時最好不要把手放在鍵盤上以免冒險。
(有些人斷言很多黑客都有輕度的自閉症或阿斯伯格綜合症,缺少用於潤滑人類社會「正常」交往所需的腦電路。這既可能是真也可能是假。如果你自己不是黑客,興許你認為我們腦袋有問題還能幫助你應付我們的古怪行為。只管這麼幹好了,我們不在乎。我們喜歡我們現在這個樣子,並且一般都對病號標記有站得住腳的懷疑。)
在下一節,我們會談到另一個問題,當你行為不當時會受到的「冒犯」。
別象失敗者那樣反應
在黑客社區的論壇中有那麼幾次你可能會搞砸──以本文描述或類似的方式。你會被示眾是如何搞砸的,也許言語中還會帶點顏色。
這種事發生以後,你能做的最糟糕的事莫過於哀嚎你的遭遇、宣稱被口頭攻擊、要求道歉、高聲尖叫、憋悶氣、威脅訴諸法律、向其僱主報怨、忘了關馬桶蓋等等。相反,你該這樣去做:
熬過去,這很正常。事實上,它是有益健康與恰當的。
社區的標準不會自己維持,它們是通過參與者積極而公開地執行來維持的。不要哭嚎所有的批評都應該通過私下的郵件傳送,這不是事情運作的方式。當有人評論你的一個說法有誤或者提出不同看法時,堅持聲稱受到個人攻擊也毫無益處,這些都是失敗者的態度。
也有其它的黑客論壇,受過高禮節要求的誤導,禁止參與者張貼任何對別人帖子挑毛病的消息,並聲稱「如果你不想幫助用戶就閉嘴」。有思路的參與者紛紛離開的結果只會使它們變成了毫無意義的嘮叨與無用的技術論壇。
是誇張的「友誼」(以上述方式)還是有用?挑一個。
記著:當黑客說你搞砸了,並且(無論多麼刺耳地)告訴你別再這樣做時,他正在為關心你和他的社區而行動。對他而言,不理你並將你從他的生活中濾除要容易得多。如果你無法做到感謝,至少要有點尊嚴,別大聲哀嚎,也別因為自己是個有戲劇性超級敏感的靈魂和自以為有資格的新來者,就指望別人像對待脆弱的洋娃娃那樣對你。
有時候,即使你沒有搞砸(或者只是別人想像你搞砸了), 有些人也會無緣無故地攻擊你本人。在這種情況下,報怨倒是真的會把問題搞砸。
這些找茬者要麼是毫無辦法但自以為是專家的不中用傢伙,要麼就是測試你是否真會搞砸的心理專家。其它讀者要麼不理睬,要麼用自己的方式對付他們。這些找茬者在給自己找麻煩,這點你不用操心。
也別讓自己捲入口水戰,大多數口水戰最好不要理睬──當然,是在你核實它們只是口水戰、沒有指出你搞砸的地方,而且沒有巧妙地將問題真正的答案藏於其中之後(這也是可能的)。
提問禁忌
下面是些典型的愚蠢問題和黑客不回答它們時的想法。
問:我到哪可以找到某程序或X資源?
問:我怎樣用X做 Y?
問:如何配置我的 shell提示?
問:我可以用 Bass-o-matic文件轉換工具將AcmeCorp文檔轉為TeX格式嗎?
問:我的{程序、配置、SQL語句}不運行了
問:我的視窗電腦出問題了,你能幫忙嗎?
問:我的程序不運行了,我認為系統工具X有問題
問:我安裝 Linux或X遇到困難,你能幫忙嗎?
問:我如何才能破解超級用戶口令/盜取通道操作員的特權/查看某人的電子郵件?
問:
我到哪可以找到某程序或X資源?
答:
在我找到它的同樣地方,笨旦──在網頁搜索引擎上。上帝啊,難道還有人不知道如何使用 谷歌 嗎?
問:
我怎樣用X做 Y?
答:
如果你想解決的是Y,提問時別給出可能並不恰當的方法。這種問題說明提問者不但對X完全無知,也對要解決的Y問題糊塗,還被特定形勢禁錮了思維。等他們把問題弄好再說。
問:
如何配置我的shell提示?
答:
如果你有足夠的智慧提這個問題,你也該有足夠的智慧去 RTFM,然後自己去找出來。
問:
我可以用Bass-o-matic文件轉換工具將AcmeCorp文檔轉為TeX格式嗎?
答:
試試就知道了。如果你試過,你既知道了答案,又不用浪費我的時間了。
問:
我的{程序、配置、SQL語句}不運行了
答:
這不是一個問題,我也沒有興趣去猜你有什麼問題──我有更要緊的事要做。看到這種東西,我的反應一般如下:
*
你還有什麼補充嗎?
*
噢,太糟了,希望你能搞定。
*
這跟我究竟有什麼關係?
問:
我的視窗電腦出問題了,你能幫忙嗎?
答:
是的,把視窗垃圾刪了,裝個像Linux或BSD的開源操作系統吧。
注意:如果程序有官方的視窗版或者與視窗有交互(如Samba),你可以問與視窗相關的問題,只是別對問題是由視窗操作系統而不是程序本身造成的回覆感到驚訝,因為視窗一般來說太差,這種說法一般都成立。
問:
我的程序不運行了,我認為系統工具X有問題
答:
你完全有可能是第一個注意到被成千上萬用戶反覆使用的系統調用與庫文件有明顯缺陷的人,更有可能的是你完全沒有根據。不同凡響的說法需要不同凡響的證據,當你這樣聲稱時,你必須有清楚而詳盡的缺陷說明文檔作後盾。
問:
我安裝Linux或X遇到困難,你能幫忙嗎?
答:
不行,我需要親手操作你的電腦才能幫你排錯,去向當地的Linux用戶組尋求方便的幫助(你可以在 這裡 找到用戶組列表)
注意:如果安裝問題與某Linux發行版有關,在針對它的郵件列表、論壇或本地用戶組織中提問也許是恰當的。此時,應描述問題的準確細節。在此之前,先用 「linux」和所有被懷疑的硬件 [作關鍵詞] 仔細搜索。
問:
我如何才能破解超級用戶口令/盜取通道操作員的特權/查看某人的電子郵件?
答:
想做這種事情說明你是個卑劣的傢伙,想讓黑客教你做這種事情說明你是個白痴。
好問題與壞問題
最後,我將通過舉例來演示提問的智慧。同樣的問題兩種提法,一種愚蠢,另一種明智。
愚蠢:我在哪能找到關於 Foonly Flurbamatic設備的東西?
這個問題在乞求得到 "STFW" 式的回覆。
明智: 我用谷歌搜索過「Foonly Flurbamatic 2600」,但沒有找到什麼有用的,有誰知道在哪能找到這種設備的編程信息?
這個人已經搜索過網絡了,而且聽起來他可能真的遇到了問題。
愚蠢: 我不能編譯某項目的源代碼,它為什麼這麼破?
提問者假設是別人搞砸了,太自大了。
明智: 某項目的源代碼不能在某Linux6.2版下編譯。我讀了常見問題文檔,但其中沒有與某Linux相關的內容。這是編譯時的記錄,我做錯了什麼嗎?
提問者已經指明了運行環境,讀了FAQ,列出了錯誤,也沒有假設問題是別人的過錯,這傢伙值得注意。
愚蠢: 我的主板有問題,誰能幫我?
某黑客對此的反應可能是:「是的,還需要幫你拍背和換尿布嗎?」,然後是敲下刪除鍵。
明智: 我在S2464主板上試過X、Y和Z,當它們都失敗後,又試了A、B和C。注意我試C時的奇怪症狀,顯然某某東西正在做某某事情,這不是期望的行為。通常在Athlon MP主板上導致某某事情的原因是什麼?有誰知道我還能再試點什麼以確定問題?
相反地,這個人看來值得回答。他或她展現瞭解決問題的能力而不是坐等天上掉餡餅。
在最後那個問題中,注意「給我一個回答」與「請幫我看看我還能再做點什麼測試以得到啟發」之間細微但重要的差別。
事實上,最後那個問題基本上源於2001年8月Linux內核郵件列表(lkml)上的真實事件,是我(Eric) 當時提了那個問題,我發現Tyan S2462主板有神秘的死機現象,郵件列表成員給我提供瞭解決此問題的關鍵信息。
通過這種提問方式,我給了別人可以咀嚼玩味的東西。我設法使之對參與者既輕鬆又有吸引力,也表明了對同行能力的尊敬並邀請他們與我一起協商。通過告訴他們我已經走過的彎路,我還表明了對他們寶貴時間的尊重。
事後,當我感謝大家並評論這次良好的經歷時,一個Linux內核郵件列表的成員談到,他認為我得到答案並不是因為我的名字掛在列表上,而只是因為我正確的提問方式。
黑客們在某種方面是非常不留情面的精英分子。我想在這事上他是對的,如果我表現得像個不勞而獲的寄生蟲,不管我是誰都會被忽略或斥責。他建議將整個事件作為對其它人提問的指導,這直接導致了本文的編寫。
如果得不到回答
如果得不到回答,請不要認為我們不想幫你,有時只是因為被問到的小組成員的確不知道答案。沒有回覆不等於不被理睬,當然必須承認從外面很難看出兩者的差別。
一般而言,直接將問題再張貼一次不好,這會被視為毫無意義的騷擾。耐心一點,知道你問題答案的人可能生活在不同的時區,有可能正在睡覺,也有可能你的問題一開始就沒有組織好。
還有其它資源可以尋求幫助,通常是在一些面向新手的資源中。
有許多在線與本地的用戶組織,雖然它們自己不編寫任何軟件,但是對軟件很熱心。這些用戶組通常因互助和幫助新手而形成。
還有眾多大小商業公司提供簽約支持服務(紅帽與 SpikeSource是兩家最出名的,還有許多其它的)。別因為要付點錢才有支持就感到沮喪!畢竟,如果你車子的汽缸墊燒了,你多半還得花錢找個修理店把它弄好。即使軟件沒花你一分錢,你總不能指望服務支持都是免費的。
象Linux這樣流行的軟件,每個開發者至少有一萬個以上的用戶,一個人不可能應付這麼多用戶的服務要求。記住,即使你必須付費才能得到支持,也比你還得額外花錢買軟件要少得多(而且對封閉源代碼軟件的服務支持與開源軟件相比通常還要貴一點,也要差一點)。
如何更好地回答
態度和善一點。問題帶來的壓力常使人顯得無禮或愚蠢,其實並不是這樣。
對初犯者私下回覆。 對那些坦誠犯錯之人沒有必要當眾羞辱,一個真正的新手也許連怎麼搜索或在哪找FAQ都不知道。
如果你不確定,一定要說出來! 一個聽起來權威的錯誤回覆比沒有還要糟,別因為聽起來像個專家好玩就給別人亂指路。要謙虛和誠實,給提問者與同行都樹個好榜樣。
如果幫不了忙,別妨礙。 不要在具體步驟上開玩笑,那樣也許會毀了用戶的安裝──有些可憐的呆瓜會把它當成真的指令。
探索性的反問以引出更多的細節。 如果你做得好,提問者可以學到點東西──你也可以。試試將很差的問題轉變成好問題,別忘了我們都曾是新手。
儘管對那些懶蟲報怨一聲RTFM 是正當的,指出文檔的位置(即使只是建議做個谷歌關鍵詞搜索)會更好
如果你決意回答,給出好的答案。 當別人正在用錯誤的工具或方法時別建議笨拙的權宜之計,應推薦更好的工具,重新組織問題。
幫助你的社區從中學習。當回覆一個好問題時,問問自己 「如何修改相關文件或FAQ文檔以免再次解答同樣的問題?」,接著再向文檔維護者發一份補丁。
如果你是在研究一番後才做出的回答,展現你的技巧而不是直接端出結果。畢竟「授人以魚,不如授人以漁」。
相關資源
如果需要個人電腦、Unix和互聯網如何工作的基礎知識,參閱 Unix和互聯網工作的基本原理。
當你發佈軟件或補丁時,試著按 軟件發佈實踐 操作。
鳴謝
Evelyn Mitchell貢獻了一些愚蠢問題例子並啟發了編寫「如何更好地回答問題」這一節,Mikhail Ramendik貢獻了一些特別有價值的建議和改進。
2010/05/03
人體使用手冊的一招三式-節錄
人體使用手冊 - 作者blog http://alexwu2300.blogspot.com/
(人體復原工程-人體使用手冊2),書的價格也是佛心來的...
調養血氣的一式三招
● 敲膽經
● 早睡早起
● 按摩心包經
1.敲膽經
腳成弓箭步,敲大腿上的四個穴位,四個敲完為一次。(很痛勒....)
2.按摩心包經的三個步驟 http://www.relativehumanity.com.tw/cm/cm281.htm
示範動畫:http://www.relativehumanity.com.tw/jinluo/jlflashset.htm
參考:
http://blog.udn.com/LEELEE123/3819469
http://lastfatlossbattle.blogspot.com/2009/10/blog-post_17.html
http://www.relativehumanity.com.tw/cm/cm281.htm
(人體復原工程-人體使用手冊2),書的價格也是佛心來的...
調養血氣的一式三招
● 敲膽經
● 早睡早起
● 按摩心包經
1.敲膽經
腳成弓箭步,敲大腿上的四個穴位,四個敲完為一次。(很痛勒....)
2.按摩心包經的三個步驟 http://www.relativehumanity.com.tw/cm/cm281.htm
配合按壓壇中穴
詳細請看作者的文字敘述。
參考:
http://blog.udn.com/LEELEE123/3819469
http://lastfatlossbattle.blogspot.com/2009/10/blog-post_17.html
http://www.relativehumanity.com.tw/cm/cm281.htm
訂閱:
文章 (Atom)