I do believe that some days the Marketing Forces Of America decide to target me personally, as they did about three months ago when I first saw the Cubelets video online. Cubelets are like the physical manifestation of Actors: cubes that each do their own action and pass messages between each other using dataflow buffers to create robots!
So, I quickly ordered a set, because that's what you do when personally targeted by MFOA -- you don't want to make them angry. They arrived today. And, oh yes, they're neat. I had a couple false starts, but quickly built up the basic "come to my hand" robot. Shortly thereafter I had a robot running around, capable of turning to dodge my hands and flashing light patterns. But I quickly ran into the LEGO problem. You know the problem: You *never* have enough LEGOs. In this case, within a half hour of playing, I found myself wanting two inverter blocks, and I was "hacking" using a flashlight block as a data blocker block. And fifteen minutes after that, I had exhausted the permutations available with my limited set.
Why must the coolest toys be so expensive?! Check out the price list!
http://www.modroboti...vidual-cubelets
And then, I realized the answer to that question: it's hardware. Physical matter costs. And I looked at my cubelets, and I looked across at my laptop, which had on screen the cube control of one of my actor classes. Looking from one cube to the other, I realized just how lucky I am that nature made me a software engineer instead of a mechanical engineer. And then, my next thought... "Hm... perhaps we should start charging $25 per cube? If people are willing to pay so much for hardware cubes... and, hey, the software cubes are *reprogrammable*!" But then my cat started chasing my cubelet robot, and I realized this is the one area that the software just cannot compete, and I guess that justifies the hardware price: no software actor is going to have my cat pouncing quite so adorably. So I guess it's better to keep the software cubes priced like an all-you-can-eat buffet: buy LabVIEW and get all the cubes you want. And I'll just dream about the day when we *finally* get reprogrammable matter. And then we'll see software *can* keep cats on their toes!
(Side note: When one of the hardware cubes receives two messages simultaneously, it averages the messages. I wonder if there's any way a feature like that would be useful in a software actor framework? Add it to the brainstorm list...)