Archive for the ‘tech’ Category

Using AI to augment event stream processing

Thursday, October 30th, 2025

In this post, I describe how artificial intelligence and machine learning are used to augment event stream processing.

I gave a talk at a Kafka / Flink conference yesterday about the four main patterns for using AI/ML with events. I had a lot to say, so it is taking me a few days to write up my slides.

The most common pattern for introducing AI into an event driven architecture is to use it to enhance event processing.

As part of event processing, you can have events, collections of events, or changes in events – and any of these can be sent to an AI service. The results can inform the processing or downstream workflows.

(more…)

From Event Streams to Smart Streams : Powering AI / ML with your Kafka topics

Wednesday, October 29th, 2025

In this series of posts, I will outline the most common patterns for how artificial intelligence and machine learning are used in event driven architectures.

I’m at a Kafka / Flink conference this week.

This morning, I gave a talk about how AI and ML are used with Kafka topics. I had a lot to say, so I’ll write it up over the next few days:

In this first post, I’ll outline the building blocks available when bringing AI into the event-driven world, and discuss some of the choices that are available for each block.

(more…)

Introducing LLM benchmarks using Scratch

Saturday, October 18th, 2025

In this post, I want to share a recent worksheet I wrote for Machine Learning for Kids. It is perhaps a little on the technical side, but I think there is an interesting idea in here.

The lesson behind this project

The idea for this project was to get students thinking about the differences between different language models.

There isn’t a “best” model, that is the best at every task. Each model can be good at some tasks, and less good at other tasks.

The best model for a specific task isn’t always necessarily going to be the largest and most complex model. Smaller and simpler models can be better at some tasks than larger models.

And we can identify how good each model is at a specific task by testing it at that task.

(more…)

What are we missing in AsyncAPI?

Monday, September 29th, 2025

I gave a presentation about What are we missing in AsyncAPI? in the AsyncAPI track at apidays in London last week. My aim for the talk was to start a discussion on where there are opportunities to enhance and extend AsyncAPI.

title slide: "What are we missing in AsyncAPI?"

The talk wasn’t recorded, so I’ll use this post to describe what I talked about.


Kafka and AsyncAPI

I use AsyncAPI to document and describe Kafka applications. That was the (admittedly narrow!) perspective I brought. I suspect that a lot of the specific examples I raised have equivalents in other protocols. Even where they don’t, I was trying to make a protocol-agnostic point that we need to think about the different types of people who work in event driven systems and what information they need for their roles.

(more…)

Using MobileNet in Scratch

Monday, November 25th, 2024


Screen recording at youtu.be/cpCeaR9KTF8

MobileNet is a light-weight machine learning model for performing image classification.

In this Machine Learning for Kids project, students can try MobileNet for themselves using the familiar educational low-code programming language Scratch.

(more…)

Using IBM Event Automation with Azure Event Hubs

Friday, April 26th, 2024

IBM Event Automation helps companies to accelerate their event-driven projects wherever businesses are on their journey. It provides multiple components (Event Streams, Event Endpoint Management, and Event Processing) which together lay the foundation of an event-driven architecture that can unlock the value of the streams of events that businesses have.

A key goal of Event Automation is to be composable. The three components can be used together, or they can each be used to extend and enhance an existing event-driven deployment.

Today, I demonstrated some of the Event Automation components working with Azure Event Hubs for Apache Kafka. As Event Hubs provides a Kafka interface to Azure’s data streaming service, it obviously can be used with Event Automation. But it can be helpful to inspire people by showing it for real, so even demos of obvious things can be valuable.

For example, Event Endpoint Management can enhance the value of topics in Event Hubs by offering management and governance, and by enabling governed reuse of those topics. Event Processing makes it easy to get insights from the events on Event Hubs topics, by providing an intuitive low-code authoring canvas to process them.

If I was going to be running this for a while and wanted to optimise for my applications in Azure, I would likely have set this up like this, with the Event Gateways deployed close to the Azure Kafka endpoints.

(more…)

Hoops (a Machine Learning for Kids worksheet)

Sunday, April 21st, 2024

Machine Learning for Kids is intended to be an open creative sandbox to let students invent their own AI-powered projects. But in order to enable that, I create more prescriptive project worksheets to inspire and show what is possible.

I’ve just written another worksheet based around regression models – a model type that I added support for in February.

This project is based on shooting basketballs.

(more…)

Shoot the bug (a Machine Learning for Kids worksheet)

Wednesday, April 17th, 2024

Students are free to devise their own projects in Machine Learning for Kids, but I also write project worksheets to help inspire students and teachers.

This evening, I’ve written a new worksheet based around regression models. (I wrote about adding support for regression models to the site a couple months ago).

The premise for this project is sort of Space Invaders. Except with only a single Space Invader. And it’s a cute little bug.

The aim of the game is to shoot at the bug.

(more…)