Interesting Stuff - Week 37 - 38, 2023

Posted by nielsb on Sunday, September 24, 2023

This roundup covers last week and this week: Explore the Circuit Breaker Design Pattern with insights from Waldemar and learn how it handles errors in distributed systems. Discover the world of Distributed Computing with Simon’s exploration of Dapr’s sidecar pattern, simplifying infrastructure interactions.

Revolutionize SQL queries with Azure Open AI, delve into Langstream’s Gen AI framework, enhance Azure OpenAI models with vector search in Azure Cosmos DB, and master Apache Flink’s stream processing capabilities with Flink SQL.

Join me at Data Saturday Cape Town on September 30th for deeper insights.


  • Circuit Breaker Design Pattern. The post by Waldemar, a mate of mine, is about the Circuit Breaker Design Pattern, which is a way to handle errors and failures in distributed systems. The post explains the purpose, the mechanism, and the benefits of the pattern and provides a code example in C#. The post also recommends a library called Polly that implements the pattern and other resilience policies.

Distributed Computing

  • Building event-driven systems at scale in Kubernetes with Dapr — Part 2: How does Dapr work?. This is part two of Simon’s series about Dapr (you will find the first part here). In this post, Simon says, 😄 (explains) how Dapr works using the sidecar pattern, which runs a separate application alongside the main application to handle infrastructure interactions. The post also describes how Dapr components abstract various infrastructure services and how Dapr API and client enable communication between applications and Dapr sidecars. The post concludes with a vision of how Dapr can empower developers and operations engineers to build scalable systems with less effort. I am so looking forward to the next part of the series!

Generative AI

  • Revolutionizing SQL Queries with Azure Open AI and Semantic Kernel. This post is a tutorial on how to build a speech-enabled SQL query system using Azure Open AI, Semantic Kernel, and Azure Speech Services. The blog post guides the reader through setting up an Azure Open AI account, deploying a model, and integrating it with Semantic Kernel to translate natural language queries into SQL statements. The post also shows how Azure Speech Services can convert speech to text and synthesize speech from text. The post demonstrates how to interact with a SQL Server database using natural language and receive the results as spoken text. The post concludes with a vision of a future where data is not just queried but conversed with.
  • Build streaming Gen AI apps rapidly. While reading the September edition of Hubert’s newsletter, I came across Langstream, a framework for building and running Generative AI (Gen AI) applications. It is designed to make it easy to build and run Gen AI applications that can process data in real-time. You can combine the power of Large Language Models (LLMs) like GPT-4 and vector databases like Astra DB and Pinecone with the agility of stream processing to create powerful Gen AI applications. It looks really interesting!
  • Vector search with data in Azure Cosmos DB. This post is about how to use Retrieval Augmented Generation (RAG) and vector search to enhance Azure OpenAI models with data stored in Azure Cosmos DB. It explains the key concepts and benefits of RAG, which retrieves relevant data from external sources and integrates it into the model request. It also provides links to tutorials and sample code demonstrating different ways to implement RAG with Azure Cosmos DB using various APIs and services. The post aims to help developers build AI-powered applications leveraging their data in Azure Cosmos DB.


  • Your Guide to Flink SQL: An In-Depth Exploration. The blog-post is part of a series that introduces Apache Flink and its features for stream processing. This post focuses on Flink SQL, a SQL engine that can process real-time and historical data. It covers how Flink SQL relates to other Flink APIs, how to create and query tables from various sources, and how to use various SQL operations and functions, such as joins, aggregations, windows, and pattern matching. It also explains choosing between streaming and batch processing modes in Flink SQL.

WIND (What Is Niels Doing)

As I wrote in the previous roundup Data Saturday Cape Town is coming up on the 30th of September, and I am prepping for my two sessions:

  • Unleash the Power of Azure OpenAI: Transforming AI Development on Microsoft Azure - This is the session I presented at the Data Saturdays in Johannesburg and Durban a month or so ago. I am looking forward to presenting it again.
  • ksqlDB - The Real-Time Streaming Database - As the title implies, I look at the awesomeness of ksqlDB and how it can be used. I have presented this session before, but never in South Africa.

Data Saturday Cape Town is FREE, so if you are in the area, please register and come along. I am looking forward to seeing you there!

~ Finally

That’s all for this week. I hope you enjoy what I did put together. Please comment on this post or ping me if you have ideas for what to cover.

comments powered by Disqus