Pages

Monday, February 15, 2010

Of the World I had forgotten in the last 7 months

Resign Patterns
Ailments of Unsuitable Project-Disoriented Software
by

Anyone familiar with the book of patterns by the Gang of Four knows that the patterns presented in the book represent elegant solutions that have evolved over time. Unfortunately, extracting these patterns from legacy code is impossible, because nobody knew that they were supposed to be using these patterns when they wrote the legacy code. Hence, this work is a catalog of patterns for the masses. The patterns presented here represent abundant solutions that have endured over time. Enjoy reading the patterns, but please don't use them!

1) Cremational Patterns

Below is a list of five cremational patterns:

1.1 Abject Poverty
The Abject Poverty Pattern is evident in software that is so difficult to test and maintain
that doing so results in massive budget overruns.

1.2 Blinder
The Blinder Pattern is an expedient solution to a problem without regard for future changes in requirements. It is unclear as to whether the Blinder is named for the blinders worn by the software designer during the coding phase, or the desire to gouge his eyes out during the maintenance phase.

1.3 Fallacy Method
The Fallacy method is evident in handling corner cases. The logic looks correct, but if anyone actually bothers to test it, or if acorner case occurs, the Fallacy of the logic will become known.

1.4 ProtoTry
The ProtoTry Pattern is a quick and dirty attempt to develop a working model of software. The original intent is to rewrite the ProtoTry,using lessons learned, but schedules never permit. The ProtoTry is also known as legacy code.

1.5 Simpleton
The Simpleton Pattern is an extremely complex pattern used for the most trivial of tasks. The Simpleton is an accurate indicator of the skill level of its creator.

2) De-structural Patterns

Below is a list of seven de-structural patterns.
2.1 Adopter
The Adopter Pattern provides a home for orphaned functions. The result is a large family of functions that don't look anything alike, whose only relation to one another is through the Adopter.

2.2 Brig
The Brig Pattern is a container class for bad software. Also known as module.

2.3 Compromise
The Compromise Pattern is used to balance the forces of schedule vs.quality. The result is software of inferior quality that is still late.

2.4 Detonator
The Detonator is extremely common, but often undetected. A common example is the calculations based on a 2 digit year field. This bomb is out there, and waiting to explode!

2.5 Fromage
The Fromage Pattern is often full of holes. Fromage consists of cheesy little software tricks that make portability impossible. The older this pattern gets, the riper it smells.

2.6 Flypaper
The Flypaper Pattern is written by one designer and maintained by another. The designer maintaining the Flypaper Pattern finds herself stuck, and will likely perish before getting loose.

2.7 ePoxy
The ePoxy Pattern is evident in tightly coupled software modules. As coupling between modules increases, there appears to be an epoxy bond between them.

3) Misbehavioral Patterns

Below is a list of eleven misbehavioral patterns.

3.1 Chain of Possibilities

The Chain of Possibilities Pattern is evident in big, poorly documented modules. Nobody is sure of the full extent of its functionality, but the possibilities seem endless. Also known as Non-Deterministic.

3.2 Commando
The Commando Pattern is used to get in and out quick, and get the job done. This pattern can break any encapsulation to accomplish its mission. It takes no prisoners.

3.3 Intersperser

The Intersperser Pattern scatters pieces of functionality throughout as system, making a function impossible to test, modify, or understand.

3.4 Instigator
The Instigator Pattern is seemingly benign, but wreaks havoc on other parts of the software system.

3.5 Momentum
The Momentum Pattern grows exponentially, increasing size, memory requirements, complexity, and processing time.

3.6 Medicator

The Medicator Pattern is a real time hog that makes the rest of the system appear to be medicated with strong sedatives.

3.7 Absolver
The Absolver Pattern is evident in problem ridden code developed by former employees. So many historical problems have been traced to this software that current employees can absolve their software of blame by claiming that the absolver is responsible for any problem reported. Also known as It's-not-in-my-code.

3.8 Stake
The Stake Pattern is evident in problem ridden software written by designers who have since chosen the management ladder. Although raught with problems, the manager's stake in this software is too high to allow anyone to rewrite it, as it represents the pinnacle of the manager's technical achievement.

3.9 Eulogy
The Eulogy Pattern is eventually used on all projects employing the other 22 Resign Patterns. Also known as Post Mortem.

3.10 Tempest Method
The Tempest Method is used in the last few days before software delivery. The Tempest Method is characterized by lack of comments, and introduction of several Detonator Patterns.

3.11 Visitor From Hell
The Visitor From Hell Pattern is coincident with the absence of run time bounds checking on arrays. Inevitably, at least one control loopper system will have a Visitor From Hell Pattern that will overwrite critical data.

References: Gamma, E., Helm, R., Johnson, R., Vlissides, J., Design Patterns -Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995. ----Michael Duell is an Engineer at AG Communication Systems, where hisResign Patterns have been rejected in favor of the Gangof Four Design Patterns."Resign Patterns: Ailments of Unsuitable Project-Disoriented Software,"The Software Practitioner, Vol. 7, No. 3, May-June 1997, p. 14

Friday, February 5, 2010

Beauty of Nature

Of late I have been quite irregular with my writings. There are so many thoughts to write about, so many incidents to capture, so many people to talk about but the lame excuse which any human being can give and I am no more exception to it is - "I don’t have time, I am lazy….blah blah."

Anyways, I was wondering for quite some days if I could write a few lines on - nature. The thought process started when I went on a trip to Vizag a few weeks ago along with my family. We went to a lot of places - sea shores, beaches, mountains, jungles and all of them had one common thing to share - the beauty of nature.

The most astonishing part about nature is its flexibility. It has no consistency to follow, no ideas, no rules, nothing. It has no expectations like us humans have instead it is always giving something or the other. It has everything to give and nothing to take. It does not complain of anything, it’s frugal. It behaves without any selfish intentions.

The beauty of nature is so mystic; the silence it offers is awesome. It has everything to appeal. In the morning it was raining, in the evening it is not raining. In the afternoon it was cloudy and now it is cloudier. It simply goes on moving. When the day becomes night, there is not even a slight hesitation. It simply slips into the night. Then the night slips into the day. The starry nights are always special and inspirational with the moon overlooking at a distance. The sky is so infinite and the sea - it can take the burdens of everyone and still flow effortlessly. The waves on the sea produce mystic sounds and the chilly winds which blow are breath taking.

Everything about nature is so pious.In our small existence ,we have two maybe three moments that define the way we live and for me each time I spend time with mother nature would definitely be my best moments in life.

Tuesday, December 22, 2009

Doers and Dreamers

I was having this short chat a few days back with a small group of people - one of whom was an HR Consultant, another with the background of Organizational Behaviour (OB) and yet another who was running psychometric tests for students. They were busy slotting people into different categories based on innumerable parameters that included everything between emotion and intellect, and how this profiling could help understand the behavioural dynamics of people. I am not so sure I understand the accuracy of psychometric profiling and the mapping of skillsets to job descriptions yet, but for an unthoughtful person like me, the world is divided very simply into the doers and the dreamers.

For the doers, the status of mind on a given day in one's life is derived directly from the status of the to-do list for the day. For them, all that matters at the end of the day is the number of ticks in the check-boxes of their to-do lists. The focus on getting a tick in the box is so sharp that all their conversations with others around them revolve around each item in the to-do list. Even all moments in a day that have no relation to this to-do list get completely intertwined with the completion status of the tasks in the list. Life is a straight line and any deviation from the straight line leads to frustration and anger.

On the other hand, there are the dreamers! The dreamers focus on everything that is in between the check-boxes. Most of their thoughts and energies are focussed on what is not the task, what is not the present and what is not practical. They enjoy the lack of focus on the task at hand and like to soak in every moment in its fullest. They do not like straight lines and look for distractions and deviations. They struggle badly in being up to speed with the doers.

I do not get along with either the doers or the dreamers. I guess I am somewhere in between. The doer and the dreamer. Wish someone taught me the right balance.

Saturday, December 19, 2009

Clinging Causes the Pain - Tenzin Palmo

Genuine love and kindness is desperately needed in this world. It comes from appreciating the object, and rejoicing in the object, wanting the object to be happy and well, but holding it lightly, not tightly. And this goes for possessions too. You are in an extremely materialistic society in which the possession of more and bigger and better is held up as the total criteria for being happy.

What we own is not the problem, it's our attitude towards our possessions. If we have something and we enjoy it, that's fine. If we lose it, then that's OK. But if we lose it and we are very attached to it in our heart, then that's not fine. It doesn't matter what the object is, because it's not the object which is the problem. The problem is our own inner grasping mind that keeps us bound to the wheel, and keeps us suffering. If our mind was open and could just let things flow naturally, there would be no pain. Do you understand? We need our everyday life to work on this, to really begin to see the greed of attachment in the mind and gradually begin to lessen and lessen it.

There's a famous story of a coconut, which is said to be used in India to catch monkeys. People take a coconut and make a little hole just big enough for a monkey to put its paw through. And inside the coconut, which is nailed to a tree, they have put something sweet. So the monkey comes along, sees the coconut, smells something nice inside, and he puts his hand in. He catches hold of the sweet inside, so now he has a fist. But the hole is too small for the fist to get out. When the hunters come back, the monkey's caught. But of course, all the monkey has to do is let go. Nobody's holding the monkey except the monkey's grasping greedy mind. Nobody is holding us on the wheel, we are clinging to it ourselves. There are no chains on this wheel. We can jump off any time. But we cling. And clinging causes the pain.

Tuesday, December 1, 2009

I am ALIVE !!

ZINDAGI KHATAM BHI HO JAYE AGAR,
KHATAM HOTA NAHI YEH DUNIYA KA SAFAR!!!