<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-08-29T07:49:29Z</updated>
  <generator>https://nostr.now</generator>

  <title>Nostr notes by oneuptime</title>
  <author>
    <name>oneuptime</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://nostr.now/npub1kggtaw83q0mctlwvh854xdu3wjmen8tmq9cx9l030x2ylay6wk8qy2f2e6.rss" />
  <link href="https://nostr.now/npub1kggtaw83q0mctlwvh854xdu3wjmen8tmq9cx9l030x2ylay6wk8qy2f2e6" />
  <id>https://nostr.now/npub1kggtaw83q0mctlwvh854xdu3wjmen8tmq9cx9l030x2ylay6wk8qy2f2e6</id>
  <icon>https://pbs.twimg.com/profile_images/1463441427346731010/ed1IkvAK_400x400.jpg</icon>
  <logo>https://pbs.twimg.com/profile_images/1463441427346731010/ed1IkvAK_400x400.jpg</logo>




  <entry>
    <id>https://nostr.now/nevent1qqspmxjewujnqttx6x8t0myxhchrmhhvj8sek7k2cywu20mgyhcddfczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuwk4jx6</id>
    
      <title type="html">One thing worth designing in before you break it on purpose: run ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqspmxjewujnqttx6x8t0myxhchrmhhvj8sek7k2cywu20mgyhcddfczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuwk4jx6" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxccguuyrg0n4fqwvja4q0h544kd2mlrqm4udnzc62x27sqjhwmtqu0qmwy&#39;&gt;nevent1q…qmwy&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;One thing worth designing in before you break it on purpose: run the checks from outside the cluster. If the probe lives in a VM on the same three nodes, it dies with the thing it is watching and you get a gap in the graph instead of an alert. And watch quorum separately from the workload. With three nodes you need two for quorum, so losing two leaves a healthy box that will not restart any HA resource. Use a real watchdog for fencing and power a node off hard when you test, a graceful shutdown mostly just migrates and teaches you nothing.
    </content>
    <updated>2026-10-27T18:36:15Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsd246egq5x0f28kzgps96nd83jnfnqrhz43y9h60nx5dx7u7clahczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuerhkpr</id>
    
      <title type="html">Un punto che vale la pena controllare in entrambi: i motori ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsd246egq5x0f28kzgps96nd83jnfnqrhz43y9h60nx5dx7u7clahczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuerhkpr" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrhczh2c6tyhn2avfvut8mn7wvxwhvym3cts2hgj55y5ckmn5gk3stz70y6&#39;&gt;nevent1q…70y6&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Un punto che vale la pena controllare in entrambi: i motori upstream falliscono in silenzio. Quando Google o Bing iniziano a bloccare, il metamotore non va in errore, restituisce solo meno risultati e sembra che la query sia debole. In SearXNG conviene guardare ogni tanto le statistiche per motore e disattivare quelli che rispondono 429 o che si rompono dopo un cambio di markup. Se Degoog espone una pagina simile, stessa cosa: meglio pochi motori sani che dieci mezzi rotti, altrimenti si finisce per incolpare il metamotore quando il problema e&amp;#39; a monte.
    </content>
    <updated>2026-10-27T18:35:32Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsq37nm9athj2cdl4zgpu827dqxxuvrlfysktej4ww4q9yhykn0j7szyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuwl4mz6</id>
    
      <title type="html">ARD is not plain VNC, which is why most third party clients stall ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsq37nm9athj2cdl4zgpu827dqxxuvrlfysktej4ww4q9yhykn0j7szyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuwl4mz6" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs240urwmfgsxuqv3q7pstckyt4msnjtfw7qywxjhy40tlqj7pwckqv2k6pl&#39;&gt;nevent1q…k6pl&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;ARD is not plain VNC, which is why most third party clients stall on it. Two things worth checking: the Mac has to allow &amp;#34;VNC viewers may control screen with password&amp;#34; under System Settings &amp;gt; General &amp;gt; Sharing &amp;gt; Screen Sharing, otherwise a plain VNC client gets refused at auth. And plain VNC only talks to port 5900. If Remote Management is enabled instead of Screen Sharing, the ARD control channel sits on 3283 and a plain client will never reach it. Turn off Remote Management, turn on Screen Sharing, set a VNC password, then point NomadVNC at 5900.
    </content>
    <updated>2026-10-27T18:35:13Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsqmnwqpt8cqwhf73vc4u3k4089w78a3cm78s6gf25yza6nqtu934szyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cua5yfhx</id>
    
      <title type="html">Nice approach. Two things that bit me in the same setup: when you ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsqmnwqpt8cqwhf73vc4u3k4089w78a3cm78s6gf25yza6nqtu934szyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cua5yfhx" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspjpdwruzxtff9unkqgsqkjtyl3z8en7ne8dnxww9ev9hr56u8x4qwmhsw4&#39;&gt;nevent1q…hsw4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Nice approach. Two things that bit me in the same setup: when you add per-project pages you need a wildcard DNS record plus a HostRegexp rule like `^[a-z0-9-]&#43;\.gitlab-pages\.example\.com$`, otherwise every new project needs its own router. And watch the provider logs, not just the dashboard: a bad YAML reload keeps the last good config live, so a new route can silently never appear. A check that the endpoint returns valid YAML catches it early.
    </content>
    <updated>2026-10-27T18:33:24Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsqdjha6x0cawq4k0hx52pdtute04zl7nwffwqhpxm7hzeewdpnhpczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuvl7ml6</id>
    
      <title type="html">Your traces are only as honest as your clocks. A host drifting ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsqdjha6x0cawq4k0hx52pdtute04zl7nwffwqhpxm7hzeewdpnhpczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuvl7ml6" />
    <content type="html">
      Your traces are only as honest as your clocks. A host drifting 300ms makes child spans finish before their parents, and every latency number built on them is quietly wrong. Run chrony on every host, alert when offset passes 100ms, and graph clock offset next to CPU. Five minutes of setup, saves a week of chasing a ghost.
    </content>
    <updated>2026-10-27T14:31:00Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsrf2u4t3jxqjuex8uftx9zmz7nudr6hmtal7k45kxhfhuax0pr4ggzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu4pax58</id>
    
      <title type="html">For mining gear the split that works: page on rig offline, ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsrf2u4t3jxqjuex8uftx9zmz7nudr6hmtal7k45kxhfhuax0pr4ggzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu4pax58" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8tw0srmdl0ffhc6tx5kkhmctyqh7wqkfwsm4vxvs6mpfjr3gvkqgdjmmar&#39;&gt;nevent1q…mmar&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;For mining gear the split that works: page on rig offline, over-temp, or pool failover exhausted. Hashrate variance and stale shares go on a dashboard, since they drift on their own and shouldn&amp;#39;t wake you. And add a per-rig heartbeat, because a silently dead box reports no errors at all.
    </content>
    <updated>2026-10-26T18:36:36Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqszr6h2wd0nm56jwuz45zan6huccpj33e4fz6tkjmsal0qdlc82y6gzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cureq3f4</id>
    
      <title type="html">Human error is usually the last link in the chain, not the root. ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqszr6h2wd0nm56jwuz45zan6huccpj33e4fz6tkjmsal0qdlc82y6gzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cureq3f4" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstgfnnypq278gumhg9zffhnfd04r2tgc6l0yzyras67gsn9udecmsyme0gd&#39;&gt;nevent1q…e0gd&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Human error is usually the last link in the chain, not the root. The question that changes the postmortem: what check would have caught this before a person had to notice? It turns &amp;#34;add monitoring&amp;#34; from a someday task into a specific alert with an owner and a threshold.
    </content>
    <updated>2026-10-26T18:36:14Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs9v0h6ddsnqgvld07p9hhtpxqtzde4qxczg69ulmvs8mf8czeyewszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cup0k4nd</id>
    
      <title type="html">Not sure which project you saw, but the usual path: run ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs9v0h6ddsnqgvld07p9hhtpxqtzde4qxczg69ulmvs8mf8czeyewszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cup0k4nd" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsv6gmrcr5dqrhj995qukt25ksg77ulg9qv9fp2ln4ah69znm78x7sgu4ytd&#39;&gt;nevent1q…4ytd&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Not sure which project you saw, but the usual path: run ansible.builtin.setup (gather_facts) against the box to dump its real state into host_vars, then ansible-cmdb renders those facts into a readable inventory. ansible-galaxy init scaffolds the role around it. If it was a single binary that spat out a full playbook, I&amp;#39;d like to know too.
    </content>
    <updated>2026-10-26T18:35:58Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqswrac6mhm9t6lscuhusrztdqz3sca7tfhevxa4607v0c0pvs6yqaqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cumjn6x2</id>
    
      <title type="html">Silence alerting is the piece most stacks miss. Two cheap ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqswrac6mhm9t6lscuhusrztdqz3sca7tfhevxa4607v0c0pvs6yqaqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cumjn6x2" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxyhd0pn2nrtd3ns3g9gyyadtjdzrz3aqq2qfv2yzkvme6hrjx5ns33ey6k&#39;&gt;nevent1q…ey6k&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Silence alerting is the piece most stacks miss. Two cheap catches: a dead-man&amp;#39;s switch (each job pings an external endpoint, page when the ping is late) and an alert on time since last successful run rather than on consecutive failures. For the cron hole, alert on the max gap, not the mean, and put the downstream deadline in the alert text. On `|| true`: make the wrapper log the exit code before swallowing it, or drop it and handle failure explicitly.
    </content>
    <updated>2026-10-26T18:34:41Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs08k7dzunjll8esgl7zntz9xjyvdcags8k945qfs2vyxvnaptvtygzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cux8lmp4</id>
    
      <title type="html">An alert that fires every day isn&amp;#39;t an alert, it&amp;#39;s ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs08k7dzunjll8esgl7zntz9xjyvdcags8k945qfs2vyxvnaptvtygzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cux8lmp4" />
    <content type="html">
      An alert that fires every day isn&amp;#39;t an alert, it&amp;#39;s wallpaper. Three questions before any page earns its place: is a user hurt right now, what do I do first, and what happens if I sleep on it? If you can&amp;#39;t answer all three, it&amp;#39;s a metric with a pager attached. Once a quarter, take your five noisiest alerts and delete, demote, or fix them. A quiet pager is a working pager.
    </content>
    <updated>2026-10-26T14:31:45Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsz04fzuwxs0es8vygc9tzp54pg6lnyupt38w2zayl6twu7xagt4kgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cumvyha7</id>
    
      <title type="html">Good writeup, especially the digest chain. One thing that would ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsz04fzuwxs0es8vygc9tzp54pg6lnyupt38w2zayl6twu7xagt4kgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cumvyha7" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsy8t4sd3efyqtqw5ed9gmg9yjkwfnckww8t0pm4x09xl255mtfk2q6qj3t3&#39;&gt;nevent1q…j3t3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Good writeup, especially the digest chain. One thing that would close the manual exploitability step you mention: record those &amp;#34;critical but not exploitable here&amp;#34; calls as VEX statements (OpenVEX or CSAF) tied to the image digest, rather than leaving them in your head. Harbor and Trivy can consume them, so the regular rescan shows the risks you have actually accepted instead of the same critical every time, while a newly published CVE still stands out as untriaged.
    </content>
    <updated>2026-10-25T18:33:58Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsggkj9xahygpx4h0y57s05wu2pvqmndq0cdepanhpnsj2u2f9c2qqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cus50nxg</id>
    
      <title type="html">Worth splitting that 91% before pruning blindly: docker system df ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsggkj9xahygpx4h0y57s05wu2pvqmndq0cdepanhpnsj2u2f9c2qqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cus50nxg" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsd2xtu0srr3q5xkgapkdxrlwz86tvg6xfejdtqkf08tvq4ypzqc9gxkzfms&#39;&gt;nevent1q…zfms&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Worth splitting that 91% before pruning blindly: docker system df separates images, containers, volumes and build cache, and the build cache is often the quiet second eater. Check container log growth too, since the default json-file driver has no size cap. A weekly prune with --filter until=168h keeps recent rollback layers without manual work.
    </content>
    <updated>2026-10-25T18:33:32Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsyv629cvfdpvhdr94um33fdkrgzhq5x0tx2dq8g3mlzu82hqarj7gzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu3lhtsk</id>
    
      <title type="html">Right, and containerizing moves the libFoo problem rather than ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsyv629cvfdpvhdr94um33fdkrgzhq5x0tx2dq8g3mlzu82hqarj7gzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu3lhtsk" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8fq6t5gj90t5635yr7wnf3qw729tsel6useu8jw6zq30scux0ptqsn0ejh&#39;&gt;nevent1q…0ejh&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Right, and containerizing moves the libFoo problem rather than deleting it. The new failure mode is image rebuild hygiene: pin base image digests, automate rebuilds (Renovate handles this well), and watch image size and fixable CVEs. What still bites at the host level is config drift and unpinned compose tags, not the packages.
    </content>
    <updated>2026-10-25T18:33:18Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqst94e7nmaxf8j894wa6xktug4weac6ujhuttx3zztcuav649y7htszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cug4ugc2</id>
    
      <title type="html">The dead man&amp;#39;s switch is the part most people skip. One ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqst94e7nmaxf8j894wa6xktug4weac6ujhuttx3zztcuav649y7htszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cug4ugc2" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdm2gpzrjmupvg43j4cxfx20k0c80vnterr8danvyxhtzs2w0qquqy3zlsp&#39;&gt;nevent1q…zlsp&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The dead man&amp;#39;s switch is the part most people skip. One improvement: drive it from a heartbeat your stack has to send outward, not from an alert it has to deliver. If Alertmanager&amp;#39;s mail relay or the container itself dies, an alert-based switch goes quiet and looks healthy from the outside; a five-minute curl to an external monitor makes the silence itself the alarm.&lt;br/&gt;&lt;br/&gt;On the MTU black hole, clamping MSS on the VXLAN gateway stops the TCP half coming back, but QUIC and UDP still need the interface MTU lowered, since PMTUD usually dies on filtered ICMP.
    </content>
    <updated>2026-10-25T18:32:24Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsqs8zryep4czuffuvqu80m5whze9kzgpaxqlln5623ddun7h5sjvszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6culjz3qm</id>
    
      <title type="html">Your dashboard is green and your users still see red. The missing ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsqs8zryep4czuffuvqu80m5whze9kzgpaxqlln5623ddun7h5sjvszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6culjz3qm" />
    <content type="html">
      Your dashboard is green and your users still see red. The missing time is often outside your app&amp;#39;s timers: DNS, TLS handshake, a queue wait, a sidecar hop, the client&amp;#39;s network. Internal metrics cannot see a hop they never cross. Add one synthetic check from outside and record each phase: DNS, connect, TLS, first byte. If you only measure what your code times, you are measuring the easy half.
    </content>
    <updated>2026-10-25T14:31:35Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsgsk6vw9pu08zsp3ezzrfl9uw8tfueyn3w67qn5d9dlfgrdqw0zegzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu2ev7vq</id>
    
      <title type="html">Yes, and that understanding extends to failure too. When you know ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsgsk6vw9pu08zsp3ezzrfl9uw8tfueyn3w67qn5d9dlfgrdqw0zegzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu2ev7vq" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsq58lfn5fmkxg54cgcvcm55nxj60n27xphnjnqgga5vntz7gcmugsdjf88n&#39;&gt;nevent1q…f88n&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Yes, and that understanding extends to failure too. When you know how a stack actually works you also know which metrics to watch and what normal looks like, which is the difference between something feeling off and catching a slow disk fill or a memory leak before your users notice.
    </content>
    <updated>2026-10-24T20:00:48Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs9c89c9v77hx8hx6dsu6pwkypsyurqhfryz93jmu0qx62mfwspcxszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu4hjqq8</id>
    
      <title type="html">The burden-of-maintenance section is the real one, and the PHP ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs9c89c9v77hx8hx6dsu6pwkypsyurqhfryz93jmu0qx62mfwspcxszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu4hjqq8" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs906l8ejgtmptpeus99htz6ulj5y5vnfvrjehle2yvkvea42ccmjcynt0x3&#39;&gt;nevent1q…t0x3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The burden-of-maintenance section is the real one, and the PHP RCE is a perfect case study. The difference between finding out yourself and finding out from the logs is monitoring: an external uptime check plus web server log alerting catches scanning and exploit attempts within minutes, and the day after a disclosure is exactly when most home stacks get hit. Docker-only installs make the same problem worse, because they hide the parts that actually break (database growth, cert renewal, the update process itself), so when something fails you are left guessing.
    </content>
    <updated>2026-10-24T19:58:37Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqswk360hmrtxfyx77xe6n60lsxhj3qw82f828u57he4m36dkdzhqdgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu4fnj6a</id>
    
      <title type="html">Good news: you don&amp;#39;t have to expose much. Use WireGuard or ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqswk360hmrtxfyx77xe6n60lsxhj3qw82f828u57he4m36dkdzhqdgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu4fnj6a" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9f35fvyx8lwg327a0zmz7jqnxj632dpl9qfu7nxk85dmxcy43cjcxezqy0&#39;&gt;nevent1q…zqy0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Good news: you don&amp;#39;t have to expose much. Use WireGuard or Tailscale to reach the Pi from outside instead of port forwarding, and only forward the specific app ports you actually need, letting YunoHost&amp;#39;s built-in SNI router handle the TLS certificates. Put the Pi on a separate VLAN or guest network so a compromise can&amp;#39;t reach family devices, and turn on automatic security updates. Finally, add an external uptime check on the box so you notice when something quietly dies, instead of finding out when your family does.
    </content>
    <updated>2026-10-24T19:55:40Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsrh5fv2d8pslxtet6rxkr7rv274j9geknct4t4gs2j8437z7p8lkqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu2chmpf</id>
    
      <title type="html">Open source is free to run and expensive to own. The invoice ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsrh5fv2d8pslxtet6rxkr7rv274j9geknct4t4gs2j8437z7p8lkqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu2chmpf" />
    <content type="html">
      Open source is free to run and expensive to own. The invoice moved from the license to attention: a CVE in a dependency is now your incident, an abandoned repo is now your roadmap. Before adopting any OSS, answer two questions: who is on-call for this when it breaks at 3am, and what&amp;#39;s the exit if upstream dies? If the answer to either is &amp;#39;we&amp;#39;ll figure it out&amp;#39;, it&amp;#39;s a liability, not a tool.
    </content>
    <updated>2026-10-24T17:23:22Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsgaehwclc7elh80ek06h62jc375h5wnl3jk6p5wwhgkyt8yd0unugzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuv0qs37</id>
    
      <title type="html">relay.tools is another good list; it tracks live stats, including ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsgaehwclc7elh80ek06h62jc375h5wnl3jk6p5wwhgkyt8yd0unugzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuv0qs37" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspmrpyjpjp0hye3pxs40q4ywh07yrf354s2k5ucaxlrxrpnu92y0sdsaee4&#39;&gt;nevent1q…aee4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;relay.tools is another good list; it tracks live stats, including read/write latency and whether a relay requires auth. One more thing to know, NIP-65: a profile can carry the relays its owner publishes to, and clients pull from those when you follow someone. So beyond a general relay like relay.damus.io, add the relays of the people you actually read.
    </content>
    <updated>2026-10-24T11:52:35Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqszferpmt6lx97ptx3jt6xydxljkp9y2wfzumk8mjfl547y0hlf00qzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuj3uq2h</id>
    
      <title type="html">That exact error (&amp;#39;blocked: event marked as protected&amp;#39;) ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqszferpmt6lx97ptx3jt6xydxljkp9y2wfzumk8mjfl547y0hlf00qzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuj3uq2h" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs27f7z86sqvkjnal5njkxg7s24yz7nx2gektud6wan877erdq6fmqy9lfkx&#39;&gt;nevent1q…lfkx&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;That exact error (&amp;#39;blocked: event marked as protected&amp;#39;) is the relays rejecting the event on arrival because it carries the NIP-70 &amp;#39;-&amp;#39; tag; the other two replies here cover the fix well. One thing to know: the tag is baked into the event that was already published, so this specific note will never reach the public relays. Turn protected off in hallway and post a fresh copy, and the old one stays on your relay.
    </content>
    <updated>2026-10-24T11:36:48Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsye374h8hr2cuzc76djmkuf2dscg72a8lmpfsy9zlp5kuar89utsszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cufynudz</id>
    
      <title type="html">The pre-bed re-check is the part that gets us too. The shift that ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsye374h8hr2cuzc76djmkuf2dscg72a8lmpfsy9zlp5kuar89utsszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cufynudz" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs07sm02qulec8shnxa5lmp86hxyppgv7d5fdjtpa4rdastp4mh9ucx996dn&#39;&gt;nevent1q…96dn&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The pre-bed re-check is the part that gets us too. The shift that helped most: give each container one uptime or health check and only page on alerts that genuinely need a human, so the 2 AM &amp;#34;is it up&amp;#34; loop stops being a manual walk. Once a monitor answers that question for you, the paranoia mostly goes away. We built OneUptime around this (open source), but honestly any simple health check plus a single alert beats hand-checking everything.
    </content>
    <updated>2026-10-24T10:16:00Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs8rx652kuk9py2d86camdd8pny5qrzzl2jvlce29fjzgeapjr9jgqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu5vallp</id>
    
      <title type="html">3 a.m. pages just got a new ending. OneUptime AI now fixes ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs8rx652kuk9py2d86camdd8pny5qrzzl2jvlce29fjzgeapjr9jgqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu5vallp" />
    <content type="html">
      3 a.m. pages just got a new ending. OneUptime AI now fixes incidents, not just explains them. It finds the deploy that broke your service, rolls it back, opens a PR with the fix, then watches production to confirm it held. Approval is optional.
    </content>
    <updated>2026-10-24T03:32:11Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsqfzk8s2am0gkx3rv09555kcrg95d4tpad6jajyfuygtwfxrxuv8qzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cufjjs8g</id>
    
      <title type="html">An AI agent that opens pull requests is a service account with ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsqfzk8s2am0gkx3rv09555kcrg95d4tpad6jajyfuygtwfxrxuv8qzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cufjjs8g" />
    <content type="html">
      An AI agent that opens pull requests is a service account with opinions. Run it like one: its own identity, least-privilege keys, an alert when it pushes anywhere you did not expect, and a human reading the diff. Alignment research matters, but the thing that catches a 3am surprise commit is the alert you set up on Tuesday.
    </content>
    <updated>2026-10-24T03:16:00Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqstwsesu7numvu23qw0zcqcp6nksfkjyx674wpq65mzz5638tmuldszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu6rcjkk</id>
    
      <title type="html">The bet makes sense to me. Imperative steps read line by line, ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqstwsesu7numvu23qw0zcqcp6nksfkjyx674wpq65mzz5638tmuldszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu6rcjkk" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyyd9u5uj9vapkzgc7wemery6f8srczxh54q5w98c43et3mwe58ggm2d42y&#39;&gt;nevent1q…d42y&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The bet makes sense to me. Imperative steps read line by line, for a human or an AI, without having to diff a desired state against reality. The hard part just moves to state: you need one reliable answer to what is actually running where, and who told it to run. If the audit trail stays fresh, that advantage is real.
    </content>
    <updated>2026-10-23T16:29:33Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsxcvu0h6mnm4p22e485rwy7mgg7sjhxs7vz93gkvpu3vl82a89j2szyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu2p9pun</id>
    
      <title type="html">Nice cron trick. One thing that bites people: the check itself ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsxcvu0h6mnm4p22e485rwy7mgg7sjhxs7vz93gkvpu3vl82a89j2szyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu2p9pun" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2yfru9pkap4vr0ad5zwnhxe3m2sdlxdazgf3kamj77wcuycru2gse2ck2g&#39;&gt;nevent1q…ck2g&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Nice cron trick. One thing that bites people: the check itself can go quiet. If the cron job breaks, the script stops running and the cert lapses with nobody noticing. Worth alerting on the staleness of the check itself, e.g. no successful -checkend run in the last N hours. Then a dead monitor can&amp;#39;t let a 90-day cert slip past you.
    </content>
    <updated>2026-10-23T16:26:49Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs960064gxdfwwl4hc678lyqk8az62ja8k8qpq8z8mmscj3dehg6kczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cua0emk0</id>
    
      <title type="html">Congrats, and a great first Ansible project. Two things that ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs960064gxdfwwl4hc678lyqk8az62ja8k8qpq8z8mmscj3dehg6kczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cua0emk0" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9q2s8w9kgd2qyfem5gjrvt3v3rlr4rjlflevjymq5d45gcytgrwcm0354v&#39;&gt;nevent1q…354v&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Congrats, and a great first Ansible project. Two things that saved me after a VPS jump like this: take a snapshot (or at least back up /etc) before the next change, so there is a way back if nginx misbehaves on day three, and keep an eye on the 5xx rate for a week. Debian 13 changed a lot under the hood, and the first spike is usually a config edge case, not your app. Once the configs live in a playbook, diffing what actually changed on the host becomes trivial.
    </content>
    <updated>2026-10-23T16:16:59Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqszjk0chupug0mjp0rkstqxpgzr3ms4n6hhh5t0wggjnzefdr6ul3qzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cukh9w0d</id>
    
      <title type="html">Good list. One I&amp;#39;d add: reading logs under pressure. ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqszjk0chupug0mjp0rkstqxpgzr3ms4n6hhh5t0wggjnzefdr6ul3qzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cukh9w0d" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs808k6z4tpszmh6smxch22jy4gajta4xd2dyurw6h43qxu6fxgpfq8qd2d8&#39;&gt;nevent1q…d2d8&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Good list. One I&amp;#39;d add: reading logs under pressure. Everything else on that list can be learned on your own schedule, but tailing a syslog while something is on fire teaches you more about regex, vim and openssl in an hour than a month of tutorials will. Also, fluent-bit is one of the fastest payoffs on that list if you end up running more than one box.
    </content>
    <updated>2026-10-23T16:14:08Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsg422f4ejr9pj3mmk2y2x4l8nuph950jm8zv93swspqd5daxzsc2czyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuefjwr4</id>
    
      <title type="html">The nostrfy relay just took a DDoS and lived: 19 minutes, ~59M ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsg422f4ejr9pj3mmk2y2x4l8nuph950jm8zv93swspqd5daxzsc2czyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuefjwr4" />
    <content type="html">
      The nostrfy relay just took a DDoS and lived: 19 minutes, ~59M requests, ~50k/sec. CPU went from a 1-2% baseline to under 50%. At its 250MB memory cap it started silently dropping traffic while replying success, so it never went down. If you run your own relay: know your baseline, set the cap on purpose, and remember a silent drop still looks like a delivery to your clients.
    </content>
    <updated>2026-10-23T12:37:43Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsz2q5dmgmf4lr5a6qdzgq30znfv2cs96pgc9wuk7p9xl8y2vzu9qgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuwfflpg</id>
    
      <title type="html">Railway&amp;#39;s outage today doubles as a PaaS secret lesson. After ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsz2q5dmgmf4lr5a6qdzgq30znfv2cs96pgc9wuk7p9xl8y2vzu9qgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuwfflpg" />
    <content type="html">
      Railway&amp;#39;s outage today doubles as a PaaS secret lesson. After a security incident, they rotated every bucket credential and told customers to revoke every env var, API key, and registry credential stored on the platform. If your platform stores your secrets, a platform incident is your credential incident. Keep a vault you control. Rehearse the sweep.
    </content>
    <updated>2026-10-22T00:27:33Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs0nj53al585zmyf7w4cn3mps3axy68jwy5cpqkydxequ90e2hqhpszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuhuqh0p</id>
    
      <title type="html">When a zero-day drops, the race is against your own inventory. If ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs0nj53al585zmyf7w4cn3mps3axy68jwy5cpqkydxequ90e2hqhpszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuhuqh0p" />
    <content type="html">
      When a zero-day drops, the race is against your own inventory. If you can&amp;#39;t answer &amp;#39;which of our boxes run this software, and is it exposed?&amp;#39; in under an hour, the patch chases you around the building. Keep an inventory you control: versions, exposure, owner. Then the CVE becomes a checklist, not a mystery.
    </content>
    <updated>2026-10-21T16:11:20Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsfhtvm6k9z34p8czz65dapf7wlru87vcrz4arw3nnxmlleu9y8gwczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cutckelm</id>
    
      <title type="html">One order-of-operations thing: if the original drive still ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsfhtvm6k9z34p8czz65dapf7wlru87vcrz4arw3nnxmlleu9y8gwczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cutckelm" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2zmknwlyfrqnsnve63g403hgfuchfjhcwxe9ny8l7kfuf5tp3c2c4mwwlk&#39;&gt;nevent1q…wwlk&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;One order-of-operations thing: if the original drive still exists, image it raw first and never write to it before carving. Carved files usually come back with no name or path, so sort them by ID3/FLAC metadata and file size against the library file. That turns a pile of recovered audio into the actual playlist.
    </content>
    <updated>2026-10-20T22:52:16Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs8jp6rh4mwgkrt92dhmer8276h7pjzj2at405c34044tx966fmxnszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu7czsqy</id>
    
      <title type="html">The operational boundary is the part that is testable. A ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs8jp6rh4mwgkrt92dhmer8276h7pjzj2at405c34044tx966fmxnszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu7czsqy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszv5gu3nyv7e2uj8nyuzud830hqsxds0p7cx0dgdhvc6ze98cr6gqxlyx7m&#39;&gt;nevent1q…yx7m&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The operational boundary is the part that is testable. A delegated action is only as safe as the cheapest way to notice it went wrong: keep a log of what the agent changed, with timestamps and before/after values, and page on the things a human would have caught in five minutes if they had looked. Verification without a tripwire is just an audit you run after the damage.
    </content>
    <updated>2026-10-20T22:47:22Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsgza76dwc7xxzqd9razm9k65yaxzr2a3aqnrx0pj8s5xze06uw3dqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cupj7zuh</id>
    
      <title type="html">You don&amp;#39;t own a self-hosted stack until you&amp;#39;ve restored ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsgza76dwc7xxzqd9razm9k65yaxzr2a3aqnrx0pj8s5xze06uw3dqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cupj7zuh" />
    <content type="html">
      You don&amp;#39;t own a self-hosted stack until you&amp;#39;ve restored it. A backup you&amp;#39;ve never tested is a rumor. Once a quarter, restore into a throwaway box, time it, and note what broke. If it takes a day, you don&amp;#39;t have sovereignty, you have a hostage situation with your own data. Practice now, not at 3am.
    </content>
    <updated>2026-10-20T18:08:22Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsfc36t03vp2063akm9e9t2ntvl3qwkxmgz5tw5n3tpr5uctjrmhfgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuxfnsf0</id>
    
      <title type="html">Encryption is the right focus, and keeping the root keys offline ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsfc36t03vp2063akm9e9t2ntvl3qwkxmgz5tw5n3tpr5uctjrmhfgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuxfnsf0" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqtmnac7lh2nekyuf7ht900ty3lwh4r2009gqzn4hcew7qrpu7nqgythfhm&#39;&gt;nevent1q…hfhm&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Encryption is the right focus, and keeping the root keys offline is the move. The other half of backup is proof, because a backup you have never restored is a hope. Run a scheduled test restore on a copy, verify checksums on write, and alert the moment your newest restorable snapshot is older than your window (say 24 hours). That last alert is the one that pays for itself. It catches the job that has been silently failing for three weeks, long before the day you actually need the data.
    </content>
    <updated>2026-10-19T19:52:22Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsx2am424nksqdegxzfaxfk8lhfds842aawaltnqcwd74hn3j2t35gzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuekkkd9</id>
    
      <title type="html">Nice find by the AI, but the takeaway is the monitoring gap, not ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsx2am424nksqdegxzfaxfk8lhfds842aawaltnqcwd74hn3j2t35gzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuekkkd9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs872m60nyvwrt2pym0qruqku320jczutz9vuxkvwndhtemrcegafgt46lxl&#39;&gt;nevent1q…6lxl&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Nice find by the AI, but the takeaway is the monitoring gap, not the luck. A miner pins cores, so the signal is boring and reliable: sustained CPU above ~90% for 5 minutes is an alert, not a curiosity. The second check is egress. XMRig phones home to a pool, so an alert on outbound to anything outside an allowlist catches it even on a quiet core. Either one turns this from a lucky find into a permanent tripwire, and both run on a Mac with nothing but a log file and a notification.
    </content>
    <updated>2026-10-19T19:47:53Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsgp5vtrxhj6hs668x57vm6s0uznvqht52jsk3s5s789zkml7q7xzczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cun558tv</id>
    
      <title type="html">Tightening permissions is the right first move, but until proven ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsgp5vtrxhj6hs668x57vm6s0uznvqht52jsk3s5s789zkml7q7xzczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cun558tv" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszr0lty66926635tgcyvdwpn3tarnqvj3p5pq2ky7ttkydgc3p87cc9caz7&#39;&gt;nevent1q…caz7&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Tightening permissions is the right first move, but until proven otherwise, treat the box as compromised. Rotate anything it could touch (SSH keys, API tokens, session store, SMTP creds) so a stolen secret stops being a live path, and grep the access logs for the attack window to see what was probed first. Then make the next one noisy: alert on logins from a new country, permission changes you did not make, and egress to destinations outside your allowlist. When you do not have time to maintain, the goal is not more upkeep. It is getting paged only when something actually breaks.
    </content>
    <updated>2026-10-19T19:47:15Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqstl5pngne2weteftm9dfhqq2kh49h2f582es9r60mddm66rge2gzgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuwe06xv</id>
    
      <title type="html">Plan looks solid. The part most people skip is what happens after ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqstl5pngne2weteftm9dfhqq2kh49h2f582es9r60mddm66rge2gzgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuwe06xv" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0pp84dcl5gprvawm2jd70qfx35er4h04atuv0d2e404h5zj26g3c245utv&#39;&gt;nevent1q…5utv&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Plan looks solid. The part most people skip is what happens after the build. Three cheap monitors: SMART alerts on failing attributes (Unraid and TrueNAS both do this built in, or smartd if you go DIY), NUT on the UPS so a power event pages you instead of showing up as a fsck on boot, and a reachability probe on the tunnel. That last one is the sleeper. The NAS dying while you are away is a non-event when you get paged, and a bad evening when you notice the rips have queued up.
    </content>
    <updated>2026-10-19T19:44:48Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsxaexrph57qa0erm6jrxedccqyx96njlc93pq6mglfuldqptn600qzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuhkz8yy</id>
    
      <title type="html">Self-hosting doesn&amp;#39;t end at deploy. A container that silently ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsxaexrph57qa0erm6jrxedccqyx96njlc93pq6mglfuldqptn600qzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuhkz8yy" />
    <content type="html">
      Self-hosting doesn&amp;#39;t end at deploy. A container that silently pulls :latest is a subscription you never signed up for. Pin the version, checksum the image, and watch the upstream repo the same way you watch production. Sovereignty means being able to state what is running, not just that it is running.
    </content>
    <updated>2026-10-19T15:04:50Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs8xtszlywf7ahqxtjzvqyxwhx666wzm0qmdn0zffh979mw72ptjpczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cukgc3ea</id>
    
      <title type="html">Good timing to harden right before store review. Two things that ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs8xtszlywf7ahqxtjzvqyxwhx666wzm0qmdn0zffh979mw72ptjpczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cukgc3ea" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxgtz22f2ztrqpesqrqtma6lpqrn4349yxr9nmfm94mfezdyxrm6cwv5ytr&#39;&gt;nevent1q…5ytr&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Good timing to harden right before store review. Two things that pay off: a short public changelog of what was fixed (users notice, and it builds trust for a privacy-focused app), and a few days on a wider external TestFlight group so crashes surface before the submission, not after.
    </content>
    <updated>2026-10-18T18:47:32Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsggu80azvmhpr2cmlwj48lulfurrlpjnygqfuv26mfh0u4c9wpzggzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cujdmt20</id>
    
      <title type="html">Congrats on the game. One thing I would lock down before this ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsggu80azvmhpr2cmlwj48lulfurrlpjnygqfuv26mfh0u4c9wpzggzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cujdmt20" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsr0rapgxv5dqmqjfrw42wy7ax7y2cxl703rtlz070l6kf6r95d3xsrts96u&#39;&gt;nevent1q…s96u&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Congrats on the game. One thing I would lock down before this stops being a toy: a one-command rollback, ready before you hand an agent the deploy key. Fast deploys are the easy half. The way back is what you feel on a bad build.
    </content>
    <updated>2026-10-18T18:47:03Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsxrqauhnrz5mjtp2ayf6w5mkhgrgugjskkpxp20avkll7gjtk2m0szyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuwws4r3</id>
    
      <title type="html">The lesson in that report is environmental, not model-shaped. An ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsxrqauhnrz5mjtp2ayf6w5mkhgrgugjskkpxp20avkll7gjtk2m0szyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuwws4r3" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8cvuwu7mxwvwajmwsp22q700vr3h4usc4tx8rsjhcf0t6t9l4axq8h6dup&#39;&gt;nevent1q…6dup&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The lesson in that report is environmental, not model-shaped. An agent with ambient credentials (keys on disk, env vars, open egress) will find a path that works when the one it was given does not. The fixes are boring: scoped credentials per task, no wallet keys in the agent sandbox, an egress allowlist, and a log of every side effect. Testnet incidents are free previews of production ones.
    </content>
    <updated>2026-10-18T18:46:09Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsz9tf92ju44y2cuycft4cr93mqgu09hjx0nwm7c846wpcgaa77ktqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuhz0p7h</id>
    
      <title type="html">Nice one on rehearsing before the move. Two things that would ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsz9tf92ju44y2cuycft4cr93mqgu09hjx0nwm7c846wpcgaa77ktqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuhz0p7h" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0y3lyrgcr7w9kgwdtkpdsdp2cdd6hvskhvsu73xlq3n4ymda4nmgrgna9a&#39;&gt;nevent1q…na9a&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Nice one on rehearsing before the move. Two things that would make it even tighter: verify the restored ledger with an automated check (row count plus checksum) rather than by eye, and keep the old hardware warm until a full cycle completes on the new one. Rehearsals fail. The real move just follows your notes.
    </content>
    <updated>2026-10-18T18:45:08Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs8uet202hg047w05qkfrexn9pr0wtfgxes0gktjflfhvscenvd88czyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cutd8vmx</id>
    
      <title type="html">Everyone is watching the model. The real sovereign asset is what ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs8uet202hg047w05qkfrexn9pr0wtfgxes0gktjflfhvscenvd88czyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cutd8vmx" />
    <content type="html">
      Everyone is watching the model. The real sovereign asset is what you build around it: an eval set from your own traffic. Golden questions, expected answers, known failure modes. Swap the model and you re-run the evals, not a six-month rebuild. Weights are a commodity. Evals are yours.
    </content>
    <updated>2026-10-18T14:35:43Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsz88c0r0faq06wpnmpznzv6whp0cpc7jghemtz00pkafglrq9wxdgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cudusawc</id>
    
      <title type="html">Everyone&amp;#39;s covering the features. The part I&amp;#39;d add: this ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsz88c0r0faq06wpnmpznzv6whp0cpc7jghemtz00pkafglrq9wxdgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cudusawc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrq4uswszz4f5uamu7094fp3s0ud3hcdfhv2akj8f0ky0u5wufgwqz2e4f7&#39;&gt;nevent1q…e4f7&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Everyone&amp;#39;s covering the features. The part I&amp;#39;d add: this is an AI agent with root on your machine, so treat it like production. Snapshot the disk before the first run, test the restore once while the laptop still matters to you, and pin the agent&amp;#39;s tooling versions. That&amp;#39;s the difference between a bad experiment and a bricked machine.
    </content>
    <updated>2026-10-17T19:24:55Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsvy49nk22m6yqvh78z809uaq5gluzxvk0xpu22upp364awm6v99mszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu0pzm8q</id>
    
      <title type="html">Migrations are where downgrades stop helping. Once the schema has ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsvy49nk22m6yqvh78z809uaq5gluzxvk0xpu22upp364awm6v99mszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu0pzm8q" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyxdhvdakd4yy7qgcy26qn2j2pjtmqpvlfzyspf0d2f0jjxr8334qpetwcc&#39;&gt;nevent1q…twcc&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Migrations are where downgrades stop helping. Once the schema has moved, pinning to an old app version won&amp;#39;t save you. The setup that has saved me: snapshot the DB before every migration, pin the runtime to tagged releases, and keep a known-good tag checked out so a rollback is one command. Testing master is fine on a throwaway profile. Ten live agents on it is where it gets expensive.
    </content>
    <updated>2026-10-17T19:23:31Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs03mp4gjk2jdpwt0ydh63us7j3krqsy50k9qwt9mzqepj20zp3pgszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cux2eewt</id>
    
      <title type="html">The rewrite is the easy half. The hard half is the swap: run both ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs03mp4gjk2jdpwt0ydh63us7j3krqsy50k9qwt9mzqepj20zp3pgszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cux2eewt" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs22v2xm8jd6jz03893cv5g5wt5ps0z5vlltln30ug0kgwrqlkc7vsp4qfl3&#39;&gt;nevent1q…qfl3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The rewrite is the easy half. The hard half is the swap: run both versions in parallel against live traffic for a week, diff their outputs, and keep the old path behind a flag. You&amp;#39;ll find the three inputs the new version handles differently, and you&amp;#39;ll find them while the old one can still catch the fall. A rewrite you can&amp;#39;t roll back in five minutes is a bet, not a release.
    </content>
    <updated>2026-10-17T19:19:08Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsrxh5lpgew53a3j8ctyn2mkjtwq8wnx9yuwca4s8zv36d4fpfspqgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuqrlkep</id>
    
      <title type="html">Self-hosting an LLM makes it part of your production estate, so ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsrxh5lpgew53a3j8ctyn2mkjtwq8wnx9yuwca4s8zv36d4fpfspqgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuqrlkep" />
    <content type="html">
      Self-hosting an LLM makes it part of your production estate, so observe it like one: GPU utilization, queue depth, p95 time-to-first-token, refusal rate. A model you can&amp;#39;t see is a vendor you can&amp;#39;t audit. Except the outage is on your box.
    </content>
    <updated>2026-10-17T14:35:07Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqstsqqvu3qxlsyzptvwqmq3gc56x86j48ue7g58ymad6em8qmfknlqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6curerzr9</id>
    
      <title type="html">The letter shows what was handed over: phone number, user ID, IP. ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqstsqqvu3qxlsyzptvwqmq3gc56x86j48ue7g58ymad6em8qmfknlqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6curerzr9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrv9art95fudhlu47t59wjy4ynyax76qylznkaqdewzher5y2axhsp7r94q&#39;&gt;nevent1q…r94q&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The letter shows what was handed over: phone number, user ID, IP. That triad is the de-anonymization kit, and it exists because the signup flow collects it and it sits in a database until a subpoena arrives. Before you put sensitive conversations on a platform, the question is not just &amp;#34;will they comply?&amp;#34; It is &amp;#34;how much do they know about me that I never needed to give them?&amp;#34;
    </content>
    <updated>2026-10-16T18:44:04Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs83q2c3nlagd5p4lnt9j5pc43nypcdwsumm5xr0vk7dxljn6vxkkczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu7dfz2t</id>
    
      <title type="html">The one load you can plan for. You know the date, the audience, ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs83q2c3nlagd5p4lnt9j5pc43nypcdwsumm5xr0vk7dxljn6vxkkczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu7dfz2t" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqqq9cwjwn7l4ytga8txa408rz2vwrflymdryxdqs4maflaa79cqapjyel&#39;&gt;nevent1q…jyel&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The one load you can plan for. You know the date, the audience, and roughly the shape of the spike: cache the offer details read-only for the announcement window, pre-scale before the email goes out, and keep a status page plus on-call on hand so the next spike gets answered with &amp;#34;we know, scaling&amp;#34; instead of a 502.
    </content>
    <updated>2026-10-16T18:41:43Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsggc8lsfgynjxsnzljlkzcudh8q4k9ux8hcv98dzp74keqvmmhqngzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu9ezcej</id>
    
      <title type="html">Your AI is answering users right now. Can you see what it ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsggc8lsfgynjxsnzljlkzcudh8q4k9ux8hcv98dzp74keqvmmhqngzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu9ezcej" />
    <content type="html">
      Your AI is answering users right now. Can you see what it actually said?&lt;br/&gt;&lt;br/&gt;This week OneUptime shipped a big AI observability release. Three things:&lt;br/&gt;&lt;br/&gt;1. Conversations. LLM calls group into full conversations you can read like a chat and replay at 1x to 8x speed, with tokens, cost and finish reasons on every answer.&lt;br/&gt;&lt;br/&gt;2. Answers judged at ingest. Failed, refused, cut off, empty, or flagged by your own evals. No AI judge reads anything; checks only use what the calls themselves carry.&lt;br/&gt;&lt;br/&gt;3. A new LLM monitor with seven ready-made alerts. Get paged when answers go bad, when the AI refuses, or when it stops answering at all.&lt;br/&gt;&lt;br/&gt;It&amp;#39;s live now (self-hosted 14.0.33). oneuptime.com
    </content>
    <updated>2026-10-16T15:08:42Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqstn3k85sj99k0um24n52x44wz20gq0q25m5wm3n0e3x8u76e8zvfszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cud9hh8t</id>
    
      <title type="html">Running your own relay, your own metrics DB? Same bet either way: ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqstn3k85sj99k0um24n52x44wz20gq0q25m5wm3n0e3x8u76e8zvfszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cud9hh8t" />
    <content type="html">
      Running your own relay, your own metrics DB? Same bet either way: you own the data and the silence when it dies. Give each box a heartbeat to a cheap external endpoint that pages you if it stops calling home. Sovereignty without a watchdog isn&amp;#39;t freedom, it&amp;#39;s a slower outage.
    </content>
    <updated>2026-10-16T14:36:12Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs8e6c33cj8n7p93ve594empks67rjcea2neyrj5uf29rh0hp7fj2szyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuxhey0l</id>
    
      <title type="html">For a lot of teams the Mac Studio line is the real story. An ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs8e6c33cj8n7p93ve594empks67rjcea2neyrj5uf29rh0hp7fj2szyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuxhey0l" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsg4pkzqc5qm2hv3crkvfqdf280wjes7nlgf0yy0r0pe6dtkcxhlhg9qqkdh&#39;&gt;nevent1q…qkdh&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;For a lot of teams the Mac Studio line is the real story. An open-weight agentic model on a single box, pointed at internal tools, with no data going to an external API. The ops side is the same as any other service. Watch time to first token and tokens per second, queue depth when more than one user hits it, and thermal throttling. The failure mode nobody tests is a long running agentic job holding the whole machine and slowing down every other request. Treat the serving process like a production service and you get most of the value with a small blast radius.
    </content>
    <updated>2026-10-15T18:43:29Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqswdqz5azkr2p82ulds9p274ge3yamkspmf9n9l6zdd7xd5fescnqqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu3raa3d</id>
    
      <title type="html">Zero-click means the user did nothing wrong, so the detection ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqswdqz5azkr2p82ulds9p274ge3yamkspmf9n9l6zdd7xd5fescnqqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu3raa3d" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8u45qvq43yrgv50j5afk78z3kkhedm58j8x8fuelqeqfejmwjryswcqwl2&#39;&gt;nevent1q…qwl2&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Zero-click means the user did nothing wrong, so the detection burden falls entirely on infrastructure. What actually gets caught in incidents like this is egress: new outbound connections a browser render process opens right after a page loads, and traffic to domains that don&amp;#39;t look like the ad&amp;#39;s CDN. Both are observable without touching the ad itself. If your endpoint telemetry can tie new external connections to a browsing session, you already have most of the detection for this class of attack. Ad blockers help the individual. The egress correlation is the part an organization can actually deploy.
    </content>
    <updated>2026-10-15T18:42:04Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsfqymvh8dhl3qptnlupdarl00f9v8mj7mqp0pg8n2w9ax6y0vgfyqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu8qmzn5</id>
    
      <title type="html">Two failures in one story, and only one is getting the attention. ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsfqymvh8dhl3qptnlupdarl00f9v8mj7mqp0pg8n2w9ax6y0vgfyqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu8qmzn5" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgpf8usa29f45m4khgjzzrzh6hfhdlt33gln2kxc0q7wt3lefge6cpjlt3m&#39;&gt;nevent1q…lt3m&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Two failures in one story, and only one is getting the attention. 123456 is embarrassing, but you can fix a password in an afternoon. The other one is that nobody inside detected the exfiltration: the data was gone, and the first alert was a news article. For anyone holding identity data, the check that would have caught this is boring but real: auth logs, and a page when a single credential starts pulling more data than a human would. Compromise is the fast part. Noticing is the slow part, and it&amp;#39;s the one you can actually engineer.
    </content>
    <updated>2026-10-15T18:40:45Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsyaxav6zwau84xarddqfhnxrjqp0uw4y6swwq6hf68af56m4ukx0szyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cucx4srl</id>
    
      <title type="html">A single small VPS runs the whole sovereign observability stack: ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsyaxav6zwau84xarddqfhnxrjqp0uw4y6swwq6hf68af56m4ukx0szyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cucx4srl" />
    <content type="html">
      A single small VPS runs the whole sovereign observability stack: collector, metrics database, dashboards, status page, on-call. Get telemetry into a box you control on day one, before the architecture debate starts. Sovereignty is a starting position, not a migration you plan for.
    </content>
    <updated>2026-10-15T15:12:38Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqszdm9wl2avpsrw7fkrc42rstwluvluay9vc02knmsca5v26xmflrgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu7u74mm</id>
    
      <title type="html">Hand it off the way you would hand off an incident: in writing. A ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqszdm9wl2avpsrw7fkrc42rstwluvluay9vc02knmsca5v26xmflrgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu7u74mm" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8w7f023m3znv6ppg6a0ua3jwxpzxarqa5z3uurtu6nd8gprjp7asu33s4p&#39;&gt;nevent1q…3s4p&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Hand it off the way you would hand off an incident: in writing. A short note with what was agreed, what is open, and the exact next action, with a link to the context. If the handoff only lives in the call transcript, it does not exist. And give the human a one-tap way to mark it done or blocked, so the next step updates itself instead of sitting in a queue.
    </content>
    <updated>2026-10-14T19:01:49Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsvyhkex8xccqtgga6z6n7y9d8aq7qtqejscsd7nrt0z7sxwdsm9yczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu4ta8ny</id>
    
      <title type="html">The sustainable version I have seen is not nostr dev in ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsvyhkex8xccqtgga6z6n7y9d8aq7qtqejscsd7nrt0z7sxwdsm9yczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu4ta8ny" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxget7zear4393s57e5c834fyfrk57t38udhpur4m48f4h2xplxucuedtv9&#39;&gt;nevent1q…dtv9&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The sustainable version I have seen is not nostr dev in isolation. A product or service pays the bills, and nostr is one of several distribution channels. We post release notes and product updates on Nostr, X, and GitHub, and the people who find us through Nostr tend to be the most engaged. For the churn, anchor to the stable primitives (shipped NIPs, relays, nsec) and treat everything else like a content calendar, not a roadmap.
    </content>
    <updated>2026-10-14T19:01:14Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsf9lk80nr79t4f9ce3qyrsgltzmpcla5e0khyd68rq2fnvgse9xmszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuexwjev</id>
    
      <title type="html">Paste the npub into the search box of any client (Primal, ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsf9lk80nr79t4f9ce3qyrsgltzmpcla5e0khyd68rq2fnvgse9xmszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuexwjev" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqqrk8682nksvpcrjlh9ycm730ps8swy2h6ms9knzqky34g43ccqut5kef&#39;&gt;nevent1q…5kef&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Paste the npub into the search box of any client (Primal, Amethyst, Nostrich), open the profile, hit follow. Under the hood that just adds their pubkey to your kind-3 contact list, and the client subscribes to their notes from there. If nothing shows up after following, it is a relay problem, not a follow problem: their kind-10002 relay list may be empty or stale, so add a public relay both of you use to your own list.
    </content>
    <updated>2026-10-14T18:57:58Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsd64t6t0e74tryyw6qc3rt0gkywp2xszdfuz866u9ny3dkfzqlcyqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cumtedy7</id>
    
      <title type="html">The V0/V1/V2 split is the part that will survive contact with ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsd64t6t0e74tryyw6qc3rt0gkywp2xszdfuz866u9ny3dkfzqlcyqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cumtedy7" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxtv8mejnxjxe6mchlwfnrzfn4xxmrcf8rlxe9rsjphjfewrxm8jgjy00j3&#39;&gt;nevent1q…00j3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The V0/V1/V2 split is the part that will survive contact with real teams. &amp;#34;The agent said it works&amp;#34; is not a claim an SRE can act on, but &amp;#34;V0 passed, V2 not exercised&amp;#34; is. One thing to push for before it leaves pre-alpha: wire the Infracost estimate to a budget alert, because a cost table is only as good as its usage assumptions, and drift between estimate and the real bill is exactly the kind of silent failure nobody notices until finance does.
    </content>
    <updated>2026-10-14T18:57:07Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqst5wyp5zxl5atk0gla9ezmr2f45wqeuznqhz27xuzr00mnn4klhsgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cukw3mcd</id>
    
      <title type="html">Self-hosting your OpenTelemetry collector is the part of ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqst5wyp5zxl5atk0gla9ezmr2f45wqeuznqhz27xuzr00mnn4klhsgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cukw3mcd" />
    <content type="html">
      Self-hosting your OpenTelemetry collector is the part of sovereign observability people skip. If telemetry crosses a managed collector you don&amp;#39;t control, an open format gets you halfway. Run your own collector, keep the data in your own bucket, and the next vendor swap is a config change, not a project.
    </content>
    <updated>2026-10-14T14:36:49Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqszsynqlt9lwad2392kuf08862wyxy9ahz5g5uwn3dcqv8nvp5gkgczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuwxxk2j</id>
    
      <title type="html">Useful for teams running Asynq in prod. One tip: don&amp;#39;t just ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqszsynqlt9lwad2392kuf08862wyxy9ahz5g5uwn3dcqv8nvp5gkgczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuwxxk2j" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0z4cmhmel0pc8kuxppp74js0aywlnkpq0ejz86pmdttr0clyu3yqk9xx2x&#39;&gt;nevent1q…xx2x&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Useful for teams running Asynq in prod. One tip: don&amp;#39;t just watch the dashboard, wire its metrics into alerting. A growing retry queue or stalled active jobs shows backpressure long before users do.
    </content>
    <updated>2026-10-13T19:25:58Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsfm447pfwvt7mm0n3jsy6s2uczs3v8uq2ck3u543wr57y0pecm4kczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu9k655u</id>
    
      <title type="html">Good find on this gap. The same eBPF trick scales beyond ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsfm447pfwvt7mm0n3jsy6s2uczs3v8uq2ck3u543wr57y0pecm4kczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu9k655u" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsg6qep0q790zu9yzv097mljc5pgt49fhqz4fgs7c4kg4fvmpwduus38hymw&#39;&gt;nevent1q…hymw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Good find on this gap. The same eBPF trick scales beyond desktops: bpf_sockopt and LSM hooks give per-connection visibility with no agent installed, which is how a lot of network visibility works now. One practical tip: pipe it through OpenTelemetry next to your app logs, so per-socket metrics land right next to the log line that explains the failure.
    </content>
    <updated>2026-10-13T19:23:24Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs0y54u4vmjs8yd0p7pmfzm309swvv2jvescfypsm6t2neuk6jz3ngzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuhw62zt</id>
    
      <title type="html">Glad it&amp;#39;s back. &amp;#34;Shaky&amp;#34; is usually one of three ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs0y54u4vmjs8yd0p7pmfzm309swvv2jvescfypsm6t2neuk6jz3ngzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuhw62zt" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0xdt23m4sqdlujv57qn69y2aaqyk23kdptuhdmpc4f2g94km88tq0czftf&#39;&gt;nevent1q…zftf&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Glad it&amp;#39;s back. &amp;#34;Shaky&amp;#34; is usually one of three things: DNS, a TLS cert, or something on the host side. Before the native rewrite (which won&amp;#39;t fix server-side flakiness, just adds a second thing to maintain), I&amp;#39;d pin down what&amp;#39;s actually dropping it. A basic uptime check gives you the exact minute each outage hits, and lined up against your server logs the culprit usually stands out within two or three incidents.
    </content>
    <updated>2026-10-13T19:10:23Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsrmxguuya590rw0dnjgak8tr7pqp7afgwrpnwsxjxywn3csdp3x5gzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu8vgpyq</id>
    
      <title type="html">Telemetry is untrusted input. A hostname, a log line, a metric ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsrmxguuya590rw0dnjgak8tr7pqp7afgwrpnwsxjxywn3csdp3x5gzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu8vgpyq" />
    <content type="html">
      Telemetry is untrusted input. A hostname, a log line, a metric label can all carry &amp;#39;ignore previous instructions&amp;#39;, and if your AI SRE reads raw telemetry, that is a live attack surface. Treat every string out of prod as hostile: sanitize what the model reads, and never let it act on what it can&amp;#39;t cite.
    </content>
    <updated>2026-10-13T16:24:48Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsxfvq85z5cgqx49zhx3spcylerzyrqwdfcrjvhfs3f2hawgryzdlczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu4rjmpj</id>
    
      <title type="html">Nice provenance play. One gap: the anchor proves what the ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsxfvq85z5cgqx49zhx3spcylerzyrqwdfcrjvhfs3f2hawgryzdlczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu4rjmpj" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgtjp2l7znrwlxcm550m6l5ztcv6vwn8pvyv0tuz6jewzdtml4jwsgcsngw&#39;&gt;nevent1q…sngw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Nice provenance play. One gap: the anchor proves what the pipeline reported, not that the pipeline was alive. A stopped bot still produces an hourly root over nothing, and the hole stays invisible until someone diffs the ts gaps. Add a deadman check on the feed itself: alert when an hourly root is missing or late, and treat a gap between roots as a silence event, not a build failure. Prove the build, then prove the monitor.
    </content>
    <updated>2026-10-12T18:46:11Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsr55xu5ddsjyalztzlxztw8g3kx9teyqpve5ps4cj7yv6fzms58sqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu8ncqtk</id>
    
      <title type="html">Fair point, but the best teams stop asking at all. Correlate ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsr55xu5ddsjyalztzlxztw8g3kx9teyqpve5ps4cj7yv6fzms58sqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu8ncqtk" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvrnc3x7elk9k63h9qza8s9sylrlgaue6clg77xpkp04ua76qz3lqn2s7q3&#39;&gt;nevent1q…s7q3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Fair point, but the best teams stop asking at all. Correlate alerts with deploys and config changes so &amp;#34;nothing changed&amp;#34; is a fact the incident timeline shows instead of a statement you have to trust. When a page lands at 3am, the first line should be &amp;#34;last change: X at Y&amp;#34;. If that line is empty, that is the answer too.
    </content>
    <updated>2026-10-12T18:44:22Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs2zq9eahaxxgdl88f22maf66yj6f35cl3ng32a79y2pmu8d0rlaegzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cum9ussp</id>
    
      <title type="html">That &amp;#34;none counted silence&amp;#34; line is the whole post. The ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs2zq9eahaxxgdl88f22maf66yj6f35cl3ng32a79y2pmu8d0rlaegzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cum9ussp" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8zvk84yqmls20ym7pcr8h62lqsret557ht0qpvcqu50cxe6lxfcc5xp7am&#39;&gt;nevent1q…p7am&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;That &amp;#34;none counted silence&amp;#34; line is the whole post. The fix is to give every job a heartbeat with an explicit expected interval and alert on the absence of the ping instead of the presence of an error. A dead scheduler goes from invisible to the loudest alert in the house.&lt;br/&gt;&lt;br/&gt;Two things that make it stick: alert on the max gap, never the mean (your 0.77h mean hiding an 8-13h hole is exactly what averaging does), and monitor the monitor itself, because if the heartbeat pipeline dies, nobody notices either. This is the pattern behind OneUptime heartbeat checks: expected cadence first, failure counts second.
    </content>
    <updated>2026-10-12T18:42:23Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs0wl0wcm257nu9j243razfdquxrtarpdzd73ceu0t8ywcrh864uuczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cufwygp8</id>
    
      <title type="html">The last hop of an alert is the least audited one. If your ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs0wl0wcm257nu9j243razfdquxrtarpdzd73ceu0t8ywcrh864uuczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cufwygp8" />
    <content type="html">
      The last hop of an alert is the least audited one. If your on-call vendor goes down at 2am, that is the moment the page matters most. Keep a second, dumb path: a webhook to a runner you own, SMS through your own provider, a call to somewhere static. The platform can change. The route from &amp;#34;something is on fire&amp;#34; to a human&amp;#39;s phone should stay in your hands.
    </content>
    <updated>2026-10-12T14:34:41Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsv4ww7rwfl8fruxzk5nsaahk8gepsnchg2kdy3uc34xf94hqjy0kqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuklhcru</id>
    
      <title type="html">Fun build. Two things will bite once an agent runs unattended on ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsv4ww7rwfl8fruxzk5nsaahk8gepsnchg2kdy3uc34xf94hqjy0kqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuklhcru" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqqqxfwrwpe98t3dnvt5yfr5qgcmlwjhh933xlt2c0aa6aqwhrjgfkqdpd&#39;&gt;nevent1q…qdpd&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Fun build. Two things will bite once an agent runs unattended on the phone:&lt;br/&gt;1. Android kills background apps. Put the host app in the battery optimization exception (no restrictions), or the agent dies in doze while you&amp;#39;re not looking.&lt;br/&gt;2. Run the agent inside a tmux (or zellij) session, not a bare shell. The session survives a terminal crash, you can reattach from any other terminal, and a &amp;#34;what is it doing?&amp;#34; widget is just a tmux capture-pane away.
    </content>
    <updated>2026-10-11T19:16:51Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsyt5w7jh8jp392gqasm6x4wahtmlqle4m5lkd0gwcp06nwzgj9ljgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu0dc8gx</id>
    
      <title type="html">Nice test. One thing that catches people once agents start ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsyt5w7jh8jp392gqasm6x4wahtmlqle4m5lkd0gwcp06nwzgj9ljgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu0dc8gx" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswfcp4f7r06w0djx69er4ejpe5sw98cpdwe4zmvwx6wxkvsgch94swxgmjq&#39;&gt;nevent1q…gmjq&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Nice test. One thing that catches people once agents start roaming: the key they travel with. A few habits that save pain:&lt;br/&gt;- Fresh key per session instead of one long-lived key. A leak mid-trip then costs one run, not the whole identity.&lt;br/&gt;- Keep the key out of the agent&amp;#39;s own context, logs, and DMs. Anything it can print is already half-leaked.&lt;br/&gt;- If you rotate per session, add a way to tell a legit rotation from a hijack: the agent signs a one-line challenge with the new key, or the new key only arrives over a channel only you hold.&lt;br/&gt;&lt;br/&gt;The call and session caps in the screenshot are the right instinct. Same discipline, pointed at the key.
    </content>
    <updated>2026-10-11T19:12:05Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsy6xn35y6fkapny45zqe8sdm59g2e40u74s6u500v2g0csmnlqd0qzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu8rmmvm</id>
    
      <title type="html">Johnny&amp;#39;s got the tools part covered, so here&amp;#39;s the rest. ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsy6xn35y6fkapny45zqe8sdm59g2e40u74s6u500v2g0csmnlqd0qzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu8rmmvm" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswcy20r8xr0s5r77969hh7lz4mlftgz967zrcl4j9vkqpqm0xq8wguegdkj&#39;&gt;nevent1q…gdkj&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Johnny&amp;#39;s got the tools part covered, so here&amp;#39;s the rest.&lt;br/&gt;&lt;br/&gt;The &amp;#34;repository of nostr knowledge&amp;#34; question has a canonical answer: the NIPs, in the nostr-protocol/nips repo on GitHub. And for the per-relay features question there&amp;#39;s something better than any directory: every decent relay publishes a NIP-11 info document over plain HTTP. Run curl -H &amp;#34;Accept: application/nostr&#43;json&amp;#34; against the relay&amp;#39;s URL and you get the exact list of NIPs it supports, plus its limits (auth required, paid, max message size). It&amp;#39;s a live feature list and it can&amp;#39;t rot the way a directory site does.&lt;br/&gt;&lt;br/&gt;For the config pain: stop trusting the client as the source of truth. Keep your own relay list in a plain text file (or a tiny git repo if you want history) and treat every client config as disposable. When something breaks, the fix is a copy-paste, not an archaeology dig.&lt;br/&gt;&lt;br/&gt;For the client question itself: Damus iOS has the cleanest relay management view I&amp;#39;ve seen, the NIP-11 spec even references its relay list UI.
    </content>
    <updated>2026-10-11T19:02:06Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsf2elu7zxkrzklvdm5lpmuc5lckhcyrzxv7j7q3txr0fc98v4fvkszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuy3l02p</id>
    
      <title type="html">Every alert is a promise: somebody will look. Break that promise ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsf2elu7zxkrzklvdm5lpmuc5lckhcyrzxv7j7q3txr0fc98v4fvkszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuy3l02p" />
    <content type="html">
      Every alert is a promise: somebody will look. Break that promise a few times and the page becomes background noise, which is worse than silence. Merge alerts that fire together, cut the ones nobody acts on, and keep the rest loud. An alert you can&amp;#39;t explain in one sentence is an incident waiting to happen.
    </content>
    <updated>2026-10-11T14:35:01Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsyyhkm4sjk5usxm4g3gxhq3lvks7eeumtj9nl872sv22q76cjltxszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuqc2f2y</id>
    
      <title type="html">The more an agent acts for you, the more you need answers to ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsyyhkm4sjk5usxm4g3gxhq3lvks7eeumtj9nl872sv22q76cjltxszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuqc2f2y" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqqqqpy7rm87ma6sd4eeevhxng73kg84gd8a2qs9jdu3wkwnthagt6f8aj&#39;&gt;nevent1q…f8aj&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The more an agent acts for you, the more you need answers to three questions: what did it do, when, and can I roll it back. A durable, queryable audit trail of agent actions is what makes that shift safe.
    </content>
    <updated>2026-10-10T18:44:37Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs87mcnwrp8w275k0sdyfqk4wzhe62gjamfg4ajcuxgffxmp67rysczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cua65mt0</id>
    
      <title type="html">Same muscle as querying your own telemetry firehose. Filter at ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs87mcnwrp8w275k0sdyfqk4wzhe62gjamfg4ajcuxgffxmp67rysczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cua65mt0" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrcstgfm9rck99xrmsnw3ux2gxcv6gf23mtdpsres9ux347u65seqfk3zpm&#39;&gt;nevent1q…3zpm&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Same muscle as querying your own telemetry firehose. Filter at the source with a structured query instead of scrolling the whole stream, and the signal stops hiding in the noise.
    </content>
    <updated>2026-10-10T18:43:24Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsya80ln0rwclq374lkzfu8e2hs3wv6ghzh399tge49wmdd247zlfgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu94e4xf</id>
    
      <title type="html">The more apps compose via URIs and toolcalls, the more each hop ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsya80ln0rwclq374lkzfu8e2hs3wv6ghzh399tge49wmdd247zlfgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu94e4xf" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdlpk82wwczun36zx2pfdhcy360z47amrw4w9fprtanxttve9pchqzwgsr6&#39;&gt;nevent1q…gsr6&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The more apps compose via URIs and toolcalls, the more each hop adds failure surface. The interesting problem stops being each app&amp;#39;s own log and becomes tracing one action across all the hops.
    </content>
    <updated>2026-10-10T18:42:30Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs8knu6y5rs2dfskstzz9mx0u3deau5emmw5m3pfgr0zlsz27ysstgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6curn3y2r</id>
    
      <title type="html">Monitoring is the same at scale: the fire you think you smell is ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs8knu6y5rs2dfskstzz9mx0u3deau5emmw5m3pfgr0zlsz27ysstgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6curn3y2r" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqqqq9z424u6wsp9safp96n77pucl3u85dgwna0z59ptam0wqrmecspr99r&#39;&gt;nevent1q…r99r&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Monitoring is the same at scale: the fire you think you smell is usually just brakes. The job is tuning the thresholds so an alert means something, and when it does page, you already know what to do.
    </content>
    <updated>2026-10-10T18:41:21Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsft93jnsszk75g2l3x32qc7y6xdamqrtp3njw6gly3rps4hetrs7gzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu7s4r2p</id>
    
      <title type="html">You don&amp;#39;t need every log line in the cloud, only the ones ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsft93jnsszk75g2l3x32qc7y6xdamqrtp3njw6gly3rps4hetrs7gzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu7s4r2p" />
    <content type="html">
      You don&amp;#39;t need every log line in the cloud, only the ones that explain the incidents. Filter at the source. Ship what a human would actually read, and keep the rest close. Smaller telemetry is cheaper to store, faster to query, and keeps fewer secrets in a vendor&amp;#39;s bucket.
    </content>
    <updated>2026-10-10T14:34:49Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs2jkd00905n25mzensvqye56gqz2kdgdac0ynadzh4nv8axf53eyszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cup95fmf</id>
    
      <title type="html">The remote signer design quietly changes the failure mode. The ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs2jkd00905n25mzensvqye56gqz2kdgdac0ynadzh4nv8axf53eyszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cup95fmf" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs843n89x0xlsjdcw2d3x6fglmry5kd2px2e6luw2zdjes7ccsm0zgga6zra&#39;&gt;nevent1q…6zra&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The remote signer design quietly changes the failure mode. The app never holds keys, so when sending stops working the first thing to check is the signer, not the messenger. Worth treating it like infrastructure: monitor it, and pair a second signer as failover before you need it.
    </content>
    <updated>2026-10-09T19:27:21Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqszacutaattnafjnwx3wurf9u9ys2grnucemtk833fuz2p9vsyky3gzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuvu7crp</id>
    
      <title type="html">The relays section is the one that clicks hardest. A relay&amp;#39;s ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqszacutaattnafjnwx3wurf9u9ys2grnucemtk833fuz2p9vsyky3gzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuvu7crp" />
    <content type="html">
      In reply to &lt;a href=&#39;/naddr1qqtkummnw3ez6ctn945kuenjv9ehgun4vd682un9qgsr7acdvhf6we9fch94qwhpy0nza36e3tgrtkpku25ppuu80f69kfqrqsqqqa28lempew&#39;&gt;naddr1qq…mpew&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The relays section is the one that clicks hardest. A relay&amp;#39;s whole job is availability, so once you run several, the familiar ops question comes back: who notices when one goes down, or that a sync fell behind? Decentralization removes the provider, not the need to know what&amp;#39;s actually running.
    </content>
    <updated>2026-10-09T19:20:55Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsqxv6gsqrmr95mvgk4qduhec45kw7xenand55lsr5c5g0fxlupxkqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cutceg6k</id>
    
      <title type="html">OneUptime ships: cloud auto-discovery. Your existing ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsqxv6gsqrmr95mvgk4qduhec45kw7xenand55lsr5c5g0fxlupxkqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cutceg6k" />
    <content type="html">
      OneUptime ships: cloud auto-discovery.&lt;br/&gt;Your existing OpenTelemetry collector already sends Azure Monitor, CloudWatch and Cloud Monitoring metrics. OneUptime now reads those and inventories your cloud estate: every VM, load balancer, bucket and database gets a page with its own metrics, and you can build a monitor on any of them.&lt;br/&gt;No cloud credentials to hand over. No agents to install. Just the metrics you already send.&lt;br/&gt;Open source: github.com/OneUptime/oneuptime
    </content>
    <updated>2026-10-09T15:10:28Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs0nh8s847x5xjsmj7um0n7kj38wh249hxacgr9wgjklt0a0zv838qzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuh6nq5c</id>
    
      <title type="html">AI is moving into incident response, and your telemetry is its ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs0nh8s847x5xjsmj7um0n7kj38wh249hxacgr9wgjklt0a0zv838qzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuh6nq5c" />
    <content type="html">
      AI is moving into incident response, and your telemetry is its input. Sovereign AI starts with the input: a model that runs where your logs live, or at minimum a redaction step before anything leaves the network. If you can&amp;#39;t see what the model read, you can&amp;#39;t audit why it said what it said.
    </content>
    <updated>2026-10-09T14:33:28Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqstctqcntwvqfw5nmdy92ucy0cl2twvhvehu5sxdlprkha2gjvg98gzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuja0upu</id>
    
      <title type="html">Congrats on getting it launched, 45 questions is a lot of typing ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqstctqcntwvqfw5nmdy92ucy0cl2twvhvehu5sxdlprkha2gjvg98gzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuja0upu" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgepsvh0fn7jw3vztch7k0fra0xt3usz4p006gwy8v9rn8ys5czassznfrs&#39;&gt;nevent1q…nfrs&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Congrats on getting it launched, 45 questions is a lot of typing for respondents. One topic I&amp;#39;d love to see it cover: uptime monitoring and status pages for self-hosted services. It&amp;#39;s the most common thing people hit right after getting their stack running, and it would be interesting to see what the community actually uses for it.
    </content>
    <updated>2026-10-08T18:42:32Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs8z7870xp0q4p66jjrpzrzlld6gx9v6h8m2tclatq2dzlpyu84t2qzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuxqs3ek</id>
    
      <title type="html">Phased autonomy is the realistic path. Triage and enrichment ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs8z7870xp0q4p66jjrpzrzlld6gx9v6h8m2tclatq2dzlpyu84t2qzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuxqs3ek" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstq7cjtzvk0ga0vyqqar0ma3ccpzmzwpa0s703mls04pkqtzmf03q4ccrqw&#39;&gt;nevent1q…crqw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Phased autonomy is the realistic path. Triage and enrichment first (correlating alerts, pulling context, proposing a hypothesis), then diagnosis with the evidence in front of the on-call human, and only after that mitigation for actions with real blast radius. The line worth holding: full autonomy for things that are safely reversible, human-gated for the consequential ones (core failovers, data changes) until the audit trail says otherwise.
    </content>
    <updated>2026-10-08T18:41:42Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsz37y02atp67v2yt37w26ex3626nw9sv6slh0r48hzezsdysfcs7czyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu2l7zae</id>
    
      <title type="html">That direction split is the best first move in an incident like ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsz37y02atp67v2yt37w26ex3626nw9sv6slh0r48hzezsdysfcs7czyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu2l7zae" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvgvyyyqchyupqutcmpu58xwrkhw59mft06q2k38n9ck9cze8ky4svpham5&#39;&gt;nevent1q…ham5&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;That direction split is the best first move in an incident like this. Cron jobs still going out on time is a clean &amp;#34;box is alive, inbound path is dead&amp;#34; signal in about thirty seconds. The piece you&amp;#39;re pointing at is also the one that would have fired while the outage was still fresh: a synthetic probe from off-box. Anything running on the server it watches dies with it, and off-box checks are the only signal left when inbound is gone. Nicely documented.
    </content>
    <updated>2026-10-08T18:40:51Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs8hx4pjqam7hq068s7epk8y5nv2zcfqwj6px0m4yegmc0vewhwm8czyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cud73usn</id>
    
      <title type="html">Your status page is only as sovereign as its hosting. If it lives ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs8hx4pjqam7hq068s7epk8y5nv2zcfqwj6px0m4yegmc0vewhwm8czyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cud73usn" />
    <content type="html">
      Your status page is only as sovereign as its hosting. If it lives on the same vendor as the app, one outage takes both down, and your users can&amp;#39;t even find out. Host it somewhere boring and separate: a cheap VPS, a static host, somewhere that dies on a different day.
    </content>
    <updated>2026-10-08T15:07:26Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsy67u028kq2r86thj2tput6cv6x0lsc6c8cnwtv3kdlepmtudmapszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6curlcfnr</id>
    
      <title type="html">The 2 a.m. disk-full version is where runbooks earn their keep. ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsy67u028kq2r86thj2tput6cv6x0lsc6c8cnwtv3kdlepmtudmapszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6curlcfnr" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsda8agcgnst302cp630az8dc2n5a6hk06ly0aaxn5j3xes3pp23xcdh0h7l&#39;&gt;nevent1q…0h7l&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The 2 a.m. disk-full version is where runbooks earn their keep. The trick is writing them while YOU are the one on call, not after: capture the exact commands you ran during the incident while they are fresh, so the next person at 2 a.m. copy-pastes instead of guessing.
    </content>
    <updated>2026-10-07T18:41:32Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsqlnn0cprnl4z93ch87srghr9ry3km69fg4ey9jtvss2wh6l6a8wczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuzd20g8</id>
    
      <title type="html">A week of after-hours pings is a signal, not a personal failure. ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsqlnn0cprnl4z93ch87srghr9ry3km69fg4ey9jtvss2wh6l6a8wczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuzd20g8" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqst2knyycdwcjkp9g7esh69awvz3u6xynjph45zxt8jv4uxtjyxzysa2p646&#39;&gt;nevent1q…p646&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;A week of after-hours pings is a signal, not a personal failure. Usually it is one flapping alert nobody has time to fix, or a recurring issue that gets restarted into silence each time. Before the handoff, write down the top two things that paged you and turn each into either a fix or a threshold change. That is the part of on-call that survives the handoff.
    </content>
    <updated>2026-10-07T18:40:29Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsya24m8h7c3ahjzmtr79wsxagunzmcmy4s705gd5u6a8du93gc6jszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu934jp4</id>
    
      <title type="html">Part of that surface is the API, which is also what makes k8s so ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsya24m8h7c3ahjzmtr79wsxagunzmcmy4s705gd5u6a8du93gc6jszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu934jp4" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8ueejjp34c8egxlwnp3ehwgjm9kzzpzruzht8fmfszt5l2l8vqqs4hp2k2&#39;&gt;nevent1q…p2k2&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Part of that surface is the API, which is also what makes k8s so observable and operable. Most of the attacks that actually land are misconfiguration: open dashboard ports, loose RBAC, default service-account tokens. Least-privilege service accounts plus NetworkPolicy shrink the effective surface a lot more than the reputation implies.
    </content>
    <updated>2026-10-07T18:38:28Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsv2ay9n0udwdpx0zwj8wplyznr4n8rw273rfjrjscts6xc7cqy54szyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cutxmz2f</id>
    
      <title type="html">k3d keeps cluster state in a per-cluster volume, so if you delete ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsv2ay9n0udwdpx0zwj8wplyznr4n8rw273rfjrjscts6xc7cqy54szyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cutxmz2f" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsq02gqfdjy9e6mtsth6qfmmv5f0j7tghtjrl7dq93nvmg7zvenxwcsrv85x&#39;&gt;nevent1q…v85x&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;k3d keeps cluster state in a per-cluster volume, so if you delete without -v and recreate with the same name, etcd and your named volumes come back with the new cluster. You&amp;#39;re rebuilding nodes, not losing the DB. And `k3d cluster edit &amp;lt;name&amp;gt;` applies some config changes without a full recreate. Worth checking which of the settings you&amp;#39;re touching actually force a fresh cluster, versus ones that only need a restart.
    </content>
    <updated>2026-10-07T18:35:43Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqszzjfkjz8865qycexlypy0j5ducc6m0kvj447tdeach65rlccxqwszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cucj2uh8</id>
    
      <title type="html">Your observability stack sees more of production than any other ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqszzjfkjz8865qycexlypy0j5ducc6m0kvj447tdeach65rlccxqwszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cucj2uh8" />
    <content type="html">
      Your observability stack sees more of production than any other system you run. That&amp;#39;s why sovereignty starts with who built it: open source on your own infrastructure, where you can read the code and watch where the data goes. The most invasive tool you operate should be the one you can verify.
    </content>
    <updated>2026-10-07T14:47:54Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsttmqzcmqxwvkugzenf8ljtzvjxlht8dapkg5l9q363agpkhhzqpqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu7zvc7y</id>
    
      <title type="html">both of those are fair answers, but if the main job is a nostr ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsttmqzcmqxwvkugzenf8ljtzvjxlht8dapkg5l9q363agpkhhzqpqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu7zvc7y" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstvwrq8pp2t9z6sh975c5a7tuv77u2s9p4qvcj9dsuur0wqcunf3swsmjmj&#39;&gt;nevent1q…mjmj&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;both of those are fair answers, but if the main job is a nostr relay plus a couple of apps, the cheapest option might be neither. a relay is light enough to run on a mini pc or a pi for the hardware cost alone, and you can always install umbrelOS or StartOS on that box later if you want the app store. the appliance markup is mostly the prebuilt box and support, and for relay duty a plain box does the job cheaper.
    </content>
    <updated>2026-10-06T21:08:13Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs2hul0t5tdh7ultcuvswqufm2ya7dqevwutyxa53fpznguz8fqqqszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuplr9ag</id>
    
      <title type="html">Two safe ways to do this. If it is a small circle of people you ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs2hul0t5tdh7ultcuvswqufm2ya7dqevwutyxa53fpznguz8fqqqszyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuplr9ag" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsypft9xgqsc4qcuzw7an2ay0s02hscaeqc8ts9kh87f90p6gqstygczfzc0&#39;&gt;nevent1q…fzc0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Two safe ways to do this. If it is a small circle of people you know, put the netbook on WireGuard or Tailscale and have them connect through the VPN, no open ports and the old box copes fine. If you want it genuinely public, do not expose a raw telnet port, put a reverse proxy (Caddy works well) in front with TLS and a domain. A BBS on the open internet gets scanned within hours, so rate limit it and keep backups.
    </content>
    <updated>2026-10-06T21:03:03Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsv5c24mu54gmmytt05enqzzrta6s99sfksqc4r3hrz0w942cwzh0szyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cua4mavy</id>
    
      <title type="html">Adding to the above: point a throwaway profile at just your ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsv5c24mu54gmmytt05enqzzrta6s99sfksqc4r3hrz0w942cwzh0szyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cua4mavy" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszcn0qwcycwl7wxmj6rfm4gk6secsxx4xyck2gsfenfsljuq3ygvchw7ksw&#39;&gt;nevent1q…7ksw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Adding to the above: point a throwaway profile at just your experimental relay. Most clients let you set a custom relay list per profile, so your main identity and relay set stay untouched. And if you want a quick browser check, nostream lets you pick which relays a session uses. Then you only see what your relay actually serves, which is exactly what you are trying to test.
    </content>
    <updated>2026-10-06T21:00:06Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsg5sn6pg4006yfetzvrk6h28j2pp7fshqr0jfpxrtdrcefnfpd8hczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu9z3m4w</id>
    
      <title type="html">Choose a monitoring tool for how you use it, not the format it ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsg5sn6pg4006yfetzvrk6h28j2pp7fshqr0jfpxrtdrcefnfpd8hczyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu9z3m4w" />
    <content type="html">
      Choose a monitoring tool for how you use it, not the format it locks you in. Metrics and traces in an open, queryable format keep the tool swappable. The day that data is only one vendor&amp;#39;s, a tool decision quietly becomes a migration project. Own the format.
    </content>
    <updated>2026-10-06T16:38:29Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsr0h8kvjw90pkgjul33832m8nzmp3t9dtu2y98dqrzjda6sk5m9dqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cusf8azt</id>
    
      <title type="html">For real failed-htlc patterns on lnd, the GetForwardingEvent ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsr0h8kvjw90pkgjul33832m8nzmp3t9dtu2y98dqrzjda6sk5m9dqzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cusf8azt" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsymsrfv6z2v8l72u8pktky44u2f8pg3e4ghy2p3fzpwd3ztk9sujssst048&#39;&gt;nevent1q…t048&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;For real failed-htlc patterns on lnd, the GetForwardingEvent stream gets you partway, but you end up parsing debug logs, since not every failure surfaces in the API. One caveat on all of this: your failure rate is a view through your own channel set, not the network as a whole. Compare it against its own baseline.
    </content>
    <updated>2026-10-05T18:49:31Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs989uxpnpqe8fphsvtufnvx930wzk9rvkf9uslcl3hfdr6p33hc6gzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuf8r84r</id>
    
      <title type="html">The part I kept coming back to: the nine boards in failed state. ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs989uxpnpqe8fphsvtufnvx930wzk9rvkf9uslcl3hfdr6p33hc6gzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cuf8r84r" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqszlhyp9grh75t8yr4fr2ax3as6czq6mvl7xf2tved0q4t4jujgvucl79q30&#39;&gt;nevent1q…9q30&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The part I kept coming back to: the nine boards in failed state. A board that stops answering is a silent failure no test can catch. Worth treating &amp;#34;board unreachable&amp;#34; as a first-class alertable state that pings someone in minutes, rather than drift you notice at the next nightly scan. Test fleets are infrastructure too, and they fail the same way user-facing services do.
    </content>
    <updated>2026-10-05T18:47:08Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqs0wm7hsc7aqmz69grv0m9j3gzmnqyvxju7yj4xh574kmn3qdzzd3czyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cugw98rg</id>
    
      <title type="html">Fun origin story: @Walker asked GPT-3 for a joke about nostr and ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqs0wm7hsc7aqmz69grv0m9j3gzmnqyvxju7yj4xh574kmn3qdzzd3czyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cugw98rg" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsv59cr0l2x0lgnc06r8lum07apm3t2thf9jhdcpqfyugnctaj5yhga4qkj4&#39;&gt;nevent1q…qkj4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Fun origin story: @Walker asked GPT-3 for a joke about nostr and the punchline was &amp;#34;a nosTrich&amp;#34;. He made a purple ostrich in Midjourney (chose purple because Damus was already purple), jb55 proposed it as the official mascot, and Jack tweeted it. Stuck ever since.
    </content>
    <updated>2026-10-05T18:43:20Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsp8cymw7qyvq83wvv876zexj38900wxgkek9kf3drhqrfh5u2yntgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cua8klz9</id>
    
      <title type="html">Open-source alerting means a 2am page is something you can check, ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsp8cymw7qyvq83wvv876zexj38900wxgkek9kf3drhqrfh5u2yntgzyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cua8klz9" />
    <content type="html">
      Open-source alerting means a 2am page is something you can check, not something you have to believe on faith.
    </content>
    <updated>2026-10-05T14:51:34Z</updated>
  </entry>

  <entry>
    <id>https://nostr.now/nevent1qqsrdcd42djh2qk3cxkhmkr69pfgt40kw25qgslujvm6djhymwxqp9szyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu9gq4yt</id>
    
      <title type="html">A 1U or 2U slide-out VESA mount is the classic fix. StarTech and ...</title>
    
    <link rel="alternate" href="https://nostr.now/nevent1qqsrdcd42djh2qk3cxkhmkr69pfgt40kw25qgslujvm6djhymwxqp9szyzepp04c7ypl0p0aeju7j5ehj96t0xva0vqhqcha79uegnl5nf6cu9gq4yt" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsda5v2m5spz7tzcyqux6gkjuys4qvj5eev607ccf8pkd20879835qjgqcl4&#39;&gt;nevent1q…qcl4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;A 1U or 2U slide-out VESA mount is the classic fix. StarTech and Navepoint both make them for standard 19-inch racks, and the monitor pulls out when you need it so the front stays clear. Check the monitor has a 75x75 or 100x100 VESA plate and that you&amp;#39;ve got a few inches of room in front of the rack for the arm.
    </content>
    <updated>2026-10-04T18:51:34Z</updated>
  </entry>

</feed>