Itβs time for my weekly diary. In my spare time, Iβve been diligently tidying up Kubernetes. I spent about 8 hours on these tasks.
Caddy -> Traefik π¦«
I swapped the web server in my Kubernetes cluster. It was Caddy; now it’s Traefik. The main advantage of this switch is that Traefik is more deeply integrated with k3s and Kubernetes. It comes pre-installed out of the box and listens on port 80. Configuration needs to be written in YAML files. We all love YAML files, right? I also tried an intermediate Nginx configuration, but requests were slower on it, even though I was expecting a speed boost.
HTTP requests per second:
- Caddy: 310
- Nginx: 250
- Traefik: 310 βοΈ current status
Pi.dev π¦
I’m actively using a new (for me) program for LLM coding. The app is called pi.dev, and it works in conjunction with the local Qwen 3.6 27B model. The main difference from other programs is context optimization. Its initial System Prompt is very small, almost empty.
Comparison of tokens in the System Prompt:
- GitHub Copilot: 15k
- OpenCode: 10k
-
Pi.dev: 1k
- subagents mode: 4k
The smaller the System Prompt, the more context remains for the task. This is especially important with a local approach because home GPUs are constantly running out of memory. I coded both migrations (Nginx and Traefik) using pi.dev π
Whether there is any benefit to subagents mode β I haven’t decided yet. In theory, there should be, but it often feels like the agent gets more confused in this mode. On the other hand, “simple” mode, where the agent dumps all data into one large context, works more reliably.
I also use a certain hack: all basic Unix-style commands are added to my PATH, even though I’m running on Windows. This allows the LLM agent to work more easily. Also, in pi.dev, the agent can freely run any command without confirmation, so it’s better to stay alert and watch what it’s doing π₯οΈπ§