Galleries
Search
Powered by Squarespace
Sunday
Apr172011

Tour de Bloc 2011 National Bouldering Finals

Today I went to the Tour de Bloc 2011 National Bouldering Finals.  It was pretty amazing.  The competition was really good, and the problems seemed appropreately difficult to separate the top climbers.  This was the first bouldering comp that I have attended.  It was a lot of fun and I definitely want to go to more in the future.  I took my Canon S95, but I made a rookie mistake.  I trusted the battery meter.  I checked the battery before I left home, it was "three bars", aka full.  When the comp. started I turned the camera on and took a few snaps and suddenly the battery display was red, warning low battery.  Sigh.  I should have charged the battery regardless.  Of course it sure would be nice if the battery meter was actually accurate, instead of terrible.

I managed to get about 40 images before the battery competely died, which is ok, but I had to keep the camera off unless I was ready to take a picture, which meant that I probably missed a few shots.  Oh well.  I'll try to never do that again.  You can see the pictures in my bouldering gallery.

Friday
Apr082011

Garden Status: Mid March

I uploaded some photos of the garden taken on March 19.  This is basically before anything is actually growing, but it gives a good baseline.

Lets start in the front, not much going on, however if you look close you can see little Wild Strawberries that seem to have survived under the piles of snow.  There are various things that should start growing in the next couple of months.  The tree is a Serviceberry, this will be its second year.  We bought is as a bare root to replace a nasty Norway Maple.  Underneath there is Wild Strawberry, Canada Anemone, Sneezeweed, Heart-Leaved Aster, Nodding Onion, Wild Geranium and some Cinquefoil.  The Strawberry and Anemone are quite fast spreaders, so they provide most of the green.  The Cinquefoils are getting overpowered.  Maybe I should relocate them.

Not much going on on the other side either.  There are Bloodroot, Wild Ginger, Violets, True and False Solomon's Seal, Meadowrue, Red and White Baneberry hiding in the ground.  The Bloodroot should be the first thing to come out and say hello.

 

 

The side patio is pretty barren as well, in the summer this area is dry and gets fairly hot, so the plants here are more adapted for that environment.  We have Prairie Smoke, Royal Catchfly, Wild Lupine (which did not do very well last year and may not return), some Goldenrods that were supposed to be New England Asters.  Harebell, Tall Bellflower, some grasses, and American Groundnut vines growing up the wooden archy thing in the back of the image.

 

Down the stairs into the backyard, there will be cinnamon ferns on the right, Canada Mayflower in the lower right corner, on the left is a bunch of non-native something or anther that is helping retain soil (so it gets to stay, for now).  Below that I have planted some more false solomon seal, a red baneberry shrub and some meadowrue.  I am thinking about getting maiden hair and christmas ferns to help add some variation to the right side of the stairs.  The Cinnamon Ferns were there naturally, and I just moved the to that location.  They are not the prettiest of ferns.

 

The backyard patio.  On the left of there will be Sensitive ferns.  The slope on the top right has been tricky to get something established.  There should be Trilliums and bunchberry, however neither seemed to do all that well last year (which is when I planted them).

 

 

This is along the back of the yard.  There is a bit of a crazy mixture of stuff here.  We have some shrubs, ninebark, black elderberry, maple leaf viburnum.  As for plants, Asters, Wild geraniums, tall bellflowers, milkweeds (for the butterflies) Canada Anemone, Twinleaf, cardinal flower, monkey flower, may apple, jack in the pulpit.  I should also mention that the backyard is where we have had the most trouble with invasives, most notably garlic mustard, celandine and lily of the valley.

 

 From the back left corner of our property, there is a pagoda dogwood, spicebush, red osier dogwood along the right side.  There is purple flowering raspberry on the inside of the corner.  There is also a sprinkling of meadow rue, canada waterleaf, a few more may apples and false solomon's seal.  I also planted some green headed cone flower in the corner that the picture was take from.

 

 

That's how the garden looked in Mid March, which is a few weeks back.  One week after I took these photos it looked like this again:

However the snow has almost completely melted now.  Hopefully that was the last of it.  My most recent tour of the garden showed that the non-native spring flowers, tulips, snow drops, crokuses are starting to come up.  The only activity from the natives are the red elderberry buds are starting to open:

I expect to see the spice bush, bloodroot and Virginia blue bells to start in the next few weeks.  Exciting times in the native garden.

Thursday
Mar242011

Debugging via Binary Search

Here is a little debugging trick that can work really well, when everything else fails.  I call it binary search debugging.  This technique helps locate where code is going bad (crashing generally). Basically you stick 3 logging statements into your code, the first should be before the crash, the last should be after the crash, and the middle one should be about halfway between:

printf("1\n" );

.

.

.

printf( "2\n" );

.

.

.

printf( "3\n" );

Build and the run the code (you may need to add output stream flushes after each print, in case buffering affects the output).  If the code crashes and you see 1 printed, but not 2 or 3 then the code went bad between the 1 and 2, so you move the 3 to the 2 position and place a new 2 somewhere in between, generally about halfway.  If you see a 1 and 2 printed, but not a 3, then you move the 1 to the 2 position and move the 2.  By repeating this process you can narrow down the range where the code is crashing, ideally leading to the problematic line.

This is exactly a binary search in the code for the location of the crash.  Each time you move prints, you cut the amount of potentially bad code in half.  If you have a 1000 lines of code, you can locate the bad line in 10 runs.

There are a few times when this technique shouldn't be used.  First, and most importantly, if you can use a debugger or similar tool to locate the crash directly, do that.  There is no need to mess around with print statements if you can use a proper tool.  As well, if the crash is unstable, that is, it does not always occur at the same place or does not always crash, then this technique can difficult or even impossible to use.

All that said, this technique has been useful in the past and I am sure it will be useful again in the future.

More generally, binary search techniques can be applied in other areas of programming.  For example, if a bad change got into your source code repository some time the past, but you don't know when, you can always use a binary search over changes to find it.  A test that exposes the bad behaviour can be used to indicate if a build at an arbitrary change contains the issue.  Thus as long as you have a change number before the issue and you know the issue exists in the head revision, you can use a binary search to locate the change the introduced the issue.

Wednesday
Mar232011

Grand River Rocks!

I just found out something fabulous.  There is a climbing gym under construction in Kitchener, called Grand River Rocks.  I have not posted about this yet, but my wife and I go climbing regularly, about once a week.  The gym we currently frequent, Climber's Rock, is in Burlington, which is about 1 hour away.  There is a closer gym in Guelph, The Guelph Grotto, but we started climbing at Climber's Rock because the friend that got us into climbing lives in Hamilton, and Climber's Rock is her home gym.  After going to Climber's Rock a few times, it was tough going to the Grotto, as it is an older style gym.  Thus we have being doing the hour drive to Burlington.

Information about Grand River Rocks is limited, they have a website that is still under construction, and a facebook page, with a little bit of info:

10,000 square feet of climbing wall
140 horizontal feet of continuous top out bouldering
38 foot high routes
Lead roof with over 60 feet of climbing
All angles of routes from slab to overhanging

I'm not exactly sure how that compares to Climber's Rock, but it sounds pretty good.  A local gym would let us climb more frequently and that will undoubtedly help us improve more quickly.

According to the facebook page they are hoping to open this summer.  I am very excited.

Wednesday
Mar092011

Garden Tracking

I had an interesting realization while I was looking though last years photos of my garden.  First I realized that I did not take very many.  Second I realized that the images, with their date tags, were a really good way to keep track of what the plants were doing at different times of the year.  For example, I can see that snowdrops (a non-native that was present when we moved in) were blooming at the end of March last year.  Other plants, Bloodroot, May Apple, etc were starting to come up by early April.  I have photos from the second half of April showing Trout Lilies in bloom (unfortunately not ones in our yard).  By early May, trilliums and false solomon seals were blooming, late May I can see Wild Geranium, Columbine, and Canada Anenome in bloom.

This is a really useful (and easy) way to keep track of what different plants were doing when, so I am going to try and take more pictures of the garden this year.  I am going to try to take a complete set of garden photos each week, from when the first plant peeks its head up (potentially soon!) till winter rolls in.

First to appear will probably be the snow drops, however we also have a Spicebush which is a native bush.  Spicebushes are also early bloomers.  As this is the first year that we've had the Spicebush (it was planted last spring, post-bloom) I am really interested to see what I does.