Use `/tmp` only for throwaway scratch output. Do not create multiple Desktop files unless explicitly requested.
## Network-switch pitfall: stale SSH sessions
When a host switches Wi-Fi networks, existing public SSH sessions may break even if the server is still reachable. Inspect live sockets before concluding the remote is down:
- socket local address from previous network, or FIN-WAIT state
- nonzero Send-Q / notsent data
- retrans/backoff
- weird PMTU collapse
A Tailscale SSH session to another host may survive the same switch if it is bound to the Tailscale path, while a public SSH session to the same or another host may die.
## Always compare public vs tailnet identities
For hosts with both public DNS and MagicDNS/tailnet DNS, resolve and test both forms:
ICMP ping may fail while TCP/22 and `tailscale ping` work, so do not use ICMP alone as the availability test.
## Hotspot/router gateway test
Do not hardcode the gateway when comparing Wi-Fi vs phone hotspot. Derive it from the current route:
```bash
GW=$(ip route show default | awk '{print $3; exit}')
ping -c 80 -i 0.1 "$GW"
ping -c 80 -i 0.1 1.1.1.1
```
For the user's tested setup, home Wi-Fi used `192.168.1.1`, while phone hotspot `osa` used `10.91.179.29`. A script hardcoded to `192.168.1.1` falsely reports gateway loss after switching to the hotspot.