跳至主要内容

74,900 元

· 閱讀時間約 3 分鐘 ┊ 純文字版

只要台幣 74,900 元,你就可以買下這支 256 GB 的 iPhone Duo。

或者,你也可以買以下這些東西:

🎬 影音╱Podcast 創作組合​

全套影音創作組合!不只能製作高畫質的 YouTube 影片,還能經營四人一起講話的 Podcast 節目!

  • Sony ZV-E10 附 16-50mm 鏡頭組(19,931 元)
  • Shure SM58 動圈麥克風 × 4(3,990 × 4 = 15,960 元)
  • AKG K240 Studio 監聽耳機 × 4(2,850 × 4 = 11,400 元)
  • Zoom PodTrak P8 錄音介面╱桌上型錄音機(12,980 元)
  • 256 GB microSD 記憶卡 × 2(2,000 × 2 = 4,000 元)
  • 麥克風架 × 4(4,000 元)
  • 相機腳架(1,500 元)
  • 高級的 XLR 麥克風線 × 4(2,000 元)
  • 還剩 3,129 元,可以請三位 Podcast 來賓吃晚餐!

💻 自由的全新筆電╱手機組合​

漂亮的全新筆電和手機!Framework 的 Linux 相容性超級好,而且超容易自行維修;而 Pixel 可以改灌 GrapheneOS,讓你逃離 Big Tech 的監控!

  • Framework Laptop 12,配備 Core i5╱16GB╱500GB,Linux 作業系統(42,850 元)
  • Google Pixel 10 (256 GB)(26,490 元)
  • 還剩 5,560 元,可以買漂亮的貼紙、手機殼和筆電背包!

♻️ 二手 ThinkPad 好讚!​

七年前的旗艦級 ThinkPad,現在跑起來依然飛快,配備你這輩子用過最好打的鍵盤,Linux 相容性 100%。好筆電就是要全家一人一台!

  • 七台 ThinkPad X1 Carbon Gen 6-7 等級1的二手筆電(10,000 × 7 = 70,000 元)
  • 給爸爸、媽媽、哥哥、弟弟、姊姊、妹妹一人一台,自己也一台
  • 還剩 4,900 元,大家一起去吃熱炒!

🎲 別的東西​

  • 🍜 374 碗牛肉麵(以一碗 200 元計),一天一碗,可以吃到 iPhone Duo 保固到期之後第九天。
  • ✈️ 台北到東京來回十趟的機票(廉航)。
  • 🍿 Netflix 標準方案訂閱 16 年(380 元╱月)。
  • 👔 用最低工資請一位員工兩個半月(29,500 元╱月)。
  • 🎹 一台狀況很不錯的二手直立式鋼琴,含搬運及調音。
  • 🏍️ 跟我的小紅同款的 Yamaha「勁豪125」機車、配備碟煞,這才是真正的「行動裝置」。(73,000 元)
  • 🍏 或者,如果你就是很愛蘋果的話──一支 iPhone 18 Pro 256 GB(44,900 元),再加上 MacBook Neo 512 GB(25,900 元),還剩 4,100 元差不多可以買一對 AirPods 5。

喔對,iPhone Duo 的售價是 74,900 元「起」喔──那是最便宜的 256 GB 版,最大的 2TB 版本要 118,900 元!

Footnotes​

  1. 第 8 代 Core i7 CPU╱16GB╱500GB ↩

要怎麼記得以前寫過什麼

· 閱讀時間約 2 分鐘 ┊ 純文字版

收到讀者來信,他很好奇 Wiwi.Blog 上面已經有快要 1,000 篇文章了,為什麼我在寫新文章的時候,還是能夠精準地連結回很久以前的舊文?

換句話說,為什麼我記得哪一篇寫了什麼?我為什麼會知道,現在寫的這一句話,跟三年前的某篇文章有關?

我要公開祕密了,那就是──我根本不記得。

我有一個小程式,它會用 Qwen3-Embedding-8B 這個模型計算每一篇文章的 Embedding(語意向量)。簡單地說,就是把文章的「意思」,轉換成一個 4,096 維的向量。

然後,我有另一個小程式,可以讓我輸入一兩行文字,它就會從那一堆向量當中,找出「語意最相近」的幾篇文章。

注意,這不是簡單的關鍵字搜尋喔!關鍵字搜尋,你打「便當」就只會找到有「便當」這兩個字的文章;語意搜尋是打「便當」,它可以出現便當、火鍋趴、咖哩杯麵、想被拍照的包子和吃青菜。

所以,當我想連結舊文時,只要把想連結的句子丟進去搜尋一下,然後從相似清單中挑一篇順眼的連過去就完成啦!

很好用喔!只要你文章夠多,就算寫一句隨機到不行的廢話,它都能幫你找到至少有點相關的舊文!讓我們試試看一句:

「洗澡的時候,我突然想到一件好像很重要的事情,結果等我走出浴室,回到客廳,我就忘記了~」

每個詞都連得出去,連「~」都可以!

你也想要用嗎?原始碼放在:https://code.wiwi.blog/wiwi/blog-embedding

WiNote 開發進度

· 閱讀時間約 2 分鐘 ┊ 純文字版

我最近都在跟 WiNote(Wiwi 的 Keynote 替代品)的開發搏鬥中,都快要沒時間管 Wiwi.Blog 啦!來跟大家分享一下進度。

目前最基本的東西──文字、插圖、背景、劃線、形狀、框框──差不多都有了,而且還做了許多連 Keynote 都做不出來的動畫和攝影機縮放功能。我個人是覺得,目前版本的動畫功能已經比 Keynote 還要酷了!

另一個大進展是刪掉了肥大的依賴。原本 WiNote 是依賴另一個叫做 HyperFrames 的專案來輸出影片,但後來我發現 HyperFrames 自己也只是依賴另一個輸出影擎 Puppeteer 而已。所以,我把 WiNote 直接接到 Puppeteer 上面,把 HyperFrames 整個拿掉,現在預覽速度比之前快了大概十倍吧!

以下是目前的 WiNote 版本的小小 Demo!先跟你們分享!

(以下影片的原始檔只是一個 .txt 純文字檔,製作過程沒有使用其他動畫或剪輯軟體)

當然,WiNote 現在的 bug 還是超級多,語法也超級亂,除了我自己以外大概沒有人會用,所以目前還無法跟大家見面。如果要讓大眾能用,可能還需要寫許多範例、模板和說明文件等等的。

所以接下來,我打算先在檸檬卷的影片中少量試用,經過實戰才能夠發現更多問題。

最近覺得自己做自己的工具超爽的,有新的開發進度再跟大家分享!

自言自語

· 閱讀時間約 2 分鐘 ┊ 純文字版

檸檬卷前幾天家族旅遊去日本玩,我沒跟,自己一個人在家。

一個人在家最棒的地方,就是你可以大聲自言自語。那些平常只在頭腦裡跑的句子,現在全部都可以用嘴巴講出來,沒人會在旁邊覺得你是瘋子。

把正在想的事情講出來,思考真的會清楚很多耶!那幾天我在家玩 Slay the Spire 2,一邊打一邊像是體育主播一樣,把腦內活動播報給自己聽:

「要先打 Bash 嗎?不要,讓我先 Shrug It Off 抽牌好了!Yes,抽到 Tremble,讓我先給你 Vulnerable,然後再 Strike!靠,不對,我在耍笨嗎?我有 Orichalcum 啊,根本不用出格檔牌就可以有 block 了,我在幹嘛?我要記得我有 Orichalcum,我有 Orichalcum⋯⋯」

(沒玩 Slay the Spire 的人,以上你全部看不懂也沒關係,不重要。)

⋯⋯就這樣一直碎念,我竟然連續過了兩個之前一直過不了的關卡!

這其實就是軟體開發者常說的「黃色小鴨除錯法」(Rubber duck debugging)──把一隻黃色小鴨放在桌子上,對著它一步一步解釋你的程式在幹嘛,講到一半你的問題自然就解開了!

超級有用,推薦大家試試看!把你正在煩惱的事情,對著空氣(或黃色小鴨)大聲講一遍,搞不好這樣就解決囉!

剛剛應該那樣說的

· 閱讀時間約 3 分鐘 ┊ 純文字版

面對威脅時,人類有兩種直覺反應:戰(fight)或逃(flight)1。但如果大腦運算跟不上狀況,可能就會陷入最糟的第三種反應──呆住(freeze)。

  • 例如,在超市突然被插隊,一瞬間大腦呆掉不知道該怎麼做,等意識到「欸這個人是不是插了我的隊」時,對方已經結完帳了。
  • 或是,被路邊的推銷員攔下來,聽完一分鐘廢話才後悔剛才幹嘛停下來。
  • 又或者,在飯局上被酸了一句,當下不知如何回應,只好尷尬地傻笑;直到回家洗澡時才驚覺:「我那時候應該回嗆他那句的!」這時候突然就好想再重吃一次飯局、再被酸一次,只為了用上這句完美的回嗆。

法文甚至有一個專門的字 L'esprit de l'escalier2(樓梯機智)在形容這個狀況──意思大概是說,人都走下樓梯、離開現場了,才突然想到完美的回擊之詞。

預設值​

要解決這個問題,邏輯其實跟看和弦代號一樣。

我的鋼琴學生常問,為什麼我可以一看到和弦代號就瞬間「算」出好聽的配置?答案是:我根本沒有「算」啊,我只是「取出」頭腦中已經計算好的結果而已。

樓梯機智也是這樣,你需要給自己一個預設值,訓練自己在第一時間套用,而不要計算。

不過,我個人倒是建議把「逃」而不是「戰」當作預設值。這並不是要你每次都認輸、傻傻被欺負,而是要盡可能用最快速、最低成本的方式結束互動。

那些在心裡總是預設要「戰」的人,會潛意識地開始尋找「戰」的機會,就像拿著鐵鎚的人看什麼都像釘子一樣。結果就是,每天都懷疑身邊的人想欺負你,也因為想要「戰」贏,反而更容易遇到鳥事、捲入沒必要的衝突之中。

其實,當個 I 人躲在家裡寫部落格、把留言區關掉,就再也不會有被插隊、被推銷、在飯局上被酸的鳥事啦!這才叫從根本解決問題。

Footnotes​

  1. https://en.wikipedia.org/wiki/Fight-or-flight_response ↩

  2. https://en.wikipedia.org/wiki/L%27esprit_de_l%27escalier ↩

黃金二十年

· 閱讀時間約 2 分鐘 ┊ 純文字版

網路自我出版變得相當容易,大概是 2005 年前後的事情。在那之前,想要讓全世界看到你的作品,得先經過一堆「守門者」的審核──不論是出版社、唱片公司、電視台,還是政府機關。

接著,部落格、Podcast、YouTube 等出版管道一個一個冒出來,守門人的權力一夕之間崩塌,創作者終於自由了!在這段期間,只要你有能力做出還不錯的東西,被看到的機率是很大的──畢竟做東西太花時間了,而各大平台也還沒學會怎麼壓榨創作者。

到了 2025 年,AI 寫作與生成工具正式成熟。現在雖然出版依然容易,但問題是,產生「乍看還可以的內容」變得太容易了。於是,各種什麼都不懂的阿貓阿狗紛紛自稱「創作者」,每天朝網路空間傾倒垃圾,內容市場又重新回到了很混亂的狀態。而守門者也回歸了,這次它叫做「演算法」,而且比以前更難取悅。

現在回頭看,那段「生產很難,但出版容易」的年代,大概只有短短二十年(2005-2025)。

我覺得自己超幸運,職業生涯的前二十年剛好就落在這個黃金年代。如果我現在才從零開始,第一天起就要跟 AI 和演算法搏鬥,一定比二十年前還要痛苦得多吧!

現在這個年代最困難的事情,大概就是:你有沒有勇氣遠離主流,不當演算法的奴隸?

「守門者」的存在,就是要用來被打破的。就像 2005 年時我們打破了傳統出版的枷鎖一樣,現在我們也可以再次用獨立網站、E-mail、RSS,甚至面對面的實體交流,再加上一套不依賴流量的商業模式,去突破新的演算法守門人!

波浪卡製作教學

· 閱讀時間約 1 分鐘 ┊ 純文字版

想把你的信用卡改造成漂亮的波浪造型嗎?

把它放在褲子口袋裡,一起丟到洗衣機裡就可以囉!

打造自己的工具

· 閱讀時間約 3 分鐘 ┊ 純文字版

前幾天開始,我開始開發自己專用的純文字動畫軟體 WiNote(Wiwi 的 Keynote 替代品),目標是取代 Keynote,並讓我有一天能完全脫離 macOS。最近我大部分的空閒時間,都花在這個上面了。

雖然程式碼是 AI(Claude Opus)寫的,但我覺得要把它做好還是很不容易。整個開發過程中,還是需要許多人類的規劃、測試和品味;例如,光是「字怎麼跳動看起來比較爽」就是一個很需要品味的事情。

關於開發的細節,之後的貼文再說,這篇只是想講一些心得。

開發 WiNote 的過程讓我意識到:現在每個人都有能力擺脫「以前認為絕對擺脫不了」的數位依賴。

以我自己為例,我因為要用 Keynote 做動畫,所以必須用 macOS;因為必須用 macOS,所以必須買蘋果的電腦。以往的想法是:「不然呢?我總不可能自己寫一個 Keynote 吧?」

結果,現在我真的在自己寫一個 Keynote──而且就我個人的用法而言,它比原本的 Keynote 好用多了!

當然 WiNote 本身還是有依賴,但它依賴的是 Node、Chromium、Puppeteer、FFmpeg 等自由軟體。就算是用來寫它的 Claude,我也可以隨時換成別家的模型。這樣的依賴,比起被封閉的蘋果生態系綁架,來得舒服多了。

只要能移除越多依賴,或至少換成更自由的版本,生活就可以越靈活、越有底氣。例如:

  • 🍲 如果自己會煮菜,就不依賴外食了
  • 💇 如果自己會剪頭髮1,就不依賴設計師了
  • 🪴 如果自己有果菜園,就不依賴超市了
  • 🔋 如果自己有太陽能發電機,就不依賴台電了

當然,即便能自給自足,我們依然可以選擇吃外食、找設計師、逛超市或用台電;但只要心中知道「就算沒有這些東西,我自己來也行」,使用它們的姿態就不一樣了。

我超級推薦你也想想看:你的生活裡──尤其是數位生活──有什麼依賴是你有可能移除的呢?今天就試著砍掉其中一個吧!

如果一時想不到,我建議你從「移除串流音樂服務」開始。因為這最簡單:直接購買你喜歡的專輯來支持藝人2,把喜歡的音樂全部下載到自己的裝置上,從此以後你就可以跟串流音樂說掰掰啦!

Footnotes​

  1. 疫情的時候,我真的自己剪頭髮剪了一年!雖然剪得很醜。 ↩

  2. 他沒出專輯?別忘了還有 yt-dlp! ↩

侵蝕

· 閱讀時間約 2 分鐘 ┊ 純文字版

就算自認意志堅定、不會被影響,但其實只要「暴露」在網路噪音之中,大腦就會被慢慢侵蝕。

表面上,是內容在侵蝕你:

  • 看到別人買名牌包、開新車、吃大餐、每年換新手機。即便對這些東西完全不感興趣,潛意識依然會偷偷地將「擁有這些東西」視為常態。
  • 看到各種談論冥想、健身、閱讀、斜槓、生產力、個人品牌的內容。就算不打算照做,這些過度包裝的生活方式,依然在默默校準你對「理想日常」的定義。

但其實連格式本身都在侵蝕你:

  • 貼文、短影音滑滑滑,只要三秒鐘沒有刺激就換下一個──注意力正在不知不覺被侵蝕。
  • 吵鬧的綜藝音效、五顏六色的字卡,加上那 9:16 的反人類長寬比──就算你不喜歡,甚至還會說它醜,但只要你還在看,審美觀就在被侵蝕。

「不同意」或「不喜歡」一樣東西,並不代表就能「免於被它侵蝕」。只要讓噪音在大腦裡佔到了位置,噪音就贏了。網路上的許多噪音,都在嘗試把你的現實扭曲成他們想要的樣子。快閉上眼睛、看都別看、趕快逃走!

反抗的方式很簡單:擁抱 RSS 和獨立網站;建立自己的荒島筆電╱圖書館╱遊樂園;嚴格挑選每天的輸入,只用那些「信任的、喜歡的、真心想被它影響的東西」來灌溉自己的大腦。

(諷刺的是,我寫了這篇貼文來批評噪音,正好證明了這些噪音已經在我的大腦裡佔到了位置。而讀到這篇的你,也因為這篇貼文再次被提醒到了噪音的存在。可惡,噪音又贏了!)

創作者的 Unix 哲學

· 閱讀時間約 5 分鐘 ┊ 純文字版

Eric S. Raymond 在 The Art of Unix Programming 這本書裡,列出了 Unix 程式設計的 17 條哲學。

但我覺得這根本不是在講程式設計,而是寫給所有創作者的行為準則啊!以下只挑一些我特別有共鳴的來講,有興趣讀完整 17 條原文的,按下方展開。

按這裡展開原文
  1. Rule of Modularity: Write simple parts connected by clean interfaces.
  2. Rule of Clarity: Clarity is better than cleverness.
  3. Rule of Composition: Design programs to be connected to other programs.
  4. Rule of Separation: Separate policy from mechanism; separate interfaces from engines.
  5. Rule of Simplicity: Design for simplicity; add complexity only where you must.
  6. Rule of Parsimony: Write a big program only when it is clear by demonstration that nothing else will do.
  7. Rule of Transparency: Design for visibility to make inspection and debugging easier.
  8. Rule of Robustness: Robustness is the child of transparency and simplicity.
  9. Rule of Representation: Fold knowledge into data so program logic can be stupid and robust.
  10. Rule of Least Surprise: In interface design, always do the least surprising thing.
  11. Rule of Silence: When a program has nothing surprising to say, it should say nothing.
  12. Rule of Repair: When you must fail, fail noisily and as soon as possible.
  13. Rule of Economy: Programmer time is expensive; conserve it in preference to machine time.
  14. Rule of Generation: Avoid hand-hacking; write programs to write programs when you can.
  15. Rule of Optimization: Prototype before polishing. Get it working before you optimize it.
  16. Rule of Diversity: Distrust all claims for "one true way".
  17. Rule of Extensibility: Design for the future, because it will be here sooner than you think.

分離原則​

"4. Rule of Separation: Separate policy from mechanism; separate interfaces from engines."

(分離原則:把政策和機制分開;把介面和引擎分開。)

套用到創作上面,簡單來說就是把「你想講的話」跟「你用來講話的工具」分開。

不要特別為了平台,來量身訂做你想講的東西。當你開始想「開頭五秒要放什麼才不會被滑掉」、「什麼時候上傳觸及率比較高」、「這個詞會不會被黃標」、「這個演算法會推嗎」⋯⋯這時傳達的訊息就已經被工具改寫了。

訊息應該要凌駕於工具之上,而且隨時能被轉化成任何格式。

如果非要選一種「終極格式」,我想純文字是最好的選擇。

節儉原則​

"6. Rule of Parsimony: Write a big program only when it is clear by demonstration that nothing else will do."

(節儉原則:除非能證明別無他法,否則不要寫大程式。)

不要鋪張、不要搞一堆有的沒有的來擾亂自己。

你真的需要這麼複雜的企劃、這麼多人的團隊、這麼多攝影機角度、這麼繁複的剪輯嗎?如果無法證明「真的非得要這樣不可,沒有別的辦法」,那就把這些贅肉通通砍掉吧!

資料原則​

"9. Rule of Representation: Fold knowledge into data so program logic can be stupid and robust."

(資料原則:把知識放進資料裡,所以程式邏輯可以又笨又耐用。)

讓「內容」去變化就好,而不是「流程」。流程要盡量簡單、耐用就好,不要每天變來變去。

例如這個部落格,我每天上傳的流程都是一樣的──寫一個 Markdown 檔案,丟進資料夾,npm run build,上傳──因為流程既無聊又簡單,我才能專注在每天寫的主題上,而不是跟流程搏鬥。

做音樂也一樣:只要有一台不錯的音源機,就能做出幾乎所有類型的音樂。不需要一直更新編曲軟體到最新版,也不需要下載 500 GB 的音色庫,更不需要糾結那十五種 compressor 的聲音到底差在哪裡。

沉默原則​

"11. Rule of Silence: When a program has nothing surprising to say, it should say nothing."

(沉默原則:如果沒有有趣的東西可講,就不要講。)

現在的內容生態,根本是朝完全相反的方向運作──明明就沒有東西講,但每個人還是強迫自己一直發限動、刷存在感、餵演算法。

最佳化原則​

"15. Rule of Optimization: Prototype before polishing. Get it working before you optimize it."

(最佳化不是優化喔原則:先讓它能用,再慢慢打磨。)

這是許多新手創作者最常犯的錯誤:根本什麼都還沒開始做,就先擔心要買什麼鏡頭、哪隻麥克風、Logo 要找誰設計、紅了以後怎麼應付酸民⋯⋯想太多了啦,先把第一集拍出來再說好不好!

擴充原則​

"17. Rule of Extensibility: Design for the future, because it will be here sooner than you think."

(擴充原則:為未來設計,因為未來來得比你想的還快。)

這點我太認同了!擁有自己的網站、自己的網域、掌握作品的主權與跟讀者直接聯絡的管道,在未來只會越來越重要。

平台收割韭菜的速度,絕對比你想像中還要快。那日漸萎縮的觸及率,就是「未來」即將到來的徵兆呀!