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.

Wednesday, 21 September 2016

Grafting fruit trees, and various things growing

Going back to my old photos, I find it's often difficult to make out the things that were the reason I took the photo anyway.  Like which tree is which.  And it's just so much work, that I am also finding that I am not doing the things I should do, like note what trees are pollinating at the same time - so as to work out why one tree has not fruited.

So this is the first video that catalogs the progress of things.  It starts with my garlic, then some fruit tree grafts, then the Green Mountain potato onion and finally some more fruit tree grafts.  It makes sense to do weekly fruit tree flowering videos, so I can have a visual record of how well things that are supposed to pollinate each other sync up.  Although they won't be posted, if I do post any videos it'll mostly be ones that do a general overview, or concentrate on progress of certain projects.

This is a shakey video, as it's the first one I've made.  It is intended to catalog all the grafting I've done in the past couple of weeks, so that if the tags are lost, I'll know what is grafted where.  In the past I've used photos for this, but oftentimes they're actually little help and I have little idea what tree I am looking at.  I wonder if someone else owns this property in the far future, if they still have the orchard, whether the videos will still be available for them to work out what is planted where.



I mention Koanga quite a bit for the grafts.   Less than half the scion wood came from Koanga.  The rest was traded with people on the internet for various varieties of scion wood I have here, and other things.

Wednesday, 29 June 2016

This year's apple cider vinegar

This Autumn's batch of apple cider vinegar is coming along nicely. The mother, or at least I think that's what it is, appears to be floating on top. The last bottle from last year's batch is in use, so when this fresh batch is ready, is something that needs to be worked out.

Vinegar, Apple Cider - 02 - 2016-06-27