#%E7%A8%8B%E5%BC%8F%E8%A8%AD%E8%A8%88

GripNewsGripNews
2025-06-27

🌗 GitHub - Sakura-sx/typr
➤ 提升打字技巧的開源工具
github.com/Sakura-sx/typr
這是一個名為“typr”的開源命令列打字練習工具,靈感來自於 keybr。它使用演算法根據字母的準確度、在英語中的頻率和你的打字速度來選擇單字,以優化你的打字速度。該專案使用 Python 撰寫,並提供 Windows 和 Linux 的安裝說明,以及多種運行參數,例如設定時間限制、單字數量和允許錯誤等。同時也歡迎社羣貢獻程式碼。
+ 感覺這是一個很酷的工具,對於需要經常打字的人來說很有用。
+ 命令列介面雖然簡潔,但可能不太適合所有使用者,如果能有圖形介面就更好了。

GripNewsGripNews
2025-06-26

🌘 以 280 個字元建模世界
➤ 極簡著色器的藝術與技術
tympanus.net/codrops/2025/06/2
本文探討了作者 Xor 如何透過編寫極簡著色器程式 (限制在 280 個字元以內),結合程式碼、藝術與限制的創作過程。作者分享了創作的動機、方法,以及如何利用 Twigl.app 這個線上著色器編輯器來簡化流程。過程中,作者強調了程式碼高爾夫 (code golfing) 的樂趣與挑戰,以及它如何激發創造力、促進學習,並建立社羣連結。文中也簡要介紹了著色器的原理,並分享了實際的程式碼範例和創作心得。
+ 真是太令人驚嘆了!原來程式設計也可以這麼有藝術感,而且還能用這麼少的字元實現這麼複雜的效果。
+ 我一直對著色器很感興趣,但覺得很難入門。這篇文章讓我看到了一個有趣的切入點,或許我可以嘗試用 Twigl.app 玩玩看。

GripNewsGripNews
2025-06-25

🌘 PyTorch 使用 None 進行重塑
➤ 遮罩技巧與 PyTorch 重塑的應用
blog.detorch.xyz/post/2025-06-
這篇文章探討了在 PyTorch 中使用 `None` 進行張量重塑的方法,尤其是在處理可變長度序列資料時,例如自然語言處理。作者解釋瞭如何利用廣播機制 (broadcast mechanism) 建立遮罩 (mask),以忽略填充的無效 token,並提供了使用 `reshape` 函數作為替代方案,以提高程式碼的可讀性。
+ 這篇文章清楚地解釋了 PyTorch 中 `None` 的用法,對於初學者來說很有幫助。
+ 我一直對廣播機制感到困惑,這篇文章提供了一個很好的實際例子,讓我更容易理解。

GripNewsGripNews
2025-06-25

🌗 程式設計中時間的思考方式
➤ 理解時間的本質,避免程式碼中的時間陷阱
shanrauf.com/archive/how-to-th
本文探討了程式設計中處理時間的複雜性,並提出了一個概念模型。作者將時間分為「絕對時間」和「民用時間」兩類,解釋了「Epoch」(起點時間)的重要性,以及如何使用Unix時間和格里曆來表示和計算時間。同時,文章也深入探討了時間追蹤的歷史,從依賴太陽位置到現代的UTC標準,以及閏秒調整的必要性。作者強調,理解時間的本質對於避免程式碼中的錯誤至關重要。
+ 這篇文章深入淺出地解釋了時間在程式設計中的概念,讓我對時間處理有了更清晰的認識。
+ 以前總是覺得時間處理很麻煩,看完這篇文章,感覺有了一些解決問題的思路和方向。

GripNewsGripNews
2025-06-25

🌕 古老 X11 縮放技術的禁忌祕辛揭露
➤ 挑戰 X11 的極限,實現跨螢幕精準縮放
flak.tedunangst.com/post/forbi
這篇文章詳細描述了作者如何成功地在 X11 系統中實現了精準的 DPI 縮放和跨多螢幕的固定尺寸顯示,打破了普遍認為 X11 無法實現這些功能的觀念。作者透過 OpenGL 繪製一個指定物理尺寸的圓形,並利用螢幕配置事件和 X server 的資訊,動態調整圓形的大小,使其在不同解析度和尺寸的螢幕上始終保持一致的物理尺寸。過程中,作者揭示瞭如何從 XRRScreenResources 等結構中獲取螢幕的物理尺寸和虛擬尺寸,並解決了實際測量中遇到的誤差。作者最終成功地在筆記型電腦、顯示器和電視上實現了相同尺寸的圓形顯示,證明瞭 X11 的縮放能力。
+ 哇!我一直以為 X11 縮放根本不可能,沒想到竟然可以做到!作者真是太厲害了!
+ 這篇文章寫得非常詳細,讓人瞭解了 X11

GripNewsGripNews
2025-06-25

🌕 編寫玩具軟體是一件樂事
➤ 重拾程式設計的樂趣:從玩具專案開始
blog.jsbarretto.com/post/softw
本文探討了編寫小型、簡單程式(玩具軟體)對提升程式設計師理解和熱情的重要性。作者以費曼的名言「我無法創造的東西,我無法理解」為出發點,鼓勵開發者不要害怕「重新發明輪子」,因為透過自行構建,能更深入地理解軟體運作原理。在人工智慧威脅取代部分開發者工作、軟體開發趨於工業化的時代,編寫玩具軟體能重新找回開發的樂趣,並意外地在實際工作中獲得啟發。文中列舉了多個玩具專案建議,並評估了其難度和所需時間。
+ 這篇文章讓我重新思考了學習程式設計的方式,我一直覺得專案太過複雜容易讓我失去動力,也許從簡單的玩具專案開始會更好。
+ 作者的觀點很有道理,我過去總是想直接使用現成的工具,但確實缺乏對其內部運作的理解。現在我想試著自己實現一些基礎的功能。

GripNewsGripNews
2025-06-24

🌗 如何將 pigz 移植至 Windows 系統
➤ 善用現有工具,輕鬆實現跨平臺移植
blog.kowalczyk.info/article/4/
這篇文章詳細描述了作者將 Unix 系統的 pigz 程式移植到 Windows 系統的過程。由於 pigz 最初是為 Unix 設計,缺乏跨平臺考量,但作者透過利用已有的 pthreads 和 dirent APIs 的 Windows 移植版本,以及一些簡單的程式碼調整,成功地將 pigz 帶到 Windows 平臺。同時,作者也推薦了使用 Premake 工具來簡化 Visual Studio 專案的建立與維護。
+ 真是太棒了!一直希望能直接在 Windows 上使用 pigz,現在終於可以了。
+ Premake 聽起來很有用,以後也可以嘗試用在自己的專案上,省去很多麻煩。

GripNewsGripNews
2025-06-23

🌖 配置器就像打字機上的猴子
➤ 記憶體配置器的簡單實作與原理解析
tgmatos.github.io/allocators-a
本文探討了記憶體配置器的概念與實作。作者從嘗試為 mimalloc 配置器添加預分配記憶體堆的功能開始,進而深入研究了記憶體配置器的原理。文章簡要介紹了配置器的作用、記憶體碎片化的問題,並詳細解釋了 Buddy 系統的配置與釋放機制。作者強調,即使是簡單的配置器,其原理也相對容易理解,而更通用的配置器,如 mimalloc,其複雜性主要來自於多執行緒處理。
+ 這篇文章用淺顯易懂的方式解釋了記憶體配置器的原理,即使沒有相關背景知識的人也能理解。
+ Buddy 系統的解釋非常清楚,讓我對記憶體管理有了更深入的認識。

GripNewsGripNews
2025-06-23

🌕 GitHub - izabera/bitwise-challenge-2048:僅用 64 位元狀態的 2048 遊戲
➤ 微型 2048:用最少的記憶體享受經典遊戲
github.com/izabera/bitwise-cha
這個 GitHub 專案 `izabera/bitwise-challenge-2048` 是一個在終端機中運行的 2048 遊戲的特殊實現。它只使用 64 位元來儲存遊戲狀態,允許玩家透過分享一個數字來與朋友分享遊戲進度。遊戲狀態透過環境變數 `$STATE` 控制,若未設定則產生隨機種子,設定後則遊戲流程會變得可決定性。
+ 「這簡潔的設計太酷了!竟然可以用這麼少的狀態儲存整個遊戲,效率很高。」
+ 「能分享遊戲狀態,讓朋友一起玩,這個設計很有趣,讓遊戲互動性更強。」

GripNewsGripNews
2025-06-22

🌘 型別推論動物園
➤ 探索型別推論演算法的新途徑
zoo.cuichen.cc/
「型別推論動物園」是一個互動式平臺,讓使用者能透過瀏覽器直接體驗並研究各種型別推論演算法。它提供統一的語法和實作,降低了開發者建立解析器和格式化程式的時間成本,並以易於理解的程式碼呈現學術論文中的概念。此專案採用 MIT 授權,並由陳翠於 2025 年開發。
+ 這個平臺真的很有幫助,能讓我快速理解不同演算法的差異!
+ 程式碼的設計很清晰,比閱讀論文更容易上手。

GripNewsGripNews
2025-06-22

🌗 Lua 陣列的緊湊表示法
➤ Lua 陣列優化技巧
sol.sbc.org.br/index.php/sblp/
本文探討了在 Lua 語言中,如何利用緊湊的表示法來儲存和操作陣列,旨在提升效能及降低記憶體使用量。文章詳細介紹了相關技術,並提供下載連結以供讀者深入研究。
+ 感覺這篇文章對於需要處理大量資料的 Lua 開發者來說很有用,可以省下不少記憶體空間。
+ 很好奇這種緊湊表示法在實際應用中的效能提升有多少?希望文章能提供一些基準測試的結果。

GripNewsGripNews
2025-06-20

🌗 公開/保護/私有成員是多餘的功能
➤ 重新思考物件導向設計中的存取控制
catern.com/private.html
本文探討了物件導向程式設計中公開、保護、私有成員的必要性。作者認為,這些存取修飾詞是多餘的,因為介面和子類型已經足以定義介面,且在沒有繼承的情況下,它們實際上沒有提供額外的隱藏實現細節的能力。作者追溯了這些修飾詞的歷史,指出它們的發明源於早期程式語言Simula對繼承的需求,但後來人們意識到可以使用現有的介面機制來實現相同的保護功能。作者建議,在現代程式設計中,應盡量避免使用存取修飾詞,而是透過定義介面來保護類別的內部細節,並提倡使用組合而非繼承。
+ 很有意思的觀點!我從未深入思考過存取修飾詞的歷史和必要性,這篇文章讓我對物件導向設計有了新的認識。
+ 作者的論點很有說服力,但完全去除存取修飾詞在實際應用中可能會帶來一些挑戰,尤其是在大型專案中。

GripNewsGripNews
2025-06-18

🌘 我寫了一個編譯器 // 潛藏創造力的爆發
➤ 從零開始的編譯器之旅
blog.singleton.io/posts/2021-0
作者分享了自己利用週末時間,使用 Go 語言編寫一個名為 toybasic 的 BASIC 編譯器的經驗。這個編譯器將 BASIC 程式碼轉換為 Go 程式碼,並展示了編譯器的結構,包括詞法分析器(Lexer)、語法分析器(Parser)和編譯器(Compiler)三個階段。作者利用現成的工具 nex 和 goyacc 簡化了詞法和語法分析的過程,並詳細介紹了語法規則和詞法規則的定義方式。最後,作者驗證了自己第一個 BASIC 程式碼仍然可以正常運行。
+ 令人印象深刻!能自己寫編譯器真的需要對程式語言有深刻的理解,作者的分享讓人受益匪淺。
+ 感覺這個專案很有趣,也很有挑戰性。利用現成的工具能大大簡化開發流程,讓專注於核心邏輯成為可能。

GripNewsGripNews
2025-06-18

🌖 Google 翻譯能告訴我們的「氛圍編碼」
➤ 機器翻譯與程式設計的共通之處:理解語境的重要性
ingrids.space/posts/what-googl
文章探討了大型語言模型(LLM)對程式設計的潛在影響,並將其與機器翻譯的發展歷程進行類比。作者指出,如同 Google 翻譯並未取代翻譯員,LLM 也可能不會完全取代程式設計師。因為翻譯工作和程式設計工作,其核心價值並非單純的語言或語法轉換,而是理解上下文、處理歧義以及掌握文化敏感度。即使機器翻譯技術不斷進步,人類的專業知識仍然不可或缺。作者認為,目前的 LLM 更有可能成為輔助工具,幫助程式設計師優化表達,而非完全取代他們。
+ 這篇文章讓我對 LLM 的未來發展有了更清晰的認識,它不會是程式設計的終結,而是工具的進化。
+ 作者的比喻非常貼切,確實翻譯和程式設計的核心都是理解和表達,而這方面機器還遠遠不如人類。

GripNewsGripNews
2025-06-17

🌖 為什麼生成式 AI 編碼工具和代理不適合我
➤ 對生成式 AI 編碼工具的技術考量
blog.miguelgrinberg.com/post/w
Miguel Grinberg 在本文中分享了他對生成式 AI 編碼工具和代理的個人經驗,從純粹技術的角度出發,解釋了為何這些工具對他而言並未提高效率。他認為,對 AI 生成的程式碼進行徹底審查是必要的,而審查的耗時程度甚至可能超過自行編寫程式碼。此外,他強調了對產出程式碼的責任,以及 AI 無法提供學習成長機會的劣勢,並將其與僱用實習生的情況進行對比。
+ 我完全同意作者的觀點!AI 編碼工具的確需要仔細檢查,不然很容易引入 bug,而且搞不好還很難除錯。
+ 作者的分析很有深度,提醒我們不要盲目追求 AI 的效率,更要注重程式碼的品質和安全性。

GripNewsGripNews
2025-06-16

🌗 RPython GC 的分配速度有多快?
➤ 深入分析 RPython 垃圾回收器的分配效率
pypy.org/posts/2025/06/rpython
本文探討了 RPython 垃圾回收器 (GC) 的分配速度。作者透過一個簡單的基準測試程式,測量了在 64 位元架構上分配包含單一整數欄位的物件的效能。測試結果顯示,RPython GC 在沒有初始化欄位的情況下,可以以高達 34.35 GB/s 的速度分配物件,即使初始化欄位,也能達到 29.7 GB/s。作者將 RPython GC 的效能與 Boehm GC 進行比較,並使用 perf 工具分析了快取命中率、指令週期和分支等指標。研究發現,RPython GC 的分配速度非常快,且垃圾回收佔總執行時間的比例相對較小。
+ 這篇文章對於瞭解 RPython 垃圾回收器的效能非常有幫助,提供了詳細的測試數據和分析結果。
+ 我一直很好奇 PyPy 的效能,這篇文章讓我對 RPython

GripNewsGripNews
2025-06-16

🌖 最簡潔的 C++ 回呼函式,來自 SumatraPDF
➤ 簡化回呼函式以提升程式碼可讀性和效能
blog.kowalczyk.info/a-stsj/sim
這篇文章描述了作者在 SumatraPDF 專案中,為了避免使用 `std::function<>` 和 lambda 運算式可能導致的崩潰問題,所設計的一套簡化的 C++ 回呼機制。作者發現 `std::function<>` 和 lambda 在崩潰時難以追蹤,因此開發了 `Func0` 和 `Func1` 結構體,用於封裝函式與資料,並提供基本的類型安全性和效能優勢,雖然犧牲了一些彈性。作者強調,雖然此方法在許多方面不如 `std::function<>` 完善,但它更易於理解和調試,且佔用較少的記憶體空間。
+ 很有趣的文章!作者的經驗分享很有價值,也讓我思考到在追求程式碼的通用性時,是否應該適當犧牲一些效能和可讀性。
+ 雖然我不太熟悉 C++,但這篇文
++

GripNewsGripNews
2025-06-15

🌗 系統程式設計究竟是什麼?
➤ 系統程式設計概念的歷史演進與現代定義
willcrichton.net/notes/systems
本文追溯了「系統程式設計」一詞的演變,從最初的與組語的區別,到 1990 年代動態類型腳本語言的興起,以及 Ousterhout 提出的「系統程式設計語言」與「腳本語言」之間的區別。作者認為,早期系統程式設計旨在克服組語的低階細節,後來則演變成構建系統元件,而腳本語言則專注於將這些元件連接起來。文章強調了兩種語言設計理念的不同,以及其背後的技術和歷史因素。
+ 這篇文章很有深度,讓我對「系統程式設計」這個詞有了更清晰的認識,也瞭解到不同語言在發展歷程中扮演的角色。
+ 雖然有點學術,但作者整理的歷史脈絡很有幫助,讓我可以更好地理解現在各種程式語言的定位。

GripNewsGripNews
2025-06-14

🌗 實作邏輯程式設計
➤ 探索一種被低估的程式設計範式
btmc.substack.com/p/implementi
本文探討了邏輯程式設計相對於程序式、物件導向和函數式程式設計的獨特性和優勢。作者指出,雖然許多程式設計師熟悉前三種範式,但對邏輯程式設計的認識卻相對較少。邏輯程式設計擅長於處理複雜關係的建模,其核心概念是關係而非函數,並以 Prolog 語言為例展示了事實、規則和查詢的應用。文章強調了邏輯程式設計相對於關聯式資料庫 (SQL) 的潛在優勢,並探討了實作邏輯程式設計時可能遇到的問題,以及為何不建議直接實作 Prolog 的理由。
+ 這篇文章讓我對邏輯程式設計產生了興趣,之前完全沒有接觸過這個領域。
+ 作者對於 Prolog 的批判性觀點很有意思,讓我開始思考是否還有其他更優雅的邏輯程式設計實現方式。

GripNewsGripNews
2025-06-12

🌕 如何運用智能體進行程式設計
➤ 智能體:大型語言模型進化的下一階段
crawshaw.io/blog/programming-w
本文探討瞭如何將大型語言模型(LLM)進化為更強大的程式設計工具——智能體(Agent)。作者指出,智能體的核心是結合 LLM 調用與循環,賦予 LLM 執行指令、獲取反饋並自主修正的能力。與僅僅依靠 LLM 的「白板式程式設計」相比,具備環境反饋的智能體能有效利用編譯器、測試工具和網路資源,大幅提升程式碼品質和開發效率,儘管其運作時間較長且成本較高,但隨著硬體技術的進步,這些問題將迎刃而解。作者以自身使用智能體完成 GitHub App 認證的實例,證明瞭智能體在實際應用中的巨大潛力。
+ 這篇文章讓我對未來程式設計的可能性感到興奮!如果智能體真的能處理掉那些繁瑣的 API 整合工作,我就可以把更多時間花在更有創造性的任務上。
+ 雖然聽起來很厲害,但運作時間長和成本高還是個問題。希望這些問題能盡快解決,讓更多人能夠體驗到智能體的好處。

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst