| Adding Simplicity - An Engineering Mantra |
A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away. ~Antoine de Saint-Exupery -- Note, the opinions stated here are mine alone and are not those of any past, present, or future employer. --
- Recent
- Popular
- Tags (0)
- Subscribers (5)
- Television for Software EngineersOctober 12 2008
-
No, this isn't going to be an article about concrete architectural practices. But it may in fact be as useful as any of those. I watch some television. Okay, sometimes I watch a lot more than I should. But mostly I listen to it while doing other things, like now as I write this article. And somewhat surprisingly, I find some television to be incredibly applicable to the field of software engineer. More interesting is that the programs I find applicable have absolutely nothing to do with software or in most cases even computers. Here's programming I find very insightful.
Detective Programs
Some of these are much better than others. All software engineers are inherently intrigued by a good puzzle. Unfortunately most of the remaining population isn't so too many detective programs turn into juicy dramas with lame intrigue instead of good intellectual challenges. My two favorite by far are Columbo and Monk. What these two programs share is the reliance on incongruities in details to lead our hero to the solution. How does this apply to software? Well, debugging hard problems is almost always about paying attention to seemingly inconsequential details. Inconsistency in behavior in an unrelated flow is often the key indicator to the root cause.
Mythbusters
I enjoy Mythbusters immensely. Yes, it is truly geeky fun. And they get to blow real things up, not just simulated explosions in mathematical models and 3D renderings. But what is a true joy to
- Focus on the Cloud, not the CloudsSeptember 20 2008
-
There are a lot of very good conversations going on about the challenges with cloud computing. Storage is just beginning to mature in the cloud and there are many interesting issues around privacy, SOX, and PCI compliance. Nobody has clear answers yet on the security and compliance related issues. But I think for many enterprises, that may be a pointless dialog because it isn't federating their capacity into the clouds that is important but rather how to leverage the concepts and technologies from the cloud to improve their operational efficiency.
Before getting into complex discussions about the security challenges of using the cloud, I believe most organizations need to take a good look at how well their applications can operate in any utility compute model. Does your application currently support all of the following concepts easily?
Loose Coupling to Platform
Are your applications platform independent? Have you made them completely agnostic to the processors they require? Do they scale well from a single core to several cores? Have you optimized your memory footprint, making it fit well into a modest memory model? What assumptions do your applications make about operating systems? Directory paths? Available local disk space?
Ultimately, can you run your applications in a collection of virtual containers in your environment right now. The answer for many organizations is no. And until that is fully addressed, their ability to enter in cl
