2023年7月7日 星期五

Ubuntu 20.04 + GT710 畫面撕裂

markdown 現在桌機配置是 ubuntu + GT710,在看影片時會有畫面撕裂的現象,用[這個影片](https://www.youtube.com/watch?v=MfL_JkcEFbE%EF%BC%89)就可以很清楚的觀察到,上網找了一下解法,在 Software & Update 的 addtional drivers 中可以發現 ubuntu 已經預設安裝了幾包的顯示卡驅動,不過預設使用的是 X.Org open source 的那一包,選擇 nvidia 470 proprietary 的那包驅動後,就沒有撕裂現象了

2023年3月29日 星期三

使用 Line notify 送訊息通知給自己

markdown 簡單筆記一下。 要用 line notify 送訊息會需要一個 token,正常會需要自架一個網站才能取得,不過如果是用開發人員選項取得自己的 token 的話就不用。 只要登入 line notify 網站(用電腦登入,用手機版網頁會看不到)後用開發人員選項取得 token,就可以用這個 token 送訊息給自己了。

2023年1月1日 星期日

pyenv virtualenv 小記

markdown 工作機上面的 Ubuntu 預設裝 python 3.8,不過有個需求要跑在 python 3.9 上,就研究了一下將 python 升級的方法,然後才發現 python 要直接升級其實蠻麻煩的,用 pyenv 這隻工具還比較方便。 pyenv 可以讓使用者輕易的在電腦上裝不同的 python 版本,然後幫你管理,類似 node js 的 nvm 的功能吧。 過程中發現 virtualenv 這個套件,就順便研究一下,virtualenv 是用來隔離不同的 python package 的環境,例如建立了一個 virtualenv 環境後,在裡面用 pip 安裝各種第三方套件,都只會安裝在那個 virtualenv 環境中,只要離開該環境,就會像那些第三方套件沒裝過一樣。 pyenv 有一個 plugin [pyenv-virtualenv](https://github.com/pyenv/pyenv-virtualenv),裝完 pyenv 後預設就會有,可以直接用這個 plugin 來建立與管理 virtualenv 環境,不需要再額外裝 virtualenv。 可以用類似這樣的 command `pyenv virtualenv myenv` 來建立一個 virtualenv 環境,然後可以用 `pyenv activate myenv` 來啟用這個虛擬環境。建立的這個虛擬環境的 python 版本是取決於現在 `pyenv version` 顯示的版本,也就是可以在 pyenv 安裝的不同 python 版本中建立 virtualenv 虛擬環境。 pyenv 還有一個蠻方便的功能是,可以直接在 .python\_version 檔案中寫入你想使用的 virtualenv 環境名稱,例如用 `pyenv local myenv` 寫入 myenv 到當前目錄下的 .python\_version,然後當你進入這個目錄時,不用 activate virtualenv,你已經自動進入了 myenv 這個虛擬環境,可以在裡面隨意安裝套件了。為什麼會這樣的原因,跟 pyenv-virtualenv 底層實現有關係,就不細講了。 用上面的方法,雖然進入了虛擬環境,但是 shell prompt 不會提示你現在在 myenv 虛擬環境中,可以用 `pyenv activate` 來啟用 shell prompt 提示,在[官網](https://github.com/pyenv/pyenv-virtualenv#activate-virtualenv)有教學在 .bashrc 中加一行指令可以讓你在進入目錄後自動 activate virtualenv,這樣可以看到 shell 提示,而且有些套件例如 jedi 需要你 activate virtualenv 後才能正常運作,所以 activate virtualenv 除了在 shell 增加提示外應該還做了一些其他事情。 不過官方的自動 activate 實現有點問題,啟用後會讓 shell 動作變慢,就是按下 enter 後要等一下才會有反應,所以我沒有啟用自動 activate,反正我只要進入目錄後就已經在虛擬環境中了,沒有 activate 只是沒有 shell 提示而已,如果真的有套件一定要 activate 才能用,再手動 activate 就好。

2022年10月28日 星期五

Ubuntu 上 USB 網卡斷線問題

markdown 家裡筆電換成 ubuntu 一段時間,最近原本用的好好的 USB 網卡突然開始瘋狂斷線,將網卡 off/on 後會回來,但是很快又開始斷。 花了好幾個小時,確認家裡分享器沒問題,網路沒問題,usb網卡沒問題,然後在[網上](https://askubuntu.com/questions/1044127/usb-ethernet-adapter-realtek-r8153-keeps-disconnecting)看到可能是因為網卡 driver r8152 不能 handle USB autosuspend,然後照著裡面解法,先裝好 tlp,然後在 tlp config `/etc/tlp.conf` 加上一行 `USB_BLACKLIST="0bda:8153"`,重開機,網路恢復了不再斷線。 其實從 windows 換成 ubuntu 後,三不五時就會發現一些小問題,然後就要花時間去查或避開,覺得有一句話真的說的對, Linux is free only if your time is free

檔案系統對硬碟容量的影響

markdown 手上有個空的 1T 隨身硬碟,原本是 NTFS 檔案系統,硬碟容量是 932GB,可用空間也是 932GB,後來格式化成 ext4 之後,硬碟容量變成 916GB,可用空間變成 870GB,容量的差距太大,所以就查了一下為什麼會有這個差別。 首先是空的硬碟為什麼硬碟容量跟可用空間不一樣,是因為 ext 檔案系統預設會保留 5% 的空間,當一些極端情況發生時,還有空間來讓一些特殊程式可以運作。 ![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-kfPWVbYnqOy3LMWJPHkmqlM2oMW4gs7SEAt6dUwQhvGCeYjfv2TarsdxCKTqnofcizY9qpeBHZMs7KO25aC-oVuTN10YgORN0Uq0WtNVtCfmnZ6aQEoEZf5Gwxl7TuR5_GIomoaqKFaBNe70yHmSUtxrqJXybc_w1pH_PfJu_RpGxFy7JRsYGybcEQ/s1600/2022-10-29_09-15.png =900x*) 這個保留空間可以關掉,在格式化時用 `-m 0` 參數就可以了。 再來看原本 932GB 怎麼在 ext4 上變成 916GB,因為 ext4 會預先將硬碟用到的 metadata ex: inode 保留出來,以 932GB 的硬碟來看,inode 大約就是 14GB,那 NTFS 應該就是沒有先把 inode 保留,所以才會有 932GB 可用空間。 --- [文件系统使用变长块的优缺点?](https://www.zhihu.com/question/51071915)

2022年4月6日 星期三

Arduino 燒錄 SAMD 系列 chip

markdown 最近在燒錄 arduino SAMD 系的晶片,想要直接將 bulid 好的 binary 檔燒錄進去不要透過 arduino IDE,有拿到一包 build 好的 binary 檔,包含 hex檔、bin檔、跟elf檔,不假思索的就將 hex 檔燒進去後就發現 arduino 死機了 COM port 出不來。debug 很久才發現,原來 SAMD 系的晶片,要燒進去的是 bin 檔才對。 幸好透過 reset button,還可以強制 arduino 進 bootloader 重新燒錄 bin 檔進去,燒進去後 arduino 就復活了。 --- * [Arduino_使用Bossa (類似Avrdude)來對SAMD系列的Chip直接燒錄](https://www.ntex.tw/3205.html)

2022年1月6日 星期四

DIY 換車子大燈

markdown 最近車子有一邊大燈 LED 壞了,上網查一下好像給店家換不便宜,就試著自己 DIY 了。原本的 LED 型號為 SS30,台灣買不到,而且價格不便宜要 65 USD,不知道前車主哪買的。 花了點時間搞清楚怎麼拆下跟安裝大燈後,就在蝦皮買了一個LED。這個 LED 的亮度跟瓦數都跟 SS30 差不多,而且長的跟 SS30 也很像,所以就買它了,而且才不到兩百塊錢。 ![](https://blogger.googleusercontent.com/img/a/AVvXsEjRJxn_bHda_gJWZskbfQSdrcdx9hsRnfoooWZi7bkRQyCCfScO51ctzFw2FafrHx_3Y4lWTOiR69yzlKFq-lwf76PCKicQ_RkXAuG3NeDo-NDT-n5vydCBLqE7NjFLyN5Jd8aokWFUz5N7WdfHd5XRyJQ-py0EuVxzN547hAdoiYkue8vm7LtNLuBLsg =500x*) 這是拆下來的 SS30,除了 LED 外還跟著一個驅動器,SS30 支援有三種顏色,白色、暖白跟黃色,在六秒內關閉再打開,驅動器就會讓 SS30 切換顏色。可能是因為多了這個驅動器才讓 SS30 比較貴一點,但我覺得這個功能很沒必要。 ![](https://blogger.googleusercontent.com/img/a/AVvXsEjtjCS95eIL_NRbdZNmUWVoLv9Sa5dhVUMTSJGJJJBY48GK3rQee4HPTqI2CgNs_ior-4KQc1vOsRWhkFHI93xQhLIVLwpwqnSwzWAlsVt6MpqgEUmlF4bfulddCdQ6rkfaaAotkWTivjFn-dEgSMEtKQfUB-5nBDVzDrIO2BWlPosfyJDGF5l06gCgWA =500x*) 兩個 LED 放一起,真的長很像,兩百塊的 LED,就怕耐用度很差,之前在社團看到有人推一個 400 塊的 LED 亮度有 5000LM,之後 LED 壞掉就來換那顆 5000LM 的 LED 好了。 ![](https://blogger.googleusercontent.com/img/a/AVvXsEjU0aCo17K9txtvLgN_Cm4QeaynA7GsM6DFYZd62DLIEjk_OOsdlckU9xgyA3BOBfNrQaZ3BWJD9DxC-MRCC1GdkdxwoayPifitdxLR2BPOwAoj53LqlbxMn64rE_fALSzhK8K_n_9FQiZc6zDM0N6DMTcXaoDxwPBUnuoN2WY_oagIchoAhJ-L38l6yQ =500x*)