Jim's Depository

20 years of rewriting the same code
Uncategorized category
A frustrating opt-out maze shows how privacy notices can become dark patterns when account portals, call centers, and automated systems fail. It’s a useful case study in judging whether a carrier’s customer experience matches its promises.
linux category
A kernel upgrade can leave LXC unable to create nested cgroups with only a misleading `EINVAL`. Learn how `CONFIG_NETPRIO_CGROUP` can block container startup and what to disable when cgroup directory creation suddenly fails.
coding category
Avoid the subtle Core Animation–GLKit interop bug that makes transforms appear to work until composition reverses unexpectedly. Knowing each framework’s matrix convention can save hours of debugging broken rotations, projections, and OpenGL rendering.
networking category
Give a Debian LAN IPv6 connectivity without waiting for native ISP support, using 6to4, radvd, and ip6tables. It helps gateway operators test dual-stack services while avoiding the security gap created when IPv6 bypasses an IPv4-only firewall.
macos category
Track down beachballs that ordinary cache clearing and Disk Utility can miss, from slow sector remapping to Safari’s overlooked Top Sites preview cache. The diagnostic steps offer a practical way to distinguish a failing drive from a fixable software stall before lost data makes the choice for you.
macos category
Pinpoint a Safari and Keychain validation failure that OpenSSL may quietly accept, saving hours of chasing misleading CSSM errors and apparent hostname-spoofing warnings.
Uncategorized category
Give servers and scripts narrowly scoped S3 credentials instead of exposing your master AWS keys, using IAM users and bucket policies—even when the console leaves you with Java CLI tooling and policy JSON.
coding category
A viral fight over proprietary screws shows how a well-timed repairability story can turn consumer frustration into lasting search traffic, brand awareness, and future customers.
more articles