本文以創用 CC 姓名標示-非商業性-相同方式分享 4.0 國際授權釋出
讀者您好
The Ages of Programming Language Creators 是一個有趣的調查,蒐集了 185 個程式語言創始人發明語言時的年紀,從最小 16 歲的 Aaron Swartz 到 J 語言的兩位 70 歲發明人,年齡跨度相當大。作者也公開了使用的資料集,供有興趣做深入研究的人持續探索。
🔹Piko
Piko 是 Ngrok 的開源替代方案,專為處理生產流量設計,易於在 Kubernetes 上部署。使用者可用 Piko 連線至客戶網路、自建雲端(BYOC)解決方案及物聯網設備。Piko 支援節點叢集、容錯、零停機部署及觀察工具,確保安全連線。
🔹OpenThread
OpenThread 是 Google 開源的低功耗網狀網路協議,基於 Thread 設計,適用於物聯網(IoT)設備。其特點包括低功耗、網狀網路技術和內建安全協議。開發者可利用其工具和函式庫,輕鬆在各種硬體平台上部署。
🔹Dataherald
Dataherald 是一個開源的自然語言到 SQL 引擎,專為企業級關聯資料問答設計。使用者可以用簡單的英文從資料庫中獲得答案,無需數據分析師即可從資料倉庫中取得見解。這個引擎還能在 SaaS 應用中啟用生產資料庫的問答功能。Dataherald 提供 Engine、Enterprise、Admin-console 和 Slackbot 等組件,靈活搭配使用,並支援 Docker,方便本地運行和部署。
🔸從 BitKeeper 到 Git
在 2005 年 4 月 3 日,Linux 核心的候選版本 2.6.12-rc2 發佈,這個版本本身並沒有太多亮眼的更新,但標誌著一個新的時代開始,因為這是最後一個非 Git 管理的 Linux 核心版本。在此之前,Linux 核心的版本控制工具主要依賴 Linus 本人,他負責將開發者提交的程式碼合併到核心中,但隨著功能和程式碼的增加,這種手工管理方法變得難以應付。
為了解決這個問題,Linus 在當時的選項中選擇了 BitKeeper,一種與當時其他版本控制軟體不同的工具。BitKeeper 符合 Linus 對版本控制軟體的要求,並免費提供給社群使用,但它仍然是一個閉源的商業軟體,使用者若違反其使用條款,就會被撤銷使用權利。這一點在社群中引發了長期的爭議。
最終,Linus 在一次長假期間思考未來版本控制的走向,並在兩週後向社群展示了 Git 的第一版。Linus 說當時的 Git 程式碼非常簡單,大部分的時間都在思考資料結構。雖然 BitKeeper 最後以開源授權條款釋出原始碼,但當初的授權爭議催生了如今廣泛使用的 Git。開源社群雖然規模較小且鬆散,但比商業組織更有活力,能夠靈活應對使用者的需求,而商業軟體公司則往往因為眼前的利益選擇保守,無視未來的發展。
🔸新酷音輸入法的重生
新酷音輸入法貢獻者 kanru 在 2017 年剛接觸 Rust 程式語言時,想到可以使用 Rust 來改寫 libchewing 當作練功,於是先嘗試將詞庫模組以 Rust 的 HashMap 改寫。重寫的結果證實了可以把 C 和 Rust 放在同一個程式碼庫內一起編譯使用。2021 年,kanru 重新啟動改寫計劃,透過之前接觸 ZMK 以及 QMK 的經驗,重拾對程式碼的理解。
Kanru 在 2022 年日本黃金週期間,陸陸續續將新酷音中的重要模組以 Rust 程式語言改寫。重寫過程中,幸虧有前人提供的大量測試,這些測試確保了功能的準確性與穩定性。到了 2023 年,改寫和重構完成之後,除了使用者輸入輸出的模組外,都已經以 Rust 程式碼實現。Kanru 開始整理開發的成果,並將改寫的程式碼提交以便合併到主線開發中。
2024 年開始,透過許多工具的輔助測試,例如 genkeystroke、AFL++ 以及社群成員的檢視,新的 libchewing 已經可以在一般使用情境下穩定使用。未來也將釋出新的工具程式,並採取更快速的演算法以提升新酷音的使用體驗和效能,為之後的開發打下堅實的基礎。
以上就是本期的內容,喜歡的話請給❤️,分享或轉寄本電子報給有興趣的朋友。如果您有想要介紹的開源專案,也請來信與我們分享,或是在 X (前 Twitter) 留言給我們,感謝!