Mateusz Loskot :: hacking on, working out, living up

Productive Saturday Climbing

05 Sep 2009 | mloskot

Today, Pantera and I we hit the Castle Climbing Centre early in the morning. It’s nice to have wide range of routes available when the centre is nearly empty as people are recovering after Friday buzz ;-). I am (exceptionally?) weak today. Probably, it’s because the last 2 weeks I conducted endurance oriented sessions only. First, I jumped upstairs to climb a few V1-V3 boulders on the overhang featured bouldering wall. I tried the new orange V5 boulder. It’s beautiful, but I couldn’t prevent my body swinging a bit after quite dynamic move to 4th hold. I’ve put the V5 on my short list, definitely. Next, we hit number of top-rope routes. Pantera was working on technical 5 and 5+ and I was trying to mix strength and stamina problems:

No rock rings, no campus. Finished bouldering a couple of V0-V3 on the Panels.

While my muscles were busy pushing enormous amount of ATP molecules through their fibres and cells, my brain was busy solving design issues of how to make C++ interface of GDAL library better. It is clear that neither dataset nor raster band can have semantic of plain value objects. Both, dataset and raster band, represent real world physical resources and they are more like reference objects. In spite of that reference semantic is dominant in the world of GDAL objects, I’d really like to make them CopyConstructible and Assignable. I know it can be achieved straight away:

std::tr1::shared_ptr<GDALDataset> ds(::GDALOpen("file.tif", GA_ReadOnly), ::GDALClose);

But, I just don’t want to make yet another Gigantic Rats Nest Of Pointers. I would be happy to keep all the ugliness out of user’s sight. I think it’s feasible. Perhaps I will even Pimpl my Ride GDAL.

I’ll probably need one or more climbing sessions to finish the design of better GDAL, so I can start slinging some code around. Next climbing on Monday in Swiss Cottage with Jo, Chiara and Pantera.

Fork me on GitHub