But This Was A Fantasy — An Adam Curtis Search Engine

I built a new thing.

Presenting: But This Was A Fantasy: An Adam Curtis Search Engine

Yes, given any natural language query entered into its shiny, Helvetica-accented search box, and The Ghost In The Machine & The Machine In The Ghost will respond with five images that it thinks are most appropriate.

How does it work? It’s a mixture of OpenAI’s CLIP model and Facebook’s FAISS vector similarity library. I take every second of footage, encode it using CLIP and store the normalized vectors into FAISS. For searching, it encodes the text, again using CLIP, and computes the cosine similarity between the text vector and all the encoded image vectors, returning the top 5 results (which I then check against a SQLite database to pull out metadata such as the episode title, timecode, and the appropriate image URI). Basically, “tell me what image is closest to this bit of text?”

There’s not much more to it, except for some embarrassing Javascript which was mainly me spending the week doing my first ‘major’ web development since working on the Call of Duty registration system back in 2012. Apparently there are magic things like the Fetch API now instead of XMLHttpRequest! No longer do you need to use jQuery and IE polyfills!

(please, JS devs, do not actually look at the code; there’s a couple of laughable bits in there which are me falling back to “yes, I’m sure there’s a proper way to do this, but I am bored and I’ll just throw in this half-remembered hack that gets the job done)

So it’s a FAISS index file, a SQLite database, a FastAPI Python server, one page of HTML and a lot of images, all bundled up into a single stateless Docker container and running on Google Cloud Run. Look at me embracing the current zeitgeist (in fairness, I am pleased with the Knative stuff and I’m already pondering how I can use it with work’s Kubernetes infrastructure to make our lives easier). And aside from having to adjust the memory limits to make the container actually run and some long-ish startup times, it all seems to work pretty seamlessly.

I do have some improvements in mind, if people are interested.

  • Obviously, add more series. The BBC have helped here quite a bit, as they’re put up a bunch of his older series up on iPlayer, meaning I can get high-quality videos instead of weird YouTube rips. I already have an index that includes all of Pandora’s Box.

  • If you play around with queries, you’ll notice that the search engine really likes returning images that are seconds apart from each other. This makes sense, as if the one second of an interview is a high match for the query, then the next second is likely to be as well. As is the next second. But it does make the results a little boring. I’ve written a reranking function that instead gets 10 results from the FAISS index and strips out those that have close timecodes to other images that come from the same episode. So I’m thinking of adding that as an option. Also, it might be handy to filter to only include results from a specific series, just in case you don’t want your search aimed at The Mayfair Set to be sullied with anything else.

  • Finally, I want to experiment with the different types of FAISS clustering so I can get the best use of memory, CPU, and accuracy out of the engine as I keep adding vectors to the index. There’s endless tinkering available here — I managed to take an episode down from taking up 10Mb to less than 750Kb without much trouble, but the accuracy of the results wasn’t great compared to the original. So I’ll need to come up with some metrics for (automatically) testing out the options.

  • Map ‘rainy fascist island’ directly to British-related images.

  • I’m not above doing a Perry & Croft or Morse, or even Cracker (“search for the odeon on the oxford road” —> “that’s fine by me!") version if people are twisted enough to want those. Give me enough Plays For Today and we’ll get that going too.

Amusingly, this is pretty much directly related to my day job at the moment. Anyway, enjoy and let me know if you find anything fun!

Go Away Snow

Two weeks in and I can definitely say that I’m over the snow. Actually, I’m fairly sure I was over it a week ago, but two more snowfalls have seen more shovelling and having to jumpstart my poor cold car, so I really just want the temperature here to go above freezing for a few days and take all the snow away. Fewer flying sheets of ice on the roads, please!

(yes, yes, it’s pretty, and I don’t have it even a tiny bit as bad as colleagues in Texas. But I want it to go away! Maybe my car will start again)

Otherwise, it Has Been A Week. But it has gone a little quicker due to a project that I’ll be showing the first iteration of tomorrow morning! (It’s not that exciting, but prepare yourself for the first technical-ish post in a while!)

Finally, what do you do with leftover gianduja that you made for Shrove Tuesday? That’s right, NUTELLA DIGESTIVES.

View this post on Instagram

A post shared by Ian Pointer (@carsondial)

Can't Get The Generation That Bought More Shoes Out Of My Head

In the South of Britain, A Man Made A Website

Well, then. I’ll admit that when the music kicked in at the end of Part Four, my late-night reaction was “wait, is that the firework? OMG IT IS!". And then, the next day, I found out that the BBC actually vetoed him calling the series You Are The Generation That bought More Shoes And You Get What You Deserve (apparently for being too long). I feel like my old, old website has finally been vindicated.

As for the series itself? As usual with Curtis, about 50% bobbins, 50% interesting. But probably his best since The Mayfair Set, I’d say. And so much of it! Even longer than the total runtime of Pandora’s Box (by about two extra hours (!)). I also like how so much time has passed that even his old interviews have now been turned into archive footage for Curtis to recycle1.

I have to applaud the use of Gell-Mann in the final episode; I can’t help but think that’s a slight nod to the Gell-Mann Amnesia effect, which was in full flight in the second half of Part Six when Curtis got the post-2008 and post-2016 timelines wrong and a rather misleading segment on DeepDream.

Still, if you fancy a fun and frustrating eight hours on a tour of the world from the 19th century up to the present day encompassing George Boole and Tupac Shakur, you can’t go too wrong with Can’t Get You Out Of My Head2. Given the focus on China, I was sad that it didn’t also dig in a little on Thiel and Nick Land. Chuck in a bit of Burial on there as a cheeky wink to Mark Fisher, and you’d be golden3.

One thing I would like to see one day (could somebody chuck some money to Robin Carmody to get this done, maybe?) is a proper look at how odd Britain was in the late 60s and the 70s? I’m talking about things like Lord Lucan, just-what-those-tanks-were-doing-on-the-Heathrow-runway, The Owl Service, the final days of Harold Wilson, GB75, Dennis Potter, Lieutenant Pigeon, the Yorkshire Ripper, the formation of the IEA, the summer of 1976, Jimmy Savile, Nigel Kneale, The Fall and Rise of Reginald Perrin, Derek Jarman, Jeremy Thorpe, Play For Today, Play Away, internment, decimalisation, Whatever Happened To The Likely Lads?, the Three Day Week, wife-swapping, and Arthur Scargill. More bits like the Whicker documentary in Part One!


  1. Lots of The Living Dead for a start. I was mildly annoyed that he didn’t return to RAF founder Horst Mahler, given the his turn to Holocaust denial since that interview ↩︎

  2. Two leaders conspicuous by their almost total absence from the narrative? Reagan & Thatcher. The lack of the latter (aside from a small archive clip) was especially glaring, given that Curtis made the ‘telling stories is powerful’ pitch in The Attic 25 years ago. But it would have also contradicted his pitch here somewhat… ↩︎

  3. Also, the lack of Carter The Unstoppable Sex Machine during the multiple mentions of Rachman was a crime. A crime! ↩︎

Sunday Evening Sad

Well, it finally happened. I’ve slipped into self-parody, and I watched the first episode of Last Of The Summer Wine this week. And you know…it wasn’t bad? Including a few gags that you’d be a little surprised to find going at 20:30 today, let alone in 1973.

(I also made it through two episodes of The Owl Service, which I liked…but dear God, some of the costume choices must have been questionable for a children’s show in 1969, surely? Alison doesn’t wear trousers or a skirt for the entire length of episode one. Just a little awkward)

Continuing a theme, though, I would like to register a complaint about my situation in this country. Why is American cling film so bad? It doesn’t stay in the box, the the cutters don’t really cut…and it doesn’t stick to anything except itself. It somehow manages to fail at everything. And this isn’t just me fondly remembering British cling film with a ‘halcyon days’ filter, as I have a roll of it here too — and it just works as you’d expect. Except I have to ration it as I won’t be getting extra supplies any time soon. I just don’t understand how the equivalent is just so bad here, across all types and brands.

I have watched three men in a tin boat and I’m complaining about cling film. Yep, I’m definitely in my 40s now. Also, we spent the weekend prepping for the cold days ahead and DIY. Ah, middle age…

Oh, but I did make Nutella Aero! That counts for something, right?

View this post on Instagram

A post shared by Ian Pointer (@carsondial)

All The Books

There’s absolutely no way I can keep this pace up, but as we come to the end of January, it turns out that I’ve read 81 books in the past 31 days (and probably around 10 deep learning papers on top of that). I guess the Winter nights have seen me head back to the bookshelves (as I write this, the snow is coming down in big clumps). I would like to put something together like reading.lol for what books I get through during 2021, but you can’t get an API key for Goodreads anymore. So I’ll just keep a list instead.

(and yes, I’m already trying to work out where the next set of bookcases will go. My end goal is something like Eco’s, naturally.)

We finished It’s A Sin this week! Cheery! Although I did enjoy the parts where I had to pause and explain Isla St. Clair, Larry Grayson, the Generation Game, and other bits and pieces of 80s Britain along the way. And although I knew it was coming, seeing this advert again brought back childhood terrors:

(One thing you can say about Britain is that we used to know how to make Public Information Films that would instil the Fear of God in children across the land)

Anyway, good series; I feel that knowing that RTD planned it as an eight-part series hurts it a little — things feel a little too compressed at times, and I think the dropped plan for the final episode (which would have brought Jill into the present day) would have rounded things off better than cutting the story in the early 90s. Or maybe I just wanted it to end on a bit more of a happier note.

And I think that’s it for this week. Next week should see at least one experiment up on the blog. Maybe two if I can summon up a little more effort to get motivated than I normally do these days. A dark Winter indeed…


  1. When I started this entry last night, the figure was at 7. Then I stayed up to 2am reading Piranesi from start to finish. I may be slightly regretting not splitting it out over two days this morning. ↩︎

The Screw And The Sun-Dried Tomatoes

Given that news broke this week that Adam Curtis has a new series coming out next month, it seemed appropriate to go back to what seems to be his first producer credit outside of That’s Life. Yes, that’s right, it’s time for a film about a day in the life of…Selfridges in 1983 (or more likely 1982).

Wait, come back! Yes, it doesn’t hit the tradition Curtis bingo spots (no Eno here), but it’s hilarious. There’s a terrifying harridan ruling the cosmetics counter, a hat-seller that admits he hates hats, a hairdresser segment that you wonder how it got broadcast, the man whose name is Morris but only answers to ‘Norman’ due to his love of and aspiration to be Norman Wisdom…easily the archive highlight of the week.

Hmm…anything else happen this week? Anything? It’s amazing how much space there is for everything when you don’t have the ravings of a wannabe Mad King spewing out into cyberspace and the airwaves. And that’s all we need to day about that.

Because other things happened this week! Let me tell you of one of those scary adventures. I was going to make a sandwich. I like sun-dried tomatoes on sandwiches. But sometimes, the oil in the jar solidifies in the fridge. No trouble, you just run it under the hot tap for a few minutes (it helps if you have my hot tap, which can actually sear skin off hands if you’re not careful). What can be a problem is if you idly set it down on top of the garbage disposal, only to find that it is a perfect fit for the hole.

What then followed was thirty minutes of panic, attempts to pull it up using tongs, spoons, knives, and forks. The end result was that I somehow managed to get it more stuck. I was somewhat resigned to having it stuck there forever, until somebody suggested an approach that both seemed over the top, but also maybe the only way I was ever going to get it out.

And thus, on Thursday lunchtime, I used a power drill to punch a screw into the top of a jar of sun-dried tomatoes.

It actually worked, though! I had it out within a few minutes once the screw was secured. However, I threw the jar away rather than risk metal shavings. So the end result was no sun-dried tomatoes and I was sad. Adventures in lockdown life.

One other thing…I have had this house for over three years now, even if I haven’t actually quite lived here that long. As of this weekend, it finally has curtains. The kitchen cabinets still don’t have drawer pulls, mind you…

GIFs From Yesterday

For various reasons, I had the need to create one of these GIFs this week (as to which one was first, I’ll leave that as an exercise to you, dear reader). But once I started, I couldn’t stop. Well, I stopped after three. But! It made me think about the Americanness of most animated GIFs, so I’m thinking of running an occasional GIF session where I redress the balance by making memes out of old Dennis Potter plays1. Consider this post a warning of our shared dark future. “Love to Ann!”

Love to Ann!

Halcyon days

utter nonsense


  1. Oh no, I’m not joking about this. You wait until I get to the Blackeyes GIFs ↩︎

If I Lose You / If I Lose You

Sure, everybody (rightly) loves Sea Shanty TikTok. But can I point out that Life Without Buildings TikTok is also a thing?

Yes, that’s right, a British band that was obscure even at the time (I don’t think I’ve ever heard them outside of…when I play them), currently a big sensation with The Kids, most of whom probably weren’t even born when The Leanover came out. On the one hand, I feel old. On the other:

It feels like I’ve embraced normcore. I know some people that are continuing to dress up for work even though they’re at home, as a way of keeping the separation between work and free time clear. That makes a lot of sense, and I hope it works for them! I…gave up around April or May last year and my slide continues. I bought (and was given) a bunch of nice jumpers last January which I refuse to wear. There is a good reason for this: due to how I sit on my work chair, the chair itself, and my psoriasis, I have discovered that I’m in danger of rubbing away the fabric on my left arm really quite quickly.

So I’ve been building up a collection of cheap jumpers from Amazon and the good clothes are put up away until a better time awaits us. And I have definitely got over any embarrassment about wearing tracksuit bottoms to go shopping. Not that I do that much right now either, mind you…

Finally, I think it’s a year since I saw New Order for the first time! A weekend where I wandered the streets of Miami with an odd, severe virus that left me exhausted and very ill…look, if I was the vector into Florida, then I’m very sorry, and I didn’t know…

Are We Supposed To Work During An Attempted Coup?

Quiet week, really, eh?

Okay, so I didn’t really expect to be living in a time when an armed insurrection and invasion of the Capitol occurred. Or that I’d be watching it in real-time (although as it turns out, watching it unfold in real-time was somewhat deceptive, as it’s become clear in the days following that things were a lot more dangerous than they initially seemed Wednesday afternoon, and one officer had not noticed a Senate entrance was undefended, it could have been a bloodbath). But what’s a little sedition and the attempted assassination of the Vice-President and Speaker of the House between friends?

Still, at least we’ll always have Friday night and the Social Media Presidential Whack-A-Mole Event to tell the grandchildren. “When I was a lad, we had to open up our social media accounts! T’were all fields of whitespace and suspensions!”

Otherwise, the usual trepidation of returning to work, though this time with the added 2020/2021 pandemic dread. On the bright side, I did realize yesterday that it’s MLK Day next week, which is one of the few times that the US holiday schedule provides something over the traditional British Bank Holidays (no days off until Easter for you!). It does help the transition back into working while Winter deepens all around you. At least, I think it does; I’ll report back next week!

Oooh, but I did accomplish one thing this week. I actually completed Breath of the Wild. I have finished a Zelda game for the first time! What with that and my successes with Hades, I think I’ve actually got better at computer games than I was as a child, when I could only complete about 10 from a sizeable Spectrum collection — though, to be fair, Jet Set Willy is so hard that even DeepMind would struggle to get all the objects. Or else games are getting easier. Which is probably a touch more likely (thank goodness for save states).

First Snowstorm of The Year

Less than 24 hours to go now. And I can’t help but feel I squandered the days off, even if when I look over the list of things I wanted to get done over the past two weeks, I’ve done most of them and made a decent stab at those that were not completed. But still, the feeling of running out of time just won’t go away, and the looming restart of January 4th is hanging over what’s left of today like a shadow at the edge of the fog.

Apparently, I’m in a cheery mood this morning…

Let’s take a break with a picture of a biscoff & crunchie single-serving Viennetta which closed out the past fortnight of baking.

View this post on Instagram

A post shared by Ian Pointer (@carsondial)