Other things on this site...

Evolutionary sound
Listen to Flat Four Internet Radio
Learn about
The Molecules of HIV
Make Oddmusic!
Make oddmusic!
[Blog archives] [Categories]

Indian food and amchoor

Inspired by my recent trip to India, tried some more Indian cookery tonight.

The main lesson I learnt this time was about amchoor - a powder made from sun-dried green mangoes.

Ah no, the main lesson was actually how to eat curry one-handed using a chapati. But I've definitely not mastered that one yet.

Anyway amchoor has a nice clear flavour and is used in some Indian cuisine to add fruity zestiness to a dish without making the dish too wet. The top hit from this evening's meal was amchoor chana (chickpeas with mango powder). An otherwise simple chickpea curry is made zingy by a generous teaspoon per person of amchoor cooked in.


I'd like to get better at dhals too. Although a basic dhal is easy - just simmer some lentils/pulses for a while, with some spice - I haven't got the hang of the different types of pulses and how you'd use them. Here we were using a recipe which called for a mix of half red lentils, and half mung dal (mung beans). It gave a good gloopy texture.

My thanks to Samira Agnihotri, who kindly gave me some home-made amchoor!

| Food |

Vegan recipe tips for 2020

For anyone trying Veganuary this year, or just working out how to cook vegan more often, here are my tips of some handy recipes!

  • Chilli sin carne

  • African peanut stew

  • Tofu scramble - really surprising how nice this is. It's a replacement for scrambled egg - of course you can tell the difference, it's totally different - but you might like it as much as I do. Warm a little bit of oil in a pan. Add a pack of tofu (drained) and use your spatula to break it up into rough pieces. Add a splash of oat milk, and a generous teaspoon per person of turmeric, and continue to stir it around and break it up until it's in scrambled-egg-sized pieces. Near the end of cooking, add a sprinkle of nutritional yeast ("yeast flakes"). Serve on bread/toast just like you would scrambled eggs.

  • Fake fish and chips - easy and popular

  • Two easy mushroom tarts

  • Pad thai - watch the video!

  • Sticky shiitake mushrooms (quick)

  • Beetroot wellington - a bit more involved, for a Sunday lunch.

...and for more convenience: Vivera's meat-like things are great (shawarma), and Taifun's tofu is great (the black forest flavoured one is quite sausagey, the garlic one is nice, and the basil one is good for italian)

| food |

Dutch phrases

Some Dutch phrases I've been picking up:



Hoe heet het?





Fijne jaar!

| travel |

Two easy mushroom tarts

Two flat mushroomy tarts, really easy to make and vegan too. This recipe makes "half of one half of the other" but you can concentrate on just one or the other if you like.

The creamy one is a bit more savoury, while the tomato/pepper one is sweeter. They complement each other nicely.

Serves 2, takes 40 minutes (but the second half is just waiting, so you can do other things).

  • One sheet of puff pastry
  • 200g chestnut mushrooms
  • 1 small red onion
  • 1/2 orange pepper (sliced)
  • 1 tsp dried thyme
  • Olive oil
  • 3 heaped tbsp of Oatly creme fraiche
  • 5 sundried tomatoes, from a jar preserved in oil - plus some more of the oil from the jar
  • 1 tsp of garlic puree, or 1 small clove garlic (pressed)

Preheat the oven to 200C, 180C fan.

Divide the pastry into two rectangular pieces, place it on a baking tray, and put something on top to weight it down a bit while it "blind bakes" in the oven. We just used some tin baking dishes (doesn't need to be too heavy). Put this in the oven and blind bake for 15 minutes. Meanwhile, prepare the toppings.

Warm up some olive oil in a large frying pan. Slice the mushrooms thickly and add them to the pan. Fry for a few minutes. Slice the red onion and add it. Fry it for another few minutes, stirring, until the onion is nicely softened.

Divide the contents of the pan in two, i.e. move half of it into a separate pan. Add the pepper to one pan, and the garlic and thyme to the other. Continue to fry a little more, but not too much. (It'd be nice to get a bit of colour on the pepper if you can.) Chop the sundried tomatoes, and add them to the pan that has the peppers.

When you take the pastry out of the oven, discard the weights on top.

On one pastry, spread the Oatly creme fraiche, and then spread on top the contents of the garlicky pan.

On the other pastry, spread the contents of the other pan. Also, take the jar of sundried tomatoes, and carefully sprinkle some of the liquid (i.e. tomato-infused oil) over the top.

Season with pepper if you like.

Bake these pastries in the oven for about 15-20 minutes.

| recipes |

Parakeets in Britain, found in GBIF

I had a great time at the Biodiversity_next conference, meeting a lot of people involved in Biodiversity informatics. (I was part of an "AI" session discussing the state of the art in deep learning and bioacoustic audio.)

I was glad to get more familiar with the biodiversity information frameworks. GBIF is one worth knowing, an aggregator for worldwide observations of species. It's full of millions and millions of observations. Plants, animals, microbes... expert, amateur, automatic observations - lots of different types of "things spotted in the wild". They use the cutely-named "Darwin core" as a data formatting standard (informatics folks will get the joke!).

Here's my first play at downloading some GBIF data. I downloaded all the data they've got about rose-ringed parakeets in Britain - the bright green parrots that are quite a new arrival in Britain, an invasive species which we can see in many city parks now. I plotted the observations per year. I also plotted a second species on the same chart, just to have a baseline comparison. So the parakeets are plotted in green, and the other species (common sandpiper) in yellow:

Many caveats with this data. For a start, each dot represents an "observation" not an "individual" - some of the observations are of a whole flock. I chose to keep it simple, not least because some of the observations list "5000" birds at a time, which may well be true but might swamp the visualisation! Also, some of the co-ordinates are scrambled, for data-privacy reasons - you can see it in the slight grid-like layout of the dots - and some are exact.

Further, I don't think I have any way of normalising for the amount of survey effort, at least for most of the data points. There seems to be a strange spike of parakeet density in 2009 - probably due to some surveying initiative, not to some massive short-term surge in the bird numbers! I think if the numbers really had increased eight-fold and then fallen back again, someone would have said something...

Regarding "survey effort": GBIF does offer ways of indicating survey effort, and also "absences" as well as "presences", but most of the data submissions don't make use of those fields.

The sandpiper data fluctuates too. There's definitely an increase as time goes by, primarily due to the increasing amount of surveys adding to GBIF. That's why I added a comparison species. Even with that, you can clearly see the difference in distribution between the two.

My simple python plotting script is here and the source data are here: parakeet data, sandpiper data.

| science |

State of the Map 2019 - solar conversations

I'm just back from State of the Map 2019, the annual global OpenStreetMap meetup. I gave a talk about the solar mapping project (video here) and had lots of great conversations with people.

Here are some notes from conversations I had about solar PV mapping:

  • I had a good talk with the people from Mapillary. Mapillary have a good collection of street-level imagery, they do automatic detection of objects, and they are already integrated into OSM (e.g. a Mapillary JOSM plugin helps people to use their imagery and even their auto-detections). Note that they're a private company and so I guess they don't share their ML methods or pre-trained networks, though they do explicitly share imagery (and some of their detections) with OSM. They do NOT currently have a tag for solar PV or suchlike. Here's a plan:

    1. They're going to add a "solar panel" tag into their online system. This will be about two weeks from now.
    2. People (us?) will then be able to use their online editor to tag solar PV objects in street-level imagery. This does not directly mean anyone's going to be doing any auto-detection. But it does give us a new and different source of imagery to spot solar PV in.
    3. We'll be able to use the Mapilary plugin (I think) to add those streetside-spotted items to the map.
    4. If we can tag a good diverse set of small-scale solar PV - say, a few hundred of them, in different countries - then we will be in a position to start chatting to Mapillary about whether they're interested in training some auto-detection for that tag.
  • In the UK we've mapped solar farms with the power=plant tag, which is good because it makes them clearly different from the individual solar panels tagged as power=generator. However, around the world this isn't the case. Lots of people have mapped solar farms with single large power=generator tags. This is not necessarily terrible because we can identify large objects when we postprocess. It's problematic if people are using single nodes to mark solar farms though, since it's hard to tell the difference between a 10 kW and a 100MW installation without more detail. I hope we can convince the wider community that our way of tagging (which comes directly from the established power tagging) is the way to go.

    • Although the editing tools have a preset for solar panels, they don't have one for solar farms / solar parks. We should try to propose a preset for JOSM and iD. It would fill in the basic tags, and offer a textbox for entering the capacity. Also it'd be good to ofer a text box for the start date, to gather that if known.
    • The default map rendering on openstreetmap.org doesn't render anything for the power=plant tag. This may be acting as an incentive for people to stick with power=generator, because of the visibility of the results. (Some people add landuse=industrial to solar farms, which is no problem for us; I don't know if they're doing it because it renders quite nicely.) We should ask the maintainers of the openstreetmap-carto rendering style if they're willing to render solar farm areas, perhaps just the standard industrial colour.
  • I met Julien Minet who had created a highly detailed service for the city of Brussels. The city commissioned a LiDAR survey of all the buildings, giving them a very detailed 3D model. The developers used this model to predict the solar energy yield for every single roof part (can be multiple on each building!), and made this into a very nice app for people to predict their personal projected benefit of installing solar PV. This is the kind of detail that only a well-organised city can feasibly manage... It's a high-res version of what "open solar map" did for France, which is a more scalable example.

  • How to vectorise blobs from pixelwise detections... it seems it's fairly common knowledge. QGIS at least has a function for it ("polygonize") which offers at least a starting point, though it's very simple-minded (it traces all the edges of pixels - you need to run a "simplify geometries" afterwards). Facebook's new "rapid" ML-assisted editing tool proposes building shapes for the user to add, so they are doing the process too somehow. (I'm pretty confident they're doing that as postprocessing, not some fancy ML that directly spits out geometries.) I don't know which are the current leading methods for this.

  • I like the look of Facebook's approach to machine-augmented editing. They made a modified version of the iD editor (and named it rapiD), which offers machine-proposed areas for the user to confirm-and-edit one by one. I wasn't able to attend their demo though so I don't have more details e.g. whether it's stable, whether we could adapt it.
  • There's lots of latent interest in trying machine learning detectors on aerial imagery - I saw a couple of talks about doing this for other purposes. Largely using methods we'd recognise from other work (i.e. convnets). I saw a talk from IBM using CycleGAN which seemed to me a very odd choice of method, I'd not recommend that! On the other hand, I started to wonder whether we should be organsing a small-scale-solar-PV-detection data challenge. (We don't need to worry about detecting large-scale solar, there's existing work on this already.) We've got sufficient annotations for the UK now to make ML training sets - I guess the key question is whether we can get good enough imagery, and whether it's something that'd be of benefit. We could use aerial or even streetside imagery. As well as Mapillary I chatted to Maxar (aerial imagery providers) - the Maxar fellow mentioned a US company/charity called something like CrowdSpark (I THINK - or maybe it was a different company) that has organised data challenges related to development/aid. If we did put together a data challenge, what approach would be most likely to lead to detections that (a) could help us complete the UK, (b) would help us to scale globally? I don't know if this is worth pursuing though - can perhaps simply rely on existing object detectors rather than assuming it needs novel effort - TBC.

  • I caught up with Jerry (SK53) who was a key player in the OSM UK solar mapping. Didn't manage to catch up with Jez Nicholson - somehow we missed each other!

Overall, there was lots of enthusiasm for the idea of mapping all the solar PV, and I'm really glad to have been at SotM to talk about it.

| openstreetmap |

Solar panels in the UK - 100,000 spotted!

The OpenStreetMap UK community has come together for a 3-month "quarterly project" to find all the solar panels in the UK. And the results so far... wow!

-> We've just reached over 100,000 standalone solar PV installations mapped in the UK!

-> Plus we also have almost 600 solar farms mapped …

| openstreetmap |

IBAC 2019 Brighton - bioacoustics research

The 2019 International Biocaoustics Congress (IBAC) was its fiftieth year! And it was a very stimulating conference, held in Brighton and organised by David Reby and a lovely team of co-organisers. Shout out to Eilean Reby who designed a really neat visual identity for the conference, with T-shirt and bags …

| science |

Should we blame Boris, Theresa, or David?

It looks like the bigger consequences of the Brexit vote are about to hit. Everyone thought "no deal" was a laughable extreme back in 2016, and now our government seems to be sailing deliberately towards it.

Do we blame David Cameron, who naively called an ill-prepared vote? Theresa May who …

| Politics |

The best alcohol-free beers in Europe

We've sampled LOTS of alcohol-free beer in the past year. Why? Well - you might not believe me about this - some of it's getting really good. And it's great to be able to have a lovely beer even if you don't want to be woozy afterwards.


| food |