<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>O'Oh 麵麵 – Blog</title><link>https://oohmemen.com/blog/</link><description>Recent content in Blog on O'Oh 麵麵</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><lastBuildDate>Thu, 16 Apr 2026 04:57:14 +0800</lastBuildDate><atom:link href="https://oohmemen.com/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>戒奶嘴</title><link>https://oohmemen.com/blog/pacifier-weaning/</link><pubDate>Thu, 16 Apr 2026 04:57:14 +0800</pubDate><guid>https://oohmemen.com/blog/pacifier-weaning/</guid><description>
&lt;p>聽托兒所老師說，班上還在吃奶嘴的小朋友只剩我們家這對雙胞胎。為了戒奶嘴，我們跟老師開始進行戒除奶嘴大作戰。現在只要進托兒所，奶嘴就會&lt;del>沒收&lt;/del>放在奶嘴盒裡，跟他們解釋「奶嘴要充電休息，睡覺才有奶嘴」。在家裡，我們盡量規定他們只能在睡覺前使用奶嘴，但有時候他們還是會吵著要，尤其麥噗，常常會直接在地上打滾或躺平抗議。&lt;/p>
&lt;p>&lt;figure>
&lt;img src="https://oohmemen.com/blog/pacifier-weaning/miller.jpg" title="除了喵喵襪其他襪子我不穿的米噗" alt="" loading="lazy" />
&lt;figcaption>除了喵喵襪其他襪子我不穿的米噗&lt;/figcaption>
&lt;/figure>&lt;/p>
&lt;p>關於戒奶嘴&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>，我也問了父母自己小時候是怎麼戒奶嘴的，結果是當著我面前丟給狗吃😑。不曉得當時幼小的心靈受到多大的衝擊？也問了其他長輩，有的人說塗辣椒或苦瓜水，有的人說把奶嘴剪洞，聽起來就是要讓奶嘴變得不好吃。目前我們是採用漸進式戒除，從日常作息裡減少對奶嘴的依賴。後來看了&lt;a href="https://opinion.cw.com.tw/blog/profile/320/article/9622"target="_blank" rel="noopener">〈當整個社會一起寵孩子──在瑞典看見不一樣的童年（三）〉&lt;/a>這篇文章，赫然發現北歐國家的父母會為孩子舉辦「告別奶嘴的儀式」。&lt;/p>
&lt;p>文章裡面提到，在瑞典的動物園，常常會設置捐贈奶嘴專區，讓小朋友把奶嘴捐給動物寶寶。這個點子真是不錯，我也打算仿效，讓戒奶嘴這件事變成一個很棒的回憶，而不是不舒服的回憶。這陣子要開始和孩子們&lt;del>洗腦&lt;/del>溝通，我們要跟奶嘴好好說再見，幫助他們做好心理準備：選擇把自己心愛的奶嘴「主動」捐出去，也許會有點猶豫，接下來可能會體驗到很多&lt;a href="https://wiwi.blog/blog/tiny-discomforts"target="_blank" rel="noopener">不舒服&lt;/a>，但仍然決定去做。&lt;/p>
&lt;p>噗噗們小時候打預防針，總是會鼓勵他們說「勇氣奶嘴會給你勇氣，別害怕」。轉眼間，已經要跟勇氣奶嘴說再見了。&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>關於何時戒奶嘴眾說紛紜，專家建議最好 3~4 歲前可以戒掉，主要是因為會影響牙齒排列和語言發展，而且奶嘴也比較容易滋生細菌。&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>保持心情愉快</title><link>https://oohmemen.com/blog/stay-in-a-good-mood/</link><pubDate>Mon, 06 Apr 2026 04:01:04 +0800</pubDate><guid>https://oohmemen.com/blog/stay-in-a-good-mood/</guid><description>
&lt;div class="hx:overflow-x-auto hx:mt-6 hx:flex hx:rounded-lg hx:border hx:py-2 hx:ltr:pr-4 hx:rtl:pl-4 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-purple-200 hx:bg-purple-100 hx:text-purple-900 hx:dark:border-purple-200/30 hx:dark:bg-purple-900/30 hx:dark:text-purple-200">
&lt;div class="hx:ltr:pl-3 hx:ltr:pr-2 hx:rtl:pr-3 hx:rtl:pl-2">&lt;div class="hx:select-none hx:text-xl" style="font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';">👷🏼‍♂️&lt;/div>&lt;/div>
&lt;div class="hx:w-full hx:min-w-0 hx:leading-7">
&lt;div class="hx:mt-6 hx:leading-7 hx:first:mt-0">這是我第四次參加 &lt;a href="https://blogblog.club/party/"target="_blank" rel="noopener">BlogBlog 同樂會&lt;/a>。上次主題是&lt;a href="https://oohmemen.com/blog/ideal-daily-life/"target="_blank" rel="noopener">理想的日常&lt;/a>，這次主題是「生產力」，由 &lt;a href="https://www.wen-lab.tw/"target="_blank" rel="noopener">Wen&lt;/a> 主持。如果你有自己的部落格，歡迎一起來參加！&lt;/div>
&lt;/div>
&lt;/div>
&lt;blockquote>
&lt;p>時間是人類認為被平等賦予的事物之一，只要能夠正確把握，人類就會感到安心。時間的快慢，和人生的充實度成正比；相反地，一旦感到無趣，時間就會變得異常緩慢，上課中偶爾會有時間停止的錯覺。&lt;/p>
&lt;p>&amp;mdash;《天才搶匪盜轉地球》&lt;/p>
&lt;/blockquote>
&lt;p>書架上唯一跟「生產力」有關的書是《Atomic Habits》，但擁有這本書不代表我打開看過。理智上，這本書受到很多人推崇，我應該好好花時間拜讀，卻遲遲提不起勁打開它。有時間寧願拿去看《異獸魔都》，或做其他有趣的事情，像是寫部落格文章（咦？）。&lt;/p>
&lt;p>&lt;a href="https://readingoutpost.com/time-management-books/"target="_blank" rel="noopener">【好書推薦】時間管理、提升生產力的 10 本必讀經典好書&lt;/a>。&lt;/p>
&lt;p>好奇現在有哪些書籍跟「生產力」有關，上面連結洋洋灑灑推薦了 10 本，不要說 10 本，隨便挑三本我就覺得倍感壓力。還看到一本書名是《慢速生產力》，直接把「生產力」放在書名，「慢速」則讓我覺得可以慢慢看也沒關係，非常貼心的書名。&lt;/p>
&lt;p>意志力薄弱的我沒有把握能啃完這類書籍，與其半途而廢&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>，倒不如不要開始。不過就算沒有看過，我們也不需要妄自菲薄，有沒有生產力可不是別人說了算。&lt;/p>
&lt;h2>心情左右你的生產力&lt;span class="hx:absolute hx:-mt-20" id="心情左右你的生產力">&lt;/span>
&lt;a href="#%e5%bf%83%e6%83%85%e5%b7%a6%e5%8f%b3%e4%bd%a0%e7%9a%84%e7%94%9f%e7%94%a2%e5%8a%9b" class="subheading-anchor" aria-label="Permalink for this section">&lt;/a>&lt;/h2>&lt;p>一開始成立部落格，期許自己能夠週更，但實際上根本做不到。同時要照顧小孩又要能好好過日子，平時沒什麼在運動的我，&lt;a href="https://wiwi.blog/blog/not-personality-but-stamina/"target="_blank" rel="noopener">電池&lt;/a>很快就耗光。光是小孩出門不換衣服說要穿睡衣出門，就可以僵持一個小時。在這樣的狀態下，當然找不到寫部落格的節奏。於是，後來部落格就變成佛系更新（&lt;del>不然就是熬夜敲鍵盤參加投稿&lt;/del>）。&lt;/p>
&lt;p>「&lt;strong>心情&lt;/strong>。心情的好壞會影響我的生產力。」我左思右想突然靈光一閃。&lt;/p>
&lt;p>心情低落會變得什麼事情都不想做，覺得做什麼都好麻煩，拖延症一發作，這樣怎麼會有生產力呢？相反地，如果心情愉快，光是坐在螢幕前發呆，也不會覺得虛度光陰，靈感也比較容易找上門。之前挑戰自己寫 &lt;a href="https://oohmemen.com/blog/how-to-make-8bit-triangle-wave/">8-bit sounds&lt;/a> 這個主題，因為是自己感興趣的主題，雖然前前後後花了一個月左右的時間，但完全不會覺得自己沒有生產力，反而覺得很充實。所以找到能夠讓你保持動力的事情來做，好心情自然會來，哪怕是旁人看起來微不足道的小事情。&lt;/p>
&lt;blockquote>
&lt;p>不管事情多麼艱難，只要像唸咒語似的&amp;hellip;唸著&amp;hellip;有什麼辦法呢&amp;hellip;這句話似乎消極，實際上可以讓人努力振作起來。&lt;/p>
&lt;p>&amp;mdash;《隔壁的山田君》&lt;/p>
&lt;/blockquote>
&lt;p>「休息是為了走更長遠的路」這句話絕對不是偷懶或拖稿的藉口，我們不是機器，就算是機器也要定期保養。睡眠不足怎麼會有好心情，所以會用腦波控制人的唐鳳不意外也建議大家睡滿八個小時。睡不滿八個小時怎麼辦？&lt;strong>有什麼辦法呢&lt;/strong>別怪我沒有生產力囉！我也想睡好睡滿，但現實生活不一定允許。有時候睡到一半自己醒來然後就睡不著了，有時候半夜會被小孩吵醒。&lt;/p>
&lt;p>除了體力和睡眠以外，&lt;a href="https://wiwi.blog/blog/it-doesnt-take-many"target="_blank" rel="noopener">過多的資訊&lt;/a>也會影響我們的心情。試想一下你今天去 Buffet 餐廳吃到飽，每一樣食物看起來都很好吃，決定放縱自己大快朵頤一番，用餐時間結束後，肚子把衣褲撐得緊緊，吃飽喝足後的你昏昏欲睡，什麼事都做不了，運氣不好搞不好還會食物中毒，更別提什麼生產力。大腦資訊過載也會遇到一樣的問題，人類每天的專注力是有限的資源，選擇吃什麼食物，照顧好大腦，就變成你的責任。&lt;/p>
&lt;h2>你需要一把好斧頭&lt;span class="hx:absolute hx:-mt-20" id="你需要一把好斧頭">&lt;/span>
&lt;a href="#%e4%bd%a0%e9%9c%80%e8%a6%81%e4%b8%80%e6%8a%8a%e5%a5%bd%e6%96%a7%e9%a0%ad" class="subheading-anchor" aria-label="Permalink for this section">&lt;/a>&lt;/h2>&lt;blockquote>
&lt;p>Give me six hours to chop down a tree and I will spend the first four sharpening the axe.&lt;/p>
&lt;p>&amp;mdash; Abraham Lincoln&lt;/p>
&lt;/blockquote>
&lt;p>關於砍樹讓我想到《哪啊哪啊~神去村》這部電影，忘記劇中是怎麼描述砍樹的畫面，好奇在網路上搜尋一下，意外發現一篇文章&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>在講日本伐木業的稀有職人「&lt;strong>空師&lt;/strong>」怎麼砍下巨大的樹木，&lt;a href="https://www.youtube.com/watch?v=ZXi7Dpw-2i8"target="_blank" rel="noopener">砍伐過程&lt;/a>讓人肅然起敬。現代林木業用斧頭砍樹已經成為過去式，要能撂倒這麼巨大的對手，當然要選擇攻擊力強的鏈鋸。影片中，除了鏈鋸以外，還能看到伐木師運用繩索控制樹木傾倒的方向。&lt;/p>
&lt;p>&lt;strong>空師&lt;/strong>&lt;sup id="fnref:3">&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref">3&lt;/a>&lt;/sup>之所以能掛上「師」這個稱號，一定對伐木有過人的技術和經驗，以及冒著生命危險站在高空的勇氣，並不是每個拿到鏈鋸的人都可以進行高難度特殊要求的伐木任務。&lt;/p>
&lt;p>扯遠了。這邊主要想表達的是熟悉你手邊的工具。每樣工具都有適合的使用情境，不同的工具之間能夠有&lt;a href="https://oohmemen.com/blog/markdown-table-formatting/">相乘&lt;/a>的效果，那就再好不過。像我因為長時間使用電腦姿勢不當導致肩頸出問題，近年來盡量用鍵盤取代滑鼠操作，希望能減輕肩頸負擔。&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>這種事不知道發生幾次了🫣&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>&lt;a href="https://cooljapan-videos.com/tw/articles/umbe39sy"target="_blank" rel="noopener">https://cooljapan-videos.com/tw/articles/umbe39sy&lt;/a>&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:3">
&lt;p>好奇「空師（そらし）」的日文由來，發現詞彙裡面可能藏有雙關🧐。「天空」的日文是そら，而「逸らす（そらす）」則有「讓方向改變」的意思。&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>理想的日常</title><link>https://oohmemen.com/blog/ideal-daily-life/</link><pubDate>Sat, 28 Mar 2026 00:17:32 +0800</pubDate><guid>https://oohmemen.com/blog/ideal-daily-life/</guid><description>
&lt;div class="hx:overflow-x-auto hx:mt-6 hx:flex hx:rounded-lg hx:border hx:py-2 hx:ltr:pr-4 hx:rtl:pl-4 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-purple-200 hx:bg-purple-100 hx:text-purple-900 hx:dark:border-purple-200/30 hx:dark:bg-purple-900/30 hx:dark:text-purple-200">
&lt;div class="hx:ltr:pl-3 hx:ltr:pr-2 hx:rtl:pr-3 hx:rtl:pl-2">&lt;div class="hx:select-none hx:text-xl" style="font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';">🤔&lt;/div>&lt;/div>
&lt;div class="hx:w-full hx:min-w-0 hx:leading-7">
&lt;div class="hx:mt-6 hx:leading-7 hx:first:mt-0">這是我第三次參加 &lt;a href="https://blogblog.club/party/"target="_blank" rel="noopener">BlogBlog 同樂會&lt;/a>。上次主題是&lt;a href="https://oohmemen.com/blog/twirl-my-hair/"target="_blank" rel="noopener">只有我這樣嗎？&lt;/a>，這次主題是「理想的日常」，由 &lt;a href="https://alexhsu.com/"target="_blank" rel="noopener">Alex Hsu&lt;/a> 主持。如果你有自己的部落格，歡迎一起來參加！&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>這次主題遲遲無法下筆，平日要幫兩隻&lt;a href="https://oohmemen.com/blog/storytime-rosie-walk/">哥吉拉&lt;/a>搦屎搦尿，週末要帶他們出去散步放電，這樣的日常感覺不算是理想。但是，放著孩子不管做自己想做的事難道就是理想？&lt;/p>
&lt;p>於是我得到一個結論：理想的日常肯定跟&lt;strong>當下&lt;/strong>你能夠做的最好選擇有關。而我&lt;strong>現在&lt;/strong>的理想日常肯定跟兩隻噗噗綁在一起。&lt;strong>看似不自由的選擇，還是有些畫面可以期待。&lt;/strong>&lt;/p>
&lt;p>&lt;img src="https://oohmemen.com/blog/ideal-daily-life/twins.jpg" alt="" loading="lazy" />&lt;/p>
&lt;p>我一直想像一個畫面，週末早上一家人一起坐在寬敞的餐桌上，享受悠閒氣味&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>的早餐，這時候的孩子已經可以自己好好吃飯，不會吃得滿嘴都是，地板也能保持乾淨沒有屑屑，父母不需要過度操心。餐後，想看書的去拿書來看，想塗鴉的去拿紙筆來畫，爸爸能夠思考&lt;a href="https://oohmemen.com/blog/explore-kobo-libra-colour/">無聊有趣之事&lt;/a>，媽媽能夠好好追劇，陪伴彼此慵懶度過一段時光。&lt;/p>
&lt;p>想像不用錢，多來幾個畫面：&lt;/p>
&lt;ul>
&lt;li>🚽 孩子能夠自行脫褲子去馬桶大小號，這樣就不用一直幫他們洗屁屁，尿布錢也可以省起來。&lt;/li>
&lt;li>🚿 再來就是，幫他們洗完澡，不要身體光溜溜讓父母追著跑，能夠自己趕快穿好衣服，免得身體著涼又要看醫生。&lt;/li>
&lt;li>📢 拿出來的玩具要自己收好，不需要父母大聲斥責。&lt;/li>
&lt;/ul>
&lt;p>千里之行，始於足下。這些畫面不會突然出現，父母&lt;strong>日常&lt;/strong>對孩子的引導很重要。&lt;/p>
&lt;p>&lt;img src="https://oohmemen.com/blog/ideal-daily-life/miller.jpg" alt="" loading="lazy" />&lt;/p>
&lt;blockquote>
&lt;p>人們如果不專注在某件事情上，根本就活不下去&amp;hellip;&lt;br />
大家&amp;hellip;都是某些事物的奴隸&amp;hellip;&lt;/p>
&lt;p>&amp;mdash; 進擊的巨人&lt;/p>
&lt;/blockquote>
&lt;p>&lt;a href="https://www.youtube.com/watch?v=4C44ftapDdc"target="_blank" rel="noopener">Clash on the Big Bridge - Final Fantasy V / ビッグブリッヂの死闘 - FF5&lt;/a>&lt;/p>
&lt;p>除了那些屬於爸爸的日常，如果還有額外悠閒時間的話，希望可以持續鑽研復古遊戲音樂。自從看了上面那個影片，沒有跟其他人合奏過的我，覺得能夠有這樣的同好，一起演奏喜歡的遊戲音樂，那畫面光是想像的就覺得很快樂。如果可以的話，每個月 1~2 次的練團活動，這樣的日常感覺好像不錯。&lt;/p>
&lt;p>這樣的同好可遇不可求，若有時間鑽研自己感興趣的事物，便已足矣。&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>動畫《蠟筆小新：我和我的宇宙公主》裡的小葵能夠帶來&lt;strong>悠閒氣味&lt;/strong>，小新則是能帶來放鬆的「懶懶散散賢者」。&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Xenogears</title><link>https://oohmemen.com/blog/xenogears/</link><pubDate>Sun, 22 Mar 2026 23:51:24 +0800</pubDate><guid>https://oohmemen.com/blog/xenogears/</guid><description>
&lt;p>《&lt;strong>Xenogears&lt;/strong>》 是一款由&lt;strong>史克威爾&lt;/strong>（現&lt;strong>史克威爾艾尼克斯&lt;/strong>）開發的角色扮演遊戲，1998 年 2 月 11 日於日本推出。它在我心目中的地位完全不輸同時期開發的《&lt;strong>Final Fantasy VII&lt;/strong>》。然而，我始終沒有搞懂過遊戲劇情。遊戲總共有兩片光碟，據說由於後期開發時間不足，為了把故事說完，第二片像是電子小說。忘記到底有沒有玩到第二片，看不懂日文的我，應該花了不少時間在迷路和問路人上面，也許就這樣卡在第一片。&lt;/p>
&lt;p>在網路上搜尋到一篇日本人寫的&lt;a href="https://note.com/nozawa_arashi/n/n85b55791b61a"target="_blank" rel="noopener">文章&lt;/a>，他自己也表示搞不清人物目的，看不懂故事。即使這樣，這部神作仍然讓人深深著迷。&lt;/p>
&lt;p>這幾天突發奇想，不如來問問 ChatGPT 這款遊戲的故事劇情。一句話總結：&lt;/p>
&lt;blockquote>
&lt;p>《Xenogears》的故事是在講：&lt;br />
一個被操控數千年的文明循環中，人類如何擺脫命運與神的控制。&lt;/p>
&lt;/blockquote>
&lt;p>不確定是不是 AI 的幻覺，而且後續內容不像是在胡扯。有些人物或專有名詞在遊戲百科的網站上，確實都找得到。如果要驗證資訊是否有捏造，我得重新玩一次。玩日文版，我的日文程度只認識五十音；玩漢化版，我擔心翻譯品質；看來玩英文版的可行性比較高。但因為故事架構龐大複雜，沒有把握能邊玩邊理解劇情🤔。而且因為照顧小孩的關係，空閒時間零碎，玩到一半放棄的可能性很大。&lt;/p>
&lt;p>如果真的想理解劇情，ChatGPT 建議的順序：&lt;/p>
&lt;ol>
&lt;li>世界觀與 &lt;em>Deus&lt;/em>&lt;/li>
&lt;li>&lt;em>Solaris&lt;/em> 的統治&lt;/li>
&lt;li>&lt;em>Fei&lt;/em> 的多重人格與輪迴&lt;/li>
&lt;/ol>
&lt;p>這邊簡單摘要第一點和第二點。&lt;strong>因為整理的素材來自 AI，閱讀時請自行判斷。&lt;/strong>&lt;/p>
&lt;p>故事從一艘宇宙飛船&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>開始，航行的目的我們先放著不管。重點是宇宙飛船運載著極度危險的「&lt;em>神級兵器 Deus&lt;/em>」。它像是神一般的存在，能夠自行修復、自行製造零件，並參與宇宙戰爭。航行的途中 &lt;em>Deus&lt;/em> 失控暴走，引發大規模事故，最終墜毀在一個未知的星球。&lt;/p>
&lt;p>恐怖的是，&lt;em>Deus&lt;/em>&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup> 並沒有被摧毀，並且展開自我修復計畫。&lt;em>Deus&lt;/em> 設計了一套完整的系統：&lt;/p>
&lt;ol>
&lt;li>重新製造人類&lt;/li>
&lt;li>操控文明發展&lt;/li>
&lt;li>反覆重置文明&lt;/li>
&lt;/ol>
&lt;p>&lt;strong>把人類文明當作修理材料。&lt;/strong>&lt;/p>
&lt;p>這套系統是怎麼運作的？地面世界存在很多國家，時常發生戰爭，但背後其實是被隱藏在天空的 &lt;em>Solaris&lt;/em>&lt;sup id="fnref:3">&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref">3&lt;/a>&lt;/sup> 超科技文明操控。引發戰爭的目的則是促進科技發展。另外，&lt;em>Solaris&lt;/em> 還有一個外包機構 &lt;em>Ethos&lt;/em>&lt;sup id="fnref:4">&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref">4&lt;/a>&lt;/sup>。表面上看起來是世界性的宗教組織，實際上是 &lt;em>Solaris&lt;/em> 的間諜組織，目的是用「宗教 + 情報」控制人民思想，防止一般人接觸古代遺跡科技，進而回收和修復古代文明。&lt;/p>
&lt;p>&lt;strong>整個世界都是 &lt;em>Deus&lt;/em> 的生命農場。&lt;/strong>&lt;/p>
&lt;p>&lt;em>Miang&lt;/em> 是 &lt;em>Solaris&lt;/em> 背後的支配者。她可以看作是 &lt;em>Deus&lt;/em> 的行政系統管理員，目的是維持文明發展發向，確保 &lt;em>Deus&lt;/em> 修復成功。她每一代都會「換身體」，只要她存在，&lt;em>Solaris&lt;/em> 就會繼續運作。&lt;em>Solaris&lt;/em> 還有一個非常黑暗噁心的系統 &lt;em>Soylent System&lt;/em>&lt;sup id="fnref:5">&lt;a href="#fn:5" class="footnote-ref" role="doc-noteref">5&lt;/a>&lt;/sup>。當人口過剩，人類會被「回收」並加工成食物或藥物，再分發給整個社會。當主角一行人潛入 &lt;em>Solaris&lt;/em> 吃到「加工後」的罐頭食物時，內心衝擊非常大。&lt;/p>
&lt;p>寫到這裡，先深呼吸一會。&lt;br />
當年玩的遊戲，故事架構竟然長這樣！？&lt;/p>
&lt;p>&lt;figure>
&lt;img src="https://oohmemen.com/blog/xenogears/pieces.jpg" title="遊戲音樂原聲帶和沒有打開看過的《Xenogears》20 週年音樂會" alt="" loading="lazy" />
&lt;figcaption>遊戲音樂原聲帶和沒有打開看過的《Xenogears》20 週年音樂會&lt;/figcaption>
&lt;/figure>&lt;/p>
&lt;p>轉換心情，來聽聽遊戲裡的戰鬥音樂〈鋼の巨人〉。Xenogears 的一大賣點是玩家可以操控&lt;strong>機甲&lt;/strong>跟敵人戰鬥。能夠操控巨大人形兵器來戰鬥，對當時的我可說是非常熱血啊！多年後，卻發現劇情比想像中沉重。&lt;/p>
&lt;p>銅管樂器營造出緊張的戰鬥氛圍。根據好和弦的&lt;a href="https://www.youtube.com/watch?v=7ZDGgmN8atM"target="_blank" rel="noopener">管弦樂器懶人包&lt;/a>，推測應該屬於銅管樂器。&lt;/p>
&lt;p>
&lt;audio controls preload="auto" src="Steel-Giant-brass-part.ogg">&lt;/audio>
&lt;/p>
&lt;p>加上合成器和打擊樂器，完全感受到巨型機甲逐漸覆蓋整個戰場，沉重的壓迫感讓人喘不過氣來，熱血的金屬機械碰撞準備上演。&lt;/p>
&lt;p>
&lt;audio controls preload="auto" src="Steel-Giant.ogg">&lt;/audio>
&lt;/p>
&lt;p>作曲家&lt;strong>光田康典&lt;/strong>的譜曲幫這部作品加了很多分，我甚至覺得如果不是由他譜曲，Xenogears 就不是 Xenogears 了。&lt;/p>
&lt;p>這篇文章來到尾聲，關於 Xenogears 還有很多可以說，也還有很多資訊需要消化，未來有機會再來分享。&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>&lt;a href="https://www.xenoserieswiki.org/wiki/Eldridge"target="_blank" rel="noopener">https://www.xenoserieswiki.org/wiki/Eldridge&lt;/a>&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>&lt;a href="https://www.xenoserieswiki.org/wiki/Deus"target="_blank" rel="noopener">https://www.xenoserieswiki.org/wiki/Deus&lt;/a>&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:3">
&lt;p>&lt;a href="https://www.xenoserieswiki.org/wiki/Solaris"target="_blank" rel="noopener">https://www.xenoserieswiki.org/wiki/Solaris&lt;/a>&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:4">
&lt;p>&lt;a href="https://www.xenoserieswiki.org/wiki/Ethos"target="_blank" rel="noopener">https://www.xenoserieswiki.org/wiki/Ethos&lt;/a>&amp;#160;&lt;a href="#fnref:4" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:5">
&lt;p>&lt;a href="https://www.xenoserieswiki.org/wiki/Soylent_System"target="_blank" rel="noopener">https://www.xenoserieswiki.org/wiki/Soylent_System&lt;/a>&amp;#160;&lt;a href="#fnref:5" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>探索 Kobo Libra Colour</title><link>https://oohmemen.com/blog/explore-kobo-libra-colour/</link><pubDate>Tue, 10 Mar 2026 13:22:53 +0800</pubDate><guid>https://oohmemen.com/blog/explore-kobo-libra-colour/</guid><description>
&lt;p>去年提到我買了&lt;a href="https://oohmemen.com/blog/copy-text-from-e-book/">電子書閱讀器&lt;/a>，因為是第一次買，做了一些功課。影響購買的因素不外乎：電子書購買平台、支援的電子書格式（封閉式還是開放式？）、外型、手感、價格等。後來發現 &lt;a href="https://koreader.rocks/"target="_blank" rel="noopener">KOReader&lt;/a> 有支援 Kobo 裝置，二話不說直接考慮 Kobo，最後選擇了七吋的 Kobo Libra Colour&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>。&lt;/p>
&lt;h2>安裝 KOReader&lt;span class="hx:absolute hx:-mt-20" id="安裝-koreader">&lt;/span>
&lt;a href="#%e5%ae%89%e8%a3%9d-koreader" class="subheading-anchor" aria-label="Permalink for this section">&lt;/a>&lt;/h2>&lt;p>參考了這篇&lt;a href="https://github.com/koreader/koreader/wiki/Installation-on-Kobo-devices"target="_blank" rel="noopener">教學&lt;/a>，順利安裝好 KOReader。教學文件看起來好像很複雜，但其實已經有人幫忙簡化安裝流程：&lt;/p>
&lt;ol>
&lt;li>下載懶人包&lt;/li>
&lt;li>連接 Kobo 裝置到電腦&lt;/li>
&lt;li>解壓縮懶人包到磁碟掛載後的根目錄&lt;/li>
&lt;li>安全退出 Kobo 裝置&lt;/li>
&lt;li>裝置開始進行安裝&lt;/li>
&lt;li>reboot and done!&lt;/li>
&lt;/ol>
&lt;p>懶人包裡面除了有 KOReader，另外還包含 &lt;a href="https://github.com/NiLuJe/kfmon"target="_blank" rel="noopener">KFMon&lt;/a> 和 &lt;a href="https://pgaskin.net/NickelMenu/"target="_blank" rel="noopener">NickelMenu&lt;/a>。這兩個軟體協助我們在 Kobo 官方閱讀軟體新增自訂選單，讓我們可以啟動 KOReader。NickelMenu 讓你自訂想觸發什麼動作，甚至可以執行 Linux 指令或是自己寫的腳本。也可以新增螢幕截圖的功能到選單裡。&lt;/p>
&lt;p>雖然 Kobo 閱讀器屬於封閉式系統，但在軟體整合上通常會比其他家好&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>。而且我們只要動點手腳，就可以擴充功能了。不喜歡官方提供的閱讀軟體嗎？沒關係你還有其他選擇。覺得 KOReader 界面太複雜？也許可以試試另一個閱讀軟體 &lt;a href="https://github.com/baskerville/plato"target="_blank" rel="noopener">Plato&lt;/a>。&lt;/p>
&lt;p>前面提到螢幕截圖的功能，其實官方也有提供，只不過需要另外做設定。設定檔 &lt;code>Kobo eReader.conf&lt;/code> 藏在 &lt;code>.kobo&lt;/code> 目錄底下。新增以下設定：&lt;/p>
&lt;div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">
&lt;div>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-ini" data-lang="ini">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#859900">[FeatureSettings]&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#268bd2">Screenshots&lt;/span>=&lt;span style="color:#2aa198">true&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/div>&lt;div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
&lt;button
class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
title="Copy code"
aria-label="Copy code"
data-copied-label="Copied!"
>
&lt;div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4">&lt;/div>
&lt;div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4">&lt;/div>
&lt;/button>
&lt;/div>
&lt;/div>
&lt;p>現在你可以透過 Power Button 截圖了！咦？那我要怎麼手動關機呢？抱歉，你只能等系統進入關機狀態😅。所以我只試過一次，確定截圖功能正常後，就關閉這個設定了。設定檔還有其他隱藏功能，例如修改待機畫面。有興趣的人可以自行搜尋。&lt;/p>
&lt;h2>SSH 登入&lt;span class="hx:absolute hx:-mt-20" id="ssh-登入">&lt;/span>
&lt;a href="#ssh-%e7%99%bb%e5%85%a5" class="subheading-anchor" aria-label="Permalink for this section">&lt;/a>&lt;/h2>&lt;p>前幾天我新增了 &lt;a href="https://oohmemen.com/now/">&lt;code>/now&lt;/code>&lt;/a> 頁面，提到了「SSH 登入到 Kobo 閱讀器要幹麼？」，我好奇是否可以在 Kobo 裝置顯示終端機畫面🤔。但這個大哉問先放一旁，我們先來解決 SSH 登入問題。&lt;/p>
&lt;p>如果你安裝好 KOReader，其實裡面已經包含 SSH 的功能。KOReader 是透過 &lt;a href="https://matt.ucc.asn.au/dropbear/dropbear.html"target="_blank" rel="noopener">Dropbear&lt;/a> 提供 SSH service。&lt;/p>
&lt;p>&lt;code>KOReader -&amp;gt; TOP MENU -&amp;gt; GEAR ICON -&amp;gt; Network -&amp;gt; SSH server&lt;/code>&lt;/p>
&lt;p>按照上面的順序找到 SSH server，並啟動它。如果你跟我一樣不喜歡&lt;strong>無密碼登入&lt;/strong>，你需要把 &lt;code>ssh-keygen&lt;/code> 產生出來的 public key 放在這裡。&lt;/p>
&lt;div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">
&lt;div>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>.adds/koreader/settings/SSH/authorized_keys&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/div>&lt;div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
&lt;button
class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
title="Copy code"
aria-label="Copy code"
data-copied-label="Copied!"
>
&lt;div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4">&lt;/div>
&lt;div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4">&lt;/div>
&lt;/button>
&lt;/div>
&lt;/div>
&lt;p>不要問我為什麼放這裡，當初我也是找了好久才發現。&lt;/p>
&lt;p>同樣地，其實官方知道也許有人想要 SSH，不管是給別人方便或是給自己方便。在 &lt;code>.kobo&lt;/code> 資料夾下面找到 &lt;code>ssh-disabled&lt;/code> 檔案，重新命名成 &lt;code>ssh-enabled&lt;/code>，重新開機下次就可以 SSH 登入了。&lt;/p>
&lt;h2>掉進兔子洞&lt;span class="hx:absolute hx:-mt-20" id="掉進兔子洞">&lt;/span>
&lt;a href="#%e6%8e%89%e9%80%b2%e5%85%94%e5%ad%90%e6%b4%9e" class="subheading-anchor" aria-label="Permalink for this section">&lt;/a>&lt;/h2>&lt;p>接下來我們回過頭來思考終端機的問題。&lt;/p>
&lt;blockquote>
&lt;p>Down the Rabbit Hole.&lt;/p>
&lt;p>&amp;mdash; Alice&amp;rsquo;s Adventures in Wonderland&lt;/p>
&lt;/blockquote>
&lt;p>我有試著把問題丟給 ChatGPT，它提供了幾個方案，不確定可不可行。例如 &lt;a href="https://github.com/sfzhi/fbterm"target="_blank" rel="noopener">fbterm&lt;/a> 可以把終端機畫面繪製到 &lt;code>/dev/fb0&lt;/code> frame buffer 上，但需要自行編譯。&lt;/p>
&lt;p>&lt;figure>
&lt;img src="https://oohmemen.com/blog/explore-kobo-libra-colour/hello-world.png" title="井上雄彥的漫畫" alt="" loading="lazy" />
&lt;figcaption>井上雄彥的漫畫&lt;/figcaption>
&lt;/figure>&lt;/p>
&lt;p>順著這個線索，我意外發現一個透過 SSH + FFmpeg 螢幕截圖的小技巧，這樣就不用物理接觸 Kobo 裝置也能做到螢幕截圖。再次展現&lt;a href="https://oohmemen.com/blog/markdown-table-formatting/">組合&lt;/a>的炸藥鐵拳👊！&lt;sup id="fnref:3">&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref">3&lt;/a>&lt;/sup>&lt;/p>
&lt;div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">
&lt;div>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>ssh root@kobo &lt;span style="color:#2aa198">&amp;#34;dd if=/dev/fb0&amp;#34;&lt;/span> &lt;span style="color:#2aa198">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#2aa198">&lt;/span> | ffmpeg -f rawvideo &lt;span style="color:#2aa198">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#2aa198">&lt;/span> -pixel_format rgb0 &lt;span style="color:#2aa198">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#2aa198">&lt;/span> -video_size 1264x1680 &lt;span style="color:#2aa198">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#2aa198">&lt;/span> -i - output.png&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/div>&lt;div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
&lt;button
class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
title="Copy code"
aria-label="Copy code"
data-copied-label="Copied!"
>
&lt;div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4">&lt;/div>
&lt;div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4">&lt;/div>
&lt;/button>
&lt;/div>
&lt;/div>
&lt;p>在 Wiwi 部落格看到一篇文章提到&lt;a href="https://wiwi.blog/blog/wait-calculation/"target="_blank" rel="noopener">等待計算&lt;/a>。套用這個概念在終端機問題上面，目前的我還沒辦法走到那個目標。與其直球面對，該是放慢探索的腳步，走去其他地方看看，像是 Linux boot chain，也許有意想不到的收穫。&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>&lt;a href="https://www.kobo.com/zh/blog/compare-kobo-e-reader"target="_blank" rel="noopener">https://www.kobo.com/zh/blog/compare-kobo-e-reader&lt;/a>&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>孩子的媽選擇 HyRead 電子書閱讀器，雖然系統是 Android，但使用體驗不是很好。&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:3">
&lt;p>Dynamite Fist 出自於《白日夢奇遇記》這部動畫。&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>捲頭髮</title><link>https://oohmemen.com/blog/twirl-my-hair/</link><pubDate>Sat, 21 Feb 2026 00:58:31 +0800</pubDate><guid>https://oohmemen.com/blog/twirl-my-hair/</guid><description>
&lt;div class="hx:overflow-x-auto hx:mt-6 hx:flex hx:rounded-lg hx:border hx:py-2 hx:ltr:pr-4 hx:rtl:pl-4 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-purple-200 hx:bg-purple-100 hx:text-purple-900 hx:dark:border-purple-200/30 hx:dark:bg-purple-900/30 hx:dark:text-purple-200">
&lt;div class="hx:ltr:pl-3 hx:ltr:pr-2 hx:rtl:pr-3 hx:rtl:pl-2">&lt;div class="hx:select-none hx:text-xl" style="font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';">🤔&lt;/div>&lt;/div>
&lt;div class="hx:w-full hx:min-w-0 hx:leading-7">
&lt;div class="hx:mt-6 hx:leading-7 hx:first:mt-0">這是我第二次參加 &lt;a href="https://blogblog.club/party/"target="_blank" rel="noopener">BlogBlog 同樂會&lt;/a>。上次主題是&lt;a href="https://oohmemen.com/blog/clear-away-baby-snotty-slug/"target="_blank" rel="noopener">推坑&lt;/a>，這次主題是「只有我這樣嗎？」，由 &lt;a href="https://wiwi.blog/"target="_blank" rel="noopener">Wiwi&lt;/a> 主持。如果你有自己的部落格，歡迎一起來參加！&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>平淡無奇的我會有什麼值得拿出來寫的怪癖嗎？過年搭火車時我喃喃自語自問自答。左思右想了好幾天，想到以前唸書，從國小、國中、高中到大學，只要遇到選班級幹部，我都暗自祈禱黑板上不要出現我的名字，但就是會有同學覺得你好棒想陷害你。不然就是老師問有問題的舉手，我明明有問題卻不敢舉手。或是，老師請同學朗讀課文，我也很怕被點到。&lt;/p>
&lt;p>再舉一個例子。現在回想起來都覺得自己是個笨蛋。&lt;/p>
&lt;p>好像是小學三年級，那時候暗戀一位女同學，後來因為附近新成立一間國小，部份同學被重新分發過去，她也是其中之一，最後沒能讓她知道我喜歡她。有一天發現她跑來我們教室，我不知道哪一條神經有問題，下意識躲在一旁直到她離開，事後得知她有來找我，我真的很氣自己！&lt;/p>
&lt;p>時間拉回來現在。總之，行事低調的我跟「該不會只有我這樣吧？」應該沾不上邊。&lt;/p>
&lt;p>隨機點了幾篇已經投稿的文章，無意間看到 HwH 分享他們家&lt;a href="https://hwhblog.bearblog.dev/clean_and_tidy/"target="_blank" rel="noopener">廚餘會冰冰箱&lt;/a>，心想這不是我之前幹過的事嗎😅。不過我是把廚餘放到袋子，然後封印在「類似宅配晚餐裝湯的鐵鍋」，&lt;del>累積足夠的量才拿出去倒&lt;/del>每天都拿出去倒。之前因為這樣，被家人碎念到臭頭。&lt;/p>
&lt;p>知道世界的某個角落有人跟你一樣讓人感到&lt;strong>歸屬感&lt;/strong>。&lt;/p>
&lt;p>我確實有一個習慣——睡覺前、想事情、放空的時候會捲頭髮。有點難描述我是怎麼捲的。手會繞著頭髮，繞到一個 moment 頭髮會被捲成不規則的形狀，然後壓一壓那團怪異的頭髮，放開後再反覆做類似的動作。這習慣很小的時候就開始，繞著頭髮讓心神感到放鬆。&lt;/p>
&lt;p>&lt;figure>
&lt;img src="https://oohmemen.com/blog/twirl-my-hair/miles.jpg" title="捲頭髮的麥噗" alt="" loading="lazy" />
&lt;figcaption>捲頭髮的麥噗&lt;/figcaption>
&lt;/figure>&lt;/p>
&lt;p>捲頭髮應該不算是很特別，至少我的小孩其中一隻也有類似的行為。但也許會這樣做的人確實不多也說不定，而且就算會這樣做，捲頭髮的方式應該也會略有不同吧。還有其他人也會這樣嗎？&lt;/p></description></item><item><title>保留回憶</title><link>https://oohmemen.com/blog/preserve-memories/</link><pubDate>Sun, 08 Feb 2026 05:19:46 +0800</pubDate><guid>https://oohmemen.com/blog/preserve-memories/</guid><description>
&lt;p>雙胞胎就讀的托兒所會定期拍照，簡單記錄孩子們在學校的點點滴滴。看完照片後，我都會下載到手機，之後再備份到其他地方。前幾天備份手機上的照片，才發現上次沒有備份到托兒所的照片，但我已經刪掉一部分照片了。&lt;/p>
&lt;p>之所以會演變成這樣，主要是因為我只備份某個資料夾底下的照片，沒注意到有些照片是放在不同位置。有點懊惱自己怎麼這麼不小心，畢竟照片是一張一張手動下載下來的。但事情既然已經發生，多想也無益。最壞的情況——就是再手動下載一次，雖然有點費工。所幸孩子的媽也有下載托兒所拍的照片，也許不用這麼麻煩。&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>9S:&lt;/strong> 不過&amp;hellip;&amp;hellip;她為什麼會想知道這些拍照地點呢？&lt;/p>
&lt;p>&lt;strong>2B:&lt;/strong> 不管是誰，都有寶貴的回憶，那些價值不是我們能衡量的。即使旁人無法理解，但這些一定&amp;hellip;&amp;hellip;非常重要。&lt;/p>
&lt;p>&lt;strong>9S:&lt;/strong> 妳說得對&amp;hellip;&amp;hellip;&lt;/p>
&lt;p>&amp;mdash; NieR:Automata&lt;/p>
&lt;/blockquote>
&lt;p>我手上還保留幾張雙胞胎剛進去托兒所的照片，稚嫩的小臉蛋讓人懷念。記得最初的幾週，他們還未適應新環境，常常是哭著被老師抱進去。照片裡的表情看起來悶悶不樂，眼光含淚彷彿在訴說委屈。多虧了照片的輔助，不然我大概想像不出來他們這時候的模樣。&lt;/p>
&lt;p>&lt;strong>人類是善於遺忘的動物。&lt;/strong>&lt;/p>
&lt;p>日常的生活細節，如果沒有被捕捉起來，很容易就會被時間&lt;a href="https://oohmemen.com/blog/faded-memories/">沖淡&lt;/a>；最後被深埋在記憶的角落，再也找不回來。我們必須透過文字、聲音和影像&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>做記錄，生命的軌跡才得以保留下來。&lt;/p>
&lt;p>&lt;figure>
&lt;img src="https://oohmemen.com/blog/preserve-memories/twins-at-daycare.jpg" title="剛進去托兒所沒幾天的噗噗" alt="" loading="lazy" />
&lt;figcaption>剛進去托兒所沒幾天的噗噗&lt;/figcaption>
&lt;/figure>&lt;/p>
&lt;p>&lt;strong>在有限的時間裡，該記錄什麼才好？&lt;/strong>&lt;/p>
&lt;p>日劇《掟上今日子的備忘錄》裡由新垣結衣飾演的女主角，只要進入睡眠狀態，記憶就會被重置，停留在成為偵探前的時間點。過去充滿謎團，寢室的天花板上被不知是誰的字跡寫著「從今天起妳就是掟上今日子，以偵探的身分活下去」，透過觀察周遭環境和用奇異筆寫在身體各處的記錄，開啟每天的偵探日常。每次見面的人都是初次見面。破解謎團時的口頭禪「はい、僭越ながら」。&lt;/p>
&lt;p>今日子被困在永恆的今日，能夠記錄的資訊非常有限；對她來說，沒記錄下來的事情等於沒發生，即使——曾經發生過。她得到一個結論：我每天只要有一點謎題和錢就夠了。&lt;/p>
&lt;p>我們的記憶雖然不會被重置，卻會遺忘；我們若不被設計成這樣，大腦可能無法負荷龐大的&lt;a href="https://wiwi.blog/blog/tiny-files-huge-fun"target="_blank" rel="noopener">資訊量&lt;/a>。但我們又非得記住，始終在「忘記」和「不該忘記」之間維持平衡，如此矛盾的人類！&lt;/p>
&lt;blockquote>
&lt;p>畢業典禮那天，我會哭泣嗎？我最討厭那種感覺了！如果可以，真希望自己能靜靜地看著朋友發洩、嬉鬧、歡笑，夾雜著悲歡離合，從頭到尾，直到踏出校園的那一刻。或許這最適合我吧。&lt;/p>
&lt;p>&amp;mdash; 高中的我&lt;/p>
&lt;/blockquote>
&lt;p>拿出塵封已久的日記&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>，翻著雜亂無章的文字，望著過去遙遠的自己，那時候有很多煩惱，渴望被人了解、想要被愛、妄想變強卻從不認識自己。留下來的記錄雖然不多，但足以拼湊出模糊的片段，這就夠了。&lt;/p>
&lt;p>最後用&lt;a href="https://www.youtube.com/watch?v=LC5HsZt4oNc"target="_blank" rel="noopener">〈City Ruins - Rays of Light〉&lt;/a>這首歌做結尾，願我們都能回到時間流逝後的靜謐。&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>假設儲存媒介是影像，影像通常會壓縮，720p 60fps 一秒鐘 1.25 MB 的話，光是一天就需要 100 GB 左右了。&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>日記約莫從高三斷斷續續記錄到退伍出社會就再也沒有更新了。&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>寶寶吸鼻器</title><link>https://oohmemen.com/blog/clear-away-baby-snotty-slug/</link><pubDate>Fri, 23 Jan 2026 15:39:49 +0800</pubDate><guid>https://oohmemen.com/blog/clear-away-baby-snotty-slug/</guid><description>
&lt;div class="hx:overflow-x-auto hx:mt-6 hx:flex hx:rounded-lg hx:border hx:py-2 hx:ltr:pr-4 hx:rtl:pl-4 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-purple-200 hx:bg-purple-100 hx:text-purple-900 hx:dark:border-purple-200/30 hx:dark:bg-purple-900/30 hx:dark:text-purple-200">
&lt;div class="hx:ltr:pl-3 hx:ltr:pr-2 hx:rtl:pr-3 hx:rtl:pl-2">&lt;div class="hx:select-none hx:text-xl" style="font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';">🥳&lt;/div>&lt;/div>
&lt;div class="hx:w-full hx:min-w-0 hx:leading-7">
&lt;div class="hx:mt-6 hx:leading-7 hx:first:mt-0">這是我的 2026 年 1 月份 &lt;a href="https://blogblog.club/party/"target="_blank" rel="noopener">BlogBlog 同樂會&lt;/a>投稿。主題是「推坑」，由 &lt;a href="https://wiwi.blog/"target="_blank" rel="noopener">Wiwi&lt;/a> 主持。&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>我相信應該沒有小朋友喜歡被小兒科醫師吸鼻涕，我們家兩隻哥吉拉也是。住家附近的小兒科診所配備一台「耳鼻喉科治療台&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>」，每次小兒科醫師使用強力吸引器時，總是需要兩個大人合力才能讓孩子乖乖就範。&lt;/p>
&lt;p>有一次被孩子傳染，鼻水流個不停，父子三人一起給醫師看病。輪到我的時候，醫師照慣例問你哪裡不舒服，檢查喉嚨有沒有發炎，然後——什麼事都沒有發生。咦！？不是應該幫我吸鼻涕嗎？是不是因為我是大人的關係🫨。原本以為可以感受一下吸力有多強。這樣我才知道孩子為什麼表情痛苦啊！&lt;/p>
&lt;p>俗話說「一視二聽三抬頭，四握五抓六翻身，七坐八爬九發牙，十捏周歲獨站穩。」孩子成長的過程，會遇到許多不舒服的經歷，協助他們克服困難，陪伴他們面對挫折和失敗，是父母育兒必經之路。擤鼻涕需要高超的鼻子吐氣技能，在孩子還學不會擤鼻涕之前，只能透過「吸鼻器」輔助工具一次又一次讓孩子掌握鼻子吐氣的訣竅。&lt;/p>
&lt;p>&lt;figure>
&lt;img src="https://oohmemen.com/blog/clear-away-baby-snotty-slug/nasal-aspirator.jpg" title="用過就回不去的吸鼻器" alt="" loading="lazy" />
&lt;figcaption>用過就回不去的吸鼻器&lt;/figcaption>
&lt;/figure>&lt;/p>
&lt;p>孩子的媽前陣子找到一款吸鼻器，非常好吸，也方便清洗，使用的頻率甚至比電動吸鼻器還高。之前也有買過類似的球體吸鼻器&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>，但沒有這一款好用。也買過一款吸鼻器要一邊用手壓幫浦，一邊拿著吸鼻管吸孩子鼻子。這使用方式完全沒有考慮到小朋友會掙扎，他們才不會乖乖讓你吸鼻涕。&lt;/p>
&lt;p>這款吸鼻器大概會陪伴孩子好一陣子，直到他們掌握擤鼻涕的技能。擤鼻涕是一個孩子需要自己不斷嘗試的挑戰，我們只能在旁邊示範，鼓勵他們踏出第一步，用力把鼻涕擤出來。不要害怕嘗試，不要害怕失敗，就算失敗了，也只是鼻涕卡在鼻子洞口，沒什麼大不了的，更沒有什麼好失去的。&lt;/p>
&lt;blockquote>
&lt;p>Trying is meek, you see. It’s half-arsed. You’ll never succeed if you don’t commit to it 100%. You should want to dive into something completely, presumably with your entire arse.&lt;/p>
&lt;p>你看，只是「嘗試」是不夠的、是半調子的。不全力以赴，就不可能成功。做事情就該全心全意投入——最好是連屁股都一起。&lt;/p>
&lt;/blockquote>
&lt;p>上面這段文字節錄自&lt;a href="https://rubenerd.com/being-comfortable-with-trying/"target="_blank" rel="noopener">〈Being comfortable with “trying”〉&lt;/a>這篇文章。作者認為我們不該對願意「嘗試」的人冷嘲熱諷。我完全同意。當孩子嘗試擤鼻涕，把臉弄到都是鼻涕的時候，我絕不會嘲笑他們，我只會拿起手機拍照紀錄下來。&lt;/p>
&lt;p>似乎可以理解為什麼 NIKE 經典廣告標語用「Just Do It!」，因為如果改成「Just Try It!」，感覺就少了原本「堅持不懈」的精神。幸好擤鼻涕不需要堅持不懈，也不需要連屁股都一起。&lt;/p>
&lt;p>我「嘗試」寫了一篇不那麼廢的&lt;a href="https://wiwi.blog/blog/is-this-a-shitpost/"target="_blank" rel="noopener">廢文&lt;/a>，希望看完文章的你不要羞於鼓勵，也希望你會入坑（？）&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>大概&lt;a href="https://www.shinn.com.tw/product-detail/ENT-A802"target="_blank" rel="noopener">長這樣&lt;/a>。&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>原理就是製造壓力差。擠壓球體讓吸鼻器氣壓下降，大氣壓力和鼻腔會把鼻涕推出來。&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>雙胞胎、狗與遠方孤帆</title><link>https://oohmemen.com/blog/twins-dog-far-lone-sails/</link><pubDate>Sun, 11 Jan 2026 03:03:13 +0800</pubDate><guid>https://oohmemen.com/blog/twins-dog-far-lone-sails/</guid><description>
&lt;p>&lt;figure>
&lt;img src="https://oohmemen.com/blog/twins-dog-far-lone-sails/far-lone-sails.jpg" title="FAR: Lone Sails" alt="landscape" loading="lazy" />
&lt;figcaption>FAR: Lone Sails&lt;/figcaption>
&lt;/figure>&lt;/p>
&lt;p>「&lt;em>我要狗狗！&lt;/em>」&lt;/p>
&lt;p>「&lt;em>我要車車！&lt;/em>」&lt;/p>
&lt;p>米噗最近最常說的，就是這兩句話。狗狗和車車分別指得是動畫《擁有超常技能的異世界流浪美食家》和遊戲《FAR: Lone Sails》。都不知道看幾遍了，還是百看不厭。喜歡看海洋系列&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>的麥噗通常只能遷就鴨霸的米噗。&lt;/p>
&lt;p>進入&lt;strong>秩序敏感期&lt;/strong>的米噗：&lt;/p>
&lt;ul>
&lt;li>洗手要自己來&lt;/li>
&lt;li>不是任何人都可以幫他穿衣服（點閱率最高的是媽媽）&lt;/li>
&lt;li>洗澡的時候要在浴室門口前自己脫完衣服再進去&lt;/li>
&lt;li>結束視訊通話要自己按叉叉按鈕關掉&lt;/li>
&lt;li>麵不要剪斷&lt;/li>
&lt;li>搭電梯要給他按&lt;/li>
&lt;/ul>
&lt;p>總之，很多事情都堅持要自己做。一旦不照他的方式來，情緒很容易失控，彷彿他的世界崩壞了。麥噗也有類似的行為&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>，但表現比較不會那麼強烈。&lt;/p>
&lt;p>兩歲到四歲的幼兒正在建立秩序感，秩序感幫助他們理解內在的自己與外在的世界。兩隻&lt;a href="https://oohmemen.com/blog/storytime-rosie-walk/">哥吉拉&lt;/a>有各自的「秩序」。米噗喝奶會拿著 IKEA 小豬豬布偶&lt;sup id="fnref:3">&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref">3&lt;/a>&lt;/sup>，邊喝邊搖晃它。麥噗喝奶會拿奶嘴佔位置，身邊需要很多布偶包圍。規律的作息和秩序會讓他們獲得安全感。&lt;/p>
&lt;p>異世界流浪美食家這部動畫，劇情描述一位平凡的上班族被召喚到異世界，憑藉著「網路超市」技能和精湛的廚藝成為 S 級冒險家。一開始是孩子的媽帶著兩隻一起看，之後幾乎每天都會看到從魔芬里爾大快朵頤各種魔獸料理，真是出乎我的意料（笑）。&lt;/p>
&lt;p>&lt;figure>
&lt;img src="https://oohmemen.com/blog/twins-dog-far-lone-sails/twins.jpg" title="三個月大的噗噗" alt="" loading="lazy" />
&lt;figcaption>三個月大的噗噗&lt;/figcaption>
&lt;/figure>&lt;/p>
&lt;p>另一個讓米噗目不轉睛的是遊戲《遠方孤帆》。這原本是叔叔在玩的遊戲，後來變成叔叔最不想打開的遊戲，因為已經破關兩三次了。後來我只好在 YouTube 上找遊戲直播影片給他看。不過，YouTube 廣告很擾人，而且也不適合小朋友看。決定在 NVIDIA Shield TV Pro 電視盒安裝 &lt;a href="https://newpipe.net/"target="_blank" rel="noopener">NewPipe&lt;/a>，順便擺脫演算法控制。NewPipe 應用程式在 Google Play 商店是找不到的，不過別擔心，我們可以透過 &lt;a href="https://f-droid.org/zh_Hant/"target="_blank" rel="noopener">F-Droid&lt;/a> 來安裝。&lt;/p>
&lt;p>《遠方孤帆》這款遊戲設定在一個末日後的荒涼世界，玩家扮演一位孤獨的旅者，駕駛一台獨特的交通工具穿越乾涸的海，沿路上會遇到各種阻礙，需要停下來檢查、修理和解迷才能繼續前進。謎題不算太難，重點是讓玩家沈浸在這段旅程當中。遊戲故事不靠對話或文字敘述，以簡約、蒼涼的視覺風格呈現文明的衰敗景致，偏冷的色調讓世界更顯得孤寂。&lt;/p>
&lt;p>「我是這個世界的唯一倖存者嗎？」引人沉思。&lt;/p>
&lt;p>遊戲背景音樂由 &lt;a href="https://www.joelschoch.com/"target="_blank" rel="noopener">Joel Schoch&lt;/a> 創作，營造出一種荒無人煙的孤寂氛圍。推薦大家可以去聽聽看 Colored Engine 這首。&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>例如麥噗喜歡看《我的章魚老師》&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>大約從去年暑假開始發現麥噗有拔頭髮的習慣，很擔心他變河童，常常叮嚀他要保護頭髮。&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:3">
&lt;p>小豬豬已經被米噗咬得皺巴巴，買了全新的也不要，就是要那個陳年口水臭才對味。&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>原來 Markdown table 可以這樣整理</title><link>https://oohmemen.com/blog/markdown-table-formatting/</link><pubDate>Wed, 07 Jan 2026 01:21:29 +0800</pubDate><guid>https://oohmemen.com/blog/markdown-table-formatting/</guid><description>
&lt;p>每次看到亂七八糟的 Markdown table，雖然輸出的表格顯示正常，但還是希望有什麼魔法，念念咒語魔法棒繞一圈，文字就自動對齊好了。其實不只 Markdown table，舉凡電腦螢幕畫面上出現的內容，人類都希望整整齊齊好閱讀（？）。例如在電子書閱讀器看書，你總不希望文字沒好好對齊、分不清楚段落從哪裡開始吧。&lt;/p>
&lt;p>最早使用 Sublime Text 2 是用 &lt;a href="https://packagecontrol.io/packages/AlignTab"target="_blank" rel="noopener">AlignTab&lt;/a> plugin 來解決程式碼排版的問題。轉到 VS Code，也是找看看有什麼&lt;a href="https://github.com/yzhang-gh/vscode-markdown"target="_blank" rel="noopener">外掛&lt;/a>可以解決這類問題。Vim 也裝了 &lt;a href="https://github.com/godlygeek/tabular"target="_blank" rel="noopener">godlygeek/tabular&lt;/a>。表面上看起來問題解決了，但這樣做的缺點就是每次都要重新學習，而且也要花時間尋找合適的外掛。後來發現，原來 Linux 已經有指令可以解決我的困擾，只能說相見恨晚。&lt;/p>
&lt;blockquote>
&lt;p>This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.&lt;/p>
&lt;p>&amp;mdash; Doug McIlroy&lt;/p>
&lt;/blockquote>
&lt;p>這時候不得不提到 Unix 哲學。簡單來說，就是每個程式做好一件事就好，然後讓它們像積木一樣組合起來，並且利用文字資料串流讓彼此溝通，只要組合得宜，就能完成複雜的任務。洪朝貴教授的一篇文章&lt;a href="https://frdm.cyut.edu.tw/~ckhung/a/c013.php"target="_blank" rel="noopener">〈如何有效學習電腦〉&lt;/a>也有提到類似的概念，年輕時讀了不明白，這幾年才開始有一些體悟。&lt;/p>
&lt;p>假設你在一份 Markdown 文件看到 table 長這樣：&lt;/p>
&lt;div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">
&lt;div>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-markdown" data-lang="markdown">&lt;span style="display:flex;">&lt;span>| column 1 | column 2 | column 3 |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>| --- | --- | --- |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>| Montes | quis penatibus vel | pretium Donec Curabitur ligula |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>| penatibus ut arcu | montes | vitae |&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/div>&lt;div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
&lt;button
class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
title="Copy code"
aria-label="Copy code"
data-copied-label="Copied!"
>
&lt;div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4">&lt;/div>
&lt;div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4">&lt;/div>
&lt;/button>
&lt;/div>
&lt;/div>
&lt;p>文字沒有對齊好讓人感到煩躁😒，但其實只要兩個步驟就對齊好了，根本不需要任何 plugin！&lt;/p>
&lt;ol>
&lt;li>把 Markdown table 複製到一個純文字檔案&lt;/li>
&lt;li>打開終端機執行指令 &lt;code class="code-inline language-bash">cat buffer.txt &amp;gt; column -t -s &lt;span style="color:#2aa198">&amp;#39;|&amp;#39;&lt;/span> -o &lt;span style="color:#2aa198">&amp;#39;|&amp;#39;&lt;/span>&lt;/code>&lt;/li>
&lt;/ol>
&lt;div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">
&lt;div>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-markdown" data-lang="markdown">&lt;span style="display:flex;">&lt;span>| column 1 | column 2 | column 3 |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>| --- | --- | --- |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>| Montes | quis penatibus vel | pretium Donec Curabitur ligula |
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>| penatibus ut arcu | montes | vitae |&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/div>&lt;div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
&lt;button
class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
title="Copy code"
aria-label="Copy code"
data-copied-label="Copied!"
>
&lt;div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4">&lt;/div>
&lt;div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4">&lt;/div>
&lt;/button>
&lt;/div>
&lt;/div>
&lt;p>Vim 使用者甚至不用文字暫存檔，直接 &lt;code>Shift + V&lt;/code> 進入 Visual mode，選取需要的範圍，執行指令直接替換。&lt;/p>
&lt;p>有時候資料會有多餘的空白，單純用 &lt;code>column&lt;/code> 效果不佳，這時候該怎麼辦才好？&lt;/p>
&lt;div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">
&lt;div>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>tr -s &lt;span style="color:#2aa198">&amp;#39; &amp;#39;&lt;/span> | column -t -s &lt;span style="color:#2aa198">&amp;#39;|&amp;#39;&lt;/span> -o &lt;span style="color:#2aa198">&amp;#39;|&amp;#39;&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/div>&lt;div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
&lt;button
class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
title="Copy code"
aria-label="Copy code"
data-copied-label="Copied!"
>
&lt;div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4">&lt;/div>
&lt;div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4">&lt;/div>
&lt;/button>
&lt;/div>
&lt;/div>
&lt;p>可以先用 &lt;code>tr&lt;/code> 刪除重複的空白（會保留一個空白），再 pipe 給 &lt;code>column&lt;/code> 指令。這就是組合的力量💪。&lt;/p>
&lt;p>這招不只可以拿來整理 Markdown table，也可以應用在其他地方，像是 CSV 檔案。學起來，一起擺脫對特定編輯器外掛的依賴。&lt;/p></description></item><item><title>繪本陪讀：母雞蘿絲去散步</title><link>https://oohmemen.com/blog/storytime-rosie-walk/</link><pubDate>Wed, 17 Dec 2025 09:33:58 +0800</pubDate><guid>https://oohmemen.com/blog/storytime-rosie-walk/</guid><description>
&lt;p>雙胞胎一天天長大，去年還在地上爬，跌跌撞撞學走路，今年二月上&lt;a href="https://oohmemen.com/blog/dropping-off-my-little-two-at-daycare/">托兒所&lt;/a>後，會講的單字越來越多。孩子的成長過程大多都用照片和影片做紀錄，文字紀錄很少，不知道是什麼時候開始，兩隻開始聽得懂簡單的指令，像是幫忙把尿布丟到垃圾桶。那時候很開心他們兩隻快要脫離半獸人的階段，進化成具有智慧的哥吉拉！（米噗麥噗：我要把家裡搞得天翻地覆😈）&lt;/p>
&lt;img src="godzilla.jpg" width="400" />
&lt;p>據說「親子共讀&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>」可以有效引導哥吉拉恢復理性（促進大腦發育、語言發展、認知能力），身為家長的我們也準備了不少繪本，天真的以為拿出繪本兩隻就會從此愛上閱讀，然後就可以和平相處，各自做各自的事，沒事別來吵爸媽（誤）。&lt;/p>
&lt;p>一開始，哥吉拉看到書只會拿來啃，把書咬得破破爛爛。如果發現自己的手指控制能力獲得提昇，還會開始撕書。奉勸各位家長不要買什麼立體書，硬書是你的最佳選擇，最好咬下去牙齒會痛的那種。&lt;/p>
&lt;img src="twins-seek.jpg" />
&lt;p>或者選擇不怕咬不怕撕的布書。不過，也許牙齒沒東西咬，就開始咬任何看得到的物品——包括你的手機。&lt;/p>
&lt;p>現在兩隻已經沒有在咬書了，撕書的次數也漸漸減少，也許意識到書是拿來看的📚。&lt;/p>
&lt;p>繪本《母雞蘿絲去散步》的插圖配色風格鮮明一致，只用了紅、黃、綠色，色調偏暖，感覺就很適合小朋友閱讀。故事內容描述一隻母雞出門散步，有一隻狐狸尾隨在後，想盡辦法要吃掉她，但始終碰不到她。每當以為狐狸要碰到她的時候，總是有不好的事情發生在狐狸身上，只能眼睜睜看著母雞蘿絲大步往前，眼神還一副得意洋洋的樣子。最後，母雞毫髮無傷的散步回家準備吃晚餐。&lt;/p>
&lt;img src="miles.jpg" />
&lt;p>這個時期的小朋友專注力有限，常常翻沒幾頁就被別的事情吸引，不然就是看書看到睡著（不過這樣爸媽才可以趁機休息啊）。即便我們講故事講到口沫橫飛，配上誇張的肢體動作和狀聲詞，孩子也不一定買單。&lt;/p>
&lt;p>我自己小時候，父母因為工作忙碌的關係，印象中沒有親子共讀的畫面。長大後才慢慢發現閱讀的重要性。希望兩隻噗噗能從小培養閱讀的習慣，從書中找到樂趣。世界這麼大，要去探索它，先從認識自己開始。&lt;/p>
&lt;p>回到母雞蘿絲的故事，故事裡的文字不多，每個鏡頭只有一句話，作者 Pat Hutchins 用插畫把狐狸老是撲空的畫面生動的呈現出來。唸過幾次後發現，每一句話都會搭配一個空間詞，讓小小讀者可以接觸到不同的空間概念。因為是翻譯書，好奇原文怎麼描述，在網路上翻了一下，整理了中英文版本。&lt;/p>
&lt;p>中文版本：&lt;/p>
&lt;blockquote>
&lt;p>母雞蘿絲出門去散步
她走過院子&lt;br />
繞過池塘&lt;br />
越過乾草堆&lt;br />
經過磨坊&lt;br />
穿過籬笆&lt;br />
鑽過蜜蜂房&lt;br />
按時回到家吃晚飯&lt;br />&lt;/p>
&lt;/blockquote>
&lt;p>英文版本：&lt;/p>
&lt;blockquote>
&lt;p>Rosie the hen went for a walk&lt;br />
across the yard&lt;br />
around the pond&lt;br />
over the haystack&lt;br />
past the mill&lt;br />
through the fence&lt;br />
under the beehives&lt;br />
and go back in time for dinner&lt;br />&lt;/p>
&lt;/blockquote>
&lt;p>看了英文版恍然大悟，不得不佩服作者巧妙地利用幾個空間的介係詞描述每一個畫面。中文翻譯也很到味，應該是有注意到作者的巧思。&lt;/p>
&lt;img src="twins-detect.jpg" />
&lt;p>托兒所會依照孩童年齡發展的不同階段，請家長填寫兒童發展篩檢量表。前陣子兩隻在「能正確說出至少四個圖形名稱」這題表現不佳，被評估語言發展遲緩。雖然我自己是覺得還好，當下兩隻就是不想回答，並不是不會講。平常兩隻可是嘰哩呱啦的，有時候完全聽不懂在講什麼，不過他們兩個自己可以懂就好。&lt;/p>
&lt;p>一開始陪小孩看故事書，會擔心自己說得不夠生動有趣。後來才意識到，繪本是一個親子之間互動的媒介，重點在於互動，能夠引起小朋友玩心就是好的互動。書有沒有讀懂、有沒有看完也就不用太在意，畢竟大人自己買的書也不一定有讀懂和看完（笑）。&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>&lt;a href="https://www.youtube.com/watch?v=sCVNXXNA2gs"target="_blank" rel="noopener">https://www.youtube.com/watch?v=sCVNXXNA2gs&lt;/a>&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>如何製作 8-bit 三角波？</title><link>https://oohmemen.com/blog/how-to-make-8bit-triangle-wave/</link><pubDate>Mon, 01 Dec 2025 10:58:00 +0800</pubDate><guid>https://oohmemen.com/blog/how-to-make-8bit-triangle-wave/</guid><description>
&lt;p>早期的家用遊戲主機礙於當時的硬體限制，通常一次只能發出兩三個聲音。例如任天堂在 1983 年推出的紅白機，APU 總共有五個頻道：兩個 &lt;strong>Pulse Wave&lt;/strong>（duty cycle 有 12.5%、25%、50% 和 75% 四種可以調整）、一個 &lt;strong>Triangle Wave&lt;/strong>、一個 &lt;strong>Noise&lt;/strong> 和一個 &lt;strong>DPCM Sample&lt;/strong>。很難想像 80 年代的作曲家只用這幾個聲音，就可以寫出豐富且多樣的音樂和音效。即便後來任天堂推出後續機種 SNES，紅白機在日本的生命週期依舊持續了 20 年，直到 2003 年九月停止生產。&lt;/p>
&lt;h2>一起來聽洛克人二代的音樂&lt;span class="hx:absolute hx:-mt-20" id="一起來聽洛克人二代的音樂">&lt;/span>
&lt;a href="#%e4%b8%80%e8%b5%b7%e4%be%86%e8%81%bd%e6%b4%9b%e5%85%8b%e4%ba%ba%e4%ba%8c%e4%bb%a3%e7%9a%84%e9%9f%b3%e6%a8%82" class="subheading-anchor" aria-label="Permalink for this section">&lt;/a>&lt;/h2>&lt;p>感受一下作曲家立石孝為 ROCKMAN 2 譜寫的 Opening 音樂。&lt;/p>
&lt;p>
&lt;audio controls preload="auto" src="Opening-ROCKMAN2.ogg">&lt;/audio>
&lt;/p>
&lt;p>「冒險的序章即將展開，儘管前方道路充滿未知，也下定決心踏上旅途。」細細品嚐音樂後，內心浮現這樣的畫面。不知道其他人是否也有類似的感覺？&lt;/p>
&lt;img src="Title-Screen-ROCKMAN2.png" />
&lt;p>開場音樂後半段節奏加快兩次，最後出現的滑音有一種墜落感，銜接到下一首 Title 音樂。不覺得這樣很帥嗎？&lt;/p>
&lt;p>
&lt;audio controls preload="auto" src="Title-ROCKMAN2.ogg">&lt;/audio>
&lt;/p>
&lt;p>仔細聽聽這首的小鼓，我自己覺得很像鞭子在甩的聲音。噪音頻道可以拿來模擬各種打擊樂的聲音或遊戲音效，藉此讓作曲家營造節奏律動。從網路上找到的資訊來看&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>，透過不同的參數調整，應該可以組合出 32 種基本噪音。&lt;/p>
&lt;h2>數學上完美的三角波&lt;span class="hx:absolute hx:-mt-20" id="數學上完美的三角波">&lt;/span>
&lt;a href="#%e6%95%b8%e5%ad%b8%e4%b8%8a%e5%ae%8c%e7%be%8e%e7%9a%84%e4%b8%89%e8%a7%92%e6%b3%a2" class="subheading-anchor" aria-label="Permalink for this section">&lt;/a>&lt;/h2>&lt;p>回到今天的主角三角波，先來看一下長怎麼樣。&lt;/p>
&lt;p>&lt;iframe src="https://www.desmos.com/calculator/4gcdjfuvjy?embed" width="300" height="150" style="border: 1px solid #ccc" frameborder=0>&lt;/iframe>&lt;/p>
&lt;p>再來看看數學上長怎樣。是不是有點可怕？🤯 沒關係多看幾次就不會覺得害怕了。&lt;/p>
&lt;span class="katex-display">&lt;span class="katex">&lt;span class="katex-mathml">&lt;math xmlns="http://www.w3.org/1998/Math/MathML" display="block">&lt;semantics>&lt;mrow>&lt;mi>f&lt;/mi>&lt;mo stretchy="false">(&lt;/mo>&lt;mi>t&lt;/mi>&lt;mo stretchy="false">)&lt;/mo>&lt;mo>=&lt;/mo>&lt;mn>4&lt;/mn>&lt;mrow>&lt;mo fence="true">∣&lt;/mo>&lt;mtext> &lt;/mtext>&lt;mi>t&lt;/mi>&lt;mo>−&lt;/mo>&lt;mi mathvariant="normal">floor&lt;/mi>&lt;mo>⁡&lt;/mo>&lt;mrow>&lt;mo fence="true">(&lt;/mo>&lt;mi>t&lt;/mi>&lt;mo>+&lt;/mo>&lt;mfrac>&lt;mn>3&lt;/mn>&lt;mn>4&lt;/mn>&lt;/mfrac>&lt;mo fence="true">)&lt;/mo>&lt;/mrow>&lt;mo>+&lt;/mo>&lt;mfrac>&lt;mn>1&lt;/mn>&lt;mn>4&lt;/mn>&lt;/mfrac>&lt;mtext> &lt;/mtext>&lt;mo fence="true">∣&lt;/mo>&lt;/mrow>&lt;mo>−&lt;/mo>&lt;mn>1&lt;/mn>&lt;/mrow>&lt;annotation encoding="application/x-tex">f(t)=4\left|\,t-\operatorname{floor}\left(t+\frac{3}{4}\right)+\frac{1}{4}\,\right|-1&lt;/annotation>&lt;/semantics>&lt;/math>&lt;/span>&lt;span class="katex-html" aria-hidden="true">&lt;span class="base">&lt;span class="strut" style="height:1em;vertical-align:-0.25em;">&lt;/span>&lt;span class="mord mathnormal" style="margin-right:0.10764em;">f&lt;/span>&lt;span class="mopen">(&lt;/span>&lt;span class="mord mathnormal">t&lt;/span>&lt;span class="mclose">)&lt;/span>&lt;span class="mspace" style="margin-right:0.2778em;">&lt;/span>&lt;span class="mrel">=&lt;/span>&lt;span class="mspace" style="margin-right:0.2778em;">&lt;/span>&lt;/span>&lt;span class="base">&lt;span class="strut" style="height:2.4em;vertical-align:-0.95em;">&lt;/span>&lt;span class="mord">4&lt;/span>&lt;span class="mspace" style="margin-right:0.1667em;">&lt;/span>&lt;span class="minner">&lt;span class="mopen">&lt;span class="delimsizing mult">&lt;span class="vlist-t vlist-t2">&lt;span class="vlist-r">&lt;span class="vlist" style="height:1.45em;">&lt;span style="top:-3.45em;">&lt;span class="pstrut" style="height:4.4em;">&lt;/span>&lt;span style="width:0.333em;height:2.400em;">&lt;svg xmlns="http://www.w3.org/2000/svg" width="0.333em" height="2.400em" viewBox="0 0 333 2400">&lt;path d="M145 15 v585 v1200 v585 c2.667,10,9.667,15,21,15
c10,0,16.667,-5,20,-15 v-585 v-1200 v-585 c-2.667,-10,-9.667,-15,-21,-15
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v1200 v585 h43z"/>&lt;/svg>&lt;/span>&lt;/span>&lt;/span>&lt;span class="vlist-s">​&lt;/span>&lt;/span>&lt;span class="vlist-r">&lt;span class="vlist" style="height:0.95em;">&lt;span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;span class="mspace" style="margin-right:0.1667em;">&lt;/span>&lt;span class="mord mathnormal">t&lt;/span>&lt;span class="mspace" style="margin-right:0.2222em;">&lt;/span>&lt;span class="mbin">−&lt;/span>&lt;span class="mspace" style="margin-right:0.2222em;">&lt;/span>&lt;span class="mop">&lt;span class="mord mathrm">floor&lt;/span>&lt;/span>&lt;span class="mspace" style="margin-right:0.1667em;">&lt;/span>&lt;span class="minner">&lt;span class="mopen delimcenter" style="top:0em;">&lt;span class="delimsizing size3">(&lt;/span>&lt;/span>&lt;span class="mord mathnormal">t&lt;/span>&lt;span class="mspace" style="margin-right:0.2222em;">&lt;/span>&lt;span class="mbin">+&lt;/span>&lt;span class="mspace" style="margin-right:0.2222em;">&lt;/span>&lt;span class="mord">&lt;span class="mopen nulldelimiter">&lt;/span>&lt;span class="mfrac">&lt;span class="vlist-t vlist-t2">&lt;span class="vlist-r">&lt;span class="vlist" style="height:1.3214em;">&lt;span style="top:-2.314em;">&lt;span class="pstrut" style="height:3em;">&lt;/span>&lt;span class="mord">&lt;span class="mord">4&lt;/span>&lt;/span>&lt;/span>&lt;span style="top:-3.23em;">&lt;span class="pstrut" style="height:3em;">&lt;/span>&lt;span class="frac-line" style="border-bottom-width:0.04em;">&lt;/span>&lt;/span>&lt;span style="top:-3.677em;">&lt;span class="pstrut" style="height:3em;">&lt;/span>&lt;span class="mord">&lt;span class="mord">3&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;span class="vlist-s">​&lt;/span>&lt;/span>&lt;span class="vlist-r">&lt;span class="vlist" style="height:0.686em;">&lt;span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;span class="mclose nulldelimiter">&lt;/span>&lt;/span>&lt;span class="mclose delimcenter" style="top:0em;">&lt;span class="delimsizing size3">)&lt;/span>&lt;/span>&lt;/span>&lt;span class="mspace" style="margin-right:0.2222em;">&lt;/span>&lt;span class="mbin">+&lt;/span>&lt;span class="mspace" style="margin-right:0.2222em;">&lt;/span>&lt;span class="mord">&lt;span class="mopen nulldelimiter">&lt;/span>&lt;span class="mfrac">&lt;span class="vlist-t vlist-t2">&lt;span class="vlist-r">&lt;span class="vlist" style="height:1.3214em;">&lt;span style="top:-2.314em;">&lt;span class="pstrut" style="height:3em;">&lt;/span>&lt;span class="mord">&lt;span class="mord">4&lt;/span>&lt;/span>&lt;/span>&lt;span style="top:-3.23em;">&lt;span class="pstrut" style="height:3em;">&lt;/span>&lt;span class="frac-line" style="border-bottom-width:0.04em;">&lt;/span>&lt;/span>&lt;span style="top:-3.677em;">&lt;span class="pstrut" style="height:3em;">&lt;/span>&lt;span class="mord">&lt;span class="mord">1&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;span class="vlist-s">​&lt;/span>&lt;/span>&lt;span class="vlist-r">&lt;span class="vlist" style="height:0.686em;">&lt;span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;span class="mclose nulldelimiter">&lt;/span>&lt;/span>&lt;span class="mspace" style="margin-right:0.1667em;">&lt;/span>&lt;span class="mclose">&lt;span class="delimsizing mult">&lt;span class="vlist-t vlist-t2">&lt;span class="vlist-r">&lt;span class="vlist" style="height:1.45em;">&lt;span style="top:-3.45em;">&lt;span class="pstrut" style="height:4.4em;">&lt;/span>&lt;span style="width:0.333em;height:2.400em;">&lt;svg xmlns="http://www.w3.org/2000/svg" width="0.333em" height="2.400em" viewBox="0 0 333 2400">&lt;path d="M145 15 v585 v1200 v585 c2.667,10,9.667,15,21,15
c10,0,16.667,-5,20,-15 v-585 v-1200 v-585 c-2.667,-10,-9.667,-15,-21,-15
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v1200 v585 h43z"/>&lt;/svg>&lt;/span>&lt;/span>&lt;/span>&lt;span class="vlist-s">​&lt;/span>&lt;/span>&lt;span class="vlist-r">&lt;span class="vlist" style="height:0.95em;">&lt;span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;span class="mspace" style="margin-right:0.2222em;">&lt;/span>&lt;span class="mbin">−&lt;/span>&lt;span class="mspace" style="margin-right:0.2222em;">&lt;/span>&lt;/span>&lt;span class="base">&lt;span class="strut" style="height:0.6444em;">&lt;/span>&lt;span class="mord">1&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;p>我們再換個方式看一下，是不是沒那麼害怕了？&lt;/p>
&lt;span class="katex-display">&lt;span class="katex">&lt;span class="katex-mathml">&lt;math xmlns="http://www.w3.org/1998/Math/MathML" display="block">&lt;semantics>&lt;mrow>&lt;mi>f&lt;/mi>&lt;mo stretchy="false">(&lt;/mo>&lt;mi>t&lt;/mi>&lt;mo stretchy="false">)&lt;/mo>&lt;mo>=&lt;/mo>&lt;mn>4&lt;/mn>&lt;mrow>&lt;mo fence="true">∣&lt;/mo>&lt;mtext> &lt;/mtext>&lt;mi mathvariant="normal">mod&lt;/mi>&lt;mo>⁡&lt;/mo>&lt;mrow>&lt;mo fence="true">(&lt;/mo>&lt;mi>t&lt;/mi>&lt;mo>+&lt;/mo>&lt;mfrac>&lt;mn>3&lt;/mn>&lt;mn>4&lt;/mn>&lt;/mfrac>&lt;mo separator="true">,&lt;/mo>&lt;mtext> &lt;/mtext>&lt;mn>1&lt;/mn>&lt;mo fence="true">)&lt;/mo>&lt;/mrow>&lt;mo>−&lt;/mo>&lt;mfrac>&lt;mn>1&lt;/mn>&lt;mn>2&lt;/mn>&lt;/mfrac>&lt;mtext> &lt;/mtext>&lt;mo fence="true">∣&lt;/mo>&lt;/mrow>&lt;mo>−&lt;/mo>&lt;mn>1&lt;/mn>&lt;/mrow>&lt;annotation encoding="application/x-tex">f(t)=4\left|\,\operatorname{mod}\left(t+\frac{3}{4},\ 1\right)-\frac{1}{2}\,\right|-1&lt;/annotation>&lt;/semantics>&lt;/math>&lt;/span>&lt;span class="katex-html" aria-hidden="true">&lt;span class="base">&lt;span class="strut" style="height:1em;vertical-align:-0.25em;">&lt;/span>&lt;span class="mord mathnormal" style="margin-right:0.10764em;">f&lt;/span>&lt;span class="mopen">(&lt;/span>&lt;span class="mord mathnormal">t&lt;/span>&lt;span class="mclose">)&lt;/span>&lt;span class="mspace" style="margin-right:0.2778em;">&lt;/span>&lt;span class="mrel">=&lt;/span>&lt;span class="mspace" style="margin-right:0.2778em;">&lt;/span>&lt;/span>&lt;span class="base">&lt;span class="strut" style="height:2.4em;vertical-align:-0.95em;">&lt;/span>&lt;span class="mord">4&lt;/span>&lt;span class="mspace" style="margin-right:0.1667em;">&lt;/span>&lt;span class="minner">&lt;span class="mopen">&lt;span class="delimsizing mult">&lt;span class="vlist-t vlist-t2">&lt;span class="vlist-r">&lt;span class="vlist" style="height:1.45em;">&lt;span style="top:-3.45em;">&lt;span class="pstrut" style="height:4.4em;">&lt;/span>&lt;span style="width:0.333em;height:2.400em;">&lt;svg xmlns="http://www.w3.org/2000/svg" width="0.333em" height="2.400em" viewBox="0 0 333 2400">&lt;path d="M145 15 v585 v1200 v585 c2.667,10,9.667,15,21,15
c10,0,16.667,-5,20,-15 v-585 v-1200 v-585 c-2.667,-10,-9.667,-15,-21,-15
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v1200 v585 h43z"/>&lt;/svg>&lt;/span>&lt;/span>&lt;/span>&lt;span class="vlist-s">​&lt;/span>&lt;/span>&lt;span class="vlist-r">&lt;span class="vlist" style="height:0.95em;">&lt;span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;span class="mspace" style="margin-right:0.1667em;">&lt;/span>&lt;span class="mop">&lt;span class="mord mathrm">mod&lt;/span>&lt;/span>&lt;span class="mspace" style="margin-right:0.1667em;">&lt;/span>&lt;span class="minner">&lt;span class="mopen delimcenter" style="top:0em;">&lt;span class="delimsizing size3">(&lt;/span>&lt;/span>&lt;span class="mord mathnormal">t&lt;/span>&lt;span class="mspace" style="margin-right:0.2222em;">&lt;/span>&lt;span class="mbin">+&lt;/span>&lt;span class="mspace" style="margin-right:0.2222em;">&lt;/span>&lt;span class="mord">&lt;span class="mopen nulldelimiter">&lt;/span>&lt;span class="mfrac">&lt;span class="vlist-t vlist-t2">&lt;span class="vlist-r">&lt;span class="vlist" style="height:1.3214em;">&lt;span style="top:-2.314em;">&lt;span class="pstrut" style="height:3em;">&lt;/span>&lt;span class="mord">&lt;span class="mord">4&lt;/span>&lt;/span>&lt;/span>&lt;span style="top:-3.23em;">&lt;span class="pstrut" style="height:3em;">&lt;/span>&lt;span class="frac-line" style="border-bottom-width:0.04em;">&lt;/span>&lt;/span>&lt;span style="top:-3.677em;">&lt;span class="pstrut" style="height:3em;">&lt;/span>&lt;span class="mord">&lt;span class="mord">3&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;span class="vlist-s">​&lt;/span>&lt;/span>&lt;span class="vlist-r">&lt;span class="vlist" style="height:0.686em;">&lt;span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;span class="mclose nulldelimiter">&lt;/span>&lt;/span>&lt;span class="mpunct">,&lt;/span>&lt;span class="mspace"> &lt;/span>&lt;span class="mspace" style="margin-right:0.1667em;">&lt;/span>&lt;span class="mord">1&lt;/span>&lt;span class="mclose delimcenter" style="top:0em;">&lt;span class="delimsizing size3">)&lt;/span>&lt;/span>&lt;/span>&lt;span class="mspace" style="margin-right:0.2222em;">&lt;/span>&lt;span class="mbin">−&lt;/span>&lt;span class="mspace" style="margin-right:0.2222em;">&lt;/span>&lt;span class="mord">&lt;span class="mopen nulldelimiter">&lt;/span>&lt;span class="mfrac">&lt;span class="vlist-t vlist-t2">&lt;span class="vlist-r">&lt;span class="vlist" style="height:1.3214em;">&lt;span style="top:-2.314em;">&lt;span class="pstrut" style="height:3em;">&lt;/span>&lt;span class="mord">&lt;span class="mord">2&lt;/span>&lt;/span>&lt;/span>&lt;span style="top:-3.23em;">&lt;span class="pstrut" style="height:3em;">&lt;/span>&lt;span class="frac-line" style="border-bottom-width:0.04em;">&lt;/span>&lt;/span>&lt;span style="top:-3.677em;">&lt;span class="pstrut" style="height:3em;">&lt;/span>&lt;span class="mord">&lt;span class="mord">1&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;span class="vlist-s">​&lt;/span>&lt;/span>&lt;span class="vlist-r">&lt;span class="vlist" style="height:0.686em;">&lt;span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;span class="mclose nulldelimiter">&lt;/span>&lt;/span>&lt;span class="mspace" style="margin-right:0.1667em;">&lt;/span>&lt;span class="mclose">&lt;span class="delimsizing mult">&lt;span class="vlist-t vlist-t2">&lt;span class="vlist-r">&lt;span class="vlist" style="height:1.45em;">&lt;span style="top:-3.45em;">&lt;span class="pstrut" style="height:4.4em;">&lt;/span>&lt;span style="width:0.333em;height:2.400em;">&lt;svg xmlns="http://www.w3.org/2000/svg" width="0.333em" height="2.400em" viewBox="0 0 333 2400">&lt;path d="M145 15 v585 v1200 v585 c2.667,10,9.667,15,21,15
c10,0,16.667,-5,20,-15 v-585 v-1200 v-585 c-2.667,-10,-9.667,-15,-21,-15
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v1200 v585 h43z"/>&lt;/svg>&lt;/span>&lt;/span>&lt;/span>&lt;span class="vlist-s">​&lt;/span>&lt;/span>&lt;span class="vlist-r">&lt;span class="vlist" style="height:0.95em;">&lt;span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;span class="mspace" style="margin-right:0.2222em;">&lt;/span>&lt;span class="mbin">−&lt;/span>&lt;span class="mspace" style="margin-right:0.2222em;">&lt;/span>&lt;/span>&lt;span class="base">&lt;span class="strut" style="height:0.6444em;">&lt;/span>&lt;span class="mord">1&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;/span>&lt;p>不管害怕與否，數學上的三角波並不會幫助我們對它的聲音更加認識。還是回到聽覺上面，聽聽看作曲家怎麼使用三角波。好和弦寫的這篇文章&lt;a href="https://nicechord.com/post/synthesizer-basics/"target="_blank" rel="noopener">〈合成器（Synthesizer）到底是什麼？〉&lt;/a>有提到，當時的作曲家喜歡用三角波寫 Bassline。因為跟方波相比，它的奇數倍高頻泛音&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>比較弱，聽起來乾淨，不會跟其他聲部搶頻率。&lt;/p>
&lt;h2>NES 的三角波&lt;span class="hx:absolute hx:-mt-20" id="nes-的三角波">&lt;/span>
&lt;a href="#nes-%e7%9a%84%e4%b8%89%e8%a7%92%e6%b3%a2" class="subheading-anchor" aria-label="Permalink for this section">&lt;/a>&lt;/h2>&lt;p>接著來看看 NES 的三角波。NES 採用的晶片 2A03 產生出來的三角波其實是階梯狀&lt;sup id="fnref:3">&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref">3&lt;/a>&lt;/sup>，硬體內建長度 32 的波形查詢表，播放時會按照這個序列循環讀取出來。數數看是不是上升 16 階再下降 16 階？&lt;/p>
&lt;img src="NES-triangle-wave.png" />
&lt;p>因為硬體實作的方式，那些超過取樣率一半的頻率都會造成 Aliasing&lt;sup id="fnref:4">&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref">4&lt;/a>&lt;/sup>，干擾原本的聲音。因此，播放高頻聲音時會產生明顯的失真與鋸齒感。這種聽起來「毛邊、顆粒感和不乾淨」的感覺就是紅白機的招牌聲音，少了這一味，紅白機就不是紅白機了。&lt;/p>
&lt;p>在洛克人二代 Crash Man 關卡的配樂中，三角波那一軌單獨聽起來是不是很復古？&lt;/p>
&lt;p>
&lt;audio controls preload="auto" src="Crash-Man-Stage-ROCKMAN2.ogg">&lt;/audio>
&lt;/p>
&lt;p>比較一下完美三角波聽起來的版本。因為少了很多刺耳的高頻，聲音變得單薄許多。我個人比較喜歡紅白機的版本，畢竟——這世界本來就不完美。&lt;/p>
&lt;p>
&lt;audio controls preload="auto" src="Crash-Man-Stage-ROCKMAN2-perfect-tri.ogg">&lt;/audio>
&lt;/p>
&lt;h2>Surge XT 模擬 8-bit 三角波&lt;span class="hx:absolute hx:-mt-20" id="surge-xt-模擬-8-bit-三角波">&lt;/span>
&lt;a href="#surge-xt-%e6%a8%a1%e6%93%ac-8-bit-%e4%b8%89%e8%a7%92%e6%b3%a2" class="subheading-anchor" aria-label="Permalink for this section">&lt;/a>&lt;/h2>&lt;p>拉哩拉渣講了這麼多，讓我們來學習用 &lt;a href="https://surge-synthesizer.github.io/"target="_blank" rel="noopener">Surge XT&lt;/a> 模擬紅白機的三角波吧！&lt;/p>
&lt;img src="Surge-XT.png" />
&lt;p>曾經嘗試用寫程式的方式來發出三角波的聲音，但發現這樣實在太痛苦了，決定不拿石頭砸自己腳。工欲善其事，必先利其器。找來 Surge XT 這款看起來功能強大的合成器軟體，幫助我們控制電腦發出聲音。試用了一陣子，可以快速產生各種基本聲波，而且還內建一堆 Patch 讓你實驗各種聲響。這軟體不僅不用花半毛錢，而且還開源，不幫忙推廣實在是對不起自己。&lt;/p>
&lt;p>對第一次接觸合成器的人來說，操作界面有點難懂，不過熟能生巧，只要掌握幾個重點也能輕鬆愉快駕馭它🤨。&lt;/p>
&lt;p>&lt;a href="https://surge-synthesizer.github.io/manual-xt/#user-interface-basics"target="_blank" rel="noopener">官方文件&lt;/a>有明確標示每一個區塊大致上是做什麼的，請務必前往查看，不然很容易迷失方向。&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Header&lt;/strong> 區塊可以選擇內建的 Patch&lt;/li>
&lt;li>&lt;strong>Scene Controls&lt;/strong> 有各種參數可以針對目前的 Patch 做調整&lt;/li>
&lt;li>&lt;strong>FX&lt;/strong> 有 16 個效果器可以使用&lt;/li>
&lt;li>&lt;strong>Modulation/Routing&lt;/strong> 我們先不管它👻&lt;/li>
&lt;/ul>
&lt;p>另外，分享一下我覺得在 Surge XT 很重要的概念 &lt;strong>Scene&lt;/strong>。Surge XT 裡面每個 Patch 可以包含兩個 Scene：&lt;strong>A&lt;/strong> 與 &lt;strong>B&lt;/strong>。預設的 &lt;strong>Scene Mode&lt;/strong> 是 Single，等於同一個 Patch 可以有兩種獨立的音色設定（包含：Oscillators、Filters、Envelopes、LFO、FX、Routing…）。還有其他三個 Scene Mode 可以選擇，同樣地，我們先不管它👻。&lt;/p>
&lt;p>準備好要模擬 8-bit 三角波了嗎？&lt;/p>
&lt;ol>
&lt;li>先切到內建的 Patch Init Saw&lt;/li>
&lt;li>Oscillator 1 類別改成 Triangle&lt;/li>
&lt;li>Filter 1
&lt;ul>
&lt;li>Effect &amp;gt; Sample &amp;amp; Hold&lt;/li>
&lt;li>調整 Cutoff 頻率&lt;/li>
&lt;li>Keytrack 調到 100%&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ol>
&lt;p>聽聽看是不是已經很接近紅白機三角波的聲響？老實說，打開 Oscilloscope 看波形，還是不太一樣😒。&lt;/p>
&lt;p>最後，分享兩個常用的快捷鍵。&lt;code>Alt&lt;/code> + &lt;code>K&lt;/code> 叫出虛擬 MIDI 鍵盤。&lt;code>Alt&lt;/code> + &lt;code>O&lt;/code> 叫出 Oscilloscope，方便讓我們看波形和頻譜。&lt;/p>
&lt;h2>總結&lt;span class="hx:absolute hx:-mt-20" id="總結">&lt;/span>
&lt;a href="#%e7%b8%bd%e7%b5%90" class="subheading-anchor" aria-label="Permalink for this section">&lt;/a>&lt;/h2>&lt;p>雖然文章有一半篇幅都在講三角波，但真正目的是想讓大家了解復古遊戲（retro game）音樂的迷人之處。無論你是否經歷過 NES 遊戲時代，希望這篇文章能讓你對 NES 的音色有基本的認識。即使現代合成器軟體技術進步，限制作曲家的從來不是硬體，而是想像力和創意，以及對遊戲世界的深刻理解。&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>&lt;a href="https://www.nesdev.org/wiki/APU_Noise"target="_blank" rel="noopener">https://www.nesdev.org/wiki/APU_Noise&lt;/a>&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>&lt;a href="https://en.wikipedia.org/wiki/Triangle_wave#Harmonics"target="_blank" rel="noopener">https://en.wikipedia.org/wiki/Triangle_wave#Harmonics&lt;/a>&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:3">
&lt;p>&lt;a href="https://www.nesdev.org/wiki/APU_Triangle"target="_blank" rel="noopener">https://www.nesdev.org/wiki/APU_Triangle&lt;/a>&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:4">
&lt;p>&lt;a href="https://www.youtube.com/watch?v=jtM-0EIHcQI"target="_blank" rel="noopener">Aliasing: Everything You Need to Know&lt;/a>&amp;#160;&lt;a href="#fnref:4" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>退了色的記憶</title><link>https://oohmemen.com/blog/faded-memories/</link><pubDate>Sat, 20 Sep 2025 17:59:08 +0800</pubDate><guid>https://oohmemen.com/blog/faded-memories/</guid><description>
&lt;p>三十年前左右，家用遊戲主機超級任天堂 SNES 問世，當時的娛樂選擇相對有限，僅僅幾款 RPG 遊戲就足以讓我廢寢忘食。《超時空之鑰》、《大盜五右衛門3》、《雷霆任務1》的遊戲音樂，時至今日仍讓我回味無窮，甚至曾 cover 過《超時空之鑰》的主題曲，重現當時的感動。三十年後，科技進步，手上的手機，雖然擁有更強大的運算力，但能讓我回到過去嗎？&lt;/p>
&lt;p>比起現在肥大的遊戲，超任一款遊戲頂多 6 MB&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>，經典遊戲《Doom》竟然只有 2.39 MB&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>，卻依然讓玩家沈浸其中，忘記時間流逝。洛克人也是一款這樣的遊戲，打敗關卡的 boss 可以拿到敵人的能力，並用新能力去攻略其他關卡，經過無數次挑戰終於來瘋狂科學家威利博士面前。這並不是在說現在就沒有好玩的遊戲，但總覺得少了些什麼，說不上來🤔。也許是邊際效應遞減，小時候簡單的快樂就能滿足，長大後真正的快樂卻越來越少。&lt;/p>
&lt;blockquote>
&lt;p>即使回首過去（遺忘的相簿中）&lt;br />
那段時光（耍白吃的自己）&lt;br />
也回不來了（和朋友一同歡樂）&lt;br />
假裝是 超人力霸王 超人力霸王 七號&lt;br />&lt;/p>
&lt;/blockquote>
&lt;p>在構思這篇文章要寫些什麼，不停的追問自己，想起&lt;a href="https://www.youtube.com/watch?v=mb2sX76tZwU"target="_blank" rel="noopener">《思い出は億千万》&lt;/a>這首歌。時間推著所有人前進，往日時光即使想捕捉，也因為時間久遠，答案變得模糊不清。只賣碗糕和肉粽的阿伯不再騎著攤販車進巷子叫賣。招牌還在，但超級無敵好吃的鹹酥雞老闆不再出來擺攤。日劇&lt;a href="https://ja.wikipedia.org/wiki/%E7%B5%B6%E3%83%A1%E3%82%B7%E3%83%AD%E3%83%BC%E3%83%89"target="_blank" rel="noopener">《絕味之路》&lt;/a>提醒我吃一次少一次，喜歡的味道有一天一定會消失。&lt;/p>
&lt;p>記得小學曾經養過一隻黑色貴賓，名字叫捲毛（台語），放學後下午五點抱著牠準時守在電視機前看《絕對無敵》；記得小時候看《七龍珠》，以為跟著龜仙人的修煉，就可以像悟空和克林一樣使出龜派氣功；記得小時候打電動的情報來源是電玩雜誌疾風快報；記得以前上網要聽一段撥接聲音，網路速度最快 56 kbps，在奇摩站搜尋各種遊戲 MIDI，然後聽音樂一定要用 Winamp，三不五時就幫 Winamp 找皮膚（播放界面）來換；記得高中會用 Zmud 4.62 玩 MUD 文字遊戲，而且只要一玩，家裡的電話就不通（笑）。&lt;/p>
&lt;blockquote>
&lt;p>我可是嘗盡苦頭，好不容易才成為大人的。&lt;/p>
&lt;p>&amp;mdash; 美冴&lt;/p>
&lt;/blockquote>
&lt;p>時間飛快，一轉眼已經變成無聊的大人。最近，兩隻噗噗很喜歡看蠟筆小新（舊愛笑笑羊這麼快就變過去式🥲），讓我用小新的媽媽美冴的台詞&lt;sup id="fnref:3">&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref">3&lt;/a>&lt;/sup>做結尾，不然這篇不知道要打到什麼時候。&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>&lt;a href="https://en.wikipedia.org/wiki/Super_Nintendo_Entertainment_System_Game_Pak"target="_blank" rel="noopener">https://en.wikipedia.org/wiki/Super_Nintendo_Entertainment_System_Game_Pak&lt;/a>&lt;br />The largest games released (Tales of Phantasia and Star Ocean) contain 48 Megabits of ROM data, while the smallest games contain 2 Megabits.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>&lt;a href="https://wiwi.blog/blog/jelly-bigger-than-games/"target="_blank" rel="noopener">https://wiwi.blog/blog/jelly-bigger-than-games/&lt;/a>&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:3">
&lt;p>台詞出自《蠟筆小新：宇宙人Pi力來襲！！》這部動畫。&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Windows 11 &amp; Linux 雙系統開機</title><link>https://oohmemen.com/blog/dual-boot-windows-11-and-linux/</link><pubDate>Sun, 07 Sep 2025 03:13:35 +0800</pubDate><guid>https://oohmemen.com/blog/dual-boot-windows-11-and-linux/</guid><description>
&lt;p>前陣子組了&lt;a href="https://oohmemen.com/blog/time-to-retire-my-faithful-old-computer/">新電腦&lt;/a>，本來主要目的是拿來玩遊戲，後來過沒多久改成雙系統開機，畢竟平常習慣使用 Unix-like 作業系統。現在安裝雙系統也很方便，只要準備一支 USB 隨身碟，把你喜歡的 Linux 發行版燒錄進去（使用 &lt;a href="https://rufus.ie/zh_TW/"target="_blank" rel="noopener">Rufus&lt;/a> 或 &lt;a href="https://etcher.balena.io/"target="_blank" rel="noopener">balenaEtcher&lt;/a>），進入 BIOS/UEFI 設定 USB 優先啟動，找一個未配置的磁碟區安裝 Linux，安裝結束後重新開機，順利的話就可以看到 GRUB 開機選單。如果事情這麼順利的話，也許就不會有這篇文章的誕生🙄。&lt;/p>
&lt;p>原本預期開機後會有畫面讓我選擇要進入的作業系統，沒多久直接看到 Windows 11 的開機畫面，到底發生什麼事？後來才知道，還要進 BIOS 去設定 UEFI Hard Disk Drive BBS Priorities，不然預設還是會從 Windows bootloader 交棒給 Windows 11。&lt;/p>
&lt;p>不知道其他家主機板是不是也是這樣，至少我手上微星這塊板子是這樣。&lt;/p>
&lt;p>解開謎團的過程中，還發現如何進入 Windows Advanced Startup Options 選單（hold &lt;code>Shift&lt;/code> + click Restart from Power button）。&lt;/p>
&lt;p>終於來到 GRUB 開機選單，按下 Up/Down 鍵選擇你要的作業系統，這種自由的感覺真好😎。咦！？上下鍵怎麼沒有反應？預設的五秒倒數計時結束，結果我又看到 Windows 11 的開機畫面。停頓思考一下，應該是因為在那個 moment 偵測不到我的 ANNE PRO 2 藍芽鍵盤。有辦法在 GRUB 使用藍芽連線嗎？算了還是打消這念頭，USB 線拿出來不就解決問題了。&lt;/p>
&lt;p>雙系統的安裝順序建議是先裝 Windows 再裝 Linux，不然 Windows bootloader 可是不管三七二十一直接覆蓋。雖然被覆蓋還是有補救的方式，但還是別找自己麻煩。講到這裡，得感謝 GRand Unified Bootloader 讓我們有選擇的自由！&lt;/p>
&lt;p>Linux 系統使用一陣子，時不時會卡住，上網查了一下，swap 不夠可能會造成系統不穩。當時安裝 Linux，因為怕麻煩選擇 default install，結果 swap 大小預設只有 1 GB。&lt;/p>
&lt;p>只好捲起袖子!&lt;/p>
&lt;div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code">
&lt;div>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#586e75;background-color:#eee8d5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#93a1a1;font-style:italic"># 查看 swap&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>free -h
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sudo parted --list
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#93a1a1;font-style:italic"># 新增 swap partition 並修改 /etc/fstab（請允許我偷懶這樣寫）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#93a1a1;font-style:italic"># disable 原本的 swap&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sudo swapoff /swapfile
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#93a1a1;font-style:italic"># enable 新的 swap&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sudo swapon --all --verbose
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#93a1a1;font-style:italic"># 確認 swap 是否啟用&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cat /proc/swaps&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/div>&lt;div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0">
&lt;button
class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
title="Copy code"
aria-label="Copy code"
data-copied-label="Copied!"
>
&lt;div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4">&lt;/div>
&lt;div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4">&lt;/div>
&lt;/button>
&lt;/div>
&lt;/div>
&lt;p>上面這些指令都是參考&lt;a href="https://help.ubuntu.com/community/SwapFaq"target="_blank" rel="noopener">這篇&lt;/a>。&lt;/p>
&lt;p>這次把 swap 大小調整成記憶體的兩倍大，系統穩定度到底有沒有改善呢？答案是：還是會卡住。後來，更新 NVIDIA 顯卡驅動程式，系統再也沒卡住了。&lt;/p></description></item><item><title>托兒所之使命必達</title><link>https://oohmemen.com/blog/dropping-off-my-little-two-at-daycare/</link><pubDate>Sat, 23 Aug 2025 03:11:22 +0800</pubDate><guid>https://oohmemen.com/blog/dropping-off-my-little-two-at-daycare/</guid><description>
&lt;p>每天平日早上，兩隻噗噗準備要去托兒所，除了檢查有沒有睡飽、心情如何，把逼噗我都會有一個重要任務，那就是防蚊大作戰。千萬不要小看蚊子，小寶寶的免疫系統還在發育階段，不像大人已經有完整的抵抗能力。每次回家看到兩隻噗噗身上有紅腫，身為父母的我們就會開始擔心他們的身體狀態。&lt;/p>
&lt;h2>蚊子大軍的陰謀&lt;span class="hx:absolute hx:-mt-20" id="蚊子大軍的陰謀">&lt;/span>
&lt;a href="#%e8%9a%8a%e5%ad%90%e5%a4%a7%e8%bb%8d%e7%9a%84%e9%99%b0%e8%ac%80" class="subheading-anchor" aria-label="Permalink for this section">&lt;/a>&lt;/h2>&lt;p>我極度懷疑托兒所裡一定養了一批蚊子大軍，牠們隨時在小寶寶身旁虎視眈眈，準備大快朵頤一番。身為使命必達的外送員，怎麼能讓辛苦送達的餐點受到一丁點攻擊，防蚊三寶是出門旅行必備道具。&lt;/p>
&lt;h2>防蚊三道工序&lt;span class="hx:absolute hx:-mt-20" id="防蚊三道工序">&lt;/span>
&lt;a href="#%e9%98%b2%e8%9a%8a%e4%b8%89%e9%81%93%e5%b7%a5%e5%ba%8f" class="subheading-anchor" aria-label="Permalink for this section">&lt;/a>&lt;/h2>&lt;p>首先，抹上一層防蚊乳液，就像在壽司醋飯上刷醬油，要均勻、仔細，不能有死角。接著，再小心地貼上防蚊貼，如同在壽司上放配料，位置很重要，經過精準丈量，確保每一片都能發揮最大覆蓋率。最後，補上防蚊噴霧，猶如壽司師傅俐落地揮動噴槍，做最後的炙燒修飾。過程中餐點毫無抵抗，任老爸無情料理，原因無他，兩隻噗噗都專心在看笑笑羊。&lt;/p>
&lt;h2>活體蚊香，準備出發&lt;span class="hx:absolute hx:-mt-20" id="活體蚊香準備出發">&lt;/span>
&lt;a href="#%e6%b4%bb%e9%ab%94%e8%9a%8a%e9%a6%99%e6%ba%96%e5%82%99%e5%87%ba%e7%99%bc" class="subheading-anchor" aria-label="Permalink for this section">&lt;/a>&lt;/h2>&lt;p>一切準備就緒，檢查餐點是否完全「入味」，活體蚊香完成！兩個小傢伙似乎也對身上的味道很滿意，咦！？幫兩隻穿好鞋子，揹上行囊，外送員模式啟動🫡。&lt;/p></description></item><item><title>舊電腦跑不動 Chrome，是時候讓它退休了</title><link>https://oohmemen.com/blog/time-to-retire-my-faithful-old-computer/</link><pubDate>Thu, 10 Jul 2025 11:04:11 +0800</pubDate><guid>https://oohmemen.com/blog/time-to-retire-my-faithful-old-computer/</guid><description>
&lt;p>這台舊電腦約莫在 2010 年於光華商場組的，安裝的作業系統是 Windows 7。其實目前還頭好壯壯，簡單聽個音樂和上個網也都問題不大，甚至還能玩《殺戮尖塔》呢！順帶一提，我的 Slay the Spire 遊玩時間目前已經累積到 162.1 個小時，之後應該還會繼續增加。去年開始已經有組新電腦的念頭，畢竟趁著遊戲特價時在 Steam 買了不少遊戲，蠻多都還沒安裝來玩過（笑）。原因無他，因為舊電腦跑不動。&lt;/p>
&lt;blockquote>
&lt;p>你經歷了很多次生死關頭，但這並不代表你成為了大人。掉在枕頭旁的頭髮越來越多，喜歡的鹹麵包從超商消失了，就是這種小小的絕望累積起來，才會讓自己成為大人。&lt;/p>
&lt;p>&amp;mdash; 七海建人&lt;/p>
&lt;/blockquote>
&lt;p>Chrome 更新也不再支援 Windows 7，這讓 Windows 7 的忠實用戶情何以堪。我們並非原地踏步，而是這世界踩了油門不放。只好在電腦螢幕前默默開啟 Internet Explorer，體驗一下什麼叫真正的復古，自我解嘲一番。&lt;/p>
&lt;p>於是，這陣子開始物色新電腦的配備規格，很久沒配菜單，參考了&lt;a href="https://ofeyhong.pixnet.net/blog"target="_blank" rel="noopener">歐飛先生部落格&lt;/a>的選購建議，也嘗試問 ChatGPT。不得不說，最近 AI 聊天機器人真的越來越厲害，已經給出基本可行的組裝方向，再根據自己需求微調一下就好。系統升級前後比較如下&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>：&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: left">old&lt;/th>
&lt;th style="text-align: left">new&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: left">AMD Phenom II X4 995&lt;/td>
&lt;td style="text-align: left">Intel Core i5-12600K&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Kingston DDR3 8GB&lt;/td>
&lt;td style="text-align: left">Micron Crucial Pro DDR5-6000 32GB (16G*2)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">ASUS AMD Radeon HD 5700 Series&lt;/td>
&lt;td style="text-align: left">Gigabyte GeForce RTX™ 4070 SUPER WINDFORCE OC 12G&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: left">Gigabyte GA-870A-USB3&lt;/td>
&lt;td style="text-align: left">MSI B760 GAMING PLUS WIFI&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>拿到新電腦的當下有點感動，因為我終於擊敗拖延症。&lt;/p>
&lt;p>在全新的 Windows 11 系統上安裝 Steam，下載了期待已久的女神異聞錄5 (Persona 5)！當遊戲成功啟動，開場音樂響起，那份激動的心情簡直讓人開心到熱淚盈眶！美中不足的是，由於來不及添購喇叭設備，只能暫時委屈地用藍芽耳機來體驗這款神作，晚點得補上一套好的喇叭才不會辜負這款遊戲的品質。&lt;/p>
&lt;p>《巫師3》、《歧路旅人》、《NieR:Automata》很多遊戲都在等著我，把逼噗我也幫兩隻噗噗準備好《It Takes Two》，米噗麥噗等你們長大❤️。&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>其他電腦零組件：i5-12600K 這顆 CPU 沒有風扇，找來 Thermalright Burst Assassin 120 這位冷酷殺手來幫忙降溫。Micron Crucial T500 2TB PCIe Gen4 NVMe M.2 SSD 固態硬碟就是快，2TB 容量讓你囤積各種「以為以後會用到然後永遠不會用到」的檔案。MONTECH AIR 903 base 黑色機殼外表像個西裝筆挺的紳士，看起來沉穩內斂。&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>只是想從電子書複製個文字</title><link>https://oohmemen.com/blog/copy-text-from-e-book/</link><pubDate>Tue, 10 Jun 2025 11:50:20 +0800</pubDate><guid>https://oohmemen.com/blog/copy-text-from-e-book/</guid><description>
&lt;p>盤點自己電子書的購買平台有 Kobo、Amazon 和 Google Play 圖書，有時候你想複製文字分享給別人或做筆記，才發現找不到這個功能，大部分都是提供畫線和新增備註。這時候會發現你的筆記散佈在各處難以管理，要不你統一在同一個平台上購買。最近在考慮買哪家電子紙閱讀器時，也有同樣的疑問🤔。雖然有的平台可以同步筆記到雲端（例如：Readwise/Google Drive/Dropbox），但難道我不能直接把文字複製在本機端嗎？這點卑微的要求很過分嗎？&lt;/p>
&lt;p>Amazon Kindle&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup> 甚至還限制你複製次數。&lt;/p>
&lt;p>好和弦部落格有一篇文章&lt;a href="https://wiwi.blog/blog/digital-prepping/#%E6%9B%B8%E6%9C%89%E8%81%B2%E6%9B%B8"target="_blank" rel="noopener">〈沒網路了要怎麼辦？〉&lt;/a>建議別買電子書，除非你可以拿到 DRM-free 的檔案。儘管可以理解，我覺得電子書攜帶的便利性還是很誘人，想像一下把鳥山明七龍珠全套 34 集紙本漫畫帶在身上的畫面，只有面目猙獰而已。&lt;/p>
&lt;p>好奇 Google 一下，發現也有人跟我有一樣的困惱&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>，這人還順手把電子書 DeDRM 了。從這一刻開始，我像是著了魔似地在網路上亂逛。最後，&lt;a href="https://www.youtube.com/watch?v=RuG41gsnPI0"target="_blank" rel="noopener">DRM Removal from Kobo Books: A Step-by-Step Guide&lt;/a> 提供了我必要的線索，在 2015 年的 MacBook Pro 上安裝 calibre 6.29 和 DeDRM tools 10.0.9。登——登——登——，電子書封印解除！途中還遇到 Adobe 設下的障礙（ACSM 檔案真的是個偉大的發明），原本以為裝了 Adobe Digital Editions 就可以搞定&lt;sup id="fnref:3">&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref">3&lt;/a>&lt;/sup>，無奈事與願違。感謝 Adobe 在數位時代的一大貢獻——既讓我們體驗挫敗，又讓我們思考自由的可貴。&lt;/p>
&lt;p>講到這裡，有沒有發現你買的電子書，充其量只有在平台上的借閱權罷了，並不實際擁有它，你必須透過平台提供的閱讀媒介來行使閱讀權。抱怨歸抱怨，身體倒是很誠實地不小心手滑敗了一台 Kobo Libra Colour，之後有機會再來寫一篇使用心得。&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>我手上沒有 Kindle 閱讀器，這裡是指 &lt;a href="https://apps.apple.com/us/app/amazon-kindle/id302584613"target="_blank" rel="noopener">Mac App Kindle&lt;/a>。&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>&lt;a href="https://x.com/thecat/status/1697475366762491992"target="_blank" rel="noopener">https://x.com/thecat/status/1697475366762491992&lt;/a>&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:3">
&lt;p>似乎需要 3.0 舊版本，留給有心人士去測試了。&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item></channel></rss>