• 在網上求助計算化學問題時的注意事項

    在網上求助計算化學問題時的注意事項

    文/Sobereva @北京科音
    First release: 2011-Mar-1  Last update: 2018-Jun-15


     如今喜歡在論壇里、QQ里、郵件列表里求助計算化學問題的人越來越多,筆者也經常接到各種各樣的人提出的形形色色的問題。但提問方式經常十分不恰當,令筆者和很多人很不悅。關于提問的方法筆者有很多話要說。問問題關鍵的原則我認為是“減輕回答問題者的負擔,激起回答者的興趣”,這樣才能得到有用的回復。也就是說你的提問必須讓回答者能夠準確理解你的意思,并且答案一定通過較少的字數就足矣闡明,并且你的提問必須讓答疑者覺得有價值,覺得你是值得被幫助的。然而做到這一點絕對不是單純靠一些行文技巧實現的,只有滿足下述要求的提問才能滿足這條原則。這和提問者自身的素質、態度是關系密切的,不合格的科研工作者是提不出合格的問題的。此文有的地方措辭強硬,有些人可能會發現自己中槍,但實際上絕非在批評任何個人,撰文目的是希望有更多的人認識到什么問題該求助,什么問題不該求助,以及應該怎么求助,使得網上求助問題的質量、檔次能夠提升。

    2021-Oct-18注:后來筆者又寫了一篇《在網上求助計算化學問題的時候必須把問題描述得詳細、具體、準確、清楚》(http://www.shanxitv.org/620),是對本文內容的關鍵性補充,務必一讀。

    筆者之前還寫過一篇《有感于如今許多超懶的科研工作者》(http://www.shanxitv.org/342),也與本文主題有一定關系,有興趣者可以看看。


    ========== (1) 提問前該做的事 ==========


    1 在問問題前,必須自己先仔細思考、查閱資料、嘗試自行解決。我認為最起碼先得自己花一天時間研究這個問題,如果得不到答案才能去問,而我建議是先得自己琢磨一周才能去問。不幸的是,現在的諸多提問者恐怕連一分鐘都沒好好思考過就問,一遇見不懂就問,仿佛回復者都是免費的活字典,而且問的問題甚至令人啼笑皆非,連入門的知識都沒有,諸如“怎么計算p軌道鍵長”、“我優化一個原子,為什么程序報錯”。有些問題則極其基礎,比如“HF和DFT有什么區別”,HF、DFT的介紹在所有現今的量化基礎書籍里都有,為何不自己先去看而非要提問,耽誤別人時間?這是一種嚴重科研惰性、依賴性、缺乏自主獨立性的表現。有些人,一本書擺在他旁邊他絕對不看,但是你要是把書里的內容通過QQ一段一段發給他,他沒準才會好好看、好好理解,可是誰有時間陪著他?如果別人問我這類問題,凡是預感300字以內不可能給他講明白,我就不回復了,讓他自己看書。提問基礎問題的人必須明白,書之所以厚,別人回答問題之所以相對簡練,絕不是因為書里幾乎全是廢話,那些內容對讀者更深入理解問題往往是關鍵的。另外,過于基礎的問題根本無法引發高人回答問題的興趣,但往往會有對問題一知半解、表現欲強的人回復,聽了這些人的回復很可能會被誤導,以至于提問者對問題的理解從一開始就被歪曲了,給以后研究帶來麻煩,還不如自己好好看經典書籍。另外,學習、思考的過程往往比解決一個具體問題更重要,比如執行某個程序出錯,別人說加入某個參數,雖然可能這樣做之后問題立刻解決了,但是其它的什么也沒學到。或許憑自己找到相同答案得花很多精力,繞不少彎路,但這個過程絕不是浪費時間,這鍛煉了分析問題解決問題的能力,只有這樣不斷鍛煉才能逐漸成長,從提問者變成答疑者,而如果光靠問,菜鳥永遠是菜鳥,永遠超越不了給你答疑的人。網絡的發達便利使得提問變得過于方便,導致了一大批懶漢的出現,雖然一方面促進了溝通和交流,卻也使得年輕一批計算化學工作者(尤其是研究生)的平均學術水平和科研能力有極為顯著的降低。如果早生20年,或者網絡斷了,那些人找誰問去?

    2 不要請求別人幫助干那些應該自己干的事。有時看到有人發這類帖子,甚至內容只有一句“誰能幫我計算XXX?”,這分明是文章作者該干的事,這樣的人臉皮實在太厚,太不把別人當外人。如果自己沒能力做而需要找別人合作,起碼得把回報寫清楚。筆者曾接到不少這類求助,有數次都是對方說不知道怎樣才能實現分析動力學軌跡的xxx特征,我說用VMD的Tcl腳本來實現,并且還把主要原理都說明了,對方卻說自己不會Tcl語言、沒有編程基礎、時間緊迫之類,就讓我幫她們編。這種事我是反感的,在我看來無外乎是給科研的懶惰找借口。不過,筆者還是過于心軟,最后都幫她們編了,以后再遇上此事,筆者決心要鐵石心腸毅然拒絕。

    3 如果問題是關于程序運行出錯的,別上來就把報錯信息貼出來然后說“XX程序出錯,怎么解決”,要好好閱讀輸出信息。我經常遇到匪夷所思的提問,比如有人問MOPAC程序出現這樣的錯誤怎么辦:
    KEYWORD 'ANALYT' CANNOT BE USED HERE: ANALYICAL C.I. DERIVATIVES MUST USE FINITE DIFFERENCES TO CORRECT, REMOVE KEYWORD 'ANALYT' OR ADD 'NOANCI'。程序都清清楚楚地告訴了用戶是什么原因、怎么解決,為什么還要問?再比如,某人用Gaussian做counterpoise任務出錯了,說提示Error termination via Lnk1e in c:\g03 e01 install\l301.exe,從她后來貼的信息來看,這句錯誤前面一句提示就是The combination of multiplicity 1 and   233 electrons is impossible.,錯誤是什么原因已經明擺著,稍微過一下腦子就知道怎么處理。另一個經典例子就是菜鳥常說的高斯L502出錯,95%情況在Error termination的上一行就顯示Convergence failure,可是卻總被無視。這樣的提問絕不在少數,令人汗顏。所以,一定要好好看程序提示,好好分析,起碼7成以上的錯誤都是能靠自己輕易解決的。另外要說的是,那些將量子化學作為工具研究具體體系的人,必須重視理論的學習,這樣才能自行搞懂程序錯誤的原因。

    4 要習慣Trial & Error方法解決程序使用中的問題,別直接就問“xxx關鍵詞怎么用”、“是不是要輸入xxx命令”、“輸出中xxx代表什么意思”之類,要自己多試試、分析、比較,試了也毫無損失,又不是配置炸藥弄不好就爆炸,比起等待別人回復,往往還不如自己去摸索速度更快。

    5 Google is your friend。要習慣求助Google,我在網上見過的提問中多半都是可以通過Google找到答案的。尤其是程序運行、編譯出錯這類,把錯誤提示扔進Google一搜,就算不能直接找到管用的解決方法,起碼也能得到諸多有用的提示。另外,書籍、文獻、各類文檔(比如程序手冊、教程)都是你的老師,“不懂就問”這話沒錯,但在問活人之前先要詢問無聲的老師們。

    值得一提的是,計算化學公社論壇(http://bbs.keinsci.com)是最具活力、專業性最強、可信度最高的計算化學交流場所,其中過往的討論帖子是巨大的計算化學寶庫,其首頁就有google搜索欄可以對站內進行全文搜索,常見計算化學問題在里面一搜,基本都能找到答案。就連很多外國人甚至都通過google翻譯來此論壇取經。

    PS:不要用百度來搜索學術內容,也別因為通過百度搜索,找不到自己問題的解決方法就立馬去問。百度是用來搜八卦的,而絕對不是用來搜學術、科研相關的信息的。向別人說“我百度搜了xxx,但沒找到解決問題的辦法”,這必定會遭到內行人的鄙視和恥笑。用Google搜索找到對解決問題有價值的內容的概率和效率皆是百度之流的十倍以上。

    6 要想得到快速、有效的回復,就一定要選擇合適的求助場所。比如計算化學公社論壇有量子化學版和第一性原理版,因此你問量子化學問題就別跑到第一性原理版去問。再比如Multiwfn程序有專門的交流論壇,中文版論壇為http://bbs.keinsci.com/wfn(是計算化學公社論壇的一個下屬板塊),英文版論壇為http://www.shanxitv.org/wfnbbs,既然都提供了專門的論壇了,開發者在上面回復問題也特別勤快,顯然就不應該再到別的亂七八糟論壇去問。求助的地方也應該是正經、上檔次、有高人的地方,比如去什么百度貼吧、百度知道、小毒蟲等市井之地去問計算化學問題,能得到靠譜、有價值回復的幾率必然微乎其微。另外,別忘了購買商業軟件的時候價錢里也包含售后服務,一些高難問題,尤其是可能涉及到程序bug以及只有開發者才能說清楚的事情,應當直接聯系軟件銷售商和開發者尋求解決,他們有義務提供解答,而且如果是從程序開發者處得到的回復,通常是最權威的。對于一些很冷門的程序(比如Terachem、ADF等)的使用問題應該直接問開發者或代理商,而沒必要試圖問其他人,畢竟根本沒多少人用過這樣的程序,即便用過通常也不會了解太多程序的細節問題。

    7 如果提問的問題沒人解答,未必是沒有人懂,而很可能是你的提問方式不對,令別人無法或者不愿意解答,要好好檢查提問是否符合本文提出的諸多要求。如果發現有不符合之處,建議先自己繼續琢磨一陣子,如果還是無解,再把問題重新改寫,使之充分滿足本文要求,然后重新發出來,說不定就有人解答了。

    8 你提問的場所的規章制度應當在提問前了解清楚,以免造違反規矩,擾亂秩序,引起他人不快,甚至被管理員逐出。比如計算化學公社論壇有置頂的新人必讀貼,思想家公社QQ群的群文件里有群的規章制度文件,這些都必須好好看看。

    9 切忌同時在兩個及以上地方同時問相同問題,否則會招到回復者的不悅,甚至惹火回復者以及管理員。比如在思想家公社QQ群問了一個計算化學問題,馬上又把問題直接復制到計算化學公社上作為帖子問了一遍,那么回復者剛在群里回完你,又看見你在論壇里發的同樣的問題,心里肯定不舒服,仿佛自己白在百忙之中回復了你似的;要是在論壇里又回復你一遍等于回復了兩遍,而如果不在論壇里回復一遍,又仿佛這問題沒人能夠回復。可見多處同時問同一問題是在給回復者增添麻煩。就算你想在多個地方問,提升獲得解答的概率,那也應當是在一個地方問過,經過了很長時間,沒有得到有效的回復,那才能在另一個地方再問,而且問的時候盡量換個問法。



    ========== (2) 提問的態度、禮儀 ==========


    1 問問題時一定要態度謙虛、語言客氣、高度尊重提問者。要記住在一對一的請教時,對方完全沒有義務回復,人家不是你免費的導師,對方不會因回復而得利,如果回復了則完全是出于好心,應該懷著感激的心情。所以發問應注意措辭、語氣。通過電子郵件提問時要有問候和落款。并且一對一提問時千萬不能催促對方回復,否則容易惹火對方,記住高人都很忙,也不欠你的情。

    2 提問的內容一定要認真撰寫,提問者都不認真,還指望有人會認真回復?總看到一些帖子只有兩三句話,甚至只有一句,且和標題相同,不僅態度不端正,也沒把問題描述清楚。曾經有些人QQ問我問題時比如就說一句“XXX出錯”,或者什么也不說,只把一段程序提示直接貼出來,我都沒法確定他的意思,再加上這種隨隨便便的態度,直接無視。

    3 問題描述要詳細,必須提供回答者足夠的信息使之能夠得出答案。常見到某人只說“運行XXX任務出錯,怎么辦”,或者說Gaussian出現Error termination via...怎么辦,這正如最令我頭疼的“我的電腦老死機怎么辦”這種問題一樣,沒有唯一的答案,解決辦法都羅列出來足夠寫本小書了,大多數高人也不愛回復這樣需要大費口舌的問題。正確的方式是:比如編譯某個程序在某處出錯,應當詳細交代之前完整操作步驟、操作系統版本、相關的庫文件版本、所用編譯器等等;再比如咨詢幾個理論方法哪個更適用,應當描述清楚自己研究的問題、體系、計算能力、精度要求等等;還比如詢問文章中一句話的意思,起碼要把所在的段落以及上下段落都給出,或者直接把原文作為附件貼出。提供的信息越多,答案的范圍越小,越容易在短時間內獲得有效的回復。

    4 重視對方每一條回復,切忌重復問相同的問題,因為這等于不尊重他人之前的回復,反復解釋同一個問題容易讓人惱火。如果上次的提問沒問清楚,起碼語言表述上要進行恰當的修改。在論壇上問,則一定要先搜老帖子,幾乎完全相同的問題由不同的人問N遍的情況屢見不鮮。曾經詳細回答過問題的人不會喜歡再重新復述一遍。筆者還經常碰到一個火大的情況就是,我給某人回復了、貼了好多對于解決其問題有直接關系的博文,居然他直接無視掉我的回復,給他的資料根本不看,還在繼續自顧自地交代其自己的問題。既然都不理睬別人的回復,一點想獲得解答的誠意都沒有,干嘛還要問?這些人很容易惹火回復者,可能以后回復者再也不回復他的問題了。

    5 得到某人認真的回復后,應當表示謝意,如果根據回復中的提示解決了問題,最好也告訴一下回復者,這樣回復者知道自己的回復起到了實際作用,一般會感到高興,覺得沒有白回復。但是對于論壇里經常出現的毫無意義的胡亂回復,應當堅決無視。另外,如果某些網上的人的解答對自己的工作有重要的幫助或啟發,必須在文章的acknowledgement中寫上他們的名字(除非他們不同意)。然而,這樣做的人卻沒多少,別人花了不少時間寫了一堆文字幫了自己的大忙,連一個正式感謝都沒有,實在是不道德。

    6 不要纏著回復者。經常有些人整天追著某人問問題,剛回答完上一條問題新的一條問題又來了,例如往往有人這樣問“A是什么意思?”,回答曰“A是由B經過xxx處理得到的”,然后他緊接著就問“B是什么意思?xxx是什么意思?”,反反復復問,沒完沒了。持續數日甚至數周,每次上線都會看到離線提問的留言,仿佛問題永遠回復不完,搞得回復者很反感,以至于不愿回答或者推遲回答時間。而且這種做法嚴重違背了上一節的第一條,即問問題先要自行研究。每次得到回復后先要好好想一想,如果其中出現不懂的概念要先自己查資料,然后實在搞不明白再繼續問。

    7 問問題時能不私聊就不私聊。高手普遍都很忙,很難抽出時間給各個提問者一對一回復。當高手在論壇、QQ群等公共場所回復問題的時候,其他人也能看到他的發言,能令許多人同時學到知識,因此高手此時所敲的文字所產生的價值遠高于一對一回復的時候,故高手通常傾向于在公開場所答疑和討論。一般情況,對于QQ私窗向我提問一般計算化學問題,我都是直接無視掉的(筆者在QQ簽名里也特意寫明了不接受一般計算化學問題私聊)。還有些人,別人明明還沒同意通過QQ向他私聊回復問題,他上來就突然通過QQ發一大堆文件等著對方接收,這顯得更是很不禮貌,簡直就像去別人家也不事先打招呼,上來就敲門一樣。


    ========== (3) 語言表達問題 ==========


    1 不要問“有沒有人算過/用過/知道xxx?”這類問題,這是很不好的問問題的方式。那些算過/用過/知道xxx的人看見這種問題都不知道提問者究竟想干什么、遇到了什么具體問題,往往不想理會。而那些很熱心幫忙的人還必須回復一句“我算過/用過/知道xxx,你有什么問題?”,接下來提問者才會說出具體內容,回復者才能知道詳情并回答,這純粹是給回復者添麻煩,也拖延了得到有效回復的時間。所以說,遇見什么問題必須直接說出來,把信息交代清楚,其他人如果知道就能直接回答了。

    2 在論壇、郵件列表上發問時,標題應盡量簡明清楚地概括問題,至少讓別人知道問題是哪個領域、關于哪個程序的,畢竟高人一般沒功夫把論壇里每個帖子、郵件列表的郵件都仔細看一遍,只會從標題上判斷出自己感興趣的問題然后點進去閱讀。所以,標題不要寫諸如“xx程序出錯”,別人不知道是哪類任務出錯,也不要寫比如“坐標導出問題”,別人不知道你用的是什么程序、自己是否熟悉。有些人甚至標題只寫諸如“請求高人指點”,這樣更不好,等于什么都沒說。寫帖子標題時,必須拿出自己給論文命名標題時的認真態度。

    3 在QQ中問某人問題時,不要先試探對方是否在線,筆者對“在么”這種話頗為反感,一概無視。其原因和上一條一樣。有問題就直接說,回答者如果不在線,在他在上線時就能看到關于具體問題的離線留言并進行回復。

    4 在QQ中,不要把一段話拆成好幾個片段發送。比如筆者遇到的諸多這類情況的一例
    ------------
    Miku 17:22:54
    老師
    Miku 17:22:59
    問個問題
    Miku 17:24:39
    怎樣用amber做出小分子和蛋白之間的作用能
    就是electrostatic energy和Van der Waals energy
    Miku 17:24:56
    隨模擬時間的變化
    Miku 17:25:04
    類似這樣的圖
    ------------
    這樣很不好,嚴重破壞了語句連貫性,讓人看著費勁,這又不是寫詩歌。而且若是提問者在發問時回復者也在線,回復者就得反復激活聊天窗口,看看提問者到底把話說完沒有,很浪費回復者的時間。另外,這種語言表達也顯示出提問者的浮躁。還經常有人問問題的時候先把一張圖發出來,不知道他想干嘛,然后過了好久他才把要問的問題寫出來。這種做法極為不好,問問題時候干嘛不把文字和圖片一起發上來,讓人家立刻就知道你想問什么?

    5 在QQ中,不要使用可能使別人看著難受的字體、字號、顏色。比如,某個常問我問題的人總是使用字號很大的黑色粗體隸書,一個字占一般9個字的大小,看著極其難受,還有的人用巨大的粉色字,而且一次發一堆文字,令人頭暈。使我不得不把信息拷到記事本程序(無格式文本)里面看。還有的人用青色字體,與白色對話窗口對比度低,難以識別。雖然某些人喜歡特色字體是自己的事,但是在群里,或者向別人單獨請教問題時,應當考慮其它人的感受,文字建議用黑色宋體10~12號字。

    6 說話不能帶病句、錯字,否則將顯示出提問者對提問不認真,而且造成回答者理解困難,必須去猜,或者再反問提問者一次。若是回復者本來就不太想回答,這可能造成回復者根本就無視提問了。

    7 有時候語言不好表達清楚必須用圖片。但如今由于拍照手機的高度普及,特別是年輕人,整天抱著手機,連問問題都喜歡直接給屏幕拍照,而且拍照往往還看不清楚(對焦不準、有條紋、曝光度太低等),而且拍照的圖片區域中往往有大量無關區域,這實在很不好,一方面會導致刷屏(特別是縱拍時),另一方面讓別人看著費勁。所以,能截圖的時候一定要截圖,絕對不要拍照!就算不得不拍照,比如是個沒有網的服務器上遇到的問題,那也應當盡量拍清楚,擺好角度。還有些人拍照拍出來是歪著的,甚至是旋轉了90度的,別人看圖還得扭著脖子看,非常難受。把圖片旋轉合適再發,這是提問者必須要做的事,如果能把圖片剪切到合適尺寸更好。

    8 問問題別口語化。比如“xxx怎么算啊”這種提問的句式我就特別討厭,末尾那個“啊”字顯得提問者特別浮躁。如果改成“請問xxx如何計算?謝謝”看著就舒服得多。還有一個常見情況是給某人回復后,他接下來的回復的開頭老是帶一個“額”、“呃”字,比如“額...那怎么辦啊”、“額,我不會算啊”,這種多余的口頭禪不要在交流討論中出現,同樣會顯得此人特別浮躁,招人煩。

    9 使用“好吧”作為句子開頭是絕對的大忌,因為很容易讓問題的回復者有被輕視、蔑視的感覺。詳見《向“好吧”作為句子開頭宣戰!》(http://bbs.keinsci.com/thread-334-1-1.html)。


    最后總結一下上述的求助的要點:謙虛、禮貌、嚴謹、認真、多思考少提問、不要厚臉皮。


    ========== (4) 對于回復者的建議 ==========


    對回復者們我也要說幾句。

    1 在論壇上看到一個問題時,如果你對這個問題沒有90%~95%以上的把握(或者把握不大,但是見解獨到也可以),那么我建議不要回復,萬一因為自己的回答而誤人子弟,良心上是過不去的,而提問者發現得不到回復,或許就會自己研究琢磨,沒準兒還能得到正確答案。如今網上有很多不懂裝懂,一知半解也要湊熱鬧回復的人,他們有的是為了獲得論壇上積分、金幣什么的(現實中拜金主義在虛擬世界的寫照),有的則是為了炫耀知識。后者的確這會贏得不明真相的菜鳥們一片叫好聲并獲得自我滿足,然而回答中的缺陷或幼稚會被隱藏在論壇深處的掃地神僧們一眼識破,等菜鳥們長成了老鳥,也會逐漸認識到那些人回復中的錯誤,最終不僅沒炫耀成還反倒失了面子,所以勸那些人還是別回復,這些回復還往往把正確、有意義的回復給掩蓋了,等于給求助者添麻煩。另外,如果你對問題完全不懂,而且提問者沒有專門問你,就不要回復“不知道”,這根本沒意義。對于那些發一堆無聊表情符號的回復者應當嚴厲批評,這純粹是搗亂。總之,回復者要對自己的回復認真負責,尤其是學術論壇,不可灌水,應當使每條回復都有意義。不過,如果帖子主題就是學術方面的雜談八卦,那無所謂。

    2 不要直接復制粘貼別人曾經的相關的回復,這無疑于侵權、抄襲。如果已經將別人的知識、觀點完全消化并構成了自己的語言,那么無妨,但如果需要直接引用別人的回復,要么給出那帖子的鏈接,要么注明那人的ID,并將所引內容用引號或分割線括起來,或者利用一些論壇中的標記代碼將內容放在引用域里(一般會顯示為深色框)。另外也絕對不能大段大段復制文章、書籍的內容作為回答,這根本沒有顯示出幫助人的誠意,好在在學術論壇上這種情況見到的不多,然而在“百度知道”這種地方此行為卻屢見不鮮,而且那些人復制的內容總是對解決問題根本沒直接幫助,甚至根本驢唇不對馬嘴。

    3 如果有人問那些基礎書籍上都有敘述的問題,或者說從文字上看明顯沒經過思考、研究就問的問題,我不建議回復,或者只是給他們指出應該看的資料就夠了。只有對那些鉆研過,但是對問題理解出現誤區,或者卡在某些環節的人,才應當積極幫助。否則會使提問者變得懶惰,這不僅不是幫忙,反倒害了他。對于態度不誠懇,臉皮太厚的提問者應一律無視,否則將助長歪風邪氣。

    4 對于有意義的問題,如果自己清楚或者有獨到見解,時間允許的情況下建議積極回復。雖然網上回答問題在現實中看似得不到什么利益,但這絕不是吃虧的事,在撰寫回復的思考過程中有助于深化對問題的認識,鞏固對概念的理解,還可能萌發新的idea。
    久久精品国产99久久香蕉