2022 投資心電圖

雖然說 buy and hold 的投資方式就是要隨波逐流, 但是今年股市的表現實在太玄了. 從 2019 年到 2021 年, Covid-19 大撒幣期間, 個人的投資報酬, 幾乎都是穩定向上. 如下面三張圖.

下面的金額, 單位都是貝里 (ベリー).

過去幾年都如此順利. 所以今年一開始也是令人信心滿滿. 畢竟 Covid-19 都快要過去了. 4 月的時候, 美股大漲一波, 我的投資又明顯創了一個新高. 一年才過 1/3, 財產就增加 10% 以上, 按這個比例推算, 到年底豈不是…哇哈哈哈哈哈哈哈.

豈知 6~7 月間油價就猛跌一波, 我的 SHEL 和 XLE 全都大失血. 我想這應該是美國操盤要降低俄羅斯的外匯收入吧? 油價跌, 加上各種景氣調降的消息出籠, 大家開始談庫存而不是增產. 忽然風向改變, 所有類股一致走弱. 從 6 月中到 7 月中, 我的幾百萬貝里不翼而飛.

接著, 大概是因為低油價也打不垮俄羅斯, 油價逐漸恢復正常. 包括台灣都是一面支持烏克蘭, 又一面轉手購買俄羅斯的天然氣 (台日韓都買 [1]), 更別說歐洲還是光明正大地買, 只能暫停北溪二號, 但是斷不了北溪一號. 因此, 8 月中又創了一次新高, 雖然只超過前高一點點, 但展望年底也還有 1/3, 以此比例推算, 哇哈哈哈…..

誰知道, 這樣的起伏還不夠看. 美國突然出了升息抗通膨這招. 不但差點搞垮英國退休基金 [2], 更把股市拉下馬. 10 月初又迎來了一個低點. 所幸, 後來大家對這個消息已經麻痺. 有些國家也開始升息 [3]. 美股只要傳聞停止升息, 或是暫緩升息都會上漲, 所以 10 月底和 11 中又各創一次新高. 總算讓一整年有雙位數的成長.

整體來說, 今年的業外收入真的很不好. 1 月, 4 月開心兩次的年終獎金, 7 月和 10 月超香的員工分紅都依序投進去了, 但很快也都化為無形. 依此比例展望未來, 又看著美金開始下跌, 今年也可能只剩下 “哇?!", 沒有 “哈哈". 哈! 至於為何在美元升息之際看跌美金呢? 我認為凡事不要等到盡頭, 真的百尺竿頭就要掉下去. 所以在 99 尺之前就要採取行動了.

我想我對於投資 ETF, 身價隨大盤坐雲霄飛車已經完全沒問題. 下一個課題是選擇市場. 過去在美元下跌的過程中, 我碰到 covid-19 美股超跌的機會. 現在美股在半山腰, 但美元還在峰頂附近. 聰明的美國銀行家, 此時應該會利用強勢美元, 在海外購買超跌的股票. 現在股匯雙低的市場很多, 買這種市場應該比換美金買美股好. 感恩老巴和我想法一致 [4].

港股就是其中一個明顯的例子, 只是它受到中國人治管理的色彩太濃, 我決定遠離它. 日股是另外一個, 因此我也買一點點日股 ETF. 希望到最後不是日股漲就是日圓漲, 最好兩個都漲. 當然我們上班會領到匯率慘兮兮的台幣 (上週突然轉強), 因此我也買進 0050, 2379. 或曰, 2379 又不是 ETF! 不過, 螃蟹真的很可憐, 所以勇敢再買一張, 以紀念台灣光復節.

最後, 今天美股盤前看起來不妙, 不等年底了. 就趁還有獲利趕快 PO 出文章吧~~~

[REF]

  1. 日媒爆:台日韓大買1660億俄羅斯能源!
  2. https://www.businesstoday.com.tw/article/category/183025/post/202210160007/
  3. https://news.cnyes.com/news/id/4997346
  4. 巴菲特的波克夏買進台積電ADR!Q3大買41億美元

Thread Border Router 小註解

首先講到 Thread 這個技術, 它又是一個把常見名詞變成專業術語的東西. 上次那個 SALT 也沒紅, 不知道是否取這種名字不夠吉利? 總之, 先來介紹一下 Thread [1].

Thread 是由 Thread Group 開發, 所以不是來自諸如 The Hub Re-Assambled and Delivery 這種縮寫, 哈!

基本上它也 (只) 走 IPv6, 支援 mesh, 主要用於 IOT (Internet of Things). 其網路 protocol 6LoWPAN 基於 IEEE 802.15.4. 而藍牙/WPAN 是 802.15.1, BT/WIFI 共存是 802.15.2, 高速 WPANs 是 802.15.3, 可見它和藍牙的關係也匪淺. 事實上, ZigBee 也是走 802.15.4, 所以 Thread 更近似 ZigBee, 但是 Thread 在架構和相容性上又勝出 [2].

本圖取材自 [2] 的圖 1+圖 2, ZigBee 顯得不合群.

讓我們接受 Thread 比較好, 接下來看 router. 如果只是一對一連接, BT 就很好用了. 但在智慧家庭 (Home automation) 的考量下, 家裡可是會有一大堆 IOT. 而且分別來自不同陣營的生態系, Siri, Alexa, Google 可能混居一室, 這個就不是一個 PAN 可以搞定的.

另一個規格 Matter [3] 就是用來解決多生態系混搭的問題, 只要大家都可以用 IP 溝通不就可以在同一個環境共存了? 所以支援 mesh 的 WIFI 和 Thread 都可以支援 Matter. 既然 WIFI 有 router, Thread 當然也有 router [5]. 而在 WIFI 和 Thread 的交界, 就會有所謂的 Thread Border Router (TBR) [4].

上圖和下圖都來自 [4]. 上圖容易理解, 基本上就是說明 TBR 的角色是跨 LAN. 下圖比較複雜. 說明 TBR 的主要功能之一是 service discovery. 任何一個 Thread device 能夠提供服務的話 (如開燈, 播音樂…), 必須跟 TBR 以單播 (Unicast) 註冊, 而不需要跟 Thread 網內的其他 device 交頭接耳 . 這是它可以省電的方法.

由於 TBR 知道每個 Thread Device 能提供什麼服務, 它就可以對 WIFI mesh 進行多播 (Multicast) 但不是廣播 (Broadcast), 因為 LAN 裡面可能有非 Matter 相容的裝置. 所有的 Thread Device 都是透過 TBR 代理做 mDNS ( multicast DNS) [6], 這又有助於省電.

因此我們可以說 TBR 兼具了 SRP server 和 Advertising Proxy 的角色. 另一方面, Thread Device 怎麼發現 WIFI 那邊有什麼 service 呢? 答案還是透過 TBR, Thread Client 透過 TBR 當 DNS-SD (service discory) Discovery Proxy 跨出 Thread border.

總結來說, TBR 的 SDK 和 sample code 可以從公開網路上找到 [7]. 而且 TBR 成功地串起 WIFI 和 Thread 的世界, 讓 Matter 這種應用可以更容易地被實現. 套句廣告詞, 這麼好的東西去哪裡買呢? 其實目前很少有純 Thread borad router 可以買, 它可能只是 WIFI router 的一個附加功能, 或者直接在某個智慧燈泡裡.

所以我們要認 logo. 下圖左邊這個 logo 表明這個 Thread device 是個 TBR, 下圖右邊這個 logo 表明它是一個普通的 Thread Device. [5]

[REF]

  1. https://en.wikipedia.org/wiki/Thread_(network_protocol)
  2. https://www.electronicproducts.com/ip-on-wi-fi-zigbee-and-bluetooth-opportunity-and-risk/
  3. https://en.wikipedia.org/wiki/Matter_(standard)
  4. https://blog.espressif.com/matter-thread-border-router-in-matter-240838dc4779
  5. https://www.threadgroup.org/Portals/0/documents/support/ThreadBorderRouterWhitePaper_07192022_4001_1.pdf
  6. https://en.wikipedia.org/wiki/Multicast_DNS
  7. https://github.com/espressif/esp-idf/tree/master/examples/openthread/ot_br

華擎太極主機板 Error Code 小整理

雖然這塊板子的優點就是有 LED 顯示開機錯誤代碼 [1], 不過跑出錯誤代碼, 卻找不到官方解釋可是個大問題. 甚至會誤導 debug 的方向, 所以我把我遇到的狀況也註記在這裡.

[官方表格]

除錯代碼定義
FF,
00 – 19
D0 – D3
請檢查 CPU 是否正確安裝,然後清除 CMOS。
0d 例外, 詳見補充表格。
31 – 3B
51 – 55
CPU或記憶體相關問題。請重新安裝 CPU 和記憶體,然後清除 CMOS。
若問題仍存在,請只安裝一個記憶體模組,或嘗試使用其他記憶體模組。
D4 – D5PCI 資源分配錯誤,資源不足。
D6
92 – 97
顯示卡或CPU內顯無法辨識。請清除 CMOS 並嘗試重新安裝顯示卡。若問題仍存在,請嘗試安裝顯示卡至其他插槽或使用其他顯示卡。
D7鍵盤及滑鼠無法辨識。請嘗試重新安裝鍵盤及滑鼠。
D8密碼無效。
9A – 9DUSB 裝置相關問題。請嘗試移除所有 USB 裝置。
E8 – EBS3回復失敗 (S3=睡眠模式)
03電腦正在進入S3狀態 (S3=睡眠模式)
04電腦正在進入S4狀態 (S4=休眠模式)
05電腦正在進入S5狀態 (S5=軟關機)
30電腦正在從S3狀態中喚醒 (S3=睡眠模式)
40電腦正在從S4狀態中喚醒 (S4=休眠模式)
AA電腦完成開機程序進入作業系統

[實際 debug 經驗]

除錯代碼實際解決方式
0d跟 Clear CMOS 或 CPU 無關. 找到 [2] 這篇開始查記憶體。
拔掉可疑的 DDR Module. 原本插 4 條, 拔掉一條可開機.
打開 fPTM, 又出現 0d, 再拔掉一條, 剩兩條 DDR 時可正常開機. 前述兩條是同一時間買的.
64VGA 輔助 power 12V 一條脫落, 換個公頭後解決

[REF]

  1. https://www.asrock.com/support/index.tw.asp?cat=Debug
  2. https://forum.gamer.com.tw/C.php?bsn=60030&snA=549896

專利申請小心得

今年七到九月一共獲得四篇美國專利,這個紀錄近期不太容易打破,所以記錄一下。2022/9/30 之後, USPTO 傳統的搜尋介面也改了, 要到這個網站 [1] 下指令,新介面我不太會用。總之,先抓圖壓壓驚。

最近也在為一個新的專利申請書做修改,所以把申請的心得整理一下。

  1. 台灣的專利申請有 10 個請求項的限制,基本申請費就要 7,000元(10項),請求超過 10 項後每項加 800 元。超過 50 頁後每 50 頁再收 500 元。所以專利事務所有時會註記某些項目只在美國申請,台灣不申請。
  2. 專利事務所的收費通常以案計酬,所以有時他們會建議一個申請案按主打項目拆成兩案。這樣事務所花 1 份多的力氣就可以賺兩倍左右的錢。此時可能分案給兩個不同的審查員,他們口味可能不同,對我們來說也多一次挑戰的機會。當然,公司要用財力支持。
  3. 獲得專利後不用馬上繳錢,此時的法律狀態在 “領證中"。等到一定期限內 (台灣是 3 個月) 把第一年專利費給繳了,這個專利才正式公告。雖然這個動作不能偷偷延長專利有效期限,但是可以省利息。( 專利權的開始為公告日那天給予專利權;專利權的到期日是申請日起算20年(發明)屆滿。新型專利10年,設計專利15年。) [3]
  4. 專利申請可能被核駁 (駁回)。駁回後可以申訴,也就是要求再審查。再被核駁可以申請行政救濟。

基本上,專利事務所的人頭腦都滿不錯的。因為他們必須很快摸熟申請人的專業,我們若申請系統專利的案件,就要細心問出整套邏輯。如果申請元件專利,那專利工程師還得懂電子、電磁、電路。另外還要有人懂美工。像我連 word 的標頭對齊都搞不太定,畫圖的框框也忽大忽小。這樣連申請推甄都會扣分,還好當年是考聯考。

對於發明人來說 (申請人是公司),建議就是想到一個 idea 就寫下來。然後儘快想個七成把握就先去公司註冊登記。通常我都是申請書寫好,老闆簽過之後,才會想到漏想這個、漏寫那個,然後半夜睡不著….怎麼沒想到可以用在哪裡!!! 然後事務所的人來訪談後,就會發現我跟申請書上講得有點不一樣, 感覺奧客錢難賺…

[REF]

  1. https://ppubs.uspto.gov/pubwebapp/
  2. https://topic.tipo.gov.tw/patents-tw/cp-783-872448-29025-101.html
  3. https://topic.tipo.gov.tw/patents-tw/lp-783-101.html
  4. https://www.tipo.gov.tw/tw/cp-56-802499-1c58f-1.html

FIPS 140 小註解

FIPS [1] 是一個安全規範, 全名為 Federal Information Processing Standards, 望文生義是個美國聯邦的規格. FIPS 基於 ISO 19790 [2] 的規範, 家族有 FIPS-1, FIPS-2, FIPS-3 等幾個版本. FIPS-1 和 FIPS-2 分別誕生於 1994 年和 2001 年, 算是老古董. FIPS-2 現已停止受理 [9]. FIPS-3 是 2019 年才出來的新標準, 將全面取代 FIPS-2.

FIPS 規範的不只是加密模組, 還包括文件, 和 source code 裡面的註解. FIPS-1 的涵蓋面包括: exact module name, hardware, software, firmware, and/or applet version numbers. 這些部分不能被竄改, 但沒有保證一定安全. FIPS-2 和以上的 level 會包含 operating platform.

FIPS-2 裡面又分成 4 個 level:

  • Level 1 可產品化的基本款.
  • Level 2 加上 physical tamper-evidence 和 role-based authentication.
  • Level 3 加上 physical tamper-resistance, identity-based authentication, 以及規定 “critical security parameters" 的 API 要和普通 API 分開 (physical or logical).
  • Level 4 需要硬體保護 (physical), 並且通過攻擊測試.

FIPS-3 除了參考 ISO 19790, 還參考 ISO 24759 [3]. 在 FIPS-2 level 2 當中, 它只提到要留下攻擊的證據, 在 level 3 才需要抵抗. 但打不過也沒關係. FIPS-3 提供一個在執行時自測的方式 (self-tests are only performed if used) [4]. 既然能在 run-time 跑, 它的演算法必須很快.

如果通過 FIPS 認證會拿到一個標章. Goole 後就會發現這 logo 居然可以有很多不同的長相. WolfSSL [4] 說: 號稱 FIPS-140 ready 或是 Design for FIPS 都是混淆視聽, 正版 logo 要通過NIST [5] 認證才算數. 所以標準長相是下圖的前兩個和右下黑白那個 (140-3 和 140-2) [6].

無論是 module 或 product 都可以過 FIPS-140 認證 (Algorithm 走 CAVP [10]). 對於 product 來說, 就是聲明 XX module inside. 目前排隊進名單的廠商非常踴躍, 以 processor 週邊硬體來說, 名單中有 CPU 兩大品牌 Intel 和 AMD 的 Cryptographic CoProcessor, 軟體有 RedHat Linux 的  Crypto API Cryptographic Module. Apple 則是同時有 Intel 版和自家 A 系列 CPU 的 corecrypto Module 都在待測之中.

這個 FIPS 認證流程叫做 CMVP (Cryptographic Module Validation Program), 想要 NIST review 要付工本費 (Cost Recovery fee). 但待測名單很長, 有 351 個 module 在等待測試的名單[7]. 已經過認證的只有 135 個 module [8]. 不知道 NIST 有沒有 super hot run 呢? 還好 Android Kernel Cryptographic Module 已經在 FIPS 140-3 Review Pending 名單之中, 所以只要用對 kernel, 就可以輕鬆上車.

[Ref]

  1. https://en.wikipedia.org/wiki/FIPS_140
  2.  ISO/IEC 19790:2012(E) Information technology — Security techniques — Security requirements for cryptographic modules
  3.  ISO/IEC 24759:2017(E) Information technology — Security techniques — Test requirements for cryptographic modules.
  4. WOLFCRYPT FIPS 140-2 and FIPS 140-3
  5. The National Institute of Standards and Technology (NIST) 
  6. https://csrc.nist.gov/Projects/cryptographic-module-validation-program/use-of-fips-140-2-logo-and-phrases
  7. https://csrc.nist.gov/Projects/cryptographic-module-validation-program/modules-in-process/Modules-In-Process-List
  8. https://csrc.nist.gov/Projects/cryptographic-module-validation-program/modules-in-process/IUT-List
  9. https://www.informationsecurity.com.tw/article/article_detail.aspx?aid=8977
  10. Algorithm 的驗證走 CAVP (Cryptographic Algorithm Validation Program)