Photo (c) Jan Trutzschler von Falkenstein; CC-BY-NCPhoto (c) Serge BelongiePhoto (c) Rain RabbitPhoto (c) Samuel Craven


I am an academic computer scientist, conducting research into automatic analysis of bird sounds using machine learning.
 —> Click here for more about my research.



Older things: Evolutionary sound · MCLD software · Sponsored haircut · StepMania · Oddmusic · Knots · Tetrastar fractal generator · Cipher cracking · CV · Emancipation fanzine


Back when I first tried alcohol-free beer, I only knew of one from Sainsbury's (not bad) and Becks Blue (meh) - little did we know that by 2020, there would be so many that it's hard to keep track of them all! There are many good ones but also a few to avoid. I'm shocked to report that not only have we tasted over 70 alcohol-free beers, but also... a whopping twenty-two of them are so nice that I'd enthusiastically recommend them to all of you.

I won't list them all directly here (but you can see the spreadsheet if you like - oh yes... and here's a PDF of it). Here are some of the most fabulous and notable ones we encountered. Cheers!

Our other top picks are:

food · Thu 30 July 2020

This was a great dish making a centrepiece of the cauliflower with Indian spicing. I made it up based on something that looked nice on Masterchef. A notable non-cauliflower-lover gave it top marks so I'm sure you'll love it too.

Serves 2, takes about 50 minutes, plus extra time at the start to marinate.

For the rice:

For the cauliflower:

For the carrot:

First, marinate the cauliflower. You can do this way in advance, e.g. 2 hours - but give it at least half an hour if you can. Mix the coconut oil, vegetable oil and all the dry spices. Chop the cauliflower into four big quarters - remember, you want these to come out whole at the end of the process, try to cut them so they'll stay entire. Now marinate the cauliflower in the oil and spice mix, turning it a few times to try and get all the surfaces flavoured.

When there's about 40 minutes until service, turn on the oven to 180 C. Oil a baking tray or baking tin and pop it in the oven to pre-heat.

Now start off your rice. Wash it in a sieve or suchlike, washing it until the water runs clear, then leave it to soak in fresh cold water for 10--20 minutes. Make sure all the bits you need for the rice are ready.

Take the baking tray out of the oven - be careful of the hot oil - and lay the cauliflower pieces flat-side down into the hot oil. Return to the oven. They'll cook for about 30 minutes, and halfway through you'll want to turn them so that "the other" flat side is down in the oil.

Drain your rice and put it in a pan that has a tight-fitting lid (it's handy to oil the pan a little, in advance). Add all the other ingredients to the rice pot, as well as 2/3 mugful of cold water (or less, if you're using coconut milk - 1/3 mugful?). Bring this to the boil, stir, then turn the heat down to the lowest it can possibly go and put the lid on. You now need to leave this un-disturbed for 20 minutes for the rice to absorb. Meanwhile you can get on with the carrots.

Slice the carrots into very thin coins and put them in a pan with a little oil and 100ml water. Bring to the boil, salt, and cook vigorously for about 12-15 minutes until soft.

Drain the carrots. If you've still got the bowl in which you marinaded the cauliflower, you can pop the carrots in there to pick up any leftover spice. If not, don't worry. Put the carrots and coriander, together with a dash of water (e.g. from cooking the carrots) and a dash of oil, all into a blender and blend to a smooth puree. Check seasoning, add a bit more salt if needed.

To serve: with a big spoon, scoop the rice out to make a mound. Take the puree and spread it over the plate next to the rice. Take the cauliflower pieces from the oven and place them on top of the puree.

recipes · Mon 27 July 2020

It's official! Vegan ice-cream is now good.

Don't believe me? I don't mind, that means more for me :) But if you want my credentials: I'm not even a vegan and I think these ice-creams are great.

It's summer. There's a problem. You want ice cream, but the dairy industry produces masses of CO2, making the world hotter. Dammit, a vicious circle. Never fear! Try these amazing ice creams:

  1. Jude's vegan vanilla - it is LOVELY and creamy, with the decandent vanilla bean taste you want.

  2. Oatly strawberry - lovely pink strawberry flavour.

  3. Ben & Jerrys "Coconutty Carameld" - a weird but great combination, the coconut against the caramel -- the type of thing B&J are known for.

  4. ROAR "Coconut mango passion fruit oat cookie" -- what a crazy flavour. This tropical ice cream has really fresh flavours of mango and passionfruit both coming through boldly. I'm not really sure why it has oat flakes in it, but the overall effect is an over-the-top tropical cocktail. -- Oh and I also really like their "hemp seed chocolate brownie" ice cream, which is a straightforward great chocolatey one.

These companies all do other flavours too (for vegan chocolate ice cream, Oatly's is also good). But if you've not tried vegan ice cream before you might not know where to start, so here's your executive summary.

food · Mon 15 June 2020

The UK's response to Covid-19 is a national tragedy. It's not just a case of "bad luck": we had approx 2 weeks extra time than Italy in coming up with our response, and yet we somehow managed to achieve a higher number of Covid deaths, and even, a higher number of Covid deaths-per-million.

For me, it's the deaths-per-million that is the number to care about, since it adjusts for the big differences in numbers you would get simply from a country being large or small. For a long time we were tracking along with the same rates as France and the Netherlands, both countries that "got the virus" at about the same time as us. Then our stats pulled away, now being twice the (normalised) fatality rate as those countries. Twice.

You can also measure "excess deaths" which helps account for deaths not necessarily labelled as "covid deaths". As of May 15th, the FT lists us as having 59,500 excess deaths (+65%), versus Italy's 46,700 (+47%) and Spain's 43,500 (+62%). (Update: the FT has an article on 28th May analysing our higher death rate in more detail.)

The minor differences in how each country reports their data are insignificant here. They can't possibly explain away this tragedy. We had two extra weeks to get our preparations in place. And there are plenty of reasons the UK should have been one of the best-prepared countries in the world. This BMJ editorial gives a good overview of the UK's public health failures in handling the coronavirus. There were (probably) mistakes in the scientific advice, and these are mentioned in the article. But don't let that misguide you - there were big, very big errors of judgment at the political level too. And it is the government which has the responsibility for getting us through crises like this. Our numbers should not have been anywhere near as bad as Italy's or Spain's.

Politicians are dedicated experts at pinning the blame on anyone but themselves, though. The UK government are already trumpeting loudly the defence that they're "following the science", and surely they will use that defence when the public inquiry comes.

So. Putting aside many of the other uncertainties - if they were indeed following the science, then:

None of these are "science led" actions, even considering the differences in advice from different scientific advisors. I'm nervous that the scientists involved, who are presumably much less experienced at media and spin than the politicians, may end up scapegoated for mistakes and ambiguities which we can see in retrospect. One of the scariest implications of that would be the big disincentive for scientists to get involved with giving their expert advice to the UK government in future.

If you are involved in science: beware of framing your conversations around flaws/gaps in the scientists' advice - even though that can be an interesting discussion (particularly because it's more concrete than discussing politicians' ideologies). As the list above shows, the people in charge made lots of concrete statements and decisions that deserve clear scrutiny. Similarly, there's no point blaming politicians nor scientists for innocent mistakes. Instead, focus on clear deliberate actions such as listed above. So much of the UK's response was shaped strongly by political ideology and political allegiances. We need to investigate these.

politics · Mon 08 June 2020

Tomorrow (Saturday) is the 2020 edition of Soundcamp's Reveil. I've been attending it for the past few years and I heartily recommend it as a 24-hour immersion into the sound of dawn chorus bird song from around the world.

The core of the Reveil is a 24-hour live audio stream, which is actually made of live streams piped from dozens of locations around the world. Over the course of 24 hours, from 5am Saturday to 5am Sunday, we hear the birds waking up and singing in amazing and very different soundscapes, familiar and unfamiliar.

We're really lucky that the livestream Reveil is something that works perfectly even without us all meeting up in person. I'll be tuning in (you can listen via the website, or via Resonance Extra, or even via a UK telephone number - listening info is here) and I'll also be joining in the text chat where people will be discussing the soundscapes, as well as the art pieces and talks scheduled to run throughout Saturday. Do join!

sound · Fri 01 May 2020

I veganised a recipe handed down from my mum, and it's great. It's a lovely moist cake, keeps for a good while, and easy to make from mostly store-cupboard ingredients.

The most exotic thing involved is the ingredient that I used to replace egg: chia seed. You can also try flax seed. This other website has a nice guide on how to make "chia egg" or "flax egg" - there is something in these seeds that makes a glutinous substance that can bind a cake together.

The end result is great. Compared against the non-vegan version there's a different texture - the edge of the cake is chewy/crispy in a nice way, I find.

First prepare the chia egg: grid the chia seeds in a pestle and mortar, mix the water in, and leave it to stand for a few minutes while you do the other things.

Line an 18cm (7 inch) round cake tin with greased greaseproof paper, and preheat the oven to 180ºC (350ºF, gas mark 4).

Put the sugar into a mixing bowl and gradually whisk in the oil, then whisk the eggs in one at a time (easier to get them mixed in smoothly that way). Add the flour, cinnamon and baking powder and stir the mixture well, beating out lumps to make the mixture as smooth as you can. Add the carrots, nuts, and dates, and mix.

Pour the mixture into the prepared tin and bake for about 1 hour 10 minutes, until the cake is risen and firm to the touch.

Remove from the oven, leave to stand in the tin for 3 minutes, then turn out onto a wire tray, peel off the paper and leave to cool.

recipes · Mon 06 April 2020

This evening, took the time to make a nice mushroom and aubergine biryani. It takes a little time to prepare the onions and the marinade, but this method cooks the rice beautifully and makes a great one-pot dish.

Serves 2. The recipe here is based on a biryani recipe in "Indian vegetarian cookery" by Rafi Fernandez (p109). - And if you're wondering if 2 onions is too much for 2 people, well I wondered too, so I checked it against three other recipes before I tried it. It is indeed the right amount!

For the marinade:


Fry the aubergine pieces in not-too-much oil, just a touch - just to get a bit of colour on them.

With a fork, beat the yoghurt with the other marinade ingredients in a decent-sized bowl. Toss the mushroom and aubergine in this paste, making sure they're covered well, and leave to marinate for at least 20 minutes - could be much longer if you like.

Slice the onions into 5mm halfmoons, and fry them in hot oil for up to 10 minutes to crispy. Drain them on kitchen paper.

Rinse the rice. Parboil the rice (5 mins) with bay leaf, cinnamon, cumin seed and saffron. Then drain it and run the cold tap over it a little to stop it cooking. Don't do too much, no need to wash the flavour away.

In a pan with a tight-fitting lid, put a glug of oil and/or butter. Spread it around to make sure the bottom of the pan is coated. Now place a small scattering of rice, then the mushrooms+aubergine in a layer. Then half of the remaining rice, followed by most of the fried onions as a new layer (keep some fried onion for garnish), and finally the rest of the rice. Pour the milk over the top, gently making sure you get it evenly all over.

Now put the pan on the heat. Turn the heat down to the lowest it can go, and put the lid on. Let it cook gently for about 40 minutes - do not stir it ever, and do not open the lid.

To serve - turn the contents of the pan out onto a plate. Garnish with the leftover fried-onion, and coriander leaves.

recipes · Sun 29 March 2020

Free markets? Democracy? High or low taxes? ... We're in an era when lots of commentators are in favour of "let the market decide". I was struck by this, funnily enough, when looking at the much-blogged and much-discussed opinions of Dominic Cummings. His writing has plenty of interesting detail, and a good understanding of technology, and of course there's plenty to agree with or disagree with. This is the quote that struck me:

"Economic theory, practice, and experiment have undermined the basis for Cartesian central planning: decentralised coordination via market prices is generally a better method for dealing with vast numbers of possibilities than Cartesian or Soviet planning, though obviously markets have problems particularly with monetary policy and financial regulation."

These aren't the problems that come to mind when I think of market mechanisms. The more fundamental are democracy, and equality of opportunity. You don't need to "pick a side" (not even the left side) in order to agree that market mechanisms have a "rich get richer" outcome baked into their core. "The rich get richer" is not an axiom, but it's an unavoidable consequence and inseparable from the processes that make markets "efficient".

By the way - "efficient", here, means that prices in the market reflect all available information about the values of the things in that market. Informally, it's the claim that markets are the best way of deciding what to do, once you've written down what value you attach to things and outcomes.

The claimed efficiency of markets has been a long-running debate. What we can see from recent history, though, is that the "free market" idea does generally seem to be effective in the sense that once you've set the rules of the market, all the different actors in that market (people, businesses, investors) play their part and it all adds up to produce something like the designed outcome. There's lots to criticise about markets, in particular "negative externalities" (bad things that aren't factored into the pricing - e.g. CO2 emissions), but let's not get into that right now. We should recognise the important core appeal: essentially, a market system is a way to loosely coordinate the brains of all concerned in finding an optimal outcome, and this is its key advantage over "central planning" in which we have to rely on the brains of whoever's in the central planning authority.

The fundamental democratic problem with free markets is as follows. They lead to an outcome that reflects value, but the actors involved don't all end up with the same treatment. Some get rich, some get poor. (See "Free market pros and cons".) They then have different amounts of leverage within that market: some have lots of power, some have very little. In some markets that's fine, but in anything that involves actual citizens, it's a recipe for inequality. We can tax profits, we can tax capital, and that's important so that at the very least, governments can provide essential services and a social safety net. But people on the economic right don't like such taxes, arguing that they reduce the incentives for market players and thus act as a drag on market efficiency.

Hence we arrive at the basic philosophical conflict between the economic right and the economic left. Market efficiency versus democratic fairness.


Now into that picture comes this other idea that has been in the ether for at least the past decade: universal basic income. Universal basic income (UBI) simply means giving a sum of money to every citizen, e.g. a lump of money every month or every year. It's unconditional - it doesn't matter if you're employed or not, for example.

There are various motivations for UBI, but one is that this is a much more efficient use of government money than the current alternative: a complex tangle of benefits, each with its own bureaucratic eligibility criteria, and the tangled benefits system leading to strange undesired outcomes. For example, unemployment benefits can often mean that some people end up losing money by accepting a low-paid job offer. In the world of UBI, there's no disincentive: accept the job if you want it, and you get extra income as well as your UBI.

UBI has been debated plenty during the 2010s. It has its advocates on the left and on the right. And its critics: critics on the right ask "but who's going to pay for it all?" and "wouldn't people just stop working and start freeloading?", while critics on the left ask "isn't this a right-wing excuse to slash the welfare state?"

Although there may be some well-reasoned criticism out there, I want to return to the fundamental issues. We have big debates and disagreements about how to organise our societies. We want the outcomes to be efficient as well as fair. We have many people passionately wedded to socialism, and many people passionately wedded to market mechanisms. The fundamental political question is, how do we get from here, to some better situation?

UBI seems to be one answer. Not just one answer - it's the only answer I know of that could appeal to people of many shades of the political spectrum, and is also something that can be tried, can be piloted within our existing countries without having to rewrite or dismantle decades of complex policy. The key is that UBI directly resolves the conflict between market mechanisms and fairness. It doesn't fix everything (negative externalities, for example), but it allows us to move to a situation where democrats and market fundamentalists can work together to produce efficient outcomes for all.

I know there are many implementation details of UBI to talk about, and I'm sure there are some imperfections in general. But can we afford to dither about the details, when we have so many problems to solve, and so many winners and losers from the current economic systems in place around the world?

Politics · Sun 08 March 2020

Other recent posts: