பெண்ணாக என் பயணம்…

அழகிய குடும்பத்தில்
மூத்த பிள்ளையாய்
முந்தி பிறந்தேன்….

வீடு பள்ளி
தவிர வேறு இடம்
தெரியாமல் வளர்ந்தேன்…

குழந்தை மனம்
ஆசை பட்டாலும்
பெற்றோருக்கு
சுமை கொடுக்க
மகள் மனம்
தடுக்க..
தடுமாறி..
பின்
நிலை கொண்டேன்…

ஒரு நல்ல தோழி
தங்கை என்று
உணராமல்
சண்டையிட்டு
பொறாமை கொண்டேன்…

அன்புத் தம்பியை
அரவணைத்த
தோழி ஆனேன்…

படிப்பை தவிர
வேறு கலைகள்
அறியேன்..

பள்ளி
படிப்பு
பட்டப்படிப்பு
பண்பு என
உயிர் தோழியை
பின் தொடர்ந்தேன்..

சோம்பேறியென
பட்டமளிக்க பட்டு
எதனாலென்று
புரியாமல் வியந்தேன்…

காதலில் சிக்க கூடாதென்றாலும்
மனம் தடுமாறிய சில நொடிகளை
வென்று வந்தேன்….

படிப்பில்
அலுவலில்
வெற்றி கொண்டாலும்
மனையாளாய்
வெற்றி காண தவிக்கிறேன்..

கணவனே
காதலனாக
தோழனுமாக
கர்வம் கொண்டேன்
வாழ்க்கையை
அவனிடமிருந்து
கற்றும் கொண்டேன்…

என் அடையாளத்தை
என்னால் மட்டுமே
மாற்ற முடியும்
என்றிருதேன்..
என்னை மாற்ற
எண்ணுக்குள்ளிருந்து
ஒருவன் வந்தான்..
என் மகனாய்!
மாறினேன்..

யாரையும்
புண்படுத்த கூடாது..
அனைவரின் சந்தோஷம்
என் சுயமரியாதை விருப்பத்திற்கு
இடையில் சிக்கி
இன்னல் வெளிப்படாமல்
இனிமையாய் சிரித்தேன்…

ஒவ்வொரு
அவமானத்திற்கும்
காலம் பதில் சொல்லுமென
காத்திருக்கிறேன்….

கண்ணீரை
ஆயுதமாக அல்ல!
என் மனஜன்னலை
உடைத்து
கொட்டினேன்…

வெற்றிகளை
மனதில் கொண்டு
முயற்சிகளில்
சோர்வுகொள்ளாமல்
பயணிக்கிறேன்…

நேற்றும் இன்றும்
எப்போதும்
உண்மையான நான்
யாரென தேடுகிறேன்…

சரண்யா பொன்குமாரக
பிறந்து
சரண்யா சங்கராக
பயணிக்கிறேன்…

Photo Courtesy: The Internet

Thanks would be less!

It’s time for thanking someone 🙂

Each one of us would admire someone just because we weren’t able to be like the way they are. We could like their character, they way they carry themselves, the way the talk, it could be anything…

I am going to talk about one such person in my life!

If I idolize a girl, it would be her…

A girl who broke out of the shell created by our society…
A girl who loves to talk…
A girl who helps anyone in spite of her commitments…
A girl who takes care of everyone around…
A girl who reads a lot…
A girl who travels a lot…
A girl who bold enough to stand for her wishes and decisions…
A girl who is not taken away by other’s opinion…
A girl who is herself always!
A girl who loves herself!

A girl who is the reason behind my blog! I was inspired by her to write my own blog.

Thank you, Arunadevi Raju!!!

Follow such a personality @ https://msarunaraju.wordpress.com to know her world!

Photo Courtesy: The Internet

South Indian Potato Sambar (for Tiffin)

A simple and yummy side dish for Dosa and Idly…

Ingredients:

Potato – 5
Onion – 1
Tomato – 2
Curry leaves
Green chilly- 2
Oil (any preferred cooking oil)
Mustard seeds (kaduku in Tamil)
Turmeric powder
Coconut
Red chilly- 2
Fennel seeds (Sombu in Tamil)
Cinamon (Pattai in Tamil)
Coriander leaves
Salt

Steps:

1. Pressure cook potatos and keep it aside.
2. Grind coconut, red chilly, fennel seeds and cinnamon into a paste and keep it aside.
3. Chop onion, tomato and green chilies into fine pieces.
4. Heat 4 to 5 spoons of oil in a pan.
5. Add mustard seeds and allow it to splatter.
6. Add curry leaves and green chilly. Saute it.
7. Add chopped onion, saute it until it turns brown.
8. Add cut tomato, saute it until it is cooked.
9. Add the cooked potatoes and then add turmeric powder, saute it.
10. Add some water (as per required consistency), salt as per taste and simmer it for 2-3 mins.
11. Add the ground coconut paste and allow it to cook for 5 mins.
12. Finally, add fresh coriander leaves and serve it hot.

NOTE: This sambar tastes best with Ghee Dosa.

Wait for more interesting recipes!!!

 

People judge others by their own Standards!

Every day we judge people and we are being judged by others. The judging is all about having an opinion about others.

Recollect the quote from one of my old blog posts

“Judging a person does not define who they are, it defines who you are.”

What I had believed in as a phrase has become true. When I am being judged by others, I realized that I am being evaluated by their standards. There were times when I used to take other’s opinion on me very seriously and had also worried about not being the way others wanted me to be. But then later, I realized that I was so crazy and how could it be even possible to live/behave the way others wanted, then who am I… what identity do I have… and likewise questions kept on rising…

As I started being aware that I am being taken down by other’s opinion about me, I slowly started evaluating myself (basically judging myself 😉 ). Then, I understood that I am the best person I ever know according to my standards. I have my own principles which I live by and as long as I am myself, I will be proud about that, just ignoring the comments or opinion others have on me, which is of no importance to me unless it comes from people whom I really respect.

According to my standards, the moment you start judging others you are going less by your standard.

          “Never judge others! Ignore the opinion from people, which adds no value to you!”

Photo Courtesy: The Internet

 

Java Thread Synchronization – Print Even and Odd in Order

Java Thread Synchronization is one of the most important concepts that every Java Developer should know. Any developer could easily talk about Threads at a high level but synchronizing threads is a tricky part.In this article lets see the intrinsics of thread synchronization using an example.

The problem statement of the example is “There are two threads one which prints only Even Numbers and other that prints Odd Numbers until 10. Synchronize the threads such that the numbers are printed in sequence from 0 to 10.”

The solution is below. Let us break the code and learn the synchronization concepts of Java Threads.

Runnable Interface: The Thread Classes “EvenThread” and “OddThread” implement Runnable interface which tells JVM that these classes behave as Threads. The alternate way of creating a thread class is by extending Thread class, which is considered bad practice because Java does not allow “multiple inheritance” and hence limiting the custom Thread class from extending any other required class and moreover the developer is not going to extend the functionality of Thread class for which the inheritance is intended for.

Thread Creation: The thread class is instantiated by creating a new Thread and passing the Runnable object to it.

run method: The method from Runnable interface that needs to be implemented in the thread class. This method contains the logic of the core work that the thread does.

start method: This method moves the Thread from New state to Runnable state making is part of Runnable pool and based on the scheduling algorithm & CPU availability the thread starts running.

NOTE: The run method cannot be called directly expecting the Thread to start running or behave like the thread . Only invoking the start method will actually start the thread.

synchronized keyword:  This keyword is used to synchronize a method or a block of code. This synchronization ensures that the block of code is accessed only by one Thread at a time hence avoiding any inconsistent object state or wrong computations. The synchronization can be on the class level or object level. In our example, the synchronization is on an object.

lock object: An object is created to be used as  an explicit lock. The same instance of the lock object is passed to two threads( EvenThread & OddThread) that need to be synchronized. A lock is acquired by the Thread on the lock object using the synchronized keyword.

wait method:  The wait method ensures that the thread starts waiting, releasing the lock (monitor) and going to sleep until it is notified by another thread on the same lock to resume its activity. Here the even thread prints the even number and waits until notified by the Odd Thread that it has printed the odd number.

notify method: The notify thread wakes up a thread that is in sleeping state because it was put to wait on the lock (monitor).

volatile keyword: Volatile is access specifier that ensures the value of the variable is always updated to the main memory rather than the thread cache, guaranteeing that all the threads reads updated value. This volatile operations are atomic.

Click here for GitHub Source Code

package com.saranyapk.practice.corejava.thread;

public class ThreadPractice
{
	private static volatile Boolean isEvenStarted = false;

	public static void main( String args[] )
	{
		Object lock = new Object();

		Thread even = new Thread( new ThreadPractice().new EvenThread( lock ) );
		Thread odd = new Thread( new ThreadPractice().new OddThread( lock ) );

		even.start();
		odd.start();

	}

	class EvenThread implements Runnable
	{
		Object lock;

		public EvenThread( Object lock )
		{
			this.lock = lock;
		}

		@Override
		public void run()
		{
			synchronized (lock)
			{
				isEvenStarted = true;

				lock.notify();
			}

			for ( int i = 0; i < 10; i = i + 2 )
			{
				synchronized (lock)
				{
					try
					{
						lock.notify();

						System.out.println( i );

						if ( i < 10 )
						{
							lock.wait();
						}
					}
					catch ( InterruptedException e )
					{
						e.printStackTrace();
					}
				}
			}
		}

	}

	class OddThread implements Runnable
	{
		Object lock;

		public OddThread( Object lock )
		{
			this.lock = lock;

		}

		@Override
		public void run()
		{
			synchronized (lock)
			{
				while ( !isEvenStarted )
				{
					try
					{
						lock.wait();
					}
					catch ( InterruptedException e )
					{
						e.printStackTrace();
					}
				}
			}
			for ( int i = 1; i < 10; i = i + 2 )
			{
				synchronized (lock)
				{
					try
					{

						lock.notify();

						System.out.println( i );

						if ( i < 9 )
						{
							lock.wait();
						}
					}
					catch ( InterruptedException e )
					{
						e.printStackTrace();
					}
				}
			}
		}

	}
}