自動化
Invoshot 給記帳士與會計師的發票 辨識工具
會計工作裡最可惜的一件事,是專業的人花太多時間在不需要專業的地方。Invoshot 這套工具為的是想解決一件很乏味又費時的事:把發票和收據照片,轉成可以核對、修改、匯出的欄位資料,方便後續做計算和檢索
主題客製化
Starship 是一個 terminal 小工具。 可以幫你的命令列前面那一段資訊加做加強並上色。
生活
重做 MBTI 後,結果從原本以為的 INTP 測成 ENTP。但差距其實很小,比起突然變外向,更像是我開始把腦中的想法丟出來,跟同事、工具、AI agent 互相刺激,再把它變成真的有價值的東西。
Privacy
在咖啡廳工作,最怕有人偷看螢幕。這篇文章記錄了 Gaze Guard 的開發緣起——一個用 Zero-Data 原則打造、完全本機運行的隱私保護 Chrome Extension。
Chrome Extension
How much battery does running MediaPipe face detection in a Chrome extension cost? Measured SoC-level numbers comparing monitoring on vs. off, with a GPU/ANE breakdown.
Chrome Extension
MediaPipe 在 Chrome Extension 背景持續跑人臉偵測到底多耗電?實測 SoC 層級數據,拆解 GPU/ANE 開銷。
Chrome Extension
Use your webcam to detect when someone is peeking at your screen — flash a visual alert or quietly switch tabs. All processing is local; frames never leave your device.
Chrome Extension
用筆電鏡頭偵測有人偷看你的螢幕,觸發時跑出警示光或自動切換分頁。所有運算本機完成,畫面不外傳。從安裝、授權到偵測參數調校的完整教學。
ai
實測 9 種模型辨識台灣發票,gemini-3.1-flash-lite 以 1.8 秒、94.9% 準確率、費用便宜,拿下綜合第一,Gemma4:26b 卻意外輸給更小的 e4b。
Cloud Run
一個只會說 How do you do 的 Go 玩具服務,卻讓我把 Cloud Run IAM、Workload Identity Federation、ID Token vs Access Token 都研究了一遍。
Thoughts, stories and ideas.
實測 9 種模型辨識台灣發票,gemini-3.1-flash-lite 以 1.8 秒、94.9% 準確率、費用便宜,拿下綜合第一,Gemma4:26b 卻意外輸給更小的 e4b。
一個只會說 How do you do 的 Go 玩具服務,卻讓我把 Cloud Run IAM、Workload Identity Federation、ID Token vs Access Token 都研究了一遍。
內網 Mac Mini 不開 port、不需 VPN,用 self-hosted runner 讓 GitHub Actions 自動觸發 docker compose 部署,含 launchd service 設定與 Docker PATH 修正。
學習如何在 Ghost CMS 加入語法高亮功能,透過 Code Injection 或主題整合兩種方式實作 Prism.js,並善用複製按鈕、行號等進階插件。
推薦閱讀不只是「最新文章」,應該是「跟這篇有關的文章」。本文示範如何讓 Claude Code 直接修改 Ghost 主題模板,實現依 tag 的智慧推薦。
Ghost 預設的 Direct 發信在雲端環境幾乎不可靠。記錄我把 Ghost 改成 Brevo SMTP 的完整過程,以及如何找出容器真實的出站 IP 解決白名單問題。
This is SteepingLogic, a brand new site by CL HSIEH that's just getting started. Things will be up and running here shortly, but you can subscribe in the meantime if you'd like to stay up to date and receive emails when new content is published!
Linux 空間清理神器 ncdu 身為一個現代工程師,一定是要使用 AI 協助開發的,但上週使用到一半突然 AI 就卡住了,檢查是因為回傳的資料沒辦法 json parse。排查後發現原來是我的硬碟空間滿了 "Disk Usage: 100%" 的警報。 於是我使用了 df -h 想找出是誰吃光了我的硬碟時,看到的不是熟悉的掛載點,而是一個讓人困惑的路徑:/dev/mapper/ubuntu--vg-ubuntu--lv。而且沒辦法再往裡面挖檔案,因為它是一個 Block Device。瞬間我傻了...這到底是什麼?我的空間都去哪了? 用這篇文章來分享 AI 推薦給我的工具:ncdu,真的超方便! 讓我相見恨晚的神器 以前遇到空間不足,我總是傻傻地用 df + du -h 一層一層慢慢找。這種感覺就像是在大海撈針,撈到一半還會忘記剛剛哪個資料夾最大。
如果你想要快速的建立一個 VPN,這一篇很適合你!20 秒內建好一個 Ubuntu server,輕輕鬆鬆
現在的網站如果沒有做第三方登入感覺就落伍了。 不過說真的,如果有第三方登入可以節省非常多的時間在打用戶資料,非常不友善,而且還要多記一組帳號密碼。像我自己本身就覺得每個網站都有自己的帳號密碼非常惱人,到底誰會記得!!! 雖然到了 2024 年的今天,已經很多人有分享也有 AI 輔助了,不過我自己還是做個紀錄,畢竟對接的過程還是有遇到問題,花了一些時間在 debug 前置作業:申請網站驗證的權限 要使用 Google 第三封登入需要有一些前置作業,首先要先連到 https://console.cloud.google.com/ OAuth 同意畫面 進來後會像下面這張圖,然後要先去 OAuth 同意畫面 接著就是照畫面上的只是填好資料按下一步,如果不知道怎麼填可以參考下圖 測試的時候外部沒辦法連到這個 API,所以要先把自己的 測試用帳號 填寫上去,不然可是沒辦法順利得到回傳的 完成後按下儲存,接下來就要設定 憑證 建立憑證 接這滾輪往下滾會出現重新導向網址的設定 重新導向 URL 重新導向的網址要填
我發現這些 leetcode 好像依照不同的題型會有類似的解法,所以請 AI 幫我統整每一個種類題型的解題方向。大致上可以分成 9 種類型,如果遇到這類型可以先往每個類別中列出的解題方法來思考,在這裡做個紀錄 1. Array Problems * Two Pointers: Used for problems like finding pairs, subarrays, or for partitioning arrays. * Example: 283 (Move Zeroes), 11 (Container With Most Water). * Sorting: Often needed before applying binary search or two-pointer techniques. * Example: 56 (Merge Intervals)
網站設置好以後過了幾天,即使我已經設定好了CA 憑證,瀏覽器左上角也變成鎖頭 SSL 連線加密模式了,Google Search Console 依然沒有辦法判定我的網站是 https 安全網站。 應該也是有人跟我遇到相同的情況吧? 這邊分享一下後來怎麼解決這個問題的 301 永久轉址 首先就是先上我的網域,然後看看 http 未加密連線 http://my-domain 的請求有沒有被轉到 https 去 有!很好,所以問題不是出在這裡。如果沒有的話可以參考這裡去設定: https://www.a2hosting.com/kb/security/ssl/redirecting-users-to-ssl-connections/ Mix content 使用工具 why no padlock 檢查原因 根據官方的指引,可以使用這個網站來檢測是什麼問題造成沒有 https: https://www.whynopadlock.