Sunday, June 29, 2008

Palak Beetwala

This is a dish I made in a hurry using lost of ingredients that were just lying around, and would have caught fungus if I hadn't used them. So, the previous night I had boiled 2 beetroots and 1 potato and they were lying in the refrigerator. We had 1 bunch of fresh palak(spinach) too, so I decided to make something out of it. I've named it Palak Beetwala after it's main ingredients. Easy enough for anyone to figure out what it may contain....

Ingredients:

  • 1 bunch palak(spinach), thoroughly cleaned

  • 2 small beetroots, boiled, peeled and cut into small pieces

  • 1 medium potato, boiled, peeled and cut into small pieces

  • 1 tomato, cut into small pieces

  • 1 small/medium onion, finely chopped

  • 1/4 tsp Hing powder(asafoetida)

  • 1/2 tsp Jeera(cumin seeds)

  • 1 clove garlic, peeled and finely sliced

  • 1 tsp finely ground ginger

  • 1/2 tsp Haldi(turmeric powder)

  • 1 tbsp butter(salted/unsalted)

  • Salt to taste(about 1/2 tsp)



Procedure:

  1. Take the Palak and add water just so that all the palak is immersed when you press down a bit. Boil it till the palak feels tender. The trick to boiling palak is to cook it on a medium-high flame instead of a low flame. This will prevent the green colour of the palak from fading away. Also cover it while cooking with a lid to prevent excessive oxidation which will again result in fading of the green colour.

  2. Remove the palak from the water(Do NOT throw away the water. It will be used later in the recipe and is quite nutritious) and put it into a food processor(mixer in India). Also add the tomato and beet pieces to it. Run mixer for about a minute or till the mixture is semi-solid(not a completely thin paste).

  3. Take a skillet and melt the butter in it. Heat the butter till it sizzles.

  4. Add the hing powder and jeera.

  5. Add onions and saute till they become golden-brown in colour.

  6. Add the garlic and ginger paste and mix well.

  7. Add the palak paste and potato pieces. Keep stirring to cook well. Add some of the water in which the palak was boiled to adjust the consistency of the mixture to something more desirable.

  8. Add the haldi powder and salt and stir to mix well. Taste the mixture and adjust salt or other spices as per your taste.

  9. Boil on low flame for about 10min or until desired consistency is reached.

  10. Serves 3.



You can use the excess water that is drained off for other cooking purposes, to make bread, or as I do, add some dhania(corriander) powder, jeera powder, rock salt and table salt and drink up!

Serving suggestions: You can serve this dish with either chapati or as a soup with poached egg in the bowl. The runny egg yolk in the poached egg will enrich the taste of this dish.

Thursday, May 29, 2008

Masala Bhaji Parantha

Today, we'll see how to make Masala Bhaji Parantha. The name encodes everything that this dish contains:

  1. Masala: Any Masala. I used Pav Bhaji Masala.

  2. Bhaji: A mixture of vegetables. I used cabbage, cauliflower, potatoes and onions.

  3. Parantha: A covering of wheat flour knead into a dough, and flattened into a roti like shape.



Total Time: 1 hour 30 minutes
Serves: 8-9

Ingredients:

  • Pre-knead dough for making about 8 chapatis

  • 1 large potato

  • 1/4 cabbage, thinly sliced

  • 1 large onion, cut into fine pieces

  • 1/3 cauliflower

  • Salt

  • 2 tsp Pav Bhaji masala

  • 2 Pinch Asafoetida(Hing)

  • 1 tsp Ginger paste

  • 2 garlic cloves, cut into fine pieces

  • 1 1/2 Tbsp Butter(salted/unsalted)

  • 1/3 tsp Turmeric powder(Haldi)

  • 9 Tbsp Ghee or Vegetable oil(approx.)



Special equipment required:

  • A potato masher



Procedure:

  1. Make about 8-9 small balls from the pre-knead chapati dough. You may optionally colour and flavour it by adding haldi(or pudina[mint] paste) and salt -- to taste.

  2. Roll these into chapatis. Keep aside.


  3. Boil the potato and all the vegetables(except the onion). You may add some salt in the water so that the vegetables soften faster.

  4. Once boiled, drain out most of the water. We will need some(about 1/4 cup) to cook the vegetables.

  5. Peel the potato.

  6. Heat butter in a pan, and add Hing to it.

  7. Saute the onions till they are light golden in colour.

  8. Add the ginger paste and garlic pieces. Mix well for a few seconds.

  9. Add the vegetables, and add the pav bhaji masala, haldi and salt to taste.

  10. Cook for a few minutes till all the water has evaporated and the vegetables are dry. Keep stirring or the vegetables will get burnt.

  11. Now use the masher and mash all the vegetables in the mixture above.

  12. Let this mixture cool for a while under the fan. As the mixture cools, it will also thicken a bit. This will help us in used it as a filling for the paranthas.


  13. Now use this as a filling for the paranthas, and again roll them into slightly thick paranthas.

  14. To fry, heat a thick tawa(roti pan) till it is completely and evenly heated up. Spread a little bit of ghee on it evenly.

  15. Reduce the flame to medium-low.

  16. Now spread the parantha on it, and sprinkle the sides with ghee. This should be about 1/4 tsp.


  17. When it feels done, use around 1/4 tsp ghee to coat the top side.

  18. Over-turn the parantha and sprinkle this side too with 1/4 tsp ghee.


  19. Use the rest of the ghee to cover the now top-side with ghee./li>
  20. When it is done, over-turn once again, check for doneness on both sides, and serve.


Tuesday, May 27, 2008

Sondesh

I started out making Doodh Peds, but the milk curdled, so I converted it into Sondesh. This is a bit different from Malai Peda, because the milk hadn't halved in volume when it curdled, so it is actually very close to a Sondesh.





Serves: 9 pieces.

Ingredients:

  • 1 ltr High Fat(bhains ka doodh -- buffalo milk)

  • 1/2 lemon

  • 125g granulated sugar

  • 1 1/2 pinch kesar(saffron) strands

  • 20 g(approx.) ground pista and badam(it should be quite grainy)



Procedure:

  1. Warm the saffron strands a bit so that they crumble easily.

  2. Grind them into powder and add about 1 Tbsp of warm milk so that they dissolve completely. You should get a bright yellow coloured mixture.

  3. Take milk in a large saucepan and heat on high flame, stirring continuously till it is boiling hot.

  4. Remove seeds from lemon and squeeze juice over the milk to completely curdle it.

  5. Heat for a while till the milk separates completely.

  6. Strain out all the water with the help of a strainer, or as is more traditionally done, by putting the entire thing in a cloth towel, and squeezing the towel hard to remove all the water.

  7. Place the paneer in the saucepan.

  8. When it is still quite warm, break into small pieces, add sugar, kesar syrup and mix well.

  9. Form small roundlets about 1 1/2 inch in diameter, and male a small depression in the center(The pedas will be quite crumbly, so be careful while to pinch depressions in them).

  10. Put the ground badam and pista in these depressions, and press so that they stick.

  11. Refrigerate till cool, or serve warm and fresh.

Hitchhiker's Noodles

Today I'm going to detail the recipe for Hitchhiker's Noodles which is a dish I just came up with. I eat noodles when I'm out of town or have a crunch situation in which to make something edible, or am in a mood to experiment with vegetables but don't want to make chapatis.

These noodles are called Hitchhiker's Noodles because they are supposed to be for the Hitchhiker -- quick easy and cheap to make.

There are 4 main steps to making these noodles:

  1. Cook the noodles

  2. Cook the gravy

  3. Boil the the vegetables

  4. Mix the above, add sauce and garnish to serve



Let's discuss each one of them in detail:

  1. Cook the noodles: You may use any flavour noodles. I generally use Masala flavour Top Ramen or Maggi noodles.

  2. Cook the gravy: The gravy can be any gravy of your choice. I have used a tomato and egg based gravy, which is both tasty and healthy. Tomatoes and eggs are generally very widely and freely available(even on other planets!!!! ;-))

  3. Boil the vegetables: You may choose any combination of vegetables to add to the dish. I chose Cauliflower, Peas, and French Beans.

  4. Mix, sauce, garnish and serve: You need to properly mix up the individual constituents of the dish discussed above, and add sauce and mix again. Top off with your choice of garnish, and serve....



Now that we know the basic framework of the recipe, let's discuss the the recipe itself:

Cooking time: 42 minutes
Serves: 2

Ingredients:

  • 1 packet(80g) Top Ramen Masala flavour noodles

  • 1 1/2 Tbsp Butter(salted/unsalted)

  • 1 onion, finely chopped

  • 1 medium green capsicum, finely chopped

  • 2 tomatoes, coarsely chopped

  • 1 Tbsp Ginger paste

  • 1 large Garlic clove, finely chopped

  • 2 Pinch Asafoetida(Hing) powder

  • 1 egg

  • 1 Tbsp Pudina(Mint) paste

  • 50g Cauliflower

  • 40g Peas

  • 50g French Beans

  • Salt

  • 1 tsp Soya Sauce(or to taste)

  • 1 1/2 tbsp Tomato ketchup(or to taste)

  • Fistful Coriander leaves for garnish



Procedure:

  1. Cook the Noodles as indicated on the packet. Add the flavouring when half the water has evaporated and mix well. Let some water remain after cooking so that the noodles can soak up the flavoured water. This will enhance the noodles' flavour.

  2. Remove from the heat and let them stand.



  3. Break the egg, and beat it for a few seconds till the white and yellow are mixed up well. Set aside.

  4. In a separate pan, add all the chopped up vegetables and put water so that all the vegetables are completely immersed in water. Add a teaspoon of salt(for faster cooking), and set aside to boil on a medium flame.



  5. In a separate pan, put the Butter, and when it is frothing hot, add the Hing and saute the onions till they are golden in colour.

  6. Add the Ginger paste and garlic and mix it up well.

  7. Add the finely chopped capsicum pieces till they are coated with butter.

  8. Add the tomato pieces, and salt to taste and cover with a lid. Cook on a low flame till the water in the tomatoes starts leaving it.

  9. Remove lid, and stir while cooking till most of the water from the tomatoes has evaporated.

  10. Now add the egg to the pan with the tomatoes. Keep stirring till the eggs are cooked. You may increase the flame to medium so that the egg gets cooked well, and the proteins coagulate. You will find that the egg will form a gravy with the moisture in the tomatoes. If we had used more eggs, we would have gotten scrambled eggs or bhurjee.



  11. Add the mint paste, and mix well. Turn off the flame, and set aside.



  12. Check if the vegetables have been boiled al dente. Once done, drain out all the water(and along with it, lots of the nutrients of the vegetables) and add it to the noodles.



  13. Now add the gravy we made to the noodles, and mix them all up well. Check the mixture. Add more salt if required.



  14. Add soya sauce, and tomato ketchup and mix it up well.

  15. Garnish with coriander leaves and serve in style ;-)





Variations:

  1. You may also add ajwain along with the Hing in the vaghaar(tadkaa) for a more aromatic flavour

  2. You may add more vegetables like carrots, cabbage. However, avoid using vegetables like cucumber, zucchini, sweet gourd(galka) since they give off lots of water, which will be lost when you drain off the water.

  3. Typically, each vegetable needs different amounts of time to cook properly. Peas cook fastest, followed by cauliflower, followed by french beans. So, expect your peas to be slightly over-cooked, your cauliflower to be cooked just right, and the french beans to be slightly under-cooked. It is the way it should be since this is a poor man's recipe. If you have the time, go ahead and cook them all separately.



I hope you enjoy cooking and experimenting with this recipe, and I wish you all the best :-)

Sunday, May 25, 2008

Make like a shrink

I've come to believe that most people can be classified into 2 categories based on their concentration span. I assume that everyone in the Universal Set of people has something to offer to everyone around them, no matter how little it may be. So, the 2 broad categories based on concentration span would be:

1. Those who can concentrate on something for long periods of time.
2. Those who can concentrate on something only for a short period of time.

I have further noticed that generally, the product concentration(C) X concentration span(CS) is constant over a large set of people.

So, if C X CS is constant(K), then, it would imply that people falling into category [1] don't concentrate very hard on what they are doing, but do it for longer(marathon athletes), whereas those falling into category [2] concentrate really hard on short bursts(short distance sprinters).

I think these basic differences dictate as a person what job you are most suited for. For example, managers and overseers of tasks could fall into category [1] whereas inventors into category [2]. Say you are working on building a large system. You would need someone from [1] to look after the general progress and well-being of the system, whereas you would also need someone from [2] to provide the much needed pushes at vital stages of the project when it is stuck or in need of an idea.

I think that if people try to cross these barriers and try to choose careers that violate this basic underlying trait of theirs, then they would find it very difficult to adapt to their job, and would feel under-qualified as compared to their peers who are from the suitable category of candidates.

Ambrosial Candy -- a tale of East v/s West.

I've been learning to make sweets of both the western and eastern(Indian) types. Westers sweets include cakes, breads, pies, and different types of pastries, etc.... Indian sweets include mawa, ghee and sugar based sweets such as Mysore Pak, Gud Papdi, Mohanthaal, laddu, etc....

The primary difference(from the little exposure I've had to both) between these sweet making paradigms I've noticed are the following:




















































































Parameter Western Indian
Basic Ingredient Flour, sugar, eggs Sugar, Ghee. Indian sweets are broadly classified further into either milk based or flour based, in which case a variety of flours are used
Preparation time Moderate Low
Cooking time Moderate/Low High
Sensitivity to change in ingredient proportion Very High Low/Moderate
Sensitivity to change in cooking time Moderate/Low Very High
Number of Ingredients Generally around 10 Generally less than 5
Heating Method Using Oven Using Stove
Shelf life of product Depends upon the product Depends upon the product
Concentration required during preparation Moderate/Low Very High. You can not leave the working area while the dish is being made
Fat content Moderate/Low High/Very High
Principle technique Leavening High temperature roasting in liquid
Artificial Ingredients May contain in the form of Baking Soda, Baking Powder, Cream of Tartar, etc.... Should not contain. However, commercial sweet vendors generally use Hydorgenated Vegetable Oil(which is not good for health) instead of Pure Ghee these days

Sweets.... should we buy them?

I've been trying to work out the costing of producing one of my favourite(and first Indian sweet I learned to make) Indian sweets, the famous Mysore Pak. Shops sell it for as much as Rs. 140/- a kg. However, armed with the knowledge that 4.5 units of the sweet require 2 units of Ghee(clarified butter), 1 unit of besan, and 1.5 units of Sugar I decided to work things out for myself.

For 1 kg of Mysore Pak, you need:
450g Ghee
225g Besan
330g Sugar

The rates of the items are as follows:
Ghee: Rs 100 for 500g
Besan: Rs 25 for 500g
Sugar: Rs 20 for 1000g

That means 1kg of Mysore Pak will cost(for the ingredients alone):
Ghee: Rs. 90
Besan: Rs 11
Sugar: Rs 6

Total cost of ingredients: Rs. 107.
Lets take cost of production to be about Rs. 8 per kg(fuel, labour, transport, etc....)
So, the total cost per kg is now Rs. 115.
The profit per kg is just Rs. 25!!!! And this is not including the cost for renting the shop and electricity bills, etc....

Surely the shop keepers must be making more money. The food industry is known to have a profit margin of at least 100%. the only way they can do this is by cutting down on the cost of the most expensive ingredient -- Ghee. It is most commonly substituted in India by Dalda(Hydrogenated Vegetable Oil[HVO]). However, it should be known that Dalda has very detrimental effects on human and animal health. Just search for "Hydrogenated vegetable oil" and you'll get many hits on your favourite search engine.

To cut a long story short, Dalda contains Trans-Fatty acids, which are not easily absorbed by the body, and they are comparable to "plastics" in the body which stick around for long. These are the equivalent of foreign substances in the body and lead to many diseases. So, please think twice before buying sweets from an un-trusted shop.

Notes:

  1. Actual incident: I went to a sweet shop asking for unsalted butter(makkhan) and the shopkeeper said that they generally cream the milk and use the butter at home(I could see he wasn't lying from the size of his waist-line).

  2. Pune Cow's Ghee can cost anywhere from 180 to 200 per kg, while Dalda costs anywhere from 110 to 130 per kg. It is a saving of about 40% as compared to using Ghee. Who knows if the shopkeepers are further cutting costs by using inferior quality HVO?

  3. Interesting aside: Dalda Ghee costs less than Dalda brand cooking oil!!!! When in fact the Ghee is Hydrogenated Vegetable Oil. What do you think makes up that extra weight and cost of production of Ghee from the oil(palm oil)?
    http://en.wikipedia.org/wiki/Palm_oil#Health

Saving Electricity

With oil touching $135 a barrel, and rising electricity costs in major cities, I thought it would be good to figure out how to keep those bills down.

  1. Turn off the switch on your phone's charger, and don't just remove the phone from the charger.

  2. Use room temperature water for bathing, esp. in this weather.

  3. Electricity costs more with more units used, much like taxes.

  4. Watch your computer usage. Turn off your PC(esp monitors) when not in use. Don't use screen savers.
    http://michaelbluejay.com/electricity/computers.html
    http://www.answerbag.com/q_view/39698

  5. If you have a habbit of falling asleep while watching TV, use that "auto off timer" on your TV. Most TVs these days have it. Read the manual.

  6. (For India) Turn off your CAS box if you have one.

  7. Turn off the monitor when not in use.

  8. Use power-saving lamps(CFLs)
    http://en.wikipedia.org/wiki/Compact_fluorescent_lamp

  9. Use Electronic chokes instead of the traditional induction types. They save up to 40% electricity.

  10. Make sure that there is at least 6 inches separation between the refrigerator and the wall behind it. It helps the air circulate and hence the heat dissipation from the coils.

  11. Use an electronic fan regulator v/s the traditional rheostat type which converts some of it's energy to heat to perform the function of a resistor(hence the heating of the regulator when you run the fan on low speeds for too long).

  12. Last but not the least -- please turn off the lights, fans, etc.... when leaving the room.


My friend has a collection of environment-philic blogs/pages on the web that he has collected and placed here: http://geek-o-pedia.blogspot.com/search/label/Environment?max-results=100

Thursday, May 15, 2008

Mysore Pak

I'm sure if you've come here, it is in search of the perfect Mysore Pak Recipe. I myself had been hunting for it for a while, and it took me as much as 6 attempts to finally get one that I liked eating. The recipe mentioned here will result in a firm Mysore Pak, that is crumbly enough to melt in your mouth, and whose cross-section shows 3 distinct layers, with the 2 outer layers being golden-yellow, and the middle one being light-brown. There are many parameters that affect the way the Mysore Pak will turn up. Mysore Pak is made using Gram Flour(besan), sugar syrup, and ghee(clarified butter). Varying the proportions of these ingredients will affect the "quality"(by quality I mean taste and texture) of the produced result. Let's discuss them in detail.

  1. Amount of Gram flour: We shall assume this to be kept constant and all other ingredients are chosen relative to this one ingredient.

  2. Amount of Sugar: This is typically taken to be anywhere between 1 to 2 times the amount of Besan used. More sugar will result in a softer final product. I personally take sugar to be about 1.4 times the amount of Besan used.

  3. Amount of Ghee: This mainly dictates the fattiness of the sweet. The more ghee you have, the smoother the texture, the more well cooked it will be and the more fatty your final produce will be. The ratio varies anywhere between 1 to 3 times the amount of Besan used. I personally try to restrict it to about 1.5 times the amount of Besan. However, I generally let the recipe dictate how much ghee to add. More on this below. You will also need(extra) 1 Tbsp Ghee per cup of Besan.

  4. Amount of Water in the sugar: Water should be about 1/4th of the amount of sugar used, or just enough to wet the sugar so that it can be heated uniformly.

So, my ratio would look something like this:


BesanSugarGheeWater
11.41.50.35

You may optionally add about 1/2 Tbsp of ground cardamom powder per cup of Besan to the mysore pak for that extra flavour and aroma.

You will need 2 medium sized pans, one large pan for cooking, one large steel plate and one sieve for sieving.

  1. Take the Ghee and heat it on a low flame till it is really hot.

  2. Drop about 1 tbsp of this hot Ghee on the besan and mix it well. Roast the Besan and Ghee mixture on a low flame till it starts giving off an aroma.

  3. Now sieve this mixture so that there are no or very few lumps.

  4. Take the sugar and the water mixture and heat it on a medium-low flame till it forms a single thread consistency. This can be checked by periodically taking this(very hot) sugar syrup) and pressing it between your index finger and thumb, and trying to separate them slowly. If the syrup at room-temperature(or slightly warmer) forms one single thread, then it is the right consistency. The sugar syrup will be bubbling. It is these air bubbles that the besan will trap and help create the holes in the final product. More viscous mixtures will result in a more crumbly Mysore Pak, and less viscous mixtures won't form as good a texture.

  5. Now add the sieved Besan to the sugar syrup, and stir till it is completely mixed and there are no lumps. This shouldn't take too long. Less than a minute.

  6. Add the cardamom to the mixture now if you are using it, because you won't have time later!!!!

  7. Now, add the very hot Ghee, about 1-2 tbsp at a time to the Besan and sugar mixture, and keep stirring. As the hot ghee falls on this mixture, it cooks the besan because of it's very high temperature, and will form a frothy mass. This is normal.

  8. Keep stirring continuously, and adding ghee every 20 sec, till the mixture lets go of the pan, and stops absorbing more ghee. This is generally when I stop adding ghee. (I start off with a little more ghee than I think I would need, and save the rest for later.)

  9. Do NOT let your concentration waver, since this is a very critical period in the preparation of Mysore Pak. Any lapse of concentration now will spell certain doom.

  10. You need to keep stirring till you see a distinct change in texture and colour of the Besan. The Besan will darken slightly(it will just start changing colour) and will form a thready molten-rock like mass. When this happens, quickly remove the Mysore Pak, and place it into a tray to cool. If you remove the Mysore Pak from the heat too early, then it won't solidify and will form a burfi, and if you heat it for too long, it will over-cook, and lose it's texture and will fail to solidify into a sturdy mass. Instead it will become a gooey mass, which will not solidify.

  11. (coming back)It will solidify in a few seconds, but will internally continue cooking for about 10 min, or until cooled sufficiently. You will know it is done if you don't hear a spurting/bubbling sound when you put your ear over the Mysore Pak. When you remove the Mysore Pak to cool, it is actually cooking inside because of all the heat trapped in the ghee. It is because of this latent cooking that the Mysore Pak is able to get a light brown center.

  12. Cut it into pieces and enjoy :-)



I hope you enjoy making this mouth-watering sweet, and I hope it turns out well. Mysore Pak is a very delicate dish to prepare, and requires precise timing of operations. Remember to not lose your concentration, and always start off with a patient mind :-)

In case you are wondering how I know what happens when you over/under-do something -- well, I've tried it out!!!! And wasted so much of my ingredients doing so.... In case your Mysore Pak has formed a burfi(won't solidity but has a smooth texture), all is not lost. You can still re-heat it (on a medium-low) flame, and keep stirring till you see forthing, and a molten-rock like texture of the mass. Turn off the heat, and let it solidify.

Note:
  1. The ghee has a higher boiling point than water, and hence is hotter than the sugar mixture(which at single-thread consistency is about 105C). Hence, it is able to cook the Besan better than the sugar mixture. If you use cool/room temperature ghee, you will have to wait for the mixture to become hot, and all the heat will be absorbed by the ghee instead of the Besan, and the Besan will be left under-cooked.

  2. Some people suggest using a 50% - 50% mixture of Vegetable Oil and Ghee instead of pure Ghee. DO NOT do that under any circumstances. I tried it, and it leaves quite a horrible after-taste of oil in your mouth. To bring out the real taste of Mysore Pak, use ONLY 100% Pune Cow's Ghee. Cow's Ghee is slightly yellow in colour, and I've had success with a brand called Dynamix. or make your own [1] [2] from Pure Butter.

  3. If you skip the roasting step, the Besan may not give off the proper taste.

  4. If the Ghee is not piping hot, the Besan will not get froth every time you pour the Ghee over it. This is Okay. However, it will take a while too cook the Mysore Pak, and you need to know how much Ghee to add in advance. The recipe will no longer dictate the amount of Ghee to be used. You will need to patiently cook the mixture on a medium flame. DO NOT use a high flame or you will burn the Mysore Pak, since Besan cooks very easily.

  5. Try to use a thick(18 gauge) stainless steel vessel in which to cook the Mysore Pak, since it will ensure equitable heat distribution and will not react with the mixture's contents. Using a larger pan(kadhai) will help, since it will help air the mixture.

Wednesday, March 05, 2008

Once bitten, twice backed.

Have you ever seriously thought about backing up your data? If not, chances are that you haven't been the victim of a system/hardware/disk failure. Most of the people who seriously think backing up their data and maintaining snapshots is an important part of their routine are the ones who have spent countless hours of their time trying to recover/rebuild their lost data after a system crash. Why does it require someone to suffer before they start becoming cautious with their precious data? Maybe the reason for it is; to quote from Shakespeare's The Merchant of Venice: "For sufferance is the badge of all our tribe".

Whatever, it may be, I would like to say that it's important to always back up your important data and protect it against system failure(s). In fact, I have set up an RAID-1(mirrored) array at home where I store my important data and my home directory. This way, even if one of my Hard Disks were to crash, I'd have the data safely backed up on the other one in the mirrored array. However, this solution does not prevent against:
  1. Accidental file deletion,

  2. Accidental Disk formatting.

  3. File System corruption.


To prevent against such problems, I'd want to have a separate backup(or preferably snapshotting) utility which saves versions of files as you save them. Ideally, the solution would be to introduce a surrogate file system such as a one written using the fuse file system, and have that file system save versions of the files as you save them. So, changes between an open() and close() on a file should be logged and saved as a file version. This way, the user will be able to recover files by how old it is and also get a fairly fine granularity control over the changes that happened. An optimization that could be done is to store only the changes to a file if only edits were made to it, whereas save a complete copy if the file size was changed.

I'm looking for more ideas and people interested in helping me develop such a solution, so if anyone is interested in helping out, please let me know and we'll try to work something out.

Hacking after a very long time!!!!

After very many months did I finally get down to doing some actual hacking on a program that I wanted to fool into thinking it something else. Please note that I'm use the word work hacking in the true sense of the word, and not to illegally gain access to a system. Please read this page to get a low-down on that controversy.

Anyways, so there was this utility very similar to the UNIX cat utility that read in a file, and wrote it to some other location. However, this utility also performs a check to determine if:
  1. There is sufficient space on the destination disk.

  2. The destination file is on a special file system

Only if both the conditions are met does the utility go ahead with the task of creating the destination file. A special feature of this utility is that it will create sparse files if the source file contains many holes in it. So, it is not strictly required that the destination file system contain as much space as the source file size. Also, the second check is made to make sure that the destination file system supports sparse files. However, if we know that there is another file system which supports sparse files, we can do away with that check as well.

All said and done, I did not have the source code to the utility that I am talking about, so I decided to do something else. I used the LD_PRELOAD environment variable available on all Linux machines to load in a custom compiled shared object file which overrides system calls such as statfs(), statvfs() and ioctl() that are the typical calls used to get this sort of information from the underlying OS, and viola! there it was. My hooks worked, and I was able to see what was being returned for each request. The only thing I had to do was fool the program into thinking it was getting the information it needed to go ahead with the file conversion. That again was just a matter of inspecting and inserting the correct values for each over-ridden system call. the whole process took about 4hrs, but it was time well spent. It felt good to get back to doing this sort of hacking-programming after a while....

Friday, February 29, 2008

A bug-fix.

I was writing a small php script to recursively delete all files and directories in a particular location that are more than a few hours old. I thought it wouldn't take more than 30min to do the whole thing. Additionally, I thought I'd use the Standard PHP Library(SPL) and the RecursiveDirectoryIterator class provided with it to implement directory scanning instead of the normal opendir(), readdir(), closedir() approach.

After writing the script, I tested it by making it spit out stuff saying Deleting file.... instead of actually making it delete any files/directories. The logic te script was used was that it checked the file/directory ctime which is the Inode Change time(not the file creation time as I earlier thought). Everything seemed to be working just fine when I uncommented the unlink() and rmdir() functions to test the real thing. Now, the script started saying different things, and wasn't even considering some directories for deletion. I was very surprised at this behaviour. I initially thought it was something to do with open directory handles or something, so went back to using the opendir(), readdir(), closedir() approach. However, even that approach yielded the same results. It's desperate times like these when you lose reason, and start to tinker with things which you know are not at fault in the hope of fixing the error. I inserted lots of debug output to be able to pin-point the error, but php kept saying that rmdir( was trying to delete a non-empty directory.

I'll give the directory structure below:

.
`-- aaa
`-- zzz
`-- hello.txt

2 directories, 1 file


The output indicated that the file hello.txt was being deleted, but the directory zzz wasn't even being considered for deletion. Further, the script was trying to delete the non-empty directory aaa. I couldn't understand why this was happening. It was after some more brainstorming that I realized that the operation unlink() on the file hello.txt was changing the ctime for the directory zzz which meant that the directory zzz was no longer being considered for deletion. However, the ctime for aaa was staying unchanged. This was happening because I was calling filectime() while scanning the directory instead of pre-computing all the ctimes for all the files.

So, I now decided to use the scandir() function to get the directory contents at one go, and get their ctimes before doing any further processing on that directory such as recursive scanning or deletion of files/directories within that directory. This fixed the error, and the script now started exhibiting the expected behaviour. Even though this may look silly, there were many things I learnt from it; the most important being to make sure I know the side-effects of any action that I may perform.

Sunday, November 25, 2007

Slave for life

Why do we need to pledge loyalty to some company? Yeah.... the usual answer is cause you want them to be faithful to you in return. But these days, the concept of staying with one company is alien to most. In fact, this attitude has percolated down to objects of daily use such as refrigerators, computers, telephones, and even relationships. People only so much of something. They feel overwhelmed if they get too much of anything. Speaking about jobs though, if you ask someone firms he/she has been in in the last 5 years, and if the answer is anything less than 2, then more often than not, the other person is saying to [him/her]self "what a loser"....

What is happening here people? There used to be a time in yesteryear India when people were happy to get just about any job as long as they took some money home at the end of the month. But things have changed a lot in the last few years. Jobs are much easier to come by because of the free economy, and spread of education. People are more educated; or lets just say they know more these days than they did a few years ago at their age. This argument is true of pretty much every successive generation though. Lets not confuse education with knowledge for some time now. There is a greater demand for knowledgeable people, and jobs for such kind of people in India at least, which is now driving the job market. You see industrial expansion all around these days. IPOs coming out pretty much every month these days is indicative of the industrial revolution happening here.

But the big questions I have is "Why should I be loyal to a company for a very long time, and thus enslave myself?" The answer may not be very simple; in fact, I don't know it myself, but at this point in time, I know that I don't need to be loyal to any company. If you look at people who are loyal, and are looking to grow in the company in which they are are doing it either because of the money, or the work, or the reputation of the company or the position they will attain in the next few years, or for come amount of satisfaction and job security, or because of peer pressure, or a certain combination of all of the above. Of course, there are many more reasons that I haven't mentioned or even thought of. However, may a times, these people are kind of under productive in nature. They seem to have settled into thinking that they can not be displaced from where they are now. If there's anywhere they are going, it's up the promotion ladder. In return, the company does them favours by giving them incentives, promoting them, and sending them on foreign trips, etc.... But, is the company acting in it's own benefit? I mean consider there is this under productive person (A), and a significantly more productive person (B). A is loyal to the company, and everyone knows it, but B is a carefree kind of person who doesn't care too much for anything/anyone. The company decides to send A to the client as their front, knowing well that they could have done better by sending B, but they don't cause they know that there is a greater chance of A staying with the company for longer than B. So, if they send B now, then they might temporarily get a good response from the client, but B will leave in a while, and A will be disgruntled because he/she wasn't sent, and will become even more under productive than before, and might even leave. However, if they send A, then A will probably grow up to the responsibility, and even though he/she might not create a great first impression, he/she will possibly stay back with the company, and will grow with the company providing it with a stable and possibly reliable front. I don't know if I agree with the philosophy. I don't even know if I disagree with it. In an age where employee retainment has become a buzz word, and companies pride themselves on their employee retention rate(which is inversely proportional to their attrition rate) this makes perfect sense. But is that a measure worth looking at with great amount of seriousness? Thinking about it from a rational perspective, it makes sense, since the attrition rates speaks a lot about the company. If people are leaving, it is generally true that their expectations haven't been met one way or the other. But is compromising company reputation for employee retainment justified at any cost?

Saturday, November 24, 2007

The one that got left behind

What comes to your mind when you read the title above? Make a quick list of a few things that do. It could be:
1. The ugly duckling
2. Some taste left behind in your mouth after having something utterly distasteful/pleasing
3. Some food speck left behind between your teeth
4. A good/bad memory, though more often than not, it's the latter that stays
5. The tune of some song that you just can't get out of your head
6. Some task on your list that you forgot to do

But, I ain't gonna to be talking about any of the above. What I'm going to focus my attention on today is on that last bit of poop left behind after you flush. No matter how hard your try, how many tumblers of water you put in, however fast, it just won't go down! It's like one of those resilient warriors; kind of reminds me of cockroaches. Every time you try a different angle to put the water in, and look in to see if you've managed to get rid of it, it just bobs up right back in your face. It's like as if it's there to stay. So, you try again, and again, and again, and before you know it, your bucket of water is over, and there's none left for you to wash your hiney!!!! You think "Now is a really bad time for me to run out of water". Reminds me of a few problems I've faced in my little life so far. They've mostly been self-created like this one, but more often than not, they just go away with time, or I find a solution if I think about it with a clear head; but not this one. No matter how much time you give it, it just stays there - probably soaking up more water, or doing whatever it does best. You know that the only way you are going to get rid of it is to flush again, or heave another full bucket of water in it, but you don't have the patience to wait till the flush tank is full again, and at the same time, don't want to waste another bucket of water, now that you've already used up one already. You start thinking and staring at that mass of excreta in a very contemplative way; but to no avail. Exasperated, you move on to let the next person clean up your shit.... Well, that's life....

Monday, October 22, 2007

The geek in you.

After reading the previous post(Of wed-locks and love-handles), a friend of mine pointed out a spelling mistake that I had made. However, when I went back and re-read the title, something very interesting struck me. If you notice carefully, the words locks and handles are technical terms used quite frequently in computer engineering ;-)

Sunday, October 21, 2007

Of wed-locks and love-handles.

I've been observing, examining, thinking, and concluding for quite a while now, and I've also discussed this theory with quite a few friends by now. However, many of them don't quite agree with it entirely or in part. I personally don't blame them for it. After all, it's just a theory and I haven't even bothered to take a sample space and conduct a proper examination. But you all must be wondering what it is that I'm theorising. Well, the thing that I've noticed is that people (both guys and gals) generally(not always) get plumper after marriage. So, I was just trying to think of reasons as to why this must be happening. This is true of most of the societies that I've been exposed to, so it made me think that is isn't a localised effect, but is more widespread. So, just before posting this, I did a quick google search for fat after marriage and was surprised with what turned up. Apparently, quite a few people before me had noticed it and also written about their findings. However, I decided to get done with my conclusions before reading theirs to avoid corrupting mine with theirs.
The explanation is actually quite simple, and the prelude might actually be longer than the actually reasons I want to present, but then again, every concise idea is also a very crisp one, and presents very few places it can go wrong in. According to me, people get fat after marriage because they no longer feel the need to attract people of the opposite sex, and hence begin neglecting their bodies, and indirectly their health. They feel that their job is over and they don't need to be at their best any more since their prey has been captivated. I on the other hand have very varied views. I feel that if you think that you don't need to look your best now, then it's because you either don't don't love yourself enough or you don't love your partner enough, because of which you don't want to put in the extra effort, and look your best for yourself and/or for someone who cares for you. This as far as I'm concerned is the primary reason for fatness after marriage. There may be others, which are mentioned in the pages given here(yes, I read them just before writing this line). However, after reading them, it may be the case that these reasons are equally important and it may be unjust to say that they aren't the main reasons.

  1. http://ezinearticles.com/?Why-Women-Gain-Weight-After-Marriage?&id=170650

  2. http://findarticles.com/p/articles/mi_m0NAH/is_3_33/ai_104836629

  3. http://forums.plentyoffish.com/datingPosts4342202.aspx

  4. http://answers.yahoo.com/question/index?qid=20070702022119AACDXLR

  5. And something on the lighter side. http://www.usaone.net/jokenet/jokes.asp?command=list&r=102


So as you can see my dear friends, I haven't been mistaken in thinking the way I did, and there are others who feel the same too.... An interesting side effect of this exercise is that it will make me use the web search features more often to try and validate my theories, or at least try and figure out if someone out there has already thought of and documented them online.
Ciao, and please keep in shape!!!!

A bumpy bus ride

A friend and I were returning to Mumbai from Pune on the MSRTC Volvo bus, and here is something that I wrote while on the bus.

We were sitting over the malfunctioning suspenders of a bus travelling at a relatively high speed(about 90km/hr) on a road littered with irregularities. The intermittent halt at the toll naka was a very welcome one. My hand writing did improve while we were stationary, but went back to its illegible self once the bus re-commenced its jerky ride back to Mumbai.

Sunday, September 23, 2007

An HTTP server with diff capabilities.

These days, there is a surge in the traffic content on the internet. Many sites are serving dynamic content to their users. However, the static content doesn't seem to have lost popularity. Many sites still serve a lot of their pages more or less statically. Furthermore, these static pages don't change very often even though clients are always re-requesting these pages, and asking them to be refreshed. An example would be google's home page. That apart, site administrators always want clients to not cache the page content, because they want clients to see the latest version of any static content that may have changed since the last time they visited. This makes them advertise HTTP headers which forbid the caching of web-pages by browser and proxy caches.

If you notice carefully, even if use wisely, the If-modified-since header involves sending the entire page back in case it was modified. What I'm suggesting here is to use a diff based scheme, wherein the client sends a request to the server indicating a previous page version that it already possesses, along with a flag indicating that it is willing to accept a diff to the current version of the page. The server will now(optionally) send back a patch to the client which it applies to the page that it already possesses. This sending of the patch is optional since the server may not have cached the page to which the client is referring, so that generation of the patch may not be possible at the server end. In this case, the server will send back the whole page as it would in the current scenario.

What this scheme will effectively do is reduce bandwidth consumption dramatically in places where a central proxy is being used to serve many users, and those users seem to be accessing the same static content repeatedly. If the content changes by a bit, or doesn't change at all, this scheme will result in a definite reduction in bandwidth consumption on the internet. However, the trade off here would be CPU time to network bandwidth, since the diff generation and application of the generated patch are both CPU intensive activities as compared to normally sending the whole page.

Bumping up the bandwidth usage.

Have you ever wondered how you can (without too much of effort) use a lot of bandwidth on your local LAN? Well, if you have a central proxy server(gateway machine) through which you connect to the internet or to other computers, then you could do this quite easily.

First of all, configure your browser to use the proxy server installed. Then change the settings so that the browser uses the proxy server even for localhost(your local machine). The browser defaults general bypass the proxy for localhost. On your machine, on port 80, configure a proxy server(squid) to use the proxy server on the gateway machine for making connections.

Now, type your machine's IP address on your browser's address bar, and hit enter, and watch while the packets keep bouncing to and fro the gateway machine and your machine. This happens because your browser will contact the proxy server for the request, which in turn will contact your machine, which will again contact the proxy at the gateway, and so on....

Residents of buildings without elevators live healthier, longer.

According to a recent survey conducted by research scientists at the Montgomery university at Timbaktoo, it has been observed that the average age of people living in buildings without elevators is greater than of those living in buildings with one. Scientists observed a group of people living in the northern part of Timbaktoo city where the buildings are old, do not have elevators and people have a generally lower standard of living as compared to those living in the south, where sky-scrapers abound, and the standard of living is considerably higher. It was expected that the richer would live longer, since they eat healthier food, and can afford costlier medication. The results however were not in accordance with that theory.

As it turns out, the poorer people, with their low standard of living, and simple eating outlive the rich by an average age of 6~7 years. The northers sample space had an average life expectancy of 89 years whereas the southern sample space recorded a mere 82 years. It is believed that this singular occurrence if because of the fact that people living in the poorer parts of the city do not have elevators in their buildings and are forced too use the stairs, which is considered to be a good exercise for the heart and kidneys. Researchers have yet to conclusively nail this as one of the main reasons as to why people in the north live longer.

Monday, September 17, 2007

Ampache

I was thinking about setting up a server for streaming music of their choice to users on the LAN, and also for writing software for such a purpose. However, I happened to chance upon this great software called Ampache that does just that and more. Have a look.... It might interest you. However, I feel that this software lacks certain statistics like showing you relations in songs such as those songs which are liked by people who like songs that you also like, but you haven't yet listened to. Otherwise, I feel this software is really well made, and promises to become much more.

Saturday, September 15, 2007

To Mother

You love with unforgiveness
You care with such vengeance

You hit with such love
And fire with determination

You always have a motive
Behind all your aggressive

And when you have a plan
Not even the leader's clan

Can do anything about
When it comes to your little pout

But fever when have I
It's you that night sits by

And happy when am I
It's you that dances by

I never as much notice
Your presence in the office

As when you are not around
And a problem I have found

But homecoming is a joy
To your scrubby little boy

As he is now quite able
To chat until he's stable....

Friday, June 01, 2007

Random stuff; About today.

Hello everyone. I know there aren't too many of you who read this blog, but to the few who do "Hiya!!!!"
Statutory Warning: I may get bored while writing this post, and it may just terminate abruptly; much like a road that ends(if you know what I'm talking about). You may also find paragraphs ending, and a new one starting out of nowhere. This is because my mind was filled with void for the time between.

Today on the way from Pune to Mumbai, I spotted(somewhere ar Lonavala) to the right a hotel called (forgot name), and to left was Lion's Den.

Further, was the new cricket stadium that was being build which, I think is at Khargar. Just beyond that was a Royal Enfield showroom. Well, you don't see to many of those these days. My room mate(KD) is a big fan of those and owns one. In fact, he is contemplating purchasing another one, just for the road while he plans to use the current one only for races. There's a guy with passion.

About 10mins down the road, I could see a traffic jam in the opposite direction which was(to say the least) a couple of kilometers long. I hate traffic jams, because if you are stuck in one, you are effectively getting nowhere. And I do get restless when I am stuck in one.

There was a sign on the divider which mentioned the safe upper bounds for the different vehicle classes such as buses, cars, trucks, etc.... However, you could very clearly that everyone was moving in unison, and that too at some speed greater than the globally maximum allowable for any type of vehicle. That kind of begged the quesion if those signs were just put up for fun or for that day when people wore helmets, and had their license, and their vehical's documents, etc.... and the only resort left for the police was to catch them of the count of over-speeding. This kinda begs the question if that's what American cops have been up to for so long....

I was just thinking about the link about writing style sent to me by [RS](not to be confused with in the class R or S), and a very strange thought crossed my mind. Is it possible for someone to have memorized all of those rules, and created a mental map to be called upon whenever they wrote an article? Well, I hope not. At least not immediately. Which then leads to the obvious question: "When????". Then it struck me like the lightening that was shuddering in the fair distance ahead: "When they are all old and experienced...." Is this all experienced people did? Go through their subordinate's articles checking for incorrect application of the rules mentioned on the document. Well, I hope not. At least not where I want to be working. My ideal job place involves hard core work along with a lot of fun and frolic. Not something that I've found yet, but hey, the search is still on....

I reached Dadar only to find out that my phone could not detect my service provider's network. I thought that it would work over time, but even after repeated trials, it refused to budge. That's when my other(as yet dormant) senses woke up to the realization that others in the bus were facing the same problem and I hadn't been singled out(It's always a relief to know that ;-)).

I got off the bus, and straight away entered the Monginis cake shop. Hehehe(The rest you all know). From there, my stomach beckoned me to stop at the first Arey outlet that my eyes could set their focus upon, and ask(very polietly) for a coffee flavoured energy. AFter that devouring that miracle of mankind, I marched off toward the station, and it began drizzing, so I hurriedly got my body under the station roof.

As luck would have it, I was able to get a CST fast local, which stopped only at Byculla. So that facilitated my more expedited approach home.

Now, I find myself writing this post and sipping on a cup of tea. I'll spare you people the details, and just let you enjoy the rest of the day.... Ciao.... ;-)

Sunday, May 27, 2007

How things go wrong.

I've been thinking; and thinking out loud.... "Why do things go wrong?"

Things go wrong almost all the time, and with many things. Work, people, tasks, relationships, food, etc.... they all have their share of problems. They all have their reasons. For example, if we take food, then things can go wrong if you take the wrong proportion of something, or miss something out, or forget you have something on the stove(while you show your guests around), and so on. With relationships, things can go wrong if you are expecting something else that what the other person is, or if you are betrayed, or if you overly trust the other person, and he/she doesn't live up to it, and so on. Actually, the last is a commonly occurring special case of the one before it.

With work on the other hand, all of the above, plus it's own set of problems have to be dealt with. You have lots of forces at work, namely: food, inter personal relationships, people; including peers, subordinates, bosses, boss' boss, boss' boss' boss, and so on, and so forth. Additionally, you have your tasks(the least important of all????) to complete. I work in the software industry, where we deal with code and the like. Our day typically relies on copy-pasting other people's code and changing the name to our own writing lots of lines of code, and then testing it's correctness. We got to do this day in and day out with twitching, squeaking, or otherwise complaining about the inhumane working conditions such as air-conditions, free tea/coffee(that tastes almost the same), flexible-working hours(which entrust us with how long we want to work), and so on.

Let's consider a typical thing going wrong in a typical piece of code on a typical working day. The task at hand is to write a function that returns the file name given an open file descriptor to that file. Suppose we have written that function, and it's signature is:
int file_name_from_fd(int fd, char *buff, int buff_size);
Let's consider that all buffer-overflow problems in the function fine_name_from_fd have been taken care of.

The following piece of code is now written by the programmer:

int main()
{
char buff[4096];
int fd = open("/home/dhruv/data.dat", O_RDONLY);
file_name_from_fd(fd, buff, 4096);
printf("The file to FD %d is %s.\n", fd, buff);
return 0;
}

Now, is this piece of code fine, or is there something missing?

If you think it's fine, think again.... There are so many things that could go wrong. Instead of pointing them all out, I'd like to show you by writing code that handles them all(well, almost all).

int main()
{
char buff[4096];
int fd = open("/home/dhruv/data.dat", O_RDONLY);

/* Check for open() error. */
if (fd < 0) exit(1);

/* Pass buffer size 1 less than maximum size, so that
* you can write out a terminating NULL character in
* case of a full buffer.
*/
int ret = file_name_from_fd(fd, buff, 4095);

/* Check for error. */
if (ret < 0) exit(2);

/* Write out the NULL character. Will come in useful
* if ret == 4095.
*/
buff[4095] = '\0';

printf("The file to FD %d is %s.\n", fd, buff);
return 0;
}


Now, only if we all were not in such a big hurry, and took time out think things through before doing them, or at least did them well while we were at it, our lives, and those of our fellow programmers would be much less bug-ridden.

Tuesday, May 22, 2007

Up yours

I'm sick and bored of working on the project I am on presently, and want a change. As affairs stand presently, I don't see it happening, neither does it promise to change in the very near future, so I guess I'll just have to live with it. Well, if this goes on for too long, I'll just work even lesser(I wonder how less that'll be :-p), and eventually become one of those blobs who just sits around and does nothing. Now, that's something I'm really scared about.

I do realize that I need to busy myself in some way or the other. I love programming; nay more so problem solving. This is something that will stay with me forever -- whether I like it or not. Thankfully, I really do like it. I'd like to think of it as something like muscle memory, except the only muscle involved here is the one in my head(or at least I would like to think of it as such).

Staying idle just bores and irritates me, and I get highly irritable, and restless. I don't like it, and if it's in my control, I would do away with idleness in my life unless I want it at any point in time. Yes, when you wish to relax, or just simply chill out, you want to remain idle, and not do anything. I'd go further and say that I wouldn't want to even think about anything.

I'm afraid of time, and what it can do. I'd rather not think about it now. That's been my way of living in defiance of reality, though I like to stay as close to it as possible.

My current employer hasn't been able to quench my thirst for whatever it is that I yearn for from a job/profession. That drives me nuts, and turns me off. I feel really irritable right now, and want to turn off and go to bed. Ok, maybe read some Calvin and Hobbes or Dilbert.... I just want to get away from this boring routing, and take a break. In the words of a friend do somehting new and different for a while -- just to get away from the routine.
[Which reminds me; I'm going to be this weekend. :-)]

Needless to say, the resource allocation policy(btw, humans are referred to as resources in the corporate world) at this place is worse than what a chimpanzee could do in a bee-hive. This happens to be one of the biggest reasons for employee dissatisfaction. And why not. If you have neanderthals controlling the place, you can expect nothing less than a messy cave at best -- if not a complete mess. There doesn't exist a word such as accountability or responsibility which is a major driving force for us homo sapiens. The lack of these renders this a majorly boring thing to be doing for a living. However, if you consider this as a day job(which is meant to be boring), then I guess it's okay.

Another thing that was being discussed was the flexi timings that companies enforce these days. If there is no goal, aim, or direction towards which you wish to work, then you just land up wasting more time in office being highly unproductive all the while. There is talk of young bachelors spending more time at the workplace than at home because they have all the luxuries and requirements that they yearn for at the office itself. This is tending to be true for those who live alone/away from home, and should be avoided at all costs. Especially since work hasn't anything spectacular to offer.

At times, even if you speak to the people concerned about your being uncomfortable about the kind of work you are doing, they turn a blind eye towards it because it would be less profitable for the company. Kiss my a$$ -- less profitable. I ask the question: "If the employee isn't happy, how do you expect him/her to deliver his/her best most of the time?" I think the short answer is "you can't!!!!", and the long answer is "you can't!!!!". How many years of experience, and or post-graduate learning does it take for one to understand this simple aspect of life? Well, apparently, 14 years of professional experience, and a post-graduate degree isn't enough for some. Others may even turn their eyes away from the existence of such a problem, but then it's them just behaving like me, and living in defiance....

Give a man money, and he can buy food. Give a man work, and he'll be able to work up an appetite to eat it.

Looking for a house mate

Yes, you read it correctly. I'm looking for a room house mate. Now don't get any thoughts in that dirty little mind of yours. All I'm saying is that I want someone to share the flat with. So, if any of you out there know of anyone who maybe interested, please let me know, or else I'll have to look for another place to live in.

Stuck in a lift

Today, we(shete, kunal, bharati, anupam, and myself) had gone home for lunch. Yes, occasionally, we try our hands at cooking -- just so that we don't lose that chef's touch. After heaving our stomachful, we decided to head back to office because it offered a cool and air-conditioned environment for us to sleep in we had a some work to complete by the end of the day. Like a diligent and obedient citizen of the state, I made sure all the lights and fans were switched off before we left the house. So, after performing the final round of checks, I entered the lift which was already populated by the other four. As soon as we closed the doors, and the lift started it motion downwards, I was reminded of an article I had read in the Reader's Digest a couple of weeks ago about the downward fall of a lift. There, all the occupants of the ill-fated elevator had managed to survive, but they all had broken bones, are couldn't resume their daily duties immediately. Anyways, all this continued till we reached the ground floow, when the lift stopped. I opened the inner door; but when I tried doing it for the outer one, it just wouldn't open.

Shete and I remembered that we had been stuck in such a situation before, and there was nothing really to worry about since we had been able to go to the first floor, and then come back down when the lift door had openeed the second time round. However, when we tried doing the samr thing again, the lift just refused to move up. Even after repeated attempts, it just wouldn't work!!!! Now, we were really stuck.

After a lot of poking and prodding we were able to find and unfasten a lever that held the outer door in place, and we manually undid it. That's when we were able to get out. The most scared of all the people was kunal, and he expressed it, by not losing a single minute in getting out when the elevator doors finally did open up....

Thursday, March 29, 2007

Vohuman's again.

As you may have already read, I was at Vohuman's Cafe on Tuesday, having breakfast. I had:
[1] single egg bhurji
[2] toast butter
[3] bun maska
[4] bournvita

Well, for the longest time, I used to call the waiter with the gay confident gait "Suresh". However, it turns out that his name is "Satish". I shall keep that in mind hence forth. The surprising thing is that he responds to both calls. Why didn't he tell me that the former wasn't his name? If I were him, I would surely have corrected anyone who called me any differently than my pre-assigned handle. Anyways, that isn't the case, and now I know. It's not a very good thing to get people's names mixed up.

Hello sir, Mumbai?

I've woken up at 5:30am to be able to catch the train to Pune on time. It's bloody early, especially considering that I've slept at somewhere around 1:30am the same day. If you do the math, it adds up to something like 4hrs of sleep of which some were spent dreaming.... Anyways, after traveling from Mumbai to Pune for the better part of 3hrs, I get off at the station, and go to Vohuman's Cafe for breakfast. I'm all alone, and not accompanied by anyone -- it feels great to be able to do things on your own for a while. You have just yourself for company, and no one but yourself. Just your thoughts surround you, and your own self fills up the void around you. [interrupted by phone call -- lots of wishful thinking including a rocking chair, gramophone player, a vacation in the middle of nature, a hammock, and a telephone operator accompanied by a really old telephone with just one button -- to call the operator :-)]
I eat my fill at Vohiman's, and get to the other side of the railway tracks. On my way to the bus station, I am greeted by these people who are desperately trying to seek my undivided attention by saying "Hello sir, Mumbai. Only 180 sir". I get so frustrated because I've just come back from there, and these fuckers want to send me back just yet!!!! I can not express my loathe for them. And not just because of this incident, but also because when you really do need them to give you tickets to Mumbai, they ask for exorbitant rates like 250, etc.... which are totally out of bounds. And that's why I prefer the government buses. They have a fixed rate no matter what the day, or the time of day. Plus, these private operators do as they feel and leave you where they feel like at times, whereas the government buses will leave you at the pre-defined bus stops which are very easily accessible by other forms of public transport.

Coffeyness

Coffeyness. What does that sound to you like? The first time I heard it, I went "happiness, sadness, niceness, badness, goodness, wellness", and what not. The thing common about all the above is that they all end in the phrase "ness", and are all prefixed by a feeling. It may be a positive one or a negative one, but it's feeling none the less. So the question that now begs answering is what feeling does "coffy" signify? When I first heard the word, I thought of the drink "coffee", but then discarded it thinking it was just something weird that had entered my mind -- just like many other thoughts that do. I looked around. Yes, I was in the train from Mumbai to Pune, and the coffee vendor seemed to be chanting the word much like swamis chant the sacred mantras day in and day out. Except this guy was openly charging for his wares ;-)
So, now that I had established the fact that the word "coffy" stood for "coffee", it remained to be determined what the word "ness" stood for. "ness ness ness".... was it "ness wadia", or should I say "wodia" ;-) Maybe ness meant something that I was totally unaware of. Or did ness stand for "nestle" as in cuddle. Well, it could be a variety of things. I just let it pass because I was already feeling really sleepy.
However, on the return trip too, the vendor decided to shout out "coffyness" in a loop till he was interrupted by some over enthusiastic individual who wished to drink their sleep away in hope of being able to work with light eyelids throughout the day. Then it kinda -- as if by sheer luck dawned upon me what it really meant. Have you tried saying the word "mara mara" in quick succession. If you have, you'll notice that sounds more like "ram ram". Similarly, try saying the word "coffyness" in quick succession, and what do you get? Viola!!!! "ness coffy".... I almost smiled the smile of realization and muttered to myself under my breath "realization comes late, but never the less it does"....

Monday, March 26, 2007

It's the end of a perfect day....

After the end of Sunday, I was almost humming this song:

It's the end of a perfect day for all the surfer boys and girls
The suns dropping down in the bay and falling off the world
There's a diamond in the sky, our evening stone in our Shangri-La

Get that fire burning strong right here and right now
Its here and then its gone, theres no secret anyhow.
We may never love again to the music of guitars in our Shangri-La

Tonight your beauty burns into my memory
The wheel of heaven turns above us endlessly
This is all the heaven we got, right here where we are in our Shangri-La.

Tonight your beauty burns into my memory
The wheel of heaven turns above us endlessly
This is all the heaven we got, right here where we are in our Shangri-La.
In our Shangri-La
In our Shangri-La


I went row-boating on sunday, and it was real fun. Lots of lying involved in all quarters, right up to the time when I was asked if I had rowed before, and I said "yes". I thought "God help me if I drown", but I guess they were just as concerned about it, since it would involve answering a lot of questions, and bringing back a couple of bodies from the middle of the sea. Not something that anyone would be looking to do for a living. Anyways, thankfully, nothing of that sort happened, and everything went by like a couple of ores in a smooth sea....
Who says team-work doesn't pay -- it did yesterday. I would have been shit tired had it not been for the other person helping out with the rowing. The feeling of being in the middle of the sea, away from all is just too beautiful to describe in words. I would be insulting the moment even if I tried doing that(esp. with my oh so limited vocabulary). If there is someone who can attempt, it would probably be the first non-writer reader to this post. ;-)
Being able to do something inspires something in us. Being in nature makes us feel good about it. Being with someone special through it all transcends all other feelings.

Next time -- speed boating(If we get the chance). God please help us with this one. Can't imagine overtaking a couple of boats with 2 people at the directional radar. But I'm sure it's gonna be fun. Alive or not at then end of it all, I just hope we get great pics. for the album ;-)

Sunday, March 25, 2007

Scuttling Saturday

This saturday was a really hectic one in the true sense of the word. We slept at about 5:00am saturday morning, and were up by about 8:00am(Thanks to umzz, and his early morning schedule). Hiten and Smit as usual were the last ones to get up, and we had to literally kick them(oww my aching foot)....
Shete, Umzz, Smit, Hiten had stayed back at my place so that we could head off for PICT the next day. We did, but got terribly late at doing that. The reason being -- we wanted to eat this amazing bhurji that Hiten makes. So, after having our stomach full, we headed off.
On reaching there, we found out that we were the only company who didn't have a single representative(yet!!!!), so we got busy looking busy lest someone were to come up and ask us anything ;-) We began doling out the crosswords that we had prepared the previous day. There was a surprisingly good response for them. We found ourselves giving out 3~4 crosswords per minute(maybe more). Soon, we ran out of them, and had to shut shop -- at least as far as giving them out was concerned. There was this point in time when I was the only one at the stall and was busy:

[1] Giving out crosswords.
[2] Accepting them.
[3] Explaining the instructions to each one of the persons I hand them out to.
[4] Answering questions about CalSoft as a company to over-zealous SE students.
[5] Answering calls.

But all in all, it was fun. At the end of that period when I did all of the above, I was totally zapped, and decided to get something to drink. Th only think in the proximity was water, so I had to go with that. [Remember "There is no substitute for water"].
After that, I decided to catch a few projects that I found interesting. I had time just for 2, so I had to choose wisely, if I did indeed want to examine then at some level of detail. I settled for:

[1] Pretext -> A predictive text input system for mobile phones. This group was from VIT(yes, Rao, and Kunal's college), and was guided by Celunite(Sandeep's sponsor). They exceeded the expections I had had fom them after seeing the big names attached to them.
[2] A project on Image classification. This was a group from Singhad College.

Now, it was time to leave, so we(Shete, Umzz, and I) headed off. They dropped me off at the highway where from I could get a bus to Mumbai. As luck would have it, I got this car pool which dropped me off at Sion stn. It took just about 2hrs, so that was fast. I was too tired to do anything after that except for indulge in some persuasion which would ensure an even better day to follow :-)

Friday, March 23, 2007

Of crosswords and crossroads

It's 2:40am on a Saturday, and I'm still in office. Well, apparently, I don't have a life. So much for that. As I mentioned earlier, I've been on a crossword making spree, and along the way found this really cool software that allows you to create a complete crossword grid if you pass to it the words that would appear on the crossword. I need to be honest here, and say that the idea to hunt for such a software was not mine, and was suggested by a friend. Now that my conscience is clear, we can move ahead :-)


We found this software called Eclipse Crossword which fit the bill just right. All the crosswords which are mentioned on this link and which we have created have been done so using the above mentioned software. I would like to know the technique used by such applications to fit words in a grid, and then make sure that they are interconnected. Let that be a task for me when I'm bored. You must be wondering who the we in the text above refers to. It's Sandip Shete and myself, who have been primarily involved in the making of the crosswords mentioned herein.


Enough of background information. Here are the links to the actual crosswords we made. The competition is tomorrow, but I think I'll take the chance of posting them before they are released for public consumption. This move may be slightly egoistic in nature as well. The reason being that if someone is willing enough to find out who set the paper(s), and the visit his/her blog(or home page, etc....) and then check for the existence of the paper at 2:40am the day of the festival, then I think they deserve something. I know that the probability of such an occurrence generally tends to zero, but then again limits define what I mean to convey.

  1. C++ Crossword

  2. UNIX Crossword


Bitch, if you were looking for the answers too, then you may just be asking for a bit too much ;-)

I'm in a mood for ranting

This is my third post for the day. Well, that's me -- sporadic is my middle name.... whoooowwww!!!!
You must be thinking that all I do is write posts in office and very little else. Well, isn't work all about maintaining your blog and such? Oh! so much for what misconceptions you had about work. Let's get right back to what I've been up to today.
Apart from whiling away my time, and thinking up new ways to clock exactly 5hrs at work, I've also been involved in making a C++ crossword for Concepts. Concepts is a tech fest organized by the Pune Institute of/for Computer Technology(PICT). And CalSoft happens to be one of the co-sponsors. There are a lot of projects being showcased there, and companies are generally looking to hire people from there based on their projects and technical acumen. So, the question now is that while these projects are being showcased, we need some sort of presence there. Crosswords, Sudokus, and Treasure Hunt kind of games abound, and we as loyal employees of CalSoft must help our employer in achieving their motive(s). Hence the hard work, and creation of crosswords et al.
Well, we are actually going to create 4 different kinds of crosswords.

  1. A general techie. crossword that almost anyone in a technical establishment can attempt to solve.

  2. A linux based crossword for wannabe kernel hackers

  3. A C++ based crossword for humble fools like *this

  4. Ask the organizer what he had in mind for this, cause we have 4 t-shirts to give away ;-)


Well, CalSoft has been kind enough to arrange for a TV set, projector and a cable connection so that it's diligent employees can(after a hard day's work) enjoy the match in the comfort of the company with their peers which they zmibly adore.... I love the kind of harmony that employees at CalSoft exhibit especially in the face of a calamity like say extra pizza ordered, etc.... They make sure that after the issue is resolved, no pizza remains. Err.... The problem doesn't remain.
So much for that.... Let me get back to watching the match which India seems to be on top(at least for now). So, let's make hay till the sun shines.... ;-)

Of blogs and the like

Every time I have a crazy weird thought, I want to write it down somewhere -- anywhere even. However, the brain that works faster than the hand doesn't permit me to do so. Well, not with the conventional forms of logging. The primitive means that they provide are just too slow aka tape drives. I had thought of recording my own voice, and then playing it back when I wanted to write it down on paper or say type it out, but I don't see that happening. Well, I lack the drive and monetary means to be able to afford such a hideous device, and then to put it to effective use.
So, getting back to what I can do.... ummm.... not much given the fact that I am a lazy howrat fucker trying to eat anything that comes within an arm's reach of me. Well, that and the fact that I haven't eaten for well.... the last 3 hours ;-)
Every time I have an idea, or a thought that I wish to blog, it just remains a wish, and just a very small percentage of those thoughts are actually materialized into something that has mass. Well, at least in the virtual world. :-)
This gives rise to a very interesting line of thought. If you say that something has mass in the real world, it means that it has the properties of existing in a way that you can see, touch, and feel. The properties of mass are so very visibly exhibited by that thing(whatever it may be). However, in the virtual world, if something exists, it just exists in the bits and bytes that are stored on the storage medium which houses that thing. Can we say that it really exists? Well, it does, but does it in the same non-destructible way that real things(objects) do?
We can always draw parallels and say that all energy can be converted from one form to the other and the apply the mass-energy equivalence that Mr Einstein so simply put forth and then wet away for us to ponder on. Thus, all matter can be converted from one form to the other. Similarly, all bits can be transformed from set to reset and vice-versa by the application of an external force. According to Dhruv's 1st law of computing, all bits that are either set or reset remain in the existing state unless an external magnetic force is applied to them.
So, there isn't much to choose from between real things and things that exist in the virtual world. Notwithstanding, we shall never be able to replace the daily news-paper with it's counterpart in the virtual world without thinking about dropping some tea on it ;-)

These Days

It's one of those days today
In the month of sweet Jan
When the sun peeks not out
from the God that is the hand.
Some just call it dull.
Some are just imperveous to these changes that are here.
And a certain other some would rather
just stay home and curl up into their bed
with a book in hand,
and dream the day dream rgar they've wanted to for a while
Think about all the birds they've seen chirp,
and all they've heard fly.
And re-live all their wile whims and all the petty moments
thay they have lived with the ones that they meet
and the ones that they cherish the most.

Tell me oh today, are you heralding the end of a beginning
or the beginning of an end that wasn't.
Or do you just like to play
these little tricks on the already confused soul that is me.
Today, the rain teases thee like none other has
makes like the seductress that wants all that I possess.
Refuses to let the sun shine
from the shrine hat holdeth it
like a kangaroo her child
unwavering, undulating even in the harshest of times
but today, have you the power to change all that I see,
and all that I feel?
The sun peeks out for a while
but is calmly pushes back in by the hand that holds
and the hand that hides.
The hand that controls.
The hand that is God....

Thursday, November 30, 2006

The Motley Fools

Two motley fools that sit without
know not of a little cloud
that hath wrapped a kingly shroud
some time ago as I do shout

I am but just a little bum
that knows none better than the scum
That lives down that very lane
where I hath seen so many turn insane

Am I just desperado,
or are my problems just so great
that no single word in this blessed state
can justly describe my weird ways

But only God may weigh
as I do say
the truth contained in the pearls within
that fill this leaky vessel to the brim

I seek but not your little gums
as you may think I do come
A little humanity from thee
will make my stay here a fallacy

I do not know for whom this blood
carries veins upon this rough
But I do know that deep within
lies home and purpose so very slim

That I am oh so but prepared
to give all that I have today
and chance upon the one within
the hope that some day I may just win....

Monday, November 13, 2006

Vohuman's cafe

Today's breakfast was had at Vohuman's Cafe, Pune. This is an old Iranian/Zoroastrian joint, so anyone who has been to any such place will be able to get a gist of what kind of place it may be. To start off with, it has an old place charm that mostly these Iranian places have. It's got this unkempt but maintained feel about it. This you shall be able to experience only once you get there. The place itself is located at a diatance of not more than 5min walk from Pune station, and is bang opposite Ruby Hall.
Well, I had gone with Rao, and we had a great time, with great food to go along with it.
This is what we had:
[1] Omlet
[2] Egg fry
[3] Toast
[4] Plain bread -- yes thats Rao for you -- Mr. health freak himself.
[5] Good 'ol Bournvita.... kinda reminds you of the days of yore.... get lost you nostalgic bastard....
So much for the food. Getting back to more interesting things; last time I had gone there, there was this really interesting waiter who took everyone's order. He was kinda managing the whole place almost single handedly. He used to walk a very crazy walk, which can be best described as a combination of confidence sprinkled with a pinch of gayness.... It may sound crazy, but trust me, it's true!!!! That guy didn't write down any of the orders, but remembered each one of them quite precisely, and then made sure that we got our stuff well in time. It's not good to keep a hungry person waiting now, is it ;-) That apart he even corrected us on one count. We thought that we had ordered Bread butter and Jam, whereas it was just Bread butter.... Pretty impressive eh ;-)
After all was said and done, came bill time.... Here's what we got:



Now tell me is this cool or what!!!! I haven't seen a bill like this at any other place!!!! They generally have computerized bills, or some other pre-printed stuff, but nothing like this!!!!

Sunday, November 12, 2006

sizeof(char)

He/she who is able tread on the quick-sand with relative confidence which he/she almost sank in a while ago, and come out unscathed is a true individual of character....

Cotton 56 Polyester 84

Well, I have just gotten back home. It's 12:30am, and I've got to get up at 5:30am!!!! What the f*** am I doing writing this???? Digressing a bit, why was I out so late???? God alone knows!!!! Was I roaming the steets of the city in search of something.... Well maybe.... Maybe is such a 50-50 word, isn't it. It's as good as saying nothing at all. So, now that we've established that the last few lines meant absolutely nothing, lets get back to business. Well, I've made a promise to a classmate to write an essay(????), and I shall try to fulfil it. Let me say that I generally take on anything only if I know I shall be able to give it more than my 100%. However, considering that it' soooo late, please don't come and strangle me if I haven't met expectations, or as a wise(and very great) friend has told me "lower your expectations".... ;-) So, here goes nothing:

Topic(I think): Humorous day for an elderly individual at the ATM.

Well assume for a while that I am an elderly individual -- well knock that grin off that pretty face of yours ;-).... Anyways, getting back.... I (randomly????) decided one day that I needed to withdraw money from the ATM to:
[1] Pay the house rent.
[2] Grand-Children's school fees.
[3] Youngest son's girlfriend's movie tickets.
[4] Eldest son's knee operation.
[5] Vasectomy for myself -- I'm already feeling sorry for you dames out there ;-) Plus, I'm finding it impossible to manage so many people!!!! A necessary evil for a weak-willed male :P
[6] Saree for my wife -- wait; isn't it too late for that???? nay.... it's never too late for love :-)

On reaching the ATM, realized that I may not have enough money for the tasks at hand. So, I thought that I would do a balance check before I withdrew any money. But wait!!!! there's someone already trying to do something in the ATM room(is that what it's called????). I decided to wait patiently outside, waiting for him to be done, after which I would do my stuff. I couldn't help notice that he was wearing a topi, and was looking thoroughly confused. Well, maybe he didn't know how to use an ATM???? that bugger was taking like forever to withdraw cash.... Yes, and i was beginning to lose it by the second. but wait a minute.... buzurg logon ko gussa shobha nahin deta naa.... naaaah.... that's old school. Hum toh aaj ke buddhay hain ;-)
Well, so I decided to give that guy a piece of my mind[I know it's a rarity these days, but what the heck!!!!].... &#*$%@&@*#. He simply ran out of there carrying 3 notes of Rs. 100/- each, and 3 transaction reciepts.... I was left wondering what he would have done if he wanted Rs 1000/-. Damn, but forget about that. Yes, i now had full possession of that money spitting machine. With the Visa power that I now possessed I decided to proceed with Phase-II of the plan -- Phase-I being getting into the ATM booth. i remember having heard the phrase "With great power comes great responsibility....". i decided to just shove aside these philosophical thoughts aside for the while that i was rubbing my hands in glee for the moment that the moneeeeeyyyyyyyyyyy would come out.
I inserted the card -- wrongly for the first 3 times -- and now that it was in, I decided to crack my fingernails(????), and crank those rusty joints and buttons on the ATM machine. Tick-Tick-Tick-Tick. Yes, that's the noise you get when you indert your pin no. Incorrect PIN!!!! came the pat reply.... i was like "howz that possible????" I tried two more times, and the same reply was forthcoming. Forth time, and tha machine said that "my card has now been disabled".... I went "what theeeeee......". this can't be happening to me!!!! Subah subah kis kalmoohe kii shakal dekh lee.... Zaroor woh saala chootiya hoga, jisko ATM istamaal karne ko nahin aata thaa....
I was just cursing myself, when I woke up to the shuddering realization that my card had also been gobbled up by the machine.... So, not only would i have to get a new pin, but a new card altogether. Just when i thought things couldn't go any worse, I get a call from my cell phone company saying that i haven't payed the bill for my phone for the last three months, and if i don't immediately, then services will be discontinued.
i feel a pinch, but relief at the same time, knowing that I still have my credit card, with which I can make payments. The cell phone company's payment booth is just next door. So, I stroll out of the booth, and into the phone company's payment counter. When it comes time to pay the bill, I thrust out my -- wait DEBIT CARD!!!! -- Damn!!!! I was trying the debit card pin with the credit card, and now I have like nothing in my debit account.... I am so f****** screwed!!!! Hehehe: i remember having the same feeling 9 months before munnu was born, but that was in a totally different context. man.... what am i to do now????
i'm dazed and confused.... with no more thoughts left in me. I feel that I was more in control of myself like two months ago when things were going along just fine before I met this gorgeous woman. Not only is she dazzling, but pretty damn smart too.... take my word for it. i was supposed to tell her something.... but did I???? did it register???? God alone knows.... Maybe -- the maybe!!!! -- she is thinking about me???? I'll never know. If you thought that this were the end of my problems, then you are sadly mistaken, because I am supposed to go on a date with her, and I have zilch in my pocket in terms of money. Trust me, you don't want to find yourself in my situation....

Well, as you can see, not only am I so screwed, but my life is a total mess, not to mention my second wife.... So, all you people who think that you life sux, read this, and well.... "get a life!!!!"

So long for now.... looking forward to meeting you again next week ;-)

ps. please pardon any spelling/grammatical/factual/emotional errors that may have crept into the above.... All errors except for one are intentional, and should not be severely dealt with. Well, if you can find the ONE inconsistency in the above piece, my respect for you shall be elevated further.... :-)

have fun!!!! and keep smiling :-)