Labs
Each lab takes under an hour on a laptop and turns a claim from this mechanism into something you can see.
- 1
Positional versus named CSV
Read a headerless CSV by position, insert a column in the middle, read it again; then add a header and read by name.
Break itPython - 2
Rename is drop plus add, in real Parquet files
Two Parquet files, one with weight and a newer one with weight_kg, read together with union_by_name; then COALESCE.
MeasurePython with DuckDB - 3
Inference is a function of the sample
Infer a schema from the first 1,000, 18,000 and 20,000 records of a file whose postal_code turns from integer to string, in file order and shuffled.
MeasurePython - 4
Build a tiny schema-diff gate
A compatibility classifier for schema changes and ten test cases, checked against the last version only and against every earlier version.
MeasurePython - 5
Reader-side default rewrites history
1,000 stored events without delivery_priority, counted under a reader default of STANDARD and then EXPRESS; then with the default written at write time.
MeasurePython - 6
Dead-letter rate threshold
100,000 records; a schema change makes 40% invalid halfway. A pure dead-letter queue against a 2% windowed halt threshold.
SimulatePython