Wednesday, April 11, 2012

Cat's Paw...

Ptilotus spathulatus, aka “cat's paw” or ”pussytails”.  I saw this while in Australia, back in the '70s.  They feel just like they look like they'd feel.  I had no idea what it was, but I sure enjoyed it.  As always, click to enlarge.  Via BPOD...


Race: His First Competition...

This past weekend Debbie ran both Miki and Race in an agility competition.  This was Race's very first such competition.  In the video below you can see Race make some “newbie” errors (like knocking down the bar on a jump, or missing the weave poles).  But you can also see some fantastic speed – he looks like he's roughly twice the speed of Miki.  Several times you can see him leaving Debbie far behind.  The numbers bear this out: this course was rated at 44 seconds, and he did it in about 20 seconds.  Watch out, world!  Race is on the way!

Geostationary Satellites...

Look closely at this time-lapse movie and you'll see a line of “stars” that don't move as the real stars rotate.  Those are geostationary satellites – mostly telecommunications satellites – all orbiting about 25,000 miles high.  Their orbits take 24 hours, so they appear to be motionless in the sky above us.  They're all very close to the Earth's equatorial plane; if they were off this plane, they would appear to make a figure-eight pattern in the sky.  From APOD, of course.

The Demise of the Low-Level Programmer...

Andy Firth talks about a topic I've posted on several times:
It depresses me that so much of what I consider to be essential is simply not being taught anymore. I’m not talking about assembly language per se; even those of us who used to spend hours writing assembly now more often opt to use intrinsics built into compilers to avoid the stress and complication. What I’m talking about is simply the understanding of WHAT is happening when someone does i++ and not ++i, why one might opt to stripe a memory copy/set in certain circumstances.
The gist of my earlier posts: I'm serially astounded just how productive it is possible for programmers to be without a well-rounded understanding of how computers work.   The understanding of floating point vs. fixed point arithmetic that Andy mentions is one of my favorite examples.  Though I work in a team packed with more-than-just-competent programmers, I doubt that one in ten of them actually understands IEEE-754 floating point representation.  Perhaps one in five could do a decent job of explaining two's complement arithmetic – and far less would have even heard of one's complement arithmetic.  I've had the same experience as Andy – many times – with respect to bit shifting (and bit twiddling in general). 

I won't say all this depresses me, as Andy says.  But it certainly worries me, especially with my experience working with Soviet-trained developers in Estonia who understood these things far better than my American colleagues.  Also, as I mentioned above, it surprises me that it is possible for programmers to become very good indeed without having this backdrop of deep understanding...