Head of Data Science · Speaker · Builder
Making data
tell better stories.
I'm Dan — Head of Data Science at The HEINEKEN Company. I help organisations navigate complexity with data and AI, lead cross-functional teams, and occasionally keynote about it all. Based in South Africa, working globally.
Latest post: Thoughts: Domain knowledge isn't just the business domain.
Latest TIL: How to Inject Dates Into Fabric Pipelines (and Backfill Them)
Writing
All posts →AI Ethics: Addressing Racial Biases in AI and Machine Learning
As AI practitioners, we must identify and tackle problematic biases in our data and models to ensure equitable technology that makes lives better.
A paper, a post and a paragraph - 2nd August 2019
A paper, a post and a paragraph for 2nd August 2019
Today I Learned
All TILs →Short notes on things I discover — tools, tricks, ideas worth remembering.
How to Inject Dates Into Fabric Pipelines (and Backfill Them)
How to pass a shared run_date across Fabric pipeline stages and support historical backfilling with a two-pipeline pattern.
Never Call `spark.stop()` in Databricks Workflows
Never call `spark.stop()` in Databricks workflows. Explicitly call `sys.exit()`.
Building Personal AI Copilots
How treating your LLM Tools like humans can help you build personal AI copilots.
Mypy Narrowing of Union[T, None]
Mypy only narrows Union[T, None] when it sees an explicit check for None or an assertion. This behaviour leads to type errors that may seem unintuitive to solve.