Controlled data generator
Generate predictable NDJSON with row count, payload size, error ratio, seed, output path, byte count, and a generator report.
Build a local Node.js workbench that generates NDJSON, processes it through whole-file and streaming paths, records backpressure, compresses output, cancels pipelines, and compares the evidence.
$ npm run generate -- --rows 1000 --payload-bytes 32Creates repeatable NDJSON for small test runs.
$ npm run naiveMeasures the whole-file implementation first.
$ npm run stream -- --where "status >= 500"Runs the streaming path with a real filter.
$ npm run pressure -- --slow-write-ms 5Makes drain timing and buffer growth visible.
$ npm run compareChecks output parity and report differences.
Generate predictable NDJSON with row count, payload size, error ratio, seed, output path, byte count, and a generator report.
Build a whole-file baseline, then build a stream path with source adapters, line splitting, JSON parsing, filtering, plugins, and stringification.
Simulate a slow writable destination, record queue length and drain events, and produce a pressure timeline with memory and throughput samples.
Write generator, naive, stream, split-check, pressure, gzip, abort, and mode comparison reports without shipping a solution on the public page.
The build starts with a predictable CLI shell and ends with a comparison report across naive, stream, pressure, gzip, and highWaterMark variants. Each phase ships one visible capability and one artifact to inspect.
A runnable project shell with predictable commands, paths, help behavior, and failure behavior.
A repeatable NDJSON workload plus a generator report that later phases can cite.
A whole-file processor that intentionally retains the input, decoded text, line array, matches, and serialized output.
One report shape shared by naive, stream, pressure, compression, abort, and comparison runs.
File, stdin, and gzip sources that produce compatible readable streams and source reports.
A chunk-safe NDJSON splitter plus reports/split-check.json with expected lines, seen lines, read buffer size, and pass/fail status.
Shared filter behavior for whole-file and streaming modes, with matching counts for the same input and query.
A stream path that can redact, enrich, narrow, and serialize rows while preserving auditable plugin order.
A controlled slow writable destination that makes backpressure measurable.
A pressure timeline that shows queue length, drain events, throughput, and memory over time.
Stream and pressure reports that say whether the pipeline completed, failed, or cleaned up after an error.
Aborted runs with status, reason, partial file policy, cleanup state, and no corrupt final output promotion.
Stream reports that show compression settings, byte boundaries, ratios, and pressure changes.
A mode comparison report that validates output equality and exposes memory, timing, pressure, and compression differences.
Lab 03 keeps the experiment grounded in files you can inspect: generator settings, whole-file memory, stream counts, splitter checks, pressure timelines, compression data, abort cleanup, and final mode comparison.
generator.jsonNDJSON settings, output path, rows, and bytesnaive.jsonwhole-file counts, timing, bytes, and peak memorystream.jsonsource, filter, plugin, lifecycle, and output datasplit-check.jsontiny-chunk line splitting validationpressure.jsonslow sink queues, drains, memory, and throughputstream-gzip.jsoncompressed and uncompressed byte boundariesstream-abort.jsonabort reason, cleanup state, and partial filescomparison.mdmode table with hashes, metrics, and final ruleBuy a single volume or lock in every volume at once. Switch between one-reader pricing and team licenses for up to 25 members.
Volume I as EPUB, light and dark PDFs, slides, cheatsheets, and future updates.
Volume I Labs plus its downloadable bundle in one purchase. Save $9.99 vs buying the Digital Bundle and Labs separately.
Volume I long-form builds with checkpoints, hints, debugging notes, and expected output.
The bundle includes seven runtime projects covering process observation, binary storage, streams, module resolution, file watching, async orchestration, and custom protocols.
Lab 03 is included in the Labs bundle and in NodeBook Pro, alongside six more complete runtime projects.