2024 年重點回顧

雖然這件事應該是昨天以前要做的, 即使我遲交了, 還是值得做個結語.

  1. 年初學了如何用 Python 處理 Excel 表格, 這個工作上用來統計 task weighting 很方便.
  2. 考慮未來是 AI 的時代, 整年到處上課和看展, 最辛苦的是拿到一張 TensorFlow Developer 證書. 畢竟老人只能說一嘴好 AI 的話, 那就沒有啥說服力。
  3. 考慮到數據中心很重要, 我想知道它跟 AI 是什麼關係?於是做了點研究, 還拿了一張 Google Cloud 的Machine Leaning Engineer 證書.

4. 至於最花錢的課莫過於這個. 在 Amazon Skill builder 一個月花了 905.21 美金. 其實只跑了兩個 model. 因為菜鳥不懂得用完要下線, 下一個月又白白被多 charge 一次. 真是花錢如流水~~~

5. 年中老闆說部門缺專利, 我一口氣申請了 7 個. 本來想湊十個, 不過部門目標已經達成了。考慮到邊際效益遞減,我還是把腦力保留到 2025, 不需要做無效的攻擊. 整年共獲得 10 個專利, 台灣新增 6 個, 美國 2 個, 大陸 2 個. 當然這些是前幾年申請的.

6. 出差去印度, 解鎖了一個我旅行清單中偏難的項目。可惜出差行程不可能看到什麼大景, 就是到此一遊。主要亮點還是和家人去了日本和土耳其. 家庭旅遊的部份 pilot run了 “帶家人坐商務艙到處去旅行" 的願望. 重點是這年可以完全丟下小孩, 因為她自己跑去澳洲打工度假了.

2024 年都在學技術, 沒讀到幾本書. 本來說要學英日文都沒進展, 說要減重還胖了!? 這、這是冬天的關係吧! I hope so. 總之, 2024 學了一些新知識. 2025 年希望學更多知識, 也希望跟工作做更多結合.

去年年底網路上很多人 po 文說 2025 =452, 所以這是很特別的一年. 同學還找了更多組合, 像是 (1+2+3+4+5+6+7+8+9)2 = 2025 之類. 其實根本就同一件事. 既然如此, 那今年就是海綿寶寶年了! 讓我們用海綿寶寶考駕照的精神迎接一整年的挑戰吧! 诶? 不對! 他好像一直沒考上耶!? 忘掉駕照, 我們學習他的樂觀就好了. 加油!

AI 大戰 StackOverflow

我在網路課程上看到一個 trace code 的片段, dry run 看起來都很有道理. 但是實際上拿到 colab 上會跑不完. 跳出一段 error.

ERROR:__main__:Error in build_classifier_model: Exception encountered when calling layer 'preprocessing' (type KerasLayer).

A KerasTensor is symbolic: it's a placeholder for a shape an a dtype. It doesn't have any actual numerical value. You cannot convert it to a NumPy array.

Call arguments received by layer 'preprocessing' (type KerasLayer):
  • inputs=<KerasTensor shape=(None,), dtype=string, sparse=False, name=text>
  • training=None
ERROR:__main__:Error type: <class 'ValueError'>
ERROR:__main__:Test error: Exception encountered when calling layer 'preprocessing' (type KerasLayer).

A KerasTensor is symbolic: it's a placeholder for a shape an a dtype. It doesn't have any actual numerical value. You cannot convert it to a NumPy array.

Call arguments received by layer 'preprocessing' (type KerasLayer):
  • inputs=<KerasTensor shape=(None,), dtype=string, sparse=False, name=text>
  • training=None

本來看到 error 也沒啥特別的, 很多網路上的程式可能環境一變就跑不了了. 有趣的是, 把 log 丟給 Monica, 它拿去問 4 個 LLM 都解決不了. 它們分別是 GPT-4o, Claude 3.5 Sonnet V2, Gemini 1.5 Pro, LLama 3.1 405B.

基本上 AI 回答的 code 就是加了一些 try exception 和加 log, 重寫的 code 跟原來幾乎一模一樣. 換言之, code 沒什麼問題. 這就是個環境因素. 即使我自己加了下面幾行. 程式補了 import os, terminal 下補建了目錄. 還是不 work!

!pip install tensorflow_text
!pip install tf-models-official

沒辦法只好回歸原始人, 去問 StackOverflow. 果然有人遇到跟我一模一樣的問題.

https://stackoverflow.com/questions/78183834/issue-with-bert-preprocessor-model-in-tf2-and-python

唯一的差別只是這兩個 package 必須固定版本, 而我抓最新的是 2.18.0 版 就只會鬼打牆 ><|||

!pip install -U "tensorflow-text==2.15.*"
!pip install -U "tf-models-official==2.15.*"

也就是說, 人類把 AI 教得很好. 它知道什麼是對的, 並且能夠把錯得改對. 但原本就是對的, 那它就沒辦法了! 不像是人類可以思考 : “假如我們都是對的, 會是那裡錯了?" 這點對於 AGI 應該是相當重要的, 區別了能不能做創造性思考!

最後附上跑出來的結果作紀念!

關於退休規劃這檔案

最近幾個月, 網路上流傳一份叫做退休規劃的 Excel 檔. 上面的描述, 其實和我心目中的退休有些不同, 所以想要發表一下看法.

我認為退休至少有三個階段. 第一個階段是退休後還有足夠的體力, 這時候可能會過著比上班時期更花錢的生活, 而不是更少. 本來只能戰戰兢兢地遞出假單,  生怕客戶出了什麼包, 還得臨時取消假期. 既然壯年退休, 不就是應該豪邁地參加幾團 20 天深度旅遊之類嗎!? 

本來在公司吃飯都有補助, 外食很容易就百元起跳. 接著手機平板還是要買, 電視要看, 寬頻要裝, 萬一有新的遊戲機也會有興趣啊. 此外, 有些人還得幫兒女買房買車、準備聘金嫁妝 (當然, 也可以叫他們自己想辦法啦!) 因此不管怎麼算, 提前退休一定是狂吃老本. 什麼勞保、勞退、國民年金…., 除了勞退可以在 60 歲就領月退, 其他都要撐到 65 歲. 如果按照 Excel 表的大水庫去規劃, 說不定還等不到 65 歲就負債累累了~~~

總之, 如非鉅富, 這種退而不休的 “享受期" 絕不可能太長.  另外, 口袋再深, 身心狀況也是個天險. 總有一天會覺得體力不堪負荷, 或者精神上產生厭倦, 接著自然而然就會減少消費. 像是車也不想開了, 旅行也不想去了. 如果身體還硬朗就會進入一般認知 “退休期". 此時顧慮量入為出, 只會花點小錢, 若股利、債息用不完還可以再投資. 

我們存退休金, 主要就是應付這個退休期. 畢竟財力準備不夠的人, 本來就沒有享受期這個選項.  我們要確保各種收入 (勞退、勞保、國保、房租、利息、老人年金、股息、債息、還本保險….等等) 大於等於我們的開銷. 如果這個階段就入不敷出的話, 立刻就要吃到不動產或是投資的老本了. 這些錢應該是第三階段才能用到的.

第三階段就是身體不好的階段, 相當於 “養病期". 天天吃藥看醫生, 錢都奉獻給了看護, 未來的日子也不會太多了. 此時應該把房子反向抵押 [1] 給銀行拿現金, 股票債券一點一點賣, 把老本吃完為止. 如果錢花光了還沒有死…呃, 那就聽天由命了.

說了那麼多, 舉個例子. 某甲辛苦存了 1,000 萬, 計畫 55 歲的時候退休. 打算爽爽月花 10 萬享受, 到了 60 歲才正式減少開支, 進入退休期. 到 80 歲之後每個月只花 5 萬元. 但因為某甲 ˊ60 足歲才開始有勞工月退俸入帳, 在扣除通膨, 殖利率 3% 的條件下, 活到 66 歲就會入不敷出了, 卒!

年齡 支出金額 (月) 固定收入 (月) 理財收入 (月) 盈虧金額 (月) 盈虧金額(年) 期初本金 期末本金 下年度股息
55 100K 0 27,318 (72,682) (872,182) 10,000,000 9,127,818 273,835
56 100K 0 22,820 (77,180) (926,165) 9,127,818 8,201,653 246,050
57 100K 0 20,504 (79,496) (953,950) 8,201,653 7,247,702 217,431
58 100K 0 18,119 (81,881) (982,569) 7,247,702 6,265,133 187,954
59 100K 0 15,663 (84,337) (1,012,046) 6,265,133 5,253,087 157,593
60 100K 0 13,133 (86,867) (1,042,407) 5,253,087 4,210,680 126,320
61 75K 2,141 10,527 (62,332) (747,988) 4,210,680 3,462,692 103,881
62 75K 2,141 8,657 (64,202) (770,427) 3,462,692 2,692,265 80,768
63 75K 2,141 6,731 (66,128) (793,540) 2,692,265 1,898,725 56,962
64 75K 2,141 4,747 (68,112) (817,346) 1,898,725 1,081,379 32,441
65 75K 2,141 2,703 (70,156) (841,867) 1,081,379 239,512 7,185
66 75K 29,781 599 (44,620) (535,443) 239,512 (295,930) (8,878)
67 75K 29,781 (740) (45,959) (551,506) (295,930) (847,436) (25,423)

想要達成這個退休計畫, 只有兩個方法. 第一就是多存點錢, 估計某甲存到 1,850 萬他就可以這樣幹, 即使活到 120 歲錢都夠用.  第二個方法就是縮短或是跳過享受期, 每個月都少花點. 如上表所統計, 某甲 (全家) 短暫的一生只花了 1,350 萬, 比原來 “退休規劃" 中的普通版 1,500 萬還少, 並不是他花太多, 而是花太快.

回歸到我寫這篇的初衷 – 不要只看總量, 要概算出每年的現金流量. 即使總數正確, 但其中一年財產會歸零, 這也無法忍受吧! 更何況每年的投資收入原本就會有變化. 如果退休後任何風險都不能承擔 – 甚至連想賣房子都沒得賣, 那只好一開始就把錢存夠, 然後定存取年息 1% 過日子. 按照某甲原本的退休規劃, 估計沒有先存個 2,100 萬, 他將吃不到 100 歲的生日蛋糕喔!

[REF]

  1. 住房反向抵押貸款

 

VUDU Spark Unboxing

As everybody knows [1], VUDU annouced her own streaming dongle – VUDU Spark just like Google Comcast and Amazon Fire TV did recently. By noticing the famous “PREFIX", you can easily find out that each dongle has a rich father stands behind it. Google has ECO system advantage, Amazon has on-line stires. How about VUDU? VUDU dongle is now available in 2400 Walmart stores because Walmart acquired VUDU in 2010. So VUDU Spark has off-line store to support it.

VUDU Spark is sold at only $25, it is the most inexpensive product in the market comparing to Comcast ($30), Amazon’s Fire TV ($40), Ruku’s streaming Stick ($50)…etc. However, VUDU Spark is also bundled with $25 credit for movie rental, so it is actually free of charge.

After you open your pack, you can also see a USB power cord and and a RF remote controller. If your TV set does not have a USB port, you can use your mobile phone adapter instead. As to the Zigbee remote controller, it is very convenient for users to control the dongle from 10 meters aways. Even the HDMI dongle is usually plugged behind the huge TV panel.

The playback style of VUDU Spark can be explained by the pciture below. At the upper left corner, you can find out the move title is “Alice in Wonderland". The control bar is placed below and the cyan bar above it is the progress bar. Since the movie almost ends, the bar is also almost full. The center area of the screen is for the (big) subnails. You can use directional keys to browse interested scenes forward or backward, when you press OK, the highlight scene will start to play from here.

At the upper right corn of the screen shot above, you can see VUDU Spark provides DDP and WIFI signal strength indicator, and HDX sign (means higher than HD quality). 

Each movie title and TV show has 3 levels of qualities. It all depends how well the WIFI strength is. How do you know that? You can use the embedded Network Speed Test to measure the bit rate from your TV to VUDU servers. Just like it shown in the pciture below.  

Then ,what happened if the WIFI quality becomes worse during the playback? In this case, VUDU Spark will try to rebuffering enough data for about 3 times. If it fails too often, system will recommend you to try lower bit rates. The selection button of video quality is the 3rd icon (from left side) of the control bar in the previous picture.

Of course, VUDU Spark is not the only dongle in the market. and VUDU is not exclusively existed in SPARK. But the number of HDMI port of a TV is limited, if user gets used to play VUDU Spark, it will occupy one HDMI port for a long time. That will be good to VUDU. Otherwise, users may also broswse some Netflix, some HULU+, some Youtube,…, this kind of thinking may explain why VUDU is willing to sell this VUDU Spark for “free". 

[REF]

1. Walmart’s $25 Vudu Spark streaming stick is now available to the masses

2. Walmart acquired Vudu in 2010

問卷的解讀

一般製作問券的人都有先入為主的觀念, 準備好標籤和帽子之後, 等著填問券的人上鉤. 也很有趣的是, 被貼標籤的人也樂此不疲. 或許自由的思考本來就是危險的, 人類很想知道自己是什麼? 所以並不介意被貼標籤.  比方說: 人們早就習慣以十二生肖, 姓名筆劃, 生辰八字, 十二星座, 血型,…甚至是塔羅牌來為自己定位.

從四張塔羅牌中選一張, 來判斷當事人應該怎麼做, 這應該是最簡單的問券了. 然而, 這麼玄妙的分類都有人相信, 那麼經過權威機構包裝的統計分析, 效果就更加厲害了. 一般人將會很容易認同這種解籤詩的方式, 而失去自己的想法.

昨天讀到了擱置很久的八月號 Cheers 雜誌,裡面有個“比現在薪水更重要的事”的問券分析。大意是說, 58.7% 的人對自己目前的薪水不滿意. 而大家認定比目前薪水更重要的事, 依序是這些:

1 做自己有興趣的工作 23.1%
2 工作前景看好 15%
3 遇上好公司好老闆 11.7%
4 建立人生目標 11.4%
5 同事好相處 11.3%
6 投資理財 8.5%
7 拓展人脈 7.5%
8 培養第二專長 7.1%
9 強化自己的第一專長 3.2%
10 以上皆非, 沒有事比薪水更重要 1.2%

這應該怎麼解讀呢? 雜誌上說認為第 2,3 項不能操之在我, 卻得到高票; 能夠自己掌握的 6,7,8 項沒啥人選, 甚至連第 9 項: 強化第一專長的意願都特別偏低, 所以上班族的想法 "令人擔憂". 但是我覺得這個結果相當合理, 沒有什麼好擔憂的. 值得擔憂的是雜誌社, 大家覺得重要的東西, 他們若是不能提供服務, 專題就做不下去了.

這裡面不可控制的天分因素和技能養成所需要的環境和時間, 當事人也並非全無覺悟. 因此暫時或是認命地接受現在的環境, 恐怕才是大多數人心理的想法. 畢竟不滿意薪水的比例 (58.7%) 遠遠多過於業界的離職率 (依經驗估計是 15%). 雖然悶但不離開, 正是其他因素發揮了作用, 這正好解釋了: 興趣, 同事, 老闆, 大餅 (前景),…得以名列前茅的原因.  

何茲伯格(F.Herzberg) 在 1950 年代就提出激勵保健因素的說法. 此理論說大部分的人 (調查對象是工程師和會計師) 的不滿意感往往都是來自 "外在環境", 而滿意感多來自工作的本身. 所以工作的本身 (第一專長的部分) 通常都可以令人接受, 否則他們早就改行了. 至於工作中容易引起不愉快的 "工作環境" 等等, 則稱為保健因子, 用來與激勵因子相區隔.

保健因子一般包括:工作場所、薪水、工作保障、監督、人際關係、組織政策 (from wiki). 基本的薪資是保健因子, 吃不飽飯, 養不起老婆孩子就一定會不滿意, 這與從事什麼工作沒有關係. 超高的薪資是激勵因子, 有了會更高興, 但是它的邊際效益遞減, 屆時再多也不能改變什麼. 當然, 兩者的界限也是模糊的. 本來對自己薪資很滿意, 後來被超過三個人譏笑後就變得不滿意的也所在多有.

問券中的第一名恰好就是 "工作本身", 而前幾名幾乎都是保健因子? 前景, 好公司是工作場所 + 工作保障 + 組織政策 + 薪水, 好老闆算是工作保障 + 監督 + 人際關係 + 薪水, 同事和人脈都是人際關係. 薪水滿意但是討厭同事的人, 或是不滿薪水但是喜歡同事的人都可能勾選 "同事關係比薪水重要".

同樣地的道理, 若是調查現在的正在交往的男女, 什麼東西比 "維持現狀" 更重要? 回答 "找到真愛" (vs 做自己喜歡的事) 的應該還是最多, "保持現狀就好, 其他都不重要" (vs 除了現在的薪水…) 的應該也是最少.