我喜愛在ExtraHop工作的原因之一就是會議少、大塊大塊的連續開發時間。然而,我很快發現,我不習慣長時間敲代碼了。我在ExtraHop工作數周后,我的手腕和胳膊不太舒服。這些地方在過去是斷斷續續的不舒服,但是放在以前,限制晚上在家使用電腦足以解決這個問題。不過,這一次不同了。
#Tony Grosinger是ExtraHop網絡公司的框架工程師。
做為一個剛剛畢業的大學生,我擔心每天的工作活動會引起永久性損傷。我開始研究人類工程學鍵盤和鼠標,期望找到萬全的解決方式。正如你猜測的,我沒有找到有魔力的方法,我的狀態每況愈下。
這種不適讓我沮喪,我更加擔心,這種傷害將妨礙我在工作和生活上的快速、輕松創造和交流。
介紹一種方法
在嘗試、摒棄了一些其它方法之后,ExtraHop的一個同事向我展示了Tavis Rudd的視頻,Rudd用其聲音編程。起初,我懷疑這種方法的可靠性和效率。不過,看了視頻之后,我堅信聲音輸入對于程序員來說是一種并行的選擇。Rudd患有類似的病癥,他已經搜尋了我剛做的所有類似調查,最終認為,再好的鍵盤也不足以解決這種痛苦。
那天晚上,我在網上查找那些通過聲音編程的人,想找到提示和教程。這些人少之又少,很多人斷言這是不現實的。我沒有那么容易放棄掉,開始鼓搗一個工具包,它支持在Linux機器上通過聲音編程。
配置:最難的部分
很快就搞清楚了,Dragon NaturallySpeaking是聽寫軟件中的唯一選擇。他們的產品在語言識別上領先其他人很多,但是他只能運行在Windows或Mac上。不幸的是,我在Wine【注1】上從來沒有成功運行過Dragon NaturallySpeaking,我不得不在Windows虛擬機上,設置代理到Linux主機的命令。
我在本文將略去一些配置步驟,你可以在我的Github repo找到如何搞定一切的詳細指令。
如果你按照那些指令做了,你現在應該能夠發送口授和示例命令到你的Linux主機了,不過離編程不遠了。我在接下來的兩周里編寫語法,大部分過程是這樣的:
期望執行一個任務(編程、切換窗口等)。
編寫讓我通過聲音實現這個任務的命令。
測試命令,增加相關的命令。
重復。
這個過程進展緩慢,我希望,鏈接的倉庫幫你避免從頭開始。甚至在用了大概一個月以后,我每天仍然數次調整命令。Tavis Rudd宣稱有2000多個自定義命令,這意味著我必須還有很多工作要做。
結果
如Rudd在講話中解釋的一樣,麥克風是安裝中的關鍵點。只能聽到你的、好的麥克風將在識別的精度和速度上產生巨大的不同。我非常喜歡正在使用的Blue Yeti,但是我只有在辦公室絕對安靜的前提下才能使用它。
根據目前我建立的命令,我可以在窗口切換,導航web,在工作區切換,還有最重要的,我可以用合理的速度進行Python和Go的編程。這沒有使用鍵盤編程快,不過一旦你掌握了這些命令,它還是有著驚人的效率。
我在上面提到的Github倉庫分享的語法是針對我所需的工作流。我推薦你把它們作為起點,但要注意計算機可能識別你的詞語與我的不一樣。這些語法也是我經常用到的、針對特定語言的。請不要猶豫寫下你喜愛的語言。最后,在dotfiles倉庫里的.vimrc文件,可以找到聲音命令觸發器的自定義快捷方式。
用聲音編程還不完美,不過它已經達到了可作為實際選項的地步。不要繼續忍受手腕和胳膊的不適了,因為現在有了替代方法。歡迎給我發送pull request,我們可以繼續讓聲音編程變得更好。
-
工程師
+關注
關注
59文章
1570瀏覽量
68515 -
編程
+關注
關注
88文章
3615瀏覽量
93716
發布評論請先 登錄
相關推薦
評論