#SwitchGameADay

May 23rd, 2020

For a while now, I’ve been playing a different Nintendo Switch game every day, sharing a video clip on Twitter.

In this post I’ll collect together all of the clips, and the answers to the questions I’ve been asked along the way.


Read the rest of this entry »

Using repl.it with Machine Learning for Kids

May 10th, 2020

Students can work on machine learning projects in Python entirely in the browser, without any need for setup, installs, or registration.

Read the rest of this entry »

Bringing AI into the classroom

February 28th, 2020

IBM and mindSpark are running a series of free webinars for teachers about artificial intelligence.

This evening’s 90 minute webinar was about bringing AI into the classroom, and I helped contribute some of the content.

The session was very interactive, but there were some pre-prepared presentations in there.

I’ve got a recording of one of the segments below, in which I shared some of my experiences of introducing AI and machine learning in schools, and what I’ve found works well.

Read the rest of this entry »

Why are Kafka messages still on the topic after the retention time has expired?

February 9th, 2020

We had an interesting Kafka question from an Event Streams user. The answer isn’t immediately obvious unless you know a bit about Kafka internals, and after a little searching I couldn’t find an explanation online, so I thought I’d share the answer here (obviously anonymised and heavily simplified).

What is retention?

Retention is a Kafka feature to help you manage the amount of disk space your topics use.

It lets you specify how long you want Kafka to keep messages on a topic for. You can specify this by time (e.g. “I want messages on this topic to be preserved for at least X days”) or by disk usage (e.g. “I want at least the last X gb of messages on this topic to be preserved”).

After the retention time or disk threshold is exceeded, messages become eligible for being automatically deleted by Kafka.

What was wrong in this case?

screenshot

They had created a topic with a retention time of 7 days.

They had assumed that this meant messages older than 7 days would be deleted.

When they looked at the messages on their topic, they could see some messages older than 7 days were there, and were surprised.

They thought this might mean retention wasn’t working.

Read the rest of this entry »

A run-through of IBM Event Streams

January 16th, 2020

I needed to quickly record a demo of what it looks like to get started with Event Streams yesterday.

It’s a little rough around the edges (it was only for an internal event, so the production values were essentially me-talking-at-my-laptop without a lot of planning or editing) but I thought I’d share it here in case I need to point anyone else at it.

Geo-spatial data in Scratch

November 13th, 2019

In this post, I want to share a random thing I made in Scratch this week, and ask for suggestions of what I could do with it.


Click for larger version

I get a lot of emails from teachers and coding groups asking for help with Scratch projects. They’re normally small or specific questions – asking for help figuring out a bug in a Scratch project or how to get something working.

But this week I got a more challenging email. It asked for a way to show a map in Scratch, and use a Scratch script to plot points on the map, given coordinates in latitude and longitude.

I agreed to give it a try. (Details for how to access it below.)

Read the rest of this entry »

The Artificial Intelligence Grand Challenge

November 4th, 2019

The first of the Grand Challenges identified in the Government’s Industrial Strategy is about Artificial Intelligence. One of the things that these challenges highlight is the UK’s need for skills in these key areas.

To that end, STEM Learning and the Department for Business, Energy and Industrial Strategy have created the “Grand Challenges – Our Futures” programme to improve young people’s knowledge of the STEM skills identified in the Government’s Industrial Strategy Grand Challenges.

Last week, STEM Learning announced a set of new free resources to support teaching in these key areas.

The Artificial Intelligence resources include three different packages aimed at students of different ages.


Read the rest of this entry »

Using TensorFlow with IBM Event Streams
(Kafka + Machine Learning = Awesome)

October 31st, 2019

In this post, I want to explain how to get started creating machine learning applications using the data you have on Kafka topics.

I’ve written a sample app, with examples of how you can use Kafka topics as:

  • a source of training data for creating machine learning models
  • a source of test data for evaluating machine learning models
  • an ongoing stream of events to make predictions about using machine learning models

I’ll use this post to explain how it works, and how you can use it as the basis of writing your first ML pipeline using the data on your own Kafka topics.

Read the rest of this entry »