Wednesday 31 December 2014

Bugs

When I have a problem with a computer program, usually I can find some internet reference to the problem. Sometimes with a solution, and sometimes just a definitive statement that whomever made the program won't be fixing it. But there are some problems I find no mention of, yet I can't be the only person who encounters them?

The problem I encounter the most, is with search suggestions in Chrome. If you enter words that relate to a page you have visited, it will often provide the link to that page as a match. Then you can scroll down to the match, select it. But it doesn't always seem to work.

  1. Sometimes as you type out the letters in a word, the link will appear and as you add more letters to complete the word, the link will disappear to be replaced by plain old search keywords. So you delete a few letters back to where you were, and the link does not reappear. Then you delete the whole word, and start again, and the link is still not to be seen.
  2. Other times you'll have typed out your search keywords, and the previously visited link you want appears in the matches. So you move down the list to select it, and it disappears! What the shit?! That link you want isn't coming back unless you work around this problem too.

It is possible to force the link to appear, if you know the domain name, and one of the words in the URL. Like "permies contour" where a link is on permies.com and has a page path including the word 'contour', like for instance http://www.permies.com/t/39037/earthworks/Finding-contour-uneven-land.

Monday 29 December 2014

Licorice

Last year some time, I planted licorice on a small hugelkultur bed. Big mistake. The bed flattened down, and the roots of the licorice had nowhere to go with the rotting wood directly underneath them. The result was the licorice root pushing itself out of the soil, but fortunately it still seems to be alive.

Swarming bees

I heard a buzzing noise, and assumed it was cluster flies. I headed outside and found the following, perhaps 10 meters away from the house. A few dozen flew about the house, and eventually it got windy and I think they fell to the ground. No idea where they went after that.

Wednesday 3 December 2014

How did people ever complete Incursion?

Sometimes when I fix a bug, I wonder how people ever completed Incursion. Take this one for example.

The definition:

struct EventInfo {
    EventInfo& operator=(EventInfo &e) { /* Memory image copy for the int/bool/ptr members */
        // Implementation doing a quick copy, allocating instances of subobjects.
        return *this;
    }
    // Rest of the normal code for this struct.
}

One problem situation:

bool Magic::isTarget(EventInfo &_e, Thing *t) {
    EventInfo e = _e;
    // Rest of this function.
}

When isTarget exits, then _e is corrupted. This is because EventInfo only provides an assignment operator overload. However an assignment in a variable declaration uses the copy constructor, and in the absence of one, does a bitwise copy. Pointers to sub-objects then become shared, and the first version of EventInfo to be destroyed will destroy those sub-objects assuming itself to be the owner. In this case, it will be e which as a stack variable will be freed when the function returns.

Incursion is littered with perhaps a dozen cases where the bitwise copy constructor would have been employed. Each one a potential crash, if not source of corruption.

Good times!

Monday 17 November 2014

planet-rldev

If you read this, and have a blog where you make posts about your work developing a roguelike, then consider submitting your blog for inclusion on Planet-RLDev.

Monday 27 October 2014

Mysterious Incursion bug

In changes to Incursion back in August, I fixed compiler warnings related to casting. In theory, the changes should have been side-effect free. Testing of the specific lines of code, indicates this is the case. But people were reporting crashes related to the "room weights algorithm". In this case RM_Weights is an array of unsigned int, and c and tot are signed short.

    tot=0;
    for(i=0;RM_Weights[i*2+1];i++)
      tot += max(0,RM_Weights[i*2+1]);
    c = random(tot); 
    for(i=0;RM_Weights[i*2+1];i++)
      if (c < RM_Weights[i*2+1])
        goto RM_Chosen;
      else
        c -= RM_Weights[i*2+1];
    Fatal("Strange Error in room weights algorithm.");
RM_Chosen:
    RType = RM_Weights[i*2];
    RM_Weights[i*2+1] = -1;

I was unable to reproduce the crashes, although others reported doing so up to 15% of the time.

Were the crashes always there and were they merely hidden by all the other crashes, which have previously been fixed? Or are they caused by some unreproducible nuance of the casting? I'm guessing the former.

There's an obvious bug in the above logic. Points to whomever spots it without looking at my fixes on bitbucket.

Thursday 9 October 2014

Self-sown opium poppy seedlings

Opium poppies last summer.  These were grown in dirt dug from the drainage ditch at the front of the house, and it was likely sprayed at some point.  So I didn't bother to save any seed.


And the surrounding area as of today.  The green frilly leaves that dominate the area around the barrow are poppy leaves, from self-sown seedlings.  I'm quite happy with how well they've come up, given that my feathered gardeners do a pretty good job of weeding by scratching up all dirt they can access, either covered or uncovered.


I'll scatter some more seed over the top and perhaps get a succession of poppies coming up. Maybe I'll get enough poppy seeds this year to save for cooking.

Tuesday 30 September 2014

Garden Beds

Two photos over half a month of my paddock hugelkultur bed #1. It isn't obvious but these have really taken off, and the brocolli is likely as big as it's going to get. Not sure how to tell when it is ready to pick.

Garden Bed, Paddock NW - 2014-08-13

Garden Bed, Paddock NW - 2014-08-29

Two photos over half a month of my house north garden bed. You can see how much the peas, kale and cauliflower have taken off. The seaweed tea helped a lot with that, as well as.. watering the obviously dehydrated cauliflower.

Garden Bed, House North - 2014-07-31 - 01

Garden Bed, House North - 2014-08-13 - 01

And finally, I cleared my hut corner garden bed. This is where I am going to plant a herb garden.

Garden Bed, Hut Corner - 2014-09-02

Sunday 28 September 2014

Hazelnut Plantings

I finally got around to planting out most of my hazelnut. This is the first planting. It's planted as an experimental hedge section, quite close together in a line. There's another planting in a different style, which I haven't photographed yet, intended for a different purpose. And still some more I discovered under a tarp I still have yet to plant out.

Hazelnut - North Field - 2014-09-06 - 01 - Planting

The Google Play store changes and hobby development

My android apps, including BrogueX, are likely to be removed from the Google Play store in the near future by Google.  This is a mixed blessing, as I've been wondering what to do with BrogueX for quite a while.

In any case, the problem is that home developers are required to have their address (which will be their home address) on the public app page in the Google Play store.  It will likely be sitting there, with their full name.  This is not something that will bother businesses, but I imagine most home developers will find it very objectionable.  Those that do not pay a service with a real address to receive and send on their mail, in order to satisify this, will likely use a false address.

The reason for this is an EU directive.  I hear Apple is allowing people to opt out of markets that have this requirement, to avoid this problem.  Google however, seems to think that this is a reasonable thing to ask, and wishes to take the chance to force it in place worldwide.

One of the appealing things about app development, was that it was so easy for a home developer to get into.  Just write an app, pay $20 or so, fill in some form fields, and publish.

Friday 26 September 2014

Rhubarb

If there is some garden bed the chickens can scratch up, then they will scratch it up. It's as inevitable as taxes. My new rhubarb plots, placed so they would have good drainage were just starting to look good with new growth. Then.. chickens. There's a saying about a watched plot never spoiling, and it's true, because the chickens come when you're not watching.

Here are two shots before chicken.

Rhubarb - 2014-08-13 - Full

Rhubarb - 2014-08-13 - 01 - South

And a shot after, with netting in place. That's some of the more affordable netting, at $3 for 1.5m x 6m I think. I'll have to lift it up as a fence when the rhubarb gets bigger.

Rhubarb - 2014-09-05 - Full, post chicken attack

Wednesday 24 September 2014

Growing Pears From Seed

Some time earlier in the year, I was saved six seeds from an Angelys Pear I was given. I was told it was a tasty new variety, but honestly, if I recall correctly it was at best mealy and mediocre. In any case, I had it and was interested in trying to save the seeds. I'd earlier tried to save some apple seeds, with little success. So had done some research, and one of the conclusions in a paper I found was that seeds should not be allowed to dry out. So I took the seeds straight from the pear core, and put them in a bag in the fridge where I had some persimmon seeds.

Seedlings, Pear, Angelyce - 2014-08-13

A few months later, I noticed that all six of the pear seeds had sprouted in the bag in the fridge. The following photo has shown them planted out. For anyone trying the same thing, use a decent sized planter bag instead. It only took a week and the taproot had gone through the bottom of the cardboard cup and started heading sideways with the plastic underneath. Now they're outside in planter bags growing vigourously and looking healthy.

Seedlings, Pear, Angelyce - 2014-08-19

A very successful experiment. Will the pears that eventuate taste okay? No idea. That's another experiment.

Monday 22 September 2014

Garlic Plantings

Every day, my garlic is growing more and more. I have no idea how many cloves I have planted, but it must be on the order of fifty plus.

Here's the hugelkultur garlic out in the paddock, on what I call Paddock Hugelkultur Plot #1.

Garlic - 2014-08-13 - Plot 01 - North

Garlic - 2014-09-06 - Plot 01 - West

And two photos of the first planting in the bed out back of the house. One a month and a bit ago, and the next several days ago.

Garlic - 2014-07-26 - Plot 02

Garlic - 2014-09-02 - Plot 02

And two photos of the second planting in the bed out back of the house. One a month and a bit ago, and the next several days ago.

Garlic - 2014-07-26 - Plot 03

Garlic - 2014-09-02 - Plot 03

Even now, it has grown noticeably from what can be seen in the photos.

Saturday 20 September 2014

Rooting Cuttings

I planted out half of one of the backyard raised beds with cuttings. I even recycled old plastic bags I had tucked away, and made it look nice and tidy.

Part was chilean guava cuttings.

Chilean Guava - 2014-07-21 - Planted for rooting

Part was box hedge cuttings.

Box Hedge - 01 - 2014-07-21 - Planted for rooting

Unfortunately, the chickens have recently taken to scratching out this bed. The black plastic is in disarray and the cuttings are all dislodged and strewn everywhere. Never trust anyone who tells you that the chickens will magically not get anywhere you don't want them, and will listen when you tell them to scoot and stay away from something! Lies! Even if you rolled your eyes and didn't believe them, you still should have put netting over whatever it was. Two words: chicken enchiladas.

Thursday 18 September 2014

Pumpkin Residue

I had some pumpkin steaming on the coal range, and forgot about it. Luckily I caught it before it had cooked all the liquid away, but what was left was this sugary syrup. It was sweet, but malty tasting. It was quite a nice pumpkin, and I assume it must have had a really high sugar content.

Food, Steamed Pumpkin - 2014-08-18 - Residue - Sweet malty taste

Tuesday 16 September 2014

Green Manure

I bought a bag of green manure seeds at a local store, and while I intended to plant them out, the problem is that I'd need to clear grass to do so. But I did manage to scatter some around a French Sugar fig seedling I planted, and to fence it off enough to prevent the chickens from getting in. They can easily fly over netting this high, but I suspect the limited area prevents them from doing so.

An earlier picture.

Fig, French Sugar - 01 - 2014-05-28 - Green Manure

Two and a half months later.

Fig, French Sugar - 01 - 2014-08-13 - Green Manure

The growth should start taking off now it's spring. I think the mix is lupins, and some other nitrogen fixing plants. I'll probably scatter in some bee attracting flowers and just let it all grow.

Sunday 14 September 2014

Nettle Tea

I've had a bucket of nettles sitting under my water tank, since Autumn. As it is Spring now, I've bottled it up and am using it as part of a 1/20 dilution (with added seaweed tea, and worm tea) to water my plants. When I researched it, people talked about not doing it if there were seeds on the plant, and cutting the roots off. All sorts of complicated nonsense, with no reason why it would be a problem. I just push as many nettle plants in a bucket as I can fit, then add water, and tie a cloth over the top to prevent fruit flies getting in, and then leave it.

Then I take a cut off 2.25L coca cola bottle as a funnel, and use that and some old mutton cloth to sieve the resulting green liquid into empty plastic milk bottles. The coke bottle funnel fits in there perfectly, and the mutton cloth collects the seeds, which I scatter somewhere so I can get even more nettle at later date. The more the better! I go through this stuff too quickly.

Nettle Tea - 2014-08-29 - 01 - Bottling

Friday 12 September 2014

Acquiring Seaweed

I've been bottling my nettle tea, which has been sitting festering away for the past six months, and wanted to extend my natural fertiliser selection by adding seaweed. So I headed down to the beach out from Winchester (the east coast), and gathered seaweed. Walking half a kilometre each way, I gathered two ute loads, which are either soaking or have already been bottled.

The south view down the beach. There's a dead seal there somewhere, so don't look too hard. Hopefully you can't see it in the photo.

Winchester Beach - 2014-08-14 - 01

The beach entry point.

Winchester Beach - 2014-08-14 - 02

The north view down the beach.

Winchester Beach - 2014-08-14 - 03

Unfortunately, I've been too lazy to take a photo of the bottled seaweed tea. Or the pile of seaweed which is in the backyard. Or the citrus I poured it over which have become damaged, likely from the salt. But I've fertilised the garlic, beans, peas, cauliflower, chickpeas and so forth, and they've started coming away nicely.

Wednesday 10 September 2014

Chicken Fencing Required

It's reaching the point where I really need to fence in the chickens. They get into the back porch and sit on the bench by the door, leaving muddy footprints and dirt. They get into the garden edges and scratch the bark chips out onto the lawn. They knock over containers with plants inside. They scratch up my new hugelkultur garden beds, moving all the dirt off the buried wood. And so on.

And of course, they get on the window sills outside. Sometimes even pecking at the window to get a response!

Here at the lounge window:

Chickens - 2014-09-02 - 01 - Lounge

And at the bedroom window. You can see my budget window insulation, done using bubble wrap.

Chickens - 2014-08-29 - 01 - Bedroom Window

And back in the lounge again.

Chickens - 2014-08-10 - 01 - Lounge Window

At the moment, the chickens would have to be the most free range I know of. They never get locked in anywhere, or shut in at night. They just come and go as they please, including around the house. The garden edges (ignoring shifted bark and dirt) have never looked better. The weeds under the hedges have been scratched out, and are now clean and tidy (again ignoring dirt shifted to places like the driveway).

But still, I think a large fenced area around the orchard is where they are going to end up.. They get in everywhere, eating or damaging everything that isn't covered with netting eventually.

Monday 8 September 2014

Brogue v1.7.4

There's no public repository for Brogue, which means I maintain my own where I merge in each source release, which comes as part of each binary Brogue release.

Today I merged in v1.7.4.  It was a pretty straightforward merge, so should be an easy BrogueX release.

The only problem is that my BrogueX repositories are broken because of bad merging, where things have been merged in the wrong direction and I have no idea how to fix it besides throwing all my local repositories away and starting again.  It's strange how I keep doing this.

More Hugelkultur Garden Beds

In an ideal world, all my garden beds would have been prepped last Autumn. But it was cold and wet, and.. it never happened. So at the start of Spring, I've been digging out and clearing some more hugelkultur beds where my corn patches used to be.

This is the paddock hugelkultur bed #2. Most of the soil here was taken out, mixed with a ute load of purchased compost, and put in a raised bed by the house. Filling with wood and then covering with soil followed this photo.

Garden Bed Preparation - Field - 2014-08-13

A later photo, showing newly dug and filled paddock hugelkultur beds #2 and #3, and beyond that fenced #1. The bordering with cardboard was intended to catch dirt while working, and is not a good approach long term in my opinion. The grass grows around it and pushes it up. You can also see clearing in preparation for subsequent beds closer to the camera.

Garden Bed Preparation - Field - 2014-09-02 - 05

Three ute loads of wood from the neighbours "burn piles", ready for digging #4. You can see borage growing in the back right corner of the pile, this is one of the few things that I can identify as having grown from the Koanga herbal ley seeds I scattered last year (and never saw any sign of).

Garden Bed Preparation - Field - 2014-09-05 - 01

The easy part of #4 dug out, where it overlaps the past year's corn patch. The intention is to make it longer where I have the space. #3 has a plum or quince tree planted beyond the corn patch area, which is why it ends up shorter.

Garden Bed Preparation - Field - 2014-09-05 - 02

#4 filled in with wood, and with a partial dirt covering. It by this point was dug out to an extended length.

Garden Bed Preparation - Field - 2014-09-05 - 03

And finally the finished #4 bed. Note that #3 still has an excess of soil from where wood in #4 displaced it, this will be shared between all the beds.

Garden Bed Preparation - Field - 2014-09-05 - 04

It takes maybe three hours to do this, but most of the work is already done because the soil in the past year's corn patches has been previously dug up. Parts like the extended area have never been dug, and are hard and contain stones making them much more work.

Chilling out in China

I stumbled across this old photo I took of two chinese guys relaxing together on a bench in a park, in Shanghai.  Most likely students relaxing after a harrowing amount of study.  You wouldn't find two european guys relaxing in this fashion, at least not willingly..


Tuesday 19 August 2014

Peach, Black Boy, #1 / 2013-2014

There were two unknown fruit trees planted around the house. One was in the garden by the hut and it was obviously a dwarf nectarine or peach. The other was in the front garden, and was obviously not a dwarf tree, but was also a nectarine or peach. The only way to find out what kind, was to wait and see, as a peach is a fuzzy nectarine.

Day X+0: By this stage, I'd pruned the tree, and we were into summer and leaves had grown along with small fruit. There's not much to say past this point, other than to observe the growth over the 2/3 of a year that passed. I did thin out the fruit at one point.

Peach, Black Boy - 01 - 2013-11-08

Day X+6:

Peach, Black Boy - 01 - 2013-11-14

Day X+44:

Peach, Black Boy - 01 - 2013-12-22

Day X+66:

Peach, Black Boy - 01 - 2014-01-13

Day X+69:

Peach, Black Boy - 01 - 2014-01-16

Day X+76:

Peach, Black Boy - 01 - 2014-01-23

Day X+85:

Peach, Black Boy - 01 - 2014-02-01

Day X+99:

Peach, Black Boy - 01 - 2014-02-15

Day X+114:

Peach, Black Boy - 01 - 2014-03-02

Day X+141:

Peach, Black Boy - 01 - 2014-03-29

I would have gotten around 10 fruit from the tree. Some mornings I would go out and pick up the windfall fruit, but if I forgot, either rabbits, hares or more likely blackbirds would have taken a bite or three out of them. The chickens at this stage were caged away, but love pecking away at black boy peaches.