pretty code

2024年10月12日 星期六

2024 week 41 新玩意

01. Linux Group By 功能

Linux 實在是一個很強大的作業系統,應該是說它的生態系很強大,什麼工具早就有人開發好了,根本不需要你寫半行 code 來解決問題。

就拿最近我在整理的一份 PAD 資料,突然想要做個表格放進簡報裡,regex + sort 取出資料常常在做,但要如何 group by 來加總一時還想不出來,隨便拿個程式語言做這些事當然很簡單,但人會被慣壞,有更簡單的方法當然更好囉。

老樣子,Google 一下,原來這麼簡單,我常用的 uniq 工具就可以了,加上 -c 選項即可。之後再用 sed 取出加總並調整一下順序,就可以在 Power Point 裡面用 "插入 -> 物件 -> Word",然後在跳出來的 Word 浮動視窗貼上 sed 整理好的文字,然後選 "插入 -> 表格 -> 文字轉換成表格",這樣就可以一氣呵成了。


02. Tmux

以前就知道 Screen 的替代品 Tmux(嚴格說起來應該是比 Screen 功能還多),但一直沒有機會使用,工作站也沒有這個軟體可以使用,但自從在公司電腦安裝了 WSL2 後,應該是時候試用 Tmux 了。

它跟 Vim 一樣,有很多設定值可以調整,為了跟 Vim 使用體驗一致,除了前置組合按鍵外,應該要讓設定值盡量跟 Vim 看齊。

沒關係,慢慢來即可,畢竟工作環境不是一蹴可幾的事。

2024年10月10日 星期四

忙碌的一天

為了慶祝國家生日,凌晨三點半就興奮的睡不著覺?

打開已經畢業的暗黑 2 重製版玩了一下,說也奇怪,一說畢業後,玩遊戲的感覺都不一樣了,已經沒有之前那樣覺得好玩了,勉強玩了標馬、弓馬、以及暗黑親兒子槌丁後,陪早起的老婆看了一下電視,為了怕中午出門開車危險,又回去睡了快兩個小時,雖然大都是在作夢,體力條還是有稍許的回復XD

之前就一直想換掉客廳的窗簾軌道,20 多年了很多零件早已經生鏽,每週三次的澆花都讓人覺得阿雜。

雖然窗簾有很多種,什麼羅馬簾、蜂巢簾、風琴簾等等,看起來是很好看沒錯,等舊了需要重做就知道,要找人重做不是那麼容易,你得安排時間,就算你想自己 DIY,先不提好不好拆,光拆下來的東西要怎麼丟就是個大問題!

因此我的結論是,如果家裡有 DIY 工具,我覺得 IKEA 簡易的窗簾桿以及環狀窗簾夾是最好的 DIY 選擇,安裝簡易,只有一點要特別注意,IKEA 的窗簾桿組合並未包含螺絲,還好家裡之前有幾顆自攻螺絲,才能順利的繼續的鎖在原本的窗框上,本想直接鎖在牆壁上,但手上的其他螺絲似乎無法應付家裡的石膏牆面,只是把洞越挖越大(也許應該要用膨脹螺絲,但已經懶得出門了),也是因為後來找到自攻螺絲,才毅然決然地改鎖在窗框上。


DIY 前沒先確定附件是否齊全是我犯的第一個錯誤,第二個錯誤則是缺少隨機應變的能力,為了改鎖在窗框上,因此需避開原本的防盜設施,雖然我想應該早就壞了?但為了這個第三點支撐,理論上應該要讓它盡可能的接近中央位置才對,不然窗簾會被第三點擋住而拉不過去XD

還好我本來就不會完全拉滿,算是沒有什麼大礙,真是恭喜老爺,賀喜夫人。

明明裝上新窗簾桿時,還有擦過窗框跟防盜設施,怎麼還是那麼髒XD

一組窗簾桿還有 3 包窗簾掛勾(一包 10 件組)也才 NT $996,之後要換也是很簡單。


拆卸及安裝窗簾還算是最簡單的部分,雖然也搞了一個小時多有,但事後的善後才是最麻煩的,清潔整理就算了,反正本來就是要做的,拆下的窗簾桿及細件要如何回收才是最麻煩的,花了九牛二虎之力才把窗簾桿折成較小寬度,方便社區清潔人員做後續處理。

下午在 DIY 窗簾前,還先整理了上星期六三創下訂,然後今天送來的 Dell 24 吋可調整高度螢幕,這也是我第一次使用 DP port 的螢幕,還知道了之前不知道的上行連接埠(資料上傳到主機)以及下行連接埠的名詞,也算是長了見識,可惜上星期購買有點匆忙,沒注意到螢幕居然沒有喇叭,我還一直以為 HDMI 的螢幕一定會有喇叭呢?


上星期日也新組了一張 IKEA 購買的椅子,IKEA 的東西都還算好組,我應該把 IKEA 我認為好坐的椅子都買遍了吧?雖然家具類會附工具,但還是不太好鎖,這次的椅子螺絲又剛好在邊邊,手上的棘輪工具組需要的空間又比這張椅子的大,還好在工具箱找到一個塑膠套筒,增加摩擦力後,鎖起來果然輕鬆多了,這個是以前的 IKEA 附贈的還是其他的 DIY 家具附的我已經沒印象了?


順便多記錄一些這星期想到該記住的重點XD

無印的這款濕紙巾盒是我看某個家庭主婦的頻道知道的,一試成主顧果然好用,但沒辦法放我常買的 80 抽厚濕紙巾(需要先用掉幾張),今天試買了同牌子的 70 抽,感覺這樣的張數比較適合這個濕紙巾盒。


下面是我用的牙間刷尺寸,每次都會忘記XD


空白的筆記本還是比較好組織想法,不上台北的話,這樣的筆記本我目前只在佳瑪看過,為了這個還要特地上台北購買還是不方便。


前幾個禮拜安裝的庫存廁所崁燈,接腳是快速接頭,就不用纏膠帶纏得那麼辛苦。



應該還有很多要補充,但忙了一天累了,明天還要上班,晚點再看是否有需要補充的注意事項,對上班族來說,家事還真是費工呀XD

2024/10/11 更新

早上上班前一鼓作氣的將家中所有變壓器拍了一遍,之後使用比較方便,畢竟手上還是有好幾台電子書閱讀器,目前確定的是 Google 30W 快充變壓器不能用在我的一些小家電上

Sharp 手機充電器,5V 2A。

倒數第二支 HTC 手機,5V 2A。

我猜應該是 Acer 手機,5V 1A。

買 Pixel 8a 順便購買的充電器,15W 3A、27W 3A、30W 2A。

Google 電視棒,5V 1.5A。

Dell 螢幕 U2424HE-4Y 相關連接孔

目前筆電外接在 port 6,port 9 和 port 11 都接了 USB 線,port 11 只能充電。

因為我用 port 6 接 Dell 筆電,故有傳輸資料功能,因此 port 9 上接的鍵盤及 Type-C 接頭接上的裝置,筆電才能辨識,如果是用 HDMI,我就需要用到 port 8 上行連接埠的功能,將其接到筆電後,才能打通 port 9 的功能。

port 09 - 1 外接鍵盤
port 09 - 2  Type-C 接頭
port 11 - Micro-A 接頭 

至於 port 13 和 port 14 未試,不知是否能跟 port 9 一樣?
隔天測試的結果,port 13、port 14 接上手機都可以辨識

port 13 最高 2A。



SSD 18 LT 200 BL 18V 鋰電無碳刷充及起子機

數字越大,速度越快(最小鎖緊扭矩、中等鎖緊扭矩、最大鎖緊扭矩)。

金屬等硬質材料,很短的衝擊持續時間,達到最大鎖緊扭矩,數字 3。

木材等軟質材料,更長的衝擊持續時間,數字 1。


SB 18 電鑽

上面是 1 ~ 20 扭矩控制,中間由左至右,分別是鎖螺絲(可以設定 1 ~ 20 扭矩,或是設置中間位置),鑽孔,衝擊式鑽孔,下面則是齒輪級別。

1 齒輪,低速,高扭矩,適合鎖螺絲。
2 齒輪,高速,適合鑽孔。

理論上鑽孔都是最大扭矩,只有鎖螺絲需要調整扭矩。


另外上面這兩隻用的電池是 18V 2.0 Ah,充電器為 ASC 55,充電時間 40 分?

2024年10月7日 星期一

有試有機會

雖然昨天就知道 PAD example 在 ORFS 裡面有點混亂,應該是說 OpenROAD 裡面,所以今天也沒打算使用最新 commit 來測試。

不過早上在整理資料的過程中無意間發現原來有一個跟 PAD 有關的範例,但公司的舊版本 ORFS 會死在 FloorPlan 的階段,找了一下 issues,看起來應該有問題?但還是想用最新的 commit 來試試。

不過手上沒有實體 Linux 主機了,雖然我有自己的私人 VM,但我需要 GUI 環境。

既然昨天在家使用 WSL2 開啟 GUI 非常方便,於是便發個 request 詢問 IT 公司資安政策是否允許安裝 WSL2,沒想到居然 OK,只要額外安裝一個監控軟體即可。

果然是有問有機會呀XD

以後工作更方便了,不用等到回家才能繼續測試。

但公司 10 年前的電腦似乎有些慢,第一次開啟 Ubuntu 22.04 都沒有反應,後來改用系統管理員執行一下子就進去了,但帳號會變成 root,還好可以用 wsl 指令更改預設使用者。

據我實測的結果,好像什麼都不用設定就能使用 GUI 了?也許這是 WSL2 預設的選項?

應該就是下面圖片的那個選項吧。

2024年10月6日 星期日

目前使用 VM 價錢備忘

去年為了開發 Kobo EInk Bro 開了一個 VM,後來因為工作關係便不了了之!但為了已安裝的東西不用再重新下載編譯,於是只有做停止 VM 這個動作,目前一個月約要 NT $170 左右。

由於昨天在 WSL2 安裝 OpenROAD-flow-scripts 不是很順利,於是今天又開啟一年未用的 VM,看看是否是 WSL2 的問題導致安裝失敗?

到現在環境都還沒準備好,放假想先確認一些疑點的打算看來也是有點抖,目前只能確認 PAD 流程似乎不在正常的流程中,而是放在 test 當中? 

放假到現在也不是一無是處,至少喚起我對這個 VM 的記憶,原本以為是儲存映像檔故要重新建立 VM,搞了半天,只要把停止的 VM 個體重新啟動即可,為了這個即插即用的便利,每個月要花 NT $170 還真是有點貴XD

也順便記錄一下,目前用的 VM 價錢,一個小時約莫要 NT $6 左右(含 Disk),如果單獨計算只看 Compute Engine 一個小時則是 NT $5 左右。


2024/10/06 晚上更新

OpenROAD-flow-scripts 在 VM 編譯一切正常,想了一下,直接切到 OpenROAD-flow-scripts/tools/OpenROAD/build 資料夾並依照 OpenROAD Tool Guide 去編譯,而不是在 OpenROAD-flow-scripts 裡面執行 local build,反正我執行的 local build 第一階段 yosys 是正常,我單獨編譯完 OpenROAD 後,將 OpenROAD 安裝到 OpenROAD-flow-scripts/tools/install/OpenROAD 即可。

之前因為 OpenROAD-flow-scripts 不成功,第二次 build 我好像有用 sudo 執行?導致某些產出都是 root 的所有權,將相關檔案砍完後,在 OpenROAD 的資料夾編譯一切正常。

那為什麼在 OpenROAD-flow-scripts 編譯一直有問題?我到現在也還不能解釋?目前只能確認 OpenROAD-flow-scripts 在編譯時,會單獨下載 OpenROAD 並切到 OpenROAD 資料夾去編譯,中間有用到 CMake,其他我就未詳細追究了。

因為我最主要是要看 layout 檔案,本想照此網友文章建置 X 環境,但我發現似乎在 WSL2 裡的 GUI Application 可以直接在 Windows 本機開啟,該網友文章我只做了 "勾選Windows子系統Linux版與虛擬機器平台" 這個步驟而已。


順便記錄一下工作站 OpenROAD-flow-scripts 版本,我就不用每次放假都要連回公司確認,為了這個電腦還不能關機,算是有點小麻煩。


2024/10/07 更新

下午詢問 IT 後,確定公司也可以安裝 WSL2,編譯 ORFS 果然跟家裡遇到的問題一樣,但因為公司電腦還在安裝中,等跑完再來更新解決辦法。

晚上 11 點多吹完頭髮後,VPN 連回公司確認 ORFS 是否有安裝成功,果然跟我想的一樣,不知道為什麼用 sudo ./setup.sh 執行的過程,會產生沒辦法寫入所有權為 root 的檔案?setup.sh 有起別的 shell 跑東東?但印象中這樣還是會帶到 sudo 的權限才對吧?

總之,按照下面步驟執行即可,step 2 就是執行會報錯的檔案,因為這個檔案的內容好像跟 build 有關,在後面還會用到,我也懶得研究 setup.sh 相關變數的值,故 setup.sh 只好浪費時間執行兩次。

step 4 是再一次確認是否還有 root 所有權的檔案,檢查結果只有這個檔案。



順便記錄一下 coyote_tc 的錯誤,本想靠它來確認 PAD 流程,但應該跟 issue 說明一樣,是不能執行的沒錯。


2024/10/11 更新

雖然知道 designs/sky130hd/coyote_tc 是不能跑的範例,但還是釐清一下相關的 issues,免得以後又要查找一次。

如果是直接跑範例,錯誤就如上張圖一樣,使用 "Command terminated by signal 9" 關鍵字去搜尋,看到的是這個 issue #1621

這個 #1621 有提到另外一個 issue #1082,裡面有明確提到,這個 coyote_tc example 是不能跑的,而且應該被移除才對,因為這樣會讓使用者誤會。

#1621 最後面有提到問題是出在 Routing congestion?其 issue 為 #1630
(但怎麼跑到那一步,我還看不出來,理論上已經到 stage 5 了?)

總之,目前 ORFS 沒有一個範例是有包含 PAD,以上。

2024年10月5日 星期六

Pubook Pro 10.3 會是我的最終歸宿嗎?

一直欠缺一台可以上網的 10 吋電子書閱讀器。

雖然文石的機器速度很快,但我個人的資料都在 Google Drive 上,不可能不登入 Google 帳號,HyRead 的新機器還在預購中,讀墨似乎有出一台開放式的機器,但我今天忘記調查了XD

在知道 Pubook Pro 是使用 MT8183 後,我就決定購買這台了,雖然在三創試用的感覺還是偏慢,但在眾多考量後我也似乎只有這台可以選擇。

沒辦法,誰叫我的 Kobo EInk Bro 一直胎死腹中,VM 的保留映像都繳了快一年的錢,但還沒時間去開啟它繼續進一步的測試。

我想我跟步驚雲一樣,都是孤獨的一個人走在驚雲道上…

2024/10/06 更新

昨天晚上 6 點多 PChome 下單後,今天下午 5 點多就收到包裹。

開機時系統大概是今年 3 月的版本,跑了一個還是兩個更新後就全部更新完畢。

目前用起來感覺還行,估計花個 1 ~ 2 天來調教一番。

潮濕起來真的是要人命

最近無意間發現 IKEA 買的每個竹子材質產品都發霉了!

最先發現的是附抽屜螢幕架,接著是盤架,最後則是手機架。

不知道是不是竹子材質的關係?感覺在潮濕的環境特別容易發霉。

我都覺得肺部在積水了XD


昨天突然發了一筆獎金,對我們還沒碰正式專案的人來說都算是賺到的,也算是個意料之外的小確幸。

今天要殺去三創買東東了,預計採購新螢幕、螢幕架?又或是筆電增高架就不用外接螢幕了?

2024/10/05 下午更新

三創的東西真的很少,筆電增高架看不到幾台,螢幕支架需要桌板有一定厚度故也不能用,最後買了一台 Dell U2424HE-4Y,還是覺得 24 吋比較適合工作,不會太大台。

另外還想買 Pubook Pro 10.3 可惜沒有現貨,這個就等之後有緣再說吧。

2024年9月22日 星期日

Google 已經慢慢成為微軟第 2 了嗎?

之前發現我一直在用的 DailyMoney App,有網友在爭求了原作者的同意後,使用原本的程式碼加上自己的修改並創建了另一個稱為 Financier 的軟體,還可以使用 Android Studio 來編譯。

今年第一次購買超過 6500 元的手機,故可以跟別人一樣同步使用最新版本的 Android OS!由於這個緣故,當初差點不能使用我自己編譯的 Daily Money

既然已經知道有網友做好的版本,應該要趁此機會更新一下開發環境才對,雖然看評論也已經不能用在新版 Android OS 了,但至少開發環境版本較新,理論上應該不難解決才對?沒想到下載了最新版的 AS 後,一堆 build error,沒有一個可以有效解決。

因此想試試之前開發的 KoboPageTurner 專案裡面的 Android App,看看是不是也會有編譯問題?當初開發的日期是 2020/08/15,AS 應該還不算太舊吧?

沒想到編譯時一樣會有一堆 error,Google 你真的太扯了!一個開發環境在更新時居然一點向後相容性都沒有?

雖然我不是專門寫 App 的,但無法在半個小時內收斂問題我還是覺得無法接受?