Underworld - Born Slippy [Trainspotting]
2026年7月18日 星期六
2026年7月11日 星期六
2026年6月21日 星期日
修改ALLM環境變數,改善5分鐘會斷線
用AnythingLLM(ALLM)當前端去呼叫Ollama的LLM model,會出現5分鐘就斷線的問題。當LLM model很大,生成內容的時間超過5分鐘,就會因為用Node.js寫的ALLM預設fetch()是300秒,造成ALLM主動斷線,回傳 HTTP 500。修正方法是:
- sed -i '' "s/OLLAMA_RESPONSE_TIMEOUT='0'/OLLAMA_RESPONSE_TIMEOUT='86400000'/" ~/Library/Application\ Support/anythingllm-desktop/storage/.env
- sed -i '' "s/ANYTHINGLLM_FETCH_TIMEOUT='0'/ANYTHINGLLM_FETCH_TIMEOUT='86400000'/" ~/Library/Application\ Support/anythingllm-desktop/storage/.env
完成之後重開ALLM就可以了。以下說明這兩個環境變數的作用:
2026年6月14日 星期日
手動運行Ollama並看執行的log
在Server上面用下面指令啟動Ollama來當LLM inference server,並且可長長久久運行:
- export OLLAMA_MODELS="/llm/.../ollama/models"
- export OLLAMA_NUM_PARALLEL=1
- export OLLAMA_MAX_LOADED_MODELS=2
- export OLLAMA_FLASH_ATTENTION=1
- export OLLAMA_CONTEXT_LENGTH=65536
- export OLLAMA_KEEP_ALIVE="1h"
- export OLLAMA_LOAD_TIMEOUT=8h
- ollama serve 2>&1 | tee ~/ollama-service.log &
這樣ollama在載入LLM model的時候,相關的log就會存下來。用下面指令看:
2026年6月7日 星期日
2026年5月24日 星期日
用SSH tunnel把內部服務轉到本機上使用
上一篇《SSH用ProxyJump過堡壘機連內部伺服器》 就可以直接遠端登入到躲在堡壘機後面的內部伺服器。這篇介紹要如何把躲在堡壘機後面內部伺服器開啟的服務轉到自己的電腦上,流程說明如下:
- 開一個Ollama服務在內部服務器,預設長在11434 port
- 堡壘機Bastion上可以透過 http://192.168.11.23:11434存取該服務
- 本地電腦與堡壘機的資料傳輸則會透過SSH tunnel來加密
- 在本地電腦用 http://localhost:22434 存取Ollama服務
只要兩個指令就可以完成,再用一個指令驗證:
2026年5月23日 星期六
SSH用ProxyJump過堡壘機連內部伺服器
通常內部伺服器(Server)都不會直接碰到外網,要連線進去會經過堡壘機(Bastion),但這樣就會需要兩個步驟:
- 從外網的機器SSH到外部堡壘機Bastion
- 再從堡壘機SSH到內部伺服器Server
這樣很麻煩,而且有時候只是要透過SSH叫Server做些事情回傳就好。一個解決方案直接從外網透過SSH ProxyJump,就能夠像是直連到Server了。
2026年5月10日 星期日
《よあけのうた》
TVアニメ『呪術廻戦』第3期「死滅回游 前編」ノンクレジットEDムービー/EDテーマ:jo0ji「よあけのうた」|毎週木曜深夜0時26分(24時26分)~MBS/TBS系28局にて放送中!! 1m30s
2026年4月4日 星期六
軟體工程師:21世紀的手織機織布工
手織機織布工(Handloom Weaver)曾經是很大的單一技術工人群體。棉花工業爆發之後,需要熟練的織布工才能從原料轉成產品。而且要織出漂亮花紋的布,不只需要很好的邏輯能力,也需要手腳協調,還要能夠修機器。
現在的軟體工程師,很像200年前19世紀初的手織機織布工(Handloom Weaver),面對動力織布機(Power Looms)的感覺。以下說明當時在英國Lancashire的狀況:
2026年3月28日 星期六
計算檔案sha256的哈希值
在Mac上可用下列指令計算檔案的sha256哈希值
- shasum -a 256 file.tgz > file.tgz.shaa256
- sharum -a 256 --check file.tgz.sha256
第二行是檢查檔案的sha256是不是正確的。如果有多個檔案
2026年3月6日 星期五
2026年2月27日 星期五
慾望之愛
從前從前,有一群自由自在的牛馬,過著逐水草而居的生活。雖然無拘無束,但水草不總是足夠,有時會多到吃不完、有時再怎麼努力尋找也只有草根爛泥,這時扛不住的牛馬就會倒下。這種蕭條似乎是週期性的出現,牛馬們對此束手無策。
有一天,出現了一個跟牛馬長得不一樣的個體:不用四條腿走路,而且也不吃草,最多喝點水。經過一段時間和平的相處,牛馬也逐漸適應。牛馬們為了方便分辨該個體與自己的差別,就用「愛醬」來稱呼。
2026年1月11日 星期日
2026年1月10日 星期六
運行現代文明社會的三個基石
現代社會的前提是有個人必須要有一定程度的生命權與自由權,如果這兩項的不穩定,即便是成功進入現代文明社會,該成果也無法穩定持久。保障了生命權與自由權的前提,要逐步演進出現代社會,還需倚靠下列三項基石:
- 保障個人的財產:大多數個體才有動力致力於創造
- 履行契約的精神:個體之間的交換與合作才有穩固的基礎
- 基於信任的協作:填補契約不完備的部分,將合作內容規模化,並提供與陌生人合作的基礎
2026年1月4日 星期日
Windows 11修改/etc/hosts設定檔
UNIX-like的機器要強制設定IP對應name,可設定/etc/hosts。在Windows 11上面的設定步驟也差不多,只是修改檔案的位置不太一樣。步驟是:
- 用Administrator權限開啟notepad(記事本)
- 開啟資料夾 C:\Windows\System32\drivers\etc
- 右下角要把「文字文件(*.txt)」改成「所有檔案」
- 點開檔案hosts
修改的內容如下範例:
2026年1月3日 星期六
Mac用sudo時用Touch ID掃指紋
在Mac上用終端機terminal打sudo的時候,預設是要輸入登入的密碼。修改 /etc/pam.d/sudo_local ,拿掉下面這行的註解:
- auth sufficient pam_tid.so
這樣在輸入sudo指令的時候,就會跳出下列使用Touch ID的視窗:
2025年12月28日 星期日
讓history可看到指令的日期時間
用 history 看過往下過的指令,預設不會顯示時間。方法是給HISTIMEFORMA,在 ~/.bashrc 裡面增加下面一行:
- export HISTTIMEFORMAT="%F %Z%z %T "
改完之後,登出再登入或是用 source ~/.bashrc
就會出現2025-12-28 CST+0800 01:02:03
2025年10月27日 星期一
讓ls -l或ll的時間戳記顯示年份
用ls -l,或通常alias成ls -alF的指令ll,時間都不會顯是年份。指令可用:
- ls -ld --time-style=long-iso
- ls -alF --time-style=long-iso
2025年8月23日 星期六
Mac用Ed25519創建SSH金鑰並上傳
Mac上面用Ed25519:Edwards-curve Digital Signature Algorithm (EdDSA) ,並選用 SHA-512 (SHA-2) 與 Curve25519,產生256-bits金鑰的指令如下:
- ssh-keygen -t ed25519 -C "COMMENT" -f KEYNAME
這樣會在~/.ssh/下面產生兩個檔案:
2025年8月16日 星期六
裸機 虛擬機 容器
現在要架設網路服務給人用,運行程式的主體有實體機、虛擬機與容器這三種選擇。以個人的經驗,選擇方式如下:
- 裸機:高速運算服務,會把計算資源直接吃光的應用,像HPC
- 虛擬機:Stateful有狀態服務,計算會改變虛擬機內部儲存的資料
- 容器:Stateless無狀態,計算交辦的任務,將運算結果存到其他地方
如果還是不清楚,那用下列方式判別: