Yet today wasn't all that awesome. I've never wanted to shower more. In the morning, I walked to St. Nicholas's Girl's School for their... Carnival thing. It was still before nine then, so it wasn't too bad. However, the sun was at it's evilest and most cruel for just about the entire duration I spent at St. Nick's. Also it didn't help that Leonard and I basically walked around that... HUGE... Campus, maybe seven or eight times. The ambient temperature had to be at least 35 degrees, resulting from the sun's wrath and the body heat of hundreds of people. So I was basically sweating... A lot more than usual. In fact, I think I sweat more this morning than I have since PE at AJ.
Those people are seriously rich or something. Their carnival was on a much, much bigger scale than Montfort ever had. They even had a Seven-Eleven stall there for the day. Like what? Oh, and it was real. With real Gulps and Slurpies. Also there was The Coffee Bean. And an arcade.
On which we wasted a large amount of Leonard's money, playing DoA. It's not fair. They have X-Boxes at their carnival.
Also they have like 12 pianos scattered all around the school for anyone to use.
On the bright side, I did get to meet Leonard's sisters and we won... Stuff. Our initial plan to play the game until we've won their entire stock of prizes didn't work out so well when we picked an inaccurate airgun. Also the girls manning that store probably had words like "these guys are nuts..." going through their heads. Either that or something to do with paedophiles.
Anyway, on the ride home after the movie, I chanced once again upon the topic of nanomachines. I previously mentioned the possibilities which they present, and how amazing it would be if we had them. However, when you have a swarm of nanomachines(we'll call them "agents" because it's easier to say), their intelligence and programming is obviously going to be distributed. I mean, you can't expect a single, microscopic particle to be able to contain much data. Therefore, a swarm of agents has to be armed with what is known as distributed programming. The thing is, that distributed programming naturally faces a lot of problems.
It is common to use a flock of birds as an example of distributed intelligence. Birds aren't exactly the smartest creatures on the planet, and they don't really have any "programming" that tells them to flock. For example, there's nothing in their brain that says "When stuff happens, flock." Instead, they have "Fly as close as possible to the next bird, but don't touch it." So when one bird decides to randomly fly off, nearby birds follow that simple command and take off with it, causing flocking. Same goes for shoals of fish.
A slightly more complicated example involves the Hive Mentality. Social insects like ants and termites are basically brainless individuals. They have a few simple, fundamental rules that make the entire colony work. Things like "If there is the scent of a friendly termite here, drop a rock." This basically leads to the construction of the massive towers that we see in... Somewhere in Africa. I think.
Since what termites are programmed with doesn't immediately say "build a colony", it's probably safe to assume that what we see them doing is the result of their distributed programming. It's called emergent behaviour. Basically, it's the stuff that happens after all the different algorithms react with one another.
However, there is usually no direct link between the distributed programming and the emergent behaviour, especially in complex groups of agents similar to ant and termite colonies. And since the topic we are looking at involves agents being able to form into various types of implements, there would have to be many different types of agents.
Which gives rise to the problems of erratic behaviour due to unpredictable reactions between agents. You give a swarm of agents the task of turning into a camera. There would have to be all the basic algorithms required for that to happen. Lens parts would have to assemble correctly, chassis parts would have to assemble appropriately around the lens. The complex electronics would also have to assemble to form a working circuit inside the camera. It may not sound like much of a task, since it seems that one could just command each type of agent to assemble appropriately with other agents, in the form of a flowchart.
However, one must remember that these nanomachines are pretty brainless. You can't load a complex stream of flowchart algorithms into them, like we do with larger "intelligent" robots.
... And also given that I don't really know anything else about distributed programming, I'm kinda stumped here.
So basically all I'm saying is that conventional programming may be unable to yield the results that I talked about previously. Even if you were able to load sufficient varieties of algorithms into a nanoparticle, the swarm would require rigorous and intense testing before it can be declared functional, let alone safe for use.
Which basically means that none of us are going have nanoswarms floating at our shoulder in our lifetimes. Instead, we'll just have to appreciate the wonders of carbon nanotubes and the possible cancer-curing capabilities of nanometals.
Damn. I can't find anything related to this post. So, random... gif!

-Joe