forgehub. A small, independent toolbox

THE FORGEHUB FIELD NOTES

A little know-how.
A lot less guesswork.

Small guides for getting more out of small tools. Clear answers, useful workflows, and the occasional good-to-know.

From the notebook.

LocalLoomHow to choose audio for a LocalLoom screen recordingChoose microphone or shared audio in LocalLoom, recover from microphone denial, and check a short take before recording your full walkthrough.CSV WorkshopHow to clean a CSV with CSV Workshop: import to downloadUse CSV Workshop to trim cells, remove empty and duplicate rows, check the preview and export a cleaned CSV while understanding its limits.Pocket ArcadeHow to keep score across Pocket Arcade rematchesRun a tic-tac-toe series in Pocket Arcade: keep scores between rounds, avoid mixing opponents, and understand what resets or refreshes erase.Pixel PressWhy is my compressed image larger in Pixel Press?Use Pixel Press?s actual size comparison to spot larger results, adjust quality and dimensions, and choose a useful image before downloading.JSON MirrorWhy won't my JSON compare? A troubleshooting workflowFix invalid JSON before comparing, understand what Format can do, and distinguish syntax errors from JSON Mirror's size and nesting limits.JSON MirrorHow to compare two JSON files without uploading themCompare two JSON files privately with a diff tool that runs in your browser, or offline with jq or Python, so secrets and customer data never leave your device.JSON MirrorWhy key order and whitespace shouldn't show up in a JSON diffA JSON diff should ignore key order and whitespace. Learn why RFC 8259 treats them as insignificant and what a structural JSON comparison still flags.JSON Mirrornull vs. missing: the JSON difference that breaks APIsJSON null vs missing keys: why {"nickname": null} and {} mean different things in PATCH and JSON Merge Patch, and how to tell them apart in a diff.JSON MirrorComparing JSON arrays: by position or by identity?A practical JSON array diff guide: comparing by index, by an id key, by sequence alignment, or ignoring order, with worked examples and jq sorting tips.JSON MirrorReading JSON paths in a diff: $.settings.theme, $.members[2] and friendsHow to read JSON path notation in diff output: $ for the root, dots for keys, zero-based [n] indexes, quoted brackets, and JSONPath vs JSON Pointer.JSON MirrorHow to Export JSON Differences Beyond the 300-Result ViewJSON Mirror shows up to 300 differences per filter. Learn what the exported report contains, how to refresh stale results, and which limits still apply.