The Gift Shop on the Chateau Lafayette Nile cruiser.

Looking for independent reviews of the Chateau Lafayette Nile cruiser? There are plenty of them online, for example on TripAdvisor. It appears to be quite luxurious, although perhaps a little dated, so they say.

This is NOT a review of the Chateau Lafayette Nile cruiser.

This is a warning to travellers, about the boat’s on-board gift shop. In this shop, there is a very high probability that you will be deliberately over-charged, by which I mean robbed, by the operator. I know this, because they stole a lot of money from my wife.

The owner of the Chateau Lafayette, a Mr Hany Youssef, has told me that he will not do anything about the dishonest acts of the gift shop. Of course, he’s perfectly happy taking rent from them. He accepts no responsibility for the actions of the shop. He even accused me of extortion, when I asked if he would compensate us for the loss. To clarify…

The person running the gift shop deliberately cheats unaccompanied women, and probably everyone else, overcharging them by huge amounts. He rushes his victims into making mistakes, charges in American dollars while pretending the amount is in the much smaller Egyptian currency, and it will be safer to stay out of his shop.

I strongly advise anyone travelling on the Chateau Laffayette Nile cruiser to avoid the gift shop, and to tell their fellow passengers about this shop. 

I know, foreign countries have different concepts of how to do business, and what responsibilities a boat operator has to his customers. But frankly, I see no reason to keep quiet about people who deliberately steal, or people who shrug, and say it’s not their problem, while continuing to take their share of the stolen money. The upset this has caused my wife has been very distressing to see. Morality varies from country to country. In our culture, it is regarded as decent to protect people from being robbed. Not in Egypt, though.

If this warning serves to protect you, please consider making a donation to our “Buy me a coffee” account.

I have also set up a Crowdfunder for this, but I am well aware other charities need money…

Adventures with Bread, part 94

 Rye bread, again…

You know how it is. There’s a recipe on the flour bag, and you think you’ll try it out. Well, you know, rye bread is tasty…
Rye bread recipe from the back of a rye flour bag.
Cotswold Flour’s Rye Bread recipe.


Last night, I made the poolish, and it was lovely and frothy by morning. I got the mighty Kenwood Chef out, with its dough hook, and followed the recipe carefully, all the way up to the bit telling me to prove it for 1.5 to 2 hours. After an hour, I found this situation…
Almost invisible bread tin, with dough rising madly, and flopping over the sides of the tin.
Underneath this over-excited dough, you can just about see the bread tin.
That’s a pretty standard sized loaf tin, but it makes a change for a rye dough to rise so well. I scooped as much of it up as I could, and put it all in a bigger tin, which I put in the oven before I remembered to take a picture.
The same amount of dough, in a bigger, shallower tin, in the oven.
Baking begins…


Then it was time to take the spaniels for their first walk of the day. Luckily, I didn’t meet anyone, and was back in time to remove the tin from the oven, and see what I had created.
Big, flat loaf, baked.
The result of 40 minutes in the oven, at 220°C
The obligatory crumb shot.
This is called the “crumb shot”. Pretty good crumb, if you ask me.


And there’s the result. I buttered the slice, and ate it, in the interests of science. It has a good flavour, and I’m looking forward to the rest of it, over the next couple of days. I can’t help thinking I should have had some pastrami ready to go on it…

Python on Raspberry Pi, a note about structure, or something.

I’ve been struggling with a problem with a Pi camera for a couple of days. Instead of being able to start up the camera, I just had error messages about MMAL running out of resources.

Now, I knew I’d seen it before, and sure enough, Stack Overflow had quite a lot of questions about it. But I’d seen them before. And then I remembered that I never found out why the problem went away before.

As an experiment, I tried something that I thought couldn’t possibly work, and suddenly everything worked. All it took was moving the camera instantiation from the top of the program to just below all the function declarations.

At a guess, the camera startup can’t get the resources it needs, because the Python interpreter is chewing its way though all the function declarations, and using up something the camera software wanted.

It’s an age or so, since I wrote a language interpreter, and it was for a simple language, Pilot, but I know interpreters have reasons for liking programs in a particular order, so that’s my guess…


A Python time-lapse program.

A free program…

This is the Python code I cobbled together to make a time-lapse movie of my rather exciting flowering cactus. I’m sure this has been done better by lots of people. It runs on a Raspberry Pi Zero, with not much memory, and no online storage, so it sends the pictures to another Pi Zero, called PiBigStore, which happens to have a 2 Terabyte USB drive. Help yourself to a copy, if you like. Change the server name, and password, obviously. If you know ways this can be improved, feel free to comment.

# Time lapse pictures
import os
import time
import ftplib
from picamera import PiCamera
import schedule

def send_to_PiBigStore():
    hour = int(time.strftime(“%H”))
    if hour < 7 or hour > 21:
    file_name = “cactus” + time.strftime(“%Y%m%d-%H%M%S”) + “.jpg”
    camera.capture(“/var/tmp/” + file_name)
    connected = True
    ftp = ftplib.FTP()
    except ftplib.all_errors:
        connected = False
        print(“Couldn’t connect to PiBigStore.”)
        ftp.login(“pi”,”password goes here”)
    except ftplib.all_errors:
        connected = False
        print (“Failed to login to PiBigStore server.”)
    if connected:
        ftp.storbinary(‘STOR ‘+file_name, open(“/var/tmp/”+file_name, “rb”))
        print (“Sent to PiBigStore “, file_name)

# Main loop
camera = PiCamera()
camera.rotation = 90

while True:
A foot-tall cactus on a windowsill, with a Raspberry Pi Zero with camera, mounted on a Lego tower.

Curse you, munmap_chunk()!

 I still haven’t spotted a working solution to the problem where weather station programs in Python on Raspberry Pi fail, with no traceback details, after a couple of days.

I think it must be some resource in either the operating system, or the Python interpreter, running out, with very poor error reporting. I will leave it to people more familiar with the OS and interpreter to find out what it is, and fix it, in the fairly certain knowledge that everyone who could fix it has better things to do.

I found out that a Python program can actually restart itself, and changed mine to restart once a day. If that doesn’t fix it, I’ll let you know…

#RaspberryPi #Python 

My Stack Overflow comment on this.

Tofu squeezing

Tofu – a thing you need to know…

I tried cooking tofu several times, and was often very disappointed by the way it just broke up, and fell apart, when I tried. The results I got were nothing like the lovely illustrations people put by their recipes. Instead of pert, bouncy cubes of tofu, all I got was mush…

It tasted fine, sure, but something was wrong

There’s something they don’t tell you in those recipes, and it’s this. Tofu is basically ground up soybeans, and water. Actually, quite an astonishing amount of water! There are several grades of tofu, and the ones labelled “extra firm” have less water. Less, sure, but still a lot. You want to know how much? Look!

I treated myself to a tofu press from eBay, ignoring the ones with a wimpy little spring to do the pressing. It came with a piece of cheesecloth to wrap the tofu block in, which I did, but I had to find a usable weight. I did try balancing cans on top of the press, but eventually, I found my wife already had a suitable weight for the job…

Tofu in a press with a 6Kg weight on it and a jug with the water that squeezed out of the block.
Those standard size boxes of tofu contain over 175ml of water! Get it out, and you can cut the tofu into cubes, marinate it in something tasty, which will soak right into where the water used to be, and fry them without them falling apart. Instead, they crisp up nicely on the outside, and more importantly, they stay together as cubes.

Feel free to thank me…

Duck and Mushroom ramen.


Duck and fancy mushroom ramen

Well, it’s what I made from the remains of the Sunday dinner duck, with the addition of some fancy mushrooms, home-made naruto and more.

There’s no helpful tip, or anything like that, with this post, so you really shouldn’t

Can you cook Whitebait in an air fryer?

Can you cook Whitebait in an air fryer?

I just asked Google for the answer to this, and was annoyed to find that not only did there not seem to be an online answer, but there were an irritatingly large number of websites that posed the question, and then answered an entirely different one.

I gave up looking, and instead carried out a scientific experiment…

Some frozen whitebait

Here are some frozen little fishes…

Basically, I just heated the air fryer to its maximum, nominally 200°C, and threw the fishes in.

Five minutes seemed like a good guess for a cooking time. They were a bit underdone.

I set the timer for another five minutes, but pulled the fish out after four minutes, as I could hear some of them popping!

Cooked Whitebait fresh from the air fryer
Here are five of them, nice and crispy on the outside, just before I ate them with tartare sauce.

So, now you know…

You CAN cook whitebait in an air fryer.






Was this useful?

Greenhouse computer improvement

New sensor!

I was using an MHT22, hanging on wires outside the case, for temperature readings on my greenhouse computer. I wasn’t happy with it, as it isn’t really compatible with the connections on the Raspberry Pi, and it has a habit of giving occasional absurd readings for no obvious reason.

So, I got myself a Microdia TEMPer-2, from PiHut, which plugs into a USB port. It has a fancy button on it, which activates the sending of text messages or emails, which I shall never be using. It also has an external plug in sensor, which is waterproof, a handy thing in a greenhouse!

It comes with a software mini-disc, which may possibly be useful if you’re using it on a PC, whatever they are. (Kidding. I’m writing this on my PC.) There are several web sites that tell you how to program Python to read from it, and it didn’t take me long to install the appropriate library on the greenhouse computer, and run the test command, sudo temper-poll. That worked, but then I ran into one of those programming blockages that can send you crazy. None of the various pieces of example code would work, mostly due to my inability to get the necessary permissions set correctly. It didn’t matter, I realised, after a lot of head scratching. Instead, I just used Python’s subprocess library to run the command that worked…
import subprocess

rv = str(subprocess.check_output(“sudo temper-poll”, shell=True))
# Split the string, keep fourth block, chop last five characters, make float.
temperature = float(rv.split()[4][:-5])

I’m hoping I won’t need to write any more software for the greenhouse for a while. The Raspberry Pi now monitors the temperature, switching the fan heater on if the temperature is below 5°C, uses its fish-eye camera to take pictures at set times for a time-lapse series, and takes a picture if it spots movement. Eventual improvements under consideration are a soil moisture detection sensor, automated watering… Nothing’s ever really finished, is it?

Proper Bechamel Sauce.

We keep an index book of recipes that we like, and rely on. It has several entries for Bechamel sauce, but only one of them can be the best.

There’s one in “The DIY Cook”, by Tim Hayward, and he’s really, really good, and so is his sauce…

There’s another, in Rick Stein’s “Secret France”, and do you know what? He’s really good as well, and the photography in his recent books is at pure genius level…

There are several other recipes…

But my favourite recipe for Bechamel Sauce is in an oldie but goodie, “Mediterranean Cooking” by Hilaire Walden. Fans, you are in luck. It’s still available, on Amazon, and it’s really cheap. This is so good that I haven’t bothered to see if Nigella does a good one. I bet she does, though…


  • A pint of milk
  • 1⁄4 of an onion
  • A chopped up carrot
  • A fair bit of parsley
  • At least one bay leaf
  • 50g of unsalted butter
  • 25g of plain flour
  • 2 large eggs, beaten
  • Salt and pepper, if you like
Bung the milk in a pan, with the onion, carrot, parsley, and bay, bring it gently to a boil, cover it, and turn off the heat. Beat the eggs in a jug, or some container you prefer.

Let those sit for 15 minutes, while you do this in another pan. Melt the butter, stir in the flour, and let it cook for about a minute. A lot of cookery books tell you to cook it until it smells “biscuity”. I’ve never detected that smell from butter and flour, but if you can, that’s your guideline. I can’t smell saffron, let alone biscuity, so I ignore that instruction, and stir it until it is smooth.

Next, strain the milk into it, and throw the stuff in the strainer away, unless you can think of some arcane use for it.

Simmer the mixture for about five minutes, then take it off the heat, stir it like fury, while pouring in the beaten eggs as slowly as you can, tip it on top of your already partly cooked moussaka, or whatever other dish you are improving, and finish cooking it…