Desk Clarity

A field guide to everyday digital problems.

The guidebook / 181 guides

Developer tools

Code, configuration and workflows. Source-linked checks to help you move forward.

Developer tools · GUIDE

Docker Exec Says the Container Is Not Running: Inspect the Original Exit

docker exec starts an additional process in a running container.

2 min readSource-linked guide
Developer tools · GUIDE

Docker EXPOSE Does Not Publish a Host Port: Inspect the Mapping and Listener

EXPOSE documents an intended container port.

2 min readSource-linked guide
Developer tools · GUIDE

A Container Cannot Reach Host Localhost: Choose the Correct Network Endpoint

Inside a normally isolated container, localhost points back into that container.

2 min readSource-linked guide
Developer tools · GUIDE

Compose Expands the Wrong Variable: Separate Configuration and Container Expansion

A service env_file supplies container variables; it does not automatically supply every ${NAME} in the Compose model.

2 min readSource-linked guide
Developer tools · GUIDE

jq Exit Status with -e: The Last Value Is Not an All-Items Check

Build one explicit validation result when a shell command must approve every record.

3 min readSource-linked guide
Developer tools · GUIDE

Git Show-Toplevel Resolves a Symlink: Choose Logical or Physical Paths

Avoid assuming that Git preserves the shell path spelling used to enter a checkout.

2 min readSource-linked guide
Developer tools · GUIDE

Git Setting Comes from the Wrong File: Inspect Origin and Scope

Trace a configuration key before editing global or repository settings.

2 min readSource-linked guide
Developer tools · GUIDE

Read a File from Another Git Branch Without Replacing Your Working Copy

Use object inspection when you need the content, and restore only when replacement is intended.

3 min readSource-linked guide
Developer tools · GUIDE

jq Filter Returns Separate Objects: Keep an Array with map(select)

Choose the expected output container before filtering JSON values.

2 min readSource-linked guide
Developer tools · GUIDE

npm CI Lock Mismatch: Repair the Inputs Before the Clean Install

Compare manifest and lockfile changes without using CI to silently update dependencies.

3 min readSource-linked guide
Developer tools · GUIDE

npm Package-Lock-Only Does Not Inventory Your Installed Modules

Separate dependency resolution metadata from the current node_modules directory.

2 min readSource-linked guide
Developer tools · GUIDE

Node Writable write Returns False: Wait, Then Send the Next Chunk

Avoid retrying a chunk that the writable stream has already accepted.

3 min readSource-linked guide
Developer tools · GUIDE

Node EventEmitter Error Events: Attach the Handler Before Starting Work

Handle failures at the emitter lifecycle instead of relying on a global catch-all.

2 min readSource-linked guide
Developer tools · GUIDE

Circular JSON Error: Serialize the Data, Not the Runtime Owner

Build a deliberate transfer object instead of stringifying a framework or request object.

2 min readSource-linked guide
Developer tools · GUIDE

JSON and Large Integer IDs: Preserve the Digits with a String Contract

Avoid rounding an identifier before serialization or converting every numeric field globally.

2 min readSource-linked guide
Developer tools · GUIDE

Node Env File Exists but process.env Is Missing: Load It Before Reading

Separate environment-file loading, startup path and already-set variable precedence.

2 min readSource-linked guide
Developer tools · GUIDE

Git Sparse Checkout Cone Mode Still Includes Root Files

Choose directory selection or explicit patterns before trying to exclude a file type.

3 min readSource-linked guide
Developer tools · GUIDE

Git Tag Exists Locally but Not Remotely: Push One Exact Ref

Verify the destination and publish a selected tag without sending every local tag.

2 min readSource-linked guide