高中生手機寫出2.5萬行代碼的熱門項目,GitHub 1900星,網民:給孩子捐個電腦
機器之心報導
編輯:澤南、陳陳
「強者」小孩哥:其實我是要學醫的。
最近,有一個 GitHub 開源項目引發了眾人的關注。
這是一個名叫 markview.nvim 的插件,作為高度定製化的 Neovim markdown 預覽器,Star 量已有 1900 個。
乍看起來似乎有點平平無奇,炸裂的是它的研發背景:全部 2.5 萬行代碼竟然都是作者用手機敲出來的。
手機敲代碼?兄弟你太猛了,能出來讓大家認識認識嗎?
圖中對話出現在一個 issue 裡面(已解決了),項目作者 OXY2DEV 說自己沒法在手機上正確的測試,Reddit 帖子的樓主說那我來吧。樓主轉念一想,問道:不是哥們,這是臨時不方便,還是你在告訴我,你已經在一部手機上完整開發了這個插件,我怎麼感覺是後者?
如果是這樣,我也必須加把勁了,這是一種什麼層次的奉獻精神啊!
OXY2DEV 答道:不好意思,全部 24461 行(如果只算代碼的話大約 18K 行)都是手機打字完成的。他還謙虛了一下,說其中約 6000 行僅用於存儲數學符號、數學字體、HTML 實體等。
做項目這麼大的決心,不禁讓人感歎。
現在,OXY2DEV 開發的「markview.nvim」項目星標量已經達到 1.9K:
-
項目地址:https://github.com/OXY2DEV/markview.nvim
這是一個基於熱門編輯器 neovim 的插件,包含 Markdown 渲染器、HTML 渲染器、LaTeX 渲染器。
回到那個 Reddit 帖子,消息一出,網民們紛紛表示震驚,直呼想要給他送個電腦。
網民:繃不住了,誰來送他個筆記本電腦吧?要不我們發動一場募捐?
發帖人在 Reddit 上 cue 了 OXY2DEV:「希望你不會對這個提議感到不快,這是你感興趣的事情嗎?」
對方(在 Reddit 上的網名是 Exciting_Majesty2005)回覆道:那可太謝謝了,然而在沒有銀行卡的情況下,我沒法把你們捐的美元轉換成本國貨幣。我還沒有身份證,所以我不能開設自己的賬戶。數字支付這裏也是沒有的。
除了這些問題之外,我所在的地方硬件價格過高(畢竟第三世界國家)。所以,你們最終會為普通硬件花費過高價格。
此外,如果我設法進入了一所好大學,那麼我顯然會買一台筆記本電腦。只是現在還沒有而已。
所以,真的沒有必要為此籌集資金。
網民們驚掉了下巴:什麼你說你還沒上大學?
有人問:那你什麼時候申請大學?如果你已經在開發流行的插件,我想北美、歐洲的大多數計算機科學系都會很高興給 offer。也許,用戶社區可以寫一封推薦信?
OXY2DE 回覆道,大學申請應該是在明年 3 月。我將首先參加醫學院考試,如果我沒有通過,那麼我就會上大學。在這裏,嘗試獲得計算機科學專業的 offer 是一種賭博,分數太高或是太低都沒戲。總之事情很複雜。
看起來想要幫助這位新星開發者,網民們還面臨著一些挑戰,不過在後續的討論中漸漸有了眉目。
另外對於用手機編程這一做法,有很多人感到好奇。不過,OXY2DE 並不是唯一一個選擇這樣做的。有網民分享了自己在手機上的編程經驗,這位網民表示自己曾經在 Termux ( 一款基於 Android 平台的開源 Linux 終端模擬器)上使用 ACode 或 NeoVim 來編寫程序,並且使用 Termux 和 NeoVim 可以獲得 PyDroid 提供的所有功能,而無需每月訂閱。
還有網民好奇在手機上敲代碼會不會經常出現拚寫錯誤。OXY2DE 表示「他的準確率大約為 60-70%,但由於使用了具有補全能力的 nvim-cmp,所以也可以使用它來修復拚寫錯誤。此外,編程語言的所有關鍵字都是非常通用的詞,因此隨著時間的推移,拚寫錯誤會越來越少。」
還有網民建議將藍牙鍵盤連接到 Android 設備上進行編程,這樣效果也不錯,該網民還推薦了一款名為 iClever BK-05 的藍牙鍵盤,不用時可以摺疊起來,非常方便。
對此,OXY2DE 表示有些文件非常龐大,很容易讓 Neovim 變得緩慢。因此他不得不禁用 LSP、自動補全、Tree-sitter 和語法卡奧亮,只是為了讓它不卡頓。在某種程度上,無法繞過硬件的限制。
還有人感慨道:如今 99.99% 的人都依賴先進的工具來完成工作,而這位學生卻在用手機做著這些事情。難以置信,簡直太瘋狂了。
「不知那些需要機械鍵盤才能敲代碼的人感想如何?」
markview.nvim 項目作者 OXY2DEV 的真名是 Mouinul Hossain,是一名來自孟加拉國的高中生,自稱喜歡編程和電子設備。他在空閑時間製作 Neovim 插件,有時還會製作一些基本的網站。
OXY2DEV 小小年紀就有了使用 Lua、C、Javascript 和 Sass 語言的經驗。此外,他還有一些使用 Bash 的經驗。不過可能是因為生活條件有限,或是其他什麼原因:他表示自己現在只有智能手機、沒有電腦,所以是在 neovim 跟 Termux 中完成這所有工作的。
看起來,OXY2DEV 在努力為開源社區做出貢獻的同時,開源社區也在回報他。在 Reddit 帖子裡甚至有人推薦他來申請新加坡國立大學,這讓一直以來想要學醫的他有了更多的思考。
幾天前,OXY2DEV 終於決定開啟一個募捐項目。「根據其他人的建議,我決定捐款買一台筆記本電腦。」
據說他在 10 個小時內就籌集到了 2300 美元。
這就是開源社區的力量。
參考內容:
https://www.reddit.com/r/neovim/comments/1h7vhmg/bro_been_developing_his_2k_star_plugin_on_a/
https://www.reddit.com/r/neovim/comments/1hb5szp/please_help_me_raise_funds_for_a_laptop/
https://github.com/OXY2DEV/markview.nvim