pretty code

2025年1月4日 星期六

從做中學

之前其實有看過 tcl 語法書,但因為並沒有真正的拿它來開發專案,所以語法也是看過就忘了。

最近真的拿它來開發我自己需要的工具,終於也算是可以拿它來做點事了。

如今的我,也可以說是對 tcl 略懂略懂了?

當然很現實的就是前一陣子為了查字典用的 bash script,現在也不太熟了!

我這個人的程式人生就是一直在不同的程式語言或是框架中渡過…

國中以及大學為了撥放 MIDI 使用的 QBASIC
不會寫程式時玩 Linux 的簡單 script
第一個學會的程式語言 C
BCB C++ 開發 GUI
BCB C++ / PHP / AutoIt 開發類 IT 人員使用的工具
目前公司第一個部門用過的 Android  Java / C++ / wxWidget  C++ / Node.js / Windows Batch / GNU Assembly / Go / Rust / C# / Python
為了電子書購買金額統計學會的 Chrome Extension

最後則是現在部門的 Verilog / Linux script / Makefile / tcl/tk

想我一生,還真是命途多舛XD  

學程式寫程式到現在也 20 年了!

學會什麼,換個專案馬上就忘記什麼,從沒待過賺錢的地方使用 domain know-how 來累積工作上的漂亮履歷!

難怪到現在 github 星星全部專案加起來也才 100 出頭XD

2024年12月29日 星期日

tcl/tk

真的很難搞懂 TCL 的邏輯XD

雖然想要升上 LV 99,但該做的事還是要做一下。

為了得到 netlist hierarchy 的資訊,上上星期拿之前寫的 netlist parser 產生出 XML 檔案,再用 XMLNotepad 迂迴的達到我要的目的。

雖然步驟多了一些,但有現成的還是用現成的就好。

美中不足的是還少了一些功能:
01. 列出選中 item 的 hierarchy module 資訊。
02. 點選選中 item 後,開啟 gvim 查看 code。

所以還是要寫個 GUI 才能達到此功能。

考量到工作站安裝軟體不易,試了一下,tcl/tk 是可以順利執行的,於是便決定用 tk 來搞定。

這個星期看 IP 文件累了就改一下 code,這兩天放假有空也改一下 code,終於在剛剛完成全部功能。

雖然還有幾個小 bug 待解,但終於有了一個初版可用,其他就再看看吧。
01. 開啟 gvim 後,如果不關掉 gvim,tk window 會卡在那。
02. right frame width 不受控制。
03. font size 用法可能還要找資料。


2025/01/04

之前自己耍白爛,誤會了 tcl 檢查 array key 是否存在的作法,誤將 key 轉成 list 再用 lsearch 的方式,這也是導致讀取真正 design netlist 建 tree 速度過慢的元兇。

改了之後,原本一個要 5 分鐘,一個要 10 分鐘的 IP netlist,現在只需要不到 15 秒就可以搞定。

又拿了一個目前為止我碰過最大的 design netlist,也只要不到 30 秒就可以建完 tree。

沒辦法,tcl 的官方文件閱讀體驗很糟,不管是 3 個中的哪一個,真的都不是給人讀的XD

也許是我英文太爛了吧XD

2025/01/04 再次更新

原來這麼簡單,只要這樣就可以搞定 exec gvim 卡住的問題,其實嚴格來說不算卡住,因為該函數就是要等程式執行完畢。

反正我是用 git bash 裡面的 tcl/tk 環境,這樣不管 Windows or Linux 都可以一併解決此問題。

2024年12月28日 星期六

不知不覺也升上 98 了

雖然已經決定畢業,但每天等老婆洗完澡的空檔或是假日有空時,如果沒有其他事要做,還是會開啟遊戲來刷個幾局,結果在聖誕節晚上睡覺前升上 LV 98。

這幾天稍微記錄一下相關數據,有了 TZ 威脅區域之後,似乎升上 99 級已經不再遙不可及了?

2024年11月17日 星期日

好久不知道什麼叫寫程式了

去年轉型搞影像處理,因為還在學習階段,大部分都是在研讀 github 作者的 code,頂多改改程式好符合自己的需求。

今年又來到新部門,除了寫個簡單移除電路小程式外,再來就是為了增進效率寫了個 netlist parser,之後又將它移植到 yosys 變一個指令測試 yosys 功能,然後就沒然後了?

最近因為資安警告信,購買的抄筆記也不敢用了,上網變得綁手綁腳,連查個英文單字都覺得很不順。

10 幾年前看到 Linux 論壇有人寫了一個 script 查詢 yahoo 單字,便用 BCB 6.0 寫了一個 GUI 版,後來也陸續加入了不少功能。

但之前只儲存英文 7000 單字,如果不在單字庫的需要另外開執行緒上網查詢,我想應該早已經不適用在現在的 yahoo dictionary 了?

還要拿出外接硬碟才能找到當年的程式碼,年紀大了,就是有點懶惰。

簡單用個 script 搞定就好,看起來還行,反正我也不介意詞性及例句XD


剛又查了一下,現在連譯典通都要訂閱了,一年 599 是不貴,但人就是懶,之後再看看吧…

2024/11/20 更新

IC Design 名詞可以不 google,但看文件不查單字還真冒險,很多時候,我以為的單字意思都跟真正的查詢結果不一致XD

星期一去公司後,想了一下,將星期日的做法 porting 到公司 WSL env,順便把網頁儲存下來,下次再查同一單字就不用上網了,既可以減少上網流量,查詢介面也比較清爽XD

用到今天為止,查了 40 幾個單字,順便加上簡單複習功能,之後再利用檔案時間軸來幫助記憶。

這就是事情的真相嗎

收到資安警告信後,現在上網查資料我都只看標題了XD

但還是很不死心,還是想知道到底是怎麼回事?終於在 reddit 這篇文章看到比較像樣的解釋。

大意是說那個被偵測到的病毒是在 2024/10/21 被加到 Microsoft Security Intelligence 的病毒資料庫中,如果剛好電腦又有安裝 Avira Browser Safety的 Chrome Extension,就有可能被偵測到 Chrome cache 有木馬程式。

在查資料的過程中,看到一些誤判的案例,所以我也懶得找一台空電腦試了,反正我是相信了XD

2024/11/20 更新

這星期上網查工作資料都只看標題,只有確定沒問題的網頁才會點擊進去閱讀,這樣似乎也還好,真的有需要回家再查,忘記就算了XD

2024年11月12日 星期二

怪事年年有

今天突然收到 IT 的資安警告信,意思是 Google Chrome Cache 資料夾偵測到類似木馬程式的東西!

印象中前幾個禮拜忙著 PAD Placement 時,Windows 就跳出過兩次警告,一次是 10/25 ,另一次是 10/29,為了這個,還把 Chrome 所有資料都刪過一次,沒想到今天居然又出現一樣的警告?

不敢說 8 個小時都在上班,但至少一天都認真工作 7 個小時以上,所以上的網站應該都是跟 Search IC 設計有關的!沒辦法,很多時候沒有文件,也只能透過 Google 找尋靈感。

如果以 10/29 以後為分界,我上最多的應該是全球最大男性交友網站 - github.com?

奇怪的點是,從年初來到這個新部門,上網找資料模式並未改變,之前為了查資料也很常上大陸及外國網站,但偏偏從 10/25 才開始陸續跳出警告?

之前第一次跳出警告,應該是忙著跟 OpenROAD 奮戰,故沒有看到什麼訊息就被我不小心按掉了,後來在事件檢視器及 Defender 頁面查了半天,都找不到警告訊息來源,也是透過 Google Search 才知道,Defender 事件是位在下面位置:

事件檢視器 -> 應用程式及服務記錄檔 -> Microsoft -> Windows -> Windows Defender -> Operational。

從這裡有記錄的時間得知,這邊的 Log 資料,最早日期可以追朔到 9 月初,應該是剛更新完電腦系統沒多久,故才沒有更早之前的記錄。

但問題來了,既然上網模式沒變,為什麼會跳出此訊息?

目前只能想到 3 個原因:

01. 被電腦或手機的 Chrome 同步到公司電腦,但這兩個地方我很少上網,大部分都是在滑 PTT。
02. Windowd Defender 誤判。
03. 大陸或國外網站真的有問題。

但工作又不可能不 Google,至少我現在還是菜鳥,不可能不上網找資料!

同樣也只能想到 3 個解法:

01. 自己租用 VM 專門用來上網查資料。
02. 買台小電腦帶去公司用手機網路查資料。
03. 乾脆就不查了XD

明明就很認真工作,今年居然收到兩次資安警告信,真是莫名的冤屈XD

2024年11月9日 星期六

遁去的一

大道五十,天衍四九。

之前以為手動將不同撥放清單的歌放在一個撥放清單後,YouTube Music 隨機的 Bug 就能解決,後來才發現,一切都是我想太多,這樣還是不能保證歌單隨機後所有的歌依然存在!

Google 我就問你,只是將撥放清單的歌隨機撥放有這麼困難嗎?


看了一下評論,似乎說隨機後只會剩 25 首,我是沒認真數過,但真的很少就是了。

搞到現在,我也放棄了,最後車上只聽小老婆的最 Top 50 XD

但總覺得還有一些遺珠之憾,還是記錄一下好了,免得老婆每天聽這 50 首歌會聽膩XD

《colorful》輕快的歌,但原始連結似乎已失效,改天要確認一下?
《不還》 唯一歌曲裡面有會計借貸的歌,曾經同行的我怎麼可以不支持一下?
《我們都能幸福著》
《麻雀》
《穿過月光遇見你》歌詞有 with you without you 那首
《傻傻愛著你》小老婆演唱會忘記的歌好像就是這一首?
《無法放開的手》最不像小老婆聲音的一首歌,好像有聽她說過有一首歌在錄音時剛好感冒,不知道是否就是這首?
《超喜歡你》輕快的歌
《本來》
《最後一支舞》
《手心》也是因為 YouTube Music 的 Bug 才未收錄。自從上傳歌曲的人重傳後,歌曲有不連續的問題,後來雖然找到另一個連結,但 YouTube Music App 就是一直會去抓原本那一首歌。
《慢慢紀念》
《靜電》輕快的歌
《有溫柔》輕快的歌
《消耗寂寞》
《我不想忘記你》
《降落人海的夢》應該是最新的 OST
《廣寒光》又是一首帶點古風的歌
《分手的第-1天》
《兩個人的秘密》

Google 呀 Google,你何時才能找到那遁去的一,早日修復 YouTube Music 那個隨機撥放 Bug?