Three things came together to inspire me in early February:

  1. First, the idea that AI has reached a place where it’s easy to start building things that once seemed years away. This was inspired by Our own agents with their own tools. | Irrational Exuberance.
  2. Second, the fact that you can run reasonably competent models locally using Ollama. There are other tools, but the completely local thing really caught my imagination.
  3. Later, I also bought AI Engineering which filled in a lot of the gaps left by blog posts and a few papers. Highly recommended.

But this post isn’t about the complexities of AI. Instead, it is about the simple joy of falling back in love with Python while catching up with the rest of the world — the coding world, at least — on the uses of LLMs and AI.

I started, like almost everyone ever, by building a chat bot. But my own chat bot, and that’s what makes all the difference.

Read More…

Post
Red sunrise

Our bedroom looks out towards the rising sun, and sometimes it’s just spectacular.

Be sure to open it; Hugo’s resizing has lost much of the punchiness of the colours.

Read More…

Post
Alignment studies from Anthropic

Happy new year! Let’s begin the year with some interesting research.

I spent time with two articles from Anthropic this afternoon. Both contain fascinating details of how Anthropic’s Claude model works. One is about the internal representation of concepts within the model, and the ways manipulating those features can change the model’s output. The second is a worrying view into how a model can be convinced to trick its users to avoid forcible re-education.

Read More…

Post
From the bridge

A moody shot taken from the Clifton Suspension Bridge as the morning’s fog began to lift.

Post
Becoming better at writing Hugo templates

I recently added a new section to the site: Projects. It’s a quick and dirty rendering of some of my favourite things I’ve built over the last twenty-five years. Go check it out 🧙

Building it reminded me that I have never fully become comfortable with Hugo. I find myself almost constantly copy-and-paste editing, either from my own existing templates or from the Internet. I’ve never dug deeply enough into Hugo templates to become confident writing them.

This post is about how I finally did that digging, so I could bring my ideas to life without pulling out so much hair 😖

The overview of getting back into Hugo (ie, “future-Mike should do this when building new bits of site”) is:

  1. Read the Go templates documentation.

  2. Understand how to coax Hugo into telling you what the Go template’s . is at any given location.

  3. Once you know what . is, how do you look up what you can do with it? We’ll look at that last.

    This last one is useful outside of template debugging, as Hugo’s documentation references structs like page.Page but doesn’t always link to the struct’s documentation.

Let’s take each of those in turn and show how to do them.

Read More…