Friday, March 4, 2011

Computing as a drug; me the addict

I think my profession is all about getting a high from solving puzzles.

I love puzzles, and I'm an addict. I once missed a week of courses because I discovered the 5 x 5 x 5 Rubik cube. My math professors didn't mind as they were very understanding to my needs, and I was fortunate to not be taking any humanities during that semester.

My current fix is on distributed computing, and I find it fascinating.

During college, I was interested in game engines as it focuses on performance. Performance is a great way to get high since you know the theoretical capabilities of your hardware, so how do you hit those numbers? How do you degrade quality to gain performance? How do optimize away computation? It is a performance junkie's dream problem.

When I did my start-up, I was obsessed with Scalability (when I should have spent more time marketing) and technical execution. Scalability problems (even if invented) are pure crack. The reason is that there is no upper bound. With the game engine, the bound was given by the video card (i.e. you win when it shuts off from too much heat).

Ultimately, distributed computing comes into play to solve the scalability problems. However, scalability isn't the crazy fun part. The crazy fun part is when you accept the fact that any part of your network may fail.

This is a cognitive fail for me since I expect and make the assumption that my machine just works. I write programs that execute a series of commands, it should always terminate. What happens if mother nature pre-terminates your program? Can it resume?

Once you figure out how to deal with fail, you have to scale. Once you figure out how to scale, you have to perform. Once it performs, you need to extend. Now, rinse and repeat. Maybe you need a big rewrite? Who knows.

This is why computing can be bad for you, it never ends. The complexity/puzzles just add up (which is excellent for my profession).

Now, there was going to be a point to this blog post, but I forgot.

No comments:

Post a Comment