March 18, 2011

Ten days in Egypt

Prelude:
Again, am penning down this travel note after almost a year. There was so much to do in Egypt and so many experiences cherished : i always used to start writing something, then get digressed and then totally forget(not to mention the workload!). But, this is a sincere attempt in capturing some aspects of our travel to Egypt in Feb last year(when it was calm and peaceful with a amazingly beautiful weather).

After thinking a lot about possible destinations for our honeymoon, I zeroed in on Egypt - it had the right mix of Adventure, History and Food; and more than all this , it has a 'civilization' - i love countries like India, Egypt, South Americas which have a 'civilization' - there is so much to learn and experience in such nations.

Then started the decision process of whether we can do this on our own or have to necessarily go via a travel agent. After having researched for sometime, it was decided that a travel agent would be better, as the language was a barrier and we wanted to take it easy(read 'luxury holiday'). And hence after getting quotes from a few travel agents, finally decided on 'The Freelancers'. Unlike my other travels, this one had all hotels, buses, flights, cruises, taxis...almost everything booked in advance! :)

We started from Chennai in the evening and then went to Mumbai(stayed overnight in the airport) to catch the early morning flight to Cairo via EgyptAir.

DAY 1 Monday, February 08, 2010
Reached the Cairo airport at around 12pm and then we were transferred to Hotel Longchamps, a 3 Stars hotel, a  Standard room with  Bed and Breakfast in the heart of Egypt. The room ,though not large,  was clean and neat. Overnight in Cairo

DAY 2 Tuesday, February 09, 2010
A private sightseeing tour of Pyramids of Giza and Sakkara, the Sphinx and Memphis starting at 8am. We checked out of our room before we left for this sightseeing tour, as we had to leave for Luxor by evening and did not want to pay for the room for the day.


Spinx and the Three Pyramids

Sphinx

Not the 'original sphinx' :)

Ramses

In the evening  we boarded the Sleeping Train to Luxor. The train was to arrive at 7pm and was late by 30mins. Nevertheless, the compartment was clean and we were given a 2 berth private cabin with an attached toilet.

DAY 3 Wednesday, February 10, 2010
We reached Luxor around 6-7am in the morning and were then transfered to the Jetty to board the Nile Cruise. The Cruise is the place to get pampared; you almost get to do nothing. Just sit, eat, relax and travel, and Eating is one of the MOST important things. Our stay was to be in the cruise for the next 3 days(and I am sure that i would have gained atleast 5 kgs during this period).

The Cruise operates sight seeing tours, and they let you know of the plan when you board and also daily in the morning once and in the evening, if you have to wake up early. 




DAY 4 Thursday, February 11, 2010
ON the cruise, eating, relaxing and the sight seeing tours.

Cruises waiting on the Nile River

DAY 5 Friday, February 12, 2010
Again a day, when the cruise guide takes your around.



Hatshepsut

At Karnak Temple



made of alabastar


Saturday, DAY 6 February 13, 2010
Today was the last day in the cruise and we were to disembark at Aswan.

We started from Aswan at around 11am in our private car and reached Hurghada around 7pm in the night. The ride was wonderful and we survived a small accident, which would have been deadly if not for the promptness of the driver in applying the breaks. Not gory, but yea, definitely a chill in the spine for a new minutes.
In India, you would see cattles being loaded into trucks and other smaller vehicles, in Egypt, its the Ship of the Desert...everywhere!

A common sight - enroute Hurghada

We checked into our beautiful room at Hilton Hurghada Resort with a  Sea view. The room was spartan clean and the resort looked just amazing.

DAY 7 Sunday, February 14, 2010
Morning was the time to explore the ocean and the bluness of the sea was just too darn beautiful. The perfect sun coupled with the crystal clear skyblue ocean was a treat to watch. Did Kayaking for almost an hour and the post-lunch session was for a snorkeling session in the deep blue waters of the Red Sea.

Red Sea

The breakfast at the Hilton is one of the best i have ever had till date. The spread is amazing, and with a really heavy and late breakfast, you can almost skip your lunch and directly go on for a dinner :) (more weight gains!)

Evening was spent roaming around -a long walk along the length of the stretch of the road that covers all the resorts and shops in Hurghada.


DAY 8 Monday, February 15, 2010
Day was spent mostly along the beach and in the evening we boarded our flight to Cairo.

View from Hilton

Reached Cairo airport and then moved to our room in Horus House. This hotel is in the same building as Longchamps but on a lower level than it. Overnight was spent in the hotel after a  sauntering in the streets for sometime.

Tuesday, DAY 9 February 16, 2010
We  had this day as buffer and used to explore the City of Cairo. We managed to learn the Arabic numerals and managed to roam around the city the whole day on our own. Language is not a BIG problem in the Cairo city, as you might stumble on someone who knows English and can help you out.

We first went to the Museum and then onto the Khalili Bazaar.

The Museum is one of the biggest i have ever seen. I was always enthusiastic about them, and was as excited as a kid who wants to visit a circus for the first time :) There was a long queue to enter and then we managed to get the first view of the ancient rocks and other statues that should have been centuries old. Room after room was filled with ancient relics and remnants of the great civilization. It is a treat to watch the broken sphinxs, the bust of Tutenkhamum, the small pyramids, the statues of Pharoahs, priests, their servants and maids, the empty caverns and the caskets. This is an experience that you have to have, and cannot be explained in words.

And then we roamed around in the streets of Cairo near the Museum and had a quick snack with our broken english in one of the hotels by the street. I forgot what we ordered, but it was different and good...and cheap. Then we took a taxi and reached the Khalili  bazaar. Almost the whole of evening was spent in roaming around this bazaar trying to bargain and buy some souvenirs. If you want to buy an souvenirs for the loved ones back home, then this is the place.I could not find a big difference in price between India and Cairo, but 'Egypt' specific souvenirs(like small pyramids, papyrus etc ) were cheap. You need to bargain a LOT! For eg. if the seller says 100EGP, ask for 10EGP - i am not joking, but the seller agrees most of the times :)

Souvenirs in Khan-e-Khalili Bazaar
Overnight at the same hotel(Horus House).

DAY 10 Wednesday, February 17, 2010
Day was spent roaming around the neighboring streets.

Harley Davidson showroom in Cairo

And then, like all good things, this tour came to an end and we boarded our flight back home.

Expenses (for two) :
  • Mumbai - Cairo by EgyptAir : 40,000
  • Package Cost of 10 days tour: 1,02,000
  • Food: 10,000
  • Miscellaneous : 5,000
  • Sports : 10,000
  •  
Verdict:
  • A must visit place for any traveller
  • You need to bargain a LOT in the market.
  • Do not go during the summer months, prefer oct-feb.
  • Do visit Hurghada - its a really nice place and the stay at Hilton is cheaper than a stay at Leela in Bangalore. Red sea is clean and is the best place for snorkeling/diving.
  • Cairo is a nice place to walk around on your own. Its safe too. I wish they had walking tours!
  • Try out the local cuisine - we liked this dish called Koshary and my wifey makes it even now :)
  •  Cruise is not a must, but if you want to relax, then its a good bet. You eat the best and also the sight seeing tours are nice. Recommended.
  • For those who like History/Civilization, try to read up stuff before you go there - helps a lot
  • Almost all the hotels where we stayed were nice and were value for money. Would recommend Longchamps and Horus House.
  • Travelling in the Sleeping train is also nice and a must. (I love trains!)
  • We didnt do Abu Simbel and Alexandria - For Abu Simbel you need to catch the early morning caravan and almost have to reserve 2 days for this, and also costs a bit. Do this if you have the time and dough.
  • You might be interested in the hotel air balloon  - we did not do this; its quiet expensive but i think its one of its kind of an experience(which i miss now). Floating over the pyramids and ruins should be a great experience indeed.
  • And one more important thing : Egypt is a Tips nation,  i.e, you have to tip/baksheesh almost everywhere. So if you are taking a bus from the cruise which takes you around and bring you back, you have to tip the driver, you have to tip the taxiwala, you have to tip the guide(on top of his service-a charge which you pay for the cruise); if you are taking a taxi from airport to the hotel, then you pay the charge and top of it a tip!!! sigh! I think this is totally upto you. I did not tip much. So carry suitable change, if you like leaving tips :)

February 23, 2011

Perfect Vacation : Andamans

We did this trip to Andamans way back in Sept 2010 and never got a chance to blog about it.  The itinerary, useful notes and trip suggestions follows.....

We did not plan much for this trip except for booking the flight tickets and 2 days stay at Havelock. In fact, if you are planning for a travel in India, I do not think you have to book anything well in advance anywhere unless+otherwise you are visiting a top tourist destination during a peak season. I am sure you will end up something nice with your adventurous spirit and the diversity that is present in India (I love this Country!).

 Leave Bangalore for Chennai by Bus at 10:30pm.

Day 1 [Sept 4]
Reach Chennai by 5am. Go home, quick bath etc. Proceed to Chennai Airport. Morning flight at 10am to Port blair from Chennai in KF red. Reach PB around 11:30am. We could only see a white carpet outside our window ; terribly overcast. I had certainly opined that this vacation was going to be a total washout due to the rains; but , on an optimistic, we hoped for the best. It was drizzling when we got down from the flight at the Port Blair airport. Took a taxi from PB Airport to the jetty. The ticket counter at the jetty closes at 12pm, and we just missed it; but the guys told us that we can always buy the tickets on the ship. The Ship departs at around 2:30pm. Luckily got the tickets onboard.


You get to sit in a big hall in the ship which is a little damp with no proper air circulation - though there are fans , but they cause more noise than the airflow. We went to the deck and sat there till we reached Havelock. The nice wind along with the beautiful landscapes is a treat to watch. It was surprising that the air did not contain much moisture - i mean, the saline air which kind of clogs your brain when exposed for atleast an hour or so -- that was not present!

Reached Havelock around 5:30pm. We had booked our stay at Emerald Gecko for the next 2 days. Placed our bags in our beautiful bamboo hut and went out for a stroll. It was already a bit dark. Had an amazing meal at the Gecko's bistro.



Note : Sun sets in this part of the world quiet early and it is always nice to venture out early in the morning and retire early too. Plan to get up around 5am and sleep around 8pm.

We also enquired about scuba diving and were advised by the Gecko guys to approach Dive India which was just a walk away from Gecko

Day-2 [Sept 5]
Got up at around 5:30am and went for a nice stroll along the beach at Gecko. The high-tide was almost touching the boundaries of the Gecko resort. The morning tranquility along with the sound of the waves lashing on the trees along the beach was nothing less than nirvana.


Then we proceeded to Dive India - those guys had asked us to come around 7am. We also had a sumptuous breakfast at Dive India (the tea sucked a little though). The dogs at DiveIndia - Sam and Frodo - followed us. They were two adorable darlings whom i cant forget so easily. We hardly heard them bark even once, and they loved the coconuts and its water, so much so that they followed us and stood next to us when we had our own share.

DiveIndia guys made us wear the scuba gear and took us to Elephant beach which is around 20min ride in a fast boat. The ride was enjoyable and weather looked promising with hardly any clouds around. I forgot their names, but the two instructors from DiveIndia were excellent. They were extremely freindly, and i felt as if i knew them for ages. After a quick round of introductions and hand signals underwater, we were to experiment in the waters with the gear on.



The initial view underwater was good (not great though); the water was a little murky, but i could see the various dried corals. A few minutes of experimentation and the instructor took us in...deep in. The view was AMAZING. The murkiness had vanished and the water was clean! I wished i had a underwater camera to click the pictures!

After a 45minutes underwater dive, where we went 12-15m deep it was time to return back to the surface. DiveIndia guys had our snacks and Tea ready; and after a few click-sessions and snacks it was time to return back to the water and float around...float float float!


We returned back around 10:30-11am and we could see the low-tide in action, with the water having receded by almost 200-500m from the coast line. The dried corals and the rocks of Havelock were visible now. Havelock's ocean floor is not smooth and i had cut my foot the previous evening when i ventured without any caution; but the virgin beaches are worth ogling ;)

We returned back to Gecko and after a shower, we rented out a scooter and had a nice meal at one of the restaurants there. Went around and then proceeded onto Radha Nagar Beach. This beach is one of the best in Asia(and in the world). I did see some photos of this beach without any tides, but when we went, i guess due to monsoon, there were gentle waves. The beachline was long and there were only a handful of people there. Almost no litter, but lots of dried up leaves on the sands. The whole of evening was spent here.


The dinner at Gecko was awsum. They did not have a great spread for vegetarians like us, but the pasta that we ordered was luscious with a beautiful taste and smell of the spices. The paneer butter masala along with the rotis was pretty heavy for dinner, but when something tastes nice, you dont think about your stomach much :)

Day-3 [Sept 6]
Wake up at 5:30am. (Trust me, but it was as if 7am in the mainland! )
Swim in the silent waters at the Gecko , breakfast at German Bakery. Come back to hotel , packed bags. Lunch again at German Bakery, then leave hotel and reached the Havelock jetty by 1pm. Leave Havelock at 2:45pm and reach Neil by 4:30 pm. Checked into Tango hotel.

Since it was already 4:30, we quickly went on for a stroll along the beach. The beach here contains loads of sea-shells and there we went again collecting them. The ocean floor here too is not smooth and you can see the rocks and dried corals popping up from the waters. Though the hotel guys told us that the were 'swimmable'  beaches on the other side of Neil Island (we werent much interested).

Splunking..Splunking

It was getting dark fast and we strolled till the end of Neil Island to a place called Sunset Point. There was absolutely no one around and we could only hear the waves. The ocean floor was smooth and the waves were pretty powerful. The slight overcast along with the orange rays from the sun was beautiful. It was getting dark fast, and we hurried back to the hotel. By the time we reached the hotel, it was completely dark.

Sunset Point at Neil Island

The next few hours were spend in the restaurant overlooking the beach in the hotel at Tango. The food wasnt great at all. Retired early to sleep in that unventillated room ;)

Day-4 [Sept 7]
Getup at 5am. Stroll along the beach.The mornings here are beautiful and a stroll along the beach is mandatory. Collected a few more sea shells.



Reach the Jetty at 8am and then catch the next ferry to PB.

View of the Neil Island from the Jetty

Neil to Port Blair in the Ferry starts at 8:30.  We again preferred to sit on the deck than settle in the dingy cabin. Reached Port Blair by 10am. Checkin into Ashiana Hotel near the Jetty. I would highly recommend this hotel - the rooms are clean and well ventilated; and the owner is nice too. We accidentally stumbled on this hotel when our autowala suggested this. The hotels' proximity to the neighboring market and also the quietness was good. We then relaxed for some time in the hotel and then strolled along Aberdeen bazaar, had lunch at a hotel. The sun was bright, but it was not too uncomfortable for a long walk. We did not perspire much. We then proceeded onto Cellular Jail and the Rajiv Gandhi park.

Place where the prisoners were chained and belted/caned

Gallows at Cellular Jail

Cellular Jail

Evening was spent roaming aroud the streets and trying to find someone who would arrange a plan for us for the next day.  We wanted to do Baratang Island and stumbled on an agency who had tickets for the next day.  Evening snacks at Gagan restaurant(near the clock tower), packed dinner , reach back hotel and retire for the day early as we had to get up pretty early the next day.

Day-5 [Sept 8]
Getup at 3:30am and start for Baratang Island at 4am. The bus picked us from from our hotel and thus we started our day. It was raining continuously. The ride to Baratang Island is adventurous and you get to view the indigenous tribes of the land while going through the forest sections. One is not supposed to be in touch with these tribes, and hence the bus goes full throttle when the driver sees any tribes near the road. Also, he shouts 'jarawa!jarawa!' which is the name of the tribe and all the people in the bus get excited. Inspite of the instructions, a few lunatics threw chocolates and other eatables at them. If you are visiting this land, please see to it that you dont appreciate such behaviour. The tribes do not know plastics etc and we dont want to endanger their lives.

Then on, we stopped at a place(forgot the name) to board a ferry to reach the other side of a river. Though the distance between the shores would be hardly 300, the time taken is close to 20-30minutes. Its a slow float across the river. Then we board small boats in batches of 15-20 and were served breakfast on it. The ride along the mangroves was enjoyable (and i think this was the only highlight of the day, otherwise, it was pretty much uneventful).



You visit Limestone caves and then the Mud volcano. The Mud Volcano site looks like a place where some building construction recently took place - do not expect any sort of mountain or hillock here, its flat land with hardened clay.

Limestone Caves


Elephants helping move the logs

Back to PB city by 5:30pm. Lackluster Dinner at Annapurna Cafeteria and retire for the day.

Day-6 [Sept 9]
Sleep well in the morning and board flight at 12pm for Chennai. Reach Chennai at 2pm.

And thus a vacation, which was feared to be a total washout, happened to be one of the most memorable and beautiful ones. (I still remember Frodo and Sam and there does not exist a day when i don't think about them).

And, by the way, i think 6-7 days in Andamans is good enough to cover most of the places and have a good spread between adventure, relaxing, beach bumming etc. This can probably be extended by another few days to cover a few more islands etc, but again, this depends on totally on the time schedules that you might have. ONe big factor would be on how you are going to plan your island hopping as some islands need that you come back to PB for going to any other islands.

Also, prefer the time form just after monsoon till Jan end. I heard from the DiveIndia guys that the weather changes are affecting the corals and many got dried and washed last year, so try hitting this paradise as soon as possible.


Expenses (For two): 40, 000 INR approx (or less)
Travel:
  • Blr-Chn (bus)                 500
  • Chn-PortBlair(air)      17050
  • Chn-Blr(bus)                  720
  • PB airport to Jetty         100 
  • PB to Havelock             390
  • Havelock to Neil Island 390
  • Neil Island to PB           390
Accommodation:
    • Havelock, Gecko, 2 Nights -2*1250 = 2500
    • Neil Island, Hotel Tango, 1 Night =  400
    • PB, Ashiana, 2 Nights -2*350 = 700
    Sundries:
    • Food                6000
    • Sports              7000
    • Misc                 2000

      February 22, 2011

      Along the Karnataka Coast Line

      So, me and wifey decided to go along the West Coast of India to celebrate our First Anniversary. We just booked the ticket from Bangalore to Mangalore and let everythings take shape as it comes. Initially, I had some apprehensions of going till Gokarna as I feared that we might run out of time by the time we finish the Jain circuit and Udupi. But it so happened that we finished the Jain circuit in a day and had loads of time. And we ended up doing Moodbidri - Karakala - Venur - Udupi (Malpe, Kapu) - Gokarna (Kudle, Om). We could have always done Murudeshwar and Honnavar, but i wanted to relax for sometime and not have a strenous schedule, as work was burning me out.

      Read on for a more detailed itinerary and some travel notes.

      Day 1 - Friday
      We had booked a sleeper bus from Bangalore to Moodbidri, and it so happened that the road was horrendously bad. We were on the upper berth, and it was jumping and wobbling for most of the time, hardly had a good sleep! (I think the stretch from Hassan and all the way upto Mangalore was crap!)

      The bus started from Bangalore(Bannerghatta road around 7:30am and we reached Mangalore in the morning around 6:30am. We had not planned whether we want to do Mangalore or carry on to Moodbidri. In the morning, i felt that we should be doing the Jain circuit and then head on towards Udupi, than sticking to Mangalore. Mangalore can always be done when we plan to do Kerala ; something like, start from Mangalore and then onto Bekal-kasargod and the rest of Kerala). Anyway, the bus conductor asked us to get down at Jyothy bus stand if we are to catch a bus to Moodbidri. We had to walk across the road and wait for a bus which came in another 5mins. Reached Moodbidri in around 50mins. We had our breakfast in a hotel in the Moodbidri bus stand. We did not note the hotel's name, but it was pretty clean - though not duly whitewashed. A idli-vada and quick tea is always refreshing in the morning. Asked quickly for directions to the Thousand Pillar Jain Temple and then proceeded onwards. Enroute we stumbled on a Hanuman temple. I had opined that this was just another temple, but it looks like this Hanuman/Anjaneya temples is a very famous one in Moodbidri.

      A quick walk lasting 15-20mins lead us to the Thousand Pillar temple. Photography is not allowed inside the temple premises. When we entered, there was hardly anyone inside. The intial few pillars on the leading face of the temple were looking nice - though not impresseive; the prangan(area surrounding the sanctum) and near the walls were unkempt with grass and wild plants. Unimpressive, i had expected much grandeur in this temple; though the brass statue of Mahaveera inside the temple glowing in the bulb within the sanctum was nice to look at. The pedestals were nice but the pillars were lacking the much needed intricate carvings.


      A jaunt back to the bus stand and then a tea in the same hotel and then a bus to Karakala ensued. The journey was for around 30mins. The sun was pretty bright by now and we had to wear our shades, as we had to climb hundred odd steps to visit the statue of Gomatestwara on the top of the hillock. A few chocolates before the climb and a quick ascent lead us to a flat land with the monolith statue of Gomateswara standing in the middle, surrounded by two sets of walls - one very close to the statue itself and the one around the temple. Clicked a few snaps and sat here for sometime. The shade outside the temple was cooler than that of inside.


      We then came back to the Moodbidri bus stand and caught a bus to Venur. Unlike the hillock in Karkala, Venur is pretty much at the ground level; few steps leads us to the monolithic structure which is again on a flat concrete ground.


      Venur does not have many lunch options, so we had it in one Jain hotel which was clean, though the food was nothing great. The hotel owner told us that there are regular buses to Udupi from Venur, but little did we know that those buses go via Moodbidri(duh!).

      (And thus i had seen all the big-4 monoliths of Gomateshwara in Karnataka - Shravanabelagola, Karkala, Dhramasthala, Venur ! Yay!)

      We reached Udupi around 5:30pm in the evening. Took a hotel near the road that leads to the Krishna temple. The room was neat and clean, but not luxurious - you dont get a deluxe room for 300 Rupees!). Went on a walk near our hotel and asked for the best hotel in that area with a few passerbys; almost everyone seemed to suggest Woodlands and after a sumptuous meal there and a follow up walk near the temple, we retired for the day.

      Note : Prefer doing Moodbidri, Venur and then Karkala in order. There are buses from Karkala to Udupi and you dont have to come back to Moodbidri, we didnt know about this and lost about an hour in the transit.

      Day 2 - Saturday
      We visited the famous Krishna temple in the morning around 8am. Lord krishna - a black idol - was kept in a small room which had many oil lamps lit and was not to be reached by anyone. Devotees had to have a view of the Lord via a small window - the sighting would last only for a few seconds. The rush was not much and we had a good darshan.


      A breakfast at Woodlands ensued and we took a nap in our room. We again went to the Krishna temple in the noon - for the mid day prasadams - the meals. Surprisingly, the temple treats brahmins and non-brahmins differently. I was wearing a Jean and a T and we both stood in the line for the non-brahmins. We were told that only those who wore dhoti were eligible to sit in the area marked for brahmins (we wondered how easy this system could be tricked!). The meals for the non-brahmins are served in the first floor. Everyone is asked to sit down and the marble in front of them is to be washed and food is served on this. I would expect that the scene on the ground floor was to be completely different, with banana leaves and a much better quality of food. In the abode of God, such differentiation is to be frowned upon. On a philosophical note, i do not understand why Man always comes up with means and measures to differentiate people(his fellow beings) !


      Anyway, we proceeded onto the Government Bus stand which runs buses to Malpe. Malpe is around 5-6 kms from the Udupi bus stand and from the Malpe bus stand you can catch an auto to reach the beach. I did not find anything spectacular about the beach, though there was a ship building/repair yard on the left hand side of the beach. It was around 2 in the noon, and we did not loiter in the sand, but sat on the bench and whiled our time. A boat ride to St.Mary's island could always be done, but this would be too much 'touristy'. We got a lift from the beach to Malpe Bus stand and then caught a bus back to the Government bus stand. We were told that buses to Kapu had to be caught from the Private(or Service) bus stand. Kapu is slighlty far off and the ride lasts for close to 30mins. One can walk from the Kapu bus stand to the beach or hire an auto; auto costs around 25-30. We preferred to walk.

      Tip: When you get down from the bus at Kapu bus stand, get onto the other side of the road and ask for directions to the beach; they will lead you to a narrow lane - get onto that and then go straight, you will reach the bypass road, and then cross it and take the road next to the temple on the other side of the road, keep going straight; once you reach a T junction, take the left and then take diversion from the road onto the sand which is next to a few huts there, a few meters away is the beach. This side of the beach is virgin and not people/tourists visit here. Also, you can spend some time in the shade of the monolith rock there and then climb onto it too ;)
      The more famous(read 'crowded') part of the beach is on the other side of this rock.


      Kapu beach has a functional lighthouse(there is no port here) and the sunset from here is beautiful!

      There was a local mela going on in the beach when we went there and then took an auto to the Kapu bus stand back (this one is on the Bypass road). Back to Udupi and retired for the day after a meal at Woodlands ;)

      Day 3 - Sunday
      We got up at around 6:45am and vacated the room by around 7:15am. The hotel's manager told us that Train was way better than bus, as the former would take 2-2.5hours to reach Gokarna than the latter which takes around 5 hours. Also the roads are not good. The train was to leave at 7:50am from the station. I wanted to try our luck and caught an auto to train station and reach there by 7:30. The rush in the station was just beginning and the queue for the tickets wasn't long. We got the tickets and had a quick breakfast in the station. The train arrived, not very crowded, one of us managed to get a seat while i kept standing for a while and exchanging seats. Reached Gokarna road by around 10:40am. There was mini cab/bus waiting outside and for 15 Rupee ride lasting for 15mins we reached Gokarna. We were not sure about the hotels to choose from - i.e, choose a hotel in Gokarna or prefer any of the huts along the beaches. Preferred to rest for sometime, have some lunch and then decide.

      And so we stumbled on Hotel Sri Sai Ram, this is a small hotel next to the SBI ATM on the main road, before you enter Car Street. Little did we know that this hotel will be our place for lunch/dinner for our remaining stay in Gokarna. This clean hotel is run by a family - husband,wifey, a son and a daughter; and i think there are two helpers who get them along with the kitchen and other associated activities.

      Post lunch, we roamed in the streets behind the gokarna bus stand looking out for rooms and here we stumbled on Katyayani Guest House. This is run by a gentleman who runs a provision store just outside his house. Our room was on the first floor - damp and a little unclean. But since we were budget travellers, we took this and quickly cleaned the room. A quick nap and a long walk along the Gokarna beach in the evening followed.

      Day 4 - Monday
      Getup at around 7:15am, breakfast at take the road next to Ganapati temple and then proceed towards Kudle beach and then onto Om beach. The trek to Kudle takes around 40mins(when done slowly). ( the platform is quiet steep, till you reach the flat ground on the hillock. ). Kudle to Om Beach takes around 20-30mins(again when done slow)


      (View of Gokarna beach from the hillock enroute Kudle)

      The whole day was spent on these two beaches and the evening sunset at Gokarna beach.


      Day 5 - Tuesday
      Get up around 7am and a quick breakfast at Pai Hotel on Car Street. Proceed to Kudle beach. The morning sun was nice and bright and the 30minute trek was refreshing.

      Also, we started the trek from Gokarna beach instead of the lane next to Ganapati temple. This was a boon, the ascent was not hard and also we were able to continue walking without breaks for quiet sometime. We sat in the shades of the trees in Kudle beach for sometime, till the Kayak guy came in. The sand was cool. The 1 hour long kayaing session was pretty good. We started off with a big thud in the water before we could paddle the kayak ;) We went around 0.5-1km inside the waters where it was still. It was quite scary sometimes. (Having kayaked in the Red Sea earlier, this was our second time, but, the Arabian Sea was a little scary  when compared with the Red Sea).

      Back to our room in Gokarna just in time to check-out, quick bath and vacated the room. Post lunch, time was spent sleeping in one of the huts along the Gokarna beach where the fishermen had kept their nets (it wasnt stinky ;) ).


      A nice wooden-oven cooked pizza in the restaurant along the sides of the hillock at Gokarna and a beautiful sunset brought the trip to a beautiful end.; and the cane juice with ginger and lemon was a refresher to bring the energy back :)

      Boarded the sleeper bus at Car Street at 7pm(started only at 7:45pm) and reach Bangalore by 6:30am.

      Expenses (all expenses are for two pax) :

      Travel:
      • Bangalore-Mangalore(Sleeper bus) : 700
      • Mangalore-Moodbidri(bus) : 50
      • Moodbidri-Karkala(bus) : 26
      • Moodbidri-Venur(bus) : 30
      • Moodbidri-Udupi(bus) : 50
      • Udupi-Malpe(bus) :12
      • Malpe bus stand-Malpe Beach(auto) : 25
      • Udupi-Kapu(bus) : 24
      • Udupi-Gokarna(train) : 62
      • Gokarna Train Station - Gokarna : 30
      • Gokarna-Bangalore(Sleeper bus) :400
      Accommodation:
      • Hotel at Udupi (2 nights * 300 ): =600
      • Hotel at Gokarna (2 nights * 200 ): 400
      Sundries: 
      • Food : depends on what you eat ..we are veggies;)
      • Kayaking at Kudle:300
      Grand Total (for two) : around 5000 INR

      (I have been planning this tour for close to 4 years now; every time i planned this, something else came up in my schedule and i ended up doing something else. I am glad that this long pending visit to the Indian(Karnataka) West Coast is finally over; and with this, i think i have covered most places in Karnataka).

      February 14, 2011

      The Fighter

      The life presents many challenges in various different forms, but comes along with it many opportunities, skills and the energy to tackle them. Some use that energy to fight against all odds and make a mark for themselves; a few want to fight, but do not know how to proceed or use that energy and a few don't even bother to learn and make an impact. "The Fighter" , movie starring Christian Bale and  Mark Wahlberg, is not about a man's fight, its something more than that. It shows how a family collectively can come together and make an impact in ONE man's life - the family, though is a bunch of individuals each with their own identity and characteristic qualities. Man is a social animal. All societal structures promote this cause - though agree that some structures do get tarnished due to the mutual bigotry and dogmatic views. In the longer run, its always the collective which wins over the individual.


      The plot is nothing new and the sequence of events are pretty much predictable, but what stands out is the performance by the actors which lends a charismatic charm to soul underneath the skin. The remarkable aspect about Christian Bale in this role is that he performs it with such ease - he performs 'automatically' - you dont see him 'try' for being a character; it looks as if the character moulds into Mr.Bale. We had seen him in The Dark Knight where he had to face the tantrums of the Joker - the various emotional challenges set forth by The Joker, and in The Fighter he does it again.

      Watch "The Fighter" if you like boxing - the upper cuts, the jabs etc, but also watch it if you want to see how family and friends are mandatory for a person's survival.

      In Conversation with my Shadow

      Me : How do you feel since i am always above you.
      Shadow : I am down to help you be above me.
      Me : Forgotten identity?
      Shadow : No. A supporting structure.
      Me: No one notices you.
      Shadow: I do not want to be noticed.
      Me: Identity commands attention.
      Shadow: The feeling is fleeting.
      Me: You are meaningless without light.
      Shadow: I survive in darkness, i am inside you then.
      Me: Whom do you converse with? You know no one.
      Shadow: I exist as long as you are with me.
      Me: Do you feel alone?
      Shadow: Never. Am always around you.

      February 03, 2011

      On Indian Travel and Tourism Industry

      India is one of the top travel destinations with the wide diversity of cultures and geographies that it has to offer. But tourism is also one of the most under-rated and also under-utilized sectors in here. Though we have many state bodies which promote tourism in their own states, we do not have a collective framework which would help both the International and National travelers.

      With the increasing spending power of the masses and also the quest to visit uncharted territories, toursim/travel does have significant growth prospects in India. For eg. did you know that the rapids of the Zanskar river are much more challenging that those in river Ganges?

      In this short essay, i have tried to ruminate on certain aspects of the travel tourism industry which when implemented would be a great source of revenue for the Government and also would be a great source of information and provide safety and comfort to the travellers.

      Hotel Reservation
      Imagine if the Government collated all the Hotel information in India, and hosted it in one portal for everyone to have a peek at. Individual hoteliers can have their own login ids and can upload videos/pictures of their facilities. The location and tariffs would be structured and can be easily be searched upon. All the booking happens via this single website and the ratings of a particular hotel would obviously be based upon the traffic that it generates.Already sites like TripAdvisor etc are doing this, but since the Govt anway gives Licenses to hotels to operate, they can as well expose this information so that the credibility of the hotels can be established. This would be the directory service for all hotels in India.

      The online reservation system if added to this service be a significant add on. For hotels that do not have Net facility, they can as well SMS or call up a call center to update their reservation status.

      With the increasing amount of safety concerns for travellers and tourists, this would be an ideal endeavour. Based on complaints on safety, the Govt can blacklist hotels. Also, Black money can be curbed.

      Flight Tickets Bidding System
      It would be great if we have a website which lets us bid on flight tickets. So, if a particular flight has vacant seats before the departure and operator is ready to fill those seats at a slight loss to his profit margins(i.e, cut in the margin), then this would be a win-win situation for both the customer(who gets cheaper tickets) and also for the operator(who gets a decent traffic and also doesn't fly many empty seats).

      For Handicapped
      People who are differently abled and are often away from most of the travel need to be given special attention.This space has some promising scope for growth.

      For LGBT

      I am not sure how many travel agents cater to this audience. Again, though many regions in India are conservative, but a suitably adapted itinerary for the LGBT audience would be a great service.

      Adventures
      India with its diverse ecosystems can be a perfect place for adventure tourism.
      The dense western ghats, the beautiful north eastern india, the deserts of Rajasthan, the salt plains of Thar desert, the canals of kerala, the rugged terrains of Ladakh, the majestic himalayan ranges and the numerous rivers have to be tapped for a clean and ecofreindly tourism.

      Road conditions and Water Ways
      Middleclass families and budget travellers prefer the road to flights. And hence the maintainence of roadways is very important to attract more tourists. Roads also are more ;leather; when compared to the other modes.

      The last BJP Government under the active leadership of Atal Bihari Vajpayee saw some really good action on the road front; with some of the best National Highways being constructed and also linking the various villages with the neighbouring cities and towns. Baroda to Ahmedabad ExpressWay is one of the BEST in India that i have been on. It rates better than the Mumbai-Pune expressway. The former has the entire stretch laid on as a bluish-black carpet which is a pleasure ride.

      I have not heard of any cruises that operate in any of the mighty rivers in India. Whereas the Nile cruises are a BIG attraction in Egypt. People always prefer the waterways to roadways, because waterways are more 'smooth' and scenic.

      Other Sales - Stamps, memorabilia
      Though i have mentioned in the last section of the post, i think this section is one of the most important as it generates HUGE amount of revenues for the government and positively contributes to foreign exchange. Every traveller wants to take back some memories from his travel. Though we have numerous shops outside every historic monument selling some sort of miniature replica of the monument or selling some handicraft, we do not have sufficient 'structured sellers' - a small example would be that of stamps. I collect stamps, but till date I have never seen any post-office which advertises the stamps or First day covers that are out. Even when i visit the post office and ask them specifically for anything 'new', i do not get a positive answer. I feel that sale of stamps and first day covers would add a significant chunk in here. Also, most of the state run handicraft emporiums price the items exorbitantly high. Me being an Indian, have never bought even a single item from these emporiums for the price of most of these items are 5-10 times that of the average price. A point to oppose my claim would be that of quality - but 'quality' does not essentially always have to be expensive. A kurta costs 600Rs in a Govt run emporium, whereas a kurta of a better texture and variety costs less than 500Rs in Westside. Khadi and Handloom shops have almost disappeared, and if they have sustained at a few places, then they are either dilapidated or hardly any big sales number.

      What other aspects can you think of? Guides at the historic monuments, better recommendation systems and better network of travel agents. What else? Do let me know what else would you do if you were the Tourism Minister of India.

      January 20, 2011

      Analytics with Twitter Data

      Twitter is one of the largest "data-producers" on the Web presently. Am not sure about the exact numbers of the storage that the tweets require on a daily basis, but a few TBs would not surprise me; add to that the spurts in volumes when there is a controversy or some event happening. All of this leads to interesting data that needs to be deciphered; and also some awsome research work that can be applied to manage the data efficiently for the users and engage them more with Twitter.

      When i was looking for possible features that I might actively use, i actually could list a few of them. I am pretty sure that the Product Managers at Twitter would have some of these features in their TODO list, but would be interesting to see when these actually get implemented; or the rationale behind not implementing them.

      1. Users who follow you, but you do'nt follow them.
      2. Users whom you follow, but they don't follow back.
      3. Notification when a user stops following you. I need to research on why Twitter does not have this - was this by design?
      4. Trend analysis of users who follow/quit you - based on the tweets that you do.
      5. Show the most active users and lazy users - active and lazy are defined by the number of tweets and also the popularity of the tweets.Popularity can also be measured by how much discussion a tweet generates, or how much retweets happen for that tweet.
      6. Automatic lists and follow suggestion : when we follow a user, twitter can suggest which would be the most likely fit for a user based on his tweet patterns. The present Suggestion scheme is not all powerful and needs some tweaking.
      7. Discover clusters/groups of the followers. Centrality of users - show a graph wherein this relationship can be displayed.
      8. Decipher moods/sentiments from the tweets; or other possible natural language processing techniques that can be applied on the tweets to gather interesting patterns or insights.
      9. Usage analysis
        a. Based on the day of the hour we can find out do people tweet often during mornings or evenings.
        b. Do people prefer the web or mobile devices for tweeeting. What % of people uses other apps?
        c. Who retweets you often? or what category of tweets by you get retweeted often or generate the maximum discussions.
      10. Most famous tweets for the day/week/month - based on retweets, follow-up discussions, celebrity status of the tweeter, number of followers.
      11. Duplicate detection of tweets. Also, automatic compression of tweets which fall in a thread. This would help a lot in reducing the information clutter.
      12. what is the similarity between two users - based on the nature of tweets. Corollary would be : what topics/categories does a user often tweet on?
      13. Better trend analysis.

      Firefox 4 around the corner

      Mozilla announced that the latest Firefox 4 Beta browser is ready for beta release and users can download it and check out the cool features that are being introduced in this version. New features like App Tabs and  Panorama are going to make the web navigation more easier and efficient; the team has  introduced many  new features under the hood  which will result in faster page loads and also a speedier startup.

      Not only for the layman, but even the developers can take advantage of the HTML5 features to make the web more engaging - features like WebM , HD video, 3D graphic rendering with WebGL, hardware acceleration and the Mozilla Audio API can be used to create more interesting applications. A full overview of the featureset can be found here.

      Looks like other browsers like Internet Explorer and Chrome have to really innovate and keep up the momentum to match with Mozilla's Firefox.

      January 19, 2011

      Do you have any of these buzzwords in your resume?

      Linkedin came out with the list of the top 10 most often used buzzwords  - the words that people use in their profiles while using linkedin from USA.

      Top 10 overused buzzwords in LinkedIn Profiles in the USA – 2010
         1. Extensive experience
         2. Innovative
         3. Motivated
         4. Results-oriented
         5. Dynamic
         6. Proven track record
         7. Team player
         8. Fast-paced
         9. Problem solver
        10. Entrepreneurial

      Also, they did some analytics on these buzzwords and found out that the phrase "Extensive experience" is most often used in  profiles of people from Australia, Canada and USA whereas people from Brazil and India mostly use the term "Dynamic". 'Innovative' is most often used in the European region; goes onto show why the Dutch always master the art of design.



      This analysis by the Linkedin team has led to many revamping their profiles to avoid the so called 'cliched' terms. Do you have any of these buzzwords in your resume? Do you like it? Will you change it after this study or will include it in your profile if you already do not have it?

      January 13, 2011

      Analysis of My First Mozilla Open Data Visualization Competition Entries

      The First Mozilla Open Data Visualization Competition results are out. I had submitted 3 entries [one] [two] [three] for this competition and as I had imagined, my entry did not win any nor did it get any mention (I would have been surprised if it had got any!).

      I kind of expected this, and realized it during the last few weeks before the winners were to be announced. I reviewed my submissions and found that I had not done justice to my analysis and there were many open questions; or avenues that could be bettered.

      Self-Analysis and Comments:
      1. As soon as i saw the data I jumped on it. I loaded the sample data into sqlite3 tables and started firing queries and started generating the charts. THIS was a BIG mistake, I should have taken some more time to read the structure of the data and probably cleanse it, and normalize the dataset.
      I think i was overjoyed by seeing a 'real' dataset and how i could 'directly' contribute to Firefox in this analysis. The adrenaline rush made me do this blunder.
      2. I also spent quiet sometime googling the already submitted entries so that mine was different from others. Though, this helps sometimes, i think it pressurizes one more and narrows down the vision. Treating the data holistically and deriving all possible analysis, or choosing a subset of the data and then analysing it should have been the way to go.
      3. I would like to again state the fact that i did not normalize the data - this was the crucial step.
      4. I should have spent a weekend on developing a dashboard or webpage with which people could play around. The excuse of time prevented me from doing this.
      5. Verbiage - charts/images are good, but it is always nice to include some verbiage along with it when you do not provide a dashboard kind of an interface.
      6. Lack of any statistical analysis - most of the analysis that I have done are pure SQL query based manipulations. I am working on this front and learning more statistical analysis techniques, which will help me in the longer run.
      7. Some of mycharts were pure junk and did not convey the right message!
      8. I should have used better charting libraries - those that have better presentation and are pleasant to the eyes. In the adrenaline rush, i overlooked this aspect.I thought of moving the charts to protovis, but i was too lazy once i submitted my entries(and also i got pulled into other visualizations).

      Having understood (and realized) the mistakes that i did, and also the loads of learning that happened during and after the contest has helped me a lot; and am better prepared for the next visualization/data-analysis challenge. This self analysis did help me a lot.

      Btw... Mozilla guys are giving away free Tshirts for all participants :)

      January 03, 2011

      Simple Article Extractor from HTML

      The following is a simple article extractor from a given web(html) page. Being in Python its simple and is less than 55 lines of code. I tried this on a few webpages , and was satisfied with the output.
      Though i have mentioned the comments as part of the code, the following is a quick HOWTO of how to make modifications to this article extractor:
      1) To extract meta information , like author, title, description, keywords etc -   extract the meta tags in line 30, i.e, after the soup object is constructed, but before the tags are stripped. Also, in strip_tags, return a tuple instead of the text alone.
      2) Understand how 'unwanted_tags' works; feel free to add the ids/class names that you might encounter. I have mentioned only a few, but more names like "print","popup","tools","socialtools" can be added.
      3) Feel free to suggest any other improvements.

      from BeautifulSoup import BeautifulSoup,Comment
      import re

      invalid_tags = ['b', 'i', 'u','link','em','small','span','blockquote','strong','abbr','ol','h1', 'h2', 'h3','h4','font','tr','td','center','tbody','table']
      not_allowed_tags = ['script','noscript','img','object','meta','code','pre','br','hr','form','input','iframe' ,'style','dl','dt','sup','head','acronym']

      #attributes that are checked for in a given html tag - if present, the tag is removed.
      unwanted_tags=["tags","breadcrumbs","disqus","boxy","popular","recent","feature_title","logo","leaderboard","widget","neighbor","dsq","announcement","button","more","categories","blogroll","cloud","related","tab"]

      def unwanted(tag_class):
        for each_class in unwanted_tags:
          if each_class in tag_class:
            return True
        return False

      #from http://stackoverflow.com/questions/1765848/remove-a-tag-using-beautifulsoup-but-keep-its-contents
      def remove_tag(tag):
        for i, x in enumerate(tag.parent.contents):
          if x == tag: break
        else:
          print "Can't find", tag, "in", tag.parent
          return
        for r in reversed(tag.contents):
          tag.parent.insert(i, r)
        tag.extract()

      def strip_tags(html):
        tags = ""
        soup = BeautifulSoup(html)
       
        #remove doctype
        doctype = soup.findAll(text=re.compile("DOCTYPE"))
        [tree.extract() for tree in doctype]
       
        #remove all links
        links = soup.findAll(text=re.compile("http://"))
        [tree.extract() for tree in links]
       
        #remove all comments
        comments = soup.findAll(text=lambda text:isinstance(text, Comment) )
        [comment.extract() for comment in comments]
       
        for tag in soup.findAll(True):
          #remove all the tags that are not allowed.
          if tag.name in not_allowed_tags :
            tag.extract()
            continue
         
          #replace the tags with the content of the tag
          if tag.name in invalid_tags:     
            remove_tag(tag)
         
          # similar to not_allowed_tags but does a check for the attribute-class/id before removing it
          if unwanted(tag.get('class','')) or unwanted(tag.get('id','')) :
            tag.extract()
            continue
         
          # special case of lists - the lists can be part of navbars/sideheadings too,
          # hence check length before removing them
          if tag.name =='li':
            tagc = strip_tags(str(tag.contents))
            if len(str(tagc).split()) < 3:
              tag.extract()
              continue
         
          #finally remove all empty and spurious tags and replce it with its content
          if tag.name in ['div','a','p','ul','li','html','body'] :
            remove_tag(tag)
           
        return soup
      #open the file which contains the html
      #this step can be replaced with reading directly from the url
      #however, i think its always better to store the html in the
      #  local storage for any later processing.
      html = open("techcrunch.html").read()
      soup = strip_tags(html)
      content = str(soup.prettify())

      #write the stripped content into another file.
      outfile = open("tech.txt","w")
      outfile.write(content)
      outfile.close()



      If the formatting is screwed up, then you can access the code here or here.

      December 30, 2010

      An Evening with Python's itertool module

      Why I love Python? Well, have you been to Himalayas and have watched the morning sunrise? There are certain feelings that cannot be explained. The fun of programming in python cannot be compared. Anywayz...more on Python and the associated 'joyness factor' in a later post. :)

      Often while working with large datasets with Python, one needs to take extra care of the memory and even the simplest of the programs have the potential to make the system go slow and consume the entire memory. Python itertools module has some nifty functions which you will end up using most of the time while working with large data sets, especially when working with text. I spent sometime playing around with some basic functions in the itertools module which are simple to use and often find usage across various functionalities. Though the python docs do a pretty fine job of explaining the individual itertools functions, this post is just an enumeration of a few handpicked functions that I often use.

      The following snippet does a quick bigram and trigram generation of a given line:
      from itertools import *
      def bigram(line):
        words = line.split()
        for i in izip(words,words[1:]):
          print i
      def trigram(line):
        words = line.split()
        for i in izip(words,words[1:],words[2:]):
          print i

      sentence = "Python is the coolest language"
      bigram(sentence)
      trigram(sentence)
      If you notice , 'language' is not part of an empty tuple. If you want to fill the last tuple with a default value, use 'izip_longest'
      for i in izip_longest(words,words[1:],fillvalue='-'):
        print i
      A sentence can have many non-alphabetic characters, 'filter' does a quick job of removing them. It takes a function as an argument and a list. The function is applied on individual elements of the list.
      print filter(str.isalpha,words)
      'imap' would probably be one of the most jazziest and coolest of the itertools functions. Lets see its usage in the following example. Assume that you want to find out the longest word in a given file which contains a word list. What is the 'conventional' way of doing this?
      infile = open('words.txt', 'r')
      len_longest_word = 0
      while 1:
        word=infile.readline()
        if not word:
          break
        tmp_len = len(word)
        if tmp_len > len_longest_word :
          len_longest_word = tmp_len
      print 'len_longest_word :',len_longest_word
      infile.close()
       The same when done via imap is just one sentence :) ..as follows. (note : we are reading the entire file in one go).
      infile = open('words.txt', 'r')
      contents = infile.read()
      words = contents.split()
      print "len_longest_word:",max(imap(len, words))
      infile.close()
      Now, lets say we have to analyse the frequency distribution of a few lists or lets say we have to process a group of lists by accessing successive elements, then the following is a very simple and neat way of acheiving this. (Try doing a frequency distribution of n lists containing numbers using 'chain')
      from itertools import chain
      a=[10,20,30]
      b=[100,200,300]
      for i in chain(a,b):
        print i
      Often, we want to group elements in a dictionary by its values; instead of iterating through the dictionary and writing redundant code, itertools comes with a cool 'groupby' which allows us to specify the dimension in which we want to group.
      from operator import itemgetter
      d = dict(a=1, b=2, c=1, d=2, e=1, f=2, g=3)
      di = sorted(d.iteritems(), key=itemgetter(1))
      for k, g in groupby(di, key=itemgetter(1)):
          print k, map(itemgetter(0), g)
       The above example on groupby was obtained from here.

      December 25, 2010

      Facebook Features for 2011

      Facebook has been one of the biggest happenings on the web which caters to audience of all age groups. Though Facebook will continue to innovate and launch new features, along with fine tuning their software infrastructure, i would expect(kinda predict) the following features for 2011 :
      •   Automatic tagging of pictures - face recognition
      •   A better friends recommendation system
      •   Sentiment analysis of status updates - show a suitable emoticon based on sentiment
      •   Event recommendations - from what people in your network have been attending
      •   Smarter text input system - some form of auto-complete feature?
      •   "Interesting" factor - for eg. pictures (and hence compete with Flickr Explored)
      •   Marketplace - compete directly with eBay and gain some market share
      •   Messages - can this overtake GMail? (i am not sure; dont think so too )
      •   A good RSS feed aggregator/reader
      •   Some more tweaks to the profile page
      •   Better games 
      •   Location based apps
      •   Some integration with the Enterprise?
      •   Tackle Privacy concerns that comes as part of capturing user content
      I would expect a couple of distruptive changes too, which makes Facebook a 'clear' leader in social networking.

        December 24, 2010

        Python Huntington Hill method

        The following python code implements the Huntington Hill method which was used to generate the apportionment details in my previous post.

        import math
        
        def huntington_hill(popln,num_seats):
          num_states = len(popln)
          representatives = [1]*num_seats
          std_divs = [math.sqrt(2)]*num_states
          for j in range(num_states,num_seats):
            max = 0
            for i in range(1,num_states):
              if (popln[i][1]/std_divs[i]) > (popln[max][1]/std_divs[max]):
                max = i        
            representatives[max] +=  1    
            std_divs[max]=math.sqrt(representatives[max] * (representatives[max]+1))
          return representatives
          
          
        POPULATION= [("JAMMU & KASHMIR",10143700),("HIMACHAL PRADESH",6077900),("PUNJAB",24358999),
        ("CHANDIGARH",900635),("UTTARANCHAL",8489349),("HARYANA",21144564),("DELHI",13850507),
        ("RAJASTHAN",56507188),("UTTAR PRADESH",166197921),("BIHAR",82998509),
        ("SIKKIM",540851),("ARUNACHAL PRADESH",1097968),("NAGALAND",1990036),
        ("MANIPUR",2166788),("MIZORAM",888573),("TRIPURA",3199203),
        ("MEGHALAYA",2318822),("ASSAM",26655528),("WEST BENGAL",80176197),
        ("JHARKHAND",26945829),("ORISSA",36804660),("CHHATTISGARH",20833803),
        ("MADHYA PRADESH",60348023),("GUJARAT",50671017),("DAMAN & DIU",158204),
        ("DADRA & NAGAR HAVELI",220490),("MAHARASHTRA",96878627),("ANDHRA PRADESH",76210007),
        ("KARNATAKA",52850562),("GOA",1347668),("LAKSHADWEEP",60650),
        ("KERALA",31841374),("TAMIL NADU",62405679),("PONDICHERRY",974345),
        ("ANDAMAN & NICOBAR ISLANDS",356152)
        ]
        
        NUMBER_SEATS= 545
        
        mps = huntington_hill(POPULATION,NUMBER_SEATS)
        for i in range(len(POPULATION)):
          print POPULATION[i][0]+","+str(POPULATION[i][1])+","+str(mps[i])
        

        December 23, 2010

        Huntington-Hill Method on Indian Census Data of 2001

        In USA, the apportionment of seats is based on the census taken (based on the population of each the states). The USA Census Bureau uses an algorithm called Huntington-Hill method for apportioning. Watch the following video which explains it :


        The algorithm is pretty simple and you have a look at it here.  I ran this algorithm on the India Census data collected in 2001.  I got the present distribution of Lok Sabha seats across states from wikipedia. The following table shows the distribution of seats based on the Algorithm(2nd column) and the 3rd column shows the present scheme of apportionment. The last(and colored) column displays the difference.



        I am not sure how the present Indian apportionment process works, but looks like we are not way off from the USA's apportionment process.

        Do you know how United Kingdom(UK) computes the apportionment? It would be fun to compare, as India was ruled by East India Company and we can know the correlation between the Indian, American and the British way of apportionment of seats.

        December 21, 2010

        Data Visualization Fail # 3

        I found the following chart in one of the reports by a Business Intelligence website which compared the various BI vendors based on different parameters. It chose a Vendor and then compared the Vendor with the Category Average and also the Maximum Category Score. This is a Radar Chart.



        Now, lets improvise this chart.

        For the sake of keeping things simple(read 'without programming'), i used Excel to show how some amount of effort and care to present 'useful' information would be beneficial for the readers. I quickly wrote down the various readings from the above chart into an Excel Worksheet:
        Column1:The Metric Names(like Maturity, Scalability etc);
        Column 2: Max Category Score,
        Column 3: the vendor,
        Column 4: Average Across Vendor),

        selected the table data and Insert ... Choose the Column(Bar Chart) and voila ...you get Figure 1.

        I find Fig.1 to be much much better and readable than the original Radar Chart. We can easily read how the vendor, the average and the max category score relate to one another. The default colors from Excel are also not bad; though i would have avoided the grid lines and have preferred the number mentioned on top of each of the bars.

        But I still could not see the trend - trend in terms of how the Vendor fared w.r.t the others. Then i moved to choose a Line chart and you get Fig2. The line chart with the markers clearly show the trend and how close the Vendor is to the Category Average; and on some parameters, it max'es the Category Score and is purely the market leader.



        I hope this simple example clearly demonstrated how good visualization techniques can help in better understanding and interpretation.

        December 19, 2010

        Visualizing War, Peace and Love over 3 centuries

        The Google  Books Ngram Viewer shows the frequency of occurrences of the words over the duration specified (from 1700-2008)  in the various books scanned by Google. This is pretty cool, and one doesnt have to download all the book information and then do a frequency analysis. Also the viewer supports multiple words to be specified and see how they trend over the years.

        I quickly tried checking the trend for the words 'love', 'war' and 'peace' and following is the visualization of the same . You can view the chart and also play around with it(and other words ) with Google Labs Books ngram Viewer here.


        I am not sure what exactly happened during 1740 to 1770; to my limited knowledge 1760s saw Industrial Revolution. The spikes in the word 'war' during 1910s and 1940s correspond to the World Wars raging on then.  Did you notice that 'war' is again trending up and 'love' and 'peace' are going down?

        On a closer look, this looks to me like a direction reversal for 'war' and is it possible that we are going to see some bloodshed soon? Notice, that whenever there has been a direction reversal in the 'war' trend, there has been a war.

        Some more trend here , here , here and here .  Any other interesting words/phrases to be visualized?