iT邦幫忙

2021 iThome 鐵人賽

6
Software Development

予焦啦!Hoddarla 專案起步:使用 Golang 撰寫 RISC-V 作業系統的初步探索系列 第 32

予焦啦!結論與展望(二):鐵人賽、正體中文科技寫作與雜談

鐵人賽

這是一場瘋狂的知識盛宴。有別於第一日提出的特別關注系列清單,今天我則會列出直到最後一天我都還相當有印象的系列文;並且,這些系列文,筆者都有達成一半以上的閱讀率。

主動發起這個結尾的整理,也是希望拋磚引玉,建議主辦單位適度導入一些鐵人之間的互評機制,或許比起一個人自言自語,會讓人成長更多?不需要做到像研討會論文那樣匿名同儕審查;筆者在這一屆與其它鐵人文作者進行許多互動,對於自我成長來說成果豐碩。

晶心壯士們

這兩位鐵人,int10hycliang 都是晶心軟體研發處 Linux 組的夥伴,行政上直屬於筆者,但應該不是因為職權之壓迫才參賽的。兩人都是開始報名前不久才被說服加入這次的鐵人賽團體,賽會期間大部分的日子也都維持一天一篇的步調,想必很是操勞。辛苦了兩位!我們之後揪個晶心壯士慶功宴吧!

Port Alpine Linux to open source RISC-V platform

這是個適合有發行版開發經驗者閱讀的系列文。Open source RISC-V platform 本身甚至蘊含開源硬體的概念,而比較成熟的開源 RISC-V 實作以 32 位元系統為主,所以系列文規劃之初是想要將移植完的 RISC-V 32-bit Alpine 運行在 FPGA 上為目標。前十天的節奏比較適合略有概念的人切入,因為 int10h 解釋了 musl C 函式庫與 LiteX/VexRiscv 開源硬體。

但由於無法容納浮點數單元的硬體限制問題,中間的十天切入 Alpine 移植,也就真正讓接下來的本系列成為真正的大型黑客松紀錄。在 bootstrap 的過程當中,一方面簡述大型的 Linux 發行版的流程,一方面親自實踐,展示出 Alpine 的風格。期間也帶出許多移植的顧慮,比方說 Linux ABI 的調整,就是一個很大的技術重點。當然,黑客松也不免遇到亂流,整個移植的時程就拖入最後十篇。而終於在前幾天,看到了運行起來的版本。

以結果來說,int10h 夥伴在這屆鐵人賽展示的出道首系列,呼應了他的 ID 的由來。他以自己的基礎與知識,跨越了重重抽象層之後,做出一個系統運行的展示。這個展示,在平常由商業公司的發行版服務的人眼中,看起來或許相當樸實無華,但這就是浪漫。

閱讀 Linux Kernel 文件

這是初階到進階皆宜的一個系列。各個 Kernel 先進整這些文件,本意也是希望能夠提供所有人足夠清晰的整體圖像。除了最一開始幾篇 RISC-V 相關,後面則比較適合說是以記憶體為主軸。陸續經歷 TLB/Cache、物理記憶體模型、High Memory、HMM 和頁面遷移,紮實地累積。

每天以翻譯為主,自己的心得對照為輔,天天壓線的日子也是讓隊友們都心驚膽跳。我相信 ycliang 即使經過了這些記憶體機制文件的閱讀與翻譯,理解上應該還是有模糊之處,但只要現在留點印象,之後與程式碼、運行時的行為對照,就會相當有實感了。事實上我也相當感謝 ycliang 能夠藉這個機會累積文本,讓不限於組內的其它 Linux 開發者有個參考。

IT 管理

這屆鐵人賽,筆者收穫最多的其實不是技術,而是在管理面。如前述,筆者帶領一個 10 人以上的團隊,時不時茫然而無力。所以,實在是很慶幸,有這麼多前輩願意分享管理心法。比起那些精美的書籍或是包裝過的課程,這些系列文更有親近感,對於筆者的留言也能獲得作者直接回應,實在是難得的好機會。

恐怖的是,這個主題只有 37 篇,冠軍優選獎落誰家?看來評審們也要大傷腦筋了。

筆者沒有列出的系列,不代表就劣於筆者列出的,以下其餘主題亦同。

筆者依檢索順序排列,不代表優劣;若筆者心中另有量尺,會在該系列中特別提出。以下其餘主題亦同。

人人有功練的典藏知識分享

竹風之翼大大的文筆平易近人,又能旁徵博引,整個系列非常容易閱讀。去年的文明的進程系列也是大格局之作,但因為筆者去年沒有參賽,少了關注,到今年搜尋作者的其餘作品,才發現這麼有趣的系列。原來作者有歷史背景,難怪文章裡面自帶時空脈絡。

回到知識管理本身,實在相當有共鳴,尤其是作者舉過的其中一例:大航海時代的繁盛,其實是來自馬可波羅東遊記(因),以及整個航海概念共應鏈上的工程師與科學家們、各行各業的知識集結起來,才有可能塑造一整個時代的產業樣貌。

也值得反省的是,雖然現在我們都有數位工具、開源的知識分享平台,但在私人企業內卻未必能夠良好的彌補單位之間的知識差距,甚至有時候連單位內部本身的傳承也未必能嘉惠自這些工具。

初階主管求生指南

筆者任管理職剛滿兩年,所以當然是符合這個系列的目標受眾。作者華叔大大引導新手主管如何進行團隊系統設計,在系列後半更是提供大量對話方法,甚至還分享有血有肉的實例,而不是打高空又報喜不報憂的管理教條。結尾數篇則有更針對 Scrum master 的內容,但筆者身處系統軟體之中,未曾經歷過這些敏捷實踐,就比較難有共鳴。

最為受用的是張力分析一文,筆者從這裡認識到張力-舒緩分析工具,從中獲得的啟示則是,雖然晶心軟體部門上下之間沒有威權感很輕鬆也好溝通,但我們面對這種張力,也就是作者說的禪機出現之時,卻通常很難成功跳脫暫態舒緩的迴圈並實質改良系統。也許適度導入這個新的模型會有所幫助。

邁向 Tech Leader 的成長之路

作者 small2kuo 大大在這個系列中每天分享一則影片,並提出個人的心得,還有經驗與之對照。筆者都會趁錯字訂正的機會與作者互動,並獲得筆當日貼文更多的回饋。

若我是評審的話,我應該會想要給這系列的作者最高分。我的量尺是資訊量與實例的具體程度,而本系列作者提供的實例或許不那麼系統化,以量來講也僅佔每日的文章後半三四成,但是引介 LeadDev 這個頻道、並每天收集影片懶人包,這一點在筆者看來是加分的關鍵。

筆者由於接觸不多,所以也不是那麼確定,但國內正規的管理訓練管道的教練或是管理書籍,常常有在推薦這個頻道嗎?感覺是如此理所當然,但不知道的人就少了這一個充滿洞見的領導者知識庫。我最感謝作者這個系列文的原因也在此。

做個科技新創項目吧!

雖然上一節是我心中的 IT 管理主題第一,但如果筆者今天是真的想要靠自己的點子賺錢並開始招兵買馬、而不是像現在剛從工程師跨足技術管理,那麼也許第一就會轉為作者 KK 大大的這篇了吧。

當然,吹著西方的開放之風,筆者也不是沒有聽說過創業圈的開放程度:有點子時不能閉門造車,而是應該提出來互相激盪,比拼執行面之類的。這個系列給人的感覺也正是如此,總給人一種,創業都已經那麼辛苦了,為什麼作者願意冒著被後人超車的風險,分享這些創業當中的心路歷程與技術重點呢?

當然,這有可能是因為筆者並沒有研究過創業相關的東西,所以不太懂得區分創業路上真正重要的東西與真的分享出來了也沒關係的東西。可是,作者在這個系列當中整理的資訊確實讓人耳目一新。

如何斜槓成為一位解決方案架構師?你必須具備的實戰指南書

這個系列,筆者天天拜讀,但 20 天前後突然間納悶,為什麼好像一陣子沒有看到更新了?結果除了斷賽之外,作者還將原本已經發出的 15 篇文全數刪掉了,實在是惋惜之極。

30天菜鳥主管養成計劃

Bernard 大大這個系列是在自我挑戰組,但是筆者認為其精彩度完全可以參加 IT 管理主題。

系列中也涵蓋一連串經典的管理議題,故事、團隊文化、時間等等;我最敬佩這個作者的地方在於,看起來他的管理技術成長的地方本來不在國內,但是撰寫這些相當抽象的主題之時,卻非常具體。

另外,追蹤這個作者另有兩個收穫。一是,藉這個機會才第一次知道作者本人的 Alpha Camp 團隊以及他們提供的服務。二是,作者去年鐵人文,訪問了許多工程師或是前工程師之所以卓越的原因。

專案/團隊管理的無字天書

作者 fat0227 有濃厚的基督教色彩,每兩三篇當中就有一篇引用聖經做結,讓人可以感受到經典的智慧。由於我的直屬經理也是教徒,所以大概可以想像,與這種體系的領導者相處的情況。

受用最深的是系列初期的團隊經營這一篇。剛好筆者的團隊也不能說流動率很低,所以參考這篇的話,應該就能系統化地常常保持新人與資深夥伴之間的良性互動。

Modern Web

除了 IT 管理之外的章節,筆者大多是簡單瀏覽過而已,因此這裡記述的是特別有追蹤的幾則系列。

golang後端入門分享

之所以追蹤這篇,是因為筆者從來也不是一個正規的 Golang 開發者,比較多的經驗甚至是也不在 amd64 上面,所以想要觀摩一下其他先進。作者 JC77 花了前 20 天的篇幅講解 Golang 的基礎,對於新手應該是有幫助的;後面數日則開始切題,作為網路後端用例參考,應該不錯。

你阿嬤成為網頁前端工程師的第一步

作者 logos50607 文筆幽默風趣,由淺入深,HTML + Javascript + CSS 都有介紹出其基礎的感覺。

如何在網頁中繪製 3D 場景?從 WebGL 的基礎開始說起

筆者先前學了一些 OpenGL 的皮毛,所以學習這個系列剛好可以知道,如果要在網頁上獲得類似的效果,應該如何使用 WebGL。作者 PastLeo 由淺入深,從最基本的圖學觀念到最後蕩漾的海天相映,實在是完整且精彩的一個系列。我雖然完全是個現代網頁技術的外行人,但我非常看好這個系列得獎。

後疫情時代的 WebRTC 微學習

作者 Nick Yu 這個系列介紹了 WebRTC 技術背後的數個協定組合,然後開始以各個 Demo 展示相關的功能如何實作並使用。說是微學習實在是太客氣了。

Software Development

筆者將 Hoddarla 專案報名在這個組別,其實總是有點格格不入之感,和往年的經驗大致相同。系統軟體的聲勢實在是沒有壯大到能夠獲得主辦單位開設一個組,但若報名自我挑戰又無緣爭取更多榮耀,也說不上是行動裝置開發。

全端工程師生存筆記

作者 寶寶出頭天 在整個系列文的安排當中,前九篇以大局觀切入職涯主題,包含履歷的持續整理精進、理解自己的價值、分辨公司的好壞等等;後續篇章更是直接針對全端工程師的面試主題,呈現出一篇又一篇紮實的技術重點。

如果有明確的相關需求,一定要拜讀的一篇。事實上,筆者認為主辦單位的評審,應該也會給予這個系列極高的評價吧!

Hey! Go Design Patterns

筆者日常接觸的通常都是一些已經發展很久的系統軟體,由於它們的一些核心架構都已經形成,所以往往設計模式什麼的議題也輪不到我這種後輩在思考。但是作者 髒桶子 York Lin 這篇確實勾起人的興趣。

針對 Golang 簡潔的並發程式支援,作者探討 23 種(連載中)經典設計模式,值得一看。

Security

一起資安入門 -- picoCTF 探索與解題

作者 catkitchen721 真的是由淺入深在介紹搶旗的資安訓練怎麼玩,一開始甚至是從基本的 Linux 指令切入的,相當可以用來推薦新手入門。

我想學滲透測試喵喵喵喵!!!!

作者 StevenMeow 以一天解一題 Try Hack MeHack the Box,雖然分享了許多滲透測試的門道,但是對於門外漢來說還是不免霧裡看花。而且也是以 Windows 為主,但筆者應該不會再跟 Windows 系統有什麼瓜葛。

這個系列應該會被筆者當作是日後有需要再回來參考的類型吧。

Mobile Development

我的怨念齊天高 之「為什麼我的專案死掉了!」

在這個雜訊時代,關注成功者的故事容易習慣接受他們的視角,進而被餵養成為生存者偏誤的信徒;失敗者的故事就完全沒這個問題了,我們總是應該要能夠從自己與他人的失敗中領悟一些事情才對。作者 tw_hsu 的出發點就是如此,分享行動專案中可能失敗的多種原因,並提出自己的領悟。

但實在很可惜,這個系列沒有完成到最後。但這 20 天當中的開發、團隊文化、溝通、維護相關的反模式,也都值得團隊管理者思考。

如何用下班時間開發App經營副業

作者 ggwu 分享自己的副業 SaaS APP 之餘,也連帶展示許多行動裝置 APP 創業所需要的資源,最現實最功利的角度來說,這個系列在這方面提供了莫大的資源窗口。精神面上,這個系列也分享了許多作者在正職與副業之間拉扯,到現在以 APP 本身的事業為主、但欲尋求可追尋的另外一個極點的拉扯。

這也是創業家的第一手心路歷程,感謝作者分享。

自我挑戰

快樂社畜路:畢業後的後端開發求職準備

就軟體業面試的主題,作者 yichin 從履歷準備、刷題的主要題型(以資料結構分類)、到面試要點,非常精彩。雖然因為在自我挑戰組而無緣徵獎,但以衝擊力來講,作者的這個系列絕對能夠幫助非常多資訊人,無論是學生或是考慮轉職者。

筆者身在半導體業做系統軟體,其實對於刷題沒有太大需求,也不會特別偏好有刷題的求職者,但是畢竟軟體是全球顯學,刷題也因此就是這個時代的新科舉。有志於此的讀者,大可循著這個路標前進。

工程師太師了

作者 社長 呈現的資訊人短篇漫畫,輕鬆有趣。筆者有分享給自己同在資訊領域的大學友人,但每個人的笑點好像都不太一樣。

不過,仍然非常有趣!希望作者繼續努力,明年也能繼續在文海中,看到漫畫這種不一樣的載體。

當你凝視linux, linux也在凝視你

雖然筆者的日常業務都在 Linux 上打轉,但還是必須很謙卑地說,有些基本功的部份,很感謝作者 chengchen 在這個系列當中的整理。雖然有幾篇看起來礙於步調或是時間不足而尚有未完成的感覺,但這個系列對稍有經驗的核心開發者補完基本功也是很有幫助的。

無人機與樹莓派的相遇 Linux不只是過客

實在很可惜作者 haward79 並沒有完成這一個系列。我相信很多邦友都對無人機或是四軸控制有興趣的。

其它

這個篇章介紹一下除了筆者團隊之外,其餘提到 RISC-V 的系列文。

猴子都寫得出來的 RISC-V CPU Emulator

作者 hsufit 使用 SystemC 撰寫 RISC-V 模擬器。作者剛完結指令的部份,而正開始開發輔助功能不久。說到模擬器,筆者先前接觸過 Spike 與公司產品 AndeSim,但確實是沒有看過模擬器內部的模樣,感謝作者分享相關的知識。

微自幹的作業系統輕旅行

作者 EN 統整他在 AwesomeCS 的資料再加以呈現。這個系列的前十篇當中介紹了許多資訊工程的基礎概念;中段前半則介紹 RISC-V 的基礎;中段後半是相關的工具如 git 或 makefile;後段則開始切題,也就是自幹作業系統的部份。

推薦這個系列給予想要入門作業系統概念的讀者參考!

雜談

正體中文科技寫作

我不確定尊敬的主辦單位 ITHOME 是否有意識到,自己經營的社群(包含鐵人賽)已經是正體中文科技寫作的最後堡壘了?

雖說主辦單位由上而下地提供平台與獎勵方法,甚至是透明度不高的評審制度,但這個活動的主體無疑是由下而上的社群能量;人們以自己的概念與語彙去描繪當前的時空切片裡面的科技地圖的樣貌,有些人偏重方法,有些人呈現概念,是一個非常立體且又充滿生命力的活動。

在這之中,其實所有鐵人都有相同的困境,那就是我們缺乏一個關鍵的隊友:正體中文科技詞彙的維護者。不少系列文都會在翻譯的時候附帶解釋,如:「我將 xxx 翻譯成 yyy,如果不恰當再請讀者指正」、「雖然 xxx 聽起來像是對岸翻譯,可是我覺得翻譯得很恰當所以...」、「xxx 實在不知道怎麼翻,所以之後都保留英文」、「xxx 翻譯成 yyy 是我自己的翻譯」、... 但為什麼我們需要這樣?不應如此。

筆者在 Hoddarla 系列當中明說,我希望使用最標準的字詞來撰寫,因此我參考國家教育研究院的科技翻譯;然而,經過這次的嘗試,我必須說我感到非常失望。我了解該單位想必已經盡了所有能夠支配的努力,但我想那顯然是很不夠的。本節,筆者將我流地、僭越地分析一下這個問題。

最主要的因素:弱勢典範的悲哀

我認為最主要的原因,先以類比來說,很接近一個人類學或是考古學的現場,那就是現代智人(我們 Homo Sapiens)消滅尼安得塔人的過程。儘管兩造都具有足夠的智慧,也都使用工具與認知能力發展文明,但也許因為某些尚未明瞭(但有部份學說與假說)的歷史事件,造成前者的優勢逐漸壓過後者,產生無法扭轉的歷史軌跡之移轉。我想要類比於被消滅的尼安得塔人的就是漢字與漢文書寫;而類比於後來欣欣向榮而支配地球的,是繼承希臘羅馬文明以降的拉丁文地位的英文。

資訊科技的大爆炸,時間上發生在英文所主導的時代,空間上也發生在西方國家。相對之下,儘管漢語漢文字曾經能夠扮演東亞地區的拉丁文的角色(註:可參考漢字世界の地平: 私たちにとって文字とは何か)一書,但隨著越南與韓國的退出,隨著中國走出自己的路,隨著日本年輕族群的不重視,漢字的通用性仍然在西風東漸之下慢慢消亡。

用一個更接近資訊人的類比來講,就是原本有各式各樣的私有規格在西元元年前後的春秋戰國時代,在歐亞大陸的西半邊流竄;秦帝國時期有一個謀略家以其影響力推動工業標準,企圖統一這些私有規格,而他的階段性成果就是小篆。後來,這個工業標準有一些更版,大致上隨著當時的書寫工具流變,形象上有隸有楷,但總之表意的功能是持續沿襲,乃至於朝鮮、日本、越南、沖繩、馬來西亞,都有過這一套文字系統以及建立於其上的知識體系的足跡。

這套知識體系也不是沒有遇過問題。19 世紀末,德先生賽先生強勢入侵的故事,大家都知道,但是德先生被稱作「民主」、賽先生被稱作「科學」,這些如今理所當然的譯名,卻非出自把漢字當作中國字的任何中國人(為求精準,特指以下任一:清帝國、中華民國、中華人民共和國)之手;實際上,這兩者以及許多其它我們至今仍然使用的西方名詞之翻譯,都是來自幕府末期到明治維新的日本思想家。這仰賴極深厚的漢文學識,才有辦法從數萬個漢字之海當中,撈取出適當的字引以為用。「社會」、「經濟」也都出自這些維新思想家之手。

那個年代,有兼具漢文學識與西方視野的日本維新思想家,所以有這些譯名可用,那現在呢?國文課,要嘛是筆者的年代,教那些風花雪月一味崇古;要嘛是古文比例改少後的這些現代國語,除了文學界還會去創造一些拗口的新詞之外,根本看不到這個語言有什麼擴展性。所以,要國家教育研究院或是什麼官方單位拿出「民主」「社會」「經濟」這種等級的譯名來因應資訊時代,恐怕也是緣木求魚。

以這個角度來講,就會面臨下一節的次要因素,但由於本節的主因太過內化,所以所謂的次要因素卻會成為大部分的表徵。

次要的因素:依附心理

既然沒有能力自己做,那當然是想辦法抄了。可是漢字系統如此特殊,找誰抄?當然是找血緣最近的,想辦法挪用之。

如果說漢字系譜本身是個 repo,那簡體中文,絕對是一個偉大的 fork。當初主事者有膽識也有動能,將整個 repo fork 出去,就算反向相容性(backward compatibility)嚴重不足,他們也在所不惜。於是乎,親不見愛無心只是小事,微風甚至能吹動我的頭發。這是政治選擇,就算略有權威性,這個 fork 的使用者也已經超過原本的 branch 的使用者了,所以成為一個主要社群,這無所謂。

但筆者認為,過度引用簡體社群的翻譯,是我們這個 branch(正體中文)的瓦解的病徵。這個 branch 缺乏有肩膀的人來做標準化,而他們自以為的標準化實際上只是自我滿足,沒有與使用者一起形成標準本身的生態系。使用者也因為教育體系設計的因素,沒有足夠的追本溯源能力,建立甚至倡議合適的翻譯名詞,最後當然流於人云亦云,甚至 words 開啟簡體書檔按個簡轉繁之後就準備成書的歪風。

但真的要這樣說,恐怕也太嚴苛了。筆者的論點,似乎過份強調形式主義,若是國內出版社沒有引進原先簡體的著作,恐怕有些優良的科技知識就難以流入,實質上就算沒有符合我所描述的正體中文形式,也是真正在為國內的科技社群做出貢獻,總的來說也好過我的這些批評。那到底該怎麼辦呢?

未解

文化甚至政治等級的問題,複雜度遠遠超過一般資訊技術的問題,應屬必然。筆者認為正體中文科技寫作本身過於小眾,且認定現狀是病徵而主張病識感的言論者,除了筆者之外應該也不太多。那也許,也只是再次顯示筆者的悲觀思考而已。

只是,強如拉丁文,主宰了接近一千年的歐洲書面共通文,也都會凋零。儘管技術相關的動能仍在,但若是正體中文本身衰老下去,鐵人文的這些正體中文書寫也都會慢慢喪失時代的意義吧。想到此節,還是難免悲哀。

回顧自己的鐵人軌跡

說到正體中文寫作實在很難平靜下來,但這裡還是姑且拉回來好好收尾。

2017 年的跨界的追尋,當時比較熱血,不太屯文章,每一個系統呼叫都以一天的時間準備,就像不戴氧氣瓶浮潛,當然是一下潛還沒看到什麼就得浮上。

2018 年的與妖精共舞,以打造 Golang 版本的 binutils 為目標,但實際上,Golang 的工具鏈內部就有許多 ELF 工具,我到了該系列結束之後才發現這個事實。說來慚愧,實在是不知道該系列連載之初,有多少前輩在冷笑我的無知與不做功課。

11th 的入吾 go 中,該系列到頭來,整個 Golang 的標準函式庫還是大多無緣窺見,而更在結尾的第三十天留下數十個關於執行期的疑問。說老實話,至今,儘管我能夠偷偷挪用 Golang 執行期的部份功能充當 Hoddarla 核心功能,當初的疑問列表仍然有超過一半是現在的我無法回答的。

至於這次的 Hoddarla 系列呢?筆者自以為投入的時間比前面這三個系列都還要多,技術上的來回測試、書寫上的校訂都比以往付出更多的力氣,確實這次是比較沒有以往的那種遺憾,但還是有些小地方不太滿意。完美果然是難以企及,即使只是自己的標準。

從學生變成社會人再變成更老的社會人,未來再回首,我應該會相當慶幸今年也參加了鐵人賽的吧。也應該,會相當慶幸自己曾經願意付出這些時間整理 Hoddarla 專案,它代表了筆者的母語與回不去的夢境;也因此是一種反抗。

我們都是星塵,或許有些較亮而有些較暗,但我總覺得再這樣下去,誰也無法逃離科技黑洞的視界裡的潮汐力。為了這份反抗心,我想我需要再讀一些卡謬與沙特,才有辦法更完整地呈現自己的反抗。

最後

終於來到這次鐵人賽真正的最後一個段落了。

感謝所有一同見證 Hoddarla 專案的讀者,雖然我很明白不會有多少人真的去 Github 下載原始碼來玩,但還是很感謝。但真的很簡單!加上 clone 只需要六行指令,普通算力的電腦大概半個小時就可以建立完整個環境,以及最後的超簡單命令列。

昨天已經講了許多 Hoddarla 專案的結論,所以今天是關於這次鐵人賽本身。不得不說,時隔兩年,沒有想到這次的鐵人賽會如此激烈,優良的系列俯拾即是。原本筆者苦心經營,希望能夠有機會一拼冠軍;但客觀來說,筆者呈現的內容是以專案為主,本身沒有什麼普遍的技術供他人學習,單論系統的實用性也不大,相比於其它言之有物的系列所能帶給讀者們的職涯、技術、概念上的提昇,真的只能說看來我該讓賢了

但比起爭冠,筆者更嚮往的是出書。是以最一開始就先規劃了架構,隨著系列文一日一日的貼出,都使用章節作為分類,其實也是因為筆者企圖將 Hoddarla 專案初試啼聲的軌跡做得越像一本書越好。結果到頭來,就算扣除所有引用的命令列執行結果,純計算中文字應該也逼近 20 萬字之譜。從這個角度看,雖然自己是達成了一點點東西,但要出書的話可能還是太困難了吧。

曾經在 Hacker News 看到某先進分享撰寫技術書的感覺,他說那樣的體驗總是在耗盡(burnout)與拖延當中來回,但每每完成之後,又會不合理地懷念起那種感覺,而亟欲提筆下部作品;筆者顯然沒有這麼高尚,歷經一年半的努力,實在是非常疲勞了。回顧總覽過 Hoddarla 本身的技術債與規劃未來目標之後,若是將可調度時間的 50% 用在執行上面,也得排到 2025 年底。我想明年頂多報個自我挑戰組吧,研究一些對於 Hoddarla 專案接下來的發展有益的技術,或是也很有可能看些關聯性不大的?都未設限,總之得休息一陣子再說。

感謝組內的夥伴,我知道有人因我的職權霸凌而來閱讀這個系列,希望你們不要以為我上班都在打混做這個專案;事實上,我只有開會的時候才偶爾挪來做。

感謝 int10h 與 ycliang 兩位鐵人。雖然鐵人賽團體內的連結不強,但我們都是晶心壯士。

特別感謝友人阿 Jay,分明不是主點作業系統技能,也不熟 RISC-V 和 Golang 這雙軸線,卻仍是一篇一篇逐字逐句協助校訂,挑出超過 20 個錯字;如果本系列文有幫上什麼忙就太好了。

特別感謝 Jserv 老師,儘管從來沒有正式從他手上拿下任何一分,但如果不是他引領筆者跨過開源軟體之門,想必我只會在另外一條世界線比現在更為平庸地活著。以這個意義來說,也要再次感謝友人阿 Jay,要不是他分享 Jserv 老師的課程,筆者根本沒有任何機緣接觸到相關的技術。你是真正的貴人。

分享個趣聞:印象中 Jserv 老師當年也有出題目給旁聽生,筆者負責的是對 pcmanx 專案的貢獻。當時上台報告成果時,只是多感謝了他幾句,他便連忙喝止:「喂,只是一個 patch 而已,你不要在那裡發表得獎感言啊!」

最後,特別感謝爸媽老婆,感謝他們的支撐,以及他們聽到專案名稱為予焦啦之時臉上的微笑。

以 Hoddarla 1.0 release 為目標,我們之後再會吧!予焦啦


上一篇
予焦啦!結論與展望(一):Hoddarla 專案的過去、現在與未來
系列文
予焦啦!Hoddarla 專案起步:使用 Golang 撰寫 RISC-V 作業系統的初步探索32

2 則留言

0
EN
iT邦研究生 3 級 ‧ 2021-10-11 13:44:16

恭喜完賽!
從文章中可以看出您在 Hoddarla 身上投入相當大的心力跟時間,只可惜系統軟體這一塊在版上比較沒有人關注。小弟我也從這篇系列文學到了很多 + 認知到自己的不足,希望可以看到您明年帶著更強的作品回歸 XD

高魁良 iT邦新手 4 級 ‧ 2021-10-12 09:05:25 檢舉

也祝你成功完賽!

0
henryandjay
iT邦新手 5 級 ‧ 2021-10-11 16:51:23

=D

高魁良 iT邦新手 4 級 ‧ 2021-10-12 09:01:36 檢舉

/images/emoticon/emoticon41.gif

我要留言

立即登入留言