Friday, December 4, 2015

Bushy Stopped For A Pose


Caught this one while was wandering around the backyard. It was pretty swift, but it managed to give me a pose..:)

EOS 60D
1/320 sec, f/5.6, ISO-1000, 300 mm 

Saturday, November 21, 2015

Instant Image Preview in the Browser using JQuery

We can set an image element(<img/>)'s value with that of an image we just selected from a file input instantly(without uploading to server) using JQuery.

Suppose we have a form:
<form id="sample_form">
     Photo: <input type="file" id="photo"/>
     <img id="photo_preview" src="#" width="200px"/>
</form>


In order to read the input image and display it in the '<img/>' element, we need to bind the '<input />' element's  '.change' event with a custom JQuery function :
<script>
     $("#photo").change(function(){
         read_file(this);
     });
</script>


Now the function read_file() can be written like this:
function read_file(input) {
    if (input.files && input.files[0]) {
        var reader = new FileReader();
         reader.onload = function (e) {
            $('#photo_preview').attr('src', e.target.result);
         }
         reader.readAsDataURL(input.files[0]);
    }
}

Here is the complete code:
image_preview.html
<!DOCTYPE html>
<html>
 <head>
  <title>Image Preview</title>
  <meta charset="utf-8">
 </head>
 <body>
  <div class="container">
    <form id="sample_form">
       Photo: <input type="file" id="photo"/>
       <img id="photo_preview" src="#" width="200px"/>
    </form>
  </div>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script>
   function read_file(input) {
      if (input.files && input.files[0]) {
        var reader = new FileReader();
        reader.onload = function (e) {
            $('#photo_preview').attr('src', e.target.result);
          }
        reader.readAsDataURL(input.files[0]);
      }
    }
  </script>
  <script>
     $("#photo").change(function(){
         read_file(this);
     });
  </script>
 </body>
</html>
Now whenever you browse and select an image, it will be shown instantly in the browser.

Thursday, November 19, 2015

Custom routing in CodeIgniter

We can add custom routing urls in CodeIgniter.
Just open application/config/routes.php and edit the entries which you need to modify.
This file contains the routes array which redirects us to the different urls.

We can change the actual routing url to anything we like.
For example suppose I have a controller named 'pages' with a function 'show' to serve the pages to the user. So normally, calling 'index.php/pages/show' will be the working url which serve a page. It can be changed to anything you wish like index.php/showThePage which still work like the above url.
To do that, just add the following in routes.php:
$routes['showThePage'] = 'pages/show';
The entry inside the routes array will direct the user to the actual url without showing the actual url.

Sunday, November 15, 2015

Ponmudi in the evening

It was a bored-to-the-hell sunday and so called Sandeep and decided to take a spin. The time was around 4 pm evening,  with non-stop raining and a frightening dark sky, which was perfect! Riding in the rain is something which I love so much so whenever it rains I don't stop instead just ride on, except for the morning commute to office! Decided Ponmudi as the destination because it will be damn refreshing to spent time in hills in late evening. This was my fourth time in Ponmudi but it was totally different from others coz it's a rainy day, the way is pretty foggy and the roads are in slippery condition as well, so it was a challenge to reach the hill top. Clearing the 22 hairpins was a pure bliss and ofcourse scary in such conditions and the grippy michelins never let me down. Took stops at 3 points on the way to enjoy the views, hill sides and valleys.
This is the trekking trail to Braemore hillstation from the top of Ponmudi

The views were damn awesome in the evening coupled with rain clouds and mist. Enjoyed the pure misty atmosphere and continued and reached the checkpost. The funny part was we reached there at 5.50pm, the ticket counter closed at 5.30 and they were about to leave. At first they didn't allowed to enter but after some strong persuasion they allowed and opened the gate, reached the hilltop at 6 pm. Normally Ponmudi is a crowded place, many people will be there to walk and enjoy the sceneries but at this time there was none except for a few people here and there. Parked the bike and walked to the view points. I know the beauty of  Ponmudi at day time but it's a different experience to view Ponmudi at evening, late evening to be precise.
The hills touched by the clouds

The hills touched by the clouds and sweeping valleys in a rainy mood are a visual treat! Dark rain clouds further added some contrast and horror feel to the atmosphere altogether.
A panorama of Ponmudi hillstation

Clicked some photos and left at 7 pm when the light became too low. The downhill ride was even more adventurous since there was 22 hairpin curves in night and that too in foggy atmoshere!
Creepy evening atmosphere at Ponmudi

So guys if you haven't yet visited here, it will be a huge miss so plan a trip to this hillstation. And those who haven't visited here in the evening, it's a totally different atmosphere in evening, I'm sure you will love it. 

Wednesday, November 11, 2015

Data attribute in html and setting multiple data-* attributes in JQuery

Have you heard of data attribute in HTML? Well, it's a very handy attribute in developing web applications. We can easily bind custom data to any element in the DOM using the data attribute. This custom data can then be easily fetched using JQuery.

Suppose we have a link like this
<a id="show_data" data-category="Student" data-name="John" data-semester="sixth" href="#" >Show Data</a>
Now we can extract the data in JQuery like this
$("#show_data").click(function() {
         var name = $(this).data("name");
         var category = $(this).data("category");
         var semester = $(this).data("semester");
         alert(name + ", " + category + ", " + semester);
});

Now the reverse, suppose you have a link element or any element and want to set data attribute(not just data, you can set any attribute too) using JQuery
<a href="#" id="our_link">Our link element</a>

$(document).ready(function() {
         $("#our_link).attr({
                      'data-name' : 'John',
                      'data-category' : 'Student',
                      'data-semester' : 'sixth'
         });
});

This way you can set multiple attributes to an element.

Monday, November 9, 2015

Using Bootstrap with CodeIgniter

Bootstrap is  a widely used responsive html framework. It is based on grid layout and is easier to understand and easier to implement. Bootstrap is an awesome framework to use in web projects. You can read more here twitter bootstrap.
Download the latest version of Bootstrap and extract it. There will be three folders namely css, fonts and js. css folder contains the minified and uncompressed .css files, fonts folder contains icon files and js folder contains the minified and uncompressed .js files.
Now create a folder called assets in the codeIgniter root folder in the server. It will be like: C:/Program files/wamp/www/codeIgniter/assets/. Copy the three folders css, js and fonts that we downloaded into the assets folder. If you are working in ubuntu, you might want to change permission of the newly created assets folder and its subfolders like this chmod 755 -R /var/www/codeIgniter/assets.
Now create a templates folder in application/views and create two files header.php and footer.php in it. The beauty of this setup is we can include this header and footer in every page and in case any editing is required we need to edit in one file.
 Put these in the header.php
<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Bootstrap example</title>
  <link href="<?php echo base_url("assets/css/bootstrap.min.css"); ?>" rel="stylesheet">
  <link rel="stylesheet" href="<?php echo base_url("assets/css/font-awesome.min.css");?>">
 </head>
 <body>
  <div id="content">
Put these in the footer.php
  </div>
  <!-- Scripts -->
  <script src="<?php echo base_url("assets/js/jquery-1.10.2.min.js");?>"></script>
  <script src="<?php echo base_url("assets/js/bootstrap.min.js");?>"></script>
 </body>
</html>
It is important to use the function base_url() to output the location of files. It ensures cross-platform compatibility. Now create a folder called pages in application/views folder and create a file page_one.php and put the code in it. You can have your own bootstrap code in it.
page_one.php
    <div class="container-fluid text-center">
      <h1>Hello, world!</h1>
      <h3><p class="text-center">This was a simple tutorial to show how bootstrap framework can be used 
        alongside codeIgniter framework. hope you guys enjoyed it and learned something new! Cheers..</p>
      </h3>
      <p><a class="btn btn-primary btn-lg" role="button">Learn more &raquo;</a></p>
      <hr>
    </div>
    <div class="container">
      <!-- Example row of columns -->
      <div class="row">
        <div class="col-md-4">
          <h2>Heading</h2>
          <p>Article contents goes here. </p>
          <p><a class="btn btn-default" href="#" role="button">View details &raquo;</a></p>
        </div>
        <div class="col-md-4">
          <h2>Heading</h2>
          <p>Article contents goes here </p>
          <p><a class="btn btn-default" href="#" role="button">View details &raquo;</a></p>
       </div>
        <div class="col-md-4">
          <h2>Heading</h2>
          <p>Article contents goes here</p>
          <p><a class="btn btn-default" href="#" role="button">View details &raquo;</a></p>
        </div>
      </div>

      <hr>

      <footer>
        <p>&copy; Company 2013</p>
      </footer>
    </div> <!-- /container -->
Now create and write the controller code in pages.php in application/controllers folder
pages.php
<?php
class Pages extends CI_Controller {

 public function __construct()
 {
  parent::__construct();
  $this->load->helper('url_helper');
 }

        public function load($page)
        {
         $this->load->view('templates/header');
         $this->load->view('pages/'.$page);
         $this->load->view('templates/footer');
        }
}
Now if you point the browser to your webroot followed by index.php/load/page_one then you will see a simple, clean html page developed using bootstrap framework. In my case the address is localhost/codeIgniter/index.php/load/page_one.

Okay so this is how you can use bootstrap in codeIgniter. Happy bootstrapping.. :)

Sunday, November 1, 2015

JQuery Ajax FormData

AJAX is a web technology and stands for 'Asynchronous Javascript And XML'. With Ajax, web applications can send data to and retrieve from a server asynchronously (in the background) without interfering with the display and behavior of the existing page( without full page reloads).
Suppose we have a form with some input fields and a php action file to process the data. Normally once we submit the form using the submit button, the php action file is loaded in the browser and then the remaining processes are done. With ajax, we can avoid the loading of the php action file in the browser once the form is submitted. What is going behind the scene is that ajax script will take the values of our form fields and pass it to the php action file and the whole thing is done in the background. JQuery, the popularly used javascript framework, has a built-in ajax function too which makes ajax calls even more easier.

Suppose we have a form:

<form id="myForm">

     Username:<input id="username" type="text" />

     Photo:<input id="photo" type="file" />

     <input id="enter" type="button" value="Enter" />

</form>
Use JQuery's FormData object to collect the values of our form fields using FormData's append() function. Then use JQuery.ajax() function to post the data to the action.php file.
<script>
function post_data_using_ajax() {
    var formData = new FormData();
    formData.append('username', $('#username').val());
    formData.append('photo', $('#photo')[0].files[0]);
    jQuery.ajax({
        type: "POST",
        url: "action.php", // Our action file
        processData: false, // tell jQuery not to process the data
        contentType: false, // tell jQuery not to set contentType
        data: formData,
        success: function(res) {
            alert("Inserted successfully");
        }
    });
}
</script>
Bind the function to 'Enter' button of the form inside a script element and place it inside body.
<script>
 $("#enter").click(post_data_using_ajax);
</script>
Now you can process the form variables in the normal way in action.php
<?php
 // Do the database connection code if necessary

 $username = $_POST['username'];
 $filename = $_FILES['photo']['name'];
 $photo_path = "uploads/";

 //Upload the photo to the server
 move_uploaded_file($_FILES['photo']['tmp_name'],$path . $filename);

 //Do whatever you want like insert the variables to a mysql table etc...
?>
So here is the final html file.
form.html
<!DOCTYPE html>
<html>
 <head>
  <title>Ajax Example</title>
  <meta charset="utf-8">
 </head>
 <body>
  <div class="container">
   <form id="myForm">
    Username:<input id="username" type="text" />
    Photo:<input id="photo" type="file" />
    <input id="enter" type="button" value="Enter" />
   </form>
  </div>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  <script>
   function post_data_using_ajax() {
       var formData = new FormData();
       formData.append('username', $('#username').val());
       formData.append('photo', $('#photo')[0].files[0]);
       jQuery.ajax({
           type: "POST",
           url: "action.php", // Our action file
           processData: false, // tell jQuery not to process the data
           contentType: false, // tell jQuery not to set contentType
           data: formData,
           success: function(res) {
               alert("Inserted successfully");
           }
       });
   }
  </script>
  <script>
   $("#enter").click(post_data_using_ajax);
  </script>
 </body>
</html>

Monday, October 19, 2015

Post Values from Uneditable input fields

Sometimes you want to set the data of an input field through JQuery and at the same time you need that field to be uneditable, then the workaround is to add the attribute 'readonly' to that field. Being 'readonly' makes the field uneditable and the form will submit the value as well whereas the attribute 'disabled' makes the field uneditable but the form will not submit the value.

Example:
<input name="un_editable_field" type="text" readonly />

Now you can get the values normally in the action file
$value = $_POST['un_editable_field'];

Wednesday, October 14, 2015

Create clean encoded URL variables

If you try to use strings with characters '@,=,+....' etc in URLs in CodeIgniter, it will throw 'URL Disallowed character' error. So you can't pass an email address which is like 'name@email.com' in the CodeIgniter URL.
So the workaround is to encode the desired string, in this case 'name@email.com' pass it to the URL and decode it wherever necessary.

$string = "name@email.com";
$enc = rtrim(base64_encode($string),'=');    //encoded string which can be used in URL

$dec = base64_decode($enc); //decoded string

The function base64_encode($string) encodes the string into 'bmFtZUBlbWFpbC5jb20=' which still contains an '=' character. So use the function rtrim to get rid of that '='.

Saturday, October 10, 2015

Green Bee-Eater

This is a small green bee-eater.
Captured while I took a walk around the paddy fields near home.




Camera: Canon EOS 60D
Lens: Tamron 70-300 mm
Aperture: f/5.6
Shutter speed: 1/1250 sec
ISO: 800

Tuesday, October 6, 2015

Simple HDR image of an evening scene using Photoshop

Today when I took an evening walk an idea came to my mind to make an HDR image of the evening scene. HDR stands for High Dynamic Range. Dynamic range is the range of brightness from pure black to the fullest brightness. Our eyes can't recognize dynamic range beyond a level. Our camera too is not capable of capturing the whole dynamic range of brightness! Its a broad and interesting topic, if you want to read about it here is the wikipedia link about hdr
If you see a sunset it's awesome, right? But what if you want it to get captured with your camera? The truth is that you cannot capture every detail you see at the moment. If you capture it, chances are that either the sky loses its detail or the ground loses detail. You can't get both(sky and ground) details in a single shot! But there's a workaround. We can use two images, one with a low exposure and another with a normal exposure and blend the two images in Photoshop.
Okay so here is my scenario. It was about 6 pm in the evening when I took the images. The sky looks awesome and I needed the image to look like the one I was seeing through my eyes!
So here are my steps. First I positioned the mobile camera towards the scene as straight as possible. Then slowly tilt the camera upwards in a rotating motion such that the screen now shows sky in full details and the ground become dark. Take the shot. It is also called silhouette image.
Image with details of the sky (silhoutte)

After clicking the first image, slowly tilt the camera downwards such that the screen shows the ground in full details. This time the sky become blown out in the screen. Take the shot.
Image with details of the ground.

Now we have two images, the first one having details of the sky and the second one having details of the ground. Here is the result after blending the images.
Final image
First fire up photoshop and open the two images in it. Then go to File>Automate>Photomerge
File>Automate>Photomerge
Now the Photomerge window will open. Click on Add Open Files and it shows the two files you opened. In the layout section select Auto. At the bottom of the window check Blend Images Together and leave the other two unchecked and hit OK button.
Photomerge window.

Now photoshop blends the two images for us and in my case it generated this.
Photoshop generates the blended image.

Using Crop tool crop the image for the relevant area.
Crop out the unnecessary areas

Now you notice that the middle area is dark. Photoshop's algorithm made the under exposed image visible at the middle area and the second image's middle area is masked out. Next step is to extract the second image's masked out area. Go to Layers panel. If Layers panel is not there, click Window>Layers 
Select the layer mask of the normally exposed image, that is the top layer.

There are two layers, at the bottom it is the under exposed image and at the top it is the normal exposed image. Their corresponding masks are shown alongside each layer. The white area in the mask makes the corresponding area of the layer visible and the dark area makes the corresponding area hidden.
Since we need the normally exposed image's middle portion, we need to make it visible. So select the second layer's mask. Its important to select the layer's mask and not the layer otherwise we will be drawing in the original image! The layer mask gets a border once you select the mask. Watch for that.
Select the layer mask of the top layer
Now use a brush of convenient size with white color, in my case I used 343 sized brush. Set the opacity to 15% and slowly paint along the middle portions(the areas you want the details)
Using a brush with white as foreground color paint in the mask to remove the dark areas

Finish painting the middle area until it blends with the rest of the image.
Paint in the mask until all the details are shown

Now our blending part is over and now add some contrast and vibrance to the image to get it stand out.
Add a Contrast adjustment layer and Vibrance adjustment layer and move the sliders until you are satisfied with the result
The final image. Remember the images are shot at 6 pm

Okay, so that's a simple procedure to create an HDR image. We can create very dramatic photos using hdr techniques. There are other methods like taking three different images with each one varying in exposure value by one or two steps and using the Merge to Hdr Pro feature of Photoshop. I will a make a tutorial on that later.
Hope you enjoyed it. 

Tuesday, September 29, 2015

Check whether an array is empty in PHP

If you want to check whether an array is empty or not, you will need to use the fuction array_filter() before checking for emptiness. By default, an empty array still contains a null, 0, '' or false element. So if an array is empty in front of us, chances are that it is not empty inside php code. But array_filter() function is there to the rescue. array_filter() strips the array from null, 0, '' and false elements.

Suppose we have an array like $_FILES['file']['name'].
Then empty($FILES['file']['name']) returns false whether the array is empty or not.
So the work around is first use the function array_filter().
$result_array = array_filter($_FILES['file']['name'])
Now empty($result_array) returns true if the array is empty and false if the array is not empty.

Usage:


$result_array = array_filter($_FILES['file']['name']);
if(empty($result_array))
{
    //array is empty condition
}
else
{
    //array is not empty condition
}

Thursday, September 10, 2015

The Divine Agasthyarkoodam Trek

To acquire passes:
Forest department issues tickets in limited number every year during December-January time. You can book it online or acquire it by visiting Wildlife warden's office in Thiruvananthapuram, PTP Nagar by submitting an application form along with copies of id cards and an amount of Rs 350 per head. Females are not allowed.
For any queries Call wildlife warden's office +91-0471-2360762

To get there:
Trekking starts from Bonacaud.
Bonacaud is 52 km from Thiruvananthapuram and 101 km from Kollam.

To carry:
Wear shoes preferably trekking shoes. Knee guards, cap, painkiller creams, water bottles(you can refill it from streams en route), cameras, fruits, glucose, salt and thick blanket.

This is approximately the trekking path, 28 km one side, through totally wild forest. Trekking level is hardcore!


Agasthyarkoodam is the place where sage Agasthya Muni meditated. Agasthya muni is one of the 'Saptharishis' in Hindu mythologies. It's a sacred place since very long time and pilgrims from Kerala and other parts of India came here to worship him. The place is atop a giant hill called Agasthya Mala and the pilgrims came here by trekking a good amount of forest path filled with huge rocks, gravel, frightening trees, river crossings, waterfalls, pure natural streams, vast grasslands and at last a huge steep mountain. Don't forget that this forest is famous for wild elephants too which occasionally finds pilgrims' way and harm them!
Agasthyarkoodam trekking tradition was started as a pilgrimage trek a long time ago and is continued even today. But many people are visiting this holy hills just to enjoy the three day trekking adventure which totally sets them free of their consumer-driven lives and submerge into the pure wilderness of the mighty forest.
Okay so that's for the short introduction and let's dive into our trekking story. I am basically a guy
who admire nature's beauty and want to go side-by-side with it. I heard of this place since my 10th standard when some of my relatives set foot at the hills. Then two years later again heard of the untold beauty of the place and since then I was longing to go there. Enquired whenever possible about the procedures and realised that the entry is permitted only to a few and it's a three day journey and is not meant for the faint hearted! Then again after a couple of years one of my friend's friends went there as a group of ten and I saw some photographs and bang, I felt in love with it without even going. They said that the trek is pretty arduous with huge rocky path to be covered and the source of water are the streams and waterfalls enroute. They got the tickets by reaching the forest office at Thiruvananthapuram at early morning 6am just to stand in the queue! The rate was Rs.300 per head. Then again after a couple of years I enquired about this to Mr. Shibu, system administrator at College of Engineering, Attingal. He is a damn techie and a traveler, he's been to agasthyarkoodam five times, ponnambalamaedu in sabarimala which is forbidden now, pakshipathalam in wayanadu and the list goes on. He told his experiences and the way he expressed the journey anyone will be wanting to visit there. This further increased my desire to have the holy trekking at any cost.
And finally the magical day came when the guys at IT section of Kerala Legislative Assembly planned the trek to the mighty Agasthyarkoodam. The group consist of 11 people and me too joined. Our mentor Shibu sir was unable to make it to the trek as he had some engagement and we badly missed his presence because he has went there five times and knew the forest path better than anybody out there in our group.
The guys are Anu (senior at Research division), Sarajith (SO IT section), Madhavan(system administrator), Gopiraj(system administrator), Vinod(tech), Syamkumar(tech), Syamlal(tech), Raju(tech), Arunlal(tech), Umesh(tech) and me. So come on let's dive into our story..:)
Day one
We started from vithura at 6am. On the way we stopped at small temple with a statue of Agasthyamuni where the trekkers pray and offer rituals to make the trek comfortable.
Small temple of sage Agasthya Muni

We prayed there to make our journey comfortable
These are the guys. From left Umesh, Shyamkumar, Sarajith, Syamlal, Raju, Gopiraj, Arunlal, Vinod, Anu and Madhavan.

We also prayed and left. Reached Bonacaud at 6.45am and after the formalities by the forest officials we were ready to set foot to mighty Agasthyamalai. From the checkpoint they gave hard bamboo sticks to everyone to be used as a support all the way and trust me it was a life saver during the whole trek! At about 7.30am we packed everything, checked everything, got prepared and started our journey with a huge grin on our faces.
Pic from the starting point.
On the way we saw some guys who were returning after their trek, the level of hardness is evident just by seeing their faces!
The path is neatly maintained to some distance from the starting point


The thrill of starting can't be expressed by words!
We continued in a decent pace enjoying the wilderness of the forest. Many streams, small waterfalls were enroute. The beginning path is well maintained and after that there is literally no path, just a trail which we need to find but since we had experienced guys like Anu sir and Sarajith sir it was not difficult to find the correct trails on the way.


Took a small stop for resting
Then we reached a waterfall but there was another group bathing in it so we skipped that one. We continued and reached a stream, drank water from it and filled our bottles. Yeah you read it right, we drank water from the streams, its pure water coming from the mountains.
Streams are the source of drinking water!
We took a dip in another gorgeous waterfalls on the way with water falling from a good height. The dip was very refreshing one because we were tired walking a good distance and some great distance needs to be further covered too. After the bath we ate lunch by a river side, it was Attayar river. We brought lunch items, fruits etc with us because you won't get anything to eat untill you reach the base camp which is 20kms away from the starting point.

Stopped for having lunch

A small waterfall in Attayar river

Again we continued and the path gradually become diffcult to cover and after a couple of kilometres the path opened to a vast grassland. Our tiredness just went away after seeing the natural beauty of the place. It is nature at it's best.




Wind is very strong

Trekking through the grasslands




View from the grasslands are breathtaking.
We can see people at a very long distance like a small dot moving up a hill. My jaws hit the floor after realising that we need to cover that amount of distance. Anyway I managed to continue with the peppy other guys, I don't know from where they got this much energy. The sceneries were awesome! Trekking through such arduous tracks with picture-perfect sceneries is something to be experienced,
words or photos alone is not enough to express it. After some hard but scenic trekking the grasslands were covered just to know that next item to cover is another hill, it was the last one before the base camp, but another hill, what the heck!! We continued and this was a harder one for us, the eatables began to finish in a good pace and so is the glucose.

We rested there for a while, mixed glucose with water and gave one bottle to everyone and continued. Encountered another stream enroute drank and filled the bottles again and moved slowly. 
Finally after covering 20 odd kilometers we reached the base camp at 4.30pm. There were many people from different parts of Kerala. There's a small canteen from where we booked kanji for the night. This canteen setup was built recently and earlier the trekkers need to bring cooking utensils, rice and all for there meals! This canteen is pretty handy and made life easier for the modern trekkers. From the basecamp we can see the Agasthyamalai as it is in the foot of the hills. 
The base camp. It's condition is very pathetic, that it's standing like it may fall in any time.!


View of Agasthya malai from the basecamp. That's the main target we are chasing tomorrow morning.
After relaxing for some time we went to a waterfalls near the basecamp. We didn't know the exact location, just followed the trail and after trekking some distance reached a small but good waterfall, took a dip and left. 

Panoramic view of Agasthya Malai



Chumma.. veruthe..:D






That's crazy Sarajith sir

Views are damn awesome. You need to witness it with the naked eyes.
 There was a small cave near the falls which Sarajith sir claimed that it's cave of a bear. Anyway we didn't spot any bear near the place and the time was 6.45pm, it was getting darker so we left the falls
immediately and reached basecamp by 7.30pm.
Top of Agasthya Malai. Everytime the top will be covered with clouds, may be because it's divine
The climate became pretty freezing one after evening, we were shaking even wearing sweaters!
Then had kanji from the canteen and prepared for sleep early because we need to start trek to the top of Agasthyamalai by 6am and we need to reach Bonacaud the same day evening because the next day there was a harthal. So we slept but the whole atmosphere was a damn frightening one with non-stopping heavy wind blowing through the windows, freezing cold weather and above all the fact that 8kms of steep rock climbing was running through the mind. All these made the sleeping miserable 
anyway we managed to sleep. Then after sometime what we saw was everyone screaming and standing and became a pandemonium situation. I frightened to the core as I thought elephant or tiger had came there! But the thing was a snake which find its way to our camp, one guy took care of it and the situation went back to normal again. Then again we resumed our sleep.

Day 2
We got out early 5am in the morning, took bath and got prepared for the final mountain climb. Yes! We gathered together, discussed about the checkpoints on the way to top and prepared our minds ready. At about 7 am we started after praying to agasthyamuni, there's a small statue of him in the starting point of the final path.
The starting point of final trek from basecamp.
Ok so here we go, the path was extremely different from the ones we covered, this one is pretty steep with some big rocks. At first it was the 'muttidichaan para' which means our knees will hit our head while climbing! That didn't happen but our trek was extremely hard the only driving force was the beautiful hills and valleys that took our mind. This area is well known for elephants, but since it is the trekking season we didn't find any. Next big stop was 'Pongalappara' which is a big hill providing some great visual treats to us. Those who can't advance the trek further will rest here.
The great Pongalappara, main resting place in the final trek
There's a huge stream flowing all way down from the hill, and we took a dip before making our final trek. The dip was extremely soothening, wiped all tiredness that we faced on the way and we took some rest, clicked photographs and moved on. Then again we can see people at long distance continuing the path. We continued with eagerness because such was the visuals, oh boy the sceneries are stunning! 



Trekking level: serious hardcore!!

The valleys offered a visual treat. You can see some guys in the pic.!
 Then came a much steeper part of the mountain and fortunately there's a rope attached to the top, so it's the rope climbing session! Each one of us climbed one at a time, took some rest at the top, then again came another rope climbing session climbed it and once again took some rest.

Rope climb session. Not for the faint hearted.!

It's pretty steep
So we arrived much nearer to our destination only a couple of kilometres remaining. We continued and the path was through a group of bonsai trees, yes bonsai like trees everywhere! On the way saw a muni like pilgrim, he's been there for 28 years and gave some tips to keep in mind, like he said  "just concentrate on your next step not the whole steps, that way your mind will not get tired so is your body".

 Gradually the path opens to wide open area and yes we made it to the top! There where many pilgrims doing rituals and enthusiast trekkers as well. The views, oh my goodness, it was like a heaven, a dream, a wonderland whatever the sceneries  were picture-perfect. Finally we prayed to make our return trek comfortable, had photoshoots and prepared for the downhill climb.
Agasthya Muni idol on the top. We prayed for his blessings.

That's our team.
Since we need to arrive at Bonacaud the same day evening, the return trek was like a marathon! We were moving at a good speed though we were totally vanished and the climb down puts immense stress on my knees so I was lagging. Anyway we returned the base camp at around 2pm and I was totally vanished and the remaining 20 kms was like mission impossible to me! But there's no way other than going because if we stay there we can't reach our home tomorrow because there's harthal. Then took some rest for 10 minutes and had lunch, which was delicious, I never had such tasteful food in my life, maybe because I am tired to the apex. Ate lunch and we were ready for the
departure, remember we need to cover 20 kms of forest path of which some are downhill. Keeping that in our mind we moved on. The lunch was great, it made my elecrolytes to replenish, haha, like 'Amruth' in puranas. We were moving through the paths that we covered yesterday at a good pace, said googbye to Agathya malai, base camp and everything on the way. Then came the grasslands and we saw two local forest watchers going to base camp. On seeing us they began angry and said that we need to move quickly otherwise it's extremely dangerous, elephants can be spotted and won't make it to Bonacaud before 7pm. We want to run but we can't that's our body situation, but we managed our best. Crossed Attayar river, where we had lunch yesterday. Then came the waterfall that we took a dip yesterday. On seeing that waterfall, Madhavan sir wants to take a dip again! What a time to take a dip, it's about 6pm and we need to cover another 8-10 km, so he agreed to go on.
Light is becoming dimmer and so is our vision. Then Anu sir took a deviation and said it's a short-cut, we too followed. It scared the hell out of us, because there's literally no path. But that did the trick, it indeed was a shortcut and joined the right path sooner. Then came another instance that scared us. We were hearing some noise like breaking tree branches, it became louder and louder as we are moving, time is around 6.30 and we finalised that it may be either an elephant or a bear so
prepare for anything once we see it! Anu sir even took us a lecture on how to escape from elephants, they have very poor vision and so on! But fortunately it was a group of foresters cutting a broken tree. We took a deep breathe and relaxed ourselves, it was actually a great moment! Finally we reached Bonacaud picketstation from where we started our trek with a huge smile on our faces. Gave the bamboo sticks which saved my life at several occassions, took some rest enjoying the memories we had with a 'kuttan chaaya'. We didn't spend much time there and went to our homes.
Our team
That was our story..:) To be honest, this is a place which you should go atleast once in a life time. The amount of hardwork we done, sharing of food between us and to other fellow trekkers, awesome scenaries coupled with fear and stress, everything made this a lifetime experience. Really great place and wilderness guaranteed!

To acquire passes:
Forest department issues tickets in limited number every year during December-January time. You can book it online or acquire it by visiting Wildlife warden's office in Thiruvananthapuram, PTP Nagar by submitting an application form along with copies of id cards and an amount of Rs 350 per head. Females are not allowed.
For any queries Call wildlife warden's office +91-0471-2360762

To get there:
Trekking starts from Bonacaud.
Bonacaud is 52 km from Thiruvananthapuram and 101 km from Kollam.


From Bonacaud one needs to cover 56 km by foot( 28 km one side). Walking through rocks, grasslands and steep mountains, the minimum time required to finish the trek and come back is two days. But three days is the optimum time.
This is approximately the trekking path, 28 km one side

To carry:
Wear shoes preferably trekking shoes. Knee guards, cap, painkiller creams, water bottles(you can refill it from streams en route), cameras, fruits, glucose, salt and thick blanket.

So what you are waiting for? Plan your next trek to this holy hills.!