Advertising Event Data: Define the Contract Before Building the Pipeline
A duplicate click illustrates the decisions behind event grain, identity, time, versions, and data-quality acceptance criteria.
A duplicate click illustrates the decisions behind event grain, identity, time, versions, and data-quality acceptance criteria.
A conversion spanning several days explains event facts, attribution results, metric definitions, and systematic reconciliation.
A shared ingestion core for JSON, CSV, and Protobuf, with explicit boundaries for dynamic mapping, replay, and staged releases.
Compare deduplication scope, recovery semantics, capacity, and the failure windows hidden inside three common approaches.
Separate state compatibility, result correctness, and performance regressions to make streaming migrations diagnosable and reversible.
Use a source-to-sink pipeline to distinguish downstream bottlenecks, data skew, state I/O, and barrier-alignment delays.
Connect query shape, composite indexes, actual scan volume, and write costs through a practical event-log query.
Use two sessions to understand snapshot reads and conflicting updates, inspect deadlocks, and design retries at the transaction boundary.
Trace duplicates, reordering, deletes, and replay from MySQL through Debezium and Kafka to downstream state.
Use worker, queue, and rejection limits to control how bursts turn into latency and memory pressure, then validate overload behavior.
Build an evidence chain from service symptoms to threads, JFR, garbage collection, and native memory in Java 17.
Separate CompletableFuture completion from the underlying request lifecycle, then constrain retries with deadlines, idempotency, and explicit budgets.
Design an auditable workflow for incident evidence, action plans, idempotent execution, and rollback verification.
Use an advertising analytics example to connect query permissions, metric definitions, scan budgets, and result validation.
Design task boundaries, evidence contracts, conflict resolution, idempotent recovery, and budgets for a data incident investigation.
Build task-level evaluations for operations and data agents, separating answers, actions, and outcomes while versioning replay environments and graders.
This page preserves the original URL of an early notebook entry. Continue with the engineering series for the current articles.
An English reading edition of the 2023 notes on global, table, metadata, intention, auto-increment, and row locks, with practical inspection and recovery guidance.
An English reading edition of the 2023 notes, covering isolation, undo and redo, binary logs, commit coordination, replication, and buffer-pool behavior.
This page preserves the original URL of an early notebook entry. Continue with the engineering series for the current articles.
An edited English edition of the archived study notes, covering relational design, storage engines, SQL execution, and InnoDB records.
An edited English edition of the archived indexing notes, from InnoDB pages and composite-key ranges to EXPLAIN and COUNT semantics.
An archived note on combining notebook cells and outputs with nbmerge, and diagnosing an incorrectly encoded output file.
An archived collection of papers, competition solutions, PyTorch examples, and spatiotemporal forecasting resources from my earlier research.
Lessons from our 2020 Problem A Finalist submission, including a costly change of direction and the value of a coherent technical narrative.
An archived Windows setup report, covering CUDA, cuDNN, the Visual C++ runtime and the distinction between a TensorFlow smoke test and GPU verification.
A retrospective on team preparation, modeling practice, implementation, and communicating a solution under a three-day deadline.