🎵 我最喜歡的音樂清單~~
話說我好像都沒在這個部落格上面講過自己喜歡的音樂。由於我聽的音樂類似都滿廣泛的,所以我這裡挑出各種類型之幾首我喜歡的音樂來分享一下~ 獨立音樂人創作 (Vocal) 追憶 (feat. nakotanmaru)https://youtu.be/8TpMs2oS5u0 「藍悼花 -aitouka-」Piano arrange ver. / 酔シグレ feat.Lucia Yes, feat. voices in a bottle 〜海を越え届いた歌声〜 (這首真的有夠小眾) Aiobahn feat. rionos - ここにいる (I'm Here) (Stephen Walking Remix)https://www.youtube.com/watch?v=63jACiwo61c 泥中に咲く feat. ウォルピスカーターhttps://youtu.be/40dJS_LC6S8 JPOP H△G - 少女たちの終わらない夜https://youtu.be/-676wCOiTGM fripSide - Detourhttps://youtu.be/kE_0X6jceDI スキマスイッチ - ボクノートhttps://youtu.be/AeMRXJtg500 米津玄師 - アイネクライネhttps://youtu.be/-EKxzId_Sj4 動漫音樂 Lia - 一番の宝物 / 小さなてのひらhttps://youtu.be/7lH7csKBnzYhttps://youtu.be/t9zK9og9Bco ラックライフ - 名前を呼ぶよhttps://youtu.be/-g6MYL5lOZs 少女終末旅行 - 雨だれの歌https://youtu.be/5epjVow18Xc (K)NoW_NAME - Alstroemeria_pink / Alstroemeria_whitehttps://youtu.be/bWrhFiyAHIghttps://youtu.be/2lS0M-4t5SE EGOIST - Planeteshttps://youtu.be/eCNe56HDfN0 BGM / 純音樂 Joey Pecoraro - Your Favourite Placehttps://youtu.be/Tk7xUgZIyoM DJ OKAWARI - Engage Ringhttps://youtu.be/0P1bWEWY7co Roary - Waiting (Ambient Mix)https://youtu.be/gXntAFr2yVk ibrahim - Enamored (feat. Limes)https://youtu.be/VvX43YnV_Gk 光田康典 - Circle of Eternity 東方 R-Note - 青空https://youtu.be/9vASeLK1gJA 発熱巫女~ず - Innocent Worldhttps://youtu.be/ziaPe6Yqjoc maoto - 向日葵の咲く場所~daydream flowers~https://youtu.be/-vcUlNZvXtM 遊戲音樂 Rimworld - Waiting For The Sunhttps://youtu.be/V52QTyn6e-A Superliminal - Hopefulhttps://youtu.be/QjGYHf0jTRA NieR Automata - カイネ/救済https://youtu.be/FP4duz43t_A Mirror's Edge Catalyst - The View Districthttps://youtu.be/SiPhCuvz8P8 Theme of Tokyo Lover (好孩子不要去 Google) フタリ 白波遥 (這一首也是) 粵語 / 中文歌 RubberBand - 未來見https://youtu.be/Hroq64h65Os 林海峰 - 廣東歌https://youtu.be/nhWETp4X4kM 盧巧音 - 哲學家https://youtu.be/F-HJwJ0r5Ns 蔡琴 - 渡口 (試 HiFi 一流) 芝麻Mochi - 蘭花指 英文歌 The Eden Project – Times Like Thesehttps://youtu.be/pM_-kc83nFs THE SxPLAY - Guardian (這首準確來說是遊戲英文歌) Porter Robinson & Madeon - Shelter Vtuber 明透…
DezKVM-Go: 一台超低成本的 USB-KVM
最近一直都在開發我的 IP-KVM 系統(DezKVM,之前的 code name 叫 RemdesKVM),但是因為預算不足,再這樣研發下去的話這個 project 就要難產了,所以在推出完整版本的 DezKVM 之前,要先拆個 sub project 出來做成產品賣一下來回本( 甚麼是 USB-KVM? 就如名字所寫的,相較於比較有名的 IP-KVM 裝置,USB-KVM 就是一個透過 USB 存取的 KVM 裝置。很多人會把它與 USB-KVM Switch 混淆(確實名字上是有點難分辨),所以我這裡簡單整理了一個張圖表來解釋它們分別在哪裡: 這東西雖然說是 IP-KVM 計劃分拆出來的一個小東西,但是如果你想單獨的去買這個 dongle 卻一點都不便宜。例如外國的這個簡單的 Laptop to server KVM console 就要價 699 USD 另外就算買台灣貨,也要 10k 台紙,一點都不能算得上便宜。 考慮到目前我大部分 headless server 無論是 NAS 還是在組的 NEC mini cluster 都是有 HDMI 輸出的,這個設計就直接採用 dezKVM parent project 的硬體設計清單了。 Circuit design 與 PCB layout 這個電路圖算是比較簡單的一個設計基本上就是 Host 進來一顆 USB hub chip (SL2.1A) SL2.1A 接到兩顆 chip 上:MS2109 (USB2.0 HDMI capture card) 跟 CH340C (USB to UART) CH340C 接到 CH9329 (UART to USB HID) 上來模擬鍵盤與滑鼠 HID 輸入 剩下就是一些 ripple filter 電容跟 type C 插頭的 PD sink (5.1k CC1 跟 CC2) 在基本的邏輯部分都設計好之後,就是畫 PCB 了。一如既往的直接上 EasyEDA 成品組裝 送印回來組一組就變成這樣 (因為買 MS2109 的價格比起批發買這顆 USB2.0 HDMI dongle 還要貴,加上單買 MS2109 不會有 HDMI DRM key 無法解碼部分 video output,所以就直接上現成的 HDMI capture dongle 了。這個之後在解釋 DezKVM IP-KVM 模式的時候再詳細說明) 外殼設計 外殼的部分,這裡也用 3D 建模軟體做了一個簡單的外殼。由於是原型機、配色部分就先不要這麼講究了(之後我猜應該會用橙色 + 白色的比較 fresh 的配色?) USB-KVM 軟體開發 由於 USB-KVM 軟體的部分與 IP-KVM 不同,因此基本上整套是要重新寫。但是由於大部分坑都在寫 IP-KVM 的時候踩過了,只是要把 code 從 golang 搬到 JavaScript 實際上並不是太難,大概是 2-3 個週末就能寫好的程度(大概 USB-KVM 軟體大概會有這樣的功能: 串流 HDMI capture card 的 Video (Camera ) & audio source (Web Audio API ) 傳送 USB UART…
imuslab 伺服器大搬家
話說不知不覺間,用來部置這個 imuslab 網頁的伺服器已經 24/7 運作快 11 年了!一開始只是作為中學生隨便組的一台 server,沒想到它居然能撐這麼久還真的是滿意外的。所以在部落格搬家完成後,就讓我來分享一下關於這台 server 的歷史故事。 為甚麼要買一台伺服器? Minecraft 伺服器!(雖然後來比較多是用作部落格跟網絡多媒體播放器) 在中二 / 中三的時候,那個時候大概還是下課回家打開電腦就是玩 Minecraft 的年代,所以 Minecraft Server 大概是一個大家會一起下課後一起玩的遊戲。加上那個時候剛好無限上網(吃到飽)網絡跟 smart phone 剛開始普及,所以也是我在等巴士的時候上網的一個很好的 gateway。 我的第一台手機是 Sony 不記得型號的入門機型、儲存空間只有 32 還是 64G 來著?總之就是系統跟一些常用的 APP 裝一裝就沒空間的那種。雖然是能夠插 Micro SD 卡,但是那時候還沒有像現在這種大容量 256GB 到 1TB 的 SD 卡,加上學生沒錢,所以大概只用著一張 16GB 的 SD 卡。好死不死,我又是很喜歡聽音樂的人,結果就是我 PC 裡有 200+ GB 的 CD RIP 音樂(轉換成 mp3 也沒辦法完整的塞進去 SD 卡裡面),所以我需要一套可以從家裡串流音樂到手機的系統。 所以綜合上面兩個主因,再加上那時候 Yahoo Blog 倒了要找地方搬,而且我那個時候對 NAS (如 QNAP、Synology 等)還是沒甚麼概念,所以我就決定自己組一台 PC 來當伺服器。 以中學生的視覺來選擇零件 當初說要買一台伺服器放家裡的時候,因為家人還是不知道甚麼是 server 所以還是很抗拒,說不能 24/7 開著電腦不然會房子會被燒掉(我在那邊一整個黑人問號???),到後期他們還會在我不在房間的時候偷偷進來檢查伺服器是否開著。 所以我在想,要買的話一定要買最安靜的伺服器,外殼也是不透光的,開機跟沒開的樣子長完全一樣的狀態才行,最後選了以下的配置: Intel Pentium G3258 ASRock 的便宜主板 8GB DDR3 (後來加到 16GB,最後到 24GB) 250GB 7200rpm HDD WD Blue 2TB 然後在裝機的時候,特別把 power LED 的 panel pins 拔掉,這樣從外殼就看不出它是否有開機了。加上 Pentium 本來就是入門處理器,發熱量也不大,自然風扇也不太會高速轉動而幾乎沒有聲音。 到要選 OS 的時候,因為那時候家裡就只有 Windows 7 的安裝光碟,所以很自然就是使用 Windows 7 來當作業系統了,沒想到這個真的是我用過以來最穩定的 Windows 。 Imus Web Services 伺服器當然是有掛載著不同的服務,所以在 imus 這台 Windows 7 的 Server 上也有著不同的服務,其中包括有 Minecraft Server Apache Web Server (WAMP stack) IMUS DNS update tool (以自動化檢查目前 public IP 並更新 DNS entry 的工具) ArOZ Online Alpha (PHP + VB.net binary 組合而成的系統) Wordpress (部落格) 後來在大學之後,因為要到大學上課的關系,需要一套除了音樂串流之外也能夠存取如 pdf 等檔案的系統,所以便發展出 ArOZ Online Beta 系統(這個就是另一個更長的故事了)、及後也因為 AOB PHP 效能不足而不斷發展出更多的 services,包括 ArozOS 1.0 / 2.0 (Golang) imusutm (Up time monitor, Golang) Zoraxy (以支援 Subdomain routing,並取代 DNS Update Tool) 然後到…
Golang 透過 WebSocket 串流 PCM Audio Stream 到 Web UI
RemdesKVM (P.S.這是一個網頁) 最近因為在開發 RemdesKVM (一套開源的 IP-KVM 裝置),所以需要想辦法在 Linux 下把 USB HDMI capture card 的 audio stream 串流到 Web UI。聽上去好像很簡單,但是想不到實際上做起來一點也不容易( 為甚麼先不用 WebRTC? 如果你跟一個現代的 Web Developer 講這功能,他第一時間回覆你的當然就是 WebRTC 了。WebRTC 是一種基於 UDP 的技術,容許 Server 跟 Client 之間透過 UDP 進行 real-time communication & streaming。那也是因為 UDP 的關系,所以 packet 就是送出去就不理了,自然就不會有太大的 latency 問題。然而使用 WebRTC 協議會出現兩個問題: HTTP 是基於 TCP,因此如果本身你已經有整套 HTTP proxy / routing infrastructure,使用 UDP 就要額外再增加一套 proxying services (雖然 Zoraxy 跟 NPM 之類的都有 build-in 就是了)WebRTC 需要 opus (然後 opus 沒有 go native 的 encoder implementation) 所以這裡我先使用了基於 websocket 的方案,之後有空再來弄 WebRTC 的方案。 Alsa 與 Linux Audio Device 在真正講到怎樣串流之前,先講一下我怎樣從 USB HDMI device 抓出 PCM data。簡單來說在 Linux 裡面 everything is a file,所以自然地你可以從 /dev/snd/ 裡面其中一個裝置抓到你需要的 PCM 資料。我這裡用的是 arecord 工具,可以透過以下指令安裝: sudo apt install alsa-utils 之後就是透過 -l 指令列出所有 Audio device $ arecord -l **** List of CAPTURE Hardware Devices **** card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: sofhdadsp [sof-hda-dsp], device 6: DMIC (*) [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: sofhdadsp [sof-hda-dsp], device 7: DMIC16kHz (*) [] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: MS2109 [MS2109], device 0: USB Audio [USB…
JLCPCB Basic Part 備忘錄
因為自己很常用 PCBA service,所以特別弄了個我自己常用的 Basic Parts 零件清單(跑小批量 PCBA 的話用這些零件會省下不小打樣費用) 注:+ 是串聯,// 是並聯 電阻 0805 10k C17414 0805 5.1k C27834 0805 2.2k C17520 0805 1k C17513 0603 150R C22808 (150R + 150R = LED 或 Optocoupler 常用的 330R) 電容 0805 10uF 25V C15850 0805 1uF 50V C28323 0805 0.1uF/100nF 50V C49678 0805 1nF 50V C46653 LED(發光二極管) 0805 White LED C34499 0805 Green LED C2297 0805 Yellow LED C2296 0805 Red LED C84256 0603 Red LED C2286 IC 晶片 CH552G (JLC) PCBA 10片4.38 USD / 10 pcs = 0.438 USD = 3.1755 RMB 每片Consigned Parts 1.59 rmb + 1.59 + 0.5655 + 1.0295 = 3.185 RMB 每片(超過 10 片的話直接買他們的) CH224K (JLC) PCBA 10 片4.4250 USD / 10pcs = 3.208 RMB 每片 Consigned Parts 1.14 rmb + 0.5655 + 1.0295 = 2.735 RMB 每片 XL4051E (JLC) PCBA 10 片5.2950 USD / 10pcs = 3.839 RMB 每片 Consigned Parts 1.57 RMB + 0.5655 + 1.0295 = 3.165 RMB 每片 ACS712-05B (JLC) PCBA 10 片 10.650 USD / 10pcs = 7.72 RMB 每片 Consigned Parts 1.9 RMB + 0.5655 + 1.0295 = 3.495 RMB 每片
WebStick v4 – 從零開始寫的部落格帖文系統
最近我在開發新的 webStick v4 firmware。WebStick v4 本質上跟 v3 在硬體上沒甚麼差別,最大的差別大概就是在 firmware 上加入了一個比較正規的 Post 及 Page 管理系統。 WebStick v3 與 Blog Post 在 WebStick v3 的設計下,Blog 系統是一個非常簡單的頁面,甚至沒有它自己的編輯器,當要編輯部落格文章時,那個「編輯」按鈕只會打開內置的 Markdown Editor 讓使用者自己編輯然後儲存到檔案而已。 這樣的做法好處大概就是開發時間很短而且不用佔用額外的儲存空間,但是問題是使用者體驗實在太差了。所以在 v4 的時候我就來把這個 blog 系統改良了一下。 WebStick v4 WebStick v4 沿用了不少 v3 的部分,但是在對外 UI 大改的情況下,給人的感覺確實有點不同。我們先從 homepage 開始看起 WebStick v4 Homepage homepage 的部分改用了 Tocas UI 風格設計,而且所有 icon 與 title 都是動態載入。這個在 PostEngine Pro 的部分會講到,但是大概就是現在如果要更改 homepage 上的聯系資料的話,使用者不再需要編輯 html,而是改一下設定檔就可以了。 WebStick 的關於頁面也有改良。這個頁面大概算是一個 static html template 的範例吧?使用者可以自行更改並加入其他內容,而在出廠時這個頁面就是用來介紹 WebStick 本身的技術資料。 當然,v4 也有 v3 的部落格系統。新版本的部落格系統支援放置 Video / Audio element 以外,也提供直接從 /site/img/ 載入截圖。這個也是 WebStick PostEngine Pro 帶來的新功能:支援直接 Ctrl + V 貼上截圖並置入到文章中。 最後就是 QR Code generator。一個滿好用的小東西 (特別是需要從 電腦分享資料到手機的時候) WebStick v4 管理員介面 WebStick v4 的登入介面也使用 Tocas UI 重寫,加入了 Minimalist 的設計。 而 WebStick v4 的 admin panel 變代實際上並沒有很多,最多的變化大概就是加入了非同步載入:在你打開頁面的時候 iframe 內容才會動態載入。這樣對於 ESP8266 的 async TCP server 來說負擔比較低,體感上載入速度提升了不少。 WebStick PostEngine Pro WebStick PostEngine Pro v4 最多的功能變動大概就是把 blog engine 砍掉換成了 PostEngine Pro。這個 PostEngine 具有很多帖文和頁面的建立、編輯和刪除功能。 PostEngine Pro 編輯帖文功能 由於 PostEngine Pro 加入了 Ctrl + V 時自動在前端壓縮、上傳和插入照片 URL 到帖文的關系,所以在 v4 的 PostEngine 也加入了 Library 功能以管理在寫文章時上傳的照片。 另一個我很喜歡 PostEngine Pro 的原因是,它現在可以直接選擇 WebStick 上的檔案進行嵌入。只要選一下功能表單上的資料夾按鈕,一個 File selector 便會彈出來。 WebStick PostEngine Pro 檔案選擇器 這個選擇器除了照片以外,連音訊跟影片檔案也可以選擇,不過只限於 web safe 的格式就是了。 檔案選擇器,可以選擇嵌入 WeBStick 上的影片到帖文 嵌入的影片(webm) Image Library 當然,這個功能也不只是能在編輯器內使用。如果你想在編輯器外上傳照片到 WebStick 上,也可以透過…
Go build 突然變得很慢?
最近在 Windows 更新之後不知道為甚麼 go build 變得很慢,我在想會不會是因為我的 SSD 快要死了所以讀寫速度掉不少,於是有一天我終於忍不住去跑 Crystal Disk Mark 好像沒啥問題的樣子 所以我就在想,會不會是 Go compiler 的 cache 問題,於是用以下 command 把 go cache 的 folder 換到一只直插 PCIE 的 SSD 上面 > go env -w GOCACHE=E:\tmp\gocache > go env GOCACHE E:\tmp\gocache cache 有出現在快 SSD 上,所以是有改成功 結果還是很慢。而且 go compiler 的 CPU usage 也卡在 10% 左右,然後我就注意到,另外大約 70% 的 CPU usage 都是被其他東西吃掉的。被甚麼吃掉? 幹你的 Windows Security 幹你的又是 Windows Security。它對 Go compiler 產出來的每個 binary cache file 掃描,這樣不慢才怪。Windows 自 Win7 之後從來就沒好過,要不是我間中要打遊戲我一早就換去用 Linux 了。 所以知道原因之後要解決就很簡單,就是去 Windows Security > 管理 把即時保護設定關掉 然後 go build 就回復到正常 build 速度了。
香港人跑到台灣正顎遊記
背景故事 在中學(台:國中)的時候我的牙醫看到我的情況一直都在跟我說要做矯正,我都說不要,主要原因是我有看過倒及(台:戽斗 / 英:Underbite)這個基本上透過矯正基本上等於沒救(就算能矯正過來臉型還是很醜),再加上咬合導致的顎關節有聲或者痛這問題看來也很常見,那不如不要浪費錢還比較好。 就是這樣這個問題一直拖到大學,後來在快畢業的時候遇到疫情,一直載口罩加上因為嘴巴沒辦法完全閉合所以一直在張嘴呼吸。除了把關節的問題弄得更嚴重之外,連臉型也跟著跑掉(連家人都說怎麼下巴比起以前更凸了),但是因為不知道解決方法所以還是一直放著沒弄。 台灣牙醫與健保 也是因為疫情關系,香港很多公司也沒再在招人。本來我大學是讀 CS 相關的,畢業之後大概除了香港科學園之外(開發類),只能跑去當 IT(當狗 當技術支援與整合)。在疫情的環境下,CS 的工作大減,IT 需求大增;但是作為 CS 出生寫 code 技術滿不錯的畢業生來說,去當 IT 反而有一種「降等」的感覺。當時台灣還沒受疫情波及,所以我決定去試試找台灣的工作。但是在網上看了一轉,台灣大部分(有一定程度技術需求)的工作都需要碩士畢業學歷,所以我就選了一家南部的四大再進修一下,邊留意市場狀況。 到了台灣半年左右知道了健保有每半年免費洗牙之後,我便間中在下課之後去附近的牙醫診所洗牙(畢竟有免費的不用有點對不起自己)。那間診所是由一位成大出身的老牙醫經營,洗牙完全不痛,一看就知道是大師級的人物。有一次去洗的時候好奇問了一下牙醫我這情況還有救嗎?他伸手摸一下我的下顎然後按住下巴開合一下,說「你這情況需要動手術」,我才知道原來還有這治療方法!?然後我就問他要了轉診單找了推薦的醫師去成大醫院咨詢。 去到成大醫院之後找到了老牙醫推薦的口腔顎面外科王東堯醫師,不問不知道,一問嚇一跳,原來他是台大畢業的香港人,所以才有這麼高的素質。來回好幾次照了 X 光 CT 之後決定了要開 BSSO(就是比較複雜的 multi-axis 旋轉 + 移動的那種正顎,並非那種單純縮下巴 / 拉出上顎的單軸式移動正顎),加上我的頭骨可能對於男性一般值來講也是偏細 + 薄,CT 掃出來重建的 3D 模型也一大堆穿洞(太薄的骨頭掃不出來),最後委托外面的 3D 醫學模型公司來做 3D 模型重建 + 特別設計手術用的咬合板(因為 BSSO 上下顎都要切開,所以需要設計幾個定位用類似牙模的東西來讓醫師開刀的時候知道骨頭要移動多少)。 在我做最後決定前,因為尊重原因我有先知會我的父母。我媽就是很擔心,所以把我拉去香港的診所要醫療意見。跑了好幾個禮拜之後大概的結論是 香港也不是不能做,只不過可能要排 6 - 8 年;要快的話可以去私家,我這個 case 整套下來大約要花 40 - 60 萬港紙(相比起台灣找大醫院做的話大約是 40 萬台幣左右) 香港的做法會偏保守,一般會先矯正 1 - 2 年,之後開完正顎之後再矯正 1 - 2 年;台灣這邊王醫師開出來的是 surgery first approach,可以省下一開始的矯正,整體治療時長會減少到 1.5年 左右 兩位香港的醫師看完台灣醫師給的治療計劃後都覺得沒甚麼問題,甚至有一位聽到台灣開的價格之後主動建議「你們還是在台灣開比較好」 所以後來就按原定計劃在台灣開刀了。 檢查與開刀經歷 開刀其實不麻煩(畢竟麻煩的是醫師),最麻煩的事情大概就是每隔幾個禮貌要回去一次檢查這個那個甚麼的。這個我覺得比較少人有寫到網絡上分享,大概就是 X 光檢查、驗血、拍照記錄 CT 掃描(取得頭骨 3D 模型) 制作咬合板,用來於手術中移動上下顎骨頭的時候可以準確的對到設計位置(順便一提,這是用醫療級 SLA 3D 列印做出來的,很酷) 備血(兩次,隔大約一個月,以防不時之需) 進開刀房 開刀其實沒甚麼大不了(畢竟對我來說睡一覺醒過來不是看到醫生就是轉生異世界),大概跟其他網上分享的經歷差不多:前一天先住院做檢查,然後就是等第二天早上開刀。開刀前 12 小時不能吃喝,然後開刀大概 8 - 10 個小時,但是對我來說就是睡覺醒來就好了。 這一覺我猜連續睡了快 2 天(手術 + ICU) Propofol 真是個好東西,醒來的速度也有夠快。醒過來之後第一件事大概感覺得呼吸很困難,然後就慢慢感覺到氣管裡有種卡住東西但是也能呼吸的感覺。可能差不多這個時候醫師發現了我可以自主呼吸,就來幫我把插在氣管裡的呼吸機喉管拔掉,這個時候就舒服一點了。接著躺著休息一陣子之後被轉移到另一張床上,然後馬上被推進一般病房去。(果然 ICU 的床位還是很搶手的) 進去之後大概就是抱著我的 IKEA 鯊鯊在睡,間中會被叫起來照 X 光之類的。每朝早上王醫師來查房的時候都會有這樣的對話: 王醫師:你覺得怎樣?我:很腫王:你已經不算腫的了 剛被推出 ICU 的時候會有一條從下巴拉到頭頂的繃帶用來固住定住下顎。因為本來你的臉已經是在腫了,還要被繃帶壓住,所以一開始真的超級不舒服。然後大概在 2 / 3 天之後,用來固定的繃帶會被拆開,這個時候才真的比較可以講話和看到明顯的術後變化。 整體來說,術後大概躺了 1.5 天深切治療部(加護病房 / ICU),睡了 4 天醫院一般病房(其中兩天不能吃喝,但是因為有輸葡萄糖液所以完全不覺得餓),之後連續喝純液體 2 個星期(應該沒甚麼人能體會到連續喝舒跑 + 寶礦力兩個星期的慘況) + 4 個星期流質之後,在第二個月終於可以吃到比較軟的食物(如粥、布丁之類的),第三個月才能吃飯。雖然說開刀是沒開到關節的位置,但是因為整個下顎的部分都腫起來,不要說咬合,實際上連把食物吞進去的動作也沒辦法到(因為這時候還沒矯正,牙齒還是在 open bite 的狀態 ,加上肌肉不知道為甚麼沒辦法發力),所以吃流質的時候是需要用針管透過一條橡膠管插進喉嚨裡面,然後把液體往裡面擠來「吃飯」。 術後矯正 在大約術後一個月左右開始來做術後矯正,然後裡就是一般牙齒的矯正過程了。由於(醫師說)牙齒在骨頭開刀之後會動很快,所以矯正也應該只需要 1 - 1.5 年就好。跟著那幾個月就是一般牙齒矯正的各種慘況:牙齒很酸,沒辦法吃硬的東西之類的,但是比起正顎後那一個月來說還是舒適很多。 雖然說整個過程都超級辛苦,但是自從開完半年左右,好處就慢慢出現了。首先當然是咬合變好顎關節痛的頻率也減少了很多,同時間附帶的是臉部線條變順暢;其次就是終於可以用鼻子呼吸而不是嘴巴,所以睡覺品質也變得更好;而加上因為有讓醫師在全身麻醉的時候順便把智齒都拔掉,所以之後也不用擔心那會有蛀牙問題( 一年後的想法 我對正顎的想法大概就是很值得做,無論是在功能上還是生活品質上面都有很好的改善。唯一的可惜就是我沒有早點做(聽說大概 21 - 22 歲做會更好),有人說早點做的話神經線恢複的速度會更快,但是我覺得還好(? 另外由於健保給付了一部分的病房 跟 X 光 費用,所以出院的時候除了手術、開刀房借用跟升級藥物到比較好的止痛藥等的費用之外,基本上都包含在健保內。當時心裡面是有點過不去(畢竟我又沒付多少健保費),但是近幾個月開始在台灣半導體業工作,每月收到薪資單看到被扣的健保費用之後心裡還是有好過一點。。。
ffmpeg HTTP 串流 HDMI 採集卡輸入
如果有一天不知道為甚麼你需要透過 Linux / Raspberry Pi 串流 HDMI capture card 到網絡上另一個位置的話,你可以用這個 ffmpeg command: ffmpeg -f v4l2 \ -input_format mjpeg \ -video_size 1920x1080 \ -framerate 25 \ -i /dev/video0 \ -vcodec mpeg4 \ -pix_fmt yuv420p \ -q:v 1 \ -f mpegts \ -flush_packets 1 \ -max_delay 0\ -analyzeduration 10 \ -probesize 32 \ -fflags nobuffer \ -tune zerolatency \ -listen 1 \ http://0.0.0.0:8088/feed.mp4 如果你的電腦上並沒有 v4l2,可以透過以下指令安裝並抓到 capture card 支援的輸出格式 sudo apt-get install v4l-utils v4l2-ctl --device=/dev/video0 --all 輸出例子: Driver Info: Driver name : uvcvideo Card type : usb video: usb video Bus info : usb-0000:00:14.0-2 Driver version : 6.1.119 Capabilities : 0x84a00001 Video Capture Metadata Capture Streaming Extended Pix Format Device Capabilities Device Caps : 0x04200001 Video Capture Streaming Extended Pix Format Media Driver Info: Driver name : uvcvideo Model : usb video: usb video Serial : Bus info : usb-0000:00:14.0-2 Media version : 6.1.119 Hardware revision: 0x00002100 (8448) Driver version : 6.1.119 Interface Info: ID : 0x03000002 Type : V4L Video Entity Info: ID : 0x00000001 (1) Name : usb video: usb video Function : V4L2 I/O Flags : default Pad 0x01000007 :…
Type C source & sink 的 CC pin 電路設計
因為最近我的專案都全面轉用 type C 來取代傳統的 micro USB 跟 type A USB port 了,避免開始工作一段時間之後忘掉了怎樣走線,所以就來寫一篇部落格來記錄一下。 Type C Sink (接收端,例如說要充電的裝置) 這個官方文件裡面是說需要把 CC 接 5.1K 到 GND。可是由於一開始規格內容沒很明顯,導致不少人誤解了這句話的意思,例如說 Raspberry Pi 4 一開始版本的 type C sink 設計就是有問題的: Raspberry Pi 4 錯誤的 type C sink 下拉電阻設計 一般來說如果你的電源供應器只輸出 5V 3A 的話倒是沒甚麼問題,但是一用到支持 E-mark 的 type C 線加上 PD 供電器就會出問題了。所以正確的接法應該像下面的, CC1 跟 CC2 獨立拉出來經 5.1K 電阻再接到 GND 上面去 我設計的 type C sink,注意 CC1 跟 CC2 是分開接到 5.1k 的 這樣 PD 電供就會知道這是一個 5V 的 sink 而輸出 5V 3A 的電壓 / 流了。 Type C Source (放電端,例如說充電器或是筆電) 接收端應該是比較多人知道,但是 Source 端就較少人討論了。技術宅老人可能知道,在很早的電子產品中, USB 接口預設最高只能提供 (5V)500mA 的電流。所以如果隨便把現代的電子產品插到 10 - 15年前的電腦上充電,電腦有時候會直接把那個 USB 口砍掉( 但是因為太多人拿 USB 來當一個充電接口,所以後來 USB-IF 加入了額外的規格來給需要 USB 充電的裝置使用,現在大家看到的 5V 1A、2A 到 type C 的 3A,都是後來 USB Battery Charging Specification (BCS) 跟 USB Power-Delivery (PD) 提供的。 因此在此背景下, type C device (特別是能用到 10W 以上的電子產品)在插上去的時候,是需要知道 Source 能提供多少的電流,是甚麼規格下的 USB 端口才敢開始充電。 source 的 pull-up 電阻規格 但是就一般 DIY 電路板來說,如果是做信號類的東西,我們就只要在 Source 端 CC1 跟 CC2 分別接個 56K 上拉(即 CC1 / 2 經 56k 到 VBUS (5V))就可以了。如果你在做的 source 是一個 5V 的充電器,能提供到 1.5A / 3A 的話,也可以按上表中改用 22k 或是 10k 的上拉電阻。例如說 Github 上這個開源的 type C USB hub 就是如此設計。
目前第 1 頁,共有 12 頁