Tuesday, August 18, 2009

Learning New without Losing Old

I have lots of opinions on how to do certain things (programming, robot AI, ...). In order to really ingest and learn new ideas, I often have to let go of my preconceptions, at least temporarily. If I dive deep into new ideas, they can wash out my prior perspective. And some of that perspective probably has some good value.

So sometimes I try to correlate ideas. What's the big picture? How does what I know relate to what I'm learning? If I can figure out where they fit both fit on the big map, I can learn better and retain what's best from before.

It's just easier to either (1) hang on to old ideas without allowing new ones in or (2) just give up and focus on the new. It takes effort to assemble grand unification theories on the fly.

Monday, August 3, 2009

CMake rocks!

When I first ran across CMake being used, I thought "Oh no, another build system!" That means I need to install some lame software to build this thing.

After seeing it used some more and reading about it and thinking about alternatives, I've changed my tune.

If you need to build C or C++ (can't speak for other things), and you want to be cross platform (though I haven't tried cross-platform yet, it does seem promising), and you don't want too much pain, I currently recommend CMake. I haven't tried every alternative out there, which is why I don't give a stronger endorsement. But from what I've seen so far, CMake rocks.

And it definitely beats writing Makefiles (and I'm scared of autoconf, too, for some reason).