environment.systemPackages = with pkgs; [ solaar ];
services.udev.extraRules = '' # Allows non-root users to have raw access to Logitech devices. # Allowing users to write to the device is potentially dangerous # because they could perform firmware updates. KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess", OPTIONS+="static_node=uinput" ACTION == "remove", GOTO="solaar_end" SUBSYSTEM != "hidraw", GOTO="solaar_end" # USB-connected Logitech receivers and devices ATTRS{idVendor}=="046d", GOTO="solaar_apply" # Lenovo nano receiver ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="6042", GOTO="solaar_apply" # Bluetooth-connected Logitech devices KERNELS == "0005:046D:*", GOTO="solaar_apply" GOTO="solaar_end" LABEL="solaar_apply" # Allow any seated user to access the receiver. # uaccess: modern ACL-enabled udev TAG+="uaccess" # Grant members of the "plugdev" group access to receiver (useful for SSH users) #MODE="0660", GROUP="plugdev" LABEL="solaar_end" # vim: ft=udevrules '';
之後 rebuild
Solaar 設定 MX Master 3S 拇指滾輪
MX Master 3S 設定打開 Thumb Wheel Direction 跟 Thumb Wheel Diversion:
這算是我自己的習慣,todoist 是我每天會開來看有什麼今天得做的事情的 todo list app,拿來放生活瑣事、做完勾掉通常不會回去翻的待辦事項,像是洗衣服、買日常用品等等。todoist 不放偏向「有目標、維持性或比較像 project」的事情,像是自己的 side project、正在閱讀的書籍等等。
嘗試過用 todoist 來管理 side project,但不習慣在 todo list 寫筆記,而且完成勾掉後預設顯示是隱藏、之後不太會想到到 todo list app 翻筆記。後來改用看板管理這類型的事項,發現用得還算順手,因為我自然而然在兩種模式下開啟「待辦清單」,一是有時效性的「我今天得做什麼?」,二是有段空檔時想知道「最近正在進行些什麼?挑個來繼續吧!」,這兩種模式剛好對應到 todoist 跟看板。另外看板可以讓我知道 side project 整體做過些什麼、打算做什麼、正在做什麼,能比較全面的看到整個 project。
n8n-1 | Origin header is missing n8n-1 | ResponseError: Invalid origin! n8n-1 | at Push.handleRequest (/usr/local/lib/node_modules/n8n/src/push/index.ts:143:10) n8n-1 | at /usr/local/lib/node_modules/n8n/src/push/index.ts:100:10 n8n-1 | at Layer.handleRequest (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/router@2.2.0/node_modules/router/lib/layer.js:152:17) n8n-1 | at trimPrefix (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/router@2.2.0/node_modules/router/index.js:342:13) n8n-1 | at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/router@2.2.0/node_modules/router/index.js:297:9 n8n-1 | at processParams (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/router@2.2.0/node_modules/router/index.js:582:12) n8n-1 | at next (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/router@2.2.0/node_modules/router/index.js:291:5) n8n-1 | at /usr/local/lib/node_modules/n8n/src/auth/auth.service.ts:110:18 n8n-1 | at processTicksAndRejections (node:internal/process/task_queues:105:5)
Perplexity 的 AI 結合 search engine,我在 Open WebUI 上使用起來的感覺比開啟搜尋引擎的其他 AI 好得多,單純 gpt-4 配合 Open WebUI 開啟網頁搜尋常常會出現 error。我還不確定是 Open WebUI 還是 search engine 的問題,目前至少用了 gogoduck 跟 google search engine 都會有 error。
Perplexity 要用 API 至少要有 pro 的訂閱(之前續約手機有送一年的使用 😝),而且也是要儲值才能使用。
Setup
社群上已經有人寫好 function Perplexity Sonar API with citations 了,進到該 function > Get > Import(或者 export 後手動 import) > 輸入 Open WebUI 的 url 來 import 進自己的 Open WebUI > 儲存函式
在 Open WebUI 的管理員控制台 > 函式 > 點函式的齒輪設定函式
Perplexity Api Base Url: https://api.perplexity.ai
Perplexity Api Key:[你的 perplexity api key]
設定完網頁重新整理,在 model 選單就可以看到 Perplexity 的 Sonar 系列 model 囉~
昨天介紹了 ECS Cluster Auto Scaling,今天來看看 ECS service 的 auto scaling。(本日程式碼)
ECS cluster auto scaling 透過 auto scaling group 控制 container instance 的數量來滿足 task 的需求。ECS 會把 CPU 跟 Memory 使用資訊傳給 Cloudwatch,ECS service auto scaling 則是利用這些 loading 資訊自動增減 task 數量,loading 高便增加 task 數量來提供服務,loading 低則減少 task 以節省資源。ECS 是使用 Application Auto Scaling 的功能來做 service 的 auto scaling。