2006-10-10

Cornerstones of a Good Program (Software)

Accuracy, Effeciency(Performance) and Simplicity, in that order, are, in my opinion the cornerstones of a good program.
Did not realize the importance of design and documentation until I stepped into the real world and started fixing and creating bugs. So often, I find myself criticizing the design. And most times, changing the design is too expensive (in terms of number of hours of coding and testing). Deadlines mean getting the application to work now and worry about legacy design flaws later. This is irritating. I have not yet been in a position where I could design a piece of functionality from scratch. Waiting for my turn. Meanwhile gathering experience..learning what makes a good design..and what the common design mistakes are...the pitfalls to avoid when designing. Gotta read that Design Patterns book...
And ah Database Tuning! Interesting and how important! Either applications have large number of people accessing the app resulting in several database operations being performed every unit of time. Or applications don't have as many users at a time, but do processing that accesses large amounts of data. Still learning the do's and dont's of writing code (and queries) that are tuned for performance.
Must learn more about Databases. Refreshed my knowledge of how indexes work today...had forgotten how an un-smart query would result in indexes not being used.

This post does not actually come under a blog titled 'Dreams Ahoy!' :D But no patience to create another blog....so here it stays.

2006-09-26

Two Kinds of People

Recent and long past experience has shaped this theory of mine. There are two kinds of people in this world. Call them A and B.
Kind A: Frank and direct in his everyday dealings. He doesn't think twice before opening his mouth and letting his thoughts pour out. If you hurt A, A tells you so. And also clearly tells you what exactly hurt him. He expects similar behavior from you. It baffles him why when he hurts you, you don't tell him clearly what he did that bothers you so, but instead you treat him cold.

Kind B: Diplomat. She thinks her words aloud in her mind, before uttering them. She imagines the expression those words would produce on your face. She thinks how she would feel if the words were spoken to her. Would she feel hurt? If yes...she rephrases, restrings her words, her sentences until technicaly they convey the truth, but don't hurt. She expects others to weigh their words similarly. Also, she never tells you if you hurt her. Instead she expects you to know! Having to tell it to you herself is adding insult to injury! She wouldn't tell you what you should do to please her, she expects you to infer from observation, just like she does. Asking kills the pleasure! So it is beyond her understanding how you could not think before you speak. How you could not know you hurt her!

And if you are a kind apart like me (the Kind C, C for 'Chameleon') you act as a Roman with a Roman...whether you are in Rome is of no consequence.