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

Research

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

Music


Other

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

Blog

Ever since the immersive experience of the fantastic Biodiversity_Next conference 2019, I've been getting to grips with biodiversity data frameworks such as GBIF and TDWG. So I'm very pleased to tell you that I've been contributing to the Audubon Core standard, which is an open standard of vocabularies to be used when describing biodiversity multimedia. These standards help the world's collections and databases to talk to each other. It can enable some amazing stuff to happen, when the entire planet's evidence about animal and plant species can be treated almost as if it was one big dataset.

After community consultation we've just released an update to the Audubon Core Terms List which adds some terms that are very important for describing audio data. The terms added are:

Any audio experts reading this might find these rather unimpressive and basic metadata. But that's precisely the point - to add these basic and uncontroversial terms to the standard. I'm very happy with what seems to be the TDWG approach, which is to move forward by gradual consensus rather than over-engineering a standard in advance.

What can we do with this? Well, in the not-too-distant future I can imagine querying GBIF for all animal calls within a particular frequency band, or analysing frequency ranges globally to explore acoustic environmental correlations. We can't do this yet, but as these new terms get taken up it should happen.

These term additions came about primarily through joint efforts of me, Ed Baker, and Steve Baskauf - a TDWG expert who has guided us through the process very attentively. Plus, many people in the TDWG community who checked our work and gave input. Thank you!

I'd also like to acknowledge the Heidelberg Bioacoustics Symposium (Dec 2019) at which we had discussions with many different taxon experts on animal sound and how we can share it.

There are some presentation slides from the TDWG annual meeting, introducing the changes, and also looking forward to more detailed metadata that might be added in future (i.e. for sound-event annotations). We also proposed to import a term "dwc:individualCount", but we ran into some definitional issues so that will take a bit more time to resolve.

You can get involved in what happens next. Use TDWG standards such as Audubon Core to share your data. Get involved in the discussion about what else might be needed to share and aggregate bioacoustic datasets.

Science · Mon 19 October 2020

I'm extremely pleased to announce this publication, edited by Jérôme Sueur and myself: Ecoacoustics and Biodiversity Monitoring - a special issue in the journal "Remote Sensing in Ecology & Conservation".

It features 2 reviews and 6 original research articles, from research studies around the globe.

You can also read a brief introduction to the issue here on the RSEC blog.

Science · Mon 12 October 2020

I just want to put some of this down for posterity - i.e. to remind myself in future, of what was obvious at the time.

Politics · Mon 28 September 2020

I'm having problems focusing on my work. It's very difficult to avoid distractions.

One big distraction is something called the World Wide Web... well in my job the most difficult distraction is actually work email - there are lots of different things that distract attention by email. Email is great but it can so easily mean you have no focussed time at all.

I went on a time management course and realised that I should save at least one or two hours per day away from email. I've heard many times, people recommending "No email before noon" or suchlike. I can't imagine being able to go as far as that and also manage meetings etc, but at least I can defend some portion of time.

The problem is not just deciding to stay away from distractions. It's forcing yourself to do it.

I've found one way that helps me: forcing my laptop to be disconnected from the internet between 7am and 9am. It's not much - I mean, many people don't even consider work emails before 9am, though my daily pattern is a bit non-standard. Starting the day this way does help me focus, and make sure I've achieved at least one bit of thoughtful work most days.

Here's how I do it on my linux laptop. I couldn't find any reliable guides for it - I thought there'd be an easy command of some sort. But here's my way:

I tried a few options before this one, including commands that were supposed to auto-run whenever my laptop opened (to check the time and decide whether or not to enable wifi), but there were various problems getting that working, partly because there's a small delay in the "normal" wifi manager connecting, so it's hard to synchronise with that.

In the end I went for a rather brute-force approach: I used "cron" to ensure that once per minute, for every minute between 7am and 9am on a weekday, the "nmcli" command turns off my laptop's networking. Then at 9am it turns it on.

If you don't know cron or crontab, look it up, it's a really common way on linux to schedule commands.

# sudo crontab -e
# seems to need to be in sudo. Not sure why! Probably env vars.
0 9 * * 1-5 /usr/bin/nmcli networking on
* 7-8 * * 1-5 /usr/bin/nmcli networking off

You can see there's a "networking on" command and a "networking off" nmcli command. The numbers at the start of the line specify the day and time - for example "1-5" means Monday to Friday. And " 7-8" means to turn the networking off whenever the hour is 7 or 8, and whenever the minute is anything ("").

This method might seem a bit stupid (why not just turn wifi off once, rather than every 60 seconds?) but actually works very reliably, and has some handy side-effects. It is technically possible for the user (me) to turn wifi back on, and in practice there's often a temptation to do this. Sometimes there's even a good reason! But even if you do, cron will simply come along approx half a minute later and turn it off, meaning that the "rabbit hole" temptation of "oh I'll just check that one thing online" can't lead you off and away from your quiet time.

IT · Wed 23 September 2020

This flavour combination was fabulous - the hot deep flavour of muhammara (from Turkey/Syria, so I'm told) and the herby zesty za'atar (ours is from Palestine) make a great complement to the classic taste of grilled aubergine. We're not from the Levant so don't take this as authentic, but this is evocative and quite easy.

Muhammara is a fiery dip, and mixing it with mascarpone (or similar) in a ratio os 1:2 gets the heat just right for this, in our opinion, though you may wish to tweak it! Serves 2 hungry eaters, takes about 30 minutes (aside from making the pizza dough, which is optional to do it yourself).

Heat your oven to 200 C.

Put the pizza base out onto a lightly-floured baking tray. Mix the muhammara and mascarpone together, and spread this evenly over the pizza base, leaving the edges clear like you normally do with pizza.

Slice the aubergine in half down the middle, then slice thinly to make semicircle slices (about 3mm thick). In a bowl, toss the aubergine slices with 1 tbsp of the olive oil. Then lay them out nicely on the pizza, to make a scallop pattern - don't just pile them on, you want each aubergine piece exposed equally to the heat. You'll cover almost the whole pizza.

Sprinkle the za'atar evenly over the aubergine pieces, then drizzle the remaining olive oil evenly over the top. Put it in the oven for about 20 minutes, until it's looking lovely.

Chop the tomatoes into little quarters. Take the pizza out of the oven, and dot the tomato pieces all over, then also sprinkle the parsley over. Leave the pizza for a minute before eating! It's too hot, and also it's good for the tomatoes to take up some of the heat.

Recipes · Sun 20 September 2020

Snapchat lets people share little photos and videos with each other, mostly used to tell the story of their day. Snapchat also created a map where you can click around the world and drop in on anonymous little slices of life. Try it - it's an odd but absorbing thing.

There's one thing I noticed that I really don't understand. People posting funny comments, or snaps of the cocktail they've ordered, or just things they notice in the street - sure, I get it. The thing I don't get is... Why are hundreds and hundreds (at least) of people posting videos of the very boring road ahead of them as they drive?

Here are some I saw locally, in London:

And here are some from around the world:

These are NOT snaps of high-speed driving, or showing off about the car. (Not even doing something daft on a motorway.) They're NOT snaps while held at a red light or in a traffic queue. They're NOT about something funny/interesting outside the window, and usually no-one is talking, let alone talking to camera. There may be some music playing but it doesn't seem particularly about sharing music.

They are incredibly mundane. The driver is going along, driving with one hand, and basically showing us the road as they see it. It's boring. We can see the steering wheel and the backs of some other cars. It might be partly possible to work out what road they're on, but they're not seemingly doing it to share their exact location.

What I'm fascinated to understand is: WHY are they doing it?

Like I said - they are NOT showing off about speed, or car ownership, or friends, or jokes. Their mates are probably not impressed, or even interested, and don't seem to be commenting back and forth on each others' rides. Why bother?

(And, of course, why do something that's certainly illegal (in the UK as well as elsewhere), and known to be dangerous - and before you ask, yes I'm certain that it's the driver filming these, not a passenger (there are some passenger snaps, but many fewer; e.g. some taxi rides). But the moral outrage can come later. The primary thing I'm wondering is WHY BOTHER?

Now I'm well aware that people post all kinds of random shizzle on Snapchat - you can see it right there - and they're not all meant to be amazing. Snaps are often part of a "story", a collage of your day, and I guess these videos are part of the story perhaps of someone's night out. But why include all the boring bits? (These videos are not short - often multiple snaps in a sequence.)

One possibility is: Snapchat incentivises people to post many snaps, or to post frequently. It could alternatively be slightly more innocently that people develop a "habit" of posting snaps, but it seems odd to me they'd post pointless snaps without any incentive. Wouldn't they instead prefer to look at snaps, or post verbal callouts, or suchlike?

Can anyone enlighten me? What makes people post snaps like these?

misc · Sat 19 September 2020

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

Other recent posts: