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 »

NASA Space Apps Challenge at Hursley

October 20th, 2019

This weekend was NASA Space Apps Challenge again – a weekend space-themed hackathon organised by NASA. It runs around the world, and this year IBM Hursley hosted one again.

I was in a small team with Faith. There were a variety of challenges to choose from and we chose Orbital Scrap Metal which was about educating the public about orbital debris, or space junk – explaining what it is, where it comes from, and the potential impact it has.

We created a game to help kids learn about space debris while playing. It’s fun, educational, and is all driven by real live data about space debris – each time you play, you interact with different real debris items.

Read the rest of this entry »

Using Avro schemas from Python apps with IBM Event Streams

October 17th, 2019

I’ve written before about how to write a schema for your developers using Kafka. The examples I used before were all in Java, but someone asked me yesterday if I could share some Python equivalents.

The principles are described in the Event Streams documentation, but in short, your Kafka producers use Apache Avro to serialize the message data that you send, and identify the schema that you’ve used in the Kafka message header. In your Kafka consumers, you look at the headers of the messages that you receive to know which schema to retrieve, and use that to deserialize message data.

Read the rest of this entry »

Explaining machine learning with decision trees

August 18th, 2019

Machine Learning for Kids now includes interactive visualisations that explain how some of the machine learning models that children create work.

The tool lets children learn about artificial intelligence by training machine learning models, and using that to make projects using tools like Scratch. I’ve described how I’ve seen children learn a lot about machine learning principles by being able to play and experiment with it. But I still want the site to do more to explain how the tech actually works, and this new feature is an attempt to do that.

Read the rest of this entry »

Explaining Machine Learning for Kids (again)

August 7th, 2019

Two years ago, I made a video demo of Machine Learning for Kids. It still gets a lot of views by teachers (either individually or as part of CPD sessions) and volunteers (preparing for running a code club).

It has been looking increasingly out of date as the site has changed a bit in the last couple of years! So I’ve recorded a new walkthrough:

In the video, I show a variety of AI projects that school children have made, and discuss how they reacted to them and what I think they learned.

SQL queries on Kafka topics using Apache Hive

August 6th, 2019

Apache Hive is open source data warehouse software built on top of Hadoop. It gives you an SQL-like interface to a wide variety of databases, filesystems, and other systems.

One of the Hive storage handlers is a Kafka storage handler, which lets you create a Hive “external table” based on a Kafka topic.

And once you’ve created a Hive table based on a Kafka topic, you can run SQL queries based on attributes of the messages on that topic.

I was having a play with Hive this evening, as a way of running SQL queries against messages on my Kafka topics. In this post, I’ll share a few queries that I tried.


Read the rest of this entry »