Trip to Matheran

Matheran

Matheran

About Matheran
Matheran is a Hill Station in the Raigad district of Maharashtra. It is around 90 km from Mumbai, and 120 km from Pune. It is a popular weekend getaway for urban residents.Matheran, which means “forest on the forehead” (of the mountains) is an eco-sensitive region, declared by the Ministry of Environment and Forest, Government of India. There are no vehicles allowed on this hill station.

There are around 38 look-out points in Matheran, which includes beautiful view of sunset and sunrise.

How to reach Matheran from Pune
By Train
The distance betwen Pune and Matheran is around 120 km. From Pune station reach karjat by any express train or local train. Then from Karjat reach Neral by local train. From Neral there are 2 options: 1. Toy Train (75 per person) 2. Taxi (They take 70 per person and 5 people in taxi i.e, omni)

Once you reach Neral there is entry tax at Dasturi naka of 50/- per adult and 25 per child. MTDC resort is the near by hotel to entry point(Dasturi naka). All other private hotels are near market place which is around 2-2.5 km from entry point and takes around 30 mins walk.

By Car:
From Pune -> Lonavla Express highway -> Get off the expressway at khopoli exit -> Ask for Karjat -> From there Neral rd -> Then ask Matheran. Drive from Neral to Matheran is difficult and it is expected that you have good driving skills in hilly region or else hire driver for that part.

Once you reach Neral there is entry point, there is parking area for cars. Park you car there and take your luggage with you. No cars/vehicles allowed from that point. You can carry luggage on horse or ask manual rikshaw to do it for you.

From entry point (Aman lodge) there is another train that takes you to Matheran. Ticket is 45/- per head for adult aand 30/- for child. This train is different from Neral to Matheran train.

Horses at Matheran
Toy train , Horseback and manaul rikshaws are only mode of transport after Dasturi naka. Horse rides are charged from 200 to 750/- person depending upon season and time of the day. If there is heavy crowd they charge more. From Market place or hotel point if you want to visit near by points they have different rates like 150 – 300/- per person for 5 points or 500- 750/- for 12 points..

If you are comfortable to walk i would suggest better take walk and cover only few points. After all where else you would get opportunity to take walk in such pleasant atmosphere.

Few Points to see
1. Echo Point
2. Edward Point
3. Kind Geoge Point
4. Lord Point
5. Louisa Point(view of the Prabal Fort)
6. One Tree Hill Point
7. Alexander Point
8. Rambag Point
9. SUnset Point (Porcupine Point)
10. Surise Point
11. Charlotte lake
12. Pisarnath Mahadev Mandir

Some Snaps:

Monkeys at Matheran

Monkeys at Matheran

Sunset at Matheran

Sunset at Matheran

Hotels we stayed:
1. To stay there, there are plenty of hotels.
2. MTDC ( 1100/- to 5000/-) economy rooms to villa. Website details MTDC Matheran
3. Hotel Parmount (around 2000/- plus) includes meals. They have swimming pool as well.Website details Hotel Paramount
4. There are rooms available on left side while you take walk from Dasturi naka to Matheran. They charge you around 1000/-.

Cost for 2 persons:
1. Hotel – 1000 – 2500/- per day
2. Meals – 550/- (breakfast lunch and dinner)
3. Transport – 1000/- from Pune(train’s and taxi)
4. Entry fee – 100/-
5. Horse rides – 200 -750/- per person

Krishnai WaterPark Pune

Krishnai WaterPark Pune

There are 3 waterparks that I know around Pune. Below is the list:
1. Krishnai WaterPark Singhagad road,
2. Dimand water park Lohagoan.
3. Sentosa resorts and water park Pune lonavla highway

I heard that Krishnai water park is comparetively bigger and there are more thrilling rides. I got chance to visit krishnai water park and experience was good.

Distance:
The distance of Krishnai water park is around 31 KM from hadapsar via katraj -> singha gad road -> Nanded city -> khadakwasla dam -> Krishnai water park. (I guess 3-5 kms ahead from khadakwasla dam there is village from where u need to go street. There is hoarding there).

Ticket:
Adults Kids
Weekdays 500/- 400/-
Wekend 600/- 500/-

Swiming costumes/Dress code
Kids Rent 40/- Deposit 40/-
Women Rent 50/- Depost 50/-
T-shirt 50/- Deposit 50/-
Men Rent 50/- Deposit 50/-
T-shirt 50/- Depost 50/-

Meals
-No outside food allowed.
-Idli/ wada (40/- & 60/-)
-Maggi/Chinese noddles
-Lunch Thali 150/-
-Pani Puri and other items
-Pizza

Rides

Twister
Black hole
TurnPikes
MagicSway
Pirate Island
Wave pool
Rain dance
Kid Pool(Little champs) – Even adults can enjoy

Review:

It is good place to visit in Summer with family.
Wave pool experience was wonderful.
Check the ride times as all rides are not open continuously. When wave pool is on other rides are closed.
Life guards are limited so take care of your kids.

Timing
10 am to 6 pm ( All days)

Visit Krisnai water park site for more information.

Interfaces in C#

Interfaces:

  • Interfaces are contracts that defines the signature of functionality.
  • Interfaces are useful when creating hierarchy of unrelated classes.

Interface Example:


public interface InterfaceA
{
void Display();
}

public class DerivedA : InterfaceA
{
  public void Display()
 {
    Console.WriteLine("Display Method DerivedA");
 }

 void InterfaceA.Display()
 {
   Console.WriteLine("Display Method InterfaceA DerivedA");
 }
}

There is one Display method and other Display method is explicitly implemented. This works fine and does not throw error.

Two interfaces with same method name:

public interface InterfaceA
{
void Display();
}

public interface InterfaceB
{
void Display();
}

In such case we need to explicitly define the method

public class DerivedA : InterfaceA, InterfaceB
{
public void Display()
{
Console.WriteLine("Display Method DerivedA");
}

void InterfaceA.Display()
{
  Console.WriteLine("Display Method InterfaceA DerivedA");
}

void InterfaceB.Display()
{
  Console.WriteLine("Display Method InterfaceB DerivedA");
}
}

Main Method:

static void Main(string[] args)
{

InterfaceA AObj = new DerivedA();
AObj.Display();

InterfaceB BObj = new DerivedA();
BObj.Display();

Console.ReadLine();
}

Result:

Display Method InterfaceA DerivedA
Display Method InterfaceB DerivedA

Modifying interface/Adding new method to interface:

Ideally interface should not change after it is used. But if there is situation where we need to add new method to interface as example below.  One of the way is mentioned below:

Let say there is interfaceA and we want add new method Print()

public interface InterfaceA
{
void Display();
}

InterfaceA is being used. User wants to add new method to it.

Create new interface with method to be implemented and inherit it from original interface.

public interface InterfaceB : InterfaceA
{
void Print();
}

Now use newly created interface were needed. Don’t change other class implementation.

When to use interfaces:

  • If the functionality you are creating will be useful across a wide range of disparate objects, use an interface.
  • If you are designing small, concise bits of functionality, use interfaces.
  • Interfaces cannot be changed once created. If a new version of an interface is required, you must create a whole new interface.

Polymorphism Example

Inheritance without polymorphism

public class BaseA
{
	public void Display()
	{
	 Console.WriteLine('Display Method BaseA');	 
	}
}

public class DerivedA : BaseA
{
//Warning InheritanceExample.DerivedA.Display()' hides inherited member 'InheritanceExample.BaseA.Display()'.
//Use the new keyword if hiding was intended.
	public void Display()
	{
	Console.WriteLine('Display Method DerivedA');
	}
}

public class DerivedB : BaseA
{
	public void Display()
	{
	Console.WriteLine('Display Method DerivedB');
	}
}

Main Method

static void Main(string[] args)
{
	BaseA AObj = new BaseA();
	AObj.Display();

	DerivedA ADerObj = new DerivedA();
	ADerObj.Display();

	BaseA AObj1 = new DerivedA();
	AObj1.Display();
	Console.ReadLine();
}


<strong>Output</strong>

Display Method BaseA
Display Method DerivedA
Display Method BaseA


//Error 1 Cannot implicitly convert type BaseA' to DerivedA'.
//An explicit conversion exists (are you missing a cast?)

DerivedA AObj2 = new BaseA();
AObj2.Display();

//Unable to cast object of type BaseA' to type DerivedA'.

DerivedA AObj2 = (DerivedA)new BaseA();
AObj2.Display();

Using new keyboard:

public class BaseA
{
public virtual void Display()
	{
	Console.WriteLine('Display Method BaseA');
	}
}

public class DerivedA : BaseA
{
	public new virtual void Display()
	{
	Console.WriteLine('Display Method DerivedA');
	}
}

public class DerivedB : BaseA
{
	public new virtual void Display()
	{
	  Console.WriteLine('Display Method DerivedB');
	}
}

Inheritance using polymorphism

public class BaseA
{
	public virtual void Display()
	{
	  Console.WriteLine('Display Method BaseA');
	}
}

public class DerivedA : BaseA
{
	public override void Display()
	{
	Console.WriteLine('Display Method DerivedA');
	}
}

public class DerivedB : BaseA
{
	public override void Display()
	{
	Console.WriteLine('Display Method DerivedB');
	}
}

static void Main(string[] args)
{
	BaseA AObj = new BaseA();
	AObj.Display();

	DerivedA ADerObj = new DerivedA();
	ADerObj.Display();

	BaseA AObj1 = new DerivedA();
	AObj1.Display();

	BaseA AObj2 = new DerivedB();
	AObj2.Display();

	//DerivedA AObj3 = (DerivedA)new BaseA(); Casting error
	// AObj2.Display();
	Console.ReadLine();
}

Output

Display Method BaseA
Display Method DerivedA

Display Method DerivedA
Display Method DerivedB

Trip from Pune to Bhimashankar Ozar 2016

Bhimashankar:
Bhimashankar is one of the 12 jothirlingas in India. Bhimashankar is also the source of the river Bhima, which flows southeast and merges with the Krishna river near Raichur. Bhimashankar can be termed a pilgrim paradise. The dense forests surrounding the high ranges are an abode for rare species of flora and fauna. Situated at the extreme end of the Sahyadri Ranges, this place gives a wonderful view of the world around the rivers, and hill stations. This place is best to visit in rainy season or after rainy season. Nice greenery everywhere.

Distance :

Distance between Pune to Bhimashankar is around 127kms.

Recommended Min and Max stay:

Minimum 1 day is sufficient to visit Bhimashankar and Ozar.
Maximum 2 days for Bhimashankar, Ozar lyenadri and shivneri fort.

Route And Time taken:

Ideally it should take 2.5 to 3hrs to reach Bhimashanar but will depend on season in which you are travelling and halts you take.

Hadapsar-> Magarpatta -> Koregaon Park -> Vishrantwadi -> Bhoseri -> Nashik road -> Rajgurunagar -> Just before Manchar -> Take left -> Godagoan -> Dhimbe -> Bhimashankar -> Godagoan -> just after 1 km take left -> Narayangoan -> Ozar.

The road condition is OK to drive. You may get traffic in Rajgurunagar chowk after morning hours.

Spots To Visit:

Bhimashankar Temple
Ozar ganpati
Boating near Ozar Temple
Lenyadri
Shivneri fort
Breakfast

There are 2 toll bhoots on nashik road after bhoseri. Same toll receipt is applicable for second toll. There are multiple restaurants once you cross 2 toll for breakfast with specificity in vada pav and dahi misal..

Parking

Once you reach Bhimashankar check for car parking. If it’s long weekend or shravan month.. there will be crowd so park accordingly away from mandir. Private parking charges 50/- bucks but parking area is not leveled properly. No parking issues at Ozar.

Details:

Temple schedule:

4.30 AM Kakada Aarti
5.00 AM Nijarup Darshan
5.30 AM Regular Pooja,Abhishek starts
12.00 PM Naivedya Pooja (No Abhishek inside)
12.30 PM Regular Pooja,Abhishek starts
3.00 PM Madhyan Aarti (No Darshan for 45min)
4.00 PM
to 9.30 PM
Shringar darshan (No Abhishek inside)
7.30 PM Aarti
9.30 PM Mandir Closed

Bhimashankar darshan takes 0.5 hrs to 2.5 hrs time depending on time you visit this place. There aren’t good options for lunch. It’s better to carry lunch from home and have it under tree after darshan. Water bottles are charged 5-10/- more. You need to walk down stairs to reach temple. There is doly system (4 people carrying old person on chair) for senior citizens with additional charges… After darshan we went to Ozar for ganpati darshan. It’s one of ashtevinayak ganpati’s in maharashtra.

Reached pune back around 9 PM.

Hotels to stay:

Visit here for more details.

Cost of Trip ( 2 days 2 person):

  • Travelling – 1300/- to 1500/- by car (Bhimashankar, ozar and lenyadri)
  • Meals (1600/-)
  • Room rent (1000-1200/-) (Can check for bhakt nivas at Ozar…)

Happy Journey !!!

Object Oriented Programming (OOPs)

Pillars of Object Oriented programming

  • Abstraction
  • Encapsulation
  • Inheritance
  • Polymorphism

What Is Abstraction?

  • Abstraction is showing only the essential details.
  • In real life we have example like mobile, TV where we show only what is required. For mobile there is screen, port for charging and headset and buttons. For TV we have Screen, On-off button and ports for connection.
  • In terms of Application, We only expose the API’s that other user needs. Internally which other API is used, what is sequence that is hidden from user.
  • Abstraction is achieved using Abstract class and Interface.

What is Encapsulation?

  • Encapsulation is hiding the unessential details. Encapsulation is also called data hiding.
  • Encapsulation is a process of binding or wrapping the data and the functions that operates on the data into a single entity. This keeps the data safe from outside interface and misuse.
  • One way to think about encapsulation is as a protective wrapper that prevents code and data from being arbitrarily accessed by other code defined outside the wrapper.
  • One example of Encapsulation is private methods; clients don’t care about it, You can change, amend or even remove that method  if that method is not encapsulated and it were public all your clients would have been affected.
  • In term of real life example, for mobile how the button functionality is implemented, how validation is done and where data is stored is hidden from user.
  • In term of Application we decide how that API works internally.
  • Encapsulation is achieved using Private modifier.

Example of Abstraction and Encapsulation

Calculator

Add method

  • ValidateNumbers
  • SaveNumbers
  • AddNumbers
  • Result

Abstraction

  • Now you need to decide which API to expose. Whether 1 API is sufficient or multiple API’s will be required.

Encapsulation

  • How that API works is hidden from user.
  • Whether that API validates records first or not
  • How database connection is done
  • How saving of those records is done

What is Inheritance?

  • Inheritance is a way by which user can create a new class called derived class from Base class.
  • Derived class inherits the properties and functions of base class.
  • Inheritance is a way by which we achieve code reusability.
  • For example in real word we have Vehicle class or Shapes class.
  • Vehicle will have Body, Engine, Seats, wheels etc. Common functionality can be kept in base class and derived class will have required functionality.
  • It is moving from generalization to Specialization.

What is Polymorphism?

  • Polymorphism means one name many forms.
  • In other words, “Many forms of a single object is called Polymorphism.”
  • There are 2 types of polymorphism:
    • Static Polymorphism
      • Function Overloading can be done by having
        • Different number of parameters.
        • Different sequence of parameters.
        • Different type of parameters.
      • Operator Overloading
        • Giving different meaning to operator. + operator is used for addition. Same can be used for concatenation.
  • Run-time Polymorphism
    • Achieved using virtual and override keyword.
    • The base class method is overridden in derived class using override keyword.

Polymorphism examples:

Example-1:

  • A Teacher behaves to student.
  • A Teacher behaves to his/her seniors.

Example-3:

Your mobile phone, one name but many forms

  • As phone
  • As camera
  • As mp3 player
  • As radio