How to obtain hostname from IP address in Linux?

Today, I fell in need of identifying the host name (also termed as ‘DNS name‘) based on the IP address for one of my Linux Box. My first try was using 'ping -a' command. But that failed to satisfy my requirement.

Domain names, arranged in a tree, cut into zon...
Image via Wikipedia

If you ever come across the situation where 'ping -a' does not provide you with the host name of the box, then you can try any of the below mentioned methods to satisfy the requirement.

Method 1: Using the 'host' command

One of the simplest way to retrieve host name from IP address is employing the 'host' command provided by GNU/Linux.
Syntax for the host command: $>host <ip-address> <nameserver>
Example:

testhost:~ # host 209.85.231.104
104.231.85.209.in-addr.arpa domain name pointer maa03s01-in-f104.google.com.
testhost:~ #

Method 2: Using the 'nslookup' command

nslookup is a command used to query the Internet Domain Name servers.

Example:
nslookup 209.85.231.104
Server:  72.163.128.140
Address: 72.163.128.140#53


Non-authoritative answer:
104.231.85.209.in-addr.arpa    name = maa03s01-in-f104.google.com.


Authoritative answers can be found from:
231.85.209.in-addr.arpa    nameserver = ns1.google.com.
231.85.209.in-addr.arpa    nameserver = ns3.google.com.
231.85.209.in-addr.arpa    nameserver = ns4.google.com.
231.85.209.in-addr.arpa    nameserver = ns2.google.com.
ns3.google.com    internet address = 216.239.36.10
ns4.google.com    internet address = 216.239.38.10
ns2.google.com    internet address = 216.239.34.10
ns1.google.com    internet address = 216.239.32.10

Method 3: Using the 'dig' command
As per the Linux man pagedig (domain information groper) is a flexible tool for interrogating DNS name servers. It performs DNS lookups and displays the answers that are returned from the name server(s) that were queried.

Disclaimer

All data and information provided on this site is for informational purposes only. sks8.wordpress.com or skumar.co.nr makes no representations as to accuracy, completeness, currentness, suitability, or validity of any information on this site and will not be liable for any errors, omissions, or delays in this information or any losses, injuries, or damages arising from its display or use. All information is provided on an as-is basis. Any trademarks, if at all displayed on this blog belong to their respective owners.

Reblog this post [with Zemanta]
Advertisements

How to Learn Freestyle Swimming?

It has 18 days since been I joined a swimming course on August 6, 2009. It has been a great experience till date. Based on my learning experience so far, I have come up with an algorithm that can be followed to learn swimming. The view and the method presented below is purely based on my personal opinion and experience. It does not comply to any standards. Please read the disclaimer section at the end of this post for further clarification.

Step 1: Practice holding your breath and learn to float in Water.

  • Anything that has air trapped inside can float. A cork floats in water since it has air trapped in it. Similarly, humans can float if they hold their breath.
  • The trainer should illustrate a simple demonstration of the face-down float and float by wrapping the arms around the knees and holding the breath for five seconds.
  • Demonstration of the “dead man’s float” with the arms out like an airplane and the face down in the water can be an added advantage.
  • The learner is expected to imitate the trainer after the demonstrations.

Example of the dead mans float method

Example of the dead man's float method (Image source: P.Gordon's photostream on Flickr)

Another image illustrating the dead mans float (Image source: garlinggauge.com)

Another image illustrating the dead man's float (Image source: garlinggauge.com)

Please note, the learner should never be left unattended at the swimming pool.

The video listed below by Peter Elizondo provides an elaborated view of step 1.

(more…)

Description of HTML Response Status Codes returned from a Server

1xx status codes

100 (Continue) The requestor should continue with the request. The server returns this code to indicate that it has received the first part of a request and is waiting for the rest.
101 (Switching protocols) The requestor has asked the server to switch protocols and the server is acknowledging that it will do so.

2xx status codes indicate that the server successfully processed the request.

200 (Successful) The server successfully processed the request. Generally, this means that the server provided the requested page. If you see this status for your robots.txt file, it means that Googlebot retrieved it successfully.
201 (Created) The request was successful and the server created a new resource.
202 (Accepted) The server has accepted the request, but hasn’t yet processed it.
203 (Non-authoritative information) The server successfully processed the request, but is returning information that may be from another source.
204 (No content) The server successfully processed the request, but isn’t returning any content.
205 (Reset content) The server successfully proccessed the request, but isn’t returning any content. Unlike a 204 response, this response requires that the requestor reset the document view (for instance, clear a form for new input).
206 (Partial content) The server successfully processed a partial GET request.

3xx status codes indicates that further action is needed to fulfill the request. Most often, these status codes are used for redirection.

300 (Multiple choices) The server has several actions available based on the request. The server may choose an action based on the requestor (user agent) or the server may present a list so the requestor can choose an action.
301 (Moved permanently) The requested page has been permanently moved to a new location. When the server returns this response (as a response to a GET or HEAD request), it automatically forwards the requestor to the new location.
302 (Moved temporarily) The server is currently responding to the request with a page from a different location, but the requestor should continue to use the original location for future requests. This code is similar to a 301 in that for a GET or HEAD request, it automatically forwards the requestor to a different location.
303 (See other location) The server returns this code when the requestor should make a separate GET request to a different location to retrieve the response. For all requests other than a HEAD request, the server automatically forwards to the other location.
304 (Not modified) The requested page hasn’t been modified since the last request. When the server returns this response, it doesn’t return the contents of the page.
305 (Use proxy) The requestor can only access the requested page using a proxy. When the server returns this response, it also indicates the proxy that the requestor should use.
307 (Temporary redirect) The server is currently responding to the request with a page from a different location, but the requestor should continue to use the original location for future requests. This code is similar to a 301 in that for a GET or HEAD request, it automatically forwards the requestor to a different location.

4xx status codes indicate that there was likely an error in the request which prevented the server from being able to process it.

400 (Bad request) The server didn’t understand the syntax of the request.
401 (authentication error) The page requires authentication.
403 (Forbidden) The server is refusing the request.
404 (Not found) The server can’t find the requested page. For instance, the server often returns this code if the request is for a page that doesn’t exist on the server.
405 (Method not allowed) The method specified in the request is not allowed.
406 (Not acceptable) The requested page can’t respond with the content characteristics requested.
407 (Proxy authentication required) This status code is similar to 401 but specifies that the requestor has to authenticate using a proxy. When the server returns this response, it also indicates the proxy that the requestor should use.
408 (Request timeout) The server timed out waiting for the request.
409 (Conflict) The server encountered a conflict fulfilling the request. The server must include information about the conflict in the response. The server might return this code in response to a PUT request that conflicts with an earlier request, along with a list of differences between the requests.
410 (Gone) The server returns this response when the requested resource has been permanently removed. It is similar to a 404 (Not found) code, but is sometimes used in the place of a 404 for resources that used to exist but no longer do.
411 (Length required) The server won’t accept the request without a valid Content-Length header field.
412 (Precondition failed) The server doesn’t meet one of the preconditions that the requestor put on the request.
413 (Request entity too large) The server can’t process the request because it is too large for the server to handle.
414 (Requested URI is too long) The requested URI (typically, a URL) is too long for the server to process.
415 (Unsupported media type) The request is in a format not support by the requested page.
416 (Requested range not satisfiable) The server returns this status code if the request is for a range not available for the page.
417 (Expectation failed) The server can’t meet the requirements of the Expect request-header field.

5xx status codes indicate that the server had an internal error when trying to process the request. These errors tend to be with the server itself, not with the request.

500 (Internal server error) The server encountered an error and can’t fulfill the request.
501 (Not implemented) The server doesn’t have the functionality to fulfill the request. For instance, the server might return this code when it doesn’t recognize the request method.
502 (Bad gateway) The server was acting as a gateway or proxy and received an invalid response from the upstream server.
503 (Service unavailable) The server is currently unavailable (because it is overloaded or down for maintenance). Generally, this is a temporary state.
504 (Gateway timeout) The server was acting as a gateway or proxy and didn’t receive a timely request from the upstream server.
505 (HTTP version not supported) The server doesn’t support the HTTP protocol version used in the request.

Disclaimer

All data and information provided on this site is for informational purposes only. sks8.wordpress.com or skumar.co.nr makes no representations as to accuracy, completeness, currentness, suitability, or validity of any information on this site and will not be liable for any errors, omissions, or delays in this information or any losses, injuries, or damages arising from its display or use. All information is provided on an as-is basis. Any trademarks, if at all displayed on this blog belong to their respective owners.

Reblog this post [with Zemanta]

I want to be hired. What traits should I cultivate?

What do employers look for in a candidate?” – This is the preponderant thought that harasses every job seeker. Are they behind technical knowledge or experience? What values and soft skills do they prefer? Do they impart prime importance to the personality and the ability to adapt to the organisation culture?

The candidate should be well aware of what would impress the prospective employer if they are willing to pocket their desired job. Having the knowledge of the critical skills that the employers look for is almost half the battle won.

Some of the most common employer requisites when shortlisting a candidate are listed below.

1. Education and Experience

  • A strong educational background is and will always be a top priority of every employer.
  • Relevant work experience plays a very significant role in deciding the candidates eligibility for a job in consideration.
  • The employers always prefer candidates who have specific occupational expertise, well qualified and experienced so that they can hit the ground running without any need for extensive training or direction.
  • In case of fresh graduates, employers may give weightage to credentials, impressive grades, scholarships, awards and recognitions, and sometimes the type of school/college attended.

2. Computer Literacy

3. Communication skills

  • Verbal and written communication skills including listening skills.

4. Teamwork

  • It’s all about collaboration, participation, working harmoniously, avoiding conflicts, interacting and spending time with other team members.

5. Leadership

  • Helping, encouraging, coaching and inspiring coworkers is classified under ‘Leadership’.

6. Initiative

  • The candidate should be  a self-starter and get the work done without constantly being told what needs to be done and reminded of the same.

7. Flexibility

  • The candidate should be able to adapt to changing conditions and work assignments.

8. Result-oriented

  • The candidate should be able to plan, organise and implement anything from tasks and projects to deadlines. Should be good at prioritising along with efficient time management.

9. Analysis

  • Should be able to analyse situations, seek information from appropriate sources and then resourcefully solve the problems. The decision making skill plays a major role in the analysis ability of the candidate.

10. Work ethics

  • The candidate should respect personal values like honesty, integrity, punctuality, reliability, commitment and dedication.

Note

The title and order of the bullet points above were borrowed from an article titled – ‘Top traits to cultivate if you want to be hired’ published in the ‘Career Clues’ column of the ‘The Hindu Newspaper’, written by ‘Payal Chanania’.

Disclaimer

All data and information provided on this site is for informational purposes only. Neither sks8.wordpress.com nor skumar.co.nr makes no representations as to accuracy, completeness, currentness, suitability, or validity of any information on this site and will not be liable for any errors, omissions, or delays in this information or any losses, injuries, or damages arising from its display or use. All information is provided on an as-is basis. The logos, images and trademarks used on this blog belong to their respective owners.

Reblog this post [with Zemanta]

Swine Flu Symptoms and Precautions

What is Swine Flu?

The Merck Veterinary Manual defines Swine Flu as – “Swine influenza is an acute, highly contagious, respiratory disease that results from infection with type A influenza virus.”

What are it’s symptoms?

Image source: SwineInflu.org
Image source: SwineInflu.org


In the video below (linked to YouTube), Dr. Joe Bresee, with CDC’s Influenza Division, describes the symptoms of swine flu and warning signs to look for, that indicate the need for urgent medical attention.

How does it spread?

As per Fitzania.com:

  • Spread of the swine influenza A (H1N1) virus is thought to be happening in the same way that seasonal flu spreads.
  • Flu viruses spread mainly from person to person through coughing or sneezing of people with influenza.
  • Sometimes people may become infected by touching something with live flu viruses on it and then touching their mouth or nose.

Precautions

  • Good personal health and hygiene habits, like hand washing, avoiding spitting, and covering the nose and mouth when sneezing or coughing, are reasonably effective in reducing influenza transmission.
  • In particular, hand-washing with soap and water, or with alcohol-based hand rubs, is very effective at inactivating influenza viruses.
  • These simple personal hygiene precautions are recommended as the main way of reducing infections during pandemics.
  • Although face masks might help prevent transmission when caring for the sick, there is mixed evidence on beneficial effects in the community.
  • Since influenza spreads through both aerosols and contact with contaminated surfaces, surface sanitizing may help prevent some infections.
  • Alcohol is an effective sanitizer against influenza viruses, while quaternary ammonium compounds can be used with alcohol so that the sanitizing effect lasts for longer.
  • Social distancing is another tactic. It means staying away from other people who might be infected and can include avoiding large gatherings, spreading out a little at work, or perhaps staying home and lying low if an infection is spreading in a community.

Source of the above bullet points: Wikipedia – Infection Control and Wikipedi – Swine Flu in Human.

Disclaimer

All data and information provided on this site is for informational purposes only. Neither sks8.wordpress.com nor skumar.co.nr makes no representations as to accuracy, completeness, currentness, suitability, or validity of any information on this site and will not be liable for any errors, omissions, or delays in this information or any losses, injuries, or damages arising from its display or use. All information is provided on an as-is basis. The logos, images and trademarks used on this blog belong to their respective owners.

What is Gmail offline functionality and how to enable it?

Image representing Gmail as depicted in CrunchBase
Image via CrunchBase

The so called ‘Gmail Offline Functionality‘ will allow users to use the Gmail interface when disconnected from the Internet. It means that, users will be able to load Gmail even though they are not connected to the Internet and will have the ability to read, star, archive and organize emails.

Users will also be able to compose new emails. These mails will be stored in the ‘Outbox‘ and sent whenever the user goes online.

How is this achieved?

The offline functionality for web-based applications is achieved by employing Google Gears.

Image representing Google Gears as depicted in...

Image via CrunchBase

Google Gears is a browser plug-in that provides offline access to the web based applications like Gmail. Gears is also employed for offline access to many other web applications from Google, such as the Google Reader RSS manager, the Google Docs word processor and from other providers like Zoho, which uses it for offline access to its e-mail and word processing browser-based application.

Mozilla Firefox
Image via Wikipedia

The Google Gears browser plug-in for Mozilla Firefox v3.5 can be located at: https://addons.mozilla.org/en-US/firefox/search?q=Google+Gears&cat=all.

When a user is connected to the Internet, Gmail uses Gears browser plug-in to download a local cache of the mail. The cache is then synchronized with Gmail’s servers as long as the internet connection is alive.

How to enable ‘Offline’ functionality for Gmail?

  • Open Gmail and sign-in to your account.
  • Click the ‘Settings’ hyperlink on the top right corner of the Gmail interface.
  • Select the ‘Labs’ tab.
  • Click ‘Enable’ next to ‘Offline Gmail’ feature.
  • Save your changes.
  • On the top right corner of the Gmail interface, next to the user-name, a new link would be visible, named ‘Offline’.
  • Click the ‘Offline’ link to start the synchronization process.

Note

For the synchronization to be successful, the Google Gears browser plug-in should be pre-installed.

In summary

The Google Gears implementation will allow people to work within the Gmail interface without the need for a separate desktop application. When the user is offline, email messages will be stored in the Gears browser queue, and will be synchronized automatically when user connect to the Internet.

Disclaimer

All data and information provided on this site is for informational purposes only. Neither sks8.wordpress.com nor skumar.co.nr makes no representations as to accuracy, completeness, currentness, suitability, or validity of any information on this site and will not be liable for any errors, omissions, or delays in this information or any losses, injuries, or damages arising from its display or use. All information is provided on an as-is basis. The logos, images and trademarks used on this blog belong to their respective owners.

Reblog this post [with Zemanta]

What is a Howdah?

This was the question asked on the popular quiz show – ‘Who wants to be a Millionaire?’

Who wants to be a Millionaire?’ is a television quiz show which offers very large cash prizes for correctly answering 15 (in some versions, 12) consecutive multiple-choice questions of increasing difficulty.

Who Wants to Be a Millionaire?

Image via Wikipedia

So, what is a Howdah?

Wikipedia says – ‘A howdah, or houdah, is a carriage which is positioned on the back of an elephant, or occasionally some other animal, used most often in the past to carry wealthy people or for use in hunting or warfare. It was also a symbol of wealth for the owner, and as a result were decorated with expensive gems.’

Howdah or Houdah

A Howdah or Houdah

Note

The images listed above are directly linked to their respective websites where they are hosted. They are neither stored in this blog nor in the web server hosting this blog.

Disclaimer

All data and information provided on this site is for informational purposes only. Neither sks8.wordpress.com nor skumar.co.nr makes no representations as to accuracy, completeness, currentness, suitability, or validity of any information on this site and will not be liable for any errors, omissions, or delays in this information or any losses, injuries, or damages arising from its display or use. All information is provided on an as-is basis. The trademarks, if at all used on this blog belong to their respective owners.

Reblog this post [with Zemanta]

Pthreads and Eclipse IDE

Have you come across a situation where a C/C++ project that uses Pthread API fails to compile via the Eclipse IDE?

If your answer to the above question is ‘YES’, then this post is for you.

The CDT plugin in the Eclipse IDE is not configured to add the -pthread argument when the user tries to compile a C/C++ project. Please follow the steps listed below to successfully compile a C/C++ project which uses Pthread library in Eclipse.

  • Open Eclipse (it is assumed that CDT plugin is installed).
  • On the menu bar, choose Projects->Properties.
  • From the bar on the left, choose c/c++ build –> GCC C Compiler –> Miscellaneous.
  • Add the -pthread argument into the beginning of the Other Flags.
  • Choose c/c++ build–>Settings->GCC C Linker->Libraries and include the pthread library into the other libraries.
  • Click Apply and rebuild the project. Pthreads should work now.

Install multiple versions of Firefox on Microsoft Windows, Linux or MAC

Have you come across a plug-in or an extension that won’t install on the current version of the Firefox browser but requires an older version?

If your answer to the above question is a big ‘YES’, then this post is for you, else, no worries, you are lucky enough to have all your favourite plugins available for the current version of Firefox running on your machine. Enjoy reading this blog!

Modus Operandi:

  • Download all the required versions of Firefox that you wish to install.
  • For the purpose of this blog, let me consider installing Firefox 3.0.13 and the latest version which is Firefox 3.5.2.
  • Install either of two version. Users are normally inclined to the fact of installing older version first, therefore, let me choose the other way round and consider installing the higher version first and then install the older one.
  • After installing either of the Firefox version, (in my case, I have installed Firefox 3.5.2), execute the below command:
    • In Microsoft Windows: <Firefox installed folder>/firefox.exe -ProfileManager
    • In Linux: <Firefox installed folder>/firefox -ProfileManager
    • In MAC: <Firefox installed folder>/firefox-bin -ProfileManager
  • A dialog box pop’s up as shown in the image below. Click the ‘Create Profile’ button to create a new user profile.
1. Multiple-Firefox-Instance-Create-Profile-Button
Step 1 – Create a new user profile.

  • The ‘Create Profile Wizard’ is displayed.
2. Multiple-Firefox-Instance-Create-Profile-Wizard
Step 2 – Click ‘Next’ on the ‘Create Profile Wizard’ dialog box.

  • Key in some name in the ‘Profile name’ text box. If you prefer to save the user preferences, settings and other user related data in a particular folder other than the default one, then click the ‘Choose Folder’ button and opt for a specific folder of your choice.
3. Multiple-Firefox-Instance-Create-Profile-Wizard-Entries
Step 3 – Choose a profile name and folder to store user related data.

  • Clicking the ‘Finish’ button on the previous dialog box (shown above) leads you to the ‘Choose User Profile’ dialog box (shown below) listing the new profile created just now. Un-check the ‘Don’t ask at startup’ check-box if you prefer to be asked to choose a user profile each time Firefox starts.
4. Multiple-Firefox-Instance-New-Profile-Created
Step 4 – Choose the newly created profile and click ‘Start Firefox’.

  • After you make sure that the current installed version of Mozilla Firefox starts without any issues, go ahead and install the other version of the Firefox.
  • While installing the other version, choose ‘Custom Installation’ option and not ‘Standard Installation’.
  • Opt for a different folder other than the one in which the current installed Firefox is located.
  • On completion of the installation, follow the above steps describing the mechanism involved in creating a separate profile for Mozilla Firefox.
  • To set the profile automatically for a certain version of Mozilla Firefox, please modify the shortcut to something as shown below.
    • <Firefox installed folder>/firefox.exe -ProfileManager <new-profile-name> Or,
    • <Firefox installed folder>/firefox.exe -P <new-profile-name>
  • On a Microsoft Windows machine, please be sure to change the ‘Start in’ field in the shortcut to match the folder path used in the target (however the ‘Start in’ will not need the'-P <new-profile-name>').
  • Please note, if you have a Mozilla Firefox window open while trying to access the ‘Profile Manager’ it will just open up another window of Firefox. You cannot run more than one version of Mozilla Firefox simultaneously. Therefore, to execute the other version of Mozilla Firefox installed on your system, please close all the open Firefox windows and then start up the other version.
  • Finally, if you prefer more information on the ‘Firefox Profile Manager’, please visit the ‘Profile Manager‘ section in the MozillaZine Knowledge Base.
  • Enjoy using multiple versions of Mozilla Firefox on your system!

The below listed video was published by Joey in the ‘ClearTechInfo.com Studio‘ section of the 5 min Life Videopedia website. It portrays the process involved in creating multiple Mozilla Firefox 3 profiles in Microsoft Windows Vista operating system.

Link to the video: http://www.5min.com/Video/How-to-Create-Multiple-Firefox-3-Profiles-61017751

Disclaimer

All data and information provided on this site is for informational purposes only. Niether sks8.wordpress.com nor skumar.co.nr makes no representations as to accuracy, completeness, currentness, suitability, or validity of any information on this site and will not be liable for any errors, omissions, or delays in this information or any losses, injuries, or damages arising from its display or use. All information is provided on an as-is basis. The trademarks, if at all used on this blog belong to their respective owners.

<div style=’text-align:center’><object width=’480′ height=’401′ id=’FiveminPlayer’ classid=’clsid:d27cdb6e-ae6d-11cf-96b8-444553540000′><param name=’allowfullscreen’ value=’true’/><param name=’allowScriptAccess’ value=’always’/><param name=’movie’ value=’http://www.5min.com/Embeded/61017751/’/><embed name=’FiveminPlayer’ src=’http://www.5min.com/Embeded/61017751/&#8217; type=’application/x-shockwave-flash’ width=’480′ height=’401′ allowfullscreen=’true’ allowScriptAccess=’always’></embed></object><br/><span style=’font-family: Verdana; font-size: 10px;’>More <a href=’http://www.5min.com&#8217; target=’_blank’>DIY videos</a> at 5min.com</span></div>

Types of Swim Strokes

Objective

The objective of this blog is to describe the different types of swim strokes that exist today. The information presented here is collected from several sources. The reference section at the bottom of this page lists the sources that were taken into account while scanning for information.

What is a Swimming Stroke?

A swimming stroke is a process of moving the arms and legs of a human body such that the swimmer is propelled forward by pushing the water backward.

Types of Swimming Strokes

  • Freestyle stroke
  • Involves alternate overarm strokes and flutter kick. The swimmer’s head has to be completely immersed in water, and the face alternating from side to side.

  • Butterfly stroke
  • This is considered as the most exhausting and difficult stroke. It involves windmill like arm movement (both arms in unison) and dolphin kick. The swimmer should not swim underwater.

  • Breast stroke
  • Involves arm movement on the front side from the swimmer’s head to shoulder level with frog kick. It is important that the swimmer’s head should always be positioned above the water surface.

  • Side stroke
  • Is a forward underwater stroke with body on one side along with scissor kick.

  • Back stroke
  • Involves alternate over-the-head arm stroke and a flutter kick in a supine position. The swimmer is expected not to swim underwater.

  • Dog paddle
  • This stroke is considered as one of the few easiest swim strokes. It involves reaching forward with the swimmers arms underwater and using a modified version of the flutter kick.

    Resources

    An interesting 1 minute 26 second video on the subject – Improving Swimming Turns by the Olympic Bronze medallist, Steve Parry is available here: http://news.bbc.co.uk/sport2/hi/olympic_games/7552672.stm

    References

    1. Human swimming: http://en.wikipedia.org/wiki/Human_swimming
    2. Types of Swimming Stokes: http://www.iloveindia.com/fitness/swimming/different-kinds-of-strokes.html
    3. Swimming strokes: http://www.mamashealth.com/swim/strokes.asp
    4. Aquatic locomotion: http://en.wikipedia.org/wiki/Aquatic_locomotion
    5. Swimming (sport): http://en.wikipedia.org/wiki/Swimming_(sport)
    6. List of swimming styles: http://en.wikipedia.org/wiki/List_of_swimming_styles
    Disclaimer
    All data and information provided on this site is for informational purposes only. sks8.wordpress.comnor skumar.co.nr makes no representations as to accuracy, completeness, currentness, suitability, or validity of any information on this site and will not be liable for any errors, omissions, or delays in this information or any losses, injuries, or damages arising from its display or use. All information is provided on an as-is basis. The trademarks, if at all used on this blog belong to their respective owners.
    Note
    The information presented here is collected from several sources. The reference section above lists the sources that were taken into account while scanning for information.

    Disclaimer

    All data and information provided on this site is for informational purposes only. sks8.wordpress.com nor skumar.co.nr makes no representations as to accuracy, completeness, currentness, suitability, or validity of any information on this site and will not be liable for any errors, omissions, or delays in this information or any losses, injuries, or damages arising from its display or use. All information is provided on an as-is basis. The trademarks, if at all used on this blog belong to their respective owners.

    Note

    The information presented here is collected from several sources. The reference section above lists the sources that were taken into account while scanning for information.