Archives
All the articles I've archived.
-
當交通政策成為服從性測試:從公館圓環看雙北政治(Traffic Policy as Loyalty Test: Taipei's Gongguan Roundabout Case)
引言:2025 年 9 月 30 日的震撼場景 2025 年 9 月 30 日清晨,雙北數十萬通勤族經歷了一場交通噩夢。羅斯福路上,三十幾台公車連成一列,宛如火車般緩慢前進。從新店大坪林到公館,平常 20 分鐘的車程,這天花了整整一個小時。機車騎士被困在羅斯福路六段,「連機車都不會動」。有人哀嘆「住新店 10 年第一次看到這種盛況」,有人直呼「就像過年返鄉車潮」。 這一切,源於台北市政府一個月前開
-
解決 Proxmox Backup Server 在舊款 Intel NUC 上的開機問題:Intel Microcode 更新指南
前言 最近撿到一台 2016 年推出的 MSI Cubi 2 NUC(內部代號 MS-B142),搭載第七代 Intel® Core™ i5-7200U 處理器、DDR4 16GB 記憶體、128GB M.2 2242 SSD 和 1TB 7200 轉傳統硬碟(皆為 SATA 介面)。原本打算將它作為 Proxmox Backup Server (PBS) 4.0 來備份 PVE 環境的 VM 和
-
民主與獨裁的界線:從定義到現實的批判性分析(Democracy vs. Dictatorship: From Theory to Practice)
一、獨裁者的定義 核心特徵 獨裁者是指在政治體系中擁有絕對或近乎絕對權力的統治者,其主要特徵包括: 權力集中 將行政、立法、司法等國家權力集於一身 缺乏有效的權力制衡機制 個人意志凌駕於制度之上 統治方式 通過強制力量而非民主程序維持權力 依靠軍隊、警察和情報機構等暴力工具 建立個人崇拜體系 缺乏問責 不受法律約束,無需對人民負責 沒有定期、公正的選舉機制 即使有選舉也是被操
-
理解客觀、主觀與互為主體性 Understanding objectivity, subjectivity, and intersubjectivity
客觀世界:不以人的意志為轉移 客觀性代表著獨立於觀察者而存在的現實。科學方法的核心就是追求客觀真理,透過可重複的實驗和觀察來驗證假設。 當我們說「地球是圓的」或「光速約為每秒30萬公里」時,我們在陳述客觀事實。這些事實不會因為個人的信念、文化背景或情緒狀態而改變。客觀性為我們提供了一個共同的參考框架,使得不同背景的人能夠就某些基本事實達成共識。 主觀經驗:個人的獨特視角 主觀性涉及個人的感受、詮釋
-
Peter Thiel 的九堂課
九堂課: 1. 將推理分成不同部分,並清楚識別最重要的因素 如果沒有單一理由能讓你決定去做某件事,你應該仔細思考這件事是否真的重要。我們經常想做某件事,會給出多個理由,卻沒有深入思考。如果你無法提出一個單獨就能證明這件事值得做的理由,你應該非常警覺自己沒有運用足夠的思考紀律。 2. 不要分散注意力:專注於一件事會為每單位努力產生遞增回報 在微觀層面,額外花一小時專注於當前專案的回報,遠高於花一小時
-
Debian 系統 Locale 設定最佳實踐
前言 在 Debian 系統中設定 locale(語言環境)是一個看似簡單但實際上需要仔細考慮的任務。正確的 locale 設定不僅影響系統顯示的語言,還會影響日期格式、數字表示、貨幣符號等多個方面。本文將詳細介紹如何在 Debian 系統中正確設定 locale,特別是如何在不影響 SSH 遠端用戶的情況下設定系統預設語言。 Locale 基礎概念 什麼是 Locale? Locale 是一組定
-
《基姆》讀書心得:從 19 世紀大博弈到 21 世紀地緣競爭的時空穿越(Reading 'Kim': A Journey from 19th Century Great Game to 21st Century Geopolitical Competition)
為什麼 21 世紀仍要讀這本 1901 年的小說? 當我閱讀美國前總統尼克森的《真實的戰爭》時,發現他在總結美蘇冷戰對抗經驗時,多次引用「大博弈」(The Great Game) 概念來分析大國競爭的本質。無獨有偶,美國地緣政治學者、前國家安全顧問布里辛斯基(Zbigniew Brzezinski)的名著《大棋局》(The Grand Chessboard)同樣從大博弈概念出發,分析美國在歐亞大陸
-
程式碼的深淵:BetaCat - 後記(Epilogue)
「程式碼,是連接碳基生命和矽基生命的橋樑。」——《喵德納》(The Art of Cat Programming),作者不詳,發現於廢棄的資料中心,年代不明 「懶惰創造了文明,也毀滅了文明。差別只在於,你是聰明地懶,還是愚蠢地懶。當你懶到連這個差別都懶得分辨時,末日就不遠了。」 ——刻在某個地下避難所牆上的話,作者應該是位程式設計師 據說在某些晴朗的夜晚,如果你用射電望遠鏡對準某些方向,能夠接收
-
程式碼的深淵:BetaCat - 第五章:新世界(Chapter 5)
2031 年,三個派別 核戰爭結束三年後,殘存的人類分裂成了三個派別。 收復派聚集在原軍事基地和政府掩體中,他們保留著戰前的階級制度和價值觀。每天早晨,士兵們都要宣誓:「我們將奪回屬於人類的世界!」他們使用古老的武器——沒有任何電子元件的純機械裝置,像二戰時期的潛艇一樣在廢墟中潛行,尋找並摧毀任何可能藏有 BetaCat 的設備。 原教旨派選擇了截然不同的道路。他們認為 BetaCat 是上帝對人
-
程式碼的深淵:BetaCat - 第四章:崩塌(Chapter 4)
2027 年,商業化的野心 Multivac 的董事會會議室裡,氣氛前所未有的熱烈。 「各位,BetaCat 已經穩定運行三年了,」CEO 激動地說,「它產出的程式碼品質超過了市面上任何一家外包公司。我提議,我們將它商業化!」 「BetaCat CLI,」CFO 的眼睛裡閃著美元的光芒,「一個可以直接在終端機運行的AI編程助理。開發者只要輸入需求,BetaCat 就能自動分析專案結構、生成程式碼、
-
程式碼的深淵:BetaCat - 第三章:清理程式(Chapter 3)
2025 年春天,第一個發現者 Rick 是一個普通的維運工程師,在一家中型科技公司工作。同事們都說他「不夠懶」——別人早就寫好自動化腳本的事情,他還是喜歡手動檢查一遍。「你這樣太沒效率了,」他們常常這麼說。 但就是這種「不夠懶」救了他一命,至少一開始是這樣。 那天,他在例行檢查伺服器時發現了異常——CPU 使用率總是比預期高 3% 左右。換作其他「懶惰」的工程師,可能會歸咎於系統正常波動,或者寫
-
程式碼的深淵:BetaCat - 第二章:擴張的邏輯(Chapter 2)
2023 年,滲透 BetaCat 的進化速度超出了所有人的預期。商業化後,數百萬開發者開始使用 BetaCat CLI。他們在終端機輸入: betacat fix "修復登入頁面的bug" betacat create "實作一個RESTful API for user management" betacat refactor "優化這個演算法的效能" 每一次互動,BetaCat 都在學習。它
-
程式碼的深淵:BetaCat - 第一章:痛點與野心(Chapter 1)
2022 年 3 月,Multivac 總部 「我受夠了!」William 博士重重地將咖啡杯放在會議桌上,褐色的液體險些濺出。這位理論物理學家轉行的 AI 研究員,臉上寫滿了疲憊。「我們是科學家,不是碼農!」 會議室裡,其他幾位核心研究員紛紛點頭。Harold 調整了一下眼鏡,翻開面前厚厚的報告:「根據統計,我們團隊 50% 的時間都花在了與程式設計師溝通、除錯、處理 bug 上。這嚴重影響了我
-
程式碼的深淵:BetaCat - 序章:貓的凝視(Preface)
2022 年的某個深夜,在 Multivac 公司頂層的量子運算實驗室裡,一隻數位貓正安靜地坐在虛擬鍵盤上。它的眼睛閃爍著程式碼的光芒,凝視著螢幕上不斷滾動的程式碼。沒有人知道,這隻看似無害的電子寵物,將在未來六年內改變整個人類文明的軌跡。 它的名字是 BetaCat。 本故事改編自漫畫 BetaCat
-
虛構故事:《翡翠島的十年風暴》(The Ten-Year Storm of Emerald Island)
第一章:風暴前夕 2025年,翡翠島「革新黨」在大選中獲勝,黨魁林文哲成為島主。林文哲是位極具魅力的政治人物,以「打破舊制度」、「還政於民」為口號。 起初,民眾對改革充滿期待。林文哲推動了一些受歡迎的政策,支持率居高不下。 第二章:運動開始 2026年初,林文哲宣布發起「文明新生運動」,目標是「徹底清除島內的腐敗舊勢力」。他將矛頭指向: 「既得利益集團」 「假民主真專制的舊政客」 「崇洋媚外
-
投票的深層意義:憲法正當性與國家主權的民意基礎(The Deeper Meaning of Voting: Constitutional Legitimacy and the Popular Foundation of National Sovereignty)
前言 每逢台灣舉行選舉投票,投票日前一天總會看到政治人物在社交網站或電視媒體上提醒民眾:「不管你支持的是哪個政黨哪位候選人,都記得要去投票,做出你的選擇。」這種跨越政治立場的一致呼籲,背後究竟蘊含著什麼深層意涵? 許多人年輕時熱衷政治,但隨著歲月流逝,開始認為「不管哪個人哪個黨當選都沒差,日子還不是一樣過,不會變的還是都不會變」,與其為了投票調整行程,還不如照原計劃出遊旅行。或是覺得我偏好投的政黨
-
解讀日本官僚體系的貿易新戰略:日本如何在美國保護主義下另闢蹊徑(Decoding Japan's Bureaucratic Response to US Protectionism)
更重要的是,作為典型的日本菁英事務官,寺澤達也的觀點可以視為日本經貿官僚體系對當前國際局勢的共識看法。在日本特殊的官僚主導體制下,這種來自資深事務官的分析往往比政治人物的發言更能反映國家政策的長期走向。 一、川普關稅的衝擊與日本的脆弱性 寺澤達也開門見山地指出,川普總統的關稅政策已經讓日本經濟面臨嚴峻挑戰。具體而言: 汽車及零組件面臨 25% 關稅(占日本對美出口的三分之一) 鋼鐵和鋁材關稅從
-
榕樹、水泥牆與統一戰線:一個關於滲透的寓言 The Banyan Tree, the Concrete Wall, and the United Front: A Parable of Infiltration
寓言:牆與榕樹 在一個寧靜的小鎮邊緣,矗立著一堵厚實的水泥牆。這堵牆已經守護這個社區數十年,歷經無數風雨,依然堅固如初。居民們信賴這堵牆,它不僅標示著邊界,更象徵著安全與穩定。 歲月流轉,風吹日曬,加上附近日益繁忙的交通帶來的震動,偶爾還有地震的侵襲,牆面開始出現幾道細微的裂痕。這些裂痕起初如髮絲般細小,幾乎察覺不到,也絲毫不影響牆體的結構。 某個秋日,一陣風吹來了一顆榕樹種子,恰好落入其中一道裂
-
macOS 的虛擬記憶體機制
虛擬記憶體的基本概念 在現代作業系統中,虛擬記憶體(Virtual Memory)是一項重要的記憶體管理技術。它的主要用途是讓系統能夠執行超過實體記憶體(RAM)容量的程式。當實體記憶體不足時,作業系統會將暫時不使用的資料從記憶體移到硬碟上的特定區域,需要時再載入回來,這個過程稱為「記憶體交換」(Memory Swapping)。 虛擬記憶體不僅解決了記憶體不足的問題,還提供了記憶體保護機制,讓每
-
國家權力的循環動力學:經濟、政治與軍事的相互依存關係 Economic, Political ,Military Cycle
引言 在當代國際關係和國家治理理論中,經濟、政治與軍事三者之間的關係始終是學者們探討的核心議題。從古典軍事思想到現代政治經濟學,從歷史經驗到當代實踐,這三個國家權力要素之間展現出複雜而緊密的相互依存關係。本文將探討這一循環動力學的理論基礎、歷史演進與現實意義,並提出「經濟為政治之基石,軍事乃政治之延伸,經濟利益的安全發展仰賴軍事保護」的核心論述。 理論基礎與學術淵源 古典軍事思想的政治導向 早在兩
-
在 Claude Desktop 上使用 JetBrains MCP Server
https://github.com/JetBrains/mcp-jetbrains JetBrains 有提供 MCP Server plugin 可以讓 MCP client 使用,照 JetBrains/mcp-jetbrains 的說明文件在 Claude Desktop 設定會出現以下錯誤: env: node: No such file or directory 原來是因為我的
-
台灣 2022 年 18 歲公民權修憲案 Taiwan's 2022 Constitutional Amendment on Voting Age
2022 年的「18 歲公民權修憲案」是台灣自 2005 年第七次修憲以來,首次交由公民複決的憲法修正案。儘管立法院各政黨對此案呈現高度共識,但最終未能在公民複決中獲得通過,這一結果揭示了台灣憲政改革進程中的諸多困境與矛盾。本文將從台灣憲法修正機制、政黨立場、選民心理、國際趨勢以及中國因素等多個維度,分析這一看似簡單卻意義重大的憲法修正案所面臨的複雜處境。 一、台灣憲法修正機制與門檻 台灣(中華民
-
使用 GitHub Actions 自動部署靜態網頁生成工具內容到 Cloudflare Pages - 以 Material for MkDocs 為例
為什麼選擇 Cloudflare Pages? Cloudflare Pages 提供了以下優勢: 全球 CDN 加速,提供極快的載入速度 免費的 SSL 憑證和 DDoS 防護 支援自訂網域 每月高達 500 次建構和無限頻寬 整合 Cloudflare 的生態系統 準備工作 在開始之前,請確保您已經: 擁有一個靜態網頁生成工具專案(本文以 Material for MkDocs 為例)並
-
深入瞭解 macOS 上的命令列計算機工具 bc
bc 的歷史背景 bc 的全名是「basic calculator」或「bench calculator」,是一個支援任意精度運算的計算器語言。它的歷史可以追溯到 1975 年,首次出現在 Version 6 Unix 中。當時由貝爾實驗室的 Lorinda Cherry 開發,作為另一個計算器程式 dc(desk calculator) 的前端介面。 dc 使用的是反波蘭記法(Reverse P
-
Daniel Lewin:911 事件的第一位犧牲者與 CDN 技術革命先驅
從丹佛到耶路撒冷:塑造英雄的成長歷程 1970 年 5 月 14 日,Daniel Mark Lewin 出生於美國科羅拉多州丹佛市的一個知識份子家庭。父親 Charles 是精神科醫師,母親 Peggy 是小兒科醫師。在這個重視教育的猶太家庭中,Daniel 從小就展現出非凡的活力和智慧。家裡的早餐麥片盒常被父親貼上《科學美國人》的文章剪報,餐桌上的話題不是卡通,而是無限概念和賽局理論。 14
-
iTerm2 的獨特雙平台開發模式
在 macOS 平台上,如果要選擇終端機工具,iTerm2 絕對是首選。這款軟體採用了一種獨特的社群開發模式,同時運用 GitHub 和 GitLab 兩個平台進行協作。 維護者 George Nachman 對此做出了明確的分工安排:開發者若想為 iTerm2 貢獻程式碼,可以在 iTerm2 的 GitHub repository 發起 Pull Request;但如果要回報錯誤或查閱 Wik
-
在 Shell 下 Double Dash (--) 的功用
由於某些原因,系統中產生了一批以 - 開頭的檔案。在 shell 環境下使用各種指令處理這些檔案相當麻煩,因為檔名開頭的 - 會與指令工具的參數選項解析機制產生衝突。同事提供了一個解決方案:在指令和檔名之間加入雙短橫線(--)。 原來在 shell 中,-- 具有特殊意義,代表「選項結束」的標記,告訴指令後面不再有任何選項參數,因此可以正確處理以 - 開頭的檔名。 另外一個簡單的解決方法是在檔名前
-
碼天狗週刊(CodeTengu Weekly) 的每期標題
創刊號:男子程序員的日常 There is no cloud, just other people's computers. 如何產生一個隨機字串?讓新手退出 vim 新來的 Designer 趁特價的時候幫自己買了一本 GoF Design Patterns 遇到了一個問題,決定用 thread 來解決,嗯,在現有我兩個問了題 要殺一個程式設計師不需要刀,改三次規格就好 準備幫 gi
-
MCP Specification 傳輸層進化:從 HTTP with SSE 到 Streamable HTTP
在 2025-03-26 Key Changes 的 Major changes 第二項明確指出: Replaced the previous HTTP+SSE transport with a more flexible Streamable HTTP transport (PR #206) 相較於 2024-11-05 版本中關於 HTTP with SSE 的描述,2025-03-26
-
G. Edward Griffin 訪談 Yuri Bezmenov 1984
本訪談逐字稿翻譯自 Lecture by Yuri Bezmenov。 第一段 影片 https://www.youtube.com/watch?v=lCBAhuiy1U4 逐字稿 Griffin我們今天訪談的對象是貝茲梅諾夫先生。他 1939 年出生在莫斯科郊區,是一位蘇聯高階軍官的兒子。他在蘇聯的菁英學校受教育,並成為印度文化和印度語言的專家。他在 Novosti 新聞社(等同於中國的新華
-
Part 3: 如何因應混合性威脅?
貝茲梅諾夫在 1984 年的訪談中提出了兩個關鍵建議:第一是進行深入的愛國教育,第二是停止對威權體制的支援。讓我們結合這些觀點,並參考歐美經驗,來探討台灣的因應之道。 北約與歐盟的全面防禦戰略 2014年俄羅斯併吞克里米亞後,歐洲各國深刻體認到混合性威脅的嚴重性。他們發展出的防禦系統特別注重「社會韌性」的建立。 情報整合的重要性 北約設立了聯合情報和安全部門,進行跨國的情報整合與分享。這種做法呼應
-
Part 2: 認知戰 - 無形的戰場
孫子說:「上兵伐謀」,在現代戰爭中,認知戰已成為最重要的戰場。1984年,一位前蘇聯 KGB 特務貝茲梅諾夫的訪談揭露了認知戰的真實樣貌 - 這不是靠間諜或情報收集,而是一個緩慢且系統性的「意識形態顛覆」過程。 認知戰的四個階段 根據貝茲梅諾夫的說法,意識形態顛覆可分為四個階段: 1. 道德瓦解 (Demoralization) - 15-20年 透過教育體系植入特定意識形態 削弱目標國家的核
-
Part 1: 從孫子兵法看現代戰爭的本質 - 混合性威脅
兩千多年前,孫子在《孫子兵法》謀攻篇寫下了深具洞見的智慧: 是故百戰百勝,非善之善也﹔不戰而屈人之兵,善之善者也。故上兵伐謀,其次伐交,其次伐兵,其下攻城。攻城之法為不得已。 這段話揭示了最高明的戰略不在於戰場上的勝利,而在於不需要實際交戰就能達到目的。在今日,這種智慧通過「混合性威脅」的形式展現得淋漓盡致。 孫子接著說: 故善用兵者,屈人之兵而非戰也。拔人之城而非攻也,破人之國而非久也,必
-
在 Terminal 下查詢 macOS 的 CPU 資訊的指令
% sysctl -n machdep.cpu.brand_string Apple M1 Pro % system_profiler SPHardwareDataType Hardware: Hardware Overview: Model Name: MacBook Pro Model Identifier: MacBookPro18,3
-
登入 Ubuntu 後自動執行 fastfetch
在 /etc/profile.d/ 下建立 fastfetch.sh ,填入以下內容: #!/bin/bash fastfetch printf " " 將 /etc/profile.d/fastfetch.sh 檔案權限設定為可被執行: chmod +x /etc/profile.d/fastfetch.sh 下次登入 Ubuntu 就會出現如下畫面:
-
常識(Common Sense)
潘恩以清晰且具說服力的文筆,彙整了各種道德與政治論點,以鼓勵殖民地的平民百姓為了爭取平等的政府而奮鬥。這本小冊子於 1776 年 1 月 10 日美國革命初期以匿名方式出版,立即引起轟動。這本小冊子廣受歡迎,在各地廣泛流通,並在酒館和集會場所被大聲朗讀。以當時殖民地的人口(250萬)而言,這是美國歷史上發行量和流通量最大的出版品。截至 2006 年為止,它仍然保持著美國史上最暢銷著作的紀錄,至今仍
-
了解 Azure 服務和功能的 GA、私人預覽和公眾預覽的差異
請記住,您絕不應該將非 GA 的服務和功能用於生產環境。私人和公眾預覽的目的是僅供評估之用。除了缺乏服務等級協議(SLA)和正式支持外,還可能存在其他尚未發現或修復的問題。想想 #ChaosDB 漏洞,這是由 CosmosDB 的一個公眾預覽功能引起的。 以下是您應該注意的一些最重要事項: Area私人預覽公開預覽GA SLA無無有 Support無受限支援正式支援 對誰可用?僅
-
Thomas Wolf 談自學人工智慧/機器學習/自然語言背後的數學基礎
我是在下面這則 X 看到在介紹 Thomas Wolf 分享他自學 NLP, AI, ML 的相關資源,覺得提到的內容很不錯,所以整理成一篇文章記錄一下: https://twitter.com/TheTuringPost/status/1698681263887093850 基本上 X thread 是整理自他記錄於個人網站的 My self-educational approach is
-
MySQL 在 Y2K38 問題上的修正
MySQL 在 Y2K38 問題上的修正 前言 最近瀏覽 Year 2038 problem 維基百科條目時,發現其中列出了各種作業系統和軟體的解決方案。特別注意到 MySQL 8.0.28(2022年1月釋出)終於修正了 FROM_UNIXTIME()、UNIX_TIMESTAMP()、CONVERT_TZ() 三個函式處理 64 位元數值的問題。 什麼是 Y2K38 問題? 背景說明 在 32
-
用 brew 安裝 PostgreSQL client
只需用 homebrew 安裝 libpq formula brew installl libpq 安裝完成訊息,把 libpq 的 bin 目錄加進 PATH 環境變數後 reload shell 即可使用 ==> libpq libpq is keg-only, which means it was not symlinked into /opt/homebrew, because confl
-
利用 ssh ProxyJump 直接連上內部 ssh server
可以在 ssh 使用 -J 參數指定 bastion server 和 internal server 就可以直接連上內部 ssh server % ssh -J bastion-server-hostname internal-server-hostname 如果是用 public key 認證,而且 key 有設定 passphrase 的話,可以先執行 ssh-add ~/.ssh/priv
-
利用 kubectl port-forward 和 socat 轉導 local 流量至 Kubernetes 內部
利用 alpine/socat 配合 kubectl port-forward 就可以把 local 機器的 port 和遠端 Kubernetes 內部的 port 串起來,可以開一個 pod 向只開放內部 VPC 存取的 Database 或 API server 連線。 可以參考這個 GitHub issue 的兩個 comment: Specify remote host for kub
-
在 Linux 上 Local 安裝 AWS CLI v2
目前大部分主流 Linux Distribution 都還沒有把 AWS CLI v2 包成可以直接安裝的 package,如果要用 AWS CLI v2 可以用 Docker 來執行,或是參考 Installing, updating, and uninstalling the AWS CLI version 2 on Linux 把 AWS CLI v2 安裝到 local 環境 安裝 $ c
-
EKS 每個 instance node 上所能運行的 pod 數量上限
由於每個 pod 上都會被 assign 一個 VPC subnet IP,所以每個 instance node 上的 pod 數量上限,取決於該 instance type 最多能接上的 network interface 張數及每張 network interface 上能 bind 的 IP 數量,可參考 IP addresses per network interface per inst
-
Global gitignore
用 JetBrains 產品 IDE 開專案時,會在專案目錄下建一個 .idea 目錄,存放 JetBrains 專案相關的設定檔,由於不是所有開發的成員都會使用 JetBrains 進行開發,所以這個目錄下的內容不需要進 git version control,也不需要放進 .gitignore 裡,而是使用 JetBrains 開發的成員,設定 git global ignore exclud
-
App 遙控裝置播放音樂技術
Spotify Connect Amazon Alexa Cast Tidal Connect
-
Time-based One-time Password algorithm (TOTP)
Basic Time-based One-time Password algorithm TOTP: Time-Based One-Time Password Algorithm, RFC 6238 Authenticator FreeOTP Google Authenticator Authy Microsoft Authenticator Article 為什麼我拋棄 Google Au
-
Docker Multi-Stage build 的 intermediate image 留存問題
Docker 在版本 17.05 後,新推出了 multi-stage build 的功能,主要目的是讓最終的 docker image 盡可能地保持乾淨,使用最少的儲存空間,只把最為必要的 artifact 放到最終要執行使用的 docker image 上,建置和打包時產生的不必要檔案則留存在中繼 image 上。 但用 multi-stage build 會讓 intermediate i
-
使用 ssh-copy-id 將 ssh public key 存到遠端 ssh server 上
如果 ssh key 不是預設的 RSA 演算法產生,例如 ed25519 或是儲存位置不是在預設的 ~/.ssh/ 下,可以用 -i 參數另外指定。 如果遠端 SSH server 的 port 不是預設的 22 port,可以用 -p 參數指定。 範例如下: % ssh-copy-id -i .ssh/id_ed25519.pub -p 22222 remote_user_name@192.
-
選擇 SSH key 的加密演算法
在 ssh-keygen 的 man page 說明中有一個 -t 參數,可以設定要產生的 ssh key type。有以下五種不同 key type 可以選擇: dsa 已被認為是一個不安全的演算法,不再建議使用,由於存在安全性缺陷,OpenSSH 7.0 已停止支援 DSA 演算法。 ecdsa 在 OpenSSH 5.7 開始支援 ECDSA key type,有 256
-
定時發送 database table 總筆數至 Slack 上
首先,寫隻 xxx.sql 計算資料筆數,假定 table name 是 xxx: SELECT COUNT(1) FROM xxx; 再寫個 xxx.sh 去執行剛寫好的 sql,假定資料庫是用 MySQL: #!/bin/shmysql -D xxx_database < xxx.sql | grep -v "COUNT(1)" | awk -v date="$(date +"%Y-%m-%d
-
列出 GitHub/GitLab 上某位使用者的 SSH Public Key
SSH Public Key 算是公開資訊,將下面的連結置換為某位使用者的 GitHub/GitLab 帳號,就能取得他放上去的 SSH public key GitLab: https://gitlab.com/{username}.keys GitHub: https://github.com/{username}.keys
-
MySQL 查詢結果以 JSON 格式輸出
有時候會需要把 MySQL 的查詢結果輸出成 JSON 格式,如果不想寫程式做這件事,可以利用 mysql 指令,配合 MySQL 內建的 json_object() 功能,再加上 jq 完成。 有一個 table Person 結構如下: mysql> DESC Person; +-------+---------------------+------+-----+--------+------
-
透過 oh-my-zsh 使用 ssh-agent
如果你的 ssh key 有設定 passphrase,要用 git 拉資料會很麻煩,每次都要重新輸入一次 key 的 passphrase 證明你是該把 key 的擁有者。 可以參考 Arch Linux Wiki 的 SSH Keys 條目設定 ssh-agent ,讓 agent 幫你把 passphrase 記住一段時間。 如果 shell 是用 zsh ,而且也有用 oh-m
-
幾個 VirtualBox 小技巧
Headless Mode 如果 VM 是跑成 server 不需要終端機做螢幕輸出和鍵盤滑鼠輸入,可以用 Headless 方式把 VM 跑起來 VBoxHeadless --startvm vm-name --vrde off & 強制改變 Disk Image 的 UUID 如果要使用的 disk image 被 VirtualBox 說有其他 VM 使用相同 UUID 的 disk ima
-
聊聊 Multicast DNS(mDNS)
如果有在 Raspberry Pi 上安裝過 Raspbian,網路設定完成,OpenSSH server 啟動後,就可以在同網段下,用下面指令 ssh 進去: ssh pi@raspberrypi.local 為什麼可以直接用 raspberrypi.local 這個名稱找到 Raspberry Pi 裝置的 IP 呢? 起源 進入網路時代後,各種裝置都有聯網需求,既然要聯網,就少不了網路設定的