How TinyRetroPad Works — a Notepad Clone in 2,794 Bytes of Assembly

A complete Windows Notepad clone — menus, dialogs, printing, find & replace, drag-and-drop — in 2,794 bytes. A Win95-styled walkthrough of trpad.asm: the RICHEDIT50W wrapper idea, the MASM + Crinkler build, the message loop, WndProc, and the byte-shaving playbook.

June 10, 2026

My GitHub Activity — April & May 2026

Two months of open-source work by the numbers: 318 dev commits across 22 repos (ADR & blog excluded), what the additions actually are — code vs. assets vs. docs — and why EinkBro dominated. With per-project and per-month breakdowns.

June 6, 2026

Kickstart Modern Android Development with Jetpack and Kotlin -- Catalin Ghita

第一次看完 Oreilly.com 上面的技術書。之前雖然也曾翻閱了很多本,但是因為它 APP 的介面很網頁,網頁又很不電子書,所以一直無法認真的完完整整地看完一本書(其實只是我定力不夠)。 ...

June 26, 2022

前端框架 Svelte 上手指南,從基本介紹到 UI 實戰與測試

看了那麼多閒書,還是偶爾要看看新的工具書,增加一點常識。IT 鐵人賽出了很多作品,份量都不會太多,可以在兩三天左右看完。這幾天把這本 Svelte 的入門書看完了。雖然之前學過 Javascript,但總覺得它的語法不是那麼地喜歡,所以還是一直沒有踏入前端的領域。但,看看這一塊新推出的 framework 總是可以當做參考。 ...

May 2, 2022

30天與 Docker 做好朋友 跟鯨魚先生一同探索開發者的大平台

一連借了兩本鐵人賽得獎作品出版的電腦書,一本是 Webpack 的教學,另一本是 Docker 的入門書。 Webpack 一書前面講了很多前端開發的各種 tools ,然後慢慢導入 Webpack 的操作教學。不過,畢竟不是在寫 code,而是說明怎麼利用 Webpack 把各種前端的元件做各種設定,最終產出可以在網頁上顯示的內容。看了約莫 1/3 就有點看不下去了。可能要先去看看 Vue.js,寫了點網頁相關程式後,再回來看會更有感覺吧。 ...

February 28, 2022

line bot in python on Heroku

加入 cloud storage heroku addons:create cloudinary:starter 加入 mongodb support heroku addons:create mongolab ImageSendMessage 一定要用 https 不然會報錯,然後不知其所以然。

December 30, 2016

Android Studio 升級至 2.2 後的 gradle 問題

Android 升到 2.2 後,原本在取得 version name 的方式更改了,所以下面原先的作法行不通: 錯誤訊息會說找不到 DefaultManifestParser。 新版的gradle,其實可以直接用 variant 取得 version name了:

December 19, 2016

升級 android studio

有半年以上沒有動 Android Studio 了吧。最近又要開始使用 NerAudioList ,想說把原本串 parse.com 的部分改為 firebase,因為 parse.com 的大限快到了。為了改 code,只好升級一下 android studio,沒想到這是條漫長的路。 ...

November 26, 2016

How to detect foreground process name in Android with Lollipop

(Katwijk.Holland) Android 一直改版,原本可以用的功能,因為安全性,因為有的 app 會亂搞,所以把許多流程和功能不是改得變複雜,就是直接拿掉了。 原本一個很單純的抓取前景正在執行的程式名稱的功能,也變得愈來愈複雜。之前只需要抓一下getRunningTasks() 就可以找到想要的結果,但是現在得要為 application 加上新的 permission PACKAGE_USAGE_STATS,然後還要要求使用者進到 Settings > Security > User Apps with access to usage data , 勾選該 application 後才可以。 ...

September 27, 2015

在 Pebble 上顯示中文的 Android 通知,和開發 Pebble 的簡單程式

(Lyon) 想在 Pebble 上顯示中文的話,iOS手機可以裝 PebbleCC ,Android手機的話可以裝 YaNC。不過 YaNC 在 Android 的 PlayStore 是要錢的。目前用 YaNC 的感覺還不錯。只是,如果一天下來訊息比較多的話,手錶變得比較快沒電。因為它是把訊息的內容傳成圖檔,然後把圖檔發到手錶上呈現。 ...

August 13, 2014