跳至主要内容

離線演講

· 閱讀時間約 2 分鐘

前陣子看到一個網路上的演講影片(真人、有現場觀眾的實體演講),影片中的講者在簡報途中,想要播放一個短短的影片來解釋論點:

  • 他先是退出了簡報播放模式,讓觀眾看到編輯模式下的所有投影片縮圖,包含後面還沒講到的內容。劇透警告!
  • 接著,他切到開著一大堆分頁的 Chrome 瀏覽器視窗,找到了其中一個分頁,想要播放的影片是內嵌在網頁裡面。
  • 他按下內嵌 YouTube 播放器的播放按鈕,等待它轉轉轉緩衝五秒鐘。
  • 影片開始播放了,但擠在小小的內嵌播放器裡。
  • 幾秒鐘後,講者按了全螢幕按鈕,把影片倒回最前面重新開始。
  • 播完了總長才 30 秒的影片後,講者切換回(目前仍在編輯模式的)Powerpoint 視窗,按下播放按鈕,繼續演講。

想像一下,如果 Steve Jobs 在蘋果發表會上的演講這樣搞,蘋果股價大概會當場崩盤吧!

雖然這講者其實講得還不錯,但這種新手等級的技術問題徹底毀掉了演講的節奏,觀眾前面好不容易堆積的興奮感和好奇心瞬間消散。

別讓這種事發生在你的演講上!解決方法很簡單:把演講過程需要播放的一切媒體下載下來,離線準備好,直接內嵌進簡報裡!

  • 📹 YouTube 影片:用 yt-dlp 下載
  • 🎶 音樂:如果原本也是在 YouTube 上,一樣用 yt-dlp 下載,然後用 ffmpeg 轉成 .wav 檔案
  • 📸 圖片:就在瀏覽器中按右鍵另存,或者螢幕截圖也行
  • 💻 網頁:如果是不需要互動的網頁,就截圖就好;如果要互動,也可以事先操作一遍錄製成影片

恭喜你,下次就算場地的 Wi-fi 突然掛掉,你的演講依然能完美流暢地完成!不用謝我沒關係!

破碎像素地牢

· 閱讀時間約 6 分鐘

我之前曾經在 blog 上推薦過 Powder 這個地下城探險遊戲,當時我給了它很高的評價。但現在,Powder 抱歉,我想我找到接替你的新歡了,那就是 Shattered Pixel Dungeon(破碎像素地牢)。

(這是「Shattered Pixel Dungeon」的標題畫面,以下簡稱為「SPD」)

Shattered Pixel Dungeon(破碎像素地牢)

比起 Powder 的樸實無華,SPD 相當精緻完整,有非常精美的角色繪圖、場景設計、很不錯的音效(但我都把音樂關掉)以及流暢的像素風動畫。

SPD 乍看之下跟 Powder 以及其他的地下城探險類 Roguelike 遊戲很像。但 SPD 最令人驚豔的是,它的設計「極其複雜」、變化超級多,但是使用者界面卻設計得非常好用,不會讓人不知所措。需要幫助時,遊戲內也都有完整的說明。

什麼是「Roguelike 遊戲」?

在 1980 年有一個遊戲叫做《Rogue》,它採用了一種在當時很創新的玩法:

  • 隨機生成:每場遊戲的關卡都是隨機產生的,敵人的位置、道具分佈都不一樣,玩家永遠不會遇到兩次完全相同的體驗。
  • 永久死亡:角色一旦只要死亡就要從頭開始,沒有復活的機會。但這正是它的魅力所在,每次失敗都能讓玩家對遊戲世界有更多的認識,累積經驗後下一次就會變得更強。

這些元素組合起來,就成了一種有高度可重玩性的遊戲體驗。後來我們就把「玩法類似《Rogue》的遊戲」稱為「Roguelike」。

SPD 在玩什麼?

SPD 的目的很簡單:下到地下 26 樓去取得一個寶物,就這樣。

當然不是走進電梯裡按 B26 按鈕就好,你可是要一步一腳印走下樓,而每一層樓都充滿著想要殺死你的敵人。每五層樓是一個區域,從最上面(1-5 層)的下水道,一路下探到惡魔洞穴(21-25 層),每個區域都有不同的敵人和挑戰。

遊戲看似很單純,就是走來走去,殺死敵人,想辦法更下一層樓,但是它有極深的策略深度。雖然上手簡單,要精通的話卻需要很長的時間。

(我站在第 26 層的最終寶物前的英姿)

「一小部份」遊戲系統的介紹

我前面說 SPD 的設計「極其複雜」真的不是客套話,以下只是其中遊戲系統的冰山一角。

  • 🧪 藥水:有許多不同功能的藥水,例如治療藥水、結冰藥水、火焰藥水、毒氣藥水等等十幾種。每次遊戲開始時,藥水的顏色跟功能都會隨機分配。你不會知道手上這瓶「黃色藥水」的功能是什麼,你可以直接喝喝看,但大部分時候還是建議不要這麼做。
  • 📜 卷軸:在地下城可以撿到各種卷軸(也是有十幾種),閱讀它們可以產生各種神奇效果,像是消除詛咒、升級裝備、瞬間傳送等等。同樣的,你不會知道手上的卷軸功能是什麼,除非你找到那個「可以辨識其他卷軸的卷軸」。
  • ⚔️ 武器:遊戲裡有很多樣的武器,每種都有獨特的戰鬥風格。有些武器速度很快,在一回合內就能攻擊數次(像是拳套);有些攻擊範圍很大,可以打到三格外的敵人(像是鞭子)。但要小心,有些武器可能被詛咒,一旦裝備上就拿不下來,而且還會很難用!
  • 🪄 魔法棒:也有好多種魔法棒,有可以噴火的、讓敵人錯亂的、在地上長植物困住敵人的。
  • 🏹 投擲武器:你可以丟石頭、丟飛鏢來從遠方攻擊敵人,有個職業還可以射箭。
  • 👕 盔甲:你可以光著上身、穿布做的衣服、穿皮衣、或是金屬盔甲。但如果角色的力量不夠,是沒有辦法駕馭厚重的盔甲的。當然,有些盔甲也會被詛咒,不要看到衣服就隨便穿!
  • 🐍 戰鬥系統:地下城裡的每種敵人都有自己的特性,需要用不同策略應付。例如下水道蛇的閃避能力很強,必須要出其不意攻擊才能擊中;到後面還有會給你「死亡凝視」的漂浮眼球,看到它就只能快逃了。關卡中各種不同的地形都有戰術意義,像是水面可以滅火或洗掉髒污,草地可以找到補血的露水,或是你也可以縱火燒死敵人。

(被老鼠和蛇圍攻了)

你覺得以上已經很複雜了嗎?我才提到其中一點點而已!這遊戲還有「煉金系統」可以合成特殊藥水、卷軸和魔法石,能夠合成的物品又有數十種不同的功能。在地上撿到種子可以種植,十幾種植物各有各的功能。殺死某些怪物後會得到怪物的肉,你可以用火烤熟或是冰凍起來。

它還有六種職業、每個職業還有五個子職業!每種職業累積經驗值後升級時會獲得天賦點(Talent Point),可以自選增加某些能力,改變玩法風格。力量系統也很有趣,角色一開始的力量是 10,但如果找到力量藥水可以提升力量,讓你能使用更強大的裝備。

完美的手機遊戲

這個遊戲我真的激推!而且它是開放原始碼軟體,所有主流電腦作業系統和手機系統都支援,除了 iOS 版本之外都免費(iOS 版也只要五塊美金而已,完全值得)!根本就是太佛心!我強烈推薦用手機玩,因為它的觸控介面設計得非常好用。

SPD 根本就是完美的手機遊戲:可以完全離線運作、開放原始碼、無廣告、自動存檔、隨時可以打開來玩、隨時可以關起來;可以玩一分鐘打發零碎時間,也可以玩兩小時一路下到最底層;每次玩的體驗都完全不同,永遠保持新鮮感。

到官網 https://shatteredpixel.com/ 看更多,下載它吧

不過,下載 SPD 前還是三思而後行。因為它可能會毀掉你的正常作息,讓你在深夜時想著「再下一層樓就睡」,然後發現天已經亮了。

專有軟體必變爛理論

· 閱讀時間約 3 分鐘

還記得我以前介紹過的 Google NotebookLM 嗎?它是一個很有趣的服務,你上傳任何文件,它就可以產生一男一女對話的 Podcast,討論你上傳的文件給你聽,幫助你更了解主題。非常好用!

總之,今天登進去 NotebookLM 時,發現主畫面最上面出現了一個新的區塊──「精選筆記本」。結果,根本就不是什麼「精選筆記本」咧,它就是一堆廣告。而且這東西佔據了半個螢幕的空間,把我真正要用的筆記本全部推到下方。

NotebookLM 的「變爛化」悄悄開始了。

(Google:這不是廣告喔!這是「新功能!精選筆記本!」。)

這就是悲傷的現實:幾乎所有我曾經愛用過的專有軟體和雲端服務,現在全部都變得很爛、很煩或很貴。真的,我是說全部,幾乎沒有例外的:MacOSWindowsiOSEvernote、Google Drive、Gmail、Google Chrome、YouTubeSpotifyLINE、LastPass、Reason、Photoshop……

Enshittification(大便化)

其實這種現象有個專有名詞,叫做「Enshittification」(大便化、變爛化)。這個詞是由作家 Cory Doctorow 提出的,用來描述網路平台和軟體服務的生命週期:

  • 💕 第一階段,對使用者好:軟體剛推出時,超好用、超乾淨、使用者體驗極佳。
  • 💰 第二階段,對商業客戶好:累積了大量用戶並將他們綁架後,平台開始對廣告商好,到處狂塞廣告,使用者體驗開始大幅下降。
  • 🪓 第三階段,收割韭菜:等到商業客戶也被綁架後,平台開始兩面通吃,從所有人身上榨取最大價值。這時產品會變得超爛,但因為大家都用習慣了,資料都在上面、朋友都在用、流量都靠它,根本跳不走,就只能咬牙忍受。
  • 🪦 第四階段,平台死亡:平台變得實在太爛、太貴、太煩人,最終被新的競爭對手取代,重新開始第一階段的循環。

專有軟體必變爛

根據自然定律,專有軟體和雲端服務「一定會」背叛你,只是時間早晚的問題而已。你喜愛的專有軟體或服務,目前在哪一階段呢?

愛要專一,軟體使用要劈腿。一定得使用專有軟體和服務的話,務必請腳踏兩條船,準備好備胎。

自己來

· 閱讀時間約 2 分鐘

Footnotes

  1. https://www.ftvnews.com.tw/news/detail/2025731S11M1
    民視新聞網:Meta 為打擊詐騙實施「無差別」封殺政策,導致超過三千名正當粉專版主遭永久停權。影評人「無影無蹤」因粉專被詐騙集團標註,在後台移除標籤時反被 Meta 誤判為假帳號,經營 10 年、15 萬粉絲的粉專瞬間消失,每月損失約 10 萬元收入。

Code.Wiwi.Blog

· 閱讀時間約 1 分鐘

之前如果有程式碼要分享,我都是放在 GitHub。但是既然現在有 Wiwi.Blog 這個,何不也放一份在自己這裡呢?

所以剛剛用 Gitea 架了 Code.Wiwi.Blog,把我在 GitHub 的程式碼全部備份過來了。

Gitea 很讚耶!程式好乾淨、安裝簡單,介面幾乎跟 GitHub 一樣。內建直接從 GitHub 「移民」的功能,搬家超容易!

在網站上方和頁尾新增了「程式碼」連結,可以直接連到我的 Gitea 頁面。

撲克牌密碼

· 閱讀時間約 10 分鐘

你是一個間諜(代號「蛋餅俠」),正在執行一個機密任務。目標:傳遞一條重要訊息「九點老地方見面,幫我買蛋餅」傳給你的搭檔(代號「豆漿哥」)。

但情況比預想中的更棘手。你身在人潮湧動的酒吧中,到處有形形色色的目光在遊走,任何一點疏忽都可能暴露你的身份。你該如何把訊息傳出去?

  • 寫小紙條?太冒險了,一旦被發現,多年的臥底生涯就毀於一旦。
  • LINE?別鬧了,你以為政府的監控系統是吃素的嗎?

正當你陷入沉思時,眼角瞄到桌上放著一盒撲克牌。你若無其事地走過去,假裝整理桌面,順手把牌拿了出來。

在其他客人眼中,你只是一個無聊在把玩紙牌的上班族,但其實你的雙手正以訓練有素的技巧,重新排列著這 52 張牌。排列完後,你把牌重新收回盒子裡放在桌上,起身離開酒吧,就像什麼都沒發生過一樣。

半小時後,豆漿哥走進店裡,看似隨意地拿起那副牌,看了幾眼之後,他嘴角微微上揚。

晚上九點整,老地方。豆漿哥準時出現,手裡拿著兩個熱騰騰的蛋餅。

這是什麼爛故事?

不重要啦。重點是蛋餅俠是怎麼做到的。

當然不是直接在牌上做暗號(例如寫字或折起來什麼的),那太明顯了。而是直接用撲克牌的「排列方式本身」來儲存訊息!

一副撲克牌的 52 張牌,有超級多種可能的排列順序,精確地說是 52!(52 的階乘),大約 8 ⋅ 1067 種。既然牌的排列順序本身,就包含了這麼多資訊,那我們有沒有可能把祕密訊息編碼成撲克牌的順序,然後拿到牌的人就可以靠這個排列順序,解碼出原本的文字呢?

Lehmer Code

答案當然是可以的!

有個叫做 Lehmer Code 的演算法,可以把任意的排列順序對應成獨一無二的數字。

簡單來說,52 張牌的每一種排法,都可以用 Lehmer Code 轉換成專屬的數值,而這個數值又可以進一步編碼成文字訊息。反過來操作,任何文字也能先轉成數字,再透過 Lehmer Code 對應到特定的排序。

這樣一來,我們就可以將撲克牌的「排列順序」作為訊息載體了。

舉個實例

例如,你想傳送「HELLO」這個訊息給朋友。具體的步驟如下:

  1. 文字轉數字:把「HELLO」用 ASCII 或其他編碼方式,變成一個超級大的數字,例如:310939249775(這只是舉例,實際數字會有 68 位數)。
  2. 數字轉排列:用 Lehmer Code 把這個巨大數字對應到一個 52 張牌的特定排列順序,例如 紅心K,黑桃7,方塊A,梅花Q……
  3. 實際排牌:把這個順序實際用真的牌排出來。
  4. 傳遞訊息:把這副「看似隨機排列」的撲克牌交給朋友。
  5. 解碼:朋友收到牌後,將完整的排列順序用 Lehmer Code 反推回那個巨大數字 310939249775,再將這個數字以約定好的文字編碼方式轉為文字,就得到「HELLO」了!

撲克牌編碼程式

網路上已經有個叫做 Asher Falcon 的人把這個概念實作出來了,你可以讀他的部落格文章了解他是怎麼做的,也可以到這個網址直接使用他的編碼程式。

但 Falcon 的版本有個致命的缺陷:為了讓傳遞的訊息夠長,它只使用 5 個位元來儲存每個字元。也就是它的訊息內容只能使用 .,-\"/abcdefghijklmnopqrstuvwxyz 這 32 個字元的其中之一,連阿拉伯數字都不能用。身為一個國際化的現代間諜,這種限制怎麼能接受?

所以我重弄了一個使用 UTF-16 編碼的版本,每個字元用 16 位元來儲存,可以支援絕大部分的中文字和表情符號,這樣用一副牌還是能夠放進長度 14 字元的訊息1。用我的版本,就算是要傳「🥞早安我ㄉ朋友おはよう🌸」這樣的訊息也沒問題唷!

原始碼放在:https://code.wiwi.blog/wiwi/text-to-cards

玩玩看!

使用方式:

  • 編碼:輸入一個字串(14 個字元以內),程式會輸出 52 張撲克牌的排列。
  • 解碼:輸入 52 張撲克牌的排列(例如:As 3d Th 8c……),程式會輸出訊息字串。

透過這個程式,你就可以把任何文字訊息藏在一副撲克牌裡面了!

試試看解碼我的訊息吧:

As 3s Js 6c 7s 9s Ad 2d 7d Jc 9c 2s Jd
4h 8s Kc 4c 4s Qc Kh 7c 5h 3d 7h 5s Td
9h 5d Ac Qh 6s Kd Th 3h 9d 2c 6h Ts Jh
5c 8d 6d 3c Qs 8h 2h 4d Ks Qd Tc Ah 8c
0 / 14 字元
等待輸入文字...
等待輸入撲克牌...
準備就緒

Footnotes

  1. 52 張撲克牌的排列順序資訊約是 224 位元,每個字元使用 16 位元的話剛好可以放入 14 個字元。

彈珠檯

· 閱讀時間約 6 分鐘

如果你問我這輩子花最多時間在哪個遊戲上,答案可能會讓你驚訝。不是什麼熱門的線上遊戲,不是經典的 JRPG,也不是什麼 3A 大作,而是小鋼珠叮叮咚咚到處亂彈的「彈珠檯」(Pinball)。從紅白機上面的 Pinball,到大型電玩店裡的實體機檯,我都超愛。

(紅白機上的 Pinball)

太空軍校生

如果你有點年紀了的話,你一定記得 Windows 95 年代時,隨著 Microsoft Plus! 附贈的「太空軍校生」(Space Cadet)彈珠檯。在當時它可能是許多人電腦中僅有的(除了接龍跟踩地雷之外)幾個遊戲之一;小時候根本整個玩爆,不曉得花了多少時間在這個上面。

(「太空軍校生」彈珠檯)

給沒玩過彈珠檯的人:彈珠檯可不只是球快要掉下來,然後你就用擊球板(flippers)打上去,然後看著它亂彈而已喔!彈珠檯通常都是有主題、有關卡任務的。以這個「太空軍校生」為例:

  • 首先,你要先擊中左方三個目標的其中一個來「選擇任務」
  • 然後,你要把球打到左方的立體球道來「接受任務」
  • 根據選定的任務,你會需要達到某些目標(例如把球打到某處某個次數)才「完成任務」
  • 完成足夠任務之後你會「升級」
  • 目標是從一開始的 Cadet(軍校生)升級到最高的 Fleet Admiral(元帥),當然我一次都沒有成功升到最高級過

想要一些這遊戲的秘訣的話,看這個網頁:
http://www.rdrop.com/~half/General/GameTips/space.cadet.html

這個超耐玩的遊戲,竟然在 2001 年的 Windows XP 64 位元版本中被無情地移除了,原因只是因為有個 bug 來不及在上市前修好,微軟就直接索性砍掉了!等等,Internet Explorer 的 bug 明明就更多,為什麼不把它砍掉?

2006 年推出的 Windows Vista 也沒有把這個遊戲放回來,從此它就從 Windows 當中消失了。幸好,網路上有神人把它逆向工程後移植到了各種平台,除了各種電腦作業系統之外,在 Android 上也可以玩到!(抱歉了 iOS 用戶)

(Android 版本!)

我最愛的彈珠檯遊戲

雖然「太空軍校生」很讚,但它還不是我心目中最愛的彈珠檯遊戲。這個獎項要頒給兩個真正的傳奇:Pinball Dreams 和 Epic Pinball!

Pinball Dreams(1992)

Pinball Dreams 在 1992 年發行於 Amiga 平台,後來再被移植到 DOS 系統上,我玩的是 DOS 版本。這是我人生中有購買盒裝版的最早的遊戲之一。

它包含了四個不同主題的彈珠檯:

  • Ignition:火箭發射和太空探索主題
  • Steel Wheel:蒸汽火車和美國西部主題
  • Beat Box:音樂產業、排行榜和樂團巡演主題
  • Nightmare:墳墓、鬼魂和惡魔的恐怖主題

這個的音樂做得超讚!作曲家 Olof Gustafsson 創作的主選單音樂是一首五分鐘的搖滾樂,使用 MOD 格式製作,是一個很有曲式發展、藝術性很高的神作(很少會這樣形容一首搖滾樂吧)。我以前經常停在主選單就為了聽這首曲子,重複聽過 N 遍,我到現在應該都還可以從頭到尾完整哼出來!(YouTube 連結

到今天你都還是可以用 DOSBox 完美遊玩它,你看以前的遊戲沒有 DRM 就是棒!以下影片是我用 DOSBox 錄製的,Beat Box 機台的簡短影片。

Epic Pinball(1993)

Epic Pinball 在 1993 年發行,完全用組合語言寫成,畫面捲動超順暢,是畫面技術上超強的作品!

它在 1990 年代真的非~常~紅~!幾乎每個有在玩遊戲的人,電腦裡都至少會有它的共享軟體(Shareware)試玩版。試玩版就已經很好玩了喔!可以無限次數地玩第一個機檯「Android」。

正式版的話則是包含 8 個不同主題的機檯(後來更擴充到 12 個,但最後四個品質不太好)。音樂也是用 MOD 格式製作,同樣也非常非常強,作曲家是 Robert A. Allen 和 Joshua Jensen,我也超愛它的主選單曲!(YouTube 連結

現在你只要用超便宜(個位數美金)的價格,就可以在 GOG.com 上面買到 12 個機檯的完整版!現在就買吧,不要懷疑了!

以下是我自己錄製的,其中一個叫做「Deep Sea」機檯的影片。

額外一提:Microsoft Pinball Arcade

還有一個順便想提到的是微軟在 1998 年推出的 Microsoft Pinball Arcade,裡面包含了七個真實存在的彈珠檯。

我也曾經花了很多很多時間在這上面,但因為 Linux 上的 Wine 無法執行這個,所以我現在不能玩了。如果你用 Windows 的話,據說現代的 Windows 好像還可以執行,但我沒有 Windows 電腦可以驗證了。

備註

你可以到 YouTube 看別人的遊玩影片:
https://www.youtube.com/watch?v=6W7NKLzUH40

試試看彈珠檯吧

如果你還沒體驗過彈珠檯「一個人、一顆球、永遠玩不膩」的魅力,就從剛才提到的幾個遊戲入坑吧!以上的幾個遊戲都只占幾 MB 的硬碟空間,不用連網認證和付訂閱費,就可以提供你數百小時的樂趣,根本就是超極簡、超划算的啊!

選擇文字

· 閱讀時間約 1 分鐘

當你想要用滑鼠選擇一個句子時,會不會常常手殘沒把游標放準,少選到一個字母呢?例如,明明想選「The quick brown fox jumps over the lazy dog」,結果卻選成了「he quick brown fox jumps over the lazy do」。

解決方法其實超簡單:

  • 在開始選擇時,把滑鼠移到想選擇的第一個單字上的任一處(不需精準,任一處就好)
  • 連續按滑鼠兩下,但在第二下的時候按住不放
  • 開始拖曳選擇,這時候就會以整個單字(而不是字母)為單位選擇了

恭喜你,以後不用再為了圈選文字而感到挫折了!不客氣!

說到「The quick brown fox jumps over the lazy dog」(敏捷的棕色狐狸跳過懶惰的),你知道為什麼字型選擇視窗常常拿它當例句嗎?因為這個句子裡面有從 A 到 Z 的每一個字母!這種句子叫做「全字母句」(Pangram),用來測試字型最好用!

當仙草凍比遊戲還大

· 閱讀時間約 7 分鐘

在這個人人都有手機網路吃到飽、高速光纖網路到府的時代,似乎有一群人真的以為網路頻寬是天上掉下來的免費禮物。沒錯,我說的就是現代的網頁設計師們,他們之中有許多人已經連基本圖片使用、頻寬節省的常識都沒有了。

現在在網路上,你到處都可以看到這些荒謬的情況:

  • 直接把印刷用的高解度圖片丟到網頁上
  • 用超大圖片來當縮圖
  • 搞不清楚到底應該用 PNG 還是 JPG
  • 明明只是根本不會注意到的背景圖,卻用檔案超大的圖

這些設計師們彷彿活在一個頻寬無限、流量免費的平行宇宙裡。

台灣彩券:誰需要縮圖?

之前寫刮刮樂那篇查資料的時候,我就注意到大家現在都不做縮圖了耶!

在台灣彩券官網的「歷史刮刮樂銷售資訊」頁面,這個在螢幕上看起來小小、寬度還不到 200 畫素的縮圖(下圖紅箭頭處),實際上載入的竟然是一張 500 KB、1080 x 720 畫素的大圖!這個頁面有十幾張這樣的縮圖,累積起來很快地就超過 5 MB 了。1

(這個小不拉嘰的縮圖,檔案大小要 500 KB!)

他們應該怎麼做:先把圖片縮放到實際要顯示的大小(以這種小縮圖而言,可能 200 x 133 畫素就夠了),然後用 JPEG 格式壓縮,品質大約 70-80% 即可。這麼簡單的步驟,就可以把原本要 500 KB 的圖,縮小到只有 14 KB。

但設計師不 care,反正網路頻寬又不用錢。

(下面這張圖,檔案大小只要 14 KB!我知道你可以用 WebP 格式讓檔案更小,但那對舊裝置的相容性比較不好。)

京城銀行:在你看不見的地方揮霍

最近檸檬卷到京城銀行的網站辦事,發現他們的網站慢到你可以先泡杯咖啡再回來。

首頁最上方那個圖片跑馬燈(carousel),放了八張長寬為 2720 x 1300 畫素的圖(比 1080p 影片還大),光是這樣就毫無意義地浪費了 4 MB 的頻寬。

(圖片上半部是圖片跑馬燈:沒有人會看,但很佔頻寬)

(沒錯,這張圖的大小真的是 2720 x 1300)

拜託,現在是 2025 年,沒有人會在你的首頁上看圖片輪播!沒有人會坐在電腦前面,看著你的圖片三秒換一張,然後期待地想:「不知道下一張會是什麼驚喜呢?」不會的,所有人都會直接無視它們!而且沒人的裝置可以完整顯示那 2720 x 1300 的圖,我們不是用 80 吋家庭劇院在上銀行網站,快拿掉這些愚蠢的圖片輪播!

往下捲一點,來到「NEWS」區。考考你,這區的重點是什麼呢?

(益智問答:這區的重點為何?)

你說重點是那些最新消息?拜託,誰在意最新消息?訪客來京城銀行網站,當然是為了看背景那張模糊的花圖片呀!這張名為 bg_flower01.png 的藝術品是 1493 x 996 畫素、檔案 1 MB 的 PNG 檔案!

(如果你是正在國際漫遊,當日超過流量被限速的用戶,這張模糊的花圖片會讓你等上 31 秒)

這只要用個二十分之一檔案大小的 JPG 圖片就可以達到完全同樣的效果了。連我這個音樂系畢業的、不是網頁設計師的人都有這個常識。

但他們不 care,反正網路頻寬又不用錢。

鮮芋仙:頻寬終結者

但以上這些,全都比不上史上最強的頻寬浪費王者──「鮮芋仙」。

我多年前已經在好檸檬 Podcast 嘲笑過它官網的肥大,但它到現在還是一樣驚人:首頁檔案大小 90.5 MB!

(鮮芋仙首頁:90.5 MB。載入時間足夠你出門買一碗真的仙草凍回來。)

(看看統計數字,真的就是 90.5 MB,不要懷疑。)

到底是要怎麼把一個首頁弄到 90.5 MB 啦?到底塞了什麼東西在這裡面?

首先,圖片輪播當然少不了。但他們放的是 8000 x 3708 畫素、17 MB 的巨大圖片,大小足以直接輸出成巨大戶外廣告看板。

(8000 畫素寬的仙草凍圖,是你家 4K 電視畫素的四倍,讓你彷彿能聞到仙草香)

還有這張 4333 x 4333 畫素,檔案大小 12 MB 的圖。更神奇的是,我上下捲動尋找,這張圖根本沒有顯示在網頁上!

(4333 畫素寬的隱藏版圖片:存在的意義就是浪費你的流量)

還有什麼東西?cwTeXFangSong-zhonly.woff2,它把整個 5 MB 大小的中文仿宋字體直接丟進網頁中!

(對,為了顯示幾個字,我們需要載入整個 5 MB 的字體檔案)

最後,直接擊敗我的是這個。看到下方這個小小的 Instagram 圖示了嗎?

你猜猜最中間那個 Instagram 圖示 instagram.svg 檔案多大?不是五個圖示加在一起喔,是只有最中間那個 IG 圖示。

(你真的沒有看錯,是 2.9 MB,不是 2.9 KB)

2.9 MB! 🤯

是真的!一個 30 x 30 畫素的 Instagram 的小圖示,2.9 MB!我真的很好奇這個 SVG 裡面到底寫了什麼,是不是包含了 Instagram 的完整程式碼?還是他們把 Meta 的整個元宇宙都不小心放進去了?

這檔案真的太天才了,超出我的理解,你可以按以下連結下載原檔來研究看看:

見證奇蹟!2.9 MB 的 Instagram 圖示:

https://www.meetfresh.com.tw/assets/img/icon/instagram.svg

假設你今天在一個手機訊號不是太好的地方(比如說 2 mbps 好了,這還不算太糟的情況喔),你會需要花超過六分鐘才能完整讀取完鮮芋仙的首頁。這段時間足夠你走到附近的鮮芋仙店面,排隊買一碗仙草凍後回家,把仙草凍吃完,網頁可能還沒載入好。

更新 2025-07-31

結果一個 Wiwi.Blog 的讀者找到元兇了!這個 instagram.svg 裡面到底裝的是什麼?請到他的貼文看答案:

https://blogg.ttheng.com/p/3-megabytes-svg-file/

當仙草凍比遊戲還大

你知道嗎?1993 年發行的經典遊戲《Doom》(毀滅戰士),整個遊戲檔案只有 2.39 MB2

沒錯,《Doom》裡面的所有程式碼、畫面、關卡、音樂、音效……完整的 3D 第一人稱射擊遊戲,檔案比一個鮮芋仙網站上的 Instagram 圖示還小。

(經典射擊遊戲《Doom》整個遊戲的檔案,比以下這個 Instagram 圖示還小)

當年的遊戲開發者用不到 2.4 MB 創造了革命性的 3D 新世界,而現在的網頁設計師卻需要 17 MB 來展示一個仙草凍。你說時代是進步了,還是倒退了?

並不是每個人都有無限的網路流量。對於室內訊號不佳、出國漫遊、住在偏遠地區的人來說,網路頻寬是很珍貴的資源。當你的網站連初學者等級的基本最佳化常識都不管,隨便揮霍使用者的頻寬時,在我眼裡是對使用者極度不尊重的。

我在 wiwi.blog 這裡,只要放一張超過 100 KB 的圖,我都會覺得這太慢了、有點罪惡感耶!但顯然在這個「仙草凍比遊戲還大」的年代,我這種想法已經落伍了。

(這篇貼文中的所有圖片,加起來的檔案大小還不到 400 KB。)

Footnotes

  1. 1,000 KB = 1 MB,1,000 MB = 1 GB。

  2. https://qz.com/1490069/doom-the-game-that-kicked-off-a-video-game-revolution-turns-25-today

WiwiStudio 音樂能力測驗

· 閱讀時間約 16 分鐘

2008 年,我在當時的官網 WiwiStudio.com 推出了一個用 Flash 製作的音樂測驗遊戲,就叫做《WiwiStudio 音樂能力測驗》。

(《WiwiStudio 音樂能力測驗》的歡迎畫面截圖)

第一個爆紅作品

《WiwiStudio 音樂能力測驗》從 2008 年上線以來,一直到大約 2019 左右我把 WiwiStudio.com 網站徹除(轉址到 NiceChord.com)這十年出頭的期間,它累積了超過五百萬人次觀看,是我製作過的第一個「真正的爆紅作品」(就算是你現在搜尋它,也能找到很多以前的討論串和文章)。

隨著 Flash 在 2020 年正式停止支援,這個程式也無法在現代的瀏覽器中執行了。(又一次地展示了我們為什麼不該使用專有格式

其實這作品的原始碼是有保存下來的,只是我遲遲沒有重製它,倒不是因為技術困難,而是不想破壞這份「歷史的回憶」。你知道,有時候最好的作品就是已經消失的作品,因為這樣它就變成了一個傳說,大家記憶中的版本往往比實際上的更美好。

重新釋出

但是,最近我就在我的硬碟裡考古嘛,看到這些原始碼和素材,讓它們一直躺在我的硬碟裡發霉也沒意思。所以我今天把它以部落格貼文的形式重新放出來,現在你可以重新完整體驗所有題目和音樂了!

原始版本的規則是每一題只能播放兩次。但這邊我只是直接貼上音樂檔,你要照規則玩還是作弊無限次播放都隨你!畢竟都 2025 年了,誰在乎 17 年前的遊戲規則呢?

我在文末移植了原汁原味的算分系統到這個網頁上喔!只要輸入你的答案,它就會用當年那套比星座更不科學的演算法給你「音感、節奏感、音樂記憶力、專注力、整體音樂天份」的五項分析數據!當然,原始的排行榜功能就沒有了,資料庫早就不見啦!

開始玩吧!

準備好測試你的音樂能力了嗎?拿出一張紙寫下你的答案吧!有 26 題,應該大約 20 分鐘可完成,記得用你最好的耳機或喇叭玩。

不過再次提醒一下,這是 2008 年的作品,我那時候還很菜,不要期待太高的品質。


《WiwiStudio 音樂能力測驗》題目開始

01

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?

  • a. 完全相同
  • b. 有些不同

02

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?

  • a. 完全相同
  • b. 有些不同

03

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?

  • a. 完全相同
  • b. 有些不同

04

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?

  • a. 完全相同
  • b. 有些不同

05

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?

  • a. 完全相同
  • b. 不相同,兩個片段的「音高」有些不同
  • c. 不相同,兩個片段的「節奏」有些不同

06

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?

  • a. 完全相同
  • b. 不相同,兩個片段的「音高」有些不同
  • c. 不相同,兩個片段的「節奏」有些不同

07

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?

  • a. 完全相同
  • b. 不相同,兩個片段的「音高」有些不同
  • c. 不相同,兩個片段的「節奏」有些不同
  • d. 不相同,兩個片段的「音高和節奏」都有些不同

08

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?

  • a. 完全相同
  • b. 不相同,兩個片段的「音高」有些不同
  • c. 不相同,兩個片段的「節奏」有些不同
  • d. 不相同,兩個片段的「音高和節奏」都有些不同

09

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。音樂片段是由電吉他、電貝斯和爵士鼓演奏。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?如果不相同,請指出是哪一個樂器的部份不同。

  • a. 完全相同
  • b. 不相同,兩個片段的「電吉他部份」有些不同
  • c. 不相同,兩個片段的「電貝斯部份」有些不同
  • d. 不相同,兩個片段的「爵士鼓部份」有些不同

10

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。音樂片段是由電鋼琴、電貝斯和合成鼓組演奏,請注意聽當中電鋼琴的部份。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?如果不相同,請明確指出它們如何不同。

  • a. 完全相同
  • b. 不相同,電鋼琴彈的「音高」有些不同
  • c. 不相同,電鋼琴彈的「節奏」有些不同
  • d. 不相同,電鋼琴彈的「音高和節奏」都有些不同

11

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。音樂片段是由鋼琴、低音提琴和爵士鼓演奏。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?如果不相同,請指出是哪一個樂器的部份不同。

  • a. 完全相同
  • b. 不相同,兩個片段的「鋼琴部份」有些不同
  • c. 不相同,兩個片段的「低音提琴部份」有些不同
  • d. 不相同,兩個片段的「鋼琴和低音提琴部份」都有些不同

12

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?如果不相同,請明確指出它們如何不同。

  • a. 完全相同
  • b. 不相同,兩個片段的「音高」有些不同
  • c. 不相同,兩個片段的「節奏」有些不同
  • d. 不相同,兩個片段的「音高和節奏」都有些不同

13

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?如果不相同,請明確指出它們如何不同。

  • a. 完全相同
  • b. 不相同,兩個片段的「音高」有些不同
  • c. 不相同,兩個片段的「節奏」有些不同
  • d. 不相同,兩個片段的「音高和節奏」都有些不同

14

按下播放鈕後,會連續播放兩個音樂片段,兩個片段之間會有約兩秒鐘的間隔。音樂片段是由鋼琴、電貝斯和爵士鼓演奏。你有兩次的播放機會,請仔細聽兩個音樂片段,然後回答下面的問題。

這兩個音樂片段是否相同?如果不相同,請指出是哪一個樂器的部份不同。

  • a. 完全相同
  • b. 不相同,兩個片段的「鋼琴部份」有些不同
  • c. 不相同,兩個片段的「爵士鼓部份」有些不同
  • d. 不相同,兩個片段的「鋼琴和爵士鼓部份」都有些不同

15

第 15-17 題,將測驗你將音樂視覺化的能力。

按下播放鈕後,會播放一個音樂片段,請選出最能代表這個音樂片段的圖形。你有兩次的播放機會。

以下哪一個圖形,最能代表剛才播放的音樂片段?

16

按下播放鈕後,會播放一個音樂片段,請選出最能代表這個音樂片段的圖形。你有兩次的播放機會。

以下哪一個圖形,最能代表剛才播放的音樂片段?

17

按下播放鈕後,會播放一個音樂片段,請選出最能代表這個音樂片段的圖形。你有兩次的播放機會。

以下哪一個圖形,最能代表剛才播放的音樂片段?

18

第 18-20 題,要測試你的心理節拍穩定度。

按下播放鈕後,會播放一個音樂片段,仔細聽音樂的速度變化。你有兩次的播放機會。

這個音樂片段的速度變化為何?

  • a. 速度完全沒有變化
  • b. 越來越快
  • c. 越來越慢

19

按下播放鈕後,會播放一個音樂片段,仔細聽音樂的速度變化。你有兩次的播放機會。

這個音樂片段的速度變化為何?

  • a. 速度完全沒有變化
  • b. 越來越快
  • c. 越來越慢

20

按下播放鈕後,會播放一個音樂片段,仔細聽音樂的速度變化。你有兩次的播放機會。

這個音樂片段的速度變化為何?

  • a. 速度完全沒有變化
  • b. 越來越快
  • c. 越來越慢

21

最後六題,也就是第 21-26 題,要測試你的節奏辨識力和記憶力。

按下播放鈕後,會播放一個用鼓演奏的音樂片段,你要算出鼓總共敲了幾下。你有兩次的播放機會。

鼓總共敲了幾下?

  • a. 10
  • b. 11
  • c. 12
  • d. 13

22

按下播放鈕後,會播放一個用鼓演奏的音樂片段,你要算出鼓總共敲了幾下。你有兩次的播放機會。

鼓總共敲了幾下?

  • a. 10
  • b. 11
  • c. 12
  • d. 13

23

按下播放鈕後,會播放一個用鼓演奏的音樂片段,你要算出鼓總共敲了幾下。你有兩次的播放機會。

鼓總共敲了幾下?

  • a. 17
  • b. 18
  • c. 19
  • d. 20

24

按下播放鈕後,會播放一個用鼓演奏的音樂片段,你要算出鼓總共敲了幾下。你有兩次的播放機會。

鼓總共敲了幾下?

  • a. 22
  • b. 23
  • c. 24
  • d. 25

25

按下播放鈕後,會播放一個用鼓演奏的音樂片段,你要算出鼓總共敲了幾下。你有兩次的播放機會。

鼓總共敲了幾下?

  • a. 23
  • b. 24
  • c. 25
  • d. 26

26

按下播放鈕後,會播放一個用鼓演奏的音樂片段,你要算出鼓總共敲了幾下。你有兩次的播放機會。

鼓總共敲了幾下?

  • a. 28
  • b. 29
  • c. 30
  • d. 31

恭喜你完成測驗,來對答案!

按我看解答!
ababbbadcbdabcacdbcbbdcacb

或者直接在下面的文字框輸入答案,讓我直接用原始遊戲的公式幫你算分!

目前輸入長度:0 / 26

好玩嗎?

如果你喜歡以上的測驗,我在 2019 年做了這個音樂測驗的續集《尋找黃金檸檬卷之聽力大挑戰》,它是一個 YouTube 影片迷宮遊戲,很好玩唷!還沒玩過的趕快到以下連結: