Thursday, 8 December 2016

Oldest gooseberry bush

I've just been out to check on my oldest surviving gooseberry plant. It's so heavily laden with fruit, that it's flattened out and most of the branches are laying if not curving down to lay on the ground. I need to do something about this, maybe thin out the fruit, or put some netting around it to hold up the branches, as it would be nice to get all that fruit.

Maybe also put bird netting around it. Though I did that last year, and a starling got in and ate all the fruit anyway.  However, that netting was old grape netting and has the odd hole.

I took cuttings from this in the Autumn, none of them survived.  The cuttings I had both from my other gooseberry plants, and received from other kind souls, all lived.   Not sure why that was.

Gooseberry - Invicta
Invicta Gooseberry

Monday, 3 October 2016

Rhubarb, berries, pear tree, broad bean landrace and comfrey

I've made another video taking note of things that I've not recorded, or have visibly changed. This will be quite helpful in keeping track of things like having a visual record of which pear is which on the double-grafted one.  You can't trust the nurseries and orchards and should check these things yourself, I've had several instances where they've botched things.  And also noting the traits of individual varieties of broad bean in the landrace as they cross-pollinate from year to year.

It's another foggy Spring morning. The fog actually lifted earlier, and the sun was so low I almost had to close the blinds so I could work. The grass and dock have taken off in the past two weeks, as has the rhubarb.  I'm going to have to clear the grass before making movies, or taking photos, as it is quite hard to see some things that are growing amongst grass.

I increased the quality the phone camera was recording, and used a weight to try and stablise the camera from shaking.  In this case I basically sat the phone sideways on the rock and held it there, carrying it around.  It seemed to make a difference, but wasn't perfect.



Wednesday, 28 September 2016

Mixing iteration and read methods would lose data

I just upgraded to Python 2.7.12 and my code is now erroring with rather unhelpful Mixing iteration and read methods would lose data errors. Googling for this yields a number of StackOverflow posts where people are iterating over a file, and then within the loop, doing calls on the file. This sounds like a good error for their case, but in my case the fixes are somewhat more inane.

This errors:

    persistence.write_dict_uint32_to_list_of_uint32s(output_file, { k: [] for k in read_set_of_uint32s(input_file) })
This fixes that error:
    set_value = persistence.read_set_of_uint32s(input_file)
    persistence.write_dict_uint32_to_list_of_uint32s(output_file, { k: [] for k in set_value })
Another error at another location:
    persistence.write_set_of_uint32s(output_file, persistence.read_set_of_uint32s(input_file))
Some simple rearranging makes this error go away:
    set_value = persistence.read_set_of_uint32s(input_file)
    persistence.write_set_of_uint32s(output_file, set_value)
And finally, the next error at another location:
def read_string(f):
    s = ""
    while 1:
        v = f.read(1) # errors here
        if v == '\0':
            break
        s += v
    return s
And the fix for this:
def read_bytes(f, num_bytes):
    return f.read(num_bytes)

def read_string(f):
    s = ""
    while 1:
        v = read_bytes(f, 1)
        if v == '\0':
            break
        s += v
    return s
This error seems like a horribly broken idea, that is popping up in places it wasn't intended.