Jules Verne March 30, 2008

It has been fun to read about the Jules Verne spacecraft developed by the ESA. It's a cargo ferrying spacecraft designed to dock with the ISS autonomously.
After just finishing a book on unit testing, it's fascinating to read about some of the design that went into the atonomous docking software, not only in terms of software, but also the human processes that monitor the atonomous software and intervene if there are problems. Sounds like a wonderfully interesting application of software, testing, processes, etc.
To quote one part of the article:
Cameras on the station's exterior captured several views of Jules Verne during Saturday's demonstrations. The 40,000-pound spacecraft appeared as a gleaming star above the Earth's limb.
"For the flight control team, the sight of the ATV thrusters firing was particularly exciting and brought the whole thing to life," Chesson said. "It was fantastic to be reunited with Jules Verne and to see it performing so perfectly, which is very promising for the days to come."
I enjoy imagining what it would be like to be a part of the flight control team. These people, whether they're designing rovers that get catapulted millions of miles to Mars, or cargo ferrying autonomous docking spacecraft... what an emotionally charged moment to see this thing you've created, alive and well and acting with a little bit of its own will.
I think in that moment, we share a little bit more in common with our Heavenly Father, and we can imagine His joy when he sees His creation acting out His good intention.
| 
  |
Software optimizationMarch 14, 2008
The classic software development model usually puts optimization at the end of a project. The word
optimization almost implies this. You're taking something that already exists and making it better. But this can be a dangerous philosophy, because performance is often the result of designs that have been constructed with performance in mind, and it can be difficult or impossible at the end of a project to change a design at a fundamental level.
So while I agree that finicky optimization stuff fits nicely at the end of a project, this shouldn't be used an excuse to "not worry" about performance issues until the application is functionally complete.
For example, if you consider Google's products, which are search and other various rich web applications, it is evident when you use them that performance played a very significant role in the design of the products. Google most definitely didn't build these applications and then ask "but how can we make them fast"?
Article on Wired about McKinstry/Singh SuicidesJanuary 21, 2008
Wired ArticleI came across this article yesterday while perusing Digg. It is a fascinating yet sad article about the lives and deaths of two modern day AI pioneers, both tirelessly chasing after the goal of human level machine intelligence. For me it underscores how often brilliant people struggle with mental illness, and how discouraging it can be to chase after unrealistic dreams, especially when those dreams define who you are. The field of AI is a humbling one.
older >>