pretty code

2026年3月29日 星期日

愛迪生騙了我

早上離出門還有一段時間,也沒有什麼心情來解 issue,剛好老婆把電視讓了出來,於是花了不到 15 分鐘的時間,收齊最後兩把尼拉賽克 key,準備來賭看看是否能開到火炬?

雖說之前迴響術士也有翻車過,但我最後還是有順利解救回來,於是就不打擾我的聖騎了,其實終歸還是我懶XD

沒想到就是這個決定,導致我的 9 把 key 白白的損失,還外加一吧 66X 的幻化戰召!

事情是怎麼發生的,坦白說我還是有點懵?

我穿了雷神腰,外加一顆鴨霜,雖說為了好看我沒用無形武器,但好歹也有 20 ~ 74 K 的傷害,外加大哥精準祝福 + 傷害加深 + 某一系的免疫。

我身上所有抗性也都湊到 300,除了毒抗我不確定,畢竟,莉莉絲都一下就搞定,我也懶得管三王了。

沒想到一進紅門,就遇到大莫被吸引到紅門事件,據巴哈說法,是因為寶可夢會亂走再加上 NS 過場偏慢!雖說我已經將其吸引到右上角,但阻止我回去撿屍的最終理由還是因為這個。

回到當下,我在右上角跟大莫對峙的同時,發現似乎無法快速解決他,再加上身邊小怪越來越多,似乎對我這隻術士有點吃力?

於是,使用謎團先脫離戰場,想說先解決其他二王?

沒想到跟巴爾互K 的同時,不知道是否大哥移了位,但我還是繼續用 75 高施的速度施放我的迴響,於是我就 GG 了。

9 把 key 真的是得來不易,不太想就此放棄,於是穿上一些裝備,想看看是否能順利 KO 三王?

我果然是太高估了我自己的暗黑知識,我又不是文賢大,翻車還能冷靜地救回,雖然他本人影片有點囉嗦,但重點我還是有吸收進去XD

沒想到戴上兩顆鴨霜的我,被巴爾的冰彈打到還是一直損血,於是果斷離開紅門,將身上的裝備脫下,只穿一條腰帶前往撿屍,希望可以憑藉本來的裝備,順利打倒萬惡的惡魔黨?

這次進紅門就沒那麼順利了,一進去馬上死亡,畫面上連大莫都沒看到,只有滿滿的骷顱大軍!

畢竟我沒有文賢大的功力,只好放棄 9 把 key 外加兩大格經驗職,只求裝備順利救回。

當然只有一條腰帶的屍體,價值一定沒有第一個屍體值錢,於是我還是順利地取回裝備。

就在我踏上火焰之河,準備再去依靠鐵匠我大哥,切換裝備時才發現,我的 66X 幻化戰召居然不見了?

望著右手沒有東西的空格,我的心真的是涼了一截,我甚至不知道為什麼裝備會不見?

我唯一可以想到的,也許是我用第二份裝備打巴爾時,因為需要在原本的屍體旁邊撿大紫,不慎點到屍體導致?

因為我的敏捷有部分是靠裝備撐起,我自己約莫只有點到 134 左右,也許是這樣,導致不小心點到屍體時,因為拿不起來,而導致又掉落回地面?

偏偏現在的 NS 又沒辦法複製,我庫存的符文其實也快見底了!

還好禍不單行,福禍相倚,古人誠不欺我也!

雖說現在不太在意經驗值,但好歹也掉了兩大格,剛好現在 TZ 輪到安姊,我使用數學機率得到的喬丹以及聖騎衝 99 等時掉給我的碧藍怒火,都顯示安姊最棒了XD

於是我得到了人生中的第一座小金人,從 2 /13 ~ 3/29 到現在!

下面是 Gemini 對『禍不單行,福禍相倚』的理解。

2026年3月28日 星期六

爛蘋果 x N

雖然已經將買了 300 多首的歌放到車子的隨身碟上,但不得不說,私心還是會有比較喜歡與比較不喜歡的。

前一陣子已經在手機播放軟體上建立了 《萬芳 Top 歌曲》,這樣我就可以隨心情切換藍牙或是 USB 裝置來聆聽。

雖說手機購買的 KMPlayer 不是很好用,但至少還是順利地建立起清單,沒想到想要在 iTunes 裡比照辦理,居然是如此地讓人心累!非常混亂的資料庫資訊,想要找首歌還真難,我需要視情況切換顯示方式好方便尋找。

好不容易建立起清單,回到清單列表一看傻眼,這是要我通靈嗎?真是顆爛蘋果無誤!


本想等到台灣可以購買 MacBook Neo 後,給蘋果一個機會,花個兩萬多塊嘗試一下蘋果系統也還可以接受,畢竟孩子的學習不能等XD

看到這樣的清單,瞬間沒了任何慾望,沒有底層的 FreeBSD 加持,蘋果跟屁沒啥兩樣,如果只是因為 FreeBSD,我去購買 Linux 電腦就好,要你蘋果作啥?

Today is not my day ...

天機一線牽

這麼說好了,我有 30 個 clock gating cell 要修改,我需要把 TE port 拉出到 block top 的某個 input。

不知道為啥,不論我是在 Synthesis 階段或是前面的 MBIST 階段,總是有 18 個無法順利 ECO 成功?

後來才發現原來 Tessent 對 bus 的訊號,只 assign bus[0] = scan_en。

至於 Synthesis 那段我就懶得回去確認 log 訊息了。

我能確定的是在這兩個階段,拉線都不會顯示錯誤,但我並沒有去檢查回傳值就是了。

我的 bus 是多 bit,且該段 RTL code 是在 for loop 的 generation block 裡面。

上面用語可能不精確,但我又不是 designer,意思到就好了。

總之,我也不知道是 EDA 的 bug 還是 Tessent 覺得這段 path 不應該被串成 scan chain,故這樣來改客戶的 RTL code?

詢問主管的結果,他也覺得應該都要被串起來才是!

這已經是我這個星期遇到的第 N 個 issue 了!

我也不想要在浮沙上築高塔,奈何這兩年多來,每天都已經很認真上班了,還是有看不完的文件!

我已經算是很會用多種方式與工具來加速我收斂問題了,但還是比不上問題產生的速度,偏偏這個時候就又需要回去慢慢翻閱文件並思考。

翻閱文件還算小事,但我家只有一個 license,很多時候,不是我想幹嘛就幹嘛!

這也造就了現在這座搖搖欲墬的象鼻塔,沒有王小石那座的可靠!

唉,我羨慕的生活應該要像是攜書彈劍走黃沙那般的自在!

一人,一書,一劍。

也許之後該考慮 send all 了。

這是只有我跟我老婆才知道的梗XD

2026年3月26日 星期四

槌丁扮盾丁

最近 PTT 有一篇文章在討論要讀電機還是資工系,看完之後才發現原來我還是太淺了,連寫電路跟線性代數有關都不知道!


現在的我,只敢說對暗黑2 重製版略懂略懂?

尤其是槌丁扮盾丁這塊。


上圖應該是舊畫面,衣服應該還是法甲謎團,就在一年多前也邊練邊吐來到 99 級

雖說以前的 NS 單機可以複製,但打不到的東西就是打不到!

紅門配裝

吉永之臉 + 15 攻速寶珠
龍皮甲謎團
馬拉的萬花筒
手工壓碎手套 + 偷命
無形 44 抗流亡渦漩盾
40 攻速 + 399 幻化悔恨
鴉霜 + 矮人
雷神腰
聖戰版 x 7
20 + 19 聖騎火炬
滿變毀符
7 % 高跑 + 全抗 5 x 8
+11 火炕 + 生命 x 2

副手 +2 祝槌戰召 + 45抗精神神聖小盾
日常打寶時是正手,只湊 75 高施,傷害 12 K

槌丁扮盾丁

開啟神聖之盾

敲敲敲

打完收工XD

2026/03/29 更新

也許是以前都用 NS 複製火炬太順利了,我的迴響術士又再一次的翻車了

都說要槌丁扮盾丁了,人生好難,不要自己搞自己了。

2026年3月25日 星期三

回憶過去

人老了,總是會突然想起一些以前的事!

還好以前沒有什麼豐功偉業可回味?


剛剛無意間在硬碟隨便翻翻看到的,真懷念那一段每天寫自己的工具幫助日常工作的日子呀。

其實是快被客戶的 make sanity 搞瘋了,好幾天了都還沒修復是怎樣,害我到現在還不能自己推 code。

想要自己嘗試去修復它,坦白說最新 make build 的錯誤也是我自己修掉的,但針對這個 simulation 錯誤我還看不出來錯在哪裡?

不過以 Log 莫名奇妙的就斷在某行來看,系統應該是 crash 了?

配合他的 verilog 行為來看,感覺像是去讀 AI 模型然後在 memory 想要做些事?

嗯,然後我也不知道要怎麼修復了?

我要是那麼厲害,我就去 Google 了XD

雖然現在我也不喜歡 Google 就是了,Don't be evil 呀!

2026年3月24日 星期二

原來 EDA 大部分都是使用 C++ 開發

沒想到在 tinlans 大神的網站看到關於 EDA 的一些資訊。


這種需要速度以及 Linux 下的 GUI 應用,除了 Qt 還能用啥呢?

這樣想想使用 C++ 開發也很合理!

珍惜生命,遠離 C++?

2026年3月20日 星期五

Makefile

最近需要更改客戶的 Makefile,我才發現我以前真的不太懂 Makefile!

第一個我不知道的點是 receipe

receipe 指的就是在某 target 下,要執行的 shell command,也就是由 tabe 字元縮排的那些列。

all:
    @echo make all
    - do something

上面每一列都是單獨的指令,換句話說,每一列都會新起一個 shell 來執行(預設行為)。

我有一個需求類似下面這樣

all:
  ifeq ($(FLAG), xxx)
       $(eval FOLDER = 001)
       @cd $(FOLDER)
       ......
  else ifeq ($(FLAG), yyy)
       $(eval FOLDER = 002)
       @cd $(FOLDER)
       ......
  end

這段 code 是原本客戶的,我不太想大改它,只是把會變動的部分提取出來成為變數,剩下每段要做的 receipe 都一樣,雖然重複太多,但客戶應該比較喜歡這樣的修改。

為了讓每個 receipe 都能看到這個變數,就需要用 eval 的方式來設變數。

第二個我不知道的點是變數展開與環境變數間的優先性關係

FLAG ?= 0

ifneq ($(FLAG), 0)
    BUILD_OPTS += XXXX
endif 

上面這句其實有隱含假設環境變數 FLAG 也存在,就使用環境變數的值。

好死不死我的 bashrc 也宣告了一個同名的環境變數 FLAG。

於是便導致我 git push 後的檢查觸發行為跟別人不一樣,因為我的 FLAG 不等於 0。

不得不說,這些東西跟 AI 對話後,整個脈絡變得更清楚了。

 
我現在開始有點體會他說的話了。

下面是我跟 Claude Web 對話的一部分結果。


2026/03/20 洗完澡更新

剛剛才突然想到,如果跟 AI 討論《傷寒雜病論》會如何?


也許是時候跟他討論九陰真經了XD

2026年3月12日 星期四

Don't be evil

我實在不知道,申請 Android 開發人員為什麼要我上傳身分證或駕照?

想要申請刪除帳號,翻遍了整個網站,卻找不到申請的地方。

Google 在我心中快跟 Microsoft 劃上等號。

也許這個世界就只剩下 Linux 這塊淨土了?

以下圖片出自 Gemini Web

2026年3月11日 星期三

我要 git commit 呀

快被 git conflict 搞瘋了,每次拉 code 都會有 git conflict,修到後來我都覺得我把環境搞爛了XD

這一個多月來也不算沒有收穫,至少多了解一下客戶是如何做事的?

不得不說,這個客戶的 flow 深得我心,有很多東西可以借鏡!

唯一的缺點就是英文太差了,溝通上有痛點XD

下次還是分配對岸的客戶給我好了,臣妾做不到呀XD

以下圖片來自 Gemini Web 產出


要當個趁職的 AI 圖片師還真不容易,第一張也是最好的一張,其他請他改只會越改越糟,付費版本這樣的表現有點落漆。 

凡有所相,皆是虛相

今天在等工作站 build code 的同時,請 Claude Code 針對 HDLBits 這題,撰寫 Verilog code。

一開始我還沒發現該網站在下載 waveform 為 PNG 時,其檔案大小為 0?

換言之,Claude Code 僅憑該網站的敘述就把 Verilog Code 寫好。

然後我以我之前的經驗,請他針對 counting 和 done 兩個訊號,找出相通性,改用 init instance 的方式解決,他也順利解決。

最後再請他是否能多增加幾個 module 解題,讓 top_module 裡面只剩 instance,果然他也不負眾望。

我現在有點不太確定到底這是 AI 推論出來的還是以前訓練資料來的?

理論上來說,純軟的東西都可以用電路做?

我決定盡量找一個沒有人做過的例子請他使用 Verilog 來解答,好解答我心中疑惑?

2026/03/11 更新

這是跟 Gemini 討論的結果,結果 Claude Code 沒有 3 分鐘就做出來,我還不確定他做的到底對不對?真要說的話,我比較傾向 Gemini 又再亂說XD


2026年3月8日 星期日

管理費社區報表

前兩年當財務委員時,雖然花了很多假日時間去地下室翻找往年財務報表資料並做成 Excel 電子檔,也利用 Python 小工具讓我更新 Excel 檔更加容易,但因為蒐集資料花了太多時間,最後只能簡單將 10 年的資料轉成 JSON 檔以供後續 Web UI 使用。

理論上應該有更好的方式,但我不確定其他格式的資料放在 Github Page 是否能用,故我先暫時使用 Javascript 一定可以讀取的格式。

既然這種東西對 Claude Code 只是小菜一碟,故我今天就只是簡單使用幾句話,便放手讓 UI 去做,我甚至連 JSON 架構都沒跟他說。


經過了一小段時間後,馬上做出讓我驚豔的第一版。


我請他連 backend server 也做,反正我也懶得自己來XD


不過,離我想要的還有段距離,故我請他在入口改成兩個按鈕,一個是已經做好的,另一個是要執行搜尋的頁面。

第一版執行搜尋後還要自己按下按鈕,故我請他輸入完搜尋條件後按下 Enter 就直接搜尋結果。


最後,則是想要一個趨勢圖表功能,可以幫助我們快速看到這 10 年來的費用增長情形。


現在入口長這樣。


請他寫的總結報告。


最後則是 token 使用情形。


雖然我不是 designer,但我已經計畫好下一步要做甚麼了?

我想請他寫個簡單的 Verilog,來解決 HDLBits 的一個問題。

2026年3月7日 星期六

DailyMoney - 20260307

今天是一個神奇的里程碑,我終於可以把 DailyMoney 轉到新的 Android Studio 開發環境了。

之前短暫的嘗試未果,因為我不是寫 Android App 的,故我也不以為意,反正有 work around 解就好。

下午回到家有點時間,乾脆請出 Claude 來幫忙移轉,在花了 3 個小時多後,終於順利地移轉成功,中間只有開啟 adb 安裝以及使用 adb logcat 來找出問題,其餘都是靠 Claude AI 解決。

第一版的時候應該有靠 Android Studio 發現問題,不過也是再 po 回 Claude CLI 讓他解決。

下面是他產生的 report 摘要。



安裝第三方套件後,可以看到一些 Claude Code 的資料。

2026年3月6日 星期五

英文差真的很糟糕

Debug 問題時最怕的就是先入為主,這會導致你身陷死胡同而不自知。

今天同事遇到一個問題,乍看之下,我一直以為是 file_list 這個檔案找不到?

我從檔案權限,檔案內容是否有不合法字元,LSF Server 權限問題,甚至是一個一個確定檔案是否有存在?

下班時間已到,但是找不到原因實在是不甘心,故多留了一個小時,雖然最後只找到 work around 解。

晚餐吃飯時雖然在看小說,但還是在心裡反覆琢磨可能的原因?

回家後繼續奮戰,終於讓我發現是我英文太差XD

人家清清楚楚地告訴你沒有 design,但我一直以為是 file_list 這個檔案找不到。

總之,適時的放空自己從頭再來,只要不是超自然現象,一定可以找到答案。

哈,這星期最爽的時候就是剛剛找到答案時的喜悅。

2026/03/07 更新

AI 就不會有先入為主的誤區,用個簡單的小例子,分別請兩個 AI 回答,兩個都可以順利找到答案。

可惜的是,我必須多發一個 request 告訴他不用檢查個別檔案是否存在,畢竟那是在遠端工作站。

總之,以後發生問題,一定要好好看清楚錯誤訊息,不要先入為主。

2026年3月5日 星期四

我對 AI 助理之看法

今天臨時需要檢查之前寫的程式所用到的第三方函式庫,因為這個星期都在跟 simulation 奮戰,故決定使用 AI 幫忙檢查。

提示詞也很簡單,請他使用 web search 找出每個函式庫在做什麼並幫我產生結果到 Excel 檔。

做好之後才想到還是需要 review,我需要把所有的連結都用瀏覽器打開,雖然 AI 寫這個 batch 很快,但因為我 list 都準備好了,我打指令請 AI 做還沒有我用 Vim 做快(因為要打的字差不多,嚴格來說,我用 Vim 做要打的字還比較少)?

檢查結果,將近 20 個 github 專案,沒有一個有錯誤,雖然有些描述我也不知道哪裡生出來的XD

假設我是手工做,我一定會複製每個專案第一段就好,不會還用自己的話說一遍!

感覺以後這種需要花時間並且確定 AI 能做的雜事就交給 AI 助理即可,只要預先想好要如何驗證,別像我這次做完才想到要檢查。

假設手工做大概 10 分鐘,Claude 啟動時間 + 下指令請 AI 做大概需要 2 分鐘,雖然節省的時間不多,但這是一個好的開始,總不能都拿 AI 來抓漫畫吧XD

下一個我想請 AI 幫我把 DailyMoney 改成可以用新的 Android SDK 來編譯,之前因為不懂 Java 沒有後續,但我感覺 Claude 應該有機會?Gemini 我就不好說了XD

2026/03/07 更新

2026年3月3日 星期二

我的 D2R World

雖然 D2R World 將資料整理得很詳細,我也有小小的贊助了一下,但想要找什麼資料還是要先知道在哪個分類中。

既然已經有了 2 個 AI,我應該利用他們幫我將資料整理好才是。

為了避免產生幻覺,將資料匯入 NotebookLM 才是正確的用法。

首先,我請 Claude CLI 針對獨特,套裝以及符文之語頁面,幫我找出所有的裝備連結並寫入到一個檔案。

再來因為 NotebookLM 不能針對指標的指標再去查詢,故我不能將上面那個檔案直接當作來源。

這裡我誤會了 Gemini 的回答,故我請 Claude 告訴我要如何將這些連結使用瀏覽器開啟,他會產生幾種方式,這裡我選擇 batch 檔案,因為這個語法我比較清楚。


所有的連結大概有 15X 個吧,將它全部開啟之後,我的記憶體已經被吃滿,故我又詢問 Claude 要如何關閉所有的 chrome processes,他也馬上給出指令,並主動詢問我是否要修改原本的 batch。

最後我才搞懂,我不需要這一個步驟,我只要直接將所有連結加到來源即可。

不過這裡如果一口氣全部加入,會一直引發錯誤,故我後來改分段加入。

只有獨特裝備時,查詢速度還算可以,但當我將所有連結加入後,我只是想查詢帶有壓碎查詢的裝備,但過了 5 分鐘後,還是沒有查詢出來。


後來才發現應該是使用粉碎打擊才對,這也表示他無法理解我原本的查詢。


雖然這對老玩家已經是倒背如流的常識,但連程式語法都需要查詢的我,怎麼可能去背這些東西XD

我想,最好的方式應該是請 Claude 將其寫到 SQLite 資料庫,然後下指令查詢應該是最快。

目前 NotebookLM 針對這樣的功能,我可能只能給 60 分。