New Posts

[DSA] 鏈結串列 linked list – 單向鏈結串列
一般來說我們在認識鏈結串列前,應該都會先接觸陣列。陣列有個特徵是「連續的記憶體空間」,因此除了索引之外,操作上不是那麼的有效率。而鏈結串列就不一樣,不需要一整塊連續的記憶體空間,它可以分散各處……

[CHIP-8 小東西] CHIP-8 規格介紹
CHIP-8 是一種簡單的直譯式程式語言,也是一套簡單的虛擬機規格,出現於 1970 年代末期至 1980 年代初期,主要應用在 DIY 電腦系統上。本篇將藉由介紹 CHIP-8 背景以及實際規格,為之後的小型專案鋪路。

[軟體測試] Linux GUI 測試工具:dogtail
Dogtail 是基於 Python 圖形介面自動化測試工具,透過 Accessibility / AT-SPI(Assistive Technology Service Provider Interface,輔助技術服務提供介面)與桌面應用程式互動。

2026 Generative AI 年會筆記(二):把技術帶回人的需求裡
接續上一篇整理的開發者年會與 Vibe Coding,這篇整理的是第二天的年會主題。相較於第一天更聚焦在 Agent 如何被開發、驗證、部署與維護,第二天聽起來更像是把視角拉到企業與組織層面:當 Agent 真的進入真實工作之後,公司、產品、流程與人會怎麼改變?

2026 Generative AI 年會筆記(一):能生成,不代表能交付
大家都會用 AI 工具已經不稀奇了,把 know-how、工作脈絡重新設計成可以被 AI 協作、接手、維護的系統,那才是價值所在。今年的 2026 Generative AI 年會,主軸是 Agent First,要談論把 Agent 接進真實工作之後,工程、產品、組織會長成什麼樣子。這次有兩個整天,三場年會主題:開發者年會、Vibe Coding 以及年會。開發者談 Harness、Vibe Coder 談規格與部署、年會談企業案例與重要趨勢。這篇先整理第一天的兩個部分:開發者年會與 Vibe Coding。

在內容風暴下,找回留白與停頓
今年第一季度結束後放了一個長假,原先出國行程受影響,轉為在家整理自己的狀態……我需要那些自然的空白停頓,如同渴望找回在書店與圖書館翻閱、在劇場沈浸的純粹,那些需要親自抵達、需要時間沉澱的事物……

[CHIP-8 小東西] 核心指令集虛擬化與程式載入器實作
虛擬硬體元件開發完成後,接下來就進入模擬器最核心的階段:實作指令集模擬器(Instruction Set Simulator)!相較於現代處理器,CHIP-8 的指令集規模非常小,因此非常適合作為理解處理器取指(Fetch)、解碼(Decode)與執行流程(Execute)的入門專案。本篇將先介紹 CHIP-8 指令與機器碼的基本概念,接著實作二進位程式載入機制與最基本的 fetch 流程,為後續真正執行 CHIP-8 遊戲程式奠定基礎。

[CHIP-8 小東西] Delay Timer 與 Sound Timer 實作
本文將介紹如何在 CHIP-8 模擬器中實作延遲計時器(delay timer)與聲音計時器(sound timer)。兩者皆以 60 Hz 的頻率遞減,其中 delay timer 主要用於控制程式中的時間延遲與事件節奏,我們將透過 main loop 的睡眠機制模擬其遞減行為,並利用暫存器賦值進行編譯測試;Sound Timer 則採用相同的遞減機制,並在數值大於 0 時產生蜂鳴聲(beep)。

[CHIP-8 小東西] 實作虛擬硬體(螢幕顯示)
在完成 CHIP-8 的系統初始化與內建字元集後,接下來就要開始建立真正能顯示畫面的螢幕模組啦!這一階段會先使用布林二維陣列保存 64×32 的像素狀態,再加入像素設定、讀取功能。最後,透過 SDL 將開啟的像素依照視窗倍率放大並繪製到畫面上,讓模擬器首次具備完整的螢幕資料儲存與顯示能力。


