Wednesday, December 13, 2006

Indian's favoutie snack "Panipuri"

Pani Puri is a popular street snack in India. It comprises of a round, hollow puri fried crip and filled with a watery mixture of tamarind, potato and chilli. It is a snack synonymous with the beaches of all parts of India. It is a part of the chaat family along with Bhelpuri. It is also known by many names like golgappa or GolGuppe in North India, Foochka (Puchka) in West Bengal, Gupchup in some central parts of India, and PaniPatashe, etc.....The name pani puri literally means water in dough(fried small inflated bread). pani is a hindi word for water and puri is hindi word for dough. Since the dough is served with special spiced water it is known as Pani Poori.

So here I would like to share with you a simple & quick recipe of panipuri.

Ingredients:

1 cup Fine Semolina (Rava)
1 tbsp Plain Flour (Maida)
1 tbsp Bi-carb soda
Salt to taste

For Pani:
1 cups Chopped Mint Leaves
1 tbsp Red Chili Powder
1 green chilli
1/2 tbsp Coriander (dhania) Powder
4-5 Crushed coriander seeds
1 tbsp roasted cuming seeds
black salt to taste
Salt to taste

Filling:
2 Mashed potatoes with salt, red chilli to taste
1 cup overnight soaked and Boiled bengal grams or cheak peas

Method:
For Puri:

- Mix semolina, plain flour, soda water and salt. Knead well to make a dough. Cover it with clean wet cloth for about 1 hour.
- Divide the dough into forty equal portions and roll each portion into circles. Place each circle under damp cloth right after rolling.
- Heat oil in a kadhai. Deep fry these circles, slightly pressing with a slotted spoon, until they puff up and are golden brown.
- Place the puffed circles ("puris") on absorbent kitchen tissue.

For pani:
- Soak the tamarind in 1/2 cup of warm water for approximately 1/2 an hour. - Strain out the pulp to get tamarind water.
- Add mint leaves, chopped coriander, ginger, chillies and cumin seed. Add a little water and mix to a smooth consistency using a blender or in a grinder.
- Transfer the paste into a large bowl. Add 1 litre of water, continuously mixing the contents with a spoon. Add black salt and mix well.
- Refrigerate for about 2 hours to ensure proper blending.

For Filling:


In a pan take boiled & mashed potatoes and cheak peas or bengal grams. Add salt, green chilli(or else for spice u can add green chutney), mango powder and coriander leaves.





Serving Panipuri:

- Poke a small hole in the center of each puri.
- Add small quantity of stuffing. Add a little tamarind chutney. Dip in pani so that puri is filled with it. Then Serve.

Sunday, December 10, 2006

Writting Clear and Maintanable Java Code

This is my first technical java blog. Today I would like to share some ideas about how to write clear and maintainable code. As a Java developer we have to keep in mind some programming style considerations.General programming style considerations includes proper syntax, reusability of code, proper error-handling etc...

The syntax of a programming language tells you what code it is possible to write- what the machine will understand. Style tells you what you ought to write- what the humans reading the code will understand. Code written with a consistent, simple style will be secure, maintainable, robust and bug-free. We can make our application more strong by following some conventions. Here are summary of considerations, which I came across while going thru one of the chapters in Kathy Sierra’s book titled SCPD Java 2:

  • A class is supposed to represent a particular thing which has its own state and behavior, so while constructing class keep asking yourself, as you write each method, if that behavior might not be better suited for some other thing.
  • Keep variable scope as small as possible it means don’t use an instance variable when a local variable will work.
  • Consider overriding toString() to produce a useful description of the object. Use abstract classes when you need implementation functionality.
  • Use getters and setters that follow the Java Bean naming conventions.
  • Use Core APIs as it will lets you take advantage of a ton of expertise and testing, plus you are using code that hundreds of thousands of other Java developers are familiar with.
  • Avoid designing a class that has no methods, use proper design pattern, which is best suited to your application.
  • Use overloading rather than writing different logic and avoid long argument lists while encapsulating your class.
  • A good framework can sometimes help developers by avoiding you having to reinvent the wheel each time, but a bad framework is infinitely worse than no framework at all. Designing good frameworks is very, very hard. Consider this point carefully and draw your own conclusions.
  • Java is not C++. It's generally good practice not to check for error conditions all over the place unless you expect the condition to occur and plan to do something specific with that knowledge. Let the VM take care of array bounds and null pointer checking while you concentrate on your design.
  • Create and throw your own Exception when needed and for this keep in mind one thing that your exception should "Catch Low-Level Implementation Exceptions and Throw a Higher-Level Business Exception". Don’t return error codes. Use dialog boxes instead Excessive command-line messages.