Running Tracery bots with LLMs

Tracery bots were a fun, simple, way of making generative texts. They are basically an easy way to specify generative grammars via a simple JSON file format. There used to be a horde of fun little tracery bots on twitter until API changes shut them all down.

Nowadays, you can prompt a chatbot to get whatever you want. But that lacks the same charm, and it doesn’t give you the control you’d want for something unleashed on the internet. Let’s do something about that.

Continue reading

Ozymandias²

I met a scholar from an English class
Who said: In dusty archives, seldom passed,
There lies a sonnet, once of mighty fame.
Near it, on yellowed pages, time-worn, lame,
The dedication reads: “Percy Bysshe Shelley,
Who spoke to power through his burning hymns,
Few now recall, save students, grudgingly.
He wrote of Ozymandias, King of Kings;
Look on his verse, ye readers, and despair!”
Round the decay of that poetic feat,
Bare margins stretch, and in the desert there
His words drift forgotten, like windblown heat.

Becoming Cracked

Recently, I’ve quit my job, and have been trying to learn a new field, with plans towards a bit of a lateral career shift after 16 years as a Financial Software Engineer.

This has caused a fair bit of soul searching, because as it turns out, learning new things is hard.

The first things to conquer were the fear of looking stupid, and persevering without that feeling of mastery. It’s frustrating, but not unexpected, when it comes to learning something new.

Today, I wanted to talk about another roadblock that I’m coming to grips with. I remember when I was much younger, I would absorb new material with ease. Now that I’m doing it as a mini-mid-life crisis, it feels like I’m forcing it, and it takes much more effort. There was a time when I thought I’d lost my “spark”, or at least had replaced fluid intelligence with crystalized intelligence. I eventually realized though that’s not true. I’m basically as sharp as ever, but instead I have a differe a mental roadblock to deal with:

The thing is, I’m more complete a person right now. As a youngster, I was far more willing to obsess over something or make it a core part of my identity. Then work on it far more than is healthy or sensible. Now, I feel I have ties to a dozen different areas – my career, my hobbies, my relationships. Each of these demands time and focus.

I see the same pattern when it comes to learning languages. Children learn languages very well, even outside of the critical period. There have been studies showing this is is because they simply sink ungodly amounts of time into learning. I’ve been revising German as an adult via Duo Lingo for 3 years. But 5 minutes a day for that period adds up to a term or two of school lessons, excluding any homework. It’s no surprise that I’ve made no progress with that sort of dedication.

I’ll probably never be cracked at something new, same as how I’ll never reach native level fluency at German.


So am I essentially arguing for a form of agism, then applying it against myself? That I’m saying that even if you have the same energy, intellect and time as a youth, you are unlikely to be as devoted to something new? That I’ve become cynical, instead of passionate?

I think not. Instead, my mental model is that of a super-tanker. Now that I am a bit older (though not that old!), my hull is stocked with precious resources. I’m used to spending on time on things, and that gives a certain momentum to winding down one thing and doing another. Turning is not something to be taken lightly when you’ve spent so much fuel getting up to speed in one direction. But perhaps it is more valuable to arrive with goods at the right destination, but late, than it is to arrive elsewhere, or arrive empty handed.

Generating Tilesets with Stable Diffusion

Recently I’ve been playing around more with gen AI techniques. I thought I’d try to generate a set of tiles that all connect together. It’s harder than it sounds – Stable Diffusion is hard to control, so there’s no easy way to get a set of images that are fully consistent with one another.

I’ve developed a technique for doing it that I’ll call Non-Manifold Diffusion as it involves doing diffusion over a set of patches that interlock to form a non-manifold surface.

Continue reading