上進病:保暖思進取
只有我把「上進心」當成一個情緒問題嗎? 這是我的「BlogBlog 同樂會 - 2026 年 2 月」的投稿文章。本月主題是「只有我這樣嗎?」,由 Wiwi 主持。如果你有自己的部落格,歡迎一起來參加! 又貪婪地在早上五點起床了。行之數年,樂此不疲,一切都是那樣安康自洽——至少在我老毛病又犯病之前。 雖然是一樣的五點,一樣的台北,一樣的咖啡香,一樣的 lo-fi 背景音樂,一樣的閱讀跟運動的例行事項。但我漸漸地又不一樣了,沒有那麼安康了。為什麼我說又呢?人果然就像潮汐一樣吧,即使你把環境安排到最優(身邊放了最喜歡的人、找了一個最舒適的工作崗位、活著一種健康的 life style),達到了短期內的最佳狀態,你身為一個的生物體的那部分依舊會伺機從內部來瓦解這一切。至少身為「多巴胺問題型人格」的我是這樣的。 「多巴胺問題型人格」這個詞是我自己講的,畢竟像我這樣總是有點強迫性地追求大家的注意、追求遠方、追求成就感、無法適應安逸的這種性格,究竟是多巴胺高敏呢、還是低敏呢、是 DRD4 基因重複串聯長呢、還是短呢,就我所知,還都只是假說並且眾說紛紜。但反正八成是煙卷多巴胺搞的鬼,我便宜...
運籌帷幄的鍵盤操作術:減少手部移動的心流打字方案(Mac 與 Windows 適用)
這是我的「BlogBlog 同樂會 - 2026 年 1 月」的投稿文章。本月主題是「推坑」,由 Wiwi 主持。如果你有自己的部落格,歡迎一起來參加! 欣喜!早就想好好地坐下來,跟世界介紹一下我的這套「運籌帷幄的鍵盤操作術」。原本這只是一篇緩慢堆積的殘破文稿,但在某個風光明媚、隨性上網衝浪的日子裡,碰巧看到了 Wiwi 發起的部落格同樂會,主題是「推坑」——噫!不就是個推坑大家丟掉滑鼠的好日子嗎? (注:若你是其他華語地區讀者,滑鼠與游標你有可能分別稱之為鼠標與光標,後面將使用滑鼠與游標進行指稱。) 當然,現今的人機互動依舊是替滑鼠設計居多,丟掉滑鼠並不是個好主意。但至少,如果我們在「編輯文字」的時候不用一直在鍵盤跟滑鼠之間切換,那該會有多美妙? 如果你也曾經對頻繁的鍵鼠切換感到不便、曾經對方向鍵的遙遠位置感到不解、曾經在使用 Ctrl+C、Ctrl+V 時感到彆扭,那你可能會對我的解決方案感興趣,不妨留下來看看,互相交流一下思路;但若是情況恰恰相反,你從來沒有覺得剛剛說的那些有什麼不方便的地方…… 這位仁兄,你別走!就是寫給你看的,坐下來讓我推坑你! 我的理由與方案目標 ...
韓文小筆記之四:오跟어怎麼分?
安妞,身為一個中文母語使用者,我想問——오(o)跟어(eo)到底怎麼分?今天我們就來釐清這題吧,先上統整圖: 後元音統整圖 *註解請見文末。 給非台灣地區的華人:精靈文的「ㄚ、ㄛ、ㄜ」分別代表漢字「啊、喔、呃」的發音。 借英文來分 오 跟 어 我在初步認識韓文母音時,繼 애(ae)跟 에(e)之後,第二困惑的可能就是題幹這題了。而在知道韓國人也開始逐漸不區分 애 跟 에 之後,오 跟 어 就變成了最大的問題。畢竟大家都會分,只有我還傻傻分不清楚,那可不行。 究其原因,中文的「ㄛ」在 /ɔ/ 跟 /o/ 之間自由變體(也就是唸哪種都不影響意思表達),只要不要嘴巴張開的幅度大到變成「ㄚ」,我們其實都能接受它是「ㄛ」。 但韓文的「오」跟「아」之間卻有一個過渡的「어」,這就是我們一時之間適應不良的主要原因。 但兄弟姐妹們,如果中文沒辦法提供我們洞見,那我們借別人的來用吧!在我製表的同時,發現其實英文相對完整地 cover 到了各種發音,直接原地領悟: 오 跟 Note 是一組的,區別於嘴巴張更開的 Thought。(其中只取 Note 的一部分,請見文末註解) 어 跟 Gut 是一組...
自架 CMS 系統:Ghost + Mailgun
今天來把我們的讀書會《一個讀書會》的網站從 Halo 搬家到 Ghost。其實 Halo 算是不錯用的 CMS(內容管理系統),也提供多用戶協作管理,但可惜權限顆粒不夠細緻,除非大家都設為管理員否則沒辦法協作同一篇文章,不盡理想。而 Ghost 就提供 Admins, Editors, Authors, Contributors 四種身份,其中的 Editor 恰好就是我們需要的——同一次讀書會,分享者們能把內容丟進同一篇文章之中。 那你說文章協作為何不直接用 Notion?其實,Notion 會是相當理想的解決方案。作為協作平台,他甚至還能將文章上線,完美整合了我們想協作又想上線(觸及外網交朋友、同時方便我們自己隨時訪問複習)的需求。不過若能自架,我還是會更願意先走自架的方案,萬一讀書會舉辦到第三十個年頭結果 Notion 倒了,那就不舒服啦。總之,我們來架設 Ghost 網站吧! 透過 Docker Compose 架設 Ghost 官方對於自架提供了完整的文檔指引,然而嘛,官方的預設做法綁定了 Caddy 作代理,並且整合了 Tinybird 跟 ActivityPub ...
讀書筆記:《佛畏系統》
奈特不確定性 來自 Frank Knight 1921 年出版的《Risk, Uncertainty and Profit》。其中解釋了風險、不確定性的差異,並找到了「利潤」真正的來源。 車禍是風險、賭博是風險;但未來十年是否能發現新能源是不確定性、新創事業會不會成功是不確定性。企業承擔不確定性,創造利潤。 思維密度 簡單的例子:一篇花了一個小時寫出來的文章我用一分鐘讀完,那思維密度為60。 所以書籍的思維密度可就非常可觀。某個大師濃縮了他二十年來的心血寫出的一本書,我們花一個禮拜把它看完,思維密度極高,賺翻。 心流的本質 進入心流會關閉前額葉皮質。以《快思慢想》的模型來說,心流狀態下,系統二(前額葉負責的慢思考)關閉了,省出來的能量都跑去運作快思考的系統一,創造出無比流暢的體驗。 時間管理的最高境界:不做「必須做的事」 如果有一個 deadline 在禮拜五的 case,它在禮拜五就是「必須做的事」,但它在禮拜一就是一件可做可不做的事情,此時你就有主動權。主動權有什麼用呢? callback回去《致富心態》:幸福跟對生活的掌控感彼此呈正相關。 時間就像金錢,你花掉了就不是你...
Docker 更換掛載點:將 immich 資料搬遷到外接 SSD
docker 更換掛載點其實非常方便,倒不如說這部分就是 docker 會那麼好用的其中一個重要因素。一般來說,我們只要在 docker-compose.yml 中把 volumes 欄位設定一下,重新運行,一切就會像沒事人一樣,無痛搬家。 隨便拿一個簡單的 docker-compose 來看: 1234567891011services: glance: container_name: glance image: glanceapp/glance restart: unless-stopped volumes: - ./config:/app/config - ./assets:/app/assets ports: - 5678:8080 env_file: .env 我們可以看到在 volumes 跟 ports 裡面都有著 host:container 這種格式的寫法。在 volumes 中,這就表示你的容器會直接把宿主的 ./config 當成 /app/config 來取用。而在 ports 中,你的容...
在 Windows 系統上架設 NTP 伺服器
需求背景 此例中,我們要替電影院架設 TMS 系統,所以我們會有一台作為中控的 Windows 電腦,跟數台放在各個影廳的投影機伺服器。 一般來說,設備只要能上網,時間就能透過網際網路定時進行校準,一片蛋糕。但電影院的投影機伺服器為了做到內容保護,在 DCI 認證的規範之下,通常就只用封閉的內網來進行控制、傳輸與播放,於是我們就得迂迴地提供正確的時間給它們。 如果我們的中控電腦有兩張網卡,一張上網去讀時間,一張內網作為 NTP 伺服器,把時間資訊傳給投影機們如何? 挺不賴的,我們開搞。 安裝 NetTime 雖然 Windows 系統本身就自帶 NTP 的功能,但使用方式有點不直觀,本文選用簡單快速的第三方小工具 NetTime。 安裝開啟後,程式就可以開始從網路上抓取時間進行校準。此時我們進入設定: 把 Allow other computers to sync to this computer 的選項打開,化身為 server: 噠啦,就是那麼簡單。 防火牆設定 至此,Windows 電腦已經可以作為 client 從外網讀取正確時間,並同時作為 server 提供該時間...
讀書筆記:《致富心態》(金錢心理學)
沒有人真的是瘋子 指數基金的歷史不到五十年、避險基金才差不多二十五年,房屋貸款、信用卡、汽車貸款都是二戰後才出現。美國401退休金賬戶在 1978 開始運行,台灣勞退則是 1986——都只是初生之犢。所以我們如果做出奇怪的財務決策,那也是在所難免。(而因為入不敷出,台灣在 2005 年改成了新制。) 比如說,美國人購買樂透的金額,超過電影、遊戲、音樂、體育、書籍的消費總額。並且,樂透的消費群體,主要集中在收入最低的那群人。書上的數據是,最低收入家庭平均每年花四百美元在買樂透,但四成的美國人遇到緊急事故時卻湊不出四百美元,所以整體而言,花四百美元買樂透的人跟湊不出四百美元的人,是同一群人。 但他們真的是瘋子嗎?如果我們用他們的角度來看,也許也沒那麼奇怪,買樂透可能是他們唯一能擁抱美夢的時刻了。 運氣與風險 作者問諾貝爾經濟學獎得主 Robert Shiller 有什麼關於投資我們無法參透的道理,他認為是「運氣在投資成功的結果中所扮演的確切作用」。 鐵路巨擘康內留斯·范德比爾特(Cornelius Vanderbilt)成就斐然,但他幾乎每一筆商業交易都違反法律,不過成敗論英雄,我...
透過 GPIO 來控制 BrightSign 播放器
本文我們來實作可以進行互動的螢幕。怎麼個互動法?這次以兩種為例: 透過 RFID ,刷卡感應後,讓本來循環播放 A 影片的螢幕,改為播放 B 影片。 透過超聲波回聲判斷,人靠近(或手懸浮在感應區域)時,讓本來循環播放 A 影片的螢幕,改為播放 B 影片。 為了達到以上效果,我們這次需要的設備除了顯示器以外還需要: 數位看板播放器(Digital Signage Players),此處我們選用 BrightSign 的 HD225。 感應 RFID 並回傳訊號的傳感設備。此處我們不買現成產品,選用微控制器 ESP-WROOM-32 + RFID 傳感模塊 MFRC522 來土炮一個。 感應超聲波並回傳訊號的傳感設備。此處我們也不買現成產品,選用微控制器 NodeMCU + 超聲波傳感模塊 HCSR04 來土炮一個。 RFID 互動螢幕 我們的邏輯很簡單:RFID 模塊感應讀取輸入,把 ID 傳入 ESP-WROOM-32 判斷,如果是我們要的 ID,則輸出高電平訊號。當 HD225 讀到高電平訊號傳入,觸發後續影像內容。 首先來搞定 RFID 的部分。我們 ESP-WROO...
容器化實務操作,以 Taiko-Web 為例
本篇我們要把一個稍微陳舊的項目 Docker 化,方便沒有 Linux 伺服器的使用者們也可以快速運行服務。 此處我們選用的服務是 2011 就推出,但在 2020 以降才開始紅起來,但也因此被萬代版權方盯上,後來被全網封殺掉的 bui 製作的 Taiko Web。 但開源的力量是無比強大,我早已 fork 了一份備份出來,所以依然保有其原始碼。開源社群的迷人之處就在這裡,你說是吧。 該項目是一個大部分使用 JavaScript 刻出來的網頁版太鼓達人模擬器,其透過前端技術就可以讓用戶流暢地遊玩,十分方便,令人印象深刻。但今天我們不討論其服務內容,本篇我們將著重在將一個運行在 Linux 上的服務給容器化——以便用戶快速自行架設服務,或甚至跨平台運行——的過程。 各位可以一邊對照原作者的 manual setup,一邊看我們 dockerfile 的對應做法,方便理解。那我們開始咯。 安裝過程與重新打包 Installing the requirements 原始的安裝方式為: If you have not already done so, install the above...
