SSH Hangs Forever: A WireGuard MTU Black Hole
Small SSH commands worked, big ones hung forever. The culprit wasn’t the server, the disk, or SSH — it was 28 bytes of MTU.
Why git checkout -b Sometimes Sets an Upstream
Branching from origin/main configures tracking automatically; branching from a local main does not. The rule behind it is branch.autoSetupMerge.
gRPC Playground
Testing public gRPC endpoints on grpcb.in with grpcurl
Why Array.forEach() Doesn't Work with async/await (And What to Use Instead)
forEach() doesn’t wait for async callbacks because it doesn’t handle Promises. Use for…of for sequential execution or Promise.all() for parallel async operations.
Converting OnePlus 15 Chinese ROM to Global OxygenOS
Complete guide to converting ColorOS to OxygenOS on OnePlus 15 Chinese models
How to Manipulate Firefox History via SQLite
A quick guide to directly inserting and querying Firefox browsing history using the SQLite database on macOS.
Sharing Cookies Between WebView and Ktor
A CookiesStorage backed by Android’s CookieManager, so a WebView login session carries over to Ktor requests — plus the iOS/KMP equivalent.
KMP Troubleshooting: iOS File IO, Room, and IrLinkageError
Reading and writing files via NSString from Kotlin, finding the simulator’s app container, and fixing the Koin/lifecycle IrLinkageError.
M3U8 Headers
Playing M3U8 streams with custom HTTP headers
Mounting Samba Shares via /etc/fstab
How to persistently mount a Samba share from another machine using /etc/fstab on Linux.