用語音程式設計:不用傷害自己就可保持效率
我喜愛在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(藉助Vimium【注2】),在工作區切換,還有最重要的,我可以用合理的速度進行Python和Go的程式設計。這沒有使用鍵盤程式設計快,不過一旦你掌握了這些命令,它還是有著驚人的效率。
我在上面提到的Github倉庫分享的語法是針對我所需的工作流。我推薦你把它們作為起點,但要注意計算機可能識別你的詞語與我的不一樣。這些語法也是我經常用到的、針對特定語言的。請不要猶豫寫下你喜愛的語言。最後,在dotfiles倉庫裡的.vimrc檔案,可以找到聲音命令觸發器的自定義快捷方式。
用聲音程式設計還不完美,不過它已經達到了可作為實際選項的地步。不要繼續忍受手腕和胳膊的不適了,因為現在有了替代方法。歡迎給我傳送pull request,我們可以繼續讓聲音程式設計變得更好。
相關文章
- Java語言設計人員筆記: 首先不要造成傷害Java筆記
- 讓程式設計師互相傷害的“驗證碼”是什麼?程式設計師
- 用Java程式設計 請保持簡潔Java程式設計
- 程式設計為什麼不用中文?未來用中文程式設計可能麼?程式設計
- 程式設計師如何保持健康程式設計師
- 普通程式設計師和厲害程式設計師的差距!程式設計師
- 年輕程式設計師的悲傷程式設計師
- 程式設計師如何保持優秀程式設計師
- 程式設計師傷不起的 30 歲程式設計師
- 傷不起的全棧程式設計師全棧程式設計師
- 程式設計師:傷不起的三十歲程式設計師
- 為何說遊戲中的墜落傷害設定沒有必要?遊戲
- 開源作者遭受小白的 9 種傷害
- 如何讓程式設計思維保持活化?程式設計
- 面對新語言和跳槽,程式設計師如何保持技術優勢?程式設計師
- 程式設計師:提高程式設計效率的技巧程式設計師
- 全球最厲害的14位程式設計師程式設計師
- 【數值框架】戰鬥公式:傷害公式選擇框架公式
- 懲罰系統是如何傷害遊戲玩法的?遊戲
- 如何持續對程式設計保持熱情程式設計
- 調查:Java程式設計師最傷心,C++程式設計師最年老Java程式設計師C++
- 出國就醫不用慌,日本推出“醫用語音翻譯系統”
- iOS音訊程式設計之實時語音通訊(對講機功能)iOS音訊程式設計
- 不會設計主圖也沒關係,不用自己動手排版也能設計!
- 不用任何賦值的程式設計稱為*函式式*程式設計賦值程式設計函式
- 不用自己動手排版,一鍵就能搞定的海報設計工具!
- 《程式設計師,你傷不起》編輯的話程式設計師
- IOS 網路程式設計 + 後臺保持連線iOS程式設計
- 程式設計師保持健康的7個祕訣程式設計師
- 不用靜態型別函數語言程式設計語言的十大理由型別函數程式設計
- C語言指標應用程式設計C語言指標程式設計
- 用程式語言解密京東雲女程式設計師解密程式設計師
- 開發自己的前端工具庫(二):函數語言程式設計前端函數程式設計
- 如何讓玩家打的“爽”?十分鐘快速瞭解傷害計算常用公式公式
- LinuxCOSS音訊程式設計Linux音訊程式設計
- 不用自己摳圖的主圖設計工具,免費幫你摳圖!
- 搞笑抑或悲傷:如何降低程式設計師的工資?程式設計師
- 美國程式設計師如何看傷不起的30歲?程式設計師