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.
Create the workbench shell with ESM enabled, Node v24+ declared, stable folders, npm scripts, help output, and strict flag handling.
Generate data/access.ndjson with configurable row count, payload size, error ratio, seed, and output location.
Process the whole NDJSON file with readFile, filter error rows, write filtered output, and report the memory-heavy baseline.
Create shared timing, memory, byte-count, and report-writing utilities so later modes can be compared.
Create compatible readable sources for regular files, stdin, and gzipped input.
Split arbitrary byte chunks into complete NDJSON lines while carrying partial lines between chunks.
Add a small query syntax for filtering parsed rows and share it between naive and stream modes.
Support pluggable row transformations for redaction, field selection, and enrichment.
Create a Writable stream that intentionally writes slowly and records backpressure signals.
Produce a timeline of readable pressure, writable pressure, throughput, drain events, and memory.
Record completion, failure, and cleanup details around the stream/promises.pipeline boundary.
Cancel a running pipeline safely and keep partial files from being mistaken for successful output.
Add gzip compression for output and decompression for input, then report compression ratio and pressure effects.
Compare naive, stream, slow sink, gzip, and highWaterMark variants in one report.
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 ruleSwitch between one-reader pricing and team licenses for up to 25 team members.
Volume I as EPUB, light/dark PDFs, slides, cheatsheets, and future updates.
All Labs plus the downloadable Volume I bundle in one purchase. Save $9.99 vs buying separately.
Seven long-form builds: recorder, binary store, stream workbench, resolver, watcher, task runtime, and protocol gateway.
Volume I files, slides, cheatsheets, and updates for a small engineering team.
Node Runtime Labs plus the downloadable Volume I bundle in one team license.
Seven long-form builds for onboarding, study groups, and internal training.
The bundle includes seven runtime projects covering process observation, binary storage, streams, module resolution, file watching, async orchestration, and custom protocols.