Lin's Blog
|
  • Zh-Tw
  • Ja
  • Posts
  • Categories
  • About
Home

Posts

Deploy an iOS App from Xcode Even When Your iPhone Is Away from Home

In the age of AI, many of us control our home computers remotely and let AI write code while we are out. Web development is easy: connect the computer to Tailscale or WireGuard, and you can open the page and debug from anywhere. Apps are different. App Store review takes days, and even TestFlight takes about half an hour before you can install a build on your phone. No matter how fast AI writes code, you get stuck here. ...

Programming
#IOS #Xcode #WireGuard
October 20, 2026 · 8 min

Same AI Model, Suddenly Dumber? Provider Differences on OpenRouter

I recently used DeepSeek V4.1 Flash on OpenRouter and ran into a frustrating problem: the same model was sometimes smart and sometimes clearly dumb. When it was dumb, it even got the tool call format wrong, or kept repeating the same step without making progress. The model name never changed, yet it felt like a different model. This made me notice something that is easy to overlook: besides choosing a model, which provider actually runs the model also affects the experience. ...

AI
#OpenRouter #OpenCode
October 19, 2026 · 3 min

OpenSearch Memory Alert Fires, Then Recovers: Is It Really Out of Memory?

I manage close to a hundred OpenSearch clusters. A while ago, the heap alert started firing, but only on a few clusters, not all of them. The alert fires when heap usage goes above 75%. On those few clusters, it would recover by itself a few minutes later, and then fire again. At first I was worried that a node was in trouble, so I checked the cluster for problems: Cluster status: Green, no unassigned shards Writes are healthy: Fluentd’s buffer was not piling up and it was not retrying constantly No OOM kills: the pod restart count did not increase, and Last State was not OOMKilled All three were fine, so I opened the heap metric. Heap usage was a sawtooth: it kept climbing, dropped, then climbed again. The alert fired right when it reached the peak, and recovered a few minutes later when it dropped. My first thought was to raise the 75% threshold. But since not every cluster fired, it did not look like a threshold problem alone. What confused me more: the other clusters had the same sawtooth, but they dropped at around 60%, while this one climbed to 80% before dropping. Was its configuration different? Was it busier and short on memory? To answer these questions, I first had to understand how the JVM reclaims memory, especially Young GC. ...

SRE
#OpenSearch #JVM #Prometheus
October 19, 2026 · 5 min

Categories

All Programming AI SRE
© 2026 Lin's Blog · Powered by Hugo & PaperMod