This article provides a practical guideline for unit and integration testing in Apache Flink

A detailed tutorial on configuring strongSwan for an AWS Site-to-Site VPN

This guide walks you through building a sample Data Lake in AWS by pushing a News API data stream into S3 using a Firehose C# client, analyzing the data with Athena, and setting up an ETL process via Glue to load the data into MySQL RDS.

In this demo, we set up primary and replica MySQL RDS instances in two regions

Discover a practical solution for the Dual Write Problem in distributed systems using the Outbox Pattern

In this article, we explore Kafka with Protobuf & C#, including a demo for message production & consumption

A blog post about using C# to produce and consume Kafka messages in CloudEvents format

Exploring Kafka Steams Partitioning, Scaling, and Fault Tolerance – we’ll build a simple streaming app and inspect the contents of the repartition topic, RocksDB state store…

A blog post where we use Wireshark to trace the Kafka networking protocol

Predicting English Premier League games based on Transfermarkt market values for the home and away team

[C#] Call stacks in async methods are fundamentally different compared to synchronous execution

[C#] The Awaitable Pattern plays a vital role in the whole async/await workflow behind the scenes

FP or OOP is not a binary choice. You can have a healthy mix of the two in your program

[C#] Let’s examine the concrete implementation of the async/await State Machine along with all the intriguing optimizations performed by the compiler.

“Programming Languages” Series on Coursera is IMO, one of the best classes on foundational programming language paradigms. I strongly recommend it

A Practical Intro to Covariance and Contravariance. Examples in C# but most of the material is also applicable to Java.

OOP is established to the point that we sometimes follow absurdly complicated “idiomatic” patterns(tricks)

The common understanding of Polymorphism takes into account only the runtime type of the “receiving” object

FP or OOP is not a binary choice. You can have a healthy mix of the two in your program

GetHashCode() Pitfalls