ML-Affairs Blog
Production notes on ML systems, streaming architectures, and the gap between research and reality
Kafka Streams vs Flink Is The Wrong Question
Christos Hadjinikolis | 01 April 2026
A production-minded comparison of Kafka Streams and Flink that focuses on state, recovery, rescaling, and platform boundaries.
PyFlink In 2026: Better Than Its Reputation, Still Not Frictionless
Christos Hadjinikolis | 27 March 2026
Why PyFlink becomes attractive once Python training and Java prediction start drifting apart, and where the JVM/runtime boundary still costs you.
Harmonizing Avro and Python: A Dance of Data Classes
Christos Hadjinikolis | 07 November 2023
Why Avro schema discipline matters in data engineering and how to generate Python data classes from Avro schemas.
Agile In Action: Bridging Data Science and Engineering
Christos Hadjinikolis | 31 October 2023
What Agile looked like to me in 2023 at Vortexa: helping data scientists and engineers learn together, communicate clearly, and ship ML systems that can survive production.
Dynamic(i/o) Why you should start your ML-Ops journey with wrapping your I/O
Christos Hadjinikolis | 31 May 2022
Why ML pipelines need I/O abstraction, and how wrapping file and storage concerns improves maintainability, testing, and delivery.
Complete Guide to Python Envs (MacOS)
Christos Hadjinikolis | 14 February 2021
A practical guide to Python environments on macOS, including system Python pitfalls and the setup patterns that actually work.
A BREXIT NLP Dataset!
Christos Hadjinikolis | 02 September 2020
How I built a BREXIT-related NLP dataset and why real-world labeling and collection choices matter in applied NLP.
Style Transfer in Heraklion
Christos Hadjinikolis | 15 August 2020
An intuitive explanation of neural style transfer, grounded in Heraklion imagery and the core mechanics behind the model.
Agile Data Science
Christos Hadjinikolis | 11 August 2020
Why agile matters in data science work, where experimentation meets delivery, and how teams can move from prototypes to value.
AWS ML Certification
Christos Hadjinikolis | 29 July 2020
A practical guide to the AWS Machine Learning Specialty exam, including difficulty, study scope, and how long preparation usually takes.
Just do it!
Christos Hadjinikolis | 28 July 2020
A short reflection on why public writing matters, why criticism is not the point, and why you should publish before you feel ready.
