I probably could have scrimped by with 4 scoops of hardwood mulch, but it was nice having 5 scoops so I could be generous with it. I also bought cedar mulch in bags for the paths. At right is a shot of the backyard, which was tougher than the front since I had to carry the mulch up the stone steps where the cart couldn’t go. So in total, I’ve spread out 5 cubic yards of hardwood mulch for the beds and 18 bags (2 cubic feet each) of red cedar mulch for the paths.
Shoot. Just remembered I have seven more bales of pine straw to spread out…
Bonnie says we have weird azaleas. Most azaleas stopped blooming around here weeks ago, but here’s one that’s just peaking. We have others that are just starting to bloom, and we have some that bloom in the spring and in the fall.
The weirdest of all are those that die and bloom at the same time, like the one below. You can see a dying branch in the upper-right of the photo. I don’t know what’s going on, but it seems like whole sections of a plant dies off and those branches become brittle enough to snap off.
I’ve uploaded PGN players for my round 4 and round 1 games. Both of these games were wins playing black, which gives me 3 wins and a draw with one round to go. The round 4 game got off to a quick start with all 8 minor pieces traded off by the 16th move. That was fine by me since it would reduce the chance of time trouble, and it left my opponent with doubled pawns, but it also cut down on the tactical possibilities. However, the rest of the game was not dull. Douglas put all his hopes on a king attack by lining up all three major pieces on the f-file. I thought I had it covered and took the opportunity to pick up a few neglected pawns. He made the best move in the diagrammed position, but after a sequence of less-than-perfect moves for both sides, I avoided trouble and started pushing my passed a-pawn to win.
The round 1 game against Nancy had a couple of similarities. Both started with a Sicilian defence and with my queen venturing into enemy territory to pick up a pawn, but instead of counter-attacking like Douglas, Nancy made an effort to trap my queen. The net was getting pretty tight until she blundered and left a rook unguarded. Otherwise I think my queen can barely escape by giving back the pawn. The computer shows that my previous move (h7-h5) was a waste, and I should have moved my knight to d7 and then c5 instead with prospects for trading my queen for a rook and a bishop.
The Java port of GNU Chess is now doing well enough to play a game and beat me. To get the main alpha-beta engine to work I had to track down about a half-dozen or so translation errors I had made in going from C to Java. Fortunately, I got the C version to build under Xcode, which gave me a IDE with debugger that I could use to compare my code with the C code as they were both running. Just as fortunately, most of the errors made themselves felt pretty early in the move evaluation process, so it wasn’t too tough to track down what was going wrong by narrowing the window between when things were good and when they were bad.
There are several sets of “find the best move” problems that are used for evaluating chess programs. With 5 seconds per problem for the “BT2630” set, my Java version of GNU Chess gets 7 out of 30 correct (10 if I increase the hash table size from 1K to 16K entries, and 16 if I give it about 30 seconds per problem), and the C version gets 11 out of 30 correct (12 with the bigger hash table). The C version is still running about twice as fast at processing positions. The hash table management appears to be a place where improvement is possible.
The toughest errors to track down were those that originated in the C source. In one case the Java version would get an IndexOutOfBounds exception evaluating a position, and it turned out the position was invalid as there was a black pawn on its eighth rank (it hadn’t been promoted). It made me feel a little better than the C code had the same problem, except that negative array indices executed silently there. I couldn’t find any problem with the move generation code or the move execution code, but I eventually found that there was a backdoor for stale moves to enter into consideration.
Moves in the hash table that were once good “killer” moves would be considered later even if the board had changed, as long as they were still legal. So at some point a move such as g2-g1 would make it on the list with a rook on g2. Later the move would be considered again when a black pawn was on g2, and the legality-checking code wasn’t watching for such a pawn move (since none would be generated by the move generator without also setting the promotion info). So a fix to
IsLegalMove finally got things going.
Everything I test shows new errors, and now I’m seeing problem processing the opening book…
The rhododendrons at the Rhododendron Bluffs at Duke Forest off Whitfield Rd. are in bloom these days. It was hard to get a decent photo since the plants are scattered along the hillside and they don’t get enough sunlight to have spectacular flowers. The trails, bluffs and the creek are plenty to make the trip worthwhile, and having the rhododendrons in bloom is just a bonus.
To get to the bluffs take the first Duke Forest entrance on Whitfield if you’re coming from Old Erwin. Then go left when the trail forks, and you’ll come out at the top of the bluffs. Google satellite map
Last night’s rain was so light that the mulch under the hosta leaves didn’t get wet. Or was it the that the leaves shielded against the condensing morning dew?
I got very lucky in this game yesterday. I started out well, I thought, with a strong center and plenty of room for my pieces. If only I knew how to turn those advantages into something tangible. Black soon challenged my center with d5, and the center stayed fairly tense throughout the middle game. Computer analysis showed many suboptimal moves which resulted in slight advantages that swung from one player to the other.
Black traded a knight for my two central pawns, which I thought was to my advantage though the computer shows it was a good trade for Black. He probably needed to work on advancing his passed pawns to make the trade worthwhile, though. At left, is a typical position of the middle game. I thought for a while and moved Bf3, but the computer suggests f4 instead. Eventually I figured out I should use my extra piece to try to win trailing pawns and got into a decent position, but was very short on time. Black kindly dropped a rook with my clock under two minutes, and I barely had enough time to mate him–only four seconds to spare. Very lucky.