跳至主要内容

跑錶

· 閱讀時間約 4 分鐘

從去年(2024)四月開始每天跑步之後,我買了一支跑錶,這支跑錶可能是我近年來覺得最值得、最改變生活方式的購買,不誇張。

You Are What You Measure(你就是你測量的東西)

有一句常被歸功於管理大師彼得杜拉克(Peter Drucker)的名言:

You can't improve what you don't measure.

(你無法改善你沒測量的東西。)

就像想要減肥時需要體重╱體脂機一樣,如果想要改善身體,對各種數據量化管理也是很重要的。沒有數據的話,主觀感受往往會欺騙你:你可能覺得今天跑得很快,但實際上比昨天慢了一分鐘;或是覺得自己睡得不錯,但其實深度睡眠時間嚴重不足。

有用的跑錶功能

這真的不是業配文(Wiwi.blog 這裡永遠不會有業配文,除了我自己的產品以外),但如果你想知道的話,我跟檸檬卷目前都是戴 Garmin 的 Forerunner 255,我用的是一般版,她的是縮小版。

以下是一些我覺得真的對生活很有幫助的跑錶功能:

  • 🏃‍♂️ 跑步時的定位、自動每公里計時、心率、消耗熱量計算:跑步時,即時知道自己的配速和心率是超級重要的(所以我覺得我朋友 JR 能不靠跑錶跑半馬超強);雖然用手機也能做到,但拿著或綁著手機跑我覺得很不舒服耶,而且長時間握著手機跑步的話,跑完手可能會張不開。
  • 🏀 其他戶外運動監測:在公園打籃球時,跑錶會用 GPS 定位記錄你在場上跑動的距離,監測心率,估計消耗熱量,讓你知道自己到底是在打籃球還是只是在場上散步。
  • 🔋 身體負荷狀態:它會監測每天的活動,告訴你現在身體的負載有多大,避免過度訓練或訓練不足。
  • 💤 睡眠分數、睡眠教練:每晚它會給你一個睡眠分數,讓你知道自己究竟睡得如何。你可以把它當作一個遊戲,每天想辦法提升分數。跑錶也會根據當天的身體狀況,精確地建議你應該要睡多久。
  • 🔥 動態卡路里:跑錶的熱量計會把「因為運動而多消耗」的熱量額外顯示出來,也可以像是玩遊戲一樣地想辦法提升這個數字。
  • 🎮 最大攝氧量(VO2Max)估計:你可以把最大攝氧量數值當作是體能的等級,想辦法努力提升就對了。每天看這個數字就好像是玩 JRPG 練等級一樣,但跟遊戲不同的是,提升這個等級對人生是真的有實質幫助的。我已經從去年的 46 練到 55 了,每升一等都是不簡單的喔!

健康的「被數據綁架」

總之,對於想要改善身體的人,特別是有跑步習慣的人來說,我覺得跑錶非常值得投資!不一定要買 Garmin,但有了數據,就會讓你有進步的動力和方向。

與其被社群媒體上的愛心數和觀看數字綁架,不如來追求真實世界的身體數據;當所有 App 都在爭相讓你多滑五分鐘的時代,只有跑錶是真心希望讓你多活五年。這可能是現代人唯一能「被數據綁架」卻反而更健康的情況吧。

自走式拉鍊

· 閱讀時間約 2 分鐘

全球最大的拉鍊製造商 YKK(你身上衣服的拉鍊八成就是他們做的),最近開發出了「會自己拉」的拉鍊!他們是把齒輪和馬達內建在拉鍊中,透過有線控制器就能實現遠端操作,讓拉鍊自己動起來。1

YKK 釋出了兩個 YouTube 影片:

  • 第一個示範了在室外環境下,兩片五公尺高的布被「自走式拉鍊」自動拉合;
  • 另一個是在室內,把兩座氣柱式帳篷用拉鍊連接。

這兩種場景都是以前用人去拉拉鏈會很麻煩的情況。

我已經預想到這個科技在幾年後會怎麼樣被濫用了。不久的將來,我們恐怕會看到「智慧牛仔褲」的廣告:

「只要下載專屬 App,你就可以用手機控制拉鍊!支援語音指令『嘿,拉鍊,開開!』,還能遠端操控所有已配對的智慧服裝。一切只需要每個月五美金的訂閱費!」

當然,廣告絕對不會告訴你的是,你可能會在尿急時收到「您的拉鍊 App 需要更新(300 MB)才能繼續使用」的通知;更別提駭客也可能入侵你的智慧拉鍊,讓你在公眾場合突然露鳥,這可就變成真正意義上的「資安外洩」了。

Footnotes

  1. https://www.ykk.com/newsroom/g_news/2025/20250424.html

FFmpeg

· 閱讀時間約 4 分鐘

最近收到一封讀者來信。信裡提到他的一個困擾:

  • 他有一個資料夾,裡面堆滿了日常的螢幕截圖,久而久之很難以整理
  • 他希望電腦能在每天晚上 11:55 自動把這些截圖做成影片,以當天日期命名存檔
  • 他已經問過一些人,都沒有得到解答,認為這是個「難以實現」的困難需求

其實這個問題一點都不困難!這個聽起來需要高級程式設計技巧的任務,其實只要兩個簡單的終端機工具就可以搞定了:

  • ffmpeg - 有關影片、聲音的萬用工具(所有作業系統都有)
  • crontab - 自動排程工具(Linux 和 macOS 有內建)

FFmpeg:超好用(但一般人不知道)的影音工具

FFmpeg 是多媒體界的萬用工具,它可以處理幾乎所有跟影片、聲音檔案相關的任務──不管是轉檔、剪輯、縮放、合併、效果⋯⋯只要你想得到的,它八成都能做到。更重要的是,它是完全免費且授權自由的軟體!

雖然 FFmpeg 是一個純文字工具,沒有花俏的圖形介面,但基本操作其實很簡單。例如,想把一個 .mp4 影片檔案轉成 .wav 聲音檔?只要簡單的一行指令就可以了:

ffmpeg -i 原始影片.mp4 輸出檔案.wav

說到 FFmpeg 的強大,好和弦頻道的內嵌字幕也是用它製作的。我甚至曾經做過一個「把 256 部影片同時播放」的影片,也是靠 FFmpeg 才能完成的。

(這不用 FFmpeg 真的做不到!你可以嘗試把 256 個影片拉進 Final Cut Pro 或 Premiere 的時間軸,然後享受電腦變成暖爐、原地當掉的過程。)

將圖片合併為影片

回到讀者的問題,要把當下資料夾裡面的所有 .jpg 圖片檔合成影片,並且用當天日期命名,也只需要一行指令:

ffmpeg -framerate 1 -pattern_type glob -i "*.jpg" -c:v libx264 -pix_fmt yuv420p -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2" "$(date +%Y-%m-%d)_screenshots.mp4"

以上指令的意思是:

  • framerate 1:一秒播一張圖片(你可以調整這個數字來控制播放速度)
  • -pattern_type glob -i "*.jpg":讀取當下資料夾中所有的 .jpg 檔案
  • -c:v libx264 -pix_fmt yuv420p:使用最常見的 H.264 和 YUV420P 編碼,確保大部分裝置都可以播放
  • -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2":把解析度調成 1080p、保持圖片長寬比、置中、並且在周圍填上黑色
  • "$(date +%Y-%m-%d)_screenshots.mp4":以「年-月-日_screenshots.mp4」格式命名輸出檔案(例如 2025-04-29_screenshots.mp4)

Cron:讓電腦在你睡覺時自動工作

有了把截圖變成影片的方法,接下來只要讓電腦自動在每天晚上 11:55 執行就可以了。這時候你可以用 Linux 和 macOS 都有內建的自動排程工具 crontab

只要在終端機裡輸入 crontab -e,它就會打開一個文字編輯器,在裡面加入以下內容並存檔即可:

55 23 * * * cd /截圖資料夾/路徑 && ffmpeg -framerate 1 -pattern_type glob -i "*.jpg" -c:v libx264 -pix_fmt yuv420p -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2" "$(date +%Y-%m-%d)_screenshots.mp4"

這段文字的意思是叫電腦在每天 23:55 時,先進入截圖的資料夾(cd),然後執行剛才的 ffmpeg 指令。以後你就可以安心睡覺,醒來後就會發現昨天的截圖已經被自動整理成影片了!

你不需要記得這一切

最後要強調的是,你完全不需要記得以上這些複雜的語法!你只需要知道「有這些工具的存在」,以及會在終端機裡做簡單的操作即可。

詳細的語法只要問大型語言模型就可以了。例如,進到 Claude 或 ChatGPT 裡,問:「我想用 FFMpeg 在一個影片當中,每隔 10 秒截一張圖存檔,要怎麼做?」1,它就會自動產生語法,然後你只要貼進終端機裡,頂多改一下檔名、路徑就可以囉!

別害怕終端機和純文字介面工具,它們是隱藏在你電腦中的強大神器;有時候只要一行指令,就能完成你過去用滑鼠點來點去半小時才能做到的事,再也不需使用怪怪的網站上的怪怪的工具,真的用過之後就回不去了!歡迎看我的這篇貼文來入坑終端機。

Footnotes

  1. 解答:ffmpeg -i input.mp4 -vf "fps=1/10" output_%04d.jpg

平價牛排

· 閱讀時間約 2 分鐘

跟檸檬卷去板橋玩,在板橋後站附近找到一間平價牛排館。我超級久沒有享受到這種台式牛排了!我住的地方附近都沒有這種店,彷彿平價美食都已經被高租金驅離市中心似的。

我點了沙朗牛跟雞腿排雙拼。原本會有鐵板麵,但不想吃澱粉的話可以把鐵板麵換成蛋(所以總共會有兩顆蛋),肉上桌時的鐵板滋滋聲和黑胡椒醬的香氣好爽啊!

餐前有附一碗真的很不錯喝的酥皮濃湯,還有提供我最愛的 A1 牛排醬和好久不見的 BB 辣醬(小時候超愛在炒飯當中加這個),當然自助飲料吧(我不喝含糖飲料所以沒喝)和冰淇淋(用的是品質還不錯的餅乾筒)也是不能少的!

所有這些──雙拼主餐、濃湯、飲料、冰淇淋──只要 350 元!當然肉的品質不能跟 Smith & Wollensky 相提並論,但是以這個價位來說,已經沒有什麼好抱怨的了。

反觀我在台北市中山區,花同樣的 350 元可能只能吃到一碗沒什麼料的麵;天龍國的物價真的太可怕了,真的是每天都在當盤子

我們吃完之後又去附近的中和環球購物中心逛,裡面店家的價格也比台北市親民很多。

如果你住在台北市,偶爾去板橋晃晃、吃吃喝喝真的不錯,去了才會發現自己每天繳的「台北市民」有多高。

花花

· 閱讀時間約 2 分鐘

我突然意識到,在這個 blog 上我還沒有曬過狗,這真是一大疏忽,今天就讓我來彌補這個重大的缺失。

她是花花,女生,今年十歲。

嚴格來說,花花不是我的狗,而是檸檬卷家的狗;但因為我很常去檸檬卷家,我跟花花還是培養了一定的感情的。

去檸檬卷家的時候,我們常常都會帶花花到河堤去散步。她是那種不需要牽繩也不會亂跑的狗。在河堤的時候她會自由地到處玩耍──看看這裡、聞聞那裡,但同時總是時刻掌握主人目前的位置。當我跟檸檬卷故意分開一段距離時,花花會在我們兩個人之間往返奔跑,確認我們兩個都還在視線範圍內。

最近檸檬卷想帶花花去洗牙,我才發現原來狗狗洗牙算是一個「小手術」,不但需要全身麻醉、而且超級無敵貴!原來我們身為人類可以洗牙是這麼幸福的事啊,最近去洗一下好了。

其實我從小就是狗派的,我甚至有點討厭貓(因為小時候被鋼琴老師家的貓攻擊過);但命運總是充滿戲劇性──我後來反而先養了貓,然後變成了一個超級貓派!

但我還是很喜歡狗啦,我夢想以後有一天我可以在家裡同時擁有一狗一貓。老實說,同時擁有一狗一貓比養育兩個人類小孩吸引我太多──牠們不會要求你買最新的 iPhone 給牠、不用接送牠們上才藝班,也不用擔心校園霸凌或青春期叛逆問題。可惜目前住的地方不方便養狗,希望以後有那個機會實現我的「毛孩家庭」夢想了。

雷雨天玩手機

· 閱讀時間約 3 分鐘

你家有電子設備被大雷雨時被閃電打壞的經驗嗎?我在這輩子好像才發生過一兩次,都是很久以前了。住在台北的好處之一,就是一整年好像也不會有幾天是大雷雨,所以不太需要擔心雷擊的問題。

不過關於雷擊的危險,還是知道一下比較好。巴西聖保羅大學能源與環境研究所的研究指出,雷雨天不只可能會弄壞電子設備,甚至可能會要人命!特別是當你正在做一件很日常的事:一邊充電一邊用手機。

⚠️ 研究原文 PDF 連結

兩個真實案例:

  • 2022 年 1 月 4 日在巴西伊塔帕熱(Itapajé),兩位兄弟在家中因電擊意外喪生。事發經過是,在雷雨天時,其中一位兄弟在將手機充電器插入插座時,發生了強烈的電擊,影響到了另一位兄弟,兩人當場倒地失去意識。兩兄弟被送往市立醫院急診室時,已經沒有生命跡象。(新聞連結
  • 同年 5 月 8 號,一位 43 歲公務員,在使用連接電源的手機時遭到電擊身亡。(新聞連結

研究人員收集了實際發生的事故資料,測量了手機充電器的特性,以及用鋁板模擬人握住手機的情況;最後用一種叫 EMTP 的軟體來模擬整個「雷電→室外輸電線→變壓器→家中電線→充電器→手機→人體」的電流路徑系統。

結論是,當閃電擊中家附近的電線時,一部分的強大電流會通過這條路徑,最終到達手中的手機:

"Figure 14 shows the magnitude and waveform of the current circulating in the victim's heart. It can be seen that the current reaches a peak value of 23 Amperes... The current values can cause severe damage to the victim and cardiac arrest, indicating that using a smartphone charging from the socket in a rainy situation with lightning is hazardous for users."

(圖 14 顯示了通過受害者心臟的電流大小和波形。可以看到電流峰值達到 23 安培⋯⋯這些電流可能造成嚴重傷害和心臟驟停,表示在雷雨天時使用正在插座充電的手機,是非常危險的。)

要知道在一般情況下,只要 0.1 安培就可能致命了,可見 23 安培是多可怕的數字。

至於要怎麼防範?研究報告的最後一段給了四個建議

  1. 👋 雷雨期間避免摸到插著電的電子裝置
  2. ⚡️ 安裝突波保護器,並且定期檢查
  3. 🔌 一發現開始打雷,立刻把手機充電器從插座上拔下
  4. 🏠 確保家中的電氣接地系統正常

我幾乎從不一邊插電一邊用手機,不是因為我特別謹慎,而是因為我用的是去 Google 化的自由軟體系統手機。沒有 Google 的跟蹤間諜程式碼,手機電量超持久!看來自由軟體不只可以讓人逃離科技巨頭的監控,還有防止被雷劈的額外好處。

網路已死

· 閱讀時間約 3 分鐘

各位人類們,恭喜大家,我們正式成為網路上的少數族群了!

根據 2025 年最新出爐的 Imperva 不良機器人報告(Bad Bot Report),網路上的機器人流量首次超過了人類,佔所有網路流量的 51%!

網際網路死亡論」(Dead Internet theory)已經不再是一個陰謀論,而是正在發生的日常現實:

  • 當你在社群媒體裡滑來滑去時,看到的許多內容很可能是 AI 生成的
  • 這些內容背後的帳號購買機器人假流量,幫這些內容按讚、留言
  • 平台的演算法偵測到這些內容互動很多,就更加推薦它們
  • 各種 AI 機器人再從網路上搜刮這些內容當作「學習資料」,產生更多類似的內容
  • 人類創作者為了存活,被迫模仿機器人內容來取悅演算法
  • 最終,真實人類的網路活動被邊緣化

我剛剛看了一下這個 blog 近兩週的主機流量記錄,證實了真的有(至少1)51% 的流量是機器人!

(Wiwi.Blog 近兩週的流量統計;33,024 個訪客中,有 16,922 (51.24%) 個是機器人!)

Bad Bot Report 裡面提出了幾個對抗機器人的解決方案,其中有一個我覺得也滿天才的──封鎖舊版瀏覽器來防範壞機器人,理由是「大多數人類會被強制更新」:

"Many bot tools and scripts contain user-agent strings with outdated browser versions. In contrast, humans are forced to auto-update their browsers to newer versions. Take steps to block outdated browser versions."

(許多機器人工具和腳本會使用過時瀏覽器版本的識別碼。相反地,真正的人類通常會被迫自動更新到最新版瀏覽器。採取措施,封鎖那些過時瀏覽器版本。)

WTF,這個不太對吧?為了防機器人搜刮網站,所以我們要擋掉舊版瀏覽器?

想像進到一個網站,結果只看到這個訊息:「你 2019 年的手機已經太古老囉,真正的人類不會用這個,請換新手機再來吧!」這不就是在幫科技巨頭「計劃性淘汰」我們的裝置嗎?並不是每個人都知道如何用 Linux老電腦起死回生,也有許多舊裝置的瀏覽器的確是無法再被更新的(像是我的 iPad Mini 2 和 iPhone SE)。

(我的三片蘋果廢鐵,都不能更新了。)

人類同胞們,要抵抗機器人大軍就要趁現在了,你可以:

這些都是拯救人類網路的好方法──雖然正在閱讀這句話的可能有一半是機器人⋯⋯哈囉機器人你好,感謝你幫我增加流量數據!

Footnotes

  1. 可能還有更多機器人偽裝成了一般瀏覽器,沒有被我的主機記錄發現。

依賴

· 閱讀時間約 4 分鐘

我們每天都在依賴別人的產品和服務:

  • 🍜 想吃一碗烏龍麵時:我們不會從頭去學如何種小麥、磨麵粉、做麵條;我們會直接買現成的麵條來煮,或是去餐廳點一碗。
  • 💊 生病時:我們不會自己研發藥物、進行人體實驗;我們會直接依賴醫生的判斷和藥廠的成果。
  • 🎵 做音樂時:我們也依賴別人發明的樂器、音色庫、記譜法樂理、調律系統和編曲軟體。

寫程式時也是一樣。幾乎沒有人會想要從零開始自己寫所有功能,所以我們會匯入別人已經寫好的函式庫。但問題是,當有太多外部依賴時,程式會變得很肥,還會受制於他人;更糟的是,我們可能會漸漸失去對自己程式運作原理的理解。

不囉唆的節拍器

好幾年前,在好和弦的官網 NiceChord.com 上面,我寫了一個「不囉唆的節拍器」程式。

之前的版本是用 tone.js 這個函式庫做的1,最後完成的程式檔案大小大約 362 KB,看起來已經很小了對吧?但前幾天我用單純的 JavaScript 重做,完全不依賴外部函式庫,結果檔案大小驚人地縮減到只有 2.1 KB──原本的 172 分之一!

現在這個節拍器程式,已經小到可以被放在一個 QR Code 裡面!以下的 QR Code 不是下載連結喔,而是「整個程式」本身!只要掃描它,把內容文字存成 .html 檔就可以直接使用。

(這可能是網路上唯一一個可以印在便條紙上的節拍器了。)

減低依賴

說到減低生活上的依賴,我最愛的例子應該是離開 Evernote 這件事。

我曾經有很長一段時間使用 Evernote 在作筆記,但 Evernote 的依賴超多:

  • 需要使用特定的專有 App 才能編輯筆記
  • 筆記的儲存空間需要每個月持續付費
  • 要同步筆記,需要依賴單一廠商的雲端服務
  • 雲端服務需要依賴持續的網路連線
  • App 本身也需要依賴新版的 macOS 和 Windows 系統運作
  • 而要更新到新版的 macOS 和 Windows,都依賴你擁有特定的硬體或網路帳號

要使用 Evernote 作筆記,我就得要滿足這些依賴性。再加上,如果 Evernote 突然改變介面、大幅漲價,或者最糟的情況──倒閉,我的筆記就像被綁架的人質一樣,付了贖金都不見得拿得回來。

我現在已經改用 Markdown 檔案來做筆記,Markdown 可以被幾乎任何文字編輯器開啟,不依賴任何特定 App 或作業系統,也可以很輕易地配合任何形式的雲端同步服務。

更低依賴性的作法是使用鉛筆和筆記本,這樣的話連電腦和電力都不依賴,永遠都不會遇到系統更新或格式不相容的問題。當然,你得要小心別把咖啡打翻在上面(紙張對液體的相容性仍然有待改進)。

這個網站的依賴性很低

你現在所在的 Wiwi.Blog 網站也不依賴複雜的科技。它只是很單純的靜態網頁,不需要高速的電腦也能流暢瀏覽,甚至連「現代」的瀏覽器都不是必要條件。就算是用超極簡的 Dillo,或者終端機裡的純文字瀏覽器如 w3m,都還是可以順利閱讀內容。

(Wiwi.Blog 在超低科技極簡瀏覽器 Dillo 也可以正常運作)

健康的依賴關係

檢查自己生活和工作中的「依賴鏈」,看看其中是否有環節是被單一公司壟斷的。如果有的話,考慮調整工作方式,或至少準備一套備用方案。這樣當這個脆弱的環節出問題時(它一定會出問題的),我們才不會手忙腳亂。

我們雖然無法避免所有的依賴,但至少可以避免那些「今天不更新就無法使用」的 Apps。謹慎地挑選依賴對象吧!

Footnotes

  1. 它就是一些別人寫好的,讓你在網頁中可以發出聲音的程式碼。
    https://tonejs.github.io/

😀💬

· 閱讀時間約 1 分鐘

📊😀😁😂🔢3️⃣7️⃣9️⃣0️⃣,🔜🇹🇼📚4️⃣8️⃣0️⃣8️⃣。

Unicode v16.0 標準定義了 3,790 個表情符號,已經快要跟教育部頒布的《常用國字標準字體表》的 4,808 個字一樣多。)

😀🟰🈶,🔢🇹🇼✏️🔄。

(如果每個表情符號能剛好對應到一個中文字的話,數量已經足以當作一套中文的替代書寫系統了。)

📄🚫🎨🖌️🖼️,👉😀✨👌:

(現在在文章裡也不太需要插入美工圖案了,用表情符號就好:)

  • 🚫📎📁,➕💾。(不需要額外夾檔,又省空間。)
  • 📄📝,😀🎀✨👍。(排版時當作裝飾也很好用。)
  • 🌍🌐,🔍😀💯。(幾乎任何場合都可以找到搭配的表情符號。)

🗿🇪🇬📜➡️📱😂🤣,👥📞💬🔙⏳。

(從埃及的象形文字到現代的表情符號,人類的溝通方式完成了一次偉大的復古。)

咔~呸~

· 閱讀時間約 2 分鐘

每天早上在公園跑步時,繞不到一兩圈,就可以聽到周遭有人在「咔~呸~」;這些在公園周遭草地上吐痰的,幾乎清一色是老男人。

其實我喉嚨也常常會卡痰,但我從來沒有想過要在公共場所把痰吐出來;卡痰的話,不是清一清喉嚨之後吞下去就好了嗎?吐出來真的會比較舒服嗎?而且,當你旁若無人大聲「咔~呸~」的時候,沒想過周圍的人正在努力壓抑他們的反胃感嗎?

或者是我還太年輕(今年就要 40 了,我的天),還沒體會到吐痰的真諦?也許到我六、七十歲時,我也會成為公園中那個豪邁「咔~呸~」的老男人,誰知道呢?

說到「咔~呸~」,之前檸檬卷很愛吃的一個巧克力捲「Caprice」,也被我們戲稱為「咔~呸~」。(沒錯,我剛剛把我們的私密暗號分享給你了)

(圖片來自 papadopoulou.gr 官網)

這款「Caprice」在全聯就買得到;我跟檸檬卷一致同意它是世界上最好吃、餡料最濃郁的巧克力捲!真心不騙!它有一種神奇的魔力,一不小心就會一次把整罐(115 公克∕550 大卡)吃掉,讓你體重數字急速飆升。因為它太危險了,所以我們現在都不敢輕易購買。