Archive for July, 2026

Generative AI with tool calling in Scratch

Friday, July 10th, 2026

In this post, I want to share a new feature in the generative AI support in Machine Learning for Kids: tool calling.

I wrote last year about how I introduced Generative AI in Machine Learning for Kids by adding support for projects using small language models. And earlier this year, I walked through my six favourite projects for explaining different aspects of Gen AI.

This week I’ve been working on extending the language model support in the site, by adding a new model that is capable of tool calling.


demo video at youtu.be/HdcTseNvjhU

Why is tool calling useful?

Try asking a model what the weather is like in New York right now.

If the temperature and top-p is high enough, many of the models will likely hallucinate an answer.

If the temperature and top-p is low enough, the models can just respond that they cannot answer that.

(If you don’t know why “temperature” makes that difference, I’ve written about that before and have a student worksheet that focuses on this.)

This second answer is more accurate at least, but it is still not helpful. The point is, if you ask the model for something that can’t possibly be represented in the knowledge used to create it, the model cannot give a helpful answer by itself.

Tool calling helps in these situations by making tools available to the model. It can call these tools to help respond to prompts that can’t be answered by the model alone.

(more…)

Why I enjoy my commute

Sunday, July 5th, 2026

My commute to work is one of the favourite parts of my day. I’ve mentioned it before, more often than I probably should, but in this post I try and explain why I enjoy it so much.

The journey

Otterbourne village and crossing the motorway

I start off walking through Otterbourne: past the pub, across Otterbourne Hill Green and past the weird mini-castle at Otterbourne Hill Reservoir (I still don’t really understand what that’s all about).

(more…)

I have a new job!

Saturday, July 4th, 2026

In April, I wrote an outline of my career. That post is already out of date, because I have a new job to add to the list.

I’m joining Confluent as a Principal Software Engineer working on Confluent Platform for Apache Flink.

I won’t try and describe what “Confluent Platform for Flink” is here. Partly because I’m sure I’ll have plenty to say about it in coming months. Mostly because I’ve got a lot to learn and anything I say today will almost certainly be incomplete or inaccurate in ways I’ll find embarrassing once I know more. In the meantime, the product page or the docs site are the best places to go if you’re curious.

But that won’t stop me speculating about what this all means for me.

(more…)